diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index 2e2ed29b..ba4c5767 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -125,7 +125,6 @@ public class ResultRecordController extends AbstractController { @Autowired private ResourceService resourceService; - @Autowired private ChartResultService chartResultService; @@ -754,6 +753,8 @@ public class ResultRecordController extends AbstractController { Map mapDetails = resultDetails.stream().collect(Collectors.toMap(ResultDetail::getId, Function.identity(), (e, r) -> e)); + List updateResultDetails = new ArrayList<>(); + //获取当前绩效的节点 boolean isSetKeyResult = false; List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(dto.getId(), 2); @@ -764,6 +765,7 @@ public class ResultRecordController extends AbstractController { } } + for (ResultRecortModelDto model:dto.getRecortModelDtos() ) { int index = 0; @@ -775,37 +777,45 @@ public class ResultRecordController extends AbstractController { ) {//排序 ResultDetail resultDetail = new ResultDetail(); BeanUtils.copyProperties(detailDto, resultDetail); - if(!isSetKeyResult && resultDetail.getId() != null && mapDetails.containsKey(resultDetail.getId())){ - //这里判断是否有更新,或者删除 - ResultDetail resultDetail1 = mapDetails.get(resultDetail.getId()); - boolean isUp = false; - if(!resultDetail.getTarget().equals(resultDetail1.getTarget())){ - //打上标识 - isUp = true; + if(resultDetail.getIsDelete() != null && resultDetail.getIsDelete().intValue() == 1){//被删除了 + resultDetail.setIsBack(2); + resultDetail.setBackId(resultDetail.getId()); + updateResultDetails.add(resultDetail); + }else if(resultDetail.getId() == null){ + resultDetail.setIsBack(3);//新增 + }else { + if(!isSetKeyResult && resultDetail.getId() != null && mapDetails.containsKey(resultDetail.getId())){ + //这里判断是否有更新,或者删除 + boolean isUp = false; + ResultDetail resultDetail1 = null; + resultDetail1 = mapDetails.get(resultDetail.getId()); + + + if(!resultDetail.getTarget().equals(resultDetail1.getTarget())){ + //打上标识 + isUp = true; + } + if(!resultDetail.getKeyResult().equals(resultDetail1.getKeyResult())){ + //打上标识 + isUp = true; + } + + if(!resultDetail.getCheckWeight().equals(resultDetail1.getCheckWeight())){ + //打上标识 + isUp = true; + } + if(isUp){ + resultDetail1.setId(null); + resultDetail1.setIsBack(2); + resultDetail1.setBackId(resultDetail.getId()); + inserts.add(resultDetail1); + } } - if(!resultDetail.getKeyResult().equals(resultDetail1.getKeyResult())){ - //打上标识 - isUp = true; - resultDetail1.setKeyResult("" + resultDetail1.getKeyResult() + ""); - } - if(resultDetail.getIsDelete().intValue() == 1){//被删除了 - resultDetail.setIsDelete(0); - isUp = true; - } - if(!resultDetail.getCheckWeight().equals(resultDetail1.getCheckWeight())){ - //打上标识 - isUp = true; - } - if(isUp){ - resultDetail1.setId(null); - resultDetail1.setIsBack(1); - resultDetail1.setTarget("" + resultDetail1.getTarget() + ""); - resultDetail1.setBackId(resultDetail.getId()); - inserts.add(resultDetail1); - } + } + resultDetail.setPriority(index); index++; @@ -866,9 +876,83 @@ public class ResultRecordController extends AbstractController { resultRecordService.updateResultRecordById(resultRecord); + if(dto.getCommentId() != null && dto.getCommentId().intValue() > 0){ + //修改评论信息 + updateResultDetails.addAll(resultDetailService.selectNotNoticeResultDetailByRecordId(dto.getId())) ; + log.info("可能需要写入评论的内容条数{}", updateResultDetails.size()); + //去重 + mapDetails = updateResultDetails.stream().collect(Collectors.toMap(ResultDetail::getId, Function.identity(), (e, r) -> e)); + updateResultDetails = mapDetails.values().stream().collect(Collectors.toList()); + log.info("实际需要写入评论的内容条数{}", updateResultDetails.size()); + if(updateResultDetails.size() > 0){ + updates.addAll(inserts); + + mapDetails = updates.stream().collect(Collectors.toMap(ResultDetail::getId, Function.identity(), (e, r) -> e)); + + String commandValue = ""; + int commandIndex = 1; + for (ResultDetail resultDetail1:updateResultDetails + ) { + log.info("修改的对象为{}", resultDetail1); + if(resultDetail1.getIsDelete().intValue() == 1){ + commandValue += (commandIndex + ":(删除) 指标" + resultDetail1.getTarget() + "\n"); + commandIndex++; + resultDetail1.setIsBack(1); + }else if(resultDetail1.getIsBack().intValue() == 3){ + commandValue += (commandIndex + ":(新增) 指标" + resultDetail1.getTarget() + "\n"); + commandIndex++; + resultDetail1.setIsBack(0); + }else{ + + ResultDetail resultDetail = mapDetails.get(resultDetail1.getBackId()); + if(resultDetail != null){ + log.info("修改后的对象为{}", resultDetail1); + boolean isUp = false; + String value = ""; + String heard = ""; + if(!resultDetail.getTarget().equals(resultDetail1.getTarget())){ + //打上标识 + value += ("(修改) 名称:" + + resultDetail1.getTarget()+ " \n(为):\n" + resultDetail.getTarget() + "\n"); + isUp = true; + + }else{ + heard = "指标:" + resultDetail1.getTarget() + "\n"; + } + if(!resultDetail.getKeyResult().equals(resultDetail1.getKeyResult())){ + //打上标识 + value += ("(修改) 考核标准:" + + resultDetail1.getKeyResult() + "\n(为):\n" + resultDetail.getKeyResult() + "\n"); + isUp = true; + } + if(!resultDetail.getCheckWeight().equals(resultDetail1.getCheckWeight())){ + //打上标识 + value += ("(修改) 权重:" + + resultDetail1.getCheckWeight().multiply(new BigDecimal(100)).intValue() + "%\n(为):\n" + + resultDetail.getCheckWeight().multiply(new BigDecimal(100)).intValue() + + "%\n"); + isUp = true; + } + if(isUp){ + commandValue += (commandIndex + ":" + heard + value); + commandIndex++; + resultDetail1.setIsBack(1); + } + } + + } + } + if(commandValue.length() > 0){ + log.info("需要写入评论,具体呢容为{}", commandValue); + resultDetailService.updateBatchById(updateResultDetails); + resultCommentService.updateResultCommentCommentById(dto.getCommentId(), commandValue); + } + } + + + } + return R.ok(); - - } /** diff --git a/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java b/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java index 19d1ad27..58648fbf 100644 --- a/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java +++ b/src/main/java/com/lz/modules/flow/model/ResultRecordDetailDto.java @@ -34,7 +34,7 @@ public class ResultRecordDetailDto { @ApiModelProperty(value = "备注", name = "remark") private String remark; @ApiModelProperty(value = "业绩评论id", name = "commandId") - private Long commandId; + private Long commentId; //员工id @ApiModelProperty(value = "员工id", name = "staffId") private Long staffId; diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultCommentMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultCommentMapper.java index aa02c47d..384a9b20 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultCommentMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultCommentMapper.java @@ -38,4 +38,5 @@ public interface ResultCommentMapper extends BaseMapper { ResultComment selectLastComment(@Param("recordId") Long recordId); + int updateResultCommentCommentById(@Param("commandId") Long commandId, @Param("commandValue") String commandValue); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java index e57b1598..a99e12d1 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultDetailMapper.java @@ -48,4 +48,8 @@ public interface ResultDetailMapper extends BaseMapper { List selectDtosByRecordId(@Param("recordResultId") Long id, @Param("modelId") Long modelId); int deleteResultDetailByRecordId(@Param("recordId") Long recordId); + + ResultDetail selectNotNoticeResultDetailByBackId(@Param("backId") Long backId); + + List selectNotNoticeResultDetailByRecordId(@Param("recordId") Long recordId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultCommentService.java b/src/main/java/com/lz/modules/sys/service/app/ResultCommentService.java index 2c40aa72..f9abc583 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultCommentService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultCommentService.java @@ -40,4 +40,6 @@ public interface ResultCommentService extends IService { void addOrUpdateComment(ResultRecordReq req, Long userId, int status , FlowRecord lastUsedFlowRecord); + + int updateResultCommentCommentById(Long commandId, String commandValue); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java b/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java index b79f45d5..8fe6ad2b 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultDetailService.java @@ -72,4 +72,8 @@ public interface ResultDetailService extends IService { List selectDtosByRecordId(Long id, Long modelId); int deleteResultDetailByRecordId(Long recordId); + + ResultDetail selectNotNoticeResultDetailByBackId(Long id); + + List selectNotNoticeResultDetailByRecordId(Long recordId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultCommentServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultCommentServiceImpl.java index 78929397..899a7e7a 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultCommentServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultCommentServiceImpl.java @@ -113,4 +113,9 @@ public class ResultCommentServiceImpl extends ServiceImpl selectNotNoticeResultDetailByRecordId(Long recordId){ + return resultDetailMapper.selectNotNoticeResultDetailByRecordId(recordId); + } } diff --git a/src/main/resources/mapper/app/ResultCommentMapper.xml b/src/main/resources/mapper/app/ResultCommentMapper.xml index 9a24a613..8e831093 100644 --- a/src/main/resources/mapper/app/ResultCommentMapper.xml +++ b/src/main/resources/mapper/app/ResultCommentMapper.xml @@ -109,6 +109,15 @@ select * from lz_result_comment where record_id=#{recordId} and is_delete = 0 order by id desc limit 1 + + update + lz_result_comment + set + opt_desc = '修改了目标', + comment = #{commandValue} + ,gmt_modified = now() + where id = #{commandId} + diff --git a/src/main/resources/mapper/app/ResultDetailMapper.xml b/src/main/resources/mapper/app/ResultDetailMapper.xml index 256ba69d..d5ac1dc0 100644 --- a/src/main/resources/mapper/app/ResultDetailMapper.xml +++ b/src/main/resources/mapper/app/ResultDetailMapper.xml @@ -147,7 +147,7 @@ - select * from lz_result_detail where record_id=#{recordResultId} and model_id = #{modelId} and is_delete = 0 order by priority asc + select * from lz_result_detail where record_id=#{recordResultId} and model_id = #{modelId} and is_delete = 0 and (is_back = 0 or is_back = 3) order by priority asc update lz_result_detail set is_delete = 1, gmt_modified = now() where record_id=#{recordId} and is_delete = 0 + + + +