Browse Source

补充代码

feature/dangjian
yujintao 6 years ago
parent
commit
6d20b2f66c
  1. 97
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/KpiManualScoreServiceImpl.java

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

@ -28,7 +28,6 @@ import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO;
import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO;
import com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO; import com.elink.esua.epdc.dto.result.KpiManualScoreResultDTO;
import com.elink.esua.epdc.dto.result.KpiManualScoreTemplateResultDTO; import com.elink.esua.epdc.dto.result.KpiManualScoreTemplateResultDTO;
import com.elink.esua.epdc.dto.result.KpiRuleQueryResultDTO;
import com.elink.esua.epdc.entity.*; import com.elink.esua.epdc.entity.*;
import com.elink.esua.epdc.enums.KpiCycleEnum; import com.elink.esua.epdc.enums.KpiCycleEnum;
import com.elink.esua.epdc.excel.KpiManualScoreTemplateExcel; import com.elink.esua.epdc.excel.KpiManualScoreTemplateExcel;
@ -292,6 +291,9 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao
} }
List<KpiManualScoreEntity> kpiManualScoreEntityList = ConvertUtils.sourceToTarget(tempEntityList, KpiManualScoreEntity.class); List<KpiManualScoreEntity> kpiManualScoreEntityList = ConvertUtils.sourceToTarget(tempEntityList, KpiManualScoreEntity.class);
// 考核规则
KpiRuleEntity kpiRuleEntity = kpiRuleDao.selectById(tempEntityList.get(NumConstant.ZERO).getRuleId());
UserDetail user = SecurityUser.getUser(); UserDetail user = SecurityUser.getUser();
// 循环插入:如果存在则删除原纪录 // 循环插入:如果存在则删除原纪录
for (KpiManualScoreEntity kpiManualScoreEntity : kpiManualScoreEntityList) { for (KpiManualScoreEntity kpiManualScoreEntity : kpiManualScoreEntityList) {
@ -299,41 +301,73 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao
kpiManualScoreEntity.setCreatorDeptId(user.getDeptId()); kpiManualScoreEntity.setCreatorDeptId(user.getDeptId());
kpiManualScoreEntity.setCreatorDeptName(user.getDeptName()); kpiManualScoreEntity.setCreatorDeptName(user.getDeptName());
kpiManualScoreEntity.setLeaderName(getLeaderName(kpiManualScoreEntity.getDeptId()));
baseDao.insert(kpiManualScoreEntity); baseDao.insert(kpiManualScoreEntity);
this.saveOrUpdateKpiResult(kpiManualScoreEntity, kpiRuleEntity.getKpiCycle());
}
//删除临时表数据
baseDao.deleteManualScoreTemp(String.valueOf(user.getId()), kpiRuleEntity.getId(),
DateUtils.format(tempEntityList.get(0).getScoreStartDate()));
} finally {
// 删除文件
this.deleteAllFilesOfDir(f);
}
return new Result();
}
/**
* 更新或插入考核结果
*
* @param manualScore 收到打分
* @param kpiCycle 考核周期
* @return void
* @author zhangyong
* @date 2019/12/18 15:56
*/
private void saveOrUpdateKpiResult(KpiManualScoreEntity manualScore, String kpiCycle) {
//查询网格考核最终得分表:条件(deptId,scoreStartDate,scoreEndDate) //查询网格考核最终得分表:条件(deptId,scoreStartDate,scoreEndDate)
Map<String, Object> map = new HashMap<>(); KpiResultGridDTO kpiResultGridDto = getKpiresultGrid(manualScore.getDeptId(), manualScore.getScoreStartDate(), manualScore.getScoreEndDate());
map.put("deptId", kpiManualScoreEntity.getDeptId());
map.put("scoreStartDate", kpiManualScoreEntity.getScoreStartDate());
map.put("scoreEndDate", kpiManualScoreEntity.getScoreEndDate());
KpiResultGridDTO kpiResultGridDto = kpiResultGridDao.selectManualScoringISExist(map);
if (null == kpiResultGridDto) { if (null == kpiResultGridDto) {
KpiResultGridEntity kpiResultGridEntity = ConvertUtils.sourceToTarget(kpiManualScoreEntity, KpiResultGridEntity.class); KpiResultGridEntity kpiResultGridEntity = ConvertUtils.sourceToTarget(manualScore, KpiResultGridEntity.class);
kpiResultGridEntity.setGridId(kpiManualScoreEntity.getDeptId()); kpiResultGridEntity.setGridId(manualScore.getDeptId());
kpiResultGridEntity.setManualScore(kpiManualScoreEntity.getScore()); kpiResultGridEntity.setManualScore(manualScore.getScore());
kpiResultGridEntity.setStartDate(kpiManualScoreEntity.getScoreStartDate()); kpiResultGridEntity.setStartDate(manualScore.getScoreStartDate());
kpiResultGridEntity.setEndDate(kpiManualScoreEntity.getScoreEndDate()); kpiResultGridEntity.setEndDate(manualScore.getScoreEndDate());
//查询考核部门类别 //查询考核部门类别
KpiRuleQueryResultDTO kpiCycle = kpiRuleDao.queryDetailInfo(kpiManualScoreEntity.getRuleId()); kpiResultGridEntity.setKpiCycle(kpiCycle);
kpiResultGridEntity.setKpiCycle(kpiCycle.getKpiCycle());
kpiResultGridDao.insert(kpiResultGridEntity); kpiResultGridDao.insert(kpiResultGridEntity);
} else { //update } else {
//查询考核部门类别 //查询考核部门类别
KpiResultGridEntity kpiResultGridEntity = new KpiResultGridEntity(); KpiResultGridEntity kpiResultGridEntity = new KpiResultGridEntity();
kpiResultGridEntity.setId(kpiResultGridDto.getId()); kpiResultGridEntity.setId(kpiResultGridDto.getId());
kpiResultGridEntity.setManualScore(kpiManualScoreEntity.getScore()); kpiResultGridEntity.setManualScore(manualScore.getScore());
kpiResultGridEntity.setLeaderName(manualScore.getLeaderName());
kpiResultGridDao.updateById(kpiResultGridEntity); kpiResultGridDao.updateById(kpiResultGridEntity);
} }
} }
//删除临时表数据
baseDao.deleteManualScoreTemp(SecurityUser.getUserId().toString(), private String getLeaderName(Long deptId) {
tempEntityList.get(0).getRuleId(), DeptLevelAndLeaderDTO deptLevelInfo = deptUtils.getDeptLevelInfo(deptId, YesOrNoEnum.YES);
DateUtils.format(tempEntityList.get(0).getScoreStartDate())); return deptLevelInfo.getLeaderName();
} finally {
// 删除文件
this.deleteAllFilesOfDir(f);
} }
return new Result();
/**
* 查询考核结果
*
* @param deptId 部门id
* @param stateDate 开始日期
* @param endDate 结束日期
* @return com.elink.esua.epdc.dto.KpiResultGridDTO
* @author work@yujt.net.cn
* @date 2019/12/18 15:56
*/
private KpiResultGridDTO getKpiresultGrid(Long deptId, Date stateDate, Date endDate) {
Map<String, Object> map = new HashMap<>();
map.put("deptId", deptId);
map.put("scoreStartDate", stateDate);
map.put("scoreEndDate", endDate);
return kpiResultGridDao.selectManualScoringISExist(map);
} }
/** /**
@ -436,18 +470,11 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao
return new Result().error("得分不能高于满分"); return new Result().error("得分不能高于满分");
} }
updateById(entity); updateById(entity);
//查询网格考核最终得分表:条件(deptId,scoreStartDate,scoreEndDate)
Map<String, Object> map = new HashMap<>(); entity = baseDao.selectById(entity.getId());
map.put("deptId", dto.getDeptId());
map.put("scoreStartDate", dto.getScoreStartDate()); this.saveOrUpdateKpiResult(entity, kpiManualScoreRuleEntity.getScoreCycle());
map.put("scoreEndDate", dto.getScoreEndDate());
KpiResultGridDTO kpiResultGridDto = kpiResultGridDao.selectManualScoringISExist(map);
if (kpiResultGridDto != null) { //update
KpiResultGridEntity kpiResultGridEntity = new KpiResultGridEntity();
kpiResultGridEntity.setId(kpiResultGridDto.getId());
kpiResultGridEntity.setManualScore(dto.getScore());
kpiResultGridDao.updateById(kpiResultGridEntity);
}
return new Result(); return new Result();
} }

Loading…
Cancel
Save