Browse Source

补充代码

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

105
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.result.KpiManualScoreResultDTO;
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.enums.KpiCycleEnum;
import com.elink.esua.epdc.excel.KpiManualScoreTemplateExcel;
@ -292,42 +291,23 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao
}
List<KpiManualScoreEntity> kpiManualScoreEntityList = ConvertUtils.sourceToTarget(tempEntityList, KpiManualScoreEntity.class);
// 考核规则
KpiRuleEntity kpiRuleEntity = kpiRuleDao.selectById(tempEntityList.get(NumConstant.ZERO).getRuleId());
UserDetail user = SecurityUser.getUser();
//循环插入:如果存在则删除原纪录
// 循环插入:如果存在则删除原纪录
for (KpiManualScoreEntity kpiManualScoreEntity : kpiManualScoreEntityList) {
baseDao.delete(getUniqueWrapper(kpiManualScoreEntity));
kpiManualScoreEntity.setCreatorDeptId(user.getDeptId());
kpiManualScoreEntity.setCreatorDeptName(user.getDeptName());
kpiManualScoreEntity.setLeaderName(getLeaderName(kpiManualScoreEntity.getDeptId()));
baseDao.insert(kpiManualScoreEntity);
//查询网格考核最终得分表:条件(deptId,scoreStartDate,scoreEndDate)
Map<String, Object> map = new HashMap<>();
map.put("deptId", kpiManualScoreEntity.getDeptId());
map.put("scoreStartDate", kpiManualScoreEntity.getScoreStartDate());
map.put("scoreEndDate", kpiManualScoreEntity.getScoreEndDate());
KpiResultGridDTO kpiResultGridDto = kpiResultGridDao.selectManualScoringISExist(map);
if (null == kpiResultGridDto) {
KpiResultGridEntity kpiResultGridEntity = ConvertUtils.sourceToTarget(kpiManualScoreEntity, KpiResultGridEntity.class);
kpiResultGridEntity.setGridId(kpiManualScoreEntity.getDeptId());
kpiResultGridEntity.setManualScore(kpiManualScoreEntity.getScore());
kpiResultGridEntity.setStartDate(kpiManualScoreEntity.getScoreStartDate());
kpiResultGridEntity.setEndDate(kpiManualScoreEntity.getScoreEndDate());
//查询考核部门类别
KpiRuleQueryResultDTO kpiCycle = kpiRuleDao.queryDetailInfo(kpiManualScoreEntity.getRuleId());
kpiResultGridEntity.setKpiCycle(kpiCycle.getKpiCycle());
kpiResultGridDao.insert(kpiResultGridEntity);
} else { //update
//查询考核部门类别
KpiResultGridEntity kpiResultGridEntity = new KpiResultGridEntity();
kpiResultGridEntity.setId(kpiResultGridDto.getId());
kpiResultGridEntity.setManualScore(kpiManualScoreEntity.getScore());
kpiResultGridDao.updateById(kpiResultGridEntity);
}
this.saveOrUpdateKpiResult(kpiManualScoreEntity, kpiRuleEntity.getKpiCycle());
}
//删除临时表数据
baseDao.deleteManualScoreTemp(SecurityUser.getUserId().toString(),
tempEntityList.get(0).getRuleId(),
baseDao.deleteManualScoreTemp(String.valueOf(user.getId()), kpiRuleEntity.getId(),
DateUtils.format(tempEntityList.get(0).getScoreStartDate()));
} finally {
// 删除文件
@ -336,6 +316,60 @@ public class KpiManualScoreServiceImpl extends BaseServiceImpl<KpiManualScoreDao
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)
KpiResultGridDTO kpiResultGridDto = getKpiresultGrid(manualScore.getDeptId(), manualScore.getScoreStartDate(), manualScore.getScoreEndDate());
if (null == kpiResultGridDto) {
KpiResultGridEntity kpiResultGridEntity = ConvertUtils.sourceToTarget(manualScore, KpiResultGridEntity.class);
kpiResultGridEntity.setGridId(manualScore.getDeptId());
kpiResultGridEntity.setManualScore(manualScore.getScore());
kpiResultGridEntity.setStartDate(manualScore.getScoreStartDate());
kpiResultGridEntity.setEndDate(manualScore.getScoreEndDate());
//查询考核部门类别
kpiResultGridEntity.setKpiCycle(kpiCycle);
kpiResultGridDao.insert(kpiResultGridEntity);
} else {
//查询考核部门类别
KpiResultGridEntity kpiResultGridEntity = new KpiResultGridEntity();
kpiResultGridEntity.setId(kpiResultGridDto.getId());
kpiResultGridEntity.setManualScore(manualScore.getScore());
kpiResultGridEntity.setLeaderName(manualScore.getLeaderName());
kpiResultGridDao.updateById(kpiResultGridEntity);
}
}
private String getLeaderName(Long deptId) {
DeptLevelAndLeaderDTO deptLevelInfo = deptUtils.getDeptLevelInfo(deptId, YesOrNoEnum.YES);
return deptLevelInfo.getLeaderName();
}
/**
* 查询考核结果
*
* @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("得分不能高于满分");
}
updateById(entity);
//查询网格考核最终得分表:条件(deptId,scoreStartDate,scoreEndDate)
Map<String, Object> map = new HashMap<>();
map.put("deptId", dto.getDeptId());
map.put("scoreStartDate", dto.getScoreStartDate());
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);
}
entity = baseDao.selectById(entity.getId());
this.saveOrUpdateKpiResult(entity, kpiManualScoreRuleEntity.getScoreCycle());
return new Result();
}

Loading…
Cancel
Save