From fb945d20a90ffa1faf36f854bfde65180ba7378f Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Mon, 26 Oct 2020 15:36:20 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ResultRecordController.java | 15 ++++ .../app/controller/TestController.java | 2 +- .../com/lz/modules/app/dto/ApprovalDto.java | 10 +++ .../lz/modules/flow/dao/FlowRecordMapper.java | 3 + .../flow/service/FlowRecordService.java | 2 + .../service/impl/FlowRecordServiceImpl.java | 5 ++ .../sys/service/app/ResultRecordService.java | 3 + .../app/impl/ResultRecordServiceImpl.java | 89 +++++++++++++++++++ .../mapper/flow/FlowRecordMapper.xml | 10 ++- 9 files changed, 137 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/lz/modules/app/dto/ApprovalDto.java 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 55c07741..df3820e9 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -2,6 +2,7 @@ package com.lz.modules.app.controller; import com.lz.common.emun.WorkMsgTypeEnum; import com.lz.common.utils.*; +import com.lz.modules.app.dto.ApprovalDto; import com.lz.modules.app.dto.DepartmentsDto; import com.lz.modules.app.dto.StaffDepartmentDto; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; @@ -17,6 +18,7 @@ import com.lz.modules.flow.entity.RecordAuth; import com.lz.modules.flow.entity.RecordFile; import com.lz.modules.flow.entity.StaffRole; import com.lz.modules.flow.model.Auth; +import com.lz.modules.flow.model.ResultRecordDto; import com.lz.modules.flow.req.ResultDetailReq; import com.lz.modules.flow.service.FlowRecordService; import com.lz.modules.flow.service.RecordAuthService; @@ -645,6 +647,19 @@ public class ResultRecordController extends AbstractController { + /** + * 删除 + */ + @RequestMapping("/new/approval") + public R approval(ApprovalDto approvalDto) { + return resultRecordService.newApproval(approvalDto); + + } + + + + + diff --git a/src/main/java/com/lz/modules/app/controller/TestController.java b/src/main/java/com/lz/modules/app/controller/TestController.java index c175c875..33210f66 100644 --- a/src/main/java/com/lz/modules/app/controller/TestController.java +++ b/src/main/java/com/lz/modules/app/controller/TestController.java @@ -257,7 +257,7 @@ public class TestController { } } - // http://localhost:8080/lz_management/test/resultrecord?resultRecordId=157 + // http://localhost:8080/lz_management/test/resultrecord?resultRecordId=215 @RequestMapping("/test/resultrecord") public void resultRecorcd(Long resultRecordId) throws Exception{ R r = resultRecordService.initFlowRecord(resultRecordId); diff --git a/src/main/java/com/lz/modules/app/dto/ApprovalDto.java b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java new file mode 100644 index 00000000..99445590 --- /dev/null +++ b/src/main/java/com/lz/modules/app/dto/ApprovalDto.java @@ -0,0 +1,10 @@ +package com.lz.modules.app.dto; + +import lombok.Data; + +@Data +public class ApprovalDto { + private Long resultRecordId; + private Integer status; //1 提交审批,审批通过,2 撤回,3 催办,5 驳回,6 申述,7 流程终止 + private Long loginUserId; +} diff --git a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java index 6a0f42e1..c6b13553 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -59,4 +59,7 @@ public interface FlowRecordMapper extends BaseMapper { List selectFinishTasksByApprovalStaffId(@Param("approvalStaffId") Long approvalStaffId, @Param("page") IPage page); void insertFlowRecords(@Param("flowRecords") List flowRecords); + + + List selectFlowRecordByRecordIdStatus(@Param("resultRecordId") Long resultRecordId, @Param("status") Integer status); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java index 7317a054..16aeecc4 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -59,4 +59,6 @@ public interface FlowRecordService extends IService { PageUtils selectTaskListByApprovalStaffId(AssessTaskReq req, Long approvalStaffId); void insertFlowRecords(List flowRecords); + + List selectFlowRecordByRecordIdStatus(Long resultRecordId,Integer status); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java index f655c58c..56b0e944 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java @@ -163,4 +163,9 @@ public class FlowRecordServiceImpl extends ServiceImpl flowRecords) { flowRecordMapper.insertFlowRecords(flowRecords); } + + @Override + public List selectFlowRecordByRecordIdStatus(Long resultRecordId,Integer status) { + return flowRecordMapper.selectFlowRecordByRecordIdStatus(resultRecordId,status); + } } diff --git a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java index b1ce27a8..b22edb06 100644 --- a/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java +++ b/src/main/java/com/lz/modules/sys/service/app/ResultRecordService.java @@ -3,6 +3,7 @@ package com.lz.modules.sys.service.app; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.common.emun.WorkMsgTypeEnum; import com.lz.common.utils.R; +import com.lz.modules.app.dto.ApprovalDto; import com.lz.modules.app.dto.GraphicsStatisticalDto; import com.lz.modules.app.entity.DepartmentsEntity; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; @@ -108,4 +109,6 @@ public interface ResultRecordService extends IService { void batchDeleteByStaffIds(List staffIds); R initFlowRecord(Long resultRecordId); + + R newApproval(ApprovalDto approvalDto); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 356d9426..a50c7c75 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -7,6 +7,7 @@ import com.lz.common.emun.WorkMsgTypeEnum; import com.lz.common.utils.*; import com.lz.modules.app.dao.DepartmentsDao; import com.lz.modules.app.dao.DepartmentsStaffRelateDao; +import com.lz.modules.app.dto.ApprovalDto; import com.lz.modules.app.dto.EmployeesDto; import com.lz.modules.app.dto.GraphicsStatisticalDto; import com.lz.modules.app.entity.DepartmentsEntity; @@ -805,6 +806,94 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByRecordId(approvalDto.getResultRecordId()); + ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); + FlowRecord currentFlowRecord = null; + for(FlowRecord flowRecord: flowRecords){ + if(flowRecord.getStatus().equals(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus())){ + log.info("flowRecordId:" + flowRecord.getId() + "更新为流程己走"); + flowRecord.setStatus(FlowRecordStatusEnums.FINISHED_STATUS.getStatus()); + flowRecordService.updateFlowRecordById(flowRecord); + } else if (flowRecord.getStatus().equals(FlowRecordStatusEnums.SKIP_STATUS.getStatus())){ + continue; + } else if (flowRecord.getStatus().equals(FlowRecordStatusEnums.UN_TO_STATUS.getStatus())){ + flowRecord.setStatus(FlowRecordStatusEnums.CURRENT_FLOW_STATUS.getStatus()); + log.info("flowRecordId:" + flowRecord.getId() + "更新为正在执行"); + currentFlowRecord = flowRecord; + flowRecordService.updateFlowRecordById(flowRecord); + break; + } + } + + resultRecord.setFlowStaffIdRole(currentFlowRecord.getFlowStaffIdRole()); + resultRecord.setCurrentApprovalStaffId(currentFlowRecord.getApprovalStaffId()); + resultRecord.setCurrentApprovalStaffName(currentFlowRecord.getApprovalStaffName()); + resultRecordService.updateResultRecordById(resultRecord); + return R.ok(); + } + + private R newReject(ApprovalDto approvalDto) { + List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(approvalDto.getResultRecordId(),2); + if(flowRecords !=null && flowRecords.size() > 0 ){ + FlowRecord currentFlowRecord = flowRecords.get(0); + for(FlowRecord flowRecord : flowRecords){ + flowRecord.setStatus(0); + flowRecordService.updateFlowRecordById(flowRecord); + } + ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); + resultRecord.setCurrentApprovalStaffId(currentFlowRecord.getApprovalStaffId()); + resultRecord.setCurrentApprovalStaffName(currentFlowRecord.getApprovalStaffName()); + resultRecord.setFlowStaffIdRole(currentFlowRecord.getFlowStaffIdRole()); + resultRecordService.updateResultRecordById(resultRecord); + } + return R.ok(); + } + + private R urge(ApprovalDto approvalDto) { + ResultRecord resultRecord = resultRecordMapper.selectResultRecordById(approvalDto.getResultRecordId()); + if(!resultRecord.getCurrentApprovalStaffId().equals(approvalDto.getLoginUserId())){ + log.info("催办" + resultRecord.getCurrentApprovalStaffId()); + } + return R.ok(); + } + + + private R stop(ApprovalDto approvalDto) { + + return R.ok(); + } + + private R explain(ApprovalDto approvalDto) { + + return R.ok(); + } + + + + public StaffEntity getDepartmentStaff(Map map, int level) { for (int i = 1; i < 6; i++) { String deparment = map.get("dd" + i ); diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index 5dab9091..fc67c2dc 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -222,7 +222,6 @@ order by r.gmt_modified desc - insert into lz_flow_record( department_level, @@ -261,5 +260,14 @@ + + + + + + + From 7044bebf95672585e2496ae866b02f466ad1fc9f Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Mon, 26 Oct 2020 15:54:51 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/flow/service/FlowService.java | 3 +++ .../modules/flow/service/impl/FlowServiceImpl.java | 12 ++++++++++++ .../service/app/impl/ResultRecordServiceImpl.java | 13 +++++++++++++ 3 files changed, 28 insertions(+) diff --git a/src/main/java/com/lz/modules/flow/service/FlowService.java b/src/main/java/com/lz/modules/flow/service/FlowService.java index 80a5a1f0..f01cc681 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowService.java @@ -2,6 +2,7 @@ package com.lz.modules.flow.service; import com.baomidou.mybatisplus.extension.service.IService; import com.lz.modules.flow.entity.Flow; +import com.lz.modules.flow.entity.FlowChart; import java.util.List; @@ -33,4 +34,6 @@ public interface FlowService extends IService { List selectByFlowId(Long flowId); + + FlowChart selectFlowChartByChartId(Long flowId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java index fe6a4aec..57c36e07 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java @@ -3,6 +3,8 @@ package com.lz.modules.flow.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.lz.modules.flow.dao.FlowMapper; import com.lz.modules.flow.entity.Flow; +import com.lz.modules.flow.entity.FlowChart; +import com.lz.modules.flow.service.FlowChartService; import com.lz.modules.flow.service.FlowService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,6 +28,9 @@ public class FlowServiceImpl extends ServiceImpl implements Fl private FlowMapper flowMapper; + @Autowired + private FlowChartService flowChartService; + @Override public Flow selectFlowById(Long id){ @@ -65,5 +70,12 @@ public class FlowServiceImpl extends ServiceImpl implements Fl return flowMapper.selectByFlowId(flowId); } + @Override + public FlowChart selectFlowChartByChartId(Long flowId) { + Flow flow = flowMapper.selectFlowById(flowId); + FlowChart flowChart = flowChartService.selectFlowChartById(flow.getChartId()); + return flowChart; + } + } diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 7fb4fd37..9e6c23b0 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -121,6 +121,9 @@ public class ResultRecordServiceImpl extends ServiceImpl Date: Mon, 26 Oct 2020 16:01:20 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lz/modules/flow/dao/FlowMapper.java | 2 +- src/main/java/com/lz/modules/flow/service/FlowService.java | 2 +- .../com/lz/modules/flow/service/impl/FlowServiceImpl.java | 4 ++-- .../sys/service/app/impl/ResultDetailServiceImpl.java | 2 +- .../sys/service/app/impl/ResultRecordServiceImpl.java | 5 ++--- src/main/resources/mapper/flow/FlowMapper.xml | 2 +- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/FlowMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowMapper.java index 5889418e..35eb72ef 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowMapper.java @@ -33,5 +33,5 @@ public interface FlowMapper extends BaseMapper { int deleteFlowById(@Param("id")Long id); - List selectByFlowId(@Param("flowId") Long flowId); + List selectByFlowId(@Param("flowId") Long flowId, @Param("startId") Long startId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowService.java b/src/main/java/com/lz/modules/flow/service/FlowService.java index f01cc681..3e96a946 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowService.java @@ -33,7 +33,7 @@ public interface FlowService extends IService { int deleteFlowById(Long id); - List selectByFlowId(Long flowId); + List selectByFlowId(Long flowId,Long startId); FlowChart selectFlowChartByChartId(Long flowId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java index 57c36e07..4c6a11b8 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java @@ -66,8 +66,8 @@ public class FlowServiceImpl extends ServiceImpl implements Fl } @Override - public List selectByFlowId(Long flowId) { - return flowMapper.selectByFlowId(flowId); + public List selectByFlowId(Long flowId,Long startId) { + return flowMapper.selectByFlowId(flowId,startId); } @Override diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java index 5c1dfe64..49998998 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java @@ -245,7 +245,7 @@ public class ResultDetailServiceImpl extends ServiceImpl staffEntityMap = list.stream().collect(Collectors.toMap(FlowDepartment::getDepartmentLevel, p -> p)); Long flowId = flowInfo.getFirst(); - List flows = flowService.selectByFlowId(flowId); + List flows = flowService.selectByFlowId(flowId,0l); int flowIndex = lastFlowRecord != null ? lastFlowRecord.getFlowIndex() + 1 : 1; log.info("flowIndex = " + flowIndex); diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 9e6c23b0..4cddc7c0 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -465,7 +465,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(flowId); + List flows = flowService.selectByFlowId(flowId,0l); FlowRecord lastFlowRecord = flowRecordService.selectLastFlowRecordByRecordId(resultRecordId); FlowRecord notFlowRecord = flowRecordService.selectNotApprovalStaffIdFlowRecords(resultRecord.getId()); if (notFlowRecord != null) { @@ -757,7 +757,7 @@ public class ResultRecordServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(resultRecord.getEvaluationId()); + List flows = flowService.selectByFlowId(resultRecord.getEvaluationId(),resultRecord.getStartId()); List flowIds = new ArrayList<>(); for(Flow flow:flows){ flowIds.add(flow.getId()); @@ -786,7 +786,6 @@ public class ResultRecordServiceImpl extends ServiceImpl From 4681cb93fb1bc15e817afb094252b86b1447c6d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Mon, 26 Oct 2020 16:19:25 +0800 Subject: [PATCH 4/4] fix --- .../lz/modules/flow/dao/FlowStartMapper.java | 4 ++ .../flow/service/FlowStartService.java | 2 + .../impl/EvaluationGroupServiceImpl.java | 3 ++ .../controller/ChartController.java | 35 +++++++++++---- .../performance/req/ChartStartsReq.java | 21 +++++++++ .../modules/performance/res/ChartStart.java | 12 ----- .../performance/res/ChartStartsRes.java | 9 +++- .../performance/res/ChartStatisticalRes.java | 3 ++ .../service/ChartResultService.java | 7 ++- .../service/impl/ChartResultServiceImpl.java | 45 +++++++++++++------ .../resources/mapper/flow/FlowStartMapper.xml | 12 +++++ 11 files changed, 115 insertions(+), 38 deletions(-) create mode 100644 src/main/java/com/lz/modules/performance/req/ChartStartsReq.java delete mode 100644 src/main/java/com/lz/modules/performance/res/ChartStart.java diff --git a/src/main/java/com/lz/modules/flow/dao/FlowStartMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowStartMapper.java index 9270bc6b..1c28183c 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowStartMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowStartMapper.java @@ -36,4 +36,8 @@ public interface FlowStartMapper extends BaseMapper { List selectListByTime(@Param("page") IPage page, @Param("cycleType")Integer cycleType,@Param("name")String name); FlowStart selectFlowStartByName(@Param("name") String name); + + List selectListByPage(@Param("page")IPage page,@Param("cycleType") Integer cycleType); + + FlowStart selectRecentlyLimt(); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowStartService.java b/src/main/java/com/lz/modules/flow/service/FlowStartService.java index a75945fd..b8be0bad 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowStartService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowStartService.java @@ -33,4 +33,6 @@ public interface FlowStartService extends IService { FlowStart selectFlowStartByName(String name); + + } \ No newline at end of file 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 63a418a2..6eaa0b06 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 @@ -104,6 +104,9 @@ public class EvaluationGroupServiceImpl extends ServiceImpl selectAllStaffIdsByGroupId(Long id) { EvaluationGroup evaluationGroup = this.selectEvaluationGroupById(id); + if(evaluationGroup ==null ){ + return Collections.EMPTY_LIST; + } String depIds = evaluationGroup.getDepIds(); Set allDeparmentIds = new HashSet<>(); if(StringUtils.isNotBlank(depIds)){ diff --git a/src/main/java/com/lz/modules/performance/controller/ChartController.java b/src/main/java/com/lz/modules/performance/controller/ChartController.java index e4f70a90..c5c0f2f6 100644 --- a/src/main/java/com/lz/modules/performance/controller/ChartController.java +++ b/src/main/java/com/lz/modules/performance/controller/ChartController.java @@ -2,12 +2,19 @@ package com.lz.modules.performance.controller; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; +import com.lz.common.utils.StringUtil; import com.lz.modules.equipment.entity.model.BasePage; +import com.lz.modules.flow.dao.FlowStartMapper; +import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.flow.service.FlowStartService; +import com.lz.modules.performance.req.ChartStartsReq; +import com.lz.modules.performance.res.ChartStartsRes; import com.lz.modules.performance.res.ChartStatisticalRes; import com.lz.modules.performance.res.ResultRankListRes; import com.lz.modules.performance.service.ChartResultService; import com.lz.modules.sys.controller.AbstractController; import io.swagger.annotations.*; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -24,23 +31,35 @@ import java.util.*; public class ChartController extends AbstractController{ @Autowired private ChartResultService chartResultService; + @Autowired + private FlowStartMapper flowStartMapper; - @PostMapping("chart/result") + @GetMapping("chart/result") @ApiOperation("获取绩效报表统计") - @ApiImplicitParam(name = "startId",value = "考核周期标识id", required = true, dataType = "Long",paramType = "query") @ApiResponses({@ApiResponse(code = 200,message = "成功",response = ChartStatisticalRes.class)}) - public R chartResult(@RequestParam Long startId){ - List chartStatisticalRes = chartResultService.chartReport(startId); + public R chartResult(@RequestParam(required = false) @ApiParam(name = "startId",value = "考核周期标识id") Long startId){ + String defaultTime = StringUtils.EMPTY; + if(startId==null){ + //取最近一条记录 + FlowStart flowStart = flowStartMapper.selectRecentlyLimt(); + if(flowStart!=null){ + startId = flowStart.getId(); + defaultTime = flowStart.getName(); + }else { + return R.ok(); + } + } + List chartStatisticalRes = chartResultService.chartReport(startId,defaultTime); return R.ok().put("data",chartStatisticalRes); } @PostMapping("chart/starts") @ApiOperation("获取考核类型列表") - @ApiResponses({@ApiResponse(code = 200,message = "成功",response = ChartStatisticalRes.class)}) - public R chartStarts(@RequestBody BasePage req){ - - return R.ok().put("data",""); + @ApiResponses({@ApiResponse(code = 200,message = "成功",response = ChartStartsRes.class)}) + public R chartStarts(@RequestBody @ApiParam(name = "body",value = "body请求体",required = true)ChartStartsReq req){ + PageUtils pageUtils = chartResultService.chartStarts(req); + return R.ok().put("data",pageUtils); } diff --git a/src/main/java/com/lz/modules/performance/req/ChartStartsReq.java b/src/main/java/com/lz/modules/performance/req/ChartStartsReq.java new file mode 100644 index 00000000..fb29d271 --- /dev/null +++ b/src/main/java/com/lz/modules/performance/req/ChartStartsReq.java @@ -0,0 +1,21 @@ +package com.lz.modules.performance.req; + +import com.lz.modules.equipment.entity.model.BasePage; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: djc + * @Desc: + * @Date: 2020/10/26 15:08 + */ +@Data +@ApiModel("获取考核类型列表") +public class ChartStartsReq extends BasePage{ + + @ApiModelProperty(value = "(必传)类型,0 月度 1:自定义",name = "cycleType",required = true) + private Integer cycleType; + +} diff --git a/src/main/java/com/lz/modules/performance/res/ChartStart.java b/src/main/java/com/lz/modules/performance/res/ChartStart.java deleted file mode 100644 index 7d8f2ea6..00000000 --- a/src/main/java/com/lz/modules/performance/res/ChartStart.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.lz.modules.performance.res; - -import lombok.Data; - -@Data -public class ChartStart{ - - private String time; - - private Long startId; - -} \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/res/ChartStartsRes.java b/src/main/java/com/lz/modules/performance/res/ChartStartsRes.java index d2349f24..611effad 100644 --- a/src/main/java/com/lz/modules/performance/res/ChartStartsRes.java +++ b/src/main/java/com/lz/modules/performance/res/ChartStartsRes.java @@ -1,5 +1,7 @@ package com.lz.modules.performance.res; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @@ -10,10 +12,13 @@ import java.util.List; * @Date: 2020/10/26 14:21 */ @Data +@ApiModel("全部考核列表实体") public class ChartStartsRes { - private int type; + @ApiModelProperty(value = "时间" , name = "time",example = "2020年08月绩效考核") + private String time; - private List list; + @ApiModelProperty(value = "考核id" , name = "startId") + private Long startId; } diff --git a/src/main/java/com/lz/modules/performance/res/ChartStatisticalRes.java b/src/main/java/com/lz/modules/performance/res/ChartStatisticalRes.java index 04829e53..86de2643 100644 --- a/src/main/java/com/lz/modules/performance/res/ChartStatisticalRes.java +++ b/src/main/java/com/lz/modules/performance/res/ChartStatisticalRes.java @@ -17,6 +17,9 @@ public class ChartStatisticalRes { @ApiModelProperty(value = "类型 0:节点统计 1:等级统计 2:人数统计 ",name = "type") private int type; + @ApiModelProperty(value = "默认时间 ",name = "defaultTime") + private String defaultTime; + private List statisticals; } diff --git a/src/main/java/com/lz/modules/performance/service/ChartResultService.java b/src/main/java/com/lz/modules/performance/service/ChartResultService.java index e5e64f02..899ee8ce 100644 --- a/src/main/java/com/lz/modules/performance/service/ChartResultService.java +++ b/src/main/java/com/lz/modules/performance/service/ChartResultService.java @@ -1,6 +1,9 @@ package com.lz.modules.performance.service; import com.lz.common.utils.PageUtils; +import com.lz.modules.equipment.entity.model.BasePage; +import com.lz.modules.performance.req.ChartStartsReq; +import com.lz.modules.performance.res.ChartStartsRes; import com.lz.modules.performance.res.ChartStatistical; import com.lz.modules.performance.res.ChartStatisticalRes; @@ -13,12 +16,12 @@ import java.util.List; */ public interface ChartResultService { - List chartReport(Long startId); + List chartReport(Long startId,String defaultTime); List countDepartmentAndStaffNum(ListstaffIds); //PageUtils resultRankList(ChartResultReq req); - void chartStarts(); + PageUtils chartStarts(ChartStartsReq req); } diff --git a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java index 988d2c9d..420823cf 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/ChartResultServiceImpl.java @@ -6,10 +6,11 @@ import com.lz.common.utils.PageUtils; import com.lz.modules.app.entity.DepartmentsStaffRelateEntity; import com.lz.modules.app.service.DepartmentsStaffRelateService; import com.lz.modules.app.service.StaffService; +import com.lz.modules.flow.dao.FlowStartMapper; import com.lz.modules.flow.entity.FlowStart; import com.lz.modules.flow.service.EvaluationGroupService; import com.lz.modules.flow.service.FlowStartService; -import com.lz.modules.performance.res.ChartStart; +import com.lz.modules.performance.req.ChartStartsReq; import com.lz.modules.performance.res.ChartStartsRes; import com.lz.modules.performance.res.ChartStatistical; import com.lz.modules.performance.res.ChartStatisticalRes; @@ -21,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; -import java.util.function.Consumer; /** * @Author: djc @@ -43,9 +43,12 @@ public class ChartResultServiceImpl implements ChartResultService { private StaffService staffService; @Autowired private FlowStartService flowStartService; + @Autowired + private FlowStartMapper flowStartMapper; + @Override - public List chartReport(Long startId) { + public List chartReport(Long startId,String defaultTime) { List data = new ArrayList<>(); ChartStatisticalRes res; @@ -53,12 +56,14 @@ public class ChartResultServiceImpl implements ChartResultService { res = new ChartStatisticalRes(); res.setType(0); res.setStatisticals(process); + res.setDefaultTime(defaultTime); data.add(res); List scoreLevel = resultRecordService.countNumByScoreLevel(startId); res = new ChartStatisticalRes(); res.setType(1); res.setStatisticals(scoreLevel); + res.setDefaultTime(defaultTime); data.add(res); List strings = evaluationGroupService.selectAllStaffIdsByGroupId(3L); @@ -66,6 +71,7 @@ public class ChartResultServiceImpl implements ChartResultService { res = new ChartStatisticalRes(); res.setType(2); res.setStatisticals(depstaff); + res.setDefaultTime(defaultTime); data.add(res); return data; @@ -110,17 +116,28 @@ public class ChartResultServiceImpl implements ChartResultService { }*/ @Override - public void chartStarts() { - List res = new ArrayList<>(); - List list = flowStartService.list(new QueryWrapper().eq("is_delete", 0).orderByAsc("start_time")); - list.forEach(new Consumer() { - @Override - public void accept(FlowStart flowStart) { - - if(flowStart.getCycleType()==0){ - ChartStart chartStart = new ChartStart(); - } - } + public PageUtils chartStarts(ChartStartsReq req) { + List data = new ArrayList<>(); + PageUtils pageUtils = PageUtils.startPage(req.getCurrPage(), req.getPageSize()).doSelect( + page -> flowStartMapper.selectListByPage(page,req.getCycleType()) + ); + List starts = pageUtils.getList(); + starts.forEach(flowStart -> { + ChartStartsRes start = new ChartStartsRes(); + start.setStartId(flowStart.getId()); + start.setTime(flowStart.getName()); + data.add(start); }); + + + PageUtils pages = new PageUtils(); + pages.setTotalPage(pageUtils.getTotalPage()); + pages.setTotalCount(pageUtils.getTotalCount()); + pages.setCurrPage(req.getCurrPage()); + pages.setPageSize(req.getPageSize()); + pages.setList(data); + + return pages; + } } diff --git a/src/main/resources/mapper/flow/FlowStartMapper.xml b/src/main/resources/mapper/flow/FlowStartMapper.xml index ac15bf19..a23f94a7 100644 --- a/src/main/resources/mapper/flow/FlowStartMapper.xml +++ b/src/main/resources/mapper/flow/FlowStartMapper.xml @@ -101,5 +101,17 @@ + + + +