Browse Source

Merge remote-tracking branch 'origin/dev_1118' into dev_1118

feature/dangjian
尹作梅 6 years ago
parent
commit
81646dd960
  1. 8
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActUserRelationController.java
  2. 41
      esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/evaluate/form/EvaluateRoleFormDTO.java
  3. 12
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateOfficerController.java
  4. 26
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateRoleController.java
  5. 7
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateOfficerDao.java
  6. 10
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateRoleDao.java
  7. 16
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/excel/EvaluateOfficerExcel.java
  8. 7
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/EvaluateOfficerService.java
  9. 22
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/EvaluateRoleService.java
  10. 227
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateOfficerServiceImpl.java
  11. 18
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateRoleServiceImpl.java
  12. 35
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateOfficerDao.xml
  13. 11
      esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateRoleDao.xml
  14. 3
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml
  15. 6
      esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserClockLogDao.xml
  16. 3
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/ScheduleJobParamDTO.java
  17. 8
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java
  18. 7
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java
  19. 8
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java
  20. 66
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/utils/KpiLocalDateUtils.java

8
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiActUserRelationController.java

@ -77,7 +77,13 @@ public class ApiActUserRelationController {
actUserRelationDTO.setPartyFlag(YesOrNoEnum.NO.value());
}
actUserRelationDTO.setRealName(tokenDto.getRealName());
actUserRelationDTO.setSex(IdentityNoAnalysisUtil.getSex(identityNo));
String sex = IdentityNoAnalysisUtil.getSex(identityNo); // 身份证解析性别
if ("女".equals(sex)){
sex = "0";
}else {
sex = "1";
}
actUserRelationDTO.setSex(sex);
actUserRelationDTO.setAge(IdentityNoAnalysisUtil.getAge(identityNo));
actUserRelationDTO.setMobile(tokenDto.getMobile());
actUserRelationDTO.setIdentityNo(identityNo);

41
esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/evaluate/form/EvaluateRoleFormDTO.java

@ -0,0 +1,41 @@
/**
* Copyright 2018 人人开源 https://www.renren.io
* <p>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* <p>
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* <p>
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.elink.esua.epdc.dto.evaluate.form;
import lombok.Data;
import java.io.Serializable;
/**
* 评价权限表 评价权限表
*
* @author qu qu@elink-cn.com
* @since v1.0.0 2020-02-05
*/
@Data
public class EvaluateRoleFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 可用标记(0-不可用1-可用)
*/
private String available;
}

12
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateOfficerController.java

@ -30,6 +30,7 @@ import com.elink.esua.epdc.modules.evaluate.excel.EvaluateOfficerExcel;
import com.elink.esua.epdc.modules.evaluate.service.EvaluateOfficerService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@ -92,4 +93,15 @@ public class EvaluateOfficerController {
ExcelUtils.exportExcelToTarget(response, null, list, EvaluateOfficerExcel.class);
}
/***
* 导入分类Excel表格
* @Author wanggongfeng
* @Description excle层级导入
* @Date 2020/02/07 8:20
*/
@PostMapping("importExcel")
public Result importExcel(@RequestParam("file") MultipartFile file) {
return evaluateOfficerService.insertPartyList(file);
}
}

26
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/controller/EvaluateRoleController.java

@ -25,9 +25,10 @@ import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils;
import com.elink.esua.epdc.commons.tools.validator.group.AddGroup;
import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup;
import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup;
import com.elink.esua.epdc.dto.evaluate.EvaluateRoleDTO;
import com.elink.esua.epdc.dto.evaluate.form.EvaluateRoleFormDTO;
import com.elink.esua.epdc.modules.evaluate.excel.EvaluateRoleExcel;
import com.elink.esua.epdc.modules.evaluate.service.EvaluateRoleService;
import com.elink.esua.epdc.dto.evaluate.EvaluateRoleDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -91,4 +92,27 @@ public class EvaluateRoleController {
ExcelUtils.exportExcelToTarget(response, null, list, EvaluateRoleExcel.class);
}
/**
* 获取可用标记
* @Author: wanggongfeng
* @return
*/
@GetMapping("getAvailable")
public Result<EvaluateRoleDTO> getAvailable(){
EvaluateRoleDTO data = evaluateRoleService.getAvailable();
return new Result<EvaluateRoleDTO>().ok(data);
}
/**
* 更新可用标记
* @param evaluateRoleFormDTO
* @Author: wanggongfeng
* @return
*/
@PostMapping("updateRoleInfo")
public Result updateRoleInfo(@RequestBody EvaluateRoleFormDTO evaluateRoleFormDTO){
evaluateRoleService.updateAll(evaluateRoleFormDTO);
return new Result();
}
}

7
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateOfficerDao.java

@ -21,6 +21,7 @@ import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.evaluate.EvaluateOfficerDTO;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateOfficerEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@ -39,4 +40,10 @@ public interface EvaluateOfficerDao extends BaseDao<EvaluateOfficerEntity> {
* @return
*/
List<EvaluateOfficerDTO> getOfficerPage(Map<String, Object> params);
/**
* 数据批量插入
* @param evaluateOfficerEntities
*/
void insertList(@Param("evaluateOfficerEntities")EvaluateOfficerEntity[] evaluateOfficerEntities);
}

10
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/dao/EvaluateRoleDao.java

@ -29,5 +29,15 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface EvaluateRoleDao extends BaseDao<EvaluateRoleEntity> {
/**
* 获取启用状态
* @return
*/
EvaluateRoleEntity getAvailable();
/**
* 更新全部
* @param entity
*/
void updateAll(EvaluateRoleEntity entity);
}

16
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/excel/EvaluateOfficerExcel.java

@ -20,8 +20,6 @@ package com.elink.esua.epdc.modules.evaluate.excel;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 干部信息表 干部信息表
*
@ -31,19 +29,19 @@ import java.util.Date;
@Data
public class EvaluateOfficerExcel {
@Excel(name = "主键")
/*@Excel(name = "主键")
private String id;
@Excel(name = "部门ID 部门表主键ID")
private String deptId;
private String deptId;*/
@Excel(name = "姓名")
@Excel(name = "干部姓名")
private String fullName;
@Excel(name = "性别(0-女,1-男)")
@Excel(name = "性别")
private String sex;
@Excel(name = "职位")
@Excel(name = "单位职务")
private String position;
@Excel(name = "点赞次数")
@ -55,7 +53,7 @@ public class EvaluateOfficerExcel {
@Excel(name = "排序")
private Integer sort;
@Excel(name = "乐观锁")
/* @Excel(name = "乐观锁")
private Integer revision;
@Excel(name = "删除标识 0:否,1:是")
@ -71,7 +69,7 @@ public class EvaluateOfficerExcel {
private String updatedBy;
@Excel(name = "更新时间")
private Date updatedTime;
private Date updatedTime;*/
}

7
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/EvaluateOfficerService.java

@ -19,8 +19,10 @@ package com.elink.esua.epdc.modules.evaluate.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.evaluate.EvaluateOfficerDTO;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateOfficerEntity;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
@ -99,4 +101,9 @@ public interface EvaluateOfficerService extends BaseService<EvaluateOfficerEntit
* @date 2020-02-05
*/
void delete(String[] ids);
/***
* 导入分类表格
*/
Result insertPartyList(MultipartFile file);
}

22
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/EvaluateRoleService.java

@ -19,8 +19,9 @@ package com.elink.esua.epdc.modules.evaluate.service;
import com.elink.esua.epdc.commons.mybatis.service.BaseService;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateRoleEntity;
import com.elink.esua.epdc.dto.evaluate.EvaluateRoleDTO;
import com.elink.esua.epdc.dto.evaluate.form.EvaluateRoleFormDTO;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateRoleEntity;
import java.util.List;
import java.util.Map;
@ -92,4 +93,23 @@ public interface EvaluateRoleService extends BaseService<EvaluateRoleEntity> {
* @date 2020-02-05
*/
void delete(String[] ids);
/**
* 获取可用标记
*
* @return void
* @author generator
* @date 2020-02-05
*/
EvaluateRoleDTO getAvailable();
/**
* 全部更新
*
* @param dto
* @return void
* @author wanggongfeng
* @date 2020-02-07
*/
void updateAll(EvaluateRoleFormDTO dto);
}

227
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateOfficerServiceImpl.java

@ -22,20 +22,30 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.security.user.SecurityUser;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.utils.Result;
import com.elink.esua.epdc.dto.evaluate.EvaluateOfficerDTO;
import com.elink.esua.epdc.modules.evaluate.dao.EvaluateOfficerDao;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateOfficerEntity;
import com.elink.esua.epdc.modules.evaluate.redis.EvaluateOfficerRedis;
import com.elink.esua.epdc.modules.evaluate.service.EvaluateOfficerService;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* 干部信息表 干部信息表
@ -46,6 +56,12 @@ import java.util.Map;
@Service
public class EvaluateOfficerServiceImpl extends BaseServiceImpl<EvaluateOfficerDao, EvaluateOfficerEntity> implements EvaluateOfficerService {
private int totalRows = 0; // 总行数
private int totalCells = 0;// 总条数
public static int Guid=100;//id自增值
@Autowired
private EvaluateOfficerRedis evaluateOfficerRedis;
@ -73,7 +89,16 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl<EvaluateOfficerD
@Override
public List<EvaluateOfficerDTO> list(Map<String, Object> params) {
List<EvaluateOfficerEntity> entityList = baseDao.selectList(getWrapper(params));
for(int i = 0 ; i < entityList.size() ; i++){
EvaluateOfficerEntity entity = entityList.get(i);
//转型性别
String sex = entity.getSex();
if("0".equals(sex)){
entity.setSex("女");
}else{
entity.setSex("男");
}
}
return ConvertUtils.sourceToTarget(entityList, EvaluateOfficerDTO.class);
}
@ -113,4 +138,198 @@ public class EvaluateOfficerServiceImpl extends BaseServiceImpl<EvaluateOfficerD
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public Result insertPartyList(MultipartFile file) {
//获取excle版本
String isExcel2003 = getExcelInfo(file);
Result result = new Result();
//需存储的实体
List<EvaluateOfficerEntity> list = new ArrayList<EvaluateOfficerEntity>();
try{
Workbook wb = null;
InputStream is = file.getInputStream();
if ("true".equals(isExcel2003)) {
// 当excel是2003时,创建excel2003
wb = new HSSFWorkbook(is);
}else if("false".equals(isExcel2003)){
// 当excel是2007时,创建excel2007
wb = new XSSFWorkbook(is);
} else {
result.setMsg("defeat");
result.setCode(1);
result.setData("excle格式错误!");
return result;
}
// 得到第一个shell
Sheet sheet = wb.getSheetAt(0);
// 得到Excel的行数
this.totalRows = sheet.getPhysicalNumberOfRows();
// 得到Excel的列数(前提是有行数)
if (totalRows > 1 && sheet.getRow(0) != null) {
this.totalCells = sheet.getRow(0).getPhysicalNumberOfCells();
}
// 循环Excel行数(不要列名,从1开始) ;0是列名
for (int r = 1; r < totalRows; r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
// 循环Excel的列
for (int c = 0; c < 5; c++) {
EvaluateOfficerEntity evaluateOfficerEntity = new EvaluateOfficerEntity();
Cell cell = row.getCell(c);
if (null != cell) {
if (c == 0) {
// 干部姓名
String value = getCellContent(cell);
evaluateOfficerEntity.setFullName(value);
}else if (c == 1) {
// 性别
String value = getCellContent(cell);
if("女".equals(value)){
value = "0";
}else{
value = "1";
}
evaluateOfficerEntity.setSex(value);
}else if (c == 2) {
// 单位职务
String value = getCellContent(cell);
evaluateOfficerEntity.setPosition(value);
}else if (c == 3) {
// 点赞次数
String value = getCellContent(cell);
evaluateOfficerEntity.setLikesCount(Integer.parseInt(value));
} else if (c == 4) {
// 被踩次数
String value = getCellContent(cell);
evaluateOfficerEntity.setOpposeCount(Integer.parseInt(value));
}else if (c == 5) {
// 排序
String value = getCellContent(cell);
evaluateOfficerEntity.setSort(Integer.parseInt(value));
}
evaluateOfficerEntity.setDeptId("11231");
String userId = SecurityUser.getUserId() == null ? "" : SecurityUser.getUserId().toString();
;
evaluateOfficerEntity.setId(getLongRandom());
evaluateOfficerEntity.setDelFlag("0");//删除标识 0:未删除 1:删除
evaluateOfficerEntity.setRevision(0);
evaluateOfficerEntity.setCreatedBy(userId);
evaluateOfficerEntity.setUpdatedBy(userId);
evaluateOfficerEntity.setCreatedTime(new Date());
evaluateOfficerEntity.setUpdatedTime(new Date());
}
list.add(evaluateOfficerEntity);
}
}
if(list.size() > 0){
EvaluateOfficerEntity[] evaluateOfficerEntities = new EvaluateOfficerEntity[list.size()];
for(int k = 0 ; k < list.size() ; k++){
evaluateOfficerEntities[k] = list.get(k);
}
baseDao.insertList(evaluateOfficerEntities);
}
result.setMsg("success");
result.setCode(0);
result.setData("数据导入成功!");
return result;
}catch(Exception e){
}
result.setMsg("defeat");
result.setCode(1);
result.setData("数据导入失败!");
return result;
}
/**
* 获取19位随机数
* @return
*/
public String getLongRandom(){
Guid+=1;
long now = System.currentTimeMillis();
SimpleDateFormat dateFormat=new SimpleDateFormat("MMdd");
String time=dateFormat.format(now);
String currentTimeMillis=now+"";
int ran=0;
if(Guid>999){
Guid=100;
}
ran=Guid;
String str = time+currentTimeMillis.substring(1, currentTimeMillis.length())+ran;
return str;
}
/**
* 获取单元格内容
* @param cell
* @return
*/
public String getCellContent(Cell cell){
String value = "";
if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
value = String.valueOf(cell.getNumericCellValue());
} else {
value = cell.getStringCellValue();
}
//内容超过25个字进行长度限制,否则数据库会超限
/*if(value.length() > 25){
value = value.substring(0,25) + "...";
}*/
return value;
}
/**
* 获取excle版本
* @param mFile
* @return
*/
public String getExcelInfo(MultipartFile mFile) {
String fileName = mFile.getOriginalFilename();// 获取文件名
String isExcel2003 = "true";// 根据文件名判断文件是2003版本还是2007版本
try {
if (!validateExcel(fileName)) {// 验证文件名是否合格
return "";
}
if (isExcel2007(fileName)) {
isExcel2003 = "false";
}
return isExcel2003;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
/**
* 验证EXCEL文件
* @param filePath
* @return
*/
public boolean validateExcel(String filePath) {
if (filePath == null || !(isExcel2003(filePath) || isExcel2007(filePath))) {
return false;
}
return true;
}
// @描述:是否是2003的excel,返回true是2003
public static boolean isExcel2003(String filePath) {
return filePath.matches("^.+\\.(?i)(xls)$");
}
// @描述:是否是2007的excel,返回true是2007
public static boolean isExcel2007(String filePath) {
return filePath.matches("^.+\\.(?i)(xlsx)$");
}
}

18
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/evaluate/service/impl/EvaluateRoleServiceImpl.java

@ -23,10 +23,11 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateRoleEntity;
import com.elink.esua.epdc.dto.evaluate.EvaluateRoleDTO;
import com.elink.esua.epdc.dto.evaluate.form.EvaluateRoleFormDTO;
import com.elink.esua.epdc.modules.evaluate.dao.EvaluateRoleDao;
import com.elink.esua.epdc.modules.evaluate.entity.EvaluateRoleEntity;
import com.elink.esua.epdc.modules.evaluate.redis.EvaluateRoleRedis;
import com.elink.esua.epdc.dto.evaluate.EvaluateRoleDTO;
import com.elink.esua.epdc.modules.evaluate.service.EvaluateRoleService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -101,4 +102,17 @@ public class EvaluateRoleServiceImpl extends BaseServiceImpl<EvaluateRoleDao, Ev
baseDao.deleteBatchIds(Arrays.asList(ids));
}
@Override
public EvaluateRoleDTO getAvailable() {
EvaluateRoleEntity entity = baseDao.getAvailable();
return ConvertUtils.sourceToTarget(entity, EvaluateRoleDTO.class);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateAll(EvaluateRoleFormDTO dto) {
EvaluateRoleEntity entity = ConvertUtils.sourceToTarget(dto, EvaluateRoleEntity.class);
baseDao.updateAll(entity);
}
}

35
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateOfficerDao.xml

@ -53,4 +53,39 @@
order by SORT, UPDATED_TIME desc
</select>
<insert id="insertList">
insert into epdc_evaluate_officer
(id,
DEPT_ID,
FULL_NAME,
SEX,
POSITION,
LIKES_COUNT,
OPPOSE_COUNT,
SORT,
REVISION,
DEL_FLAG,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME)
values
<foreach collection="evaluateOfficerEntities" item="item" index="index" separator="," >
(#{item.id},
#{item.deptId},
#{item.fullName},
#{item.sex},
#{item.position},
#{item.likesCount},
#{item.opposeCount},
#{item.sort},
#{item.revision},
#{item.delFlag},
#{item.createdBy},
#{item.createdTime},
#{item.updatedBy},
#{item.updatedTime})
</foreach>
</insert>
</mapper>

11
esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/evaluate/EvaluateRoleDao.xml

@ -16,5 +16,16 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="getAvailable" resultType="com.elink.esua.epdc.modules.evaluate.entity.EvaluateRoleEntity">
select
AVAILABLE
from epdc_evaluate_role
where DEL_FLAG = '0' limit 1
</select>
<update id="updateAll" parameterType="com.elink.esua.epdc.modules.evaluate.entity.EvaluateRoleEntity">
update epdc_evaluate_role set AVAILABLE = #{available} where DEL_FLAG = '0'
</update>
</mapper>

3
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActInfoDao.xml

@ -239,16 +239,17 @@
LEFT JOIN ( SELECT count( * ) AS clockCount, ACT_USER_ID FROM epdc_act_user_clock_log WHERE DEL_FLAG = '0' GROUP BY ACT_USER_ID ) clock ON clock.ACT_USER_ID = relation.ID
WHERE
actInfo.DEL_FLAG = '0'
and actInfo.ACT_STATUS = '1'
and relation.USER_ID = #{userId}
<if test="timestamp != null">
<![CDATA[ AND DATE_FORMAT(actInfo.CREATED_TIME,'%Y-%m-%d %H:%i:%s') <= ]]> #{timestamp}
</if>
<if test='actType != null and actType != "" and actType == "5"'>
<![CDATA[ AND DATE_FORMAT(actInfo.ACT_END_TIME,'%Y-%m-%d %H:%i:%s') < ]]> #{timestamp}
|| actInfo.ACT_STATUS = '0' and relation.USER_ID = #{userId}
</if>
<if test='actType != null and actType != "" and actType != "5"'>
AND relation.STATUS = #{actType}
and actInfo.ACT_STATUS = '1'
</if>
ORDER BY
actInfo.CREATED_TIME DESC

6
esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserClockLogDao.xml

@ -49,7 +49,8 @@
relation.SEX,
relation.AGE,
relation.MOBILE,
pic.CLOCK_PIC
pic.CLOCK_PIC,
log.CREATED_TIME
FROM
epdc_act_user_clock_log log
LEFT JOIN epdc_act_user_relation relation ON log.ACT_USER_ID = relation.ID
@ -61,7 +62,6 @@
<if test="id != null and id != ''">
AND log.ACT_USER_ID = #{id}
</if>
ORDER BY log.CREATED_TIME DESC
) a GROUP BY a.ID
) a GROUP BY a.ID ORDER BY a.CREATED_TIME DESC
</select>
</mapper>

3
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/ScheduleJobParamDTO.java

@ -8,9 +8,6 @@ import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
/**
* 定时任务参数
*

8
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java

@ -24,6 +24,7 @@ import com.elink.esua.epdc.dao.*;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO;
import com.elink.esua.epdc.dto.result.KpiManualScoreTemplateResultDTO;
import com.elink.esua.epdc.entity.*;
@ -762,11 +763,12 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao
* @date 2019/12/25 14:28
*/
private void initManualScoreToMetaDataByCycle(String kpiCycle) {
Date startDate = KpiLocalDateUtils.getKpiCycoleStartDate(kpiCycle);
if (null == startDate) {
KpiMetaDataOfEventsFormDTO metaDataOfEventsForm = KpiLocalDateUtils.packKpiStartAndEndDate(kpiCycle, null);
if (null == metaDataOfEventsForm) {
return;
}
Date endDate = LocalDateUtils.localDateToDate(YearMonth.now().minusMonths(NumConstant.ONE).atEndOfMonth());
Date startDate = metaDataOfEventsForm.getStartDate();
Date endDate = metaDataOfEventsForm.getEndDate();
int pageIndex = NumConstant.ONE;
List<Long> deptIdList = deptUtils.getDeptIdList(OrganizationTypeConstant.ORG_TYPE_GRID_PARTY, NumConstant.TWENTY, pageIndex);

7
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiMetaDataServiceImpl.java

@ -163,15 +163,12 @@ public class KpiMetaDataServiceImpl extends BaseServiceImpl<KpiMetaDataDao, KpiM
* @date 2019/12/20 09:13
*/
private KpiMetaDataOfEventsFormDTO initKpiParam(String kpiCycle, String dateStr, String methodName) {
Date startDate = KpiLocalDateUtils.getKpiCycoleStartDate(kpiCycle, dateStr);
if (null == startDate) {
KpiMetaDataOfEventsFormDTO metaDataFormDto = KpiLocalDateUtils.packKpiStartAndEndDate(kpiCycle, dateStr);
if (null == metaDataFormDto) {
log.error("当前时间:{},无法按照{}执行绩效考核{}", LocalDateTime.now().toString(), kpiCycle, methodName);
return null;
}
log.info("开始执行:{},当前时间:{},考核周期:{}", methodName, LocalDateTime.now().toString(), kpiCycle);
KpiMetaDataOfEventsFormDTO metaDataFormDto = new KpiMetaDataOfEventsFormDTO();
metaDataFormDto.setStartDate(startDate);
metaDataFormDto.setEndDate(LocalDateUtils.localDateToDate(YearMonth.now().minusMonths(NumConstant.ONE).atEndOfMonth()));
return metaDataFormDto;
}

8
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiRuleServiceImpl.java

@ -36,6 +36,7 @@ import com.elink.esua.epdc.constant.KpiFieldConstant;
import com.elink.esua.epdc.constant.KpiScheduleCodeConstant;
import com.elink.esua.epdc.dao.*;
import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.dto.form.KpiRuleSaveOrUpdateFormDTO;
import com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO;
import com.elink.esua.epdc.entity.*;
@ -330,13 +331,14 @@ public class KpiRuleServiceImpl extends BaseServiceImpl<KpiRuleDao, KpiRuleEntit
return;
}
String kpiCycle = kpiRule.getKpiCycle();
Date startDate = KpiLocalDateUtils.getKpiCycoleStartDate(kpiCycle, scheduleJobParam.getDateStr());
if (null == startDate) {
KpiMetaDataOfEventsFormDTO metaDataOfEventsForm = KpiLocalDateUtils.packKpiStartAndEndDate(kpiCycle, scheduleJobParam.getDateStr());
if (null == metaDataOfEventsForm) {
logger.error("当前时间:{},无法按照规则编码{}计算绩效考核得分", LocalDateTime.now().toString(), ruleCode);
return;
}
Date startDate = metaDataOfEventsForm.getStartDate();
// 考核结束日
Date endDate = LocalDateUtils.localDateToDate(YearMonth.now().minusMonths(NumConstant.ONE).atEndOfMonth());
Date endDate = metaDataOfEventsForm.getEndDate();
// 根据 考核规则表-外键(公式id),查询绩效考核公式表,待运行公式方法
KpiFormulaDTO kpiFormula = kpiFormulaDao.queryFormula(kpiRule.getReferenceId());
// 初始化JavaScriptEngine引擎

66
esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/utils/KpiLocalDateUtils.java

@ -1,7 +1,9 @@
package com.elink.esua.epdc.utils;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.utils.DateUtils;
import com.elink.esua.epdc.commons.tools.utils.LocalDateUtils;
import com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO;
import com.elink.esua.epdc.enums.KpiCycleEnum;
import org.apache.commons.lang3.StringUtils;
@ -25,9 +27,9 @@ public class KpiLocalDateUtils {
* @author work@yujt.net.cn
* @date 2019/12/24 17:28
*/
public static Date getKpiCycoleStartDate(String kpiCycle) {
return getKpiCycoleStartDate(kpiCycle, YearMonth.now());
}
/*public static Date getKpiCycoleStartDate(String kpiCycle) {
return getKpiCycoleStartDate(kpiCycle, YearMonth.now().minusMonths(NumConstant.ONE_L));
}*/
/**
* 根据考核周期和考核月份获取考核周期开始时间
@ -38,13 +40,13 @@ public class KpiLocalDateUtils {
* @author work@yujt.net.cn
* @date 2020/2/6 14:22
*/
public static Date getKpiCycoleStartDate(String kpiCycle, String dateStr) {
/*public static Date getKpiCycoleStartDate(String kpiCycle, String dateStr) {
if (StringUtils.isBlank(dateStr)) {
return getKpiCycoleStartDate(kpiCycle);
}
LocalDate kpiDate = LocalDate.parse(dateStr);
return getKpiCycoleStartDate(kpiCycle, YearMonth.of(kpiDate.getYear(), kpiDate.getMonthValue()));
}
}*/
/**
* 根据考核周期和考核月份获取考核周期开始时间
@ -55,7 +57,7 @@ public class KpiLocalDateUtils {
* @author work@yujt.net.cn
* @date 2020/2/6 14:22
*/
private static Date getKpiCycoleStartDate(String kpiCycle, YearMonth kpiYearMonth) {
/*private static Date getKpiCycoleStartDate(String kpiCycle, YearMonth kpiYearMonth) {
LocalDate startDate = null;
if (KpiCycleEnum.KPI_CYCLE_MONTH.getValue().equals(kpiCycle)) {
startDate = kpiYearMonth.minusMonths(NumConstant.ONE).atDay(NumConstant.ONE);
@ -73,5 +75,57 @@ public class KpiLocalDateUtils {
return null;
}
return LocalDateUtils.localDateToDate(startDate);
}*/
/**
* 根据考核周期和考核月份获取考核周期开始时间和结束时间
* <p>
* <li>dateStr为空自动获取当前月份的上个 // 的开始和结束时间</li>
* <li>dateStr不为空获取dateStr的上个 // 的开始和结束时间</li>
* </p>
*
* @param kpiCycle 考核周期
* @param dateStr 考核月某一天字符串 yyyy-MM-dd e.g. 2020-01-01
* @return com.elink.esua.epdc.dto.form.KpiMetaDataOfEventsFormDTO
* @author work@yujt.net.cn
* @date 2020/2/7 15:06
*/
public static KpiMetaDataOfEventsFormDTO packKpiStartAndEndDate(String kpiCycle, String dateStr) {
// 执行考核的时间
LocalDate kpiDate = LocalDate.now();
if (StringUtils.isNotBlank(dateStr)) {
kpiDate = LocalDate.parse(dateStr);
}
// 执行考核的月份
YearMonth kpiYearMonth = YearMonth.of(kpiDate.getYear(), kpiDate.getMonthValue());
// 考核期开始日
LocalDate startDate = null;
// 考核期结束日
LocalDate endDate = null;
if (KpiCycleEnum.KPI_CYCLE_MONTH.getValue().equals(kpiCycle)) {
startDate = kpiYearMonth.minusMonths(NumConstant.ONE_L).atDay(NumConstant.ONE);
} else if (KpiCycleEnum.KPI_CYCLE_QUARTER.getValue().equals(kpiCycle)) {
int monthValue = kpiYearMonth.getMonthValue();
if (monthValue == NumConstant.ONE || monthValue == NumConstant.FOUR || monthValue == NumConstant.SEVEN || monthValue == NumConstant.TEN) {
startDate = kpiYearMonth.minusMonths(NumConstant.THREE).atDay(NumConstant.ONE);
}
} else if (KpiCycleEnum.KPI_CYCLE_YEAR.getValue().equals(kpiCycle)) {
if (kpiYearMonth.getMonthValue() == NumConstant.ONE) {
startDate = kpiYearMonth.minusMonths(NumConstant.TWELVE).atDay(NumConstant.ONE);
}
}
// 执行考核的时间和考核周期不匹配
if (null == startDate) {
return null;
}
endDate = kpiYearMonth.minusMonths(NumConstant.ONE_L).atEndOfMonth();
KpiMetaDataOfEventsFormDTO dto = new KpiMetaDataOfEventsFormDTO();
dto.setStartDate(LocalDateUtils.localDateToDate(startDate));
dto.setEndDate(LocalDateUtils.localDateToDate(endDate));
return dto;
}
}

Loading…
Cancel
Save