From 15c82ace3ad988fe9dfa223ed6073ce3873825ac Mon Sep 17 00:00:00 2001 From: wulin Date: Tue, 27 Oct 2020 17:12:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E7=BB=A9=E6=95=88=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 28 +++++++++++++++++-- .../flow/dao/EvaluationGroupMapper.java | 2 +- .../modules/flow/req/EvaluationGroupReq.java | 3 ++ .../impl/EvaluationGroupServiceImpl.java | 23 ++++++++++++++- .../mapper/flow/EvaluationGroupMapper.xml | 9 ++++++ .../resources/mapper/generator/StaffDao.xml | 6 +++- 6 files changed, 66 insertions(+), 5 deletions(-) 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 b5b0f867..a5baeee0 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -367,8 +367,32 @@ public class ResultRecordController extends AbstractController { @PostMapping("/saveDetail") @ApiOperation("保存绩效详情-吴林") public R saveDetail(@RequestParam @ApiParam("绩效id") ResultRecordDetailDto dto) { - - + ResultRecord resultRecord = new ResultRecord(); + BeanUtils.copyProperties(dto, resultRecord); + List inserts = new ArrayList<>(); + List updates = new ArrayList<>(); + for (ResultRecortModelDto model:dto.getRecortModelDtos() + ) { + int index = 0; + for (ResultDetailDto detailDto:model.getDetailDtos() + ) {//排序 + ResultDetail resultDetail = new ResultDetail(); + BeanUtils.copyProperties(detailDto, resultDetail); + resultDetail.setPriority(index); + index++; + if(resultDetail.getId() != null){ + updates.add(resultDetail); + }else{ + inserts.add(resultDetail); + } + } + } + if(inserts.size() > 0){ + resultDetailService.saveBatch(inserts); + } + if(updates.size() > 0){ + resultDetailService.updateBatchById(updates); + } return R.ok(); diff --git a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java index 70e9424b..b6418ff4 100644 --- a/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/EvaluationGroupMapper.java @@ -35,7 +35,7 @@ public interface EvaluationGroupMapper extends BaseMapper { int deleteEvaluationGroupById(@Param("id")Long id); - List seleteEvaluationGroupByReq(@Param("page") IPage page, @Param("req") EvaluationGroupReq req); + List seleteEvaluationGroupByReq(@Param("page") IPage page, @Param("req") EvaluationGroupReq req, @Param("list") List gIds); List selectEvaluationGroupByIds(@Param("ids") List ids); diff --git a/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java b/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java index 0cad1598..bc9ceb02 100644 --- a/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java +++ b/src/main/java/com/lz/modules/flow/req/EvaluationGroupReq.java @@ -39,6 +39,9 @@ public class EvaluationGroupReq implements java.io.Serializable { @ApiModelProperty(value = "", name = "name") private String name; + @ApiModelProperty(value = "startId", name = "发起id,任务id") + private Long startId; + diff --git a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java index 97039d45..3193b78a 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/EvaluationGroupServiceImpl.java @@ -13,8 +13,10 @@ import com.lz.modules.app.service.StaffOccupationService; import com.lz.modules.app.service.StaffService; import com.lz.modules.flow.dao.EvaluationGroupMapper; import com.lz.modules.flow.entity.EvaluationGroup; +import com.lz.modules.flow.entity.FlowStart; import com.lz.modules.flow.req.EvaluationGroupReq; import com.lz.modules.flow.service.EvaluationGroupService; +import com.lz.modules.flow.service.FlowStartService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -50,6 +52,9 @@ public class EvaluationGroupServiceImpl extends ServiceImpl gIds = null; + if(req.getStartId() != null){ + FlowStart flowStart = flowStartService.selectFlowStartById(req.getStartId()); + if(flowStart == null){ + return null; + } + gIds = Arrays.stream(flowStart.getGroupIds().split(",")) + .map(new Function() { + @Override + public Long apply(String s) { + return Long.parseLong(s); + } + }) + .collect(Collectors.toList()); + } + List finalGIds = gIds; PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()) - .doSelect(page -> evaluationGroupMapper.seleteEvaluationGroupByReq(page, req)); + .doSelect(page -> evaluationGroupMapper.seleteEvaluationGroupByReq(page, req, finalGIds)); //下面实时统计考核人数 List groups = pageUtils.getList(); for (EvaluationGroup group:groups diff --git a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml index d4804e38..4dcafff2 100644 --- a/src/main/resources/mapper/flow/EvaluationGroupMapper.xml +++ b/src/main/resources/mapper/flow/EvaluationGroupMapper.xml @@ -96,9 +96,18 @@