|
|
@ -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(); |
|
|
|
} |
|
|
|
|
|
|
|