From f93a360e55c1ec5510ebbec60ba3f77415e7a814 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 18 Jul 2024 22:01:14 +0800 Subject: [PATCH 01/78] =?UTF-8?q?build:=20camunda-engine-plugin-spin?= =?UTF-8?q?=E5=92=8Cmybatis=E7=9B=B8=E5=85=B3=E4=BE=9D=E8=B5=96=E7=9A=84?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=EF=BC=8C=E4=BB=A5=E5=8F=8Amapstruct=E7=9A=84?= =?UTF-8?q?=E5=BC=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了camunda-engine-plugin-spin及其相关依赖 - 移除了mybatis-spring-boot-starter依赖 -引入了mapstruct及其processor依赖 --- pom.xml | 41 +++++++++++++---------------------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/pom.xml b/pom.xml index 59ef1ce..3cf0e83 100644 --- a/pom.xml +++ b/pom.xml @@ -20,16 +20,9 @@ UTF-8 8 8 - 2.7.3 3.5.3.1 - 1.2.10 8.0.23 - 1.9.4 1.2.66 - 3.4 - 1.9 - 2.5 - 3.2.0 @@ -46,26 +39,11 @@ - - org.camunda.bpm.springboot - camunda-bpm-spring-boot-starter-rest - - org.camunda.bpm.springboot camunda-bpm-spring-boot-starter-webapp - - org.camunda.bpm - camunda-engine-plugin-spin - - - - org.camunda.spin - camunda-spin-dataformat-all - - org.drools @@ -104,12 +82,7 @@ mybatis-plus-boot-starter ${mybatis-plus.version} - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 2.2.2 - + @@ -148,6 +121,18 @@ lombok true + + + org.mapstruct + mapstruct + 1.5.2.Final + + + org.mapstruct + mapstruct-processor + 1.5.2.Final + provided + -- Gitee From 936694a411eaab9026e2b5a4b5fca8f3fee2d394 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Sat, 20 Jul 2024 16:08:29 +0800 Subject: [PATCH 02/78] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/service/impl/EmpCoefficientServiceImpl.java | 7 +++---- .../example/workflow/service/impl/KpiRuleServiceImpl.java | 7 +++---- .../workflow/service/impl/PieceRuleServiceImpl.java | 7 +++---- .../service/impl/PositionAssessorServiceImpl.java | 8 +++----- .../service/impl/RegionCoefficientServiceImpl.java | 8 +++----- .../workflow/service/impl/ScoreRuleServiceImpl.java | 7 +++---- 6 files changed, 18 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java b/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java index 7a3bca5..ece2c81 100644 --- a/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java @@ -17,8 +17,7 @@ import java.util.List; @Service public class EmpCoefficientServiceImpl extends ServiceImpl implements EmpCoefficientService { - @Autowired - private EmpCoefficientService EmpCoefficientService; + @Autowired private RegionCoefficientService RegionCoefficientService; @Override @@ -28,7 +27,7 @@ public class EmpCoefficientServiceImpl extends ServiceImpl list=EmpCoefficientService.lambdaQuery() + List list= lambdaQuery() .eq(EmpCoefficient::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -54,7 +53,7 @@ public class EmpCoefficientServiceImpl extends ServiceImpl implements KpiRuleService { - @Autowired - private KpiRuleService KpiRuleService; + @Autowired private PositionKpiSerivce PositionKpiSerivce; @Autowired @@ -34,7 +33,7 @@ public class KpiRuleServiceImpl extends ServiceImpl impl LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()).minusMonths(1), LocalTime.MAX); - List list=KpiRuleService.lambdaQuery() + List list= lambdaQuery() .eq(KpiRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -57,7 +56,7 @@ public class KpiRuleServiceImpl extends ServiceImpl impl .list(); x.setId(null); - KpiRuleService.save(x); + save(x); positionKpis.forEach(y->{ y.setId(null); diff --git a/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java index 60b456f..1aa5399 100644 --- a/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java @@ -20,8 +20,7 @@ import java.util.List; @Service public class PieceRuleServiceImpl extends ServiceImpl implements PieceRuleService { - @Autowired - private PieceRuleService PieceRuleService; + @Autowired private PositionPieceService PositionPieceService; @@ -32,7 +31,7 @@ public class PieceRuleServiceImpl extends ServiceImpl list=PieceRuleService.lambdaQuery() + List list= lambdaQuery() .eq(PieceRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -50,7 +49,7 @@ public class PieceRuleServiceImpl extends ServiceImpl{ y.setId(null); diff --git a/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java b/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java index 719f921..438db96 100644 --- a/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.workflow.mapper.PositionAssessorMapper; import com.example.workflow.model.entity.PositionAssessor; import com.example.workflow.service.PositionAssessorService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -15,8 +14,7 @@ import java.util.List; @Service public class PositionAssessorServiceImpl extends ServiceImpl implements PositionAssessorService { - @Autowired - private PositionAssessorService PositionAssessorService; + @Override @@ -25,7 +23,7 @@ public class PositionAssessorServiceImpl extends ServiceImpl list=PositionAssessorService.lambdaQuery() + List list= lambdaQuery() .eq(PositionAssessor::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -35,7 +33,7 @@ public class PositionAssessorServiceImpl extends ServiceImpl{ x.setId(null); - PositionAssessorService.save(x); + save(x); }); } diff --git a/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java b/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java index a51ee43..06ba210 100644 --- a/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.workflow.mapper.RegionCoefficientMapper; import com.example.workflow.model.entity.RegionCoefficient; import com.example.workflow.service.RegionCoefficientService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -15,8 +14,7 @@ import java.util.List; @Service public class RegionCoefficientServiceImpl extends ServiceImpl implements RegionCoefficientService { - @Autowired - private RegionCoefficientService RegionCoefficientService; + @Override public String defineRule(List list){ String rule= "package resources.rules;\r\n"; @@ -42,7 +40,7 @@ public class RegionCoefficientServiceImpl extends ServiceImpl list=RegionCoefficientService.lambdaQuery() + List list=lambdaQuery() .eq(RegionCoefficient::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -52,7 +50,7 @@ public class RegionCoefficientServiceImpl extends ServiceImpl{ x.setId(null); - RegionCoefficientService.save(x); + save(x); }); } } diff --git a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java index 004bc47..2256457 100644 --- a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java @@ -20,8 +20,7 @@ import java.util.List; @Service public class ScoreRuleServiceImpl extends ServiceImpl implements ScoreRuleService { - @Autowired - private ScoreRuleService ScoreRuleService; + @Autowired private PositionScoreService PositionScoreService; @Autowired @@ -34,7 +33,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl list=ScoreRuleService.lambdaQuery() + List list= lambdaQuery() .eq(ScoreRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -53,7 +52,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ List scoreAssessors= ScoreAssessorsService.lambdaQuery() -- Gitee From 6955adc6b6b927a37a176a34537aebff31a2b45f Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Sat, 20 Jul 2024 16:10:37 +0800 Subject: [PATCH 03/78] =?UTF-8?q?=20delete:=20=E6=97=A0=E7=94=A8=E7=9A=84b?= =?UTF-8?q?pmn=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/baseFlow.bpmn | 155 ------------------ src/main/resources/fourthKpiBackFlow.bpmn | 57 ------- src/main/resources/fourthPieceBackFlow.bpmn | 58 ------- src/main/resources/process.bpmn | 38 ----- src/main/resources/secondKpiFifthFlow.bpmn | 83 ---------- src/main/resources/secondKpiFourthFlow.bpmn | 71 -------- src/main/resources/secondKpiThirdFlow.bpmn | 58 ------- src/main/resources/secondOkrFifthFlow.bpmn | 74 --------- src/main/resources/secondOkrFourthFlow.bpmn | 60 ------- src/main/resources/secondPieceFifthFlow.bpmn | 83 ---------- src/main/resources/secondPieceFourthFlow.bpmn | 71 -------- src/main/resources/secondPieceThird.bpmn | 58 ------- src/main/resources/secondScoreFifthFlow.bpmn | 73 --------- src/main/resources/secondScoreFourthFlow.bpmn | 61 ------- src/main/resources/test.bpmn | 41 ----- src/main/resources/thirdKpiBackFlow.bpmn | 71 -------- src/main/resources/thirdOkrBackFlow.bpmn | 61 ------- src/main/resources/thirdPieceBackFlow.bpmn | 71 -------- src/main/resources/thirdScoreBackFlow.bpmn | 61 ------- 19 files changed, 1305 deletions(-) delete mode 100644 src/main/resources/baseFlow.bpmn delete mode 100644 src/main/resources/fourthKpiBackFlow.bpmn delete mode 100644 src/main/resources/fourthPieceBackFlow.bpmn delete mode 100644 src/main/resources/process.bpmn delete mode 100644 src/main/resources/secondKpiFifthFlow.bpmn delete mode 100644 src/main/resources/secondKpiFourthFlow.bpmn delete mode 100644 src/main/resources/secondKpiThirdFlow.bpmn delete mode 100644 src/main/resources/secondOkrFifthFlow.bpmn delete mode 100644 src/main/resources/secondOkrFourthFlow.bpmn delete mode 100644 src/main/resources/secondPieceFifthFlow.bpmn delete mode 100644 src/main/resources/secondPieceFourthFlow.bpmn delete mode 100644 src/main/resources/secondPieceThird.bpmn delete mode 100644 src/main/resources/secondScoreFifthFlow.bpmn delete mode 100644 src/main/resources/secondScoreFourthFlow.bpmn delete mode 100644 src/main/resources/test.bpmn delete mode 100644 src/main/resources/thirdKpiBackFlow.bpmn delete mode 100644 src/main/resources/thirdOkrBackFlow.bpmn delete mode 100644 src/main/resources/thirdPieceBackFlow.bpmn delete mode 100644 src/main/resources/thirdScoreBackFlow.bpmn diff --git a/src/main/resources/baseFlow.bpmn b/src/main/resources/baseFlow.bpmn deleted file mode 100644 index 87c7148..0000000 --- a/src/main/resources/baseFlow.bpmn +++ /dev/null @@ -1,155 +0,0 @@ - - - - - Flow_0mg737h - - - Flow_1s8r2zk - Flow_0a0swzy - - - Flow_1h6ogr9 - Flow_0zsazvj - - - - - - - - - Flow_0zsazvj - Flow_1s8r2zk - Flow_0mpn7wj - - - - ${appoint=='other'} - - - Flow_0a0swzy - Flow_0mpn7wj - Flow_1ol9ue9 - - - - ${appoint!='other'} - - - - Flow_1ol9ue9 - Flow_0oq1yn2 - - - - Flow_0oq1yn2 - Flow_1xyc2c8 - - - Flow_1xyc2c8 - Flow_14p8pbf - - - - Flow_14p8pbf - - - - - - Flow_0mg737h - Flow_1h6ogr9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/fourthKpiBackFlow.bpmn b/src/main/resources/fourthKpiBackFlow.bpmn deleted file mode 100644 index bf1fc2a..0000000 --- a/src/main/resources/fourthKpiBackFlow.bpmn +++ /dev/null @@ -1,57 +0,0 @@ - - - - - Flow_0dp5ijm - - - - - - Flow_0dp5ijm - Flow_09h2guf - - - Flow_09h2guf - Flow_1lfqasp - - - Flow_1lfqasp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/fourthPieceBackFlow.bpmn b/src/main/resources/fourthPieceBackFlow.bpmn deleted file mode 100644 index d4661b8..0000000 --- a/src/main/resources/fourthPieceBackFlow.bpmn +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Flow_0fgl1sp - - - Flow_0fgl1sp - Flow_0f1zv4k - - - Flow_1dtd78y - - - - - - Flow_0f1zv4k - Flow_1dtd78y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/process.bpmn b/src/main/resources/process.bpmn deleted file mode 100644 index f5af812..0000000 --- a/src/main/resources/process.bpmn +++ /dev/null @@ -1,38 +0,0 @@ - - - - - SequenceFlow_1fp17al - - - - SequenceFlow_16gzt2m - - - - SequenceFlow_1fp17al - SequenceFlow_16gzt2m - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondKpiFifthFlow.bpmn b/src/main/resources/secondKpiFifthFlow.bpmn deleted file mode 100644 index 7d52b01..0000000 --- a/src/main/resources/secondKpiFifthFlow.bpmn +++ /dev/null @@ -1,83 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_0jpzozd - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1oriro4 - Flow_19cf19k - - - Flow_1k85c1d - Flow_1oriro4 - - - - - - Flow_19cf19k - Flow_0jpzozd - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondKpiFourthFlow.bpmn b/src/main/resources/secondKpiFourthFlow.bpmn deleted file mode 100644 index 5e0b7e5..0000000 --- a/src/main/resources/secondKpiFourthFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_1dcv6sm - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1oriro4 - Flow_1dcv6sm - - - Flow_1k85c1d - Flow_1oriro4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondKpiThirdFlow.bpmn b/src/main/resources/secondKpiThirdFlow.bpmn deleted file mode 100644 index d916782..0000000 --- a/src/main/resources/secondKpiThirdFlow.bpmn +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_1dcv6sm - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1k85c1d - Flow_1dcv6sm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondOkrFifthFlow.bpmn b/src/main/resources/secondOkrFifthFlow.bpmn deleted file mode 100644 index 000f1a2..0000000 --- a/src/main/resources/secondOkrFifthFlow.bpmn +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_05hluio - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_1afoyj7 - - - Flow_1afoyj7 - Flow_05hluio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondOkrFourthFlow.bpmn b/src/main/resources/secondOkrFourthFlow.bpmn deleted file mode 100644 index 99645f8..0000000 --- a/src/main/resources/secondOkrFourthFlow.bpmn +++ /dev/null @@ -1,60 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_05hluio - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - - - - Flow_1jve7v8 - Flow_05hluio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondPieceFifthFlow.bpmn b/src/main/resources/secondPieceFifthFlow.bpmn deleted file mode 100644 index 65e45c7..0000000 --- a/src/main/resources/secondPieceFifthFlow.bpmn +++ /dev/null @@ -1,83 +0,0 @@ - - - - - Flow_0y2yb5k - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0d9ysys - Flow_1tym4na - - - Flow_1jpdvb2 - - - Flow_0umct46 - Flow_0d9ysys - - - - - - - - Flow_1tym4na - Flow_1jpdvb2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondPieceFourthFlow.bpmn b/src/main/resources/secondPieceFourthFlow.bpmn deleted file mode 100644 index d815254..0000000 --- a/src/main/resources/secondPieceFourthFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_0y2yb5k - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0d9ysys - Flow_16h1vww - - - Flow_16h1vww - - - Flow_0umct46 - Flow_0d9ysys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondPieceThird.bpmn b/src/main/resources/secondPieceThird.bpmn deleted file mode 100644 index fb475ae..0000000 --- a/src/main/resources/secondPieceThird.bpmn +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Flow_0y2yb5k - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0umct46 - Flow_16h1vww - - - Flow_16h1vww - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondScoreFifthFlow.bpmn b/src/main/resources/secondScoreFifthFlow.bpmn deleted file mode 100644 index 36be9d4..0000000 --- a/src/main/resources/secondScoreFifthFlow.bpmn +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_05hluio - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_1afoyj7 - - - - - - - Flow_1afoyj7 - Flow_05hluio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondScoreFourthFlow.bpmn b/src/main/resources/secondScoreFourthFlow.bpmn deleted file mode 100644 index b165773..0000000 --- a/src/main/resources/secondScoreFourthFlow.bpmn +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_0wh1gha - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_0wh1gha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/test.bpmn b/src/main/resources/test.bpmn deleted file mode 100644 index be11d35..0000000 --- a/src/main/resources/test.bpmn +++ /dev/null @@ -1,41 +0,0 @@ - - - - - Flow_1gkg89j - - - Flow_1gkg89j - Flow_1lhykx9 - - ${nrOfInstances == nrOfCompletedInstances} - - - - - Flow_1lhykx9 - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdKpiBackFlow.bpmn b/src/main/resources/thirdKpiBackFlow.bpmn deleted file mode 100644 index e905e8f..0000000 --- a/src/main/resources/thirdKpiBackFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_1dcv6sm - - - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1oriro4 - Flow_1dcv6sm - - - Flow_1k85c1d - Flow_1oriro4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdOkrBackFlow.bpmn b/src/main/resources/thirdOkrBackFlow.bpmn deleted file mode 100644 index 3f01e0a..0000000 --- a/src/main/resources/thirdOkrBackFlow.bpmn +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_0wh1gha - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_0wh1gha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdPieceBackFlow.bpmn b/src/main/resources/thirdPieceBackFlow.bpmn deleted file mode 100644 index f6089ce..0000000 --- a/src/main/resources/thirdPieceBackFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_0y2yb5k - - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0d9ysys - Flow_16h1vww - - - Flow_16h1vww - - - - - - Flow_0umct46 - Flow_0d9ysys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdScoreBackFlow.bpmn b/src/main/resources/thirdScoreBackFlow.bpmn deleted file mode 100644 index 9370e18..0000000 --- a/src/main/resources/thirdScoreBackFlow.bpmn +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Flow_1v6wp8j - - - - - Flow_0wh1gha - - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_0wh1gha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- Gitee From d727b2cbb0c6a3a3489aee5c8a3a7b714bb75270 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 20:43:50 +0800 Subject: [PATCH 04/78] =?UTF-8?q?build:=20=E7=8E=AF=E5=A2=83=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E8=84=9A=E6=9C=AC=E5=92=8C=E6=80=A7=E8=83=BD=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新`environment-install.sh`脚本,添加Java 8的安装和验证步骤,确保环境搭建中Java版本的正确性。 - 更新`run-performance.sh`脚本,添加后台运行命令,提高应用的启动灵活性和日志记录的便利性。 通过这些更新,我们优化了项目的部署和运行流程,为后续的性能测试和应用优化奠定了基础。 --- deploy/environment-install.sh | 20 ++++++++++++++++++++ deploy/run-performance.sh | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 deploy/environment-install.sh create mode 100644 deploy/run-performance.sh diff --git a/deploy/environment-install.sh b/deploy/environment-install.sh new file mode 100644 index 0000000..74bb793 --- /dev/null +++ b/deploy/environment-install.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# 更新软件包列表 +sudo apt update + +# 安装OpenJDK 8 +sudo apt install -y openjdk-8-jdk + +# 验证安装 +if [ "$(java -version 2>&1 | grep 'openjdk version')" ]; then + echo "Java 8 (OpenJDK) installed successfully." +else + echo "There was an error installing Java 8." +fi + +# 设置默认的Java版本为Java 8 +sudo update-alternatives --config java + +# 输出当前使用的Java版本信息 +java -version \ No newline at end of file diff --git a/deploy/run-performance.sh b/deploy/run-performance.sh new file mode 100644 index 0000000..ceae490 --- /dev/null +++ b/deploy/run-performance.sh @@ -0,0 +1,2 @@ +## 后台运行,输出到 log文件 +nohup java -Dserver.port=8081 -Dspring.profiles.active=prod -jar my-project-1.0.0-SNAPSHOT.jar > nohup-performance.log 2>&1 & \ No newline at end of file -- Gitee From 3d9eeacca5bf925104f9a9ebd4882311be52d5e7 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 20:51:21 +0800 Subject: [PATCH 05/78] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=B8=B8?= =?UTF-8?q?=E9=87=8F=E5=92=8C=E6=9E=9A=E4=B8=BE=E7=B1=BB=E5=88=B0Java?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 此次提交新增了一个接口`MyConstant`,其中定义了部门最小级别的常量。 新增了枚举类`PositionEnum`,用于定义一类岗位及其对应的流程key。 --- .../example/workflow/constant/MyConstant.java | 7 ++++++ .../example/workflow/enums/PositionEnum.java | 23 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/main/java/com/example/workflow/constant/MyConstant.java create mode 100644 src/main/java/com/example/workflow/enums/PositionEnum.java diff --git a/src/main/java/com/example/workflow/constant/MyConstant.java b/src/main/java/com/example/workflow/constant/MyConstant.java new file mode 100644 index 0000000..f771864 --- /dev/null +++ b/src/main/java/com/example/workflow/constant/MyConstant.java @@ -0,0 +1,7 @@ +package com.example.workflow.constant; + +public interface MyConstant { + + /** 部门最小级别*/ + Short DEPT_MIN_LEVEL = 4; +} diff --git a/src/main/java/com/example/workflow/enums/PositionEnum.java b/src/main/java/com/example/workflow/enums/PositionEnum.java new file mode 100644 index 0000000..3044d72 --- /dev/null +++ b/src/main/java/com/example/workflow/enums/PositionEnum.java @@ -0,0 +1,23 @@ +package com.example.workflow.enums; + +import lombok.Getter; + + +@Getter +public enum PositionEnum { + + //一类岗位 + ONE("1","Process_1gzouwy"), + FOUR("4", "Process_1whe0gq"), + THREE("3", "Process_01p7ac7") + ; + /** 岗位类型*/ + final Short type ; + /** 流程key */ + final String processKey; + + PositionEnum(String type, String processKey) { + this.type = Short.parseShort(type); + this.processKey = processKey; + } +} -- Gitee From 8e66082aab0d2523a4612d9d706619428e48a1c6 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 20:55:39 +0800 Subject: [PATCH 06/78] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.引入DeptConverter实现部门实体与视图对象的转换 2. 优化DeptService.getDeptTree方法,增强代码可读性与性能 3. 修改部门级别和父部门等级的数据类型为Short 4. 使用常量替代硬编码的数字,增强代码的可读性和维护性 5.修复部门名称重复校验的SQL查询条件错误 --- .../com/example/workflow/Application.java | 3 +- .../workflow/controller/DeptController.java | 5 +- .../workflow/converter/DeptConverter.java | 16 +++++ .../workflow/model/dto/DeptFormDto.java | 2 +- .../example/workflow/model/entity/Dept.java | 2 +- .../service/impl/DeptServiceImpl.java | 67 ++++++++----------- 6 files changed, 50 insertions(+), 45 deletions(-) create mode 100644 src/main/java/com/example/workflow/converter/DeptConverter.java diff --git a/src/main/java/com/example/workflow/Application.java b/src/main/java/com/example/workflow/Application.java index 1c48b54..95cdc21 100644 --- a/src/main/java/com/example/workflow/Application.java +++ b/src/main/java/com/example/workflow/Application.java @@ -1,7 +1,6 @@ package com.example.workflow; import org.mybatis.spring.annotation.MapperScan; -import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @@ -13,7 +12,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableTransactionManagement @EnableScheduling @ServletComponentScan -@SpringBootApplication(exclude = MybatisAutoConfiguration.class) +@SpringBootApplication() @MapperScan("com.example.workflow.mapper") public class Application { public static void main(String... args) { diff --git a/src/main/java/com/example/workflow/controller/DeptController.java b/src/main/java/com/example/workflow/controller/DeptController.java index e90f761..c4d35fc 100644 --- a/src/main/java/com/example/workflow/controller/DeptController.java +++ b/src/main/java/com/example/workflow/controller/DeptController.java @@ -3,6 +3,7 @@ package com.example.workflow.controller; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; +import com.example.workflow.constant.MyConstant; import com.example.workflow.model.dto.DeptFormDto; import com.example.workflow.model.entity.Dept; import com.example.workflow.model.vo.DeptVo; @@ -95,7 +96,7 @@ public class DeptController { @PostMapping("/add") public R addDept(@RequestBody DeptFormDto deptFormDto) { // 不允许超过五级 - if (deptFormDto.getParentLevel() >= 4) { + if (deptFormDto.getParentLevel() >= MyConstant.DEPT_MIN_LEVEL) { return R.error("不能新增五级部门"); } @@ -153,7 +154,7 @@ public class DeptController { if (parentLevel != null) parentLevel += 1; Dept dept = Db.lambdaQuery(Dept.class) .eq(parentLevel != null, Dept::getLevel,parentLevel) - .eq(deptName != null, Dept::getDeptName,decodedStr) + .eq( Dept::getDeptName,decodedStr) .ne(id != null, Dept::getId,id) .one(); if (dept != null) return R.error("部门名称重复"); diff --git a/src/main/java/com/example/workflow/converter/DeptConverter.java b/src/main/java/com/example/workflow/converter/DeptConverter.java new file mode 100644 index 0000000..128de4c --- /dev/null +++ b/src/main/java/com/example/workflow/converter/DeptConverter.java @@ -0,0 +1,16 @@ +package com.example.workflow.converter; + +import com.example.workflow.model.entity.Dept; +import com.example.workflow.model.vo.DeptVo; +import org.mapstruct.Mapper; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface DeptConverter { + + List pos2vos(List dept); + + DeptVo po2vo(Dept dept); + +} diff --git a/src/main/java/com/example/workflow/model/dto/DeptFormDto.java b/src/main/java/com/example/workflow/model/dto/DeptFormDto.java index edcfffe..60b74a1 100644 --- a/src/main/java/com/example/workflow/model/dto/DeptFormDto.java +++ b/src/main/java/com/example/workflow/model/dto/DeptFormDto.java @@ -13,7 +13,7 @@ public class DeptFormDto { /** * 父部门等级 */ - private Integer parentLevel; + private Short parentLevel; /** * 部门名称 */ diff --git a/src/main/java/com/example/workflow/model/entity/Dept.java b/src/main/java/com/example/workflow/model/entity/Dept.java index e20e77d..80edcc9 100644 --- a/src/main/java/com/example/workflow/model/entity/Dept.java +++ b/src/main/java/com/example/workflow/model/entity/Dept.java @@ -33,7 +33,7 @@ public class Dept implements Serializable { /** * 部门级别 */ - private Integer level; + private Short level; /** * 状态 diff --git a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java index 7ef3bdf..e8b22d9 100644 --- a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; +import com.example.workflow.converter.DeptConverter; import com.example.workflow.mapper.DeptHierarchyMapper; import com.example.workflow.mapper.DeptMapper; import com.example.workflow.model.dto.DeptFormDto; @@ -22,9 +23,9 @@ import com.example.workflow.service.DeptHierarchyService; import com.example.workflow.service.DeptService; import com.example.workflow.service.EmployeePositionService; import com.example.workflow.service.PositionService; +import com.example.workflow.utils.Check; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -37,6 +38,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -60,9 +62,7 @@ public class DeptServiceImpl extends ServiceImpl private final PositionService positionService; private final EmployeePositionService employeePositionService; - - @Autowired - private DeptService DeptService; + private final DeptConverter deptConverter; /** * 操作 部门表 部门继承表 @@ -70,6 +70,9 @@ public class DeptServiceImpl extends ServiceImpl */ @Override public Map getDeptNameMap(List ids) { + if (CollectionUtils.isEmpty(ids)) { + return new HashMap<>(0); + } // 首先根据部门id获取部门 List depts = lambdaQuery().in(Dept::getId, ids).list(); if (CollectionUtils.isEmpty(depts)) { @@ -174,48 +177,34 @@ public class DeptServiceImpl extends ServiceImpl @Override public List getDeptTree(Integer id) { - if (id == 5) { - id = 4; - } // 查询到的部门列表 - List dept = Db.lambdaQuery(Dept.class) - .le(id != null, Dept::getLevel, id) + List deptList = Db.lambdaQuery(Dept.class) + .le(Dept::getLevel, id) .list(); // 初始化部门树列表 - List deptVos = BeanUtil.copyToList(dept, DeptVo.class); + List deptVos = deptList.stream() + .map(deptConverter::po2vo) + .collect(Collectors.toList()); - Map deptMap = new HashMap<>(); - for (DeptVo deptVo : deptVos) { - deptVo.setChildren(new ArrayList<>()); // 初始化子部门列表 - deptMap.put(deptVo.getId(), deptVo); - } + Map deptVoMap = deptVos.stream() + .peek(deptVo -> deptVo.setChildren(new ArrayList<>())) + .collect(Collectors.toMap(DeptVo::getId, Function.identity())); // 获取部门层级关系 List deptHierarchyList = Db.lambdaQuery(DeptHierarchy.class).list(); - Set deptHierarchySet = new HashSet<>(); - for (DeptHierarchy dh : deptHierarchyList) { - deptHierarchySet.add(dh.getChildId()); - - DeptVo parentDept = deptMap.get(dh.getParentId()); - DeptVo childDept = deptMap.get(dh.getChildId()); - - if (parentDept != null && childDept != null) { - parentDept.getChildren().add(childDept); - } - } + deptHierarchyList.stream() + .filter(dh -> Check.noNull(deptVoMap.get(dh.getParentId()), deptVoMap.get(dh.getChildId()))) + .forEach(dh -> { + deptVoMap.get(dh.getParentId()).getChildren().add(deptVoMap.get(dh.getChildId())); + }); // 找到根部门,对deptList过滤 - List rootDepths = new ArrayList<>(); - for (DeptVo deptVo : deptVos) { - if (!deptHierarchySet.contains(deptVo.getId())) { - // 如果部门没有父部门,则该部门为根部门 - rootDepths.add(deptVo); - } - } - - return rootDepths; + return deptHierarchyList.stream() + .filter(dh -> dh.getParentId().equals(1L)) + .map(dh -> deptVoMap.get(dh.getChildId())) + .collect(Collectors.toList()); } /** @@ -226,12 +215,12 @@ public class DeptServiceImpl extends ServiceImpl public Boolean addDept(DeptFormDto deptFormDto) { Dept dept = new Dept(); BeanUtil.copyProperties(deptFormDto, dept); - int level = deptFormDto.getParentLevel() + 1; + Short level = Short.valueOf(String.valueOf(deptFormDto.getParentLevel() + 1)); dept.setLevel(level); // 查询同级部门是否存在同名的 where level = ? and dept_name = ? LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Dept::getDeptName, dept.getDeptName()); - Dept one = DeptService.getOne(queryWrapper); + Dept one = getOne(queryWrapper); if (one == null) { save(dept); @@ -368,7 +357,7 @@ public class DeptServiceImpl extends ServiceImpl parentId = deptHierarchy.getParentId(); } // 要查询的部门的父部门等级 默认为自己 若有父部门则为父部门 - Integer parentLevel = dept.getLevel(); + Short parentLevel = dept.getLevel(); Dept parentDept = Db.lambdaQuery(Dept.class).eq(Dept::getId, parentId).one(); if (parentDept != null) { parentLevel = parentDept.getLevel(); @@ -487,7 +476,7 @@ public class DeptServiceImpl extends ServiceImpl /** * 根据父部门id获取这个部门的全部后代id */ - + @Override public Set getChildeDeptIdSet(Long parentId) { HashSet deptIdSet = new HashSet<>(); getChildrenDeptIdSet(parentId, deptIdSet); -- Gitee From 793f6de86cfe3e508225df77617949084bb0a483 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 20:59:44 +0800 Subject: [PATCH 07/78] =?UTF-8?q?perf(IndexController):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=B7=AF=E7=94=B1=E6=9F=A5=E8=AF=A2=E5=B9=B6=E5=87=8F?= =?UTF-8?q?=E5=B0=91=E6=95=B0=E6=8D=AE=E5=BA=93=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 通过集合转换和流操作优化了路由数据的处理逻辑,减少了对数据库的查询次数。 现在,角色路由查询结果将直接转换为路由ID的集合,然后通过一个查询获取所有相关路由。 之后,通过一次遍历,为每个父路由收集其子路由,从而避免了之前对每个父路由单独查询子路由的需要。 此外,代码风格上进行了调整,如变量命名的小写化和驼峰式命名,以符合Java的编码规范。 这次优化不仅提高了代码的执行效率,减少了数据库负载,同时也让代码更加整洁和易于维护。 --- .../workflow/controller/IndexController.java | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/IndexController.java b/src/main/java/com/example/workflow/controller/IndexController.java index 21645e2..8d43c70 100644 --- a/src/main/java/com/example/workflow/controller/IndexController.java +++ b/src/main/java/com/example/workflow/controller/IndexController.java @@ -11,6 +11,7 @@ import com.example.workflow.service.IndexService; import com.example.workflow.service.RoleRouterService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -19,6 +20,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; import java.util.Random; +import java.util.Set; +import java.util.stream.Collectors; @Slf4j @RestController @@ -27,9 +30,9 @@ public class IndexController { @Autowired private IndexService IndexService; @Autowired - private RoleRouterService RoleRouterService; + private RoleRouterService roleRouterService; @Autowired - private RouterMapper RouterMapper; + private RouterMapper routerMapper; @PostMapping("/getPermission") public R> getPermission(@RequestBody JSONObject obj){ @@ -37,30 +40,28 @@ public class IndexController { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(RoleRouter::getRoleId,obj.getString("roleId")) .eq(RoleRouter::getState,1); - List routerList= RoleRouterService.list(queryWrapper); + List routerList= roleRouterService.list(queryWrapper); + if (!CollectionUtils.isEmpty(routerList)) { + Set routerSet = routerList.stream().map(RoleRouter::getRouterId).collect(Collectors.toSet()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(Router::getId, routerSet); + List routers = routerMapper.selectList(wrapper); - List list=new ArrayList<>(); - List parent=new ArrayList<>(); - routerList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(Router::getId,x.getRouterId()); - Router router= RouterMapper.selectOne(Wrapper); - list.add(router); + // 筛选出全部的父路由 + List parentRouterSet = routers.stream().filter(router -> router.getType().equals(1)).collect(Collectors.toList()); - if(router.getType().equals(1)){ - parent.add(router); + for (Router router : parentRouterSet) { + Integer id = Integer.valueOf(router.getId()); + // 筛选出它的子路由 + List childrenRouterSet = routers.stream().filter(router1 -> router1.getParentId().equals(id)).collect(Collectors.toList()); + router.setChildren(childrenRouterSet); } - }); + return R.success(parentRouterSet); + + } else { + return R.success(new ArrayList<>(0)); + } - parent.forEach(x->{ - List children= new ArrayList<>(); - list.forEach(y->{ - if(y.getParentId().equals(Integer.valueOf(x.getId()))) - children.add(y); - }); - x.setChildren(children); - }); - return R.success(parent); } @PostMapping("/getCaptchaCode") -- Gitee From 8b586afd5f9afa3edccfc6da10422629a78dd89e Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 21:00:40 +0800 Subject: [PATCH 08/78] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=20EmployeeServ?= =?UTF-8?q?ice=20=E7=B1=BB=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84=E5=B9=B6?= =?UTF-8?q?=E6=8F=90=E5=8D=87=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入额外的import语句以支持新功能的实现 - 重构了getList方法,使用map提高性能,并添加了新的方法wrapperToEmployeeVo2- 优化了状态变更方法setStateToEmployee的代码格式 - 删除了不必要的代码注释和格式调整,提高了代码的可读性- 对比了原代码与新代码的差异,确保所有变更都经过深思熟虑且有益于项目 通过这些改动,代码结构变得更加清晰,同时性能也得到了提升。此次优化专注于减少不必要的操作和提高数据处理效率,为后续的开发和维护打下了更好的基础。 --- .../service/impl/EmployeeServiceImpl.java | 245 ++++++++++++++---- 1 file changed, 193 insertions(+), 52 deletions(-) diff --git a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java index ad47408..2c762c8 100644 --- a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; +import com.example.workflow.enums.PositionEnum; import com.example.workflow.mapper.EmployeeMapper; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.model.dto.EmployeeFormDto; @@ -51,6 +52,7 @@ import com.example.workflow.service.RegionCoefficientService; import com.example.workflow.service.RoleBtnService; import com.example.workflow.service.RoleService; import com.example.workflow.service.ScoreAssessorsService; +import com.example.workflow.utils.Check; import com.example.workflow.utils.DateTimeUtils; import com.example.workflow.utils.Find; import lombok.RequiredArgsConstructor; @@ -73,6 +75,7 @@ import java.util.Objects; import java.util.Set; import java.util.StringJoiner; import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -118,18 +121,18 @@ public class EmployeeServiceImpl extends ServiceImpl i @Autowired private EmpOkrService EmpOkrService; - //改变员工账号状态 + // 改变员工账号状态 @Override public void setStateToEmployee(List empIdAndStateIdList) { - //stateId = 0 停用 + // stateId = 0 停用 Set state0EmpSet = empIdAndStateIdList.stream().filter(empIdAndStateId -> empIdAndStateId.getStateId().equals(Short.valueOf("0"))).map(EmpIdAndStateId::getEmpId).collect(Collectors.toSet()); - if (!CollectionUtils.isEmpty(state0EmpSet)){ - lambdaUpdate().set(Employee::getState, 0).in(Employee::getId,state0EmpSet).update(); + if (!CollectionUtils.isEmpty(state0EmpSet)) { + lambdaUpdate().set(Employee::getState, 0).in(Employee::getId, state0EmpSet).update(); } - //stateId = 1 恢复 + // stateId = 1 恢复 Set state1EmpSet = empIdAndStateIdList.stream().filter(empIdAndStateId -> empIdAndStateId.getStateId().equals(Short.valueOf("1"))).map(EmpIdAndStateId::getEmpId).collect(Collectors.toSet()); - if (!CollectionUtils.isEmpty(state1EmpSet)){ - lambdaUpdate().set(Employee::getState, 1).in(Employee::getId,state1EmpSet).update(); + if (!CollectionUtils.isEmpty(state1EmpSet)) { + lambdaUpdate().set(Employee::getState, 1).in(Employee::getId, state1EmpSet).update(); } } @@ -243,7 +246,7 @@ public class EmployeeServiceImpl extends ServiceImpl i */ @Override - public List getList(String name, String num,Long roleId,Long id) { + public List getList(String name, String num, Long roleId, Long id) { List employeeVos = new ArrayList<>(); // 获取员工基本信息 @@ -254,10 +257,125 @@ public class EmployeeServiceImpl extends ServiceImpl i .eq(Objects.nonNull(id), Employee::getId, id) .list(); // 为员工添加额外信息 - wrapperToEmployeeVo(employees, employeeVos); + wrapperToEmployeeVo2(employees, employeeVos); return employeeVos; } + /** + * 使用map提高性能 + */ + + private void wrapperToEmployeeVo2(List employees, List employeeVos) { + // 角色 + Set roleIdSet = employees.stream().map(Employee::getRoleId).collect(Collectors.toSet()); + List roleList = roleService.listByIds(roleIdSet); + Map roleMap = roleList.stream().collect(Collectors.toMap(Role::getId, Function.identity())); + + // 员工系数 + List employeeIdList = employees.stream().map(Employee::getId).distinct().collect(Collectors.toList()); + LocalDateTime[] times = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + List empCoefficientList = empCoefficientService.lambdaQuery().eq(EmpCoefficient::getEmpId, employeeIdList).between(EmpCoefficient::getCreateTime, times[0], times[1]).list(); + Map empCoefficientMap = empCoefficientList.stream().collect(Collectors.toMap(EmpCoefficient::getEmpId, Function.identity())); + + // 地域系数 + List regionCoefficientIdList = empCoefficientList.stream().map(EmpCoefficient::getRegionCoefficientId).distinct().collect(Collectors.toList()); + Map regionCoefficientMap = getRegionCoefficientMap(regionCoefficientIdList); + + // 员工岗位 + List employeePositionList = employeePositionService.lambdaQuery().eq(EmployeePosition::getEmpId, employeeIdList).list(); + List positionIdList = employeePositionList.stream().map(EmployeePosition::getPositionId).distinct().collect(Collectors.toList()); + List positions = new ArrayList<>(0); + if (!CollectionUtils.isEmpty(positionIdList)) { + positions = positionService.listByIds(positionIdList); + } + Map> employeePositionMap = getEmployeePositionMap(employeeIdList, positions, employeePositionList); + + + + // 部门名 + Map deptNameMap = deptService.getDeptNameMap(positionIdList); + + for (Employee employee : employees) { + EmployeeVo employeeVo = new EmployeeVo(); + BeanUtils.copyProperties(employee, employeeVo); + + // 职务名 + Long roleId = employee.getRoleId(); + Role role = roleMap.get(roleId); + if (Check.noNull(roleId, role)) { + String roleName = role.getRoleName(); + employeeVo.setRoleName(roleName); + } + + //系数与地域 + Long employeeId = employee.getId(); + EmpCoefficient empCoefficient = empCoefficientMap.get(employeeId); + if (Objects.nonNull(empCoefficient)) { + // 员工级别 + BigDecimal grade = empCoefficient.getPositionCoefficient(); + employeeVo.setGrade(grade); + + // 地域名称 + Long regionCoefficientId = empCoefficient.getRegionCoefficientId(); + RegionCoefficient regionCoefficient = regionCoefficientMap.get(regionCoefficientId); + if (Objects.nonNull(regionCoefficient)) { + String region = regionCoefficient.getRegion(); + employeeVo.setRegionName(region); + } + } + + //岗位与部门 + List employeePositions = employeePositionMap.get(employeeId); + if (!CollectionUtils.isEmpty(employeePositions)) { + //岗位名 + List positionNameList = employeePositions.stream() + .map(Position::getPosition) + .collect(Collectors.toList()); + employeeVo.setPostName(positionNameList); + + // 部门名 + Set deptIdSet = employeePositions.stream().map(Position::getDeptId).collect(Collectors.toSet()); + List deptNameList = deptNameMap.entrySet().stream() + .filter(entry -> deptIdSet.contains(entry.getKey())) + .map(Map.Entry::getValue) + .collect(Collectors.toList()); + employeeVo.setDeptNames(deptNameList); + + } + + employeeVos.add(employeeVo); + } + } + + /** + * 获取地域系数 + */ + + private Map getRegionCoefficientMap(List regionCoefficientIdList) { + if (!CollectionUtils.isEmpty(regionCoefficientIdList)) { + List regionCoefficientList = regionCoefficientService.listByIds(regionCoefficientIdList); + return regionCoefficientList.stream().collect(Collectors.toMap(RegionCoefficient::getId, Function.identity())); + } + return new HashMap<>(0); + } + + /** + * 获取员工岗位 + */ + private Map> getEmployeePositionMap(List employeeIdList, List positions, List employeePositionList) { + + Map positionMap = positions.stream().collect(Collectors.toMap(Position::getId, Function.identity())); + Map> poitionIdMap = employeePositionList.stream().collect(Collectors.groupingBy(EmployeePosition::getEmpId, Collectors.mapping(EmployeePosition::getPositionId, Collectors.toSet()))); + + Map> employeePositionMap = new HashMap<>(employeeIdList.size()); + poitionIdMap.forEach((empId, positionIdSet) -> { + List positionList = positionIdSet.stream().distinct().map(positionMap::get).collect(Collectors.toList()); + employeePositionMap.put(empId, positionList); + }); + return employeePositionMap; + } + + // 为员工添加额外信息 private void wrapperToEmployeeVo(List employees, List employeeVos) { if (!CollectionUtils.isEmpty(employees)) { @@ -437,7 +555,9 @@ public class EmployeeServiceImpl extends ServiceImpl i HashMap positionMap = new HashMap<>(); // 哈希表降低查询岗位名称的时间复杂度 - for (Position position : positions) positionMap.put(position.getId(), position.getPosition()); + for (Position position : positions) { + positionMap.put(position.getId(), position.getPosition()); + } if (employeePositions != null) { employeePositions.stream().filter(Objects::nonNull).forEach(employeePosition -> { @@ -598,7 +718,9 @@ public class EmployeeServiceImpl extends ServiceImpl i List roles = Db.lambdaQuery(Role.class).list(); // 将角色转换为map,提高检索时的效率 Map roleMap = new HashMap<>(); - for (Role role : roles) roleMap.put(role.getId(), role.getRoleName()); + for (Role role : roles) { + roleMap.put(role.getId(), role.getRoleName()); + } // 根据岗位id分组之后的岗位 Map> positionMap = positions.stream().collect(Collectors.groupingBy(Position::getId)); @@ -626,7 +748,9 @@ public class EmployeeServiceImpl extends ServiceImpl i // 再根据部门id调用deptService的getDeptName()获得部门name String deptName = deptIdNameMap.get(deptId1); - if (Find.findPathDeptId(deptHierarchyMap, deptId, deptId1)) hasDeptIdFlag.set(true); + if (Find.findPathDeptId(deptHierarchyMap, deptId, deptId1)) { + hasDeptIdFlag.set(true); + } positionIds.add(positionId); postNames.add(postName); deptIds.add(deptId1); @@ -696,22 +820,39 @@ public class EmployeeServiceImpl extends ServiceImpl i log.info(employee.toString()); List postIdPercentList = employeeFormDto.getPostIdPercent(); + Set postIdSet = postIdPercentList.stream() + .map(PostIdPercent::getPostId) + .collect(Collectors.toSet()); // 岗位所对应的绩效 - Map map = postIdPercentList.stream().collect(Collectors.toMap(PostIdPercent::getPostId, PostIdPercent::getPercent)); - map.forEach((postId, percent) -> { - // 向员工岗位表插入数据 - EmployeePosition employeePosition = new EmployeePosition(); - employeePosition.setEmpId(employee.getId()); - employeePosition.setState(1); - employeePosition.setPositionId(postId); - employeePosition.setPosiPercent(map.get(postId)); - - Short type = Db.lambdaQuery(Position.class).eq(Position::getId, postId).one().getType(); - if (type == 5) employeePosition.setProcessKey("Process_1gzouwy"); - else if (type == 4) employeePosition.setProcessKey("Process_1whe0gq"); - else if (type == 3) employeePosition.setProcessKey("Process_01p7ac7"); - employeePositionService.save(employeePosition); - }); + Map percentMap = postIdPercentList.stream().collect(Collectors.toMap(PostIdPercent::getPostId, PostIdPercent::getPercent)); + List positionList = Db.lambdaQuery(Position.class).in(Position::getId, postIdSet).list(); + + if (!CollectionUtils.isEmpty(positionList)) { + Map typeMap = positionList.stream().collect(Collectors.toMap(Position::getId, Position::getType)); + + List employeePositionList = postIdSet.stream().map(postId -> { + // 向员工岗位表插入数据 + EmployeePosition employeePosition = new EmployeePosition(); + employeePosition.setEmpId(employee.getId()); + employeePosition.setState(1); + employeePosition.setPositionId(postId); + employeePosition.setPosiPercent(percentMap.get(postId)); + + Short type = typeMap.get(postId); + if (type.equals(PositionEnum.ONE.getType())) { + employeePosition.setProcessKey(PositionEnum.ONE.getProcessKey()); + } else if (type.equals(PositionEnum.FOUR.getType())) { + employeePosition.setProcessKey(PositionEnum.FOUR.getProcessKey()); + } else if (type.equals(PositionEnum.THREE.getType())) { + employeePosition.setProcessKey(PositionEnum.THREE.getProcessKey()); + } + return employeePosition; + }).collect(Collectors.toList()); + + employeePositionService.saveBatch(employeePositionList); + + } + // 向员工绩效表中添加数据 EmpCoefficient empCoefficient = new EmpCoefficient(); @@ -871,45 +1012,45 @@ public class EmployeeServiceImpl extends ServiceImpl i wrapper1.eq(EmpCoefficient::getEmpId, id).between(EmpCoefficient::getUpdateTime, time[0], time[1]); empCoefficientService.remove(wrapper1); - LambdaUpdateWrapper deleteWapper1=new LambdaUpdateWrapper<>(); - deleteWapper1.set(PositionAssessor::getFourthAssessorId,null) - .eq(PositionAssessor::getFourthAssessorId,id) + LambdaUpdateWrapper deleteWapper1 = new LambdaUpdateWrapper<>(); + deleteWapper1.set(PositionAssessor::getFourthAssessorId, null) + .eq(PositionAssessor::getFourthAssessorId, id) .between(PositionAssessor::getUpdateTime, time[0], time[1]); PositionAssessorService.update(deleteWapper1); - LambdaUpdateWrapper deleteWapper2=new LambdaUpdateWrapper<>(); - deleteWapper2.set(PositionAssessor::getThirdAssessorId,null) - .eq(PositionAssessor::getThirdAssessorId,id) + LambdaUpdateWrapper deleteWapper2 = new LambdaUpdateWrapper<>(); + deleteWapper2.set(PositionAssessor::getThirdAssessorId, null) + .eq(PositionAssessor::getThirdAssessorId, id) .between(PositionAssessor::getUpdateTime, time[0], time[1]); PositionAssessorService.update(deleteWapper2); - LambdaUpdateWrapper deleteWapper3=new LambdaUpdateWrapper<>(); - deleteWapper3.set(PositionAssessor::getSecondAssessorId,null) - .eq(PositionAssessor::getSecondAssessorId,id) + LambdaUpdateWrapper deleteWapper3 = new LambdaUpdateWrapper<>(); + deleteWapper3.set(PositionAssessor::getSecondAssessorId, null) + .eq(PositionAssessor::getSecondAssessorId, id) .between(PositionAssessor::getUpdateTime, time[0], time[1]); PositionAssessorService.update(deleteWapper3); - LambdaQueryWrapper deleteWapper5=new LambdaQueryWrapper<>(); - deleteWapper5.eq(ScoreAssessors::getAssessorId,id) + LambdaQueryWrapper deleteWapper5 = new LambdaQueryWrapper<>(); + deleteWapper5.eq(ScoreAssessors::getAssessorId, id) .between(ScoreAssessors::getUpdateTime, time[0], time[1]); ScoreAssessorsService.remove(deleteWapper5); - LambdaQueryWrapper deleteWapper6=new LambdaQueryWrapper<>(); - deleteWapper6.eq(EmpKpi::getEmpId,id) + LambdaQueryWrapper deleteWapper6 = new LambdaQueryWrapper<>(); + deleteWapper6.eq(EmpKpi::getEmpId, id) .between(EmpKpi::getUpdateTime, time[0], time[1]); EmpKpiService.remove(deleteWapper6); - LambdaQueryWrapper deleteWapper7=new LambdaQueryWrapper<>(); - deleteWapper7.eq(EmpPiece::getEmpId,id) + LambdaQueryWrapper deleteWapper7 = new LambdaQueryWrapper<>(); + deleteWapper7.eq(EmpPiece::getEmpId, id) .between(EmpPiece::getUpdateTime, time[0], time[1]); EmpPieceService.remove(deleteWapper7); - LambdaQueryWrapper deleteWapper8=new LambdaQueryWrapper<>(); - deleteWapper8.eq(EmpReward::getEmpId,id) + LambdaQueryWrapper deleteWapper8 = new LambdaQueryWrapper<>(); + deleteWapper8.eq(EmpReward::getEmpId, id) .between(EmpReward::getUpdateTime, time[0], time[1]); EmpRewardService.remove(deleteWapper8); - LambdaQueryWrapper deleteWapper9=new LambdaQueryWrapper<>(); - deleteWapper9.eq(EmpScore::getEmpId,id) + LambdaQueryWrapper deleteWapper9 = new LambdaQueryWrapper<>(); + deleteWapper9.eq(EmpScore::getEmpId, id) .between(EmpScore::getUpdateTime, time[0], time[1]); EmpScoreService.remove(deleteWapper9); - LambdaQueryWrapper deleteWapper10=new LambdaQueryWrapper<>(); - deleteWapper10.eq(EmpOkr::getEmpId,id) + LambdaQueryWrapper deleteWapper10 = new LambdaQueryWrapper<>(); + deleteWapper10.eq(EmpOkr::getEmpId, id) .between(EmpOkr::getUpdateTime, time[0], time[1]); EmpOkrService.remove(deleteWapper10); }); @@ -950,10 +1091,10 @@ public class EmployeeServiceImpl extends ServiceImpl i return R.success(routerAndButtonVo); } - /** - * @param deptId 部门id - * @return 员工信息集合 - */ + /** + * @param deptId 部门id + * @return 员工信息集合 + */ @Override public List getEmployeeVoListByDeptId(Long deptId) { ArrayList employeeVos = new ArrayList<>(); -- Gitee From 256ec98d0c7a26e9f574f0c00bbfc454f192c959 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 1 Aug 2024 21:21:55 +0800 Subject: [PATCH 09/78] =?UTF-8?q?Revert=20"perf:=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=8E=A5=E5=8F=A3"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 8e66082aab0d2523a4612d9d706619428e48a1c6. --- .../com/example/workflow/Application.java | 3 +- .../workflow/controller/DeptController.java | 5 +- .../workflow/converter/DeptConverter.java | 16 ----- .../workflow/model/dto/DeptFormDto.java | 2 +- .../example/workflow/model/entity/Dept.java | 2 +- .../service/impl/DeptServiceImpl.java | 67 +++++++++++-------- 6 files changed, 45 insertions(+), 50 deletions(-) delete mode 100644 src/main/java/com/example/workflow/converter/DeptConverter.java diff --git a/src/main/java/com/example/workflow/Application.java b/src/main/java/com/example/workflow/Application.java index 95cdc21..1c48b54 100644 --- a/src/main/java/com/example/workflow/Application.java +++ b/src/main/java/com/example/workflow/Application.java @@ -1,6 +1,7 @@ package com.example.workflow; import org.mybatis.spring.annotation.MapperScan; +import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @@ -12,7 +13,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableTransactionManagement @EnableScheduling @ServletComponentScan -@SpringBootApplication() +@SpringBootApplication(exclude = MybatisAutoConfiguration.class) @MapperScan("com.example.workflow.mapper") public class Application { public static void main(String... args) { diff --git a/src/main/java/com/example/workflow/controller/DeptController.java b/src/main/java/com/example/workflow/controller/DeptController.java index c4d35fc..e90f761 100644 --- a/src/main/java/com/example/workflow/controller/DeptController.java +++ b/src/main/java/com/example/workflow/controller/DeptController.java @@ -3,7 +3,6 @@ package com.example.workflow.controller; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; -import com.example.workflow.constant.MyConstant; import com.example.workflow.model.dto.DeptFormDto; import com.example.workflow.model.entity.Dept; import com.example.workflow.model.vo.DeptVo; @@ -96,7 +95,7 @@ public class DeptController { @PostMapping("/add") public R addDept(@RequestBody DeptFormDto deptFormDto) { // 不允许超过五级 - if (deptFormDto.getParentLevel() >= MyConstant.DEPT_MIN_LEVEL) { + if (deptFormDto.getParentLevel() >= 4) { return R.error("不能新增五级部门"); } @@ -154,7 +153,7 @@ public class DeptController { if (parentLevel != null) parentLevel += 1; Dept dept = Db.lambdaQuery(Dept.class) .eq(parentLevel != null, Dept::getLevel,parentLevel) - .eq( Dept::getDeptName,decodedStr) + .eq(deptName != null, Dept::getDeptName,decodedStr) .ne(id != null, Dept::getId,id) .one(); if (dept != null) return R.error("部门名称重复"); diff --git a/src/main/java/com/example/workflow/converter/DeptConverter.java b/src/main/java/com/example/workflow/converter/DeptConverter.java deleted file mode 100644 index 128de4c..0000000 --- a/src/main/java/com/example/workflow/converter/DeptConverter.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.example.workflow.converter; - -import com.example.workflow.model.entity.Dept; -import com.example.workflow.model.vo.DeptVo; -import org.mapstruct.Mapper; - -import java.util.List; - -@Mapper(componentModel = "spring") -public interface DeptConverter { - - List pos2vos(List dept); - - DeptVo po2vo(Dept dept); - -} diff --git a/src/main/java/com/example/workflow/model/dto/DeptFormDto.java b/src/main/java/com/example/workflow/model/dto/DeptFormDto.java index 60b74a1..edcfffe 100644 --- a/src/main/java/com/example/workflow/model/dto/DeptFormDto.java +++ b/src/main/java/com/example/workflow/model/dto/DeptFormDto.java @@ -13,7 +13,7 @@ public class DeptFormDto { /** * 父部门等级 */ - private Short parentLevel; + private Integer parentLevel; /** * 部门名称 */ diff --git a/src/main/java/com/example/workflow/model/entity/Dept.java b/src/main/java/com/example/workflow/model/entity/Dept.java index 80edcc9..e20e77d 100644 --- a/src/main/java/com/example/workflow/model/entity/Dept.java +++ b/src/main/java/com/example/workflow/model/entity/Dept.java @@ -33,7 +33,7 @@ public class Dept implements Serializable { /** * 部门级别 */ - private Short level; + private Integer level; /** * 状态 diff --git a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java index e8b22d9..7ef3bdf 100644 --- a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; -import com.example.workflow.converter.DeptConverter; import com.example.workflow.mapper.DeptHierarchyMapper; import com.example.workflow.mapper.DeptMapper; import com.example.workflow.model.dto.DeptFormDto; @@ -23,9 +22,9 @@ import com.example.workflow.service.DeptHierarchyService; import com.example.workflow.service.DeptService; import com.example.workflow.service.EmployeePositionService; import com.example.workflow.service.PositionService; -import com.example.workflow.utils.Check; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -38,7 +37,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -62,7 +60,9 @@ public class DeptServiceImpl extends ServiceImpl private final PositionService positionService; private final EmployeePositionService employeePositionService; - private final DeptConverter deptConverter; + + @Autowired + private DeptService DeptService; /** * 操作 部门表 部门继承表 @@ -70,9 +70,6 @@ public class DeptServiceImpl extends ServiceImpl */ @Override public Map getDeptNameMap(List ids) { - if (CollectionUtils.isEmpty(ids)) { - return new HashMap<>(0); - } // 首先根据部门id获取部门 List depts = lambdaQuery().in(Dept::getId, ids).list(); if (CollectionUtils.isEmpty(depts)) { @@ -177,34 +174,48 @@ public class DeptServiceImpl extends ServiceImpl @Override public List getDeptTree(Integer id) { + if (id == 5) { + id = 4; + } // 查询到的部门列表 - List deptList = Db.lambdaQuery(Dept.class) - .le(Dept::getLevel, id) + List dept = Db.lambdaQuery(Dept.class) + .le(id != null, Dept::getLevel, id) .list(); // 初始化部门树列表 - List deptVos = deptList.stream() - .map(deptConverter::po2vo) - .collect(Collectors.toList()); + List deptVos = BeanUtil.copyToList(dept, DeptVo.class); - Map deptVoMap = deptVos.stream() - .peek(deptVo -> deptVo.setChildren(new ArrayList<>())) - .collect(Collectors.toMap(DeptVo::getId, Function.identity())); + Map deptMap = new HashMap<>(); + for (DeptVo deptVo : deptVos) { + deptVo.setChildren(new ArrayList<>()); // 初始化子部门列表 + deptMap.put(deptVo.getId(), deptVo); + } // 获取部门层级关系 List deptHierarchyList = Db.lambdaQuery(DeptHierarchy.class).list(); + Set deptHierarchySet = new HashSet<>(); - deptHierarchyList.stream() - .filter(dh -> Check.noNull(deptVoMap.get(dh.getParentId()), deptVoMap.get(dh.getChildId()))) - .forEach(dh -> { - deptVoMap.get(dh.getParentId()).getChildren().add(deptVoMap.get(dh.getChildId())); - }); + for (DeptHierarchy dh : deptHierarchyList) { + deptHierarchySet.add(dh.getChildId()); + + DeptVo parentDept = deptMap.get(dh.getParentId()); + DeptVo childDept = deptMap.get(dh.getChildId()); + + if (parentDept != null && childDept != null) { + parentDept.getChildren().add(childDept); + } + } // 找到根部门,对deptList过滤 - return deptHierarchyList.stream() - .filter(dh -> dh.getParentId().equals(1L)) - .map(dh -> deptVoMap.get(dh.getChildId())) - .collect(Collectors.toList()); + List rootDepths = new ArrayList<>(); + for (DeptVo deptVo : deptVos) { + if (!deptHierarchySet.contains(deptVo.getId())) { + // 如果部门没有父部门,则该部门为根部门 + rootDepths.add(deptVo); + } + } + + return rootDepths; } /** @@ -215,12 +226,12 @@ public class DeptServiceImpl extends ServiceImpl public Boolean addDept(DeptFormDto deptFormDto) { Dept dept = new Dept(); BeanUtil.copyProperties(deptFormDto, dept); - Short level = Short.valueOf(String.valueOf(deptFormDto.getParentLevel() + 1)); + int level = deptFormDto.getParentLevel() + 1; dept.setLevel(level); // 查询同级部门是否存在同名的 where level = ? and dept_name = ? LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Dept::getDeptName, dept.getDeptName()); - Dept one = getOne(queryWrapper); + Dept one = DeptService.getOne(queryWrapper); if (one == null) { save(dept); @@ -357,7 +368,7 @@ public class DeptServiceImpl extends ServiceImpl parentId = deptHierarchy.getParentId(); } // 要查询的部门的父部门等级 默认为自己 若有父部门则为父部门 - Short parentLevel = dept.getLevel(); + Integer parentLevel = dept.getLevel(); Dept parentDept = Db.lambdaQuery(Dept.class).eq(Dept::getId, parentId).one(); if (parentDept != null) { parentLevel = parentDept.getLevel(); @@ -476,7 +487,7 @@ public class DeptServiceImpl extends ServiceImpl /** * 根据父部门id获取这个部门的全部后代id */ - @Override + public Set getChildeDeptIdSet(Long parentId) { HashSet deptIdSet = new HashSet<>(); getChildrenDeptIdSet(parentId, deptIdSet); -- Gitee From 2e9a2bbcb6ae7bdc09f3431865b4763b2ee31dcc Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 1 Aug 2024 21:32:52 +0800 Subject: [PATCH 10/78] =?UTF-8?q?fix:=20=E5=89=8D=E7=AB=AF=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E5=91=98=E5=B7=A5=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=87=BA=E7=8E=B0=E5=8D=A1=E6=AD=BB=E7=95=8C?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/workflow/Application.java | 3 +-- .../com/example/workflow/service/impl/DeptServiceImpl.java | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/workflow/Application.java b/src/main/java/com/example/workflow/Application.java index 1c48b54..62b8067 100644 --- a/src/main/java/com/example/workflow/Application.java +++ b/src/main/java/com/example/workflow/Application.java @@ -1,7 +1,6 @@ package com.example.workflow; import org.mybatis.spring.annotation.MapperScan; -import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @@ -13,7 +12,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableTransactionManagement @EnableScheduling @ServletComponentScan -@SpringBootApplication(exclude = MybatisAutoConfiguration.class) +@SpringBootApplication @MapperScan("com.example.workflow.mapper") public class Application { public static void main(String... args) { diff --git a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java index 7ef3bdf..62e9bf5 100644 --- a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java @@ -70,6 +70,9 @@ public class DeptServiceImpl extends ServiceImpl */ @Override public Map getDeptNameMap(List ids) { + if (CollectionUtils.isEmpty(ids)) { + return Collections.emptyMap(); + } // 首先根据部门id获取部门 List depts = lambdaQuery().in(Dept::getId, ids).list(); if (CollectionUtils.isEmpty(depts)) { -- Gitee From beb1eaaa48817391e650b1c84d6f6c81276a8b48 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 1 Aug 2024 21:43:55 +0800 Subject: [PATCH 11/78] =?UTF-8?q?refactor:=20=E5=88=87=E6=8D=A2=E6=88=90v1?= =?UTF-8?q?=E7=89=88=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/workflow/service/impl/EmployeeServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java index 2c762c8..e4aa5e1 100644 --- a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java @@ -257,7 +257,7 @@ public class EmployeeServiceImpl extends ServiceImpl i .eq(Objects.nonNull(id), Employee::getId, id) .list(); // 为员工添加额外信息 - wrapperToEmployeeVo2(employees, employeeVos); + wrapperToEmployeeVo(employees, employeeVos); return employeeVos; } -- Gitee From e557e92d37a1a021f80940c65a7d221c6bbb54fb Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 1 Aug 2024 21:52:41 +0800 Subject: [PATCH 12/78] =?UTF-8?q?docs:=20=E4=B8=BA=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/workflow/utils/DateTimeUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/example/workflow/utils/DateTimeUtils.java b/src/main/java/com/example/workflow/utils/DateTimeUtils.java index 986ff4b..6709120 100644 --- a/src/main/java/com/example/workflow/utils/DateTimeUtils.java +++ b/src/main/java/com/example/workflow/utils/DateTimeUtils.java @@ -23,7 +23,7 @@ public class DateTimeUtils { return new LocalDateTime[]{startOfMonth, endOfMonth}; } - /* 返回现在的时间 */ + /** 返回现在的时间 */ public static String now(String format) { LocalDateTime localDateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); -- Gitee From d648e3f68dc0e68882977d975722a30c63f2ca53 Mon Sep 17 00:00:00 2001 From: hrc Date: Tue, 17 Sep 2024 22:05:54 +0800 Subject: [PATCH 13/78] =?UTF-8?q?docs:=20=E5=8E=BB=E9=99=A4=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E7=9A=84

?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/workflow/controller/DeptController.java | 3 --- .../com/example/workflow/controller/PdfFilesController.java | 4 +--- .../java/com/example/workflow/controller/RoleController.java | 3 --- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/DeptController.java b/src/main/java/com/example/workflow/controller/DeptController.java index e90f761..b041f1e 100644 --- a/src/main/java/com/example/workflow/controller/DeptController.java +++ b/src/main/java/com/example/workflow/controller/DeptController.java @@ -24,10 +24,7 @@ import java.util.List; import java.util.Objects; /** - *

* 部门 前端控制器 - *

- * * @author 黄历 * @since 2024-03-12 */ diff --git a/src/main/java/com/example/workflow/controller/PdfFilesController.java b/src/main/java/com/example/workflow/controller/PdfFilesController.java index dc4ed9c..dff6ea6 100644 --- a/src/main/java/com/example/workflow/controller/PdfFilesController.java +++ b/src/main/java/com/example/workflow/controller/PdfFilesController.java @@ -38,9 +38,7 @@ import java.time.LocalTime; import java.util.List; /** - *

- * 前端控制器 - *

+ * pdf控制器 * * @author 黄历 * @since 2024-03-14 diff --git a/src/main/java/com/example/workflow/controller/RoleController.java b/src/main/java/com/example/workflow/controller/RoleController.java index d56894b..2d3f1f3 100644 --- a/src/main/java/com/example/workflow/controller/RoleController.java +++ b/src/main/java/com/example/workflow/controller/RoleController.java @@ -33,10 +33,7 @@ import java.util.List; import java.util.Map; /** - *

* 角色信息 前端控制器 - *

- * * @author 黄历 * @since 2024-03-12 */ -- Gitee From ca8f3743d14e94a130ab5bbe171bf00d0bd90664 Mon Sep 17 00:00:00 2001 From: hrc Date: Thu, 7 Nov 2024 16:41:06 +0800 Subject: [PATCH 14/78] =?UTF-8?q?refactor:=E6=B7=BB=E5=8A=A0=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/workflow/Application.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/example/workflow/Application.java b/src/main/java/com/example/workflow/Application.java index 62b8067..b47b7a4 100644 --- a/src/main/java/com/example/workflow/Application.java +++ b/src/main/java/com/example/workflow/Application.java @@ -17,6 +17,15 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; public class Application { public static void main(String... args) { SpringApplication.run(Application.class, args); + // http://patorjk.com/software/taag/?spm=5176.28103460.0.0.297c5d27o3B1lK 横幅内容生成 + System.out.println(" _____ \n" + + "______ ____________/ ____\\___________ _____ _____ ____ ____ ____ \n" + + "\\____ \\_/ __ \\_ __ \\ __\\/ _ \\_ __ \\/ \\\\__ \\ / \\_/ ___\\/ __ \\ \n" + + "| |_> > ___/| | \\/| | ( <_> ) | \\/ Y Y \\/ __ \\| | \\ \\__\\ ___/ \n" + + "| __/ \\___ >__| |__| \\____/|__| |__|_| (____ /___| /\\___ >___ >\n" + + "|__| \\/ \\/ \\/ \\/ \\/ \\/" + '\n' + + "绩效管理系统后台服务启动成功"); + } } \ No newline at end of file -- Gitee From 4c4d155f38bfcd3919f4dc5a9bb7fcabb69bcf24 Mon Sep 17 00:00:00 2001 From: hrc Date: Thu, 7 Nov 2024 16:56:08 +0800 Subject: [PATCH 15/78] =?UTF-8?q?fix:=20=E5=AD=97=E6=AE=B5=E6=B3=A8?= =?UTF-8?q?=E5=85=A5null=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/controller/FirstController.java | 128 +++++++++--------- 1 file changed, 65 insertions(+), 63 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/FirstController.java b/src/main/java/com/example/workflow/controller/FirstController.java index 1a1456a..ed9921c 100644 --- a/src/main/java/com/example/workflow/controller/FirstController.java +++ b/src/main/java/com/example/workflow/controller/FirstController.java @@ -14,15 +14,14 @@ import com.example.workflow.service.PieceRuleService; import com.example.workflow.service.PositionAssessorViewService; import com.example.workflow.service.RegionCoefficientService; import com.example.workflow.service.ScoreRuleService; +import com.example.workflow.utils.DateTimeUtils; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.time.LocalDate; +import javax.annotation.Resource; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -31,94 +30,97 @@ import java.util.Map; @RestController @RequestMapping("/first") public class FirstController { + @Resource + private ScoreRuleService scoreRuleService; + @Resource + private PieceRuleService pieceRuleService; + @Resource + private KpiRuleService kpiRuleService; + @Resource + private RegionCoefficientService regionCoefficientService; + @Resource + private EmpCoefficientService empCoefficientService; + @Resource + private PositionAssessorViewService positionAssessorViewService; - @Autowired - private ScoreRuleService ScoreRuleService; - @Autowired - private PieceRuleService PieceRuleService; - @Autowired - private KpiRuleService KpiRuleService; - @Autowired - private RegionCoefficientService RegionCoefficientService; - @Autowired - private EmpCoefficientService EmpCoefficientService; - @Autowired - private PositionAssessorViewService PositionAssessorViewService; - - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/check") - private R> checkScore(){ - Map map=new HashMap<>(); - List list= ScoreRuleService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + public R> checkScore() { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + Map map = new HashMap<>(10); + List list = scoreRuleService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time[0]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list.isEmpty()) + if (list.isEmpty()) { map.put("scoreRule",0); - else + } else { map.put("scoreRule",1); + } - List list2= PieceRuleService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + List list2 = pieceRuleService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time[0]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list2.isEmpty()) + if (list2.isEmpty()) { map.put("pieceRule",0); - else + } else { map.put("pieceRule",1); + } - List list3= KpiRuleService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + List list3 = kpiRuleService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time[0]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list3.isEmpty()) + if (list3.isEmpty()) { map.put("kpiRule",0); - else + } else { map.put("kpiRule",1); + } - List list4=RegionCoefficientService.lambdaQuery() + List list4 = regionCoefficientService.lambdaQuery() .eq(RegionCoefficient::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + .apply(StringUtils.checkValNotNull(time), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list4.isEmpty()) + if (list4.isEmpty()) { map.put("region",0); - else + } else { map.put("region",1); + } - List list5= EmpCoefficientService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + List list5 = empCoefficientService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list5.isEmpty()) + if (list5.isEmpty()) { map.put("coe",0); - else + } else { map.put("coe",1); + } - List list6=PositionAssessorViewService.lambdaQuery() + List list6 = positionAssessorViewService.lambdaQuery() .eq(PositionAssessorView::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + .apply(StringUtils.checkValNotNull(time), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list6.isEmpty()) + if (list6.isEmpty()) { map.put("ass",0); - else + } else { map.put("ass",1); + } return R.success(map); } -- Gitee From 64b647f01acb009f53b5bcd6a2d70c201a009b73 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 8 Nov 2024 00:07:28 +0800 Subject: [PATCH 16/78] =?UTF-8?q?style:=20=E5=B0=86=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E5=90=8D=E5=8F=98=E4=B8=BA=E9=A9=BC=E5=B3=B0=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ResultSecondExamineServiceImpl.java | 152 +++++++++--------- .../service/impl/ScoreRuleServiceImpl.java | 20 +-- 2 files changed, 82 insertions(+), 90 deletions(-) diff --git a/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java b/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java index eb87fa1..1ebc298 100644 --- a/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java @@ -38,132 +38,130 @@ public class ResultSecondExamineServiceImpl extends ServiceImpl list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_1a4y3g9",map); - BackWait backWait=BackWaitService.addOne( + BackWait backWait = backWaitService.addOne( Long.valueOf(form.getString("positionId")) ,x.getEmpId() , "back_second_piece" ,processInstance ,"Process_1a4y3g9" ,form.getString("opinion2")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @Override public void reKpiSecondFifth(JSONObject form){ - Long roleId= RoleService.lambdaQuery() + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_065p3a1",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_kpi" ,processInstance ,"Process_065p3a1" ,form.getString("opinion3")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @Override public void reScoreSecondFifth(JSONObject form){ - List assessorList = new ArrayList<>(); + List assessorList = new ArrayList<>(10); - List num= PositionScoreService.lambdaQuery() + List num = positionScoreService.lambdaQuery() .eq(PositionScore::getPositionId,form.getString("positionId")) .list(); num.forEach(y->{ - List assessor= ScoreAssessorsService.lambdaQuery() + List assessor = scoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) .list(); - assessor.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); + assessor.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); }); List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) .list(); - + System.out.println(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("ASList", assessors); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0scky72",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_score" ,processInstance ,"Process_0scky72" ,form.getString("opinion1")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @@ -172,101 +170,99 @@ public class ResultSecondExamineServiceImpl extends ServiceImpl assessorList = new ArrayList<>(); - List num= OkrKeyService.lambdaQuery() + List num = okrKeyService.lambdaQuery() .eq(OkrKey::getPositionId,form.getString("positionId")) .eq(OkrKey::getLiaEmpId,emp.getEmpId()) .list(); num.forEach(y->{ - List ruleList= OkrRuleService.lambdaQuery() + List ruleList = okrRuleService.lambdaQuery() .eq(OkrRule::getId,y.getId()) .list(); - ruleList.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); + ruleList.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); }); List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("AOList", assessors); identityService.setAuthenticatedUserId(String.valueOf(emp.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0jeppqc",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,emp.getEmpId(),"back_second_okr" ,processInstance ,"Process_0jeppqc" ,form.getString("opinion4")); - BackWaitService.save(backWait); + backWaitService.save(backWait); } @Override public void rePieceSecondFourth(JSONObject form){ - Long roleId= RoleService.lambdaQuery() + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0a7afjy",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_piece" ,processInstance ,"Process_0a7afjy" ,form.getString("opinion2")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @Override public void reKpiSecondFourth(JSONObject form){ - Long roleId= RoleService.lambdaQuery() + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0tcatx0",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_kpi" ,processInstance ,"Process_0tcatx0" ,form.getString("opinion3")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @@ -275,39 +271,37 @@ public class ResultSecondExamineServiceImpl extends ServiceImpl assessorList = new ArrayList<>(); - List num= PositionScoreService.lambdaQuery() + List num = positionScoreService.lambdaQuery() .eq(PositionScore::getPositionId,form.getString("positionId")) .list(); num.forEach(y->{ - List assessor= ScoreAssessorsService.lambdaQuery() + List assessor = scoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) .list(); - assessor.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); + assessor.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); }); List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("ASList", assessors); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_17y117z",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_score" ,processInstance ,"Process_17y117z" ,form.getString("opinion1")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @@ -316,101 +310,99 @@ public class ResultSecondExamineServiceImpl extends ServiceImpl assessorList = new ArrayList<>(); - List num= OkrKeyService.lambdaQuery() + List num = okrKeyService.lambdaQuery() .eq(OkrKey::getPositionId,form.getString("positionId")) .eq(OkrKey::getLiaEmpId,emp.getEmpId()) .list(); num.forEach(y->{ - List ruleList= OkrRuleService.lambdaQuery() + List ruleList = okrRuleService.lambdaQuery() .eq(OkrRule::getId,y.getRuleId()) .list(); - ruleList.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); + ruleList.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); }); List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("AOList", assessors); identityService.setAuthenticatedUserId(String.valueOf(emp.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0aqalb8",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,emp.getEmpId(),"back_second_okr" ,processInstance ,"Process_0aqalb8" ,form.getString("opinion4")); - BackWaitService.save(backWait); + backWaitService.save(backWait); } @Override public void rePieceSecondThird(JSONObject form){ - Long roleId= RoleService.lambdaQuery() + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(16); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_1rgr65b",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_piece" ,processInstance ,"Process_1rgr65b" ,form.getString("opinion2")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @Override public void reKpiSecondThird(JSONObject form){ - Long roleId= RoleService.lambdaQuery() + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(32); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0m9w7vi",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_kpi" ,processInstance ,"Process_0m9w7vi" ,form.getString("opinion3")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } } diff --git a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java index 2256457..d93e79e 100644 --- a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java @@ -10,9 +10,9 @@ import com.example.workflow.model.entity.ScoreRuleForm; import com.example.workflow.service.PositionScoreService; import com.example.workflow.service.ScoreAssessorsService; import com.example.workflow.service.ScoreRuleService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -20,11 +20,12 @@ import java.util.List; @Service public class ScoreRuleServiceImpl extends ServiceImpl implements ScoreRuleService { + @Resource + private ScoreAssessorsService scoreAssessorsService; + @Resource + private PositionScoreService positionScoreService; + - @Autowired - private PositionScoreService PositionScoreService; - @Autowired - private ScoreAssessorsService ScoreAssessorsService; @Override @@ -42,8 +43,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ - - List positionScores= PositionScoreService.lambdaQuery() + List positionScores = positionScoreService.lambdaQuery() .eq(PositionScore::getScoreId,x.getId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -55,7 +55,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ - List scoreAssessors= ScoreAssessorsService.lambdaQuery() + List scoreAssessors = scoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -65,12 +65,12 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ z.setId(null); z.setPositionScoreId(y.getId()); - ScoreAssessorsService.save(z); + scoreAssessorsService.save(z); }); }); }); -- Gitee From 319efdf6ce963af42d20454b2307b4d7e9c41a11 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 8 Nov 2024 00:09:15 +0800 Subject: [PATCH 17/78] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0token=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utils/{JWTHelper.java => JwtHelper.java} | 42 ++++++++++++------- 1 file changed, 27 insertions(+), 15 deletions(-) rename src/main/java/com/example/workflow/utils/{JWTHelper.java => JwtHelper.java} (69%) diff --git a/src/main/java/com/example/workflow/utils/JWTHelper.java b/src/main/java/com/example/workflow/utils/JwtHelper.java similarity index 69% rename from src/main/java/com/example/workflow/utils/JWTHelper.java rename to src/main/java/com/example/workflow/utils/JwtHelper.java index 599921c..fccf2b9 100644 --- a/src/main/java/com/example/workflow/utils/JWTHelper.java +++ b/src/main/java/com/example/workflow/utils/JwtHelper.java @@ -6,27 +6,33 @@ import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.Claim; import com.auth0.jwt.interfaces.DecodedJWT; import com.auth0.jwt.interfaces.JWTVerifier; +import lombok.extern.slf4j.Slf4j; -import java.util.Date; +import java.time.Instant; +import java.time.ZoneOffset; import java.util.HashMap; import java.util.Map; -public class JWTHelper {//过期时间 - public static final long EXPIRE_TIME = 30 * 60 * 1000;//默认30分钟 - //私钥 + +@Slf4j +public class JwtHelper { + /** + * 过期时间 + * 默认30分钟 + */ + public static final long EXPIRE_TIME = 30 * 60 * 1000; + /** + * 私钥 + */ private static final String TOKEN_SECRET = "privateKey"; /** * 生成token,自定义过期时间 毫秒 - * - * @param **username** - * @param **password** - * @return */ public static String createToken(long expireDate, Map payload) { try { // 设置过期时间 - Date date = new Date(expireDate); + Instant instant = Instant.ofEpochMilli(expireDate).atZone(ZoneOffset.UTC).toInstant(); // 私钥和加密算法 Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET); // 设置头部信息 @@ -36,7 +42,7 @@ public class JWTHelper {//过期时间 // 返回token字符串 JWTCreator.Builder builder = JWT.create() .withHeader(header) - .withExpiresAt(date); + .withExpiresAt(instant); for (Map.Entry entry : payload.entrySet()) { builder.withClaim(entry.getKey(), entry.getValue()); } @@ -44,7 +50,7 @@ public class JWTHelper {//过期时间 return builder.sign(algorithm); } catch (Exception e) { - e.printStackTrace(); + log.error(e.getMessage()); return null; } } @@ -55,9 +61,6 @@ public class JWTHelper {//过期时间 /** * 检验token是否正确 - * - * @param **token** - * @return */ public static Map verifyToken(String token) { try { @@ -70,5 +73,14 @@ public class JWTHelper {//过期时间 } } - + public static boolean isExpired(String token) { + Map map = verifyToken(token); + if (map == null) { + return false; + } + Claim exp = map.get("exp"); + Long expLong = exp.asLong(); + long nowMilli = Instant.now().toEpochMilli(); + return expLong < nowMilli; + } } -- Gitee From a681e599c67e691c654dd881599cbbe09c9d5c30 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 8 Nov 2024 00:11:47 +0800 Subject: [PATCH 18/78] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/workflow/config/WebMvcConfig.java | 20 ++-- .../workflow/controller/LoginController.java | 106 ++++++++++++------ .../interceptor/TokenCheckInterceptor.java | 32 ++---- 3 files changed, 86 insertions(+), 72 deletions(-) diff --git a/src/main/java/com/example/workflow/config/WebMvcConfig.java b/src/main/java/com/example/workflow/config/WebMvcConfig.java index f52e94e..4f05f30 100644 --- a/src/main/java/com/example/workflow/config/WebMvcConfig.java +++ b/src/main/java/com/example/workflow/config/WebMvcConfig.java @@ -2,29 +2,27 @@ package com.example.workflow.config; import com.example.workflow.interceptor.TokenCheckInterceptor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import javax.annotation.Resource; + @Slf4j @Configuration public class WebMvcConfig implements WebMvcConfigurer { - //@JsonFormat(shape = JsonFormat.Shape.STRING) - // public void extendMessageConverters(List> converters){ - // log.info("拓展消息转换器"); - // MappingJackson2CborHttpMessageConverter messageConverter=new MappingJackson2CborHttpMessageConverter(); - // messageConverter.setObjectMapper(new JacksonObjectMapper()); - // converters.add(0,messageConverter); - // } - @Autowired + @Resource private TokenCheckInterceptor tokenCheckInterceptor; + + @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(tokenCheckInterceptor) - .addPathPatterns("/**") // 指定拦截的路径模式 - .excludePathPatterns("/login","/getVerifyCode","/logout"); // 排除的路径 + // 指定拦截的路径模式 + .addPathPatterns("/**") + // 排除的路径 + .excludePathPatterns("/login", "/getVerifyCode", "/logout", "/login/test"); } @Override diff --git a/src/main/java/com/example/workflow/controller/LoginController.java b/src/main/java/com/example/workflow/controller/LoginController.java index 1a45591..4aeebd3 100644 --- a/src/main/java/com/example/workflow/controller/LoginController.java +++ b/src/main/java/com/example/workflow/controller/LoginController.java @@ -1,14 +1,16 @@ package com.example.workflow.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.workflow.common.R; import com.example.workflow.model.bean.CheckCode; import com.example.workflow.model.entity.Employee; import com.example.workflow.model.entity.LoginDto; import com.example.workflow.service.EmployeeService; -import com.example.workflow.utils.JWTHelper; +import com.example.workflow.utils.JwtHelper; import com.example.workflow.utils.VerifyCode; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -26,66 +28,56 @@ import java.util.Objects; @RestController @RequiredArgsConstructor +@Slf4j public class LoginController { private final EmployeeService employeeService; /** - * 二维码接口 - * @param session - * @param response + * 获取验证码图片 */ - /* 获取验证码图片*/ @GetMapping("/getVerifyCode") - public void getVerifyCode(HttpServletResponse response,HttpSession session) { + public void getVerifyCode(HttpServletResponse response, HttpSession session) throws IOException { - try { + try (OutputStream os = response.getOutputStream()) { - int width=200; + int width = 200; - int height=69; + int height = 69; - BufferedImage verifyImg=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); + BufferedImage verifyImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //生成对应宽高的初始图片 //单独的一个类方法,出于代码复用考虑,进行了封装。 - String randomText = VerifyCode.drawRandomText(width,height,verifyImg); + String randomText = VerifyCode.drawRandomText(width, height, verifyImg); //功能是生成验证码字符并加上噪点,干扰线,返回值为验证码字符 - CheckCode checkCode = new CheckCode(randomText,60); + CheckCode checkCode = new CheckCode(randomText, 60); session.setAttribute("verifyCode", checkCode); - response.setContentType("image/png");//必须设置响应内容类型为图片,否则前台不识别 - - OutputStream os = response.getOutputStream(); //获取文件输出流 - - ImageIO.write(verifyImg,"png",os);//输出图片流 - + // 必须设置响应内容类型为图片,否则前台不识别 + response.setContentType("image/png"); + // 输出图片流 + ImageIO.write(verifyImg, "png", os); os.flush(); - - os.close();//关闭流 - - } catch (IOException e) { - - e.printStackTrace(); - } - + // 关闭流 } /** * 登陆接口 - * - * @param dto - * @param session */ @PostMapping("/login") public R login(@RequestBody LoginDto dto, HttpSession session) { CheckCode checkCode = (CheckCode) session.getAttribute("verifyCode"); - if(Objects.isNull(checkCode)||checkCode.isExpired()) return R.error("验证码已过期,请点击重新生成!"); - if (!checkCode.getCode().equalsIgnoreCase(dto.getVerifyCode())) return R.error("验证码错误,请重新输入!"); + if (Objects.isNull(checkCode) || checkCode.isExpired()) { + return R.error("验证码已过期,请点击重新生成!"); + } + if (!checkCode.getCode().equalsIgnoreCase(dto.getVerifyCode())) { + return R.error("验证码错误,请重新输入!"); + } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -98,22 +90,64 @@ public class LoginController { }else if (employee.getState() == 0){ return R.error("账号已被封禁"); } - Map payload = new HashMap<>(); + Map payload = new HashMap<>(30); payload.put("id", String.valueOf(employee.getId())); payload.put("num", employee.getNum()); payload.put("roleId", String.valueOf(employee.getRoleId())); - Long timestamp = JWTHelper.generateExpireDate(JWTHelper.EXPIRE_TIME); - String token = JWTHelper.createToken(timestamp, payload); - Map map = new HashMap<>(); + Long timestamp = JwtHelper.generateExpireDate(JwtHelper.EXPIRE_TIME); + String token = JwtHelper.createToken(timestamp, payload); + Map map = new HashMap<>(30); map.put("token", token); map.put("userInfo", employee); - map.put("timestamp", timestamp);//给这个的目的是让前端每次请求时校验是否过期token,如果还差一分钟就过期就应该马上更新token + // 给这个的目的是让前端每次请求时校验是否过期token,如果还差一分钟就过期就应该马上更新token + map.put("timestamp", timestamp); session.setAttribute(token, timestamp); return R.success(map); } + /** + * 测试时使用的登陆接口 + */ + @PostMapping("/login/test") + public R test() { + Employee employee = JSON.parseObject(" {\n" + + " \"is_change_pwd\": 1,\n" + + " \"id\": 6,\n" + + " \"num\": \"10004\",\n" + + " \"role_id\": 1,\n" + + " \"password\": \"123456\",\n" + + " \"state\": 1,\n" + + " \"name\": \"开发人员\",\n" + + " \"phone_num1\": \"14578524245\",\n" + + " \"phone_num2\": \"14578524245\",\n" + + " \"email\": \"test@test.com\",\n" + + " \"id_num\": \"123456789\",\n" + + " \"birthday\": \"1238-10-17\",\n" + + " \"address\": \"123456789\",\n" + + " \"remark\": \" \",\n" + + " \"create_time\": \"2024-03-31 01:05:29\",\n" + + " \"update_time\": \"2024-03-31 01:05:29\",\n" + + " \"create_user\": null,\n" + + " \"update_user\": null\n" + + " }", Employee.class); + Map payload = new HashMap<>(30); + payload.put("id", String.valueOf(employee.getId())); + payload.put("num", employee.getNum()); + payload.put("roleId", String.valueOf(employee.getRoleId())); + + long timestamp = JwtHelper.generateExpireDate(JwtHelper.EXPIRE_TIME); + String token = JwtHelper.createToken(timestamp, payload); + Map map = new HashMap<>(30); + map.put("token", token); + map.put("userInfo", employee); + // 给这个的目的是让前端每次请求时校验是否过期token,如果还差一分钟就过期就应该马上更新token + map.put("timestamp", timestamp); + + return R.success(map); + } + /** 退出接口*/ @GetMapping("/logout") public R logout(HttpSession session) { diff --git a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java index bcce3f1..898de67 100644 --- a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java +++ b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java @@ -1,9 +1,7 @@ package com.example.workflow.interceptor; -import com.auth0.jwt.interfaces.Claim; import com.example.workflow.exception.BaseException; -import com.example.workflow.utils.JWTHelper; -import org.springframework.beans.factory.annotation.Autowired; +import com.example.workflow.utils.JwtHelper; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import org.springframework.web.servlet.HandlerInterceptor; @@ -11,18 +9,14 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; -import java.util.Map; +import javax.ws.rs.HttpMethod; @Component public class TokenCheckInterceptor implements HandlerInterceptor { - @Autowired - private HttpSession session; - - @Override//目标资源(controller接口)放行前运行,返回true:放行,返回false:不放行 + @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { - if (request.getMethod().equals("OPTIONS")) { + if (HttpMethod.OPTIONS.equals(request.getMethod())) { return true; } // 获取请求头中的令牌(token) @@ -37,27 +31,15 @@ public class TokenCheckInterceptor implements HandlerInterceptor { } token = token.replace("Bearer ",""); - //解析token,如果解析失败,返回错误结果(token失效) - Map map = JWTHelper.verifyToken(token); - - if (map == null) { - throw new BaseException("403", "登录信息无效,请先登录,token is invalid"); - } - Long exp = (Long) session.getAttribute(token); - if (exp == null) { - //在规定时间内没有发送请求,则token过期 - throw new BaseException("403", "登录信息无效,请先登录,token已过期"); - } - //session可以在规定时间内发送请求自动续约 - return true; + return !JwtHelper.isExpired(token); } - @Override//目标资源方法运行后运行 + @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { HandlerInterceptor.super.postHandle(request, response, handler, modelAndView); } - @Override//视图渲染完毕后运行,最后运行 + @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { HandlerInterceptor.super.afterCompletion(request, response, handler, ex); } -- Gitee From 43ffb378c42e7e25fd6503e7ceb63b55762b8fea Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 8 Nov 2024 08:54:23 +0800 Subject: [PATCH 19/78] =?UTF-8?q?style:=20=E5=B0=86=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E5=90=8D=E5=8F=98=E4=B8=BA=E9=A9=BC=E5=B3=B0=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/controller/FlowController.java | 529 ++++++------------ 1 file changed, 165 insertions(+), 364 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/FlowController.java b/src/main/java/com/example/workflow/controller/FlowController.java index 06ce022..5e2fde6 100644 --- a/src/main/java/com/example/workflow/controller/FlowController.java +++ b/src/main/java/com/example/workflow/controller/FlowController.java @@ -44,6 +44,8 @@ import com.example.workflow.service.ResultFourthExamineService; import com.example.workflow.service.ResultSecondExamineService; import com.example.workflow.service.ResultThirdExamineService; import com.example.workflow.service.ScoreAssessorsService; +import com.example.workflow.utils.DateTimeUtils; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.HistoryService; import org.camunda.bpm.engine.IdentityService; @@ -56,15 +58,12 @@ import org.camunda.bpm.engine.history.HistoricTaskInstance; import org.camunda.bpm.engine.repository.Deployment; import org.camunda.bpm.engine.runtime.ProcessInstance; import org.camunda.bpm.engine.task.IdentityLink; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -73,68 +72,44 @@ import java.util.Map; @Slf4j @RestController @RequestMapping("/flow") +@AllArgsConstructor public class FlowController { - @Autowired - private ActReDeploymentMapper ActReDeploymentMapper; - @Autowired - private RepositoryService repositoryService; - @Autowired - private RuntimeService runtimeService; - @Autowired - private TaskService taskService; - @Autowired - private IdentityService identityService; - @Autowired - private EmployeePositionMapper EmployeePositionMapper; - @Autowired - private EmployeePositionService EmployeePositionService; - @Autowired - private PositionService PositionService; - @Autowired - private PositionAssessorService PositionAssessorService; - @Autowired - private ResultThirdExamineService ResultThirdExamineService; - @Autowired - private ResultSecondExamineService ResultSecondExamineService; - @Autowired - private TaskViewMapper TaskViewMapper; - @Autowired - private EmpPositionViewService EmpPositionViewService; - @Autowired - private PositionScoreService PositionScoreService; - @Autowired - private ScoreAssessorsService ScoreAssessorsService; - @Autowired - private PositionPieceService PositionPieceService; - @Autowired - private PositionKpiSerivce PositionKpiSerivce; - @Autowired - private EmpScoreService EmpScoreService; - @Autowired - private OkrKeyService OkrKeyService; - @Autowired - private EmpOkrService EmpOkrService; - @Autowired - private ResultFourthExamineService ResultFourthExamineService; - @Autowired - private EmpWageService EmpWageService; - @Autowired - private BackWaitService BackWaitService; - - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); + private final ActReDeploymentMapper actReDeploymentMapper; + private final RepositoryService repositoryService; + private final RuntimeService runtimeService; + private final TaskService taskService; + private final IdentityService identityService; + private final EmployeePositionMapper employeePositionMapper; + private final EmployeePositionService employeePositionService; + private final PositionService positionService; + private final PositionAssessorService positionAssessorService; + private final ResultThirdExamineService resultThirdExamineService; + private final ResultSecondExamineService resultSecondExamineService; + private final TaskViewMapper taskViewMapper; + private final EmpPositionViewService empPositionViewService; + private final PositionScoreService positionScoreService; + private final ScoreAssessorsService scoreAssessorsService; + private final PositionPieceService positionPieceService; + private final PositionKpiSerivce positionKpiSerivce; + private final EmpScoreService empScoreService; + private final OkrKeyService okrKeyService; + private final EmpOkrService empOkrService; + private final ResultFourthExamineService resultFourthExamineService; + private final EmpWageService empWageService; + private final BackWaitService backWaitService; + + @PostMapping("/list") - private R> list(){ - List list= ActReDeploymentMapper.selectList(null); + private R> list() { + List list = actReDeploymentMapper.selectList(null); return R.success(list); } @PostMapping("/deployee") - private void deploy(String name,String resource){ + private void deploy(String name, String resource) { Deployment deploy = repositoryService.createDeployment() .name(name) .addClasspathResource(resource) @@ -144,19 +119,22 @@ public class FlowController { @PostMapping("/startFlow") - private R startFlow(@RequestBody JSONObject obj){ - PositionAssessor assessor=PositionAssessorService.lambdaQuery() - .eq(PositionAssessor::getPositionId,obj.getString("positionId")) + private R startFlow(@RequestBody JSONObject obj) { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + LocalDateTime beginTime = time[0]; + LocalDateTime endTime = time[1]; + PositionAssessor assessor = positionAssessorService.lambdaQuery() + .eq(PositionAssessor::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .one(); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmpPositionView::getPositionId,obj.getString("positionId")); - List empList= EmpPositionViewService.list(queryWrapper); - if(empList.isEmpty()){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmpPositionView::getPositionId, obj.getString("positionId")); + List empList = empPositionViewService.list(queryWrapper); + if (empList.isEmpty()) { return R.error("没有员工在该岗位"); } @@ -164,14 +142,12 @@ public class FlowController { if(assessor.getSecondAssessorId()==null||assessor.getFourthAssessorId()==null||assessor.getThirdAssessorId()==null){ return R.error("该岗位未配置对应的审核人与审核时限,请前往配置"); } - } - else if(empList.get(0).getType()==4){ - if(assessor.getSecondAssessorId()==null||assessor.getThirdAssessorId()==null){ + } else if (empList.get(0).getType() == 4) { + if (assessor.getSecondAssessorId() == null || assessor.getThirdAssessorId() == null) { return R.error("该岗位未配置对应的审核人与审核时限,请前往配置"); } - } - else if(empList.get(0).getType()==3){ - if(assessor.getSecondAssessorId()==null){ + } else if (empList.get(0).getType() == 3) { + if (assessor.getSecondAssessorId() == null) { return R.error("该岗位未配置对应的审核人与审核时限,请前往配置"); } } @@ -183,32 +159,32 @@ public class FlowController { identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey(x.getProcessKey(),map); + .startProcessInstanceByKey(x.getProcessKey(), map); UpdateWrapper updateWrapper =new UpdateWrapper<>(); updateWrapper - .set("process_definition_id",processInstance.getId()) - .eq("emp_id",x.getEmpId()) - .eq("position_id",obj.getString("positionId")) - .eq("state",1); - EmployeePositionService.update(updateWrapper); + .set("process_definition_id", processInstance.getId()) + .eq("emp_id", x.getEmpId()) + .eq("position_id", obj.getString("positionId")) + .eq("state", 1); + employeePositionService.update(updateWrapper); } - UpdateWrapper updateWrapper =new UpdateWrapper<>(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper .set("audit_status", '1') - .eq("id",obj.getString("positionId")) - .eq("state",1);; - PositionService.update(updateWrapper); + .eq("id", obj.getString("positionId")) + .eq("state", 1); + positionService.update(updateWrapper); return R.success(); } @PostMapping("/stopFlow") - private R stopFlow(@RequestBody JSONObject obj){ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getPositionId,obj.getString("positionId")); - List empList=EmployeePositionMapper.selectList(queryWrapper); + private R stopFlow(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); + List empList = employeePositionMapper.selectList(queryWrapper); empList.forEach(x->{ LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); @@ -217,132 +193,131 @@ public class FlowController { .eq(TaskView::getState,"ACTIVE"); List taskViewList=TaskViewMapper.selectList(Wrapper); - taskViewList.forEach(y->{ - if(y!=null){ + taskViewList.forEach(y -> { + if (y != null) { runtimeService.suspendProcessInstanceById(y.getProcInstId()); } }); }); - UpdateWrapper updateWrapper =new UpdateWrapper<>(); - updateWrapper.set("audit_status", '2').eq("id",obj.getString("positionId")); - PositionService.update(updateWrapper); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("audit_status", '2').eq("id", obj.getString("positionId")); + positionService.update(updateWrapper); return R.success(); } @PostMapping("/restoreFlow") - private R restoreFlow(@RequestBody JSONObject obj){ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getPositionId,obj.getString("positionId")); - List empList=EmployeePositionMapper.selectList(queryWrapper); - - empList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,x.getProcessDefinitionId()); - TaskView task=TaskViewMapper.selectOne(Wrapper); - if(task!=null) { + private R restoreFlow(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); + List empList = employeePositionMapper.selectList(queryWrapper); + + empList.forEach(x -> { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskView::getStartUserId, x.getEmpId()) + .eq(TaskView::getProcInstId, x.getProcessDefinitionId()); + TaskView task = taskViewMapper.selectOne(wrapper); + if (task != null) { runtimeService.activateProcessInstanceById(task.getProcInstId()); } }); - UpdateWrapper updateWrapper =new UpdateWrapper<>(); - updateWrapper.set("audit_status", '1').eq("id",obj.getString("positionId")); - PositionService.update(updateWrapper); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("audit_status", '1').eq("id", obj.getString("positionId")); + positionService.update(updateWrapper); return R.success(); } @PostMapping("/deleteFlow") - private R deleteFlow(@RequestBody JSONObject obj){ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getPositionId,obj.getString("positionId")); - List empList=EmployeePositionMapper.selectList(queryWrapper); - - List positionScores=PositionScoreService.lambdaQuery() - .eq(PositionScore::getPositionId,obj.getString("positionId")) - .eq(PositionScore::getState,1) + private R deleteFlow(@RequestBody JSONObject obj) { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + LocalDateTime beginTime = time[0]; + LocalDateTime endTime = time[1]; + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); + List empList = employeePositionMapper.selectList(queryWrapper); + + List positionScores = positionScoreService.lambdaQuery() + .eq(PositionScore::getPositionId, obj.getString("positionId")) + .eq(PositionScore::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); + .list(); - List delete1=new ArrayList<>(); - positionScores.forEach(x->{ - List scoreAssessorss=ScoreAssessorsService.lambdaQuery() - .eq(ScoreAssessors::getPositionScoreId,x.getId()) - .eq(ScoreAssessors::getState,1) + List delete1 = new ArrayList<>(); + positionScores.forEach(x -> { + List scoreAssessorss = scoreAssessorsService.lambdaQuery() + .eq(ScoreAssessors::getPositionScoreId, x.getId()) + .eq(ScoreAssessors::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - scoreAssessorss.forEach(y->{ - delete1.add(y); - }); + delete1.addAll(scoreAssessorss); }); - List delete2=PositionPieceService.lambdaQuery() - .eq(PositionPiece::getPositionId,obj.getString("positionId")) - .eq(PositionPiece::getState,1) + List delete2 = positionPieceService.lambdaQuery() + .eq(PositionPiece::getPositionId, obj.getString("positionId")) + .eq(PositionPiece::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - List delete3=PositionKpiSerivce.lambdaQuery() - .eq(PositionKpi::getPositionId,obj.getString("positionId")) - .eq(PositionKpi::getState,1) + List delete3 = positionKpiSerivce.lambdaQuery() + .eq(PositionKpi::getPositionId, obj.getString("positionId")) + .eq(PositionKpi::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - empList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,x.getProcessDefinitionId()); - List taskList=TaskViewMapper.selectList(Wrapper); + empList.forEach(x -> { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskView::getStartUserId, x.getEmpId()) + .eq(TaskView::getProcInstId, x.getProcessDefinitionId()); + List taskList = taskViewMapper.selectList(wrapper); - taskList.forEach(y->{ - runtimeService.deleteProcessInstance(y.getProcInstId(),"删除原因"); - }); + taskList.forEach(y -> runtimeService.deleteProcessInstance(y.getProcInstId(), "删除原因")); - if(!delete1.isEmpty()){ - delete1.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpScore::getScoreAssessorsId,y.getId()) - .eq(EmpScore::getEmpId,x.getEmpId()) + if (!delete1.isEmpty()) { + delete1.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpScore::getScoreAssessorsId, y.getId()) + .eq(EmpScore::getEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpScoreService.remove(queryWrapper1); + empScoreService.remove(queryWrapper1); }); } - if(!delete2.isEmpty()){ - delete2.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpPiece::getPieceId,y.getPieceId()) - .eq(EmpPiece::getEmpId,x.getEmpId()) + if (!delete2.isEmpty()) { + delete2.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpPiece::getPieceId, y.getPieceId()) + .eq(EmpPiece::getEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); }); } - if(!delete3.isEmpty()){ - delete3.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpKpi::getKpiId,y.getKpiId()) - .eq(EmpKpi::getEmpId,x.getEmpId()) + if (!delete3.isEmpty()) { + delete3.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpKpi::getKpiId, y.getKpiId()) + .eq(EmpKpi::getEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -350,234 +325,95 @@ public class FlowController { }); } - List delete4=OkrKeyService.lambdaQuery() - .eq(OkrKey::getPositionId,obj.getString("positionId")) - .eq(OkrKey::getLiaEmpId,x.getEmpId()) + List delete4 = okrKeyService.lambdaQuery() + .eq(OkrKey::getPositionId, obj.getString("positionId")) + .eq(OkrKey::getLiaEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - if(!delete4.isEmpty()){ - delete4.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpOkr::getEmpId,x.getEmpId()) - .eq(EmpOkr::getOkrKeyId,y.getId()) + if (!delete4.isEmpty()) { + delete4.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpOkr::getEmpId, x.getEmpId()) + .eq(EmpOkr::getOkrKeyId, y.getId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpOkrService.remove(queryWrapper1); + empOkrService.remove(queryWrapper1); }); } - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpWage::getEmpId,x.getEmpId()) - .eq(EmpWage::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpWage::getEmpId, x.getEmpId()) + .eq(EmpWage::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpWageService.remove(queryWrapper1); + empWageService.remove(queryWrapper1); }); - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(ResultFourthExamine::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(ResultFourthExamine::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - ResultFourthExamineService.remove(queryWrapper1); + resultFourthExamineService.remove(queryWrapper1); - LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); - queryWrapper2.eq(ResultThirdExamine::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(ResultThirdExamine::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - ResultThirdExamineService.remove(queryWrapper2); + resultThirdExamineService.remove(queryWrapper2); - LambdaQueryWrapper queryWrapper3=new LambdaQueryWrapper<>(); - queryWrapper3.eq(ResultSecondExamine::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper3 = new LambdaQueryWrapper<>(); + queryWrapper3.eq(ResultSecondExamine::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - ResultSecondExamineService.remove(queryWrapper3); + resultSecondExamineService.remove(queryWrapper3); - UpdateWrapper updateWrapper =new UpdateWrapper<>(); - updateWrapper.set("audit_status", '0').eq("id",obj.getString("positionId")); - PositionService.update(updateWrapper); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("audit_status", '0').eq("id", obj.getString("positionId")); + positionService.update(updateWrapper); - List backWaitList=BackWaitService.lambdaQuery() - .eq(BackWait::getPositionId,obj.getString("positionId")) + List backWaitList = backWaitService.lambdaQuery() + .eq(BackWait::getPositionId, obj.getString("positionId")) .list(); - backWaitList.forEach(x->{ - runtimeService.deleteProcessInstance(x.getProcessDefineId(),"删除原因"); - BackWaitService.removeById(x); + backWaitList.forEach(x -> { + runtimeService.deleteProcessInstance(x.getProcessDefineId(), "删除原因"); + backWaitService.removeById(x); }); return R.success(); } - @PostMapping("/updateFlowOne") - public R updateFlowOne(@RequestBody JSONObject obj){ - /*Long empId=Long.valueOf(obj.getString("empId")); - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(EmployeePosition::getEmpId,String.valueOf(empId)); - Long positionId=EmployeePositionMapper.selectOne(Wrapper).getPositionId(); - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(TaskView::getStartUserId,String.valueOf(empId)); - TaskView task=TaskViewMapper.selectOne(queryWrapper); - - //评分 - List assessorList1 = new ArrayList<>(); - LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(ScoreRule::getPositionId,positionId); - List num1= ScoreRuleService.list(query1); - num1.forEach(x->{ - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(ScoreAssessors::getRuleId,x.getId()); - List assessor= ScoreAssessorsService.list(query); - assessor.forEach(y->{ - assessorList1.add(String.valueOf(y.getAssessorId())); - }); - }); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); - - //计件 - List assessorList2 = new ArrayList<>(); - LambdaQueryWrapper query2=new LambdaQueryWrapper<>(); - query2.eq(PieceRule::getPositionId,positionId); - List num2= PieceRuleService.list(query2); - num2.forEach(x->{ - assessorList2.add(String.valueOf(x.getAssessorId())); - }); - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); - - //KPI - List assessorList3 = new ArrayList<>(); - LambdaQueryWrapper query3=new LambdaQueryWrapper<>(); - query3.eq(KpiRule::getPositionId,positionId); - List num3= KpiRuleService.list(query3); - num3.forEach(x->{ - assessorList3.add(String.valueOf(x.getAssessorId())); - }); - List assessors3=assessorList3.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(); - if(assessors1.isEmpty()==true) - map.put("scoreAppoint", "true"); - else - map.put("ASList", assessors1); - - if(assessors2.isEmpty()==true) - map.put("pieceAppoint", "true"); - else - map.put("APList", assessors2); - - if(assessors3.isEmpty()==true) - map.put("kpiAppoint", "true"); - else - map.put("AKList", assessors3); - map.put("kpiAppoint", "true"); - taskService.complete(task.getId(),map);*/ - - return R.success(); - } - - @PostMapping("/updateFlowAll") - public R updateFlowAll(@RequestBody JSONObject obj){ - /*List list=obj.getJSONArray("empList"); - - list.forEach(x->{ - - }); - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(EmployeePosition::getEmpId,String.valueOf(empId)); - Long positionId=EmployeePositionMapper.selectOne(Wrapper).getPositionId(); - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(TaskView::getStartUserId,String.valueOf(empId)); - TaskView task=TaskViewMapper.selectOne(queryWrapper); - - //评分 - List assessorList1 = new ArrayList<>(); - LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(ScoreRule::getPositionId,positionId); - List num1= ScoreRuleService.list(query1); - num1.forEach(x->{ - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(ScoreAssessors::getRuleId,x.getId()); - List assessor= ScoreAssessorsService.list(query); - assessor.forEach(y->{ - assessorList1.add(String.valueOf(y.getAssessorId())); - }); - }); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); - - //计件 - List assessorList2 = new ArrayList<>(); - LambdaQueryWrapper query2=new LambdaQueryWrapper<>(); - query2.eq(PieceRule::getPositionId,positionId); - List num2= PieceRuleService.list(query2); - num2.forEach(x->{ - assessorList2.add(String.valueOf(x.getAssessorId())); - }); - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); - - //KPI - List assessorList3 = new ArrayList<>(); - LambdaQueryWrapper query3=new LambdaQueryWrapper<>(); - query3.eq(KpiRule::getPositionId,positionId); - List num3= KpiRuleService.list(query3); - num3.forEach(x->{ - assessorList3.add(String.valueOf(x.getAssessorId())); - }); - List assessors3=assessorList3.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(); - if(assessors1.isEmpty()==true) - map.put("scoreAppoint", "true"); - else - map.put("ASList", assessors1); - - if(assessors2.isEmpty()==true) - map.put("pieceAppoint", "true"); - else - map.put("APList", assessors2); - - if(assessors3.isEmpty()==true) - map.put("kpiAppoint", "true"); - else - map.put("AKList", assessors3); - map.put("kpiAppoint", "true"); - taskService.complete(task.getId(),map);*/ - - return R.success(); - } @PostMapping("/userId") - private R> searchId(String taskId){ - List id=taskService.getIdentityLinksForTask(taskId); + private R> searchId(String taskId) { + List id = taskService.getIdentityLinksForTask(taskId); return R.success(id); } @PostMapping("/complete") - private R complete(String id){ + private R complete(String id) { List assessorList1 = new ArrayList<>(4); assessorList1.add("userOne"); assessorList1.add("userTwo"); List assessorList2 = new ArrayList<>(4); assessorList2.add("userThree"); - Map map = new HashMap<>(); - map.put("appoint","no"); - map.put("assessor","xxy"); - map.put("declear","q"); + Map map = new HashMap<>(32); + map.put("appoint", "no"); + map.put("assessor", "xxy"); + map.put("declear", "q"); map.put("pieceAppoint", "true"); map.put("scoreAppoint", "false"); map.put("kpiAppoint", "true"); @@ -586,13 +422,13 @@ public class FlowController { map.put("AKList", assessorList1); map.put("APList", assessorList2); map.put("AOList", assessorList2); - map.put("AThirdList",assessorList2); - taskService.complete(id,map); + map.put("AThirdList", assessorList2); + taskService.complete(id, map); return R.success(); } @PostMapping("/getComplete") - private R> getCompleteList(){ + private R> getCompleteList() { ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); HistoryService historyService = processEngine.getHistoryService(); @@ -607,41 +443,6 @@ public class FlowController { return R.success(completedTasks); } - public void SetState(EmployeePosition one){ - //评分 - /*LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(ScoreRule::getPositionId,one.getPositionId()); - List ScoreRuleList=ScoreRuleMapper.selectList(queryWrapper); - if(ScoreRuleList!=null){ - one.setScoreState((short)1); - } - else{ - one.setScoreState((short)0); - } - - //计件 - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(PieceRule::getPositionId,one.getPositionId()); - List PieceRuleList=PieceRuleMapper.selectList(Wrapper); - if(PieceRuleList!=null){ - one.setPieceState((short)1); - } - else{ - one.setPieceState((short)0); - } - - //kpi - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(KpiRule::getPositionId,one.getPositionId()); - List KpiRuleList=KpiRuleMapper.selectList(query); - if(KpiRuleList!=null){ - one.setKpiState((short)1); - } - else{ - one.setKpiState((short)0); - } - EmployeePositionService.updateById(one);*/ - } } -- Gitee From aba2c09dbbec9f095f778f1f9fbffdbe6e270740 Mon Sep 17 00:00:00 2001 From: hrc Date: Mon, 25 Nov 2024 18:56:54 +0800 Subject: [PATCH 20/78] =?UTF-8?q?delete:=20=E6=97=A0=E7=94=A8=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/mapper/ActReDeploymentMapper.java | 9 --------- .../workflow/repository/PdfFileRepository.java | 9 --------- .../java/com/example/workflow/utils/Deploy.java | 14 -------------- 3 files changed, 32 deletions(-) delete mode 100644 src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java delete mode 100644 src/main/java/com/example/workflow/repository/PdfFileRepository.java delete mode 100644 src/main/java/com/example/workflow/utils/Deploy.java diff --git a/src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java b/src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java deleted file mode 100644 index 450b0a9..0000000 --- a/src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.workflow.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.example.workflow.model.entity.ActReDeployment; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface ActReDeploymentMapper extends BaseMapper { -} diff --git a/src/main/java/com/example/workflow/repository/PdfFileRepository.java b/src/main/java/com/example/workflow/repository/PdfFileRepository.java deleted file mode 100644 index 8c1ea2e..0000000 --- a/src/main/java/com/example/workflow/repository/PdfFileRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.workflow.repository; - -import com.example.workflow.model.entity.PdfFile; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface PdfFileRepository extends JpaRepository { -} diff --git a/src/main/java/com/example/workflow/utils/Deploy.java b/src/main/java/com/example/workflow/utils/Deploy.java deleted file mode 100644 index 16af425..0000000 --- a/src/main/java/com/example/workflow/utils/Deploy.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.workflow.utils; - -import org.camunda.bpm.engine.RepositoryService; -import org.camunda.bpm.engine.RuntimeService; - -public class Deploy { - private RepositoryService repositoryService; - private RuntimeService runtimeService; - public void deployBasicEmp(){ - - } - - -} -- Gitee From df632c9c1fe5d737d33016e8c8ee886b9b5dcc76 Mon Sep 17 00:00:00 2001 From: hrc Date: Mon, 25 Nov 2024 18:58:00 +0800 Subject: [PATCH 21/78] =?UTF-8?q?delete:=20=E5=BA=9F=E5=BC=83=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/controller/FlowController.java | 89 ++----------------- 1 file changed, 7 insertions(+), 82 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/FlowController.java b/src/main/java/com/example/workflow/controller/FlowController.java index 5e2fde6..9b59f9b 100644 --- a/src/main/java/com/example/workflow/controller/FlowController.java +++ b/src/main/java/com/example/workflow/controller/FlowController.java @@ -5,10 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.example.workflow.common.R; -import com.example.workflow.mapper.ActReDeploymentMapper; +import com.example.workflow.enums.ProcessState; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.ActReDeployment; import com.example.workflow.model.entity.BackWait; import com.example.workflow.model.entity.EmpKpi; import com.example.workflow.model.entity.EmpOkr; @@ -47,17 +46,9 @@ import com.example.workflow.service.ScoreAssessorsService; import com.example.workflow.utils.DateTimeUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.camunda.bpm.engine.HistoryService; import org.camunda.bpm.engine.IdentityService; -import org.camunda.bpm.engine.ProcessEngine; -import org.camunda.bpm.engine.ProcessEngines; -import org.camunda.bpm.engine.RepositoryService; import org.camunda.bpm.engine.RuntimeService; -import org.camunda.bpm.engine.TaskService; -import org.camunda.bpm.engine.history.HistoricTaskInstance; -import org.camunda.bpm.engine.repository.Deployment; import org.camunda.bpm.engine.runtime.ProcessInstance; -import org.camunda.bpm.engine.task.IdentityLink; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -75,10 +66,7 @@ import java.util.Map; @AllArgsConstructor public class FlowController { - private final ActReDeploymentMapper actReDeploymentMapper; - private final RepositoryService repositoryService; private final RuntimeService runtimeService; - private final TaskService taskService; private final IdentityService identityService; private final EmployeePositionMapper employeePositionMapper; private final EmployeePositionService employeePositionService; @@ -101,22 +89,6 @@ public class FlowController { - @PostMapping("/list") - private R> list() { - List list = actReDeploymentMapper.selectList(null); - - return R.success(list); - } - - @PostMapping("/deployee") - private void deploy(String name, String resource) { - Deployment deploy = repositoryService.createDeployment() - .name(name) - .addClasspathResource(resource) - .deploy(); - System.out.println("deploy.getId() = " + deploy.getId()); - } - @PostMapping("/startFlow") private R startFlow(@RequestBody JSONObject obj) { @@ -186,12 +158,12 @@ public class FlowController { queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); List empList = employeePositionMapper.selectList(queryWrapper); - empList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,x.getProcessDefinitionId()) - .eq(TaskView::getState,"ACTIVE"); - List taskViewList=TaskViewMapper.selectList(Wrapper); + empList.forEach(x -> { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskView::getStartUserId, x.getEmpId()) + .eq(TaskView::getProcInstId, x.getProcessDefinitionId()) + .eq(TaskView::getState, ProcessState.ACTIVE.getState()); + List taskViewList = taskViewMapper.selectList(wrapper); taskViewList.forEach(y -> { if (y != null) { @@ -396,53 +368,6 @@ public class FlowController { return R.success(); } - - @PostMapping("/userId") - private R> searchId(String taskId) { - List id = taskService.getIdentityLinksForTask(taskId); - return R.success(id); - } - - @PostMapping("/complete") - private R complete(String id) { - List assessorList1 = new ArrayList<>(4); - assessorList1.add("userOne"); - assessorList1.add("userTwo"); - List assessorList2 = new ArrayList<>(4); - assessorList2.add("userThree"); - Map map = new HashMap<>(32); - map.put("appoint", "no"); - map.put("assessor", "xxy"); - map.put("declear", "q"); - map.put("pieceAppoint", "true"); - map.put("scoreAppoint", "false"); - map.put("kpiAppoint", "true"); - map.put("okrAppoint", "false"); - map.put("ASList", assessorList1); - map.put("AKList", assessorList1); - map.put("APList", assessorList2); - map.put("AOList", assessorList2); - map.put("AThirdList", assessorList2); - taskService.complete(id, map); - return R.success(); - } - - @PostMapping("/getComplete") - private R> getCompleteList() { - ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); - HistoryService historyService = processEngine.getHistoryService(); - - List completedTasks = historyService.createHistoricTaskInstanceQuery() - .finished() - .list(); - - for (HistoricTaskInstance task : completedTasks) { - System.out.println("Completed task id: " + task.getId()); - } - - return R.success(completedTasks); - } - } -- Gitee From ce8f4db072a159a584b7b544e2966f4e982807bd Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:19:58 +0800 Subject: [PATCH 22/78] =?UTF-8?q?update:=E6=94=B9=E7=94=A8mybatisPlus?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0pdf=E7=9A=84crud?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PdfFilesController.java | 118 ++++++++---------- .../workflow/model/entity/PdfFile.java | 5 +- 2 files changed, 51 insertions(+), 72 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/PdfFilesController.java b/src/main/java/com/example/workflow/controller/PdfFilesController.java index dff6ea6..4ee06a7 100644 --- a/src/main/java/com/example/workflow/controller/PdfFilesController.java +++ b/src/main/java/com/example/workflow/controller/PdfFilesController.java @@ -7,12 +7,11 @@ import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; import com.example.workflow.model.bean.PageBean; import com.example.workflow.model.entity.PdfFile; -import com.example.workflow.repository.PdfFileRepository; import com.example.workflow.service.PdfFileService; +import com.example.workflow.utils.DateTimeUtils; import lombok.RequiredArgsConstructor; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocumentInformation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -32,9 +31,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.List; /** @@ -47,17 +44,16 @@ import java.util.List; @RequiredArgsConstructor @RequestMapping("/pdf") public class PdfFilesController { - private final PdfFileRepository pdfFileRepository; - @Autowired - private PdfFileService PdfFileService; - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); + private final PdfFileService pdfFileService; - @PostMapping("/getNowList") - private R> getNowList(){ - List list= PdfFileService.lambdaQuery() + + @GetMapping("/getNowList") + public R> getNowList() { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + LocalDateTime beginTime = time[0]; + LocalDateTime endTime = time[1]; + List list = pdfFileService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (update_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -68,9 +64,9 @@ public class PdfFilesController { } /** - * 导入依据pdf文件 + * 获取依据pdf文件 + * * @return List - * @throws IOException */ @GetMapping("/list") public R getPdfFileList( @@ -79,68 +75,62 @@ public class PdfFilesController { @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "10") Integer pageSize) { - Page page = new Page<>(pageNum,pageSize); + Page page = new Page<>(pageNum, pageSize); - Page pdfFiles = Db.lambdaQuery(PdfFile.class) - .select(PdfFile::getId,PdfFile::getFileName,PdfFile::getUploadTime,PdfFile::getUpdateTime) - .like(fileName != null,PdfFile::getFileName,fileName) - .like(id != null,PdfFile::getId,id) - .page(page); + Page pdfFiles = Db.lambdaQuery(PdfFile.class) + .select(PdfFile::getId, PdfFile::getFileName, PdfFile::getUploadTime, PdfFile::getUpdateTime) + .like(fileName != null, PdfFile::getFileName, fileName) + .like(id != null, PdfFile::getId, id) + .page(page); - PageBean pageBean = new PageBean(pdfFiles.getTotal(),pdfFiles.getRecords()); + PageBean pageBean = new PageBean(pdfFiles.getTotal(), pdfFiles.getRecords()); - return R.success(pageBean); + return R.success(pageBean); } /** * 删除依据pdf文件 + * * @return R - * @throws IOException */ @DeleteMapping("/delete/{ids}") public R deletePdf(@PathVariable List ids) { - Boolean bool = Db.removeByIds(ids,PdfFile.class); + boolean bool = Db.removeByIds(ids, PdfFile.class); - if (bool) return R.success(); + if (bool) { + return R.success(); + } return R.error("删除文件失败"); } /** * 导入依据pdf文件 - * @param file - * @return - * @throws IOException */ @PostMapping("/upload") - public ResponseEntity uploadFile(MultipartFile file) { + public ResponseEntity uploadFile(MultipartFile file) throws IOException { if (file.isEmpty()) { return new ResponseEntity<>("请上传文件", HttpStatus.BAD_REQUEST); } - try { - PdfFile pdfFile = new PdfFile(); - pdfFile.setFileName(file.getOriginalFilename()); - pdfFile.setFileContent(file.getBytes()); - pdfFile.setUploadTime(LocalDateTime.now()); - pdfFile.setId(String.valueOf(System.currentTimeMillis())); + PdfFile pdfFile = new PdfFile(); + pdfFile.setFileName(file.getOriginalFilename()); + pdfFile.setFileContent(file.getBytes()); + pdfFile.setUploadTime(LocalDateTime.now()); + pdfFile.setId(String.valueOf(System.currentTimeMillis())); - pdfFileRepository.save(pdfFile); + pdfFileService.save(pdfFile); + return new ResponseEntity<>("上传文件成功", HttpStatus.OK); - return new ResponseEntity<>("上传文件成功", HttpStatus.OK); - } catch (IOException e) { - e.printStackTrace(); - return new ResponseEntity<>("上传文件失败", HttpStatus.INTERNAL_SERVER_ERROR); - } } /** * 预览pdf文件 */ @GetMapping("/preview/{id}") - public void showPDF(@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) { + public void showPDF(@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) throws IOException { InputStream inputStream; - try { + //获取pdf文件 PdfFile pdfFile = Db.lambdaQuery(PdfFile.class).eq(id != null,PdfFile::getId,id).one(); @@ -162,39 +152,31 @@ public class PdfFilesController { document.save(out); //输出 document.close(); } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } } /** * 下载pdf文件 */ @GetMapping("/download/{id}") - public void downloadPDF(@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) { - try { - //获取pdf文件 - PdfFile pdfFile = Db.lambdaQuery(PdfFile.class).eq(id != null,PdfFile::getId,id).one(); + public void downloadPDF(@PathVariable Long id, HttpServletResponse response) throws IOException { - //二进制文件内容 - byte[] content = pdfFile.getFileContent(); + // 获取pdf文件 + PdfFile pdfFile = Db.lambdaQuery(PdfFile.class).eq(id != null, PdfFile::getId, id).one(); - if (null != content && content.length > 0) { - String fileName = pdfFile.getFileName(); - // 设置响应内容类型为 PDF - response.setContentType(MediaType.APPLICATION_PDF_VALUE); - response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); - - // 将二进制数据写入 HttpServletResponse 的输出流 - try (OutputStream outputStream = response.getOutputStream()) { - outputStream.write(content); - outputStream.flush(); - } + // 二进制文件内容 + byte[] content = pdfFile.getFileContent(); + + if (null != content && content.length > 0) { + String fileName = pdfFile.getFileName(); + // 设置响应内容类型为 PDF + response.setContentType(MediaType.APPLICATION_PDF_VALUE); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); + + // 将二进制数据写入 HttpServletResponse 的输出流 + try (OutputStream outputStream = response.getOutputStream()) { + outputStream.write(content); + outputStream.flush(); } - } catch (IOException e) { - e.printStackTrace(); } } diff --git a/src/main/java/com/example/workflow/model/entity/PdfFile.java b/src/main/java/com/example/workflow/model/entity/PdfFile.java index fddccb0..bb9bfd7 100644 --- a/src/main/java/com/example/workflow/model/entity/PdfFile.java +++ b/src/main/java/com/example/workflow/model/entity/PdfFile.java @@ -6,8 +6,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import javax.persistence.Entity; -import javax.persistence.Id; import java.io.Serializable; import java.time.LocalDateTime; @@ -22,13 +20,12 @@ import java.time.LocalDateTime; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -@Entity @TableName("pdf_file") public class PdfFile implements Serializable { private static final long serialVersionUID = 1L; - @Id + private String id; /** -- Gitee From 298f6e5079a1da23e206979638260aa74569cdb9 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:34:57 +0800 Subject: [PATCH 23/78] =?UTF-8?q?add:=E8=B7=A8=E5=9F=9F=E9=85=8D=E7=BD=AE-?= =?UTF-8?q?-=E8=BF=87=E6=BB=A4=E5=99=A8=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/common/filter/CorsFilter.java | 36 +++++++++++++++++++ .../example/workflow/config/WebMvcConfig.java | 19 +++++----- 2 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/example/workflow/common/filter/CorsFilter.java diff --git a/src/main/java/com/example/workflow/common/filter/CorsFilter.java b/src/main/java/com/example/workflow/common/filter/CorsFilter.java new file mode 100644 index 0000000..75d0cd3 --- /dev/null +++ b/src/main/java/com/example/workflow/common/filter/CorsFilter.java @@ -0,0 +1,36 @@ +package com.example.workflow.common.filter; + +import org.springframework.stereotype.Component; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@Component +public class CorsFilter implements Filter { + + @Override + public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { + HttpServletResponse response = (HttpServletResponse) res; + HttpServletRequest request = (HttpServletRequest) req; + + // 允许来自任何源的请求,实际应用中应该限制到具体的域名 + response.setHeader("Access-Control-Allow-Origin", "*"); + response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); + response.setHeader("Access-Control-Max-Age", "3600"); + response.setHeader("Access-Control-Allow-Headers", "x-requested-with, authorization, Content-Type, Authorization, credential, X-XSRF-TOKEN"); + + if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { + // 预检请求直接返回200状态码 + response.setStatus(HttpServletResponse.SC_OK); + } else { + chain.doFilter(req, res); + } + } + +} \ No newline at end of file diff --git a/src/main/java/com/example/workflow/config/WebMvcConfig.java b/src/main/java/com/example/workflow/config/WebMvcConfig.java index 4f05f30..df68ad1 100644 --- a/src/main/java/com/example/workflow/config/WebMvcConfig.java +++ b/src/main/java/com/example/workflow/config/WebMvcConfig.java @@ -1,9 +1,11 @@ package com.example.workflow.config; +import com.example.workflow.common.filter.CorsFilter; import com.example.workflow.interceptor.TokenCheckInterceptor; import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -25,13 +27,12 @@ public class WebMvcConfig implements WebMvcConfigurer { .excludePathPatterns("/login", "/getVerifyCode", "/logout", "/login/test"); } - @Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**") - .allowedOriginPatterns("*") - .allowedMethods("GET", "POST", "PUT", "DELETE") - .allowedHeaders("*") - .allowCredentials(true) - .maxAge(3600); + @Bean + public FilterRegistrationBean loggingFilter(CorsFilter corsFilter) { + FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); + registrationBean.setFilter(corsFilter); + registrationBean.addUrlPatterns("/*"); // 应用到所有URL路径 + return registrationBean; } + } -- Gitee From 4f48ee886a7fa93e41845e9620033b494b2987a1 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:36:10 +0800 Subject: [PATCH 24/78] =?UTF-8?q?refactor:=E4=BD=BF=E7=94=A8spring?= =?UTF-8?q?=E7=9A=84http=E6=96=B9=E6=B3=95=E6=9E=9A=E4=B8=BE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/workflow/interceptor/TokenCheckInterceptor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java index 898de67..dfa1324 100644 --- a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java +++ b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java @@ -2,6 +2,7 @@ package com.example.workflow.interceptor; import com.example.workflow.exception.BaseException; import com.example.workflow.utils.JwtHelper; +import org.springframework.http.HttpMethod; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import org.springframework.web.servlet.HandlerInterceptor; @@ -9,14 +10,13 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.HttpMethod; @Component public class TokenCheckInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { - if (HttpMethod.OPTIONS.equals(request.getMethod())) { + if (HttpMethod.OPTIONS.matches(request.getMethod())) { return true; } // 获取请求头中的令牌(token) -- Gitee From f36db02567c7749610afc6a74580e9bcdcfae78a Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:36:41 +0800 Subject: [PATCH 25/78] =?UTF-8?q?add:=E6=97=A5=E5=BF=97=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/logback-spring.xml | 42 +++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/main/resources/logback-spring.xml diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..a917694 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,42 @@ + + + + + + + + + %red(%d{HH:mm:ss.SSS}) [%thread] %green(%-5level) %blue(%logger{36} :%L) %green(%X{sno}-%X{passwd}) + %msg%n + + + + + ` + + + + ./performance/logs/%d{yyyy-MM-dd-HH-mm-ss}.log + + + 30 + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n + + + + 10MB + + + + + + + + \ No newline at end of file -- Gitee From b9982f4468fb7b2755d76624ce306acf418d9c4b Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:37:08 +0800 Subject: [PATCH 26/78] =?UTF-8?q?fix:=E6=97=A0=E6=B3=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=80=E7=BA=A7=E9=83=A8=E9=97=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/workflow/service/impl/DeptServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java index 62e9bf5..fe461a7 100644 --- a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java @@ -199,7 +199,10 @@ public class DeptServiceImpl extends ServiceImpl Set deptHierarchySet = new HashSet<>(); for (DeptHierarchy dh : deptHierarchyList) { - deptHierarchySet.add(dh.getChildId()); + if (!dh.getParentId().equals(1L)) { + deptHierarchySet.add(dh.getChildId()); + } + DeptVo parentDept = deptMap.get(dh.getParentId()); DeptVo childDept = deptMap.get(dh.getChildId()); -- Gitee From 865e805ccb916fa0bf0d55a6f4eac9f99c9d9085 Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 15 Dec 2024 17:17:16 +0800 Subject: [PATCH 27/78] =?UTF-8?q?fix:jwt=E6=97=B6=E9=97=B4=E6=88=B3?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=E9=94=99=E8=AF=AF=E5=AF=BC=E8=87=B4token?= =?UTF-8?q?=E5=A4=B1=E6=95=88=E6=97=A0=E6=B3=95=E8=8E=B7=E5=8F=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/workflow/utils/JwtHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/workflow/utils/JwtHelper.java b/src/main/java/com/example/workflow/utils/JwtHelper.java index fccf2b9..cfa6f20 100644 --- a/src/main/java/com/example/workflow/utils/JwtHelper.java +++ b/src/main/java/com/example/workflow/utils/JwtHelper.java @@ -78,9 +78,10 @@ public class JwtHelper { if (map == null) { return false; } + // TODO (hrc,2024/12/15,16:50) jwt 中的exp的时间戳单位是秒 Claim exp = map.get("exp"); Long expLong = exp.asLong(); long nowMilli = Instant.now().toEpochMilli(); - return expLong < nowMilli; + return expLong * 1000 < nowMilli; } } -- Gitee From 8654d2c51c2883f4f9d9a5c9f93b1c7ea235d895 Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 15 Dec 2024 18:48:59 +0800 Subject: [PATCH 28/78] =?UTF-8?q?fix:=E8=A7=A3=E5=86=B3=E8=B7=A8=E5=9F=9F?= =?UTF-8?q?=E6=97=B6=E9=AA=8C=E8=AF=81=E7=A0=81=E8=BF=87=E6=9C=9F=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E6=97=A0=E6=B3=95=E7=99=BB=E5=BD=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/common/filter/CorsFilter.java | 36 ------------------- .../example/workflow/config/WebMvcConfig.java | 11 ------ .../session/VerifyCodeSessionContent.java | 23 ++++++++++++ .../workflow/controller/LoginController.java | 14 +++++--- .../workflow/interceptor/MyCorsFilter.java | 31 ++++++++++++++++ 5 files changed, 63 insertions(+), 52 deletions(-) delete mode 100644 src/main/java/com/example/workflow/common/filter/CorsFilter.java create mode 100644 src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java create mode 100644 src/main/java/com/example/workflow/interceptor/MyCorsFilter.java diff --git a/src/main/java/com/example/workflow/common/filter/CorsFilter.java b/src/main/java/com/example/workflow/common/filter/CorsFilter.java deleted file mode 100644 index 75d0cd3..0000000 --- a/src/main/java/com/example/workflow/common/filter/CorsFilter.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.example.workflow.common.filter; - -import org.springframework.stereotype.Component; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@Component -public class CorsFilter implements Filter { - - @Override - public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { - HttpServletResponse response = (HttpServletResponse) res; - HttpServletRequest request = (HttpServletRequest) req; - - // 允许来自任何源的请求,实际应用中应该限制到具体的域名 - response.setHeader("Access-Control-Allow-Origin", "*"); - response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); - response.setHeader("Access-Control-Max-Age", "3600"); - response.setHeader("Access-Control-Allow-Headers", "x-requested-with, authorization, Content-Type, Authorization, credential, X-XSRF-TOKEN"); - - if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { - // 预检请求直接返回200状态码 - response.setStatus(HttpServletResponse.SC_OK); - } else { - chain.doFilter(req, res); - } - } - -} \ No newline at end of file diff --git a/src/main/java/com/example/workflow/config/WebMvcConfig.java b/src/main/java/com/example/workflow/config/WebMvcConfig.java index df68ad1..715f8ad 100644 --- a/src/main/java/com/example/workflow/config/WebMvcConfig.java +++ b/src/main/java/com/example/workflow/config/WebMvcConfig.java @@ -1,10 +1,7 @@ package com.example.workflow.config; -import com.example.workflow.common.filter.CorsFilter; import com.example.workflow.interceptor.TokenCheckInterceptor; import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -27,12 +24,4 @@ public class WebMvcConfig implements WebMvcConfigurer { .excludePathPatterns("/login", "/getVerifyCode", "/logout", "/login/test"); } - @Bean - public FilterRegistrationBean loggingFilter(CorsFilter corsFilter) { - FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); - registrationBean.setFilter(corsFilter); - registrationBean.addUrlPatterns("/*"); // 应用到所有URL路径 - return registrationBean; - } - } diff --git a/src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java b/src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java new file mode 100644 index 0000000..7d2a811 --- /dev/null +++ b/src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java @@ -0,0 +1,23 @@ +package com.example.workflow.content.session; + +import java.util.HashMap; +import java.util.Map; + +/** + * 存放验证码 + */ +public class VerifyCodeSessionContent { + private static final Map data = new HashMap<>(); + + public static Object getVerifyCode(String key) { + return data.get(key); + } + + public static void setVerifyCode(String key, Object value) { + data.put(key, value); + } + + public static void clearVerifyCode(String key) { + data.remove(key); + } +} diff --git a/src/main/java/com/example/workflow/controller/LoginController.java b/src/main/java/com/example/workflow/controller/LoginController.java index 4aeebd3..51def37 100644 --- a/src/main/java/com/example/workflow/controller/LoginController.java +++ b/src/main/java/com/example/workflow/controller/LoginController.java @@ -3,6 +3,7 @@ package com.example.workflow.controller; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.workflow.common.R; +import com.example.workflow.content.session.VerifyCodeSessionContent; import com.example.workflow.model.bean.CheckCode; import com.example.workflow.model.entity.Employee; import com.example.workflow.model.entity.LoginDto; @@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.awt.image.BufferedImage; @@ -52,9 +54,9 @@ public class LoginController { //功能是生成验证码字符并加上噪点,干扰线,返回值为验证码字符 CheckCode checkCode = new CheckCode(randomText, 60); - - session.setAttribute("verifyCode", checkCode); - + response.setHeader("X-Request-ID", session.getId()); + VerifyCodeSessionContent.setVerifyCode(session.getId(), checkCode); + // session.setAttribute("verifyCode", checkCode); // 必须设置响应内容类型为图片,否则前台不识别 response.setContentType("image/png"); // 输出图片流 @@ -68,9 +70,11 @@ public class LoginController { * 登陆接口 */ @PostMapping("/login") - public R login(@RequestBody LoginDto dto, HttpSession session) { + public R login(@RequestBody LoginDto dto, HttpSession session, HttpServletRequest request) { + String sessionKey = request.getHeader("X-Request-ID"); + CheckCode checkCode = (CheckCode) VerifyCodeSessionContent.getVerifyCode(sessionKey); - CheckCode checkCode = (CheckCode) session.getAttribute("verifyCode"); + // CheckCode checkCode = (CheckCode) session.getAttribute("verifyCode"); if (Objects.isNull(checkCode) || checkCode.isExpired()) { return R.error("验证码已过期,请点击重新生成!"); diff --git a/src/main/java/com/example/workflow/interceptor/MyCorsFilter.java b/src/main/java/com/example/workflow/interceptor/MyCorsFilter.java new file mode 100644 index 0000000..2d3737b --- /dev/null +++ b/src/main/java/com/example/workflow/interceptor/MyCorsFilter.java @@ -0,0 +1,31 @@ +package com.example.workflow.interceptor; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +@Configuration +public class MyCorsFilter { + @Bean + public CorsFilter corsFilter() { + // 1.创建 CORS 配置对象 + CorsConfiguration config = new CorsConfiguration(); + // 支持域 + config.addAllowedOriginPattern("*"); + // 是否发送 Cookie + config.setAllowCredentials(true); + // 支持请求方式 + config.addAllowedMethod("*"); + // 允许的原始请求头部信息 + config.addAllowedHeader("*"); + // 暴露的头部信息 + config.addExposedHeader("X-Request-ID"); + // 2.添加地址映射 + UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource(); + corsConfigurationSource.registerCorsConfiguration("/**", config); + // 3.返回 CorsFilter 对象 + return new CorsFilter(corsConfigurationSource); + } +} \ No newline at end of file -- Gitee From b5c8ed4f6bec17eaa46b7152232adc510f795eff Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 15 Dec 2024 22:28:31 +0800 Subject: [PATCH 29/78] =?UTF-8?q?add:=E6=B5=81=E7=A8=8B=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/workflow/enums/ProcessState.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/com/example/workflow/enums/ProcessState.java diff --git a/src/main/java/com/example/workflow/enums/ProcessState.java b/src/main/java/com/example/workflow/enums/ProcessState.java new file mode 100644 index 0000000..32117f2 --- /dev/null +++ b/src/main/java/com/example/workflow/enums/ProcessState.java @@ -0,0 +1,15 @@ +package com.example.workflow.enums; + +public enum ProcessState { + ACTIVE("ACTIVE"); + + private final String state; + + public String getState() { + return this.state; + } + + ProcessState(final String state) { + this.state = state; + } +} \ No newline at end of file -- Gitee From 71a0dfd6a2e75dddf95a655f25717dbaa32a9687 Mon Sep 17 00:00:00 2001 From: hrc Date: Wed, 18 Dec 2024 17:04:46 +0800 Subject: [PATCH 30/78] =?UTF-8?q?add:=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-sealos.yml | 62 ++++++++++++++++++++++ src/main/resources/application-sqlpub.yml | 63 +++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 src/main/resources/application-sealos.yml create mode 100644 src/main/resources/application-sqlpub.yml diff --git a/src/main/resources/application-sealos.yml b/src/main/resources/application-sealos.yml new file mode 100644 index 0000000..03e271d --- /dev/null +++ b/src/main/resources/application-sealos.yml @@ -0,0 +1,62 @@ +server: + port: 9090 + servlet: + context-path: /api + session: + timeout: 30m + +spring: + main: + allow-circular-references: true + mvc: + throw-exception-if-no-handler-found: true + hiddenmethod: + filter: + enabled: true + web: + resources: + add-mappings: false + datasource: + url: jdbc:mysql://root:7fjj2cth@bja.sealos.run:46198/performance?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8 + username: root + password: 7fjj2cth + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + pool-name: HikariCPDatasource + minimum-idle: 5 + idle-timeout: 180000 + maximum-pool-size: 10 + auto-commit: true + max-lifetime: 1800000 + connection-timeout: 30000 + connection-test-query: SELECT 1 + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd hh:mm:ss + servlet: + multipart: + max-file-size: 15MB + max-request-size: 15MB + +camunda: + bpm: + database: + type: mysql + schema-update: true + webapp: + index-redirect-enabled: true + admin-user: + id: admin + password: admin123 + auto-deployment-enabled: true + +mybatis-plus: + global-config: + db-config: + table-prefix: #tb_ + configuration: + #驼峰命名法映射 + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath:/mapper/*.xml + diff --git a/src/main/resources/application-sqlpub.yml b/src/main/resources/application-sqlpub.yml new file mode 100644 index 0000000..76d2f93 --- /dev/null +++ b/src/main/resources/application-sqlpub.yml @@ -0,0 +1,63 @@ +server: + port: 9090 + servlet: + context-path: /api + session: + timeout: 30m + + +spring: + main: + allow-circular-references: true + mvc: + throw-exception-if-no-handler-found: true + hiddenmethod: + filter: + enabled: true + web: + resources: + add-mappings: false + datasource: + url: jdbc:mysql://mysql.sqlpub.com:3306/performance0?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai + username: performance0 + password: 6BlmFVS8m5NVUQLt + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + pool-name: HikariCPDatasource + minimum-idle: 5 + idle-timeout: 180000 + maximum-pool-size: 10 + auto-commit: true + max-lifetime: 1800000 + connection-timeout: 30000 + connection-test-query: SELECT 1 + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd hh:mm:ss + servlet: + multipart: + max-file-size: 15MB + max-request-size: 15MB + +camunda: + bpm: + database: + type: mysql + schema-update: true + webapp: + index-redirect-enabled: true + admin-user: + id: admin + password: admin123 + auto-deployment-enabled: false + +mybatis-plus: + global-config: + db-config: + table-prefix: #tb_ + configuration: + #驼峰命名法映射 + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath:/mapper/*.xml + -- Gitee From 86db7cb8d84e3eceb9b72029d2817267f974f71a Mon Sep 17 00:00:00 2001 From: hrc Date: Wed, 18 Dec 2024 17:06:08 +0800 Subject: [PATCH 31/78] =?UTF-8?q?update:=E4=BD=BF=E7=94=A8sqlpub=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index caf4dfc..f5ce0e1 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,3 +1,3 @@ spring: profiles: - active: dev \ No newline at end of file + active: sqlpub \ No newline at end of file -- Gitee From 412b4d04e3ee218fd7c271734dafe639a40c7cf6 Mon Sep 17 00:00:00 2001 From: hrc Date: Wed, 18 Dec 2024 20:09:30 +0800 Subject: [PATCH 32/78] =?UTF-8?q?update:=E5=B0=86=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=88=86=E5=9D=97=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 3 -- .../resources/config/application-camunda.yml | 11 +++++++ .../{ => config}/application-dev.yml | 0 src/main/resources/config/application-log.yml | 7 ++++ .../config/application-mybatis-plus.yml | 9 +++++ .../{ => config}/application-sealos.yml | 28 ---------------- .../resources/config/application-server.yml | 6 ++++ .../{ => config}/application-sqlpub.yml | 33 ++----------------- src/main/resources/config/application.yml | 3 ++ 9 files changed, 38 insertions(+), 62 deletions(-) delete mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/config/application-camunda.yml rename src/main/resources/{ => config}/application-dev.yml (100%) create mode 100644 src/main/resources/config/application-log.yml create mode 100644 src/main/resources/config/application-mybatis-plus.yml rename src/main/resources/{ => config}/application-sealos.yml (60%) create mode 100644 src/main/resources/config/application-server.yml rename src/main/resources/{ => config}/application-sqlpub.yml (56%) create mode 100644 src/main/resources/config/application.yml diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml deleted file mode 100644 index f5ce0e1..0000000 --- a/src/main/resources/application.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - profiles: - active: sqlpub \ No newline at end of file diff --git a/src/main/resources/config/application-camunda.yml b/src/main/resources/config/application-camunda.yml new file mode 100644 index 0000000..99ac674 --- /dev/null +++ b/src/main/resources/config/application-camunda.yml @@ -0,0 +1,11 @@ +camunda: + bpm: + database: + type: mysql + schema-update: true + webapp: + index-redirect-enabled: true + admin-user: + id: admin + password: admin123 + auto-deployment-enabled: false \ No newline at end of file diff --git a/src/main/resources/application-dev.yml b/src/main/resources/config/application-dev.yml similarity index 100% rename from src/main/resources/application-dev.yml rename to src/main/resources/config/application-dev.yml diff --git a/src/main/resources/config/application-log.yml b/src/main/resources/config/application-log.yml new file mode 100644 index 0000000..9934062 --- /dev/null +++ b/src/main/resources/config/application-log.yml @@ -0,0 +1,7 @@ +logging: + level: + root: info + +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl diff --git a/src/main/resources/config/application-mybatis-plus.yml b/src/main/resources/config/application-mybatis-plus.yml new file mode 100644 index 0000000..3159b9e --- /dev/null +++ b/src/main/resources/config/application-mybatis-plus.yml @@ -0,0 +1,9 @@ +mybatis-plus: + global-config: + db-config: + table-prefix: #tb_ + configuration: + #驼峰命名法映射 + map-underscore-to-camel-case: true + # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath:/mapper/*.xml diff --git a/src/main/resources/application-sealos.yml b/src/main/resources/config/application-sealos.yml similarity index 60% rename from src/main/resources/application-sealos.yml rename to src/main/resources/config/application-sealos.yml index 03e271d..e27a044 100644 --- a/src/main/resources/application-sealos.yml +++ b/src/main/resources/config/application-sealos.yml @@ -1,10 +1,3 @@ -server: - port: 9090 - servlet: - context-path: /api - session: - timeout: 30m - spring: main: allow-circular-references: true @@ -38,25 +31,4 @@ spring: max-file-size: 15MB max-request-size: 15MB -camunda: - bpm: - database: - type: mysql - schema-update: true - webapp: - index-redirect-enabled: true - admin-user: - id: admin - password: admin123 - auto-deployment-enabled: true - -mybatis-plus: - global-config: - db-config: - table-prefix: #tb_ - configuration: - #驼峰命名法映射 - map-underscore-to-camel-case: true - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - mapper-locations: classpath:/mapper/*.xml diff --git a/src/main/resources/config/application-server.yml b/src/main/resources/config/application-server.yml new file mode 100644 index 0000000..2fe1588 --- /dev/null +++ b/src/main/resources/config/application-server.yml @@ -0,0 +1,6 @@ +server: + port: 9090 + servlet: + context-path: /api + session: + timeout: 30m diff --git a/src/main/resources/application-sqlpub.yml b/src/main/resources/config/application-sqlpub.yml similarity index 56% rename from src/main/resources/application-sqlpub.yml rename to src/main/resources/config/application-sqlpub.yml index 76d2f93..99ed2da 100644 --- a/src/main/resources/application-sqlpub.yml +++ b/src/main/resources/config/application-sqlpub.yml @@ -1,11 +1,3 @@ -server: - port: 9090 - servlet: - context-path: /api - session: - timeout: 30m - - spring: main: allow-circular-references: true @@ -19,8 +11,8 @@ spring: add-mappings: false datasource: url: jdbc:mysql://mysql.sqlpub.com:3306/performance0?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai - username: performance0 - password: 6BlmFVS8m5NVUQLt + username: ${DB_SQLPUB_USERNAME} + password: ${DB_SQLPUB_PASSWORD} driver-class-name: com.mysql.cj.jdbc.Driver hikari: pool-name: HikariCPDatasource @@ -39,25 +31,4 @@ spring: max-file-size: 15MB max-request-size: 15MB -camunda: - bpm: - database: - type: mysql - schema-update: true - webapp: - index-redirect-enabled: true - admin-user: - id: admin - password: admin123 - auto-deployment-enabled: false - -mybatis-plus: - global-config: - db-config: - table-prefix: #tb_ - configuration: - #驼峰命名法映射 - map-underscore-to-camel-case: true - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - mapper-locations: classpath:/mapper/*.xml diff --git a/src/main/resources/config/application.yml b/src/main/resources/config/application.yml new file mode 100644 index 0000000..51fd373 --- /dev/null +++ b/src/main/resources/config/application.yml @@ -0,0 +1,3 @@ +spring: + profiles: + active: server,sqlpub,mybatis-plus,camunda,log \ No newline at end of file -- Gitee From f0cfb32c63e17847bc4ae4efd6aec9e5ba1afe9a Mon Sep 17 00:00:00 2001 From: hrc Date: Wed, 18 Dec 2024 23:42:54 +0800 Subject: [PATCH 33/78] =?UTF-8?q?add:=E9=A1=B9=E7=9B=AE=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..88abff5 --- /dev/null +++ b/README.md @@ -0,0 +1,152 @@ +绩效信息化平台 +---- + +## 项目描述 + +该项目是前后端分离,前端使用Vue3 + elementPlus等技术,后端用SpringBoot + Camunda等技术编写的企业内部的绩效管理系统,可以更方便的 +管理企业的员工的绩效。三人合作完成,我负责后端部分。 + +### 技术栈 + +SpringBoot + Camunda + JWT + redis + MyBatisPlus + +### 功能模块 + +1. 首页模块 +2. 部门模块 +3. 员工模块 +4. 岗位模块 +5. 权限模块 +6. 申报模块 +7. 评分模块 +8. 审批模块 +9. 归档模块 +10. 登录模块 + +分成三大类 + +1. 通用模块:登录模块,首页模块 +2. 基础数据相关模块:部门模块, 员工模块,岗位模块,权限模块 +3. 绩效相关模块:申报模块 评分模块 审批模块 归档模块 + +### 线上地址 + +http://performance.huthrc.top 或 http://pf.huthrc.top/ + +### 我的职责 + +1. 使用JWT生成token再结合拦截器完成员工30分钟无操作自动退出并且完成10分钟内自动续约功能 +2. 绘制BPMN流程图,使用Camunda工作引擎完成绩效审批功能 +3. 使用redis存放验证码解决跨域无法显示图片问题,存放员工权限路由提高接口请求速度 +4. 使用EasyExcel完成员工信息与绩效信息导入与导出功能 +5. 独立设计数据库并且完成RBAC权限控制功能 +6. 完成项目的前端与后端的部署,并且编写脚本简化部署流程 + +### 我的收获 + +1. 通过与前端搭档接口联调和编写接口文档,提高了我的合作能力 +2. 通过在IDEA中大量使用图形化git,提高了我的git使用能力 +3. 通过使用各种第三方库和debug,提高了我的编码能力 +4. 通过在Linux与windows上部署项目,提高了我的项目部署能力 +5. 通过设计40多张表,提高了我的表设计能力 +6. 通过与该公司的业务人员交流,提高了我对业务的理解与交流能力 + +### 部署 + +1)前端 + +1. 通过阿里云的OSS部署 http://performance.huthrc.top +2. 通过服务器的nginx部署 http://pf.huthrc.top/ + +2)后端 + +1. 通过服务器的宝塔部署java应用 + +### 遇到的问题 + +1. 在Controller层 private修饰的方法的Service实现类注入为空 +
+ 原因: spring aop代理的问题,无法代理private | final | static 修饰的方法 +
+ 将private方法改为public +2. 在前端分离开发中登录验证码过期问题 + 原因:跨域导致sessionId不一致 +
+ 解决:设置一个自定义请求头的x-request-id +3. 自定义的header在跨域的时候前端访问不到 +
+ 原因:在使用CORS解决跨域的请求中,默认只能取到五个response header值 Content-Language Content-Type + Expires Last-Modified Pragma +
+ 解决:跨域的时候后端必须设置允许暴露的请求头,且不能设置为*否则无效 https://www.cnblogs.com/younghxp/p/16693535.html +4. 登录获取的token直接失效 +
+ 原因: jwt中的exp过期时间单位为s,代码中获取当前时间戳单位为毫秒 +
+ 解决:将两者单位统一再比较 +5. 用户使用https协议访问无法获取验证码 +
+ 原因: 前端使用http协议请求后端,而浏览器默认不允许混合使用http与https +
+ 解决: 用户手动允许浏览器允许访问不安全内容或更换浏览器或者将前端的后端请求协议改为https + +### 表的优化 + +PositionAssessor 岗位审核人表 + +实体:岗位与员工 + +联系: 审核 + +关系: 多对多 + +字段 + +id int 业务id + +positionId int 岗位id + +assessorId int 审核人id + +level int 审核人级别 + +---- +手动添加第一个根部门 + +## RBAC + +- 角色表 +- 路由表 +- 按钮表 +- 用户表 + +员工进行登录,前端会向后端请求动态路由,后端根据员工的角色返回其对应的路由与按钮,然后前端根据这些动态路由加入路由表 + +## 审核流程 + +1. 首先绩效专员为岗位开启这个月的绩效考核流程 +2. 其次绩效专员再为这个岗位的员工进行申报(记件,奖金) +3. 然后岗位的负责人对员工进行评分(okr,kpi,评分) +4. 再由审核人员对这些评分进行审核 +5. 最后由绩效专员进行归档 + +## 请求流程 + +1. 每次请求都会依次经过Token拦截器,权限拦截器 +2. 如果token无效或过期直接拒绝请请求,token剩余10分钟,则重新生成token +3. 经过权限拦截器时,会首先获取请求的uri,然后根据用户的id从redis中获取该员工的权限路由 +4. 将这些权限路由与请求的uri进行匹配,如果没有则拒绝请求; +5. 当然如果redis中没有存放该员工的权限或者已经过期,则根据员工的roleId去数据库中查询该员工的权限路由 +6. 将数据存放到redis中,然后按照刚才的步骤检查是否拒绝请求 +7. 通过拦截器之后就根据请求的uri进入对应的controller类,然后执行方法 + +## camunda + +1. 基本概念: 事件 任务 定时器 bpmn图 +2. 使用SDK方式调用 runService taskService +3. 绘制bpmn图 : camunda modeler + +## redis + +1. 存放验证码 key vc:userid:xxx value string +2. 存放员工权限路由 key permission_routers:userid:xxx value set \ No newline at end of file -- Gitee From a0e301a02d9398e3e8b96a61efb86f76d63d1703 Mon Sep 17 00:00:00 2001 From: hrc Date: Sat, 11 Jan 2025 14:43:57 +0800 Subject: [PATCH 34/78] update: gitignore --- .gitignore | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitignore b/.gitignore index 2d50b71..1e66c53 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,15 @@ +*.env + +.run/ + +redis/ + +sql/ + +mysql/ + +deploy/ + target/ # Package Files # *.jar -- Gitee From 67ecf0bd46cc5c0ddb46942be0e6636827318a0c Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 12 Jan 2025 22:57:34 +0800 Subject: [PATCH 35/78] =?UTF-8?q?update:=E5=B0=86controller=E5=B1=82privat?= =?UTF-8?q?e=E6=96=B9=E6=B3=95=E6=94=B9=E4=B8=BApublic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BackWaitController.java | 2 +- .../controller/EmpCheckStateController.java | 4 +- .../controller/EmpCoefficientController.java | 12 ++--- .../workflow/controller/EmpKpiController.java | 18 ++++---- .../workflow/controller/EmpOkrController.java | 18 ++++---- .../controller/EmpPieceController.java | 24 +++++----- .../controller/EmpRewardController.java | 8 ++-- .../controller/EmpScoreController.java | 14 +++--- .../controller/EmpWageController.java | 4 +- .../EmployeePositionController.java | 14 +++--- .../workflow/controller/FirstController.java | 2 +- .../workflow/controller/FlowController.java | 8 ++-- .../workflow/controller/IndexController.java | 4 +- .../controller/KpiRuleController.java | 22 +++++----- .../controller/OkrRuleController.java | 14 +++--- .../controller/PieceRuleController.java | 20 ++++----- .../PositionAssessorController.java | 10 ++--- .../controller/PositionController.java | 22 +++++----- .../controller/PreviewController.java | 20 ++++----- .../controller/ProgressController.java | 4 +- .../RegionCoefficientController.java | 16 +++---- .../ResultFourthExamineController.java | 22 +++++----- .../controller/ResultKpiController.java | 18 ++++---- .../controller/ResultOkrController.java | 6 +-- .../controller/ResultPieceController.java | 18 ++++---- .../controller/ResultScoreController.java | 16 +++---- .../ResultSecondExamineController.java | 44 +++++++++---------- .../ResultThirdExamineController.java | 32 +++++++------- .../controller/ScoreRuleController.java | 24 +++++----- .../controller/TaskViewController.java | 44 +++++++++---------- .../workflow/controller/TestController.java | 6 +-- .../controller/WageEmpController.java | 10 ++--- 32 files changed, 250 insertions(+), 250 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/BackWaitController.java b/src/main/java/com/example/workflow/controller/BackWaitController.java index 6780d96..7edc999 100644 --- a/src/main/java/com/example/workflow/controller/BackWaitController.java +++ b/src/main/java/com/example/workflow/controller/BackWaitController.java @@ -19,7 +19,7 @@ public class BackWaitController { private BackWaitService BackWaitService; @GetMapping("/getOpinion") - private R getOpinion(@RequestParam("empId") Long empId + public R getOpinion(@RequestParam("empId") Long empId ,@RequestParam("positionId") Long positionId ,@RequestParam("type") String type){ diff --git a/src/main/java/com/example/workflow/controller/EmpCheckStateController.java b/src/main/java/com/example/workflow/controller/EmpCheckStateController.java index 5ca1b50..d3ab170 100644 --- a/src/main/java/com/example/workflow/controller/EmpCheckStateController.java +++ b/src/main/java/com/example/workflow/controller/EmpCheckStateController.java @@ -53,7 +53,7 @@ public class EmpCheckStateController { } @PostMapping("/point") - private R point(@RequestBody JSONObject obj){ + public R point(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpCheckState::getEmpId,obj.getString("empId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -79,7 +79,7 @@ public class EmpCheckStateController { @PostMapping("/match") - private R match(@RequestBody JSONObject obj){ + public R match(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpCheckState::getEmpId,obj.getString("empId")) .apply(StringUtils.checkValNotNull(beginTime), diff --git a/src/main/java/com/example/workflow/controller/EmpCoefficientController.java b/src/main/java/com/example/workflow/controller/EmpCoefficientController.java index 97313c7..5d38266 100644 --- a/src/main/java/com/example/workflow/controller/EmpCoefficientController.java +++ b/src/main/java/com/example/workflow/controller/EmpCoefficientController.java @@ -99,7 +99,7 @@ public class EmpCoefficientController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -114,7 +114,7 @@ public class EmpCoefficientController { } @PostMapping("/copy") - private R copy(){ + public R copy() { List list= EmpCoefficientService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -172,14 +172,14 @@ public class EmpCoefficientController { @PostMapping("/update") - private R update(@RequestBody EmpCoefficient one){ + public R update(@RequestBody EmpCoefficient one) { EmpCoefficientService.updateById(one); return R.success(); } @PostMapping("/file") - private R file(@RequestBody JSONObject obj){ + public R file(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); @@ -210,7 +210,7 @@ public class EmpCoefficientController { } @PostMapping("/fileAll") - private R fileAll(@RequestBody JSONObject form){ + public R fileAll(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); for (int i = 0; i < formArray.size(); i++) { @@ -246,7 +246,7 @@ public class EmpCoefficientController { } @PostMapping("/changeAll") - private R changeAll(@RequestBody EmpCoeForm empCoeForm){ + public R changeAll(@RequestBody EmpCoeForm empCoeForm) { if(empCoeForm.getEmpList().isEmpty()) return R.error("员工选择不得为空"); diff --git a/src/main/java/com/example/workflow/controller/EmpKpiController.java b/src/main/java/com/example/workflow/controller/EmpKpiController.java index 3b31190..8378ecf 100644 --- a/src/main/java/com/example/workflow/controller/EmpKpiController.java +++ b/src/main/java/com/example/workflow/controller/EmpKpiController.java @@ -65,7 +65,7 @@ public class EmpKpiController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpKpiViewService.lambdaQuery() .orderByAsc(EmpKpiView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), @@ -91,7 +91,7 @@ public class EmpKpiController { } @PostMapping("/match") - private R matchCoefficient(@RequestBody List form){ + public R matchCoefficient(@RequestBody List form) { Long kpiRuleId=form.get(0).getKpiId(); KpiRule kpiRule= KpiRuleService.lambdaQuery() @@ -177,7 +177,7 @@ public class EmpKpiController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpKpiView::getEmpId,obj.getString("empId")) @@ -193,13 +193,13 @@ public class EmpKpiController { @PostMapping("/delete") - private R delete(@RequestBody EmpKpi one){ + public R delete(@RequestBody EmpKpi one) { EmpKpiService.removeById(one); return R.success(); } @PostMapping("/addBackKpi") - private R addBackPiece(List form){ + public R addBackPiece(List form) { EmpKpiService.updateBatchById(form); return R.success(); @@ -207,7 +207,7 @@ public class EmpKpiController { @PostMapping("/update") - private R updateMatch(@RequestBody EmpKpi form){ + public R updateMatch(@RequestBody EmpKpi form) { EmpKpiService.removeById(form); @@ -267,7 +267,7 @@ public class EmpKpiController { @GetMapping("/reAdd") - private R reAdd(@RequestParam("id") String id + public R reAdd(@RequestParam("id") String id ,@RequestParam("correctedValue") String correctedValue ,@RequestParam("empId") String empId){ UpdateWrapper updateWrapper=new UpdateWrapper<>(); @@ -280,14 +280,14 @@ public class EmpKpiController { } @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpKpi one){ + public R reAdd(@RequestBody EmpKpi one) { one.setState(Short.parseShort("0")); EmpKpiService.updateById(one); return R.success(); } @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List EmpKpiViews=EmpKpiViewService.lambdaQuery() .eq(EmpKpiView::getPositionId,obj.getString("positionId")) .orderByAsc(EmpKpiView::getEmpId) diff --git a/src/main/java/com/example/workflow/controller/EmpOkrController.java b/src/main/java/com/example/workflow/controller/EmpOkrController.java index 53b9aa4..fb09132 100644 --- a/src/main/java/com/example/workflow/controller/EmpOkrController.java +++ b/src/main/java/com/example/workflow/controller/EmpOkrController.java @@ -71,7 +71,7 @@ public class EmpOkrController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpOkrViewService.lambdaQuery() .orderByAsc(EmpOkrView::getLiaEmpId) .apply(StringUtils.checkValNotNull(beginTime), @@ -98,7 +98,7 @@ public class EmpOkrController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); @@ -163,7 +163,7 @@ public class EmpOkrController { @PostMapping("/list") - private R> list(@RequestBody JSONObject form){ + public R> list(@RequestBody JSONObject form) { LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1).withDayOfMonth(1); LocalDate lastDayOfLastMonth = firstDayOfLastMonth.with(TemporalAdjusters.lastDayOfMonth()); @@ -183,7 +183,7 @@ public class EmpOkrController { @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -198,7 +198,7 @@ public class EmpOkrController { @PostMapping("/getOneEmpOkr") - private R> getOneEmpOkr(@RequestBody JSONObject form){ + public R> getOneEmpOkr(@RequestBody JSONObject form) { List okrViews= EmpOkrViewService.lambdaQuery() .eq(EmpOkrView::getLiaEmpId,form.getString("empId")) @@ -215,7 +215,7 @@ public class EmpOkrController { @GetMapping("/reAdd") - private R reAdd(@RequestParam("id") String id + public R reAdd(@RequestParam("id") String id ,@RequestParam("correctedValue") String correctedValue ,@RequestParam("empId") String empId){ UpdateWrapper updateWrapper=new UpdateWrapper<>(); @@ -229,7 +229,7 @@ public class EmpOkrController { @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpOkr one){ + public R reAdd(@RequestBody EmpOkr one) { one.setState(new Short("0")); EmpOkrService.updateById(one); @@ -239,7 +239,7 @@ public class EmpOkrController { @PostMapping("/reBackAdd") - private R reBackAdd(@RequestBody JSONObject form){ + public R reBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -298,7 +298,7 @@ public class EmpOkrController { @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List EmpOkrViews=EmpOkrViewService.lambdaQuery() .eq(EmpOkrView::getPositionId,obj.getString("positionId")) .orderByAsc(EmpOkrView::getLiaEmpId) diff --git a/src/main/java/com/example/workflow/controller/EmpPieceController.java b/src/main/java/com/example/workflow/controller/EmpPieceController.java index f405ec9..ac7d0a4 100644 --- a/src/main/java/com/example/workflow/controller/EmpPieceController.java +++ b/src/main/java/com/example/workflow/controller/EmpPieceController.java @@ -54,7 +54,7 @@ public class EmpPieceController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpPieceViewService.lambdaQuery() .orderByAsc(EmpPieceView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), @@ -193,7 +193,7 @@ public class EmpPieceController { } @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPieceView::getEmpId,obj.getString("empId")) @@ -209,7 +209,7 @@ public class EmpPieceController { @PostMapping("/add") - private R add(@RequestBody List form){ + public R add(@RequestBody List form) { for(EmpPiece x:form){ if(x.getEmpId()==null) R.error("员工姓名不得为空"); @@ -226,14 +226,14 @@ public class EmpPieceController { @PostMapping("/updateOne") - private R updateOne(@RequestBody EmpPiece one){ + public R updateOne(@RequestBody EmpPiece one) { EmpPieceService.updateById(one); return R.success(); } @PostMapping("/updateAll") - private R updateAll(List> form){ + public R updateAll(List> form) { List list=new ArrayList<>(); Long empId=form.get(0).get(0).getEmpId(); @@ -256,19 +256,19 @@ public class EmpPieceController { @PostMapping("/delete") - private R delete(@RequestBody EmpPiece one){ + public R delete(@RequestBody EmpPiece one) { EmpPieceService.removeById(one); return R.success(); } @PostMapping("/deleteAll") - private R deleteAll(@RequestBody List list){ + public R deleteAll(@RequestBody List list) { EmpPieceService.removeBatchByIds(list); return R.success(); } @PostMapping("/addBackPiece") - private R addBackPiece(List form){ + public R addBackPiece(List form) { EmpPieceService.updateBatchById(form); return R.success(); @@ -276,7 +276,7 @@ public class EmpPieceController { @PostMapping("/timeList") - private R> timeList(){ + public R> timeList() { List list=EmpPieceViewService.list(); List time=new ArrayList<>(); list.forEach(x->{ @@ -294,7 +294,7 @@ public class EmpPieceController { } @GetMapping("/searchByTime") - private R searchByTime(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R searchByTime(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -309,7 +309,7 @@ public class EmpPieceController { @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpPiece one){ + public R reAdd(@RequestBody EmpPiece one) { one.setState(Short.parseShort("0")); EmpPieceService.updateById(one); @@ -319,7 +319,7 @@ public class EmpPieceController { @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List empPieces=EmpPieceViewService.lambdaQuery() .eq(EmpPieceView::getPositionId,obj.getString("positionId")) .orderByAsc(EmpPieceView::getEmpId) diff --git a/src/main/java/com/example/workflow/controller/EmpRewardController.java b/src/main/java/com/example/workflow/controller/EmpRewardController.java index 7d0639b..8899a22 100644 --- a/src/main/java/com/example/workflow/controller/EmpRewardController.java +++ b/src/main/java/com/example/workflow/controller/EmpRewardController.java @@ -40,7 +40,7 @@ public class EmpRewardController { @PostMapping("/add") - private R add(@RequestBody List form){ + public R add(@RequestBody List form) { EmpRewardService.saveBatch(form); EmployeeCoefficientService.fileOne(form.get(0).getEmpId(),form.get(0).getPositionId()); @@ -49,7 +49,7 @@ public class EmpRewardController { @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.apply(StringUtils.checkValNotNull(beginTime), @@ -62,7 +62,7 @@ public class EmpRewardController { } @PostMapping("/delete") - private R delete(@RequestBody EmpReward one){ + public R delete(@RequestBody EmpReward one) { System.out.println(one); EmpRewardService.removeById(one); @@ -71,7 +71,7 @@ public class EmpRewardController { } @PostMapping("/updateOne") - private R updateOne(@RequestBody EmpReward one){ + public R updateOne(@RequestBody EmpReward one) { EmpRewardService.updateById(one); EmployeeCoefficientService.fileOne(one.getEmpId(),one.getPositionId()); diff --git a/src/main/java/com/example/workflow/controller/EmpScoreController.java b/src/main/java/com/example/workflow/controller/EmpScoreController.java index 9384d16..72566c1 100644 --- a/src/main/java/com/example/workflow/controller/EmpScoreController.java +++ b/src/main/java/com/example/workflow/controller/EmpScoreController.java @@ -71,7 +71,7 @@ public class EmpScoreController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpScoreViewService.lambdaQuery() .orderByDesc(EmpScoreView::getPosition) .orderByDesc(EmpScoreView::getEmpName) @@ -107,7 +107,7 @@ public class EmpScoreController { } @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -265,7 +265,7 @@ public class EmpScoreController { @GetMapping("/reAdd") - private R reAdd(@RequestParam("id") String id + public R reAdd(@RequestParam("id") String id ,@RequestParam("correctedValue") String correctedValue ,@RequestParam("empId") String empId){ UpdateWrapper updateWrapper=new UpdateWrapper<>(); @@ -280,7 +280,7 @@ public class EmpScoreController { @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpScore one){ + public R reAdd(@RequestBody EmpScore one) { one.setState(new Short("0")); EmpScoreService.updateById(one); @@ -290,7 +290,7 @@ public class EmpScoreController { @PostMapping("/reBackAdd") - private R reBackAdd(@RequestBody JSONObject form){ + public R reBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -354,7 +354,7 @@ public class EmpScoreController { @PostMapping("/getOneEmpScore") - private R> getOneEmpOkr(@RequestBody JSONObject form){ + public R> getOneEmpOkr(@RequestBody JSONObject form) { List empScoreViewList= EmpScoreViewService.lambdaQuery() .eq(EmpScoreView::getEmpId,form.getString("empId")) .eq(EmpScoreView::getPositionId,form.getString("positionId")) @@ -370,7 +370,7 @@ public class EmpScoreController { @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List empScoreViews=EmpScoreViewService.lambdaQuery() .eq(EmpScoreView::getPositionId,obj.getString("positionId")) .orderByAsc(EmpScoreView::getEmpId) diff --git a/src/main/java/com/example/workflow/controller/EmpWageController.java b/src/main/java/com/example/workflow/controller/EmpWageController.java index b913386..bb9d9a8 100644 --- a/src/main/java/com/example/workflow/controller/EmpWageController.java +++ b/src/main/java/com/example/workflow/controller/EmpWageController.java @@ -37,7 +37,7 @@ public class EmpWageController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -144,7 +144,7 @@ public class EmpWageController { } @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpWageViewService.lambdaQuery() .orderByAsc(EmpWageView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), diff --git a/src/main/java/com/example/workflow/controller/EmployeePositionController.java b/src/main/java/com/example/workflow/controller/EmployeePositionController.java index 204fbfd..68b4223 100644 --- a/src/main/java/com/example/workflow/controller/EmployeePositionController.java +++ b/src/main/java/com/example/workflow/controller/EmployeePositionController.java @@ -100,7 +100,7 @@ public class EmployeePositionController { } @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpPositionViewService.lambdaQuery() .orderByAsc(EmpPositionView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), @@ -126,7 +126,7 @@ public class EmployeePositionController { } @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { String data=obj.toJSONString(); JSONObject json = JSON.parseObject(data); @@ -162,7 +162,7 @@ public class EmployeePositionController { @GetMapping("/page") - private R> page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R> page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.orderByDesc(EmpPositionView::getEmpId) @@ -174,7 +174,7 @@ public class EmployeePositionController { } @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); queryWrapper2.eq(EmployeePosition::getEmpId,form.getString("empId")); @@ -234,7 +234,7 @@ public class EmployeePositionController { @PostMapping("/getEmpPositionList") - private R> getEmpPositionList(@RequestBody JSONObject obj){ + public R> getEmpPositionList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPositionView::getEmpId,obj.getString("empId")); @@ -245,7 +245,7 @@ public class EmployeePositionController { @PostMapping("/update") - private R update(@RequestBody JSONObject form){ + public R update(@RequestBody JSONObject form) { List empReward=EmpRewardService.lambdaQuery() .eq(EmpReward::getEmpId,form.getString("empId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -309,7 +309,7 @@ public class EmployeePositionController { @PostMapping("/delete") - private R remove(@RequestBody EmpPositionView form){ + public R remove(@RequestBody EmpPositionView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getEmpId,form.getEmpId()); EmployeePositionService.remove(queryWrapper); diff --git a/src/main/java/com/example/workflow/controller/FirstController.java b/src/main/java/com/example/workflow/controller/FirstController.java index ed9921c..61d6cc7 100644 --- a/src/main/java/com/example/workflow/controller/FirstController.java +++ b/src/main/java/com/example/workflow/controller/FirstController.java @@ -37,7 +37,7 @@ public class FirstController { @Resource private KpiRuleService kpiRuleService; @Resource - private RegionCoefficientService regionCoefficientService; + public RegionCoefficientService regionCoefficientService; @Resource private EmpCoefficientService empCoefficientService; @Resource diff --git a/src/main/java/com/example/workflow/controller/FlowController.java b/src/main/java/com/example/workflow/controller/FlowController.java index 9b59f9b..ad903f7 100644 --- a/src/main/java/com/example/workflow/controller/FlowController.java +++ b/src/main/java/com/example/workflow/controller/FlowController.java @@ -91,7 +91,7 @@ public class FlowController { @PostMapping("/startFlow") - private R startFlow(@RequestBody JSONObject obj) { + public R startFlow(@RequestBody JSONObject obj) { LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); LocalDateTime beginTime = time[0]; LocalDateTime endTime = time[1]; @@ -153,7 +153,7 @@ public class FlowController { @PostMapping("/stopFlow") - private R stopFlow(@RequestBody JSONObject obj) { + public R stopFlow(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); List empList = employeePositionMapper.selectList(queryWrapper); @@ -182,7 +182,7 @@ public class FlowController { @PostMapping("/restoreFlow") - private R restoreFlow(@RequestBody JSONObject obj) { + public R restoreFlow(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); List empList = employeePositionMapper.selectList(queryWrapper); @@ -206,7 +206,7 @@ public class FlowController { @PostMapping("/deleteFlow") - private R deleteFlow(@RequestBody JSONObject obj) { + public R deleteFlow(@RequestBody JSONObject obj) { LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); LocalDateTime beginTime = time[0]; LocalDateTime endTime = time[1]; diff --git a/src/main/java/com/example/workflow/controller/IndexController.java b/src/main/java/com/example/workflow/controller/IndexController.java index 8d43c70..ff3c145 100644 --- a/src/main/java/com/example/workflow/controller/IndexController.java +++ b/src/main/java/com/example/workflow/controller/IndexController.java @@ -30,9 +30,9 @@ public class IndexController { @Autowired private IndexService IndexService; @Autowired - private RoleRouterService roleRouterService; + public RoleRouterService roleRouterService; @Autowired - private RouterMapper routerMapper; + public RouterMapper routerMapper; @PostMapping("/getPermission") public R> getPermission(@RequestBody JSONObject obj){ diff --git a/src/main/java/com/example/workflow/controller/KpiRuleController.java b/src/main/java/com/example/workflow/controller/KpiRuleController.java index b177759..32afca0 100644 --- a/src/main/java/com/example/workflow/controller/KpiRuleController.java +++ b/src/main/java/com/example/workflow/controller/KpiRuleController.java @@ -84,7 +84,7 @@ public class KpiRuleController { @PostMapping("/update") - private R update(@RequestBody KpiRuleForm form){ + public R update(@RequestBody KpiRuleForm form) { if(form.getName()==null) return R.error("条目名称不得为空"); else if (form.getTarget1()==null) @@ -115,7 +115,7 @@ public class KpiRuleController { } @PostMapping("/delete") - private R delete(@RequestBody KpiRule one){ + public R delete(@RequestBody KpiRule one) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiPercent::getKpiId,one.getId()); @@ -127,7 +127,7 @@ public class KpiRuleController { } @PostMapping("/getPositionKpi") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpiView::getPositionId,obj.getString("positionId")) @@ -142,7 +142,7 @@ public class KpiRuleController { @PostMapping("/add") - private R add(@RequestBody KpiRuleForm form){ + public R add(@RequestBody KpiRuleForm form) { if(form.getName()==null) return R.error("条目名称不得为空"); else if (form.getTarget1()==null) @@ -178,7 +178,7 @@ public class KpiRuleController { * @return */ @GetMapping("/getKpiPercent") - private R> getKpiPercent(@RequestParam("kpiId") String kpiId){ + public R> getKpiPercent(@RequestParam("kpiId") String kpiId) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiPercent::getKpiId,kpiId) .orderByAsc(KpiPercent::getKpiId) @@ -199,7 +199,7 @@ public class KpiRuleController { * @return */ @PostMapping("/getRuleList") - private R> getRulelist(){ + public R> getRulelist() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiRule::getState,1) @@ -218,7 +218,7 @@ public class KpiRuleController { * @return */ @PostMapping("/addAssessor") - private R addAssessor(@RequestBody PositionKpi form){ + public R addAssessor(@RequestBody PositionKpi form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpi::getPositionId,form.getPositionId()) .eq(PositionKpi::getKpiId,form.getKpiId()) @@ -242,7 +242,7 @@ public class KpiRuleController { * @return */ @PostMapping("/getPositionKpiList") - private R> getPositionKpiList(@RequestBody JSONObject obj){ + public R> getPositionKpiList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpiView::getPositionId,obj.getString("positionId")) @@ -257,7 +257,7 @@ public class KpiRuleController { @PostMapping("/updateAssessor") - private R updateAssessor(@RequestBody PositionKpi form){ + public R updateAssessor(@RequestBody PositionKpi form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpi::getPositionId,form.getPositionId()) .eq(PositionKpi::getKpiId,form.getKpiId()) @@ -277,7 +277,7 @@ public class KpiRuleController { @PostMapping("/removeAssessor") - private R removeAssessor(@RequestBody PositionKpiView form){ + public R removeAssessor(@RequestBody PositionKpiView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpi::getPositionId,form.getPositionId()) .eq(PositionKpi::getKpiId,form.getKpiId()) @@ -291,7 +291,7 @@ public class KpiRuleController { } @PostMapping("/copy") - private R copy(){ + public R copy() { List list= KpiRuleService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) diff --git a/src/main/java/com/example/workflow/controller/OkrRuleController.java b/src/main/java/com/example/workflow/controller/OkrRuleController.java index 2d4ed1a..039a694 100644 --- a/src/main/java/com/example/workflow/controller/OkrRuleController.java +++ b/src/main/java/com/example/workflow/controller/OkrRuleController.java @@ -71,7 +71,7 @@ public class OkrRuleController { } @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(OkrView::getAssessorId,obj.getString("empId")) @@ -86,7 +86,7 @@ public class OkrRuleController { @PostMapping("/add") - private R add(@RequestBody OkrForm form){ + public R add(@RequestBody OkrForm form) { OkrRule one=OkrRuleService.split(form); one.setCreateTime(LocalDateTime.now()); @@ -105,7 +105,7 @@ public class OkrRuleController { @PostMapping("/getKey") - private R> getKeyList(@RequestBody JSONObject obj){ + public R> getKeyList(@RequestBody JSONObject obj) { List list=OkrKeyService.lambdaQuery().eq(OkrKey::getRuleId,obj.getString("ruleId")).list(); return R.success(list); @@ -113,7 +113,7 @@ public class OkrRuleController { @PostMapping("/update") - private R update(@RequestBody OkrForm form){ + public R update(@RequestBody OkrForm form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(OkrKey::getRuleId,form.getId()); OkrKeyService.remove(queryWrapper); @@ -136,7 +136,7 @@ public class OkrRuleController { } @PostMapping("/delete") - private R delete(@RequestBody JSONObject obj){ + public R delete(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(OkrKey::getRuleId,obj.getString("id")) .apply(StringUtils.checkValNotNull(beginTime), @@ -153,7 +153,7 @@ public class OkrRuleController { @PostMapping("/pastList") - private R> pastList(@RequestBody JSONObject obj){ + public R> pastList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); @@ -167,7 +167,7 @@ public class OkrRuleController { } @PostMapping("/getEmpPositionOkr") - private R> getEmpPositionOkr(@RequestBody JSONObject obj){ + public R> getEmpPositionOkr(@RequestBody JSONObject obj) { YearMonth lastMonth = YearMonth.now().minusMonths(1); LocalDateTime lastBeginTime = lastMonth.atDay(1).atStartOfDay(); LocalDateTime lastEndTime = lastMonth.atEndOfMonth().atTime(LocalTime.MAX); diff --git a/src/main/java/com/example/workflow/controller/PieceRuleController.java b/src/main/java/com/example/workflow/controller/PieceRuleController.java index aaa551a..548573d 100644 --- a/src/main/java/com/example/workflow/controller/PieceRuleController.java +++ b/src/main/java/com/example/workflow/controller/PieceRuleController.java @@ -73,7 +73,7 @@ public class PieceRuleController { @PostMapping("/update") - private R update(@RequestBody PieceRule one){ + public R update(@RequestBody PieceRule one) { if(one.getName()==null) return R.error("条目名称不得为空"); else if(one.getTarget1()==null) @@ -90,7 +90,7 @@ public class PieceRuleController { @PostMapping("/delete") - private R delete(@RequestBody PieceRule one){ + public R delete(@RequestBody PieceRule one) { List list=PositionPieceService.lambdaQuery() .eq(PositionPiece::getPieceId,one.getId()) .apply(StringUtils.checkValNotNull(beginTime), @@ -107,7 +107,7 @@ public class PieceRuleController { @PostMapping("/add") - private R add(@RequestBody PieceRule one){ + public R add(@RequestBody PieceRule one) { if(one.getName()==null) return R.error("条目名称不得为空"); else if(one.getTarget1()==null) @@ -136,7 +136,7 @@ public class PieceRuleController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPieceView::getPositionId,obj.getString("positionId")) @@ -151,7 +151,7 @@ public class PieceRuleController { @PostMapping("/getRuleList") - private R> getRulelist(){ + public R> getRulelist() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PieceRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -165,7 +165,7 @@ public class PieceRuleController { @PostMapping("/addAssessor") - private R addAssessor(@RequestBody PositionPiece form){ + public R addAssessor(@RequestBody PositionPiece form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPiece::getPositionId,form.getPositionId()) .eq(PositionPiece::getPieceId,form.getPieceId()) @@ -185,7 +185,7 @@ public class PieceRuleController { @PostMapping("/getPositionPieceList") - private R> getPositionPieceList(@RequestBody JSONObject obj){ + public R> getPositionPieceList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPieceView::getPositionId,obj.getString("positionId")) @@ -199,7 +199,7 @@ public class PieceRuleController { } @PostMapping("/updateAssessor") - private R updateAssessor(@RequestBody PositionPiece form){ + public R updateAssessor(@RequestBody PositionPiece form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPiece::getPositionId,form.getPositionId()) @@ -221,7 +221,7 @@ public class PieceRuleController { @PostMapping("/removeAssessor") - private R removeAssessor(@RequestBody PositionPieceView form){ + public R removeAssessor(@RequestBody PositionPieceView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPiece::getPositionId,form.getPositionId()) @@ -238,7 +238,7 @@ public class PieceRuleController { @PostMapping("/copy") - private R copy(){ + public R copy() { List list= PieceRuleService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) diff --git a/src/main/java/com/example/workflow/controller/PositionAssessorController.java b/src/main/java/com/example/workflow/controller/PositionAssessorController.java index 1b0df17..e733e62 100644 --- a/src/main/java/com/example/workflow/controller/PositionAssessorController.java +++ b/src/main/java/com/example/workflow/controller/PositionAssessorController.java @@ -49,20 +49,20 @@ public class PositionAssessorController { @PostMapping("/add") - private R add(@RequestBody PositionAssessor form){ + public R add(@RequestBody PositionAssessor form) { PositionAssessorService.save(form); return R.success(); } @PostMapping("/update") - private R update(@RequestBody PositionAssessor form){ + public R update(@RequestBody PositionAssessor form) { PositionAssessorService.updateById(form); return R.success(); } @GetMapping("/page") - private R> list(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R> list(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -78,7 +78,7 @@ public class PositionAssessorController { @PostMapping("/copy") - private R copy(){ + public R copy() { List list=PositionAssessorViewService.lambdaQuery() .eq(PositionAssessorView::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -127,7 +127,7 @@ public class PositionAssessorController { } @GetMapping("/ceo/{id}") - private R ceo(@PathVariable Integer id){ + public R ceo(@PathVariable Integer id) { ArrayList employeeVos = new ArrayList<>(); List positions = PositionService.lambdaQuery() .eq(Position::getState, 1) diff --git a/src/main/java/com/example/workflow/controller/PositionController.java b/src/main/java/com/example/workflow/controller/PositionController.java index a691b43..e391bdf 100644 --- a/src/main/java/com/example/workflow/controller/PositionController.java +++ b/src/main/java/com/example/workflow/controller/PositionController.java @@ -84,7 +84,7 @@ public class PositionController { @Autowired private TaskViewMapper TaskViewMapper; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private EmployeePositionMapper EmployeePositionMapper; @Autowired @@ -100,7 +100,7 @@ public class PositionController { @PostMapping("/list") - private R> list(){ + public R> list() { List list= PositionMapper.selectList(null); return R.success(list); @@ -108,7 +108,7 @@ public class PositionController { @PostMapping("/getOne") - private R getOne(@RequestBody JSONObject obj){ + public R getOne(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(Position::getId,obj.getString("positionId")); @@ -165,7 +165,7 @@ public class PositionController { @PostMapping("/add") - private R add(@RequestBody PositionForm form){ + public R add(@RequestBody PositionForm form) { Position check=PositionService.lambdaQuery() .eq(Position::getPosition,form.getPosition()) .eq(Position::getDeptId,form.getDeptId()) @@ -187,7 +187,7 @@ public class PositionController { @PostMapping("/deleteOne") - private R deleteOne(@RequestBody Position form){ + public R deleteOne(@RequestBody Position form) { PositionMapper.deleteById(form); LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); @@ -269,7 +269,7 @@ public class PositionController { @PostMapping("/getInf") - private R>> getInf(@RequestBody JSONObject obj){ + public R>> getInf(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(Position::getId,obj.getString("positionId")); @@ -292,7 +292,7 @@ public class PositionController { @PostMapping("/update") - private R update(@RequestBody Position form){ + public R update(@RequestBody Position form) { if(form.getType()==2) form.setTypeName("二级CEO岗"); else if(form.getType()==3) @@ -317,7 +317,7 @@ public class PositionController { } @PostMapping("/getOnePosition") - private R> getOnePosition(@RequestBody JSONObject obj){ + public R> getOnePosition(@RequestBody JSONObject obj) { List employeePositions=EmployeePositionService .lambdaQuery() .eq(EmployeePosition::getEmpId,obj.getString("empId")) @@ -337,7 +337,7 @@ public class PositionController { } @PostMapping("/updateState") - private R updateState(){ + public R updateState() { List positionList=PositionService.lambdaQuery() .eq(Position::getState,1) .list(); @@ -365,7 +365,7 @@ public class PositionController { } @PostMapping("/getTree") - private R>>> getTree() { + public R>>> getTree() { List list=PositionService.lambdaQuery().list(); Map>> groupedByKind = list.stream() .collect(Collectors.groupingBy(Position::getKindName, @@ -375,7 +375,7 @@ public class PositionController { } @PostMapping("/getCheckTree") - private R>> getCheckTree() { + public R>> getCheckTree() { List list=DeptService.lambdaQuery().list(); List> tree=new ArrayList<>(); list.forEach(x->{ diff --git a/src/main/java/com/example/workflow/controller/PreviewController.java b/src/main/java/com/example/workflow/controller/PreviewController.java index 92ee67e..f1b3246 100644 --- a/src/main/java/com/example/workflow/controller/PreviewController.java +++ b/src/main/java/com/example/workflow/controller/PreviewController.java @@ -49,7 +49,7 @@ public class PreviewController { @Autowired private PositionKpiViewMapper PositionKpiViewMapper; @Autowired - private RegionCoefficientMapper RegionCoefficientMapper; + public RegionCoefficientMapper RegionCoefficientMapper; @Autowired private CoefficientViewService CoefficientViewService; @Autowired @@ -59,7 +59,7 @@ public class PreviewController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()).minusMonths(1), LocalTime.MAX); @PostMapping("/getScoreRulelist") - private R> getScoreRulelist(){ + public R> getScoreRulelist() { List list=ScoreRuleService.lambdaQuery() .eq(ScoreRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -72,7 +72,7 @@ public class PreviewController { } @PostMapping("/getPositionScoreList") - private R> getPositionScoreList(){ + public R> getPositionScoreList() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getScoreState,1) @@ -86,7 +86,7 @@ public class PreviewController { } @PostMapping("/getPieceRuleList") - private R> getPieceRuleList(){ + public R> getPieceRuleList() { List list=PieceRuleService.lambdaQuery() .eq(PieceRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -99,7 +99,7 @@ public class PreviewController { } @PostMapping("/getPositionPieceList") - private R> getPositionPieceList(){ + public R> getPositionPieceList() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPieceView::getScoreState,1) @@ -113,7 +113,7 @@ public class PreviewController { } @PostMapping("/getKpiRuleList") - private R> getKpiRuleList(){ + public R> getKpiRuleList() { List list=KpiRulePercentService.lambdaQuery() .eq(KpiRulePercent::getState,1) @@ -129,7 +129,7 @@ public class PreviewController { } @PostMapping("/getPositionKpiList") - private R> getPositionKpiList(){ + public R> getPositionKpiList() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpiView::getKpiState,1) @@ -143,7 +143,7 @@ public class PreviewController { } @PostMapping("/getRegionCoefficientList") - private R> getRegionCoefficientList(){ + public R> getRegionCoefficientList() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.orderByAsc(RegionCoefficient::getId) .eq(RegionCoefficient::getState,1) @@ -157,7 +157,7 @@ public class PreviewController { } @PostMapping("/getEmpCoefficientList") - private R> getEmpCoefficientList(){ + public R> getEmpCoefficientList() { List list=CoefficientViewService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), @@ -171,7 +171,7 @@ public class PreviewController { } @PostMapping("/getPositionAssessorView") - private R> getPositionAssessorView(){ + public R> getPositionAssessorView() { List list=PositionAssessorViewService.lambdaQuery() .eq(PositionAssessorView::getState,1) diff --git a/src/main/java/com/example/workflow/controller/ProgressController.java b/src/main/java/com/example/workflow/controller/ProgressController.java index 4bf6803..512dd4e 100644 --- a/src/main/java/com/example/workflow/controller/ProgressController.java +++ b/src/main/java/com/example/workflow/controller/ProgressController.java @@ -41,7 +41,7 @@ public class ProgressController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/now") - private R>> getProgress(){ + public R>> getProgress() { List empPositionViewList= EmpPositionViewService.lambdaQuery() .eq(EmpPositionView::getState,1) .eq(EmpPositionView::getAuditStatus,1) @@ -56,7 +56,7 @@ public class ProgressController { } @GetMapping("/search") - private R>> searchProgress( + public R>> searchProgress( @RequestParam(defaultValue = "") String empName , @RequestParam(defaultValue = "") String dept ,@RequestParam(defaultValue = "") String position){ diff --git a/src/main/java/com/example/workflow/controller/RegionCoefficientController.java b/src/main/java/com/example/workflow/controller/RegionCoefficientController.java index 49db72f..54a6160 100644 --- a/src/main/java/com/example/workflow/controller/RegionCoefficientController.java +++ b/src/main/java/com/example/workflow/controller/RegionCoefficientController.java @@ -40,9 +40,9 @@ import java.util.List; @RequestMapping("/RegionCoefficient") public class RegionCoefficientController { @Autowired - private RegionCoefficientMapper RegionCoefficientMapper; + public RegionCoefficientMapper RegionCoefficientMapper; @Autowired - private RegionCoefficientService RegionCoefficientService; + public RegionCoefficientService RegionCoefficientService; @Autowired private EmployeeCoefficientService EmployeeCoefficientService; @Autowired @@ -53,7 +53,7 @@ public class RegionCoefficientController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/list") - private R> list(){ + public R> list() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.orderByAsc(RegionCoefficient::getId) .eq(RegionCoefficient::getState,1) @@ -80,7 +80,7 @@ public class RegionCoefficientController { } @PostMapping("/add") - private R add(@RequestBody RegionCoefficient form){ + public R add(@RequestBody RegionCoefficient form) { if(form.getRegion()==null) return R.error("地区不得为空"); if(form.getCoefficient()==null) @@ -91,7 +91,7 @@ public class RegionCoefficientController { } @PostMapping("/match") - private R matchCoefficient(){ + public R matchCoefficient() { List list=RegionCoefficientMapper.selectList(null); String rules=RegionCoefficientService.defineRule(list); @@ -108,12 +108,12 @@ public class RegionCoefficientController { } @PostMapping("/delete") - private R delete(@RequestBody RegionCoefficient one){ + public R delete(@RequestBody RegionCoefficient one) { RegionCoefficientMapper.deleteById(one); return R.success(); } @PostMapping("/update") - private R update(@RequestBody RegionCoefficient form){ + public R update(@RequestBody RegionCoefficient form) { if(form.getRegion()==null) return R.error("地区不得为空"); if(form.getCoefficient()==null) @@ -125,7 +125,7 @@ public class RegionCoefficientController { @PostMapping("/copy") - private R copy(){ + public R copy() { List list=RegionCoefficientService.lambdaQuery() .eq(RegionCoefficient::getState,1) .apply(StringUtils.checkValNotNull(beginTime), diff --git a/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java b/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java index e69e8bc..3c98ab0 100644 --- a/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java @@ -46,7 +46,7 @@ import java.util.Map; @RequestMapping("/ResultFourthExamine") public class ResultFourthExamineController { @Autowired - private ResultFourthExamineService ResultFourthExamineService; + public ResultFourthExamineService ResultFourthExamineService; @Autowired private PositionAssessorService PositionAssessorService; @Autowired @@ -58,9 +58,9 @@ public class ResultFourthExamineController { @Autowired private IdentityService identityService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired - private RoleService RoleService; + public RoleService RoleService; @Autowired private EmployeeService EmployeeService; @Autowired @@ -73,7 +73,7 @@ public class ResultFourthExamineController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/completeList") - private R> completeList(@RequestBody JSONObject obj){ + public R> completeList(@RequestBody JSONObject obj) { List resultFourthExamineList=ResultFourthExamineService.lambdaQuery() .eq(ResultFourthExamine::getAssessorId, obj.getString("assessorId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -96,7 +96,7 @@ public class ResultFourthExamineController { } @PostMapping("/getFinishState") - private R getFinishState(@RequestBody JSONObject obj){ + public R getFinishState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -123,7 +123,7 @@ public class ResultFourthExamineController { @PostMapping("/addPiece") - private R add(@RequestBody JSONObject form) { + public R add(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -160,7 +160,7 @@ public class ResultFourthExamineController { @PostMapping("/addKpi") - private R addKpi(@RequestBody JSONObject form) { + public R addKpi(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -198,7 +198,7 @@ public class ResultFourthExamineController { @PostMapping("/rejectPiece") - private R rejectPiece(@RequestBody JSONObject form){ + public R rejectPiece(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -268,7 +268,7 @@ public class ResultFourthExamineController { @PostMapping("/rejectKpi") - private R rejectKpi(@RequestBody JSONObject form){ + public R rejectKpi(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -338,7 +338,7 @@ public class ResultFourthExamineController { @PostMapping("/reAddPiece") - private R reAddPiece(@RequestBody JSONObject form) { + public R reAddPiece(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -413,7 +413,7 @@ public class ResultFourthExamineController { @PostMapping("/reAddKpi") - private R reAddKpi(@RequestBody JSONObject form) { + public R reAddKpi(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) diff --git a/src/main/java/com/example/workflow/controller/ResultKpiController.java b/src/main/java/com/example/workflow/controller/ResultKpiController.java index 37cddc0..ac68903 100644 --- a/src/main/java/com/example/workflow/controller/ResultKpiController.java +++ b/src/main/java/com/example/workflow/controller/ResultKpiController.java @@ -45,23 +45,23 @@ public class ResultKpiController { @Autowired private EmpKpiViewMapper EmpKpiViewMapper; @Autowired - private ResultKpiService ResultKpiService; + public ResultKpiService ResultKpiService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired private TaskService taskService; @Autowired - private ResultKpiEmpViewMapper ResultKpiEmpViewMapper; + public ResultKpiEmpViewMapper ResultKpiEmpViewMapper; @Autowired private PositionAssessorService PositionAssessorService; @Autowired private com.example.workflow.service.EmployeePositionService EmployeePositionService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private IdentityService identityService; @Autowired - private RoleMapper RoleMapper; + public RoleMapper RoleMapper; @Autowired private BackWaitService BackWaitService; @Autowired @@ -73,7 +73,7 @@ public class ResultKpiController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpKpiView::getEmpId,obj.getString("empId")) @@ -88,7 +88,7 @@ public class ResultKpiController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -145,7 +145,7 @@ public class ResultKpiController { } @PostMapping("/BackKpiList") - private R> BackList(@RequestBody JSONObject obj){ + public R> BackList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); @@ -164,7 +164,7 @@ public class ResultKpiController { } @PostMapping("/BackAdd") - private R BackAdd(@RequestBody JSONObject form){ + public R BackAdd(@RequestBody JSONObject form) { /*JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -226,7 +226,7 @@ public class ResultKpiController { } @PostMapping("/updateBackAdd") - private R updateBackAdd(@RequestBody JSONObject form){ + public R updateBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultOkrController.java b/src/main/java/com/example/workflow/controller/ResultOkrController.java index c3cd810..8943792 100644 --- a/src/main/java/com/example/workflow/controller/ResultOkrController.java +++ b/src/main/java/com/example/workflow/controller/ResultOkrController.java @@ -29,10 +29,10 @@ public class ResultOkrController { @Autowired private EmpOkrViewMapper EmpOkrViewMapper; @Autowired - private ResultOkrService ResultOkrService; + public ResultOkrService ResultOkrService; @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @@ -49,7 +49,7 @@ public class ResultOkrController { } @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultPieceController.java b/src/main/java/com/example/workflow/controller/ResultPieceController.java index 38fa336..fc29fc0 100644 --- a/src/main/java/com/example/workflow/controller/ResultPieceController.java +++ b/src/main/java/com/example/workflow/controller/ResultPieceController.java @@ -46,23 +46,23 @@ public class ResultPieceController { @Autowired private EmpPieceViewMapper EmpPieceViewMapper; @Autowired - private ResultPieceService ResultPieceService; + public ResultPieceService ResultPieceService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired private TaskService taskService; @Autowired - private ResultPieceEmpViewMapper ResultPieceEmpViewMapper; + public ResultPieceEmpViewMapper ResultPieceEmpViewMapper; @Autowired private PositionAssessorService PositionAssessorService; @Autowired private EmployeePositionService EmployeePositionService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private IdentityService identityService; @Autowired - private RoleMapper RoleMapper; + public RoleMapper RoleMapper; @Autowired private BackWaitService BackWaitService; @Autowired @@ -74,7 +74,7 @@ public class ResultPieceController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPieceView::getEmpId,obj.getString("empId")) @@ -89,7 +89,7 @@ public class ResultPieceController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -146,7 +146,7 @@ public class ResultPieceController { } @PostMapping("/BackPieceList") - private R> BackList(@RequestBody JSONObject obj){ + public R> BackList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @@ -164,7 +164,7 @@ public class ResultPieceController { } @PostMapping("/BackAdd") - private R BackAdd(@RequestBody JSONObject form){ + public R BackAdd(@RequestBody JSONObject form) { /*JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -226,7 +226,7 @@ public class ResultPieceController { } @PostMapping("/updateBackAdd") - private R updateBackAdd(@RequestBody JSONObject form){ + public R updateBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultScoreController.java b/src/main/java/com/example/workflow/controller/ResultScoreController.java index 514e89b..5b966e6 100644 --- a/src/main/java/com/example/workflow/controller/ResultScoreController.java +++ b/src/main/java/com/example/workflow/controller/ResultScoreController.java @@ -46,13 +46,13 @@ public class ResultScoreController { @Autowired private EmpScoreContentViewMapper EmpScoreContentViewMapper; @Autowired - private ResultScoreService ResultScoreService; + public ResultScoreService ResultScoreService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired - private ResultScoreEmpViewMapper ResultScoreEmpViewMapper; + public ResultScoreEmpViewMapper ResultScoreEmpViewMapper; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private IdentityService identityService; @Autowired @@ -70,7 +70,7 @@ public class ResultScoreController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpScoreView::getEmpId,obj.getString("empId")) @@ -82,7 +82,7 @@ public class ResultScoreController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -102,7 +102,7 @@ public class ResultScoreController { } @PostMapping("/BackScoreList") - private R> BackList(@RequestBody JSONObject obj){ + public R> BackList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @@ -120,7 +120,7 @@ public class ResultScoreController { } @PostMapping("/BackAdd") - private R BackAdd(@RequestBody JSONObject form){ + public R BackAdd(@RequestBody JSONObject form) { /*JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -178,7 +178,7 @@ public class ResultScoreController { } @PostMapping("/updateBackAdd") - private R updateBackAdd(@RequestBody JSONObject form){ + public R updateBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java b/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java index dce4405..b2f9f59 100644 --- a/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java @@ -76,19 +76,19 @@ public class ResultSecondExamineController { @Autowired private TaskService taskService; @Autowired - private ResultScoreEmpViewMapper ResultScoreEmpViewMapper; + public ResultScoreEmpViewMapper ResultScoreEmpViewMapper; @Autowired - private ResultPieceEmpViewMapper ResultPieceEmpViewMapper; + public ResultPieceEmpViewMapper ResultPieceEmpViewMapper; @Autowired - private ResultKpiEmpViewMapper ResultKpiEmpViewMapper; + public ResultKpiEmpViewMapper ResultKpiEmpViewMapper; @Autowired - private RoleMapper RoleMapper; + public RoleMapper RoleMapper; @Autowired - private ResultSecondExamineService ResultSecondExamineService; + public ResultSecondExamineService ResultSecondExamineService; @Autowired private EmployeeMapper EmployeeMapper; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private EmpScoreViewMapper EmpScoreViewMapper; @Autowired @@ -100,7 +100,7 @@ public class ResultSecondExamineController { @Autowired private PositionViewService PositionViewService; @Autowired - private RoleService RoleService; + public RoleService RoleService; @Autowired private EmployeeService EmployeeService; @Autowired @@ -127,7 +127,7 @@ public class ResultSecondExamineController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/completeList") - private R> completeList(@RequestBody JSONObject obj){ + public R> completeList(@RequestBody JSONObject obj) { List resultThirdExamineList=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getAssessorId, obj.getString("assessorId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -149,7 +149,7 @@ public class ResultSecondExamineController { } @PostMapping("/getFinishState") - private R>> getFinishState(@RequestBody JSONObject obj){ + public R>> getFinishState(@RequestBody JSONObject obj) { Map> resultMap = new HashMap<>(); TaskState state=new TaskState(); state.setKpiState(0); @@ -229,7 +229,7 @@ public class ResultSecondExamineController { } @PostMapping("/list") - private R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { + public R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -310,7 +310,7 @@ public class ResultSecondExamineController { //===================================================================== //终审需查看 @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(EmployeePosition::getPositionId,form.getString("positionId")); @@ -422,7 +422,7 @@ public class ResultSecondExamineController { } @PostMapping("/getSecondBackOkrTask") - private R> getSecondBackOkrTask(@RequestBody JSONObject obj){ + public R> getSecondBackOkrTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_okr") @@ -474,7 +474,7 @@ public class ResultSecondExamineController { } @PostMapping("/getSecondBackPieceTask") - private R> getSecondBackPieceTask(@RequestBody JSONObject obj){ + public R> getSecondBackPieceTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_piece") @@ -526,7 +526,7 @@ public class ResultSecondExamineController { } @PostMapping("/getSecondBackScoreTask") - private R> getSecondBackScoreTask(@RequestBody JSONObject obj){ + public R> getSecondBackScoreTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_score") @@ -578,7 +578,7 @@ public class ResultSecondExamineController { } @PostMapping("/getSecondBackKpiTask") - private R> getSecondBackKpiTask(@RequestBody JSONObject obj){ + public R> getSecondBackKpiTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_kpi") @@ -631,7 +631,7 @@ public class ResultSecondExamineController { @PostMapping("/backAddScore") - private R backAddScore(@RequestBody JSONObject form){ + public R backAddScore(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -674,7 +674,7 @@ public class ResultSecondExamineController { } @PostMapping("/backAddPiece") - private R backAddPiece(@RequestBody JSONObject form){ + public R backAddPiece(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -717,7 +717,7 @@ public class ResultSecondExamineController { } @PostMapping("/backAddKpi") - private R backAddKpi(@RequestBody JSONObject form){ + public R backAddKpi(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -761,7 +761,7 @@ public class ResultSecondExamineController { } @PostMapping("/backAddOkr") - private R backAddOkr(@RequestBody JSONObject form){ + public R backAddOkr(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -805,7 +805,7 @@ public class ResultSecondExamineController { } - private void updateFlow(JSONObject form){ + public void updateFlow(JSONObject form) { Long roleId= RoleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) @@ -842,7 +842,7 @@ public class ResultSecondExamineController { PositionService.updateById(position); } - private void removeScore(JSONObject form,EmployeePosition one){ + public void removeScore(JSONObject form, EmployeePosition one) { List assessorList1 = new ArrayList<>(); List scoreList=PositionScoreService.lambdaQuery() .eq(PositionScore::getPositionId,form.getString("positionId")) @@ -874,7 +874,7 @@ public class ResultSecondExamineController { }); } - private void removeOkr(JSONObject form,EmployeePosition one){ + public void removeOkr(JSONObject form, EmployeePosition one) { List okrList=OkrKeyService.lambdaQuery() .eq(OkrKey::getPositionId,form.getString("positionId")) .eq(OkrKey::getLiaEmpId,one.getEmpId()) diff --git a/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java b/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java index dc1686e..5358418 100644 --- a/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java @@ -83,19 +83,19 @@ import java.util.stream.Collectors; @RequestMapping("/ResultThirdExamine") public class ResultThirdExamineController { @Autowired - private ResultScoreEmpViewMapper ResultScoreEmpViewMapper; + public ResultScoreEmpViewMapper ResultScoreEmpViewMapper; @Autowired - private ResultPieceEmpViewMapper ResultPieceEmpViewMapper; + public ResultPieceEmpViewMapper ResultPieceEmpViewMapper; @Autowired - private ResultKpiEmpViewMapper ResultKpiEmpViewMapper; + public ResultKpiEmpViewMapper ResultKpiEmpViewMapper; @Autowired - private ResultThirdExamineService ResultThirdExamineService; + public ResultThirdExamineService ResultThirdExamineService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired private TaskService taskService; @Autowired - private ResultThirdExamineMapper ResultThirdExamineMapper; + public ResultThirdExamineMapper ResultThirdExamineMapper; @Autowired private PositionAssessorService PositionAssessorService; @Autowired @@ -111,11 +111,11 @@ public class ResultThirdExamineController { @Autowired private IdentityService identityService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private PositionPieceService PositionPieceService; @Autowired - private RoleService RoleService; + public RoleService RoleService; @Autowired private EmployeeService EmployeeService; @Autowired @@ -156,7 +156,7 @@ public class ResultThirdExamineController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/completeList") - private R> completeList(@RequestBody JSONObject obj){ + public R> completeList(@RequestBody JSONObject obj) { List resultThirdExamineList=ResultThirdExamineService.lambdaQuery() .eq(ResultThirdExamine::getAssessorId, obj.getString("assessorId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -179,7 +179,7 @@ public class ResultThirdExamineController { } @PostMapping("/getFinishState") - private R>> getFinishState(@RequestBody JSONObject obj){ + public R>> getFinishState(@RequestBody JSONObject obj) { Map> resultMap = new HashMap<>(); TaskState state=new TaskState(); state.setKpiState(0); @@ -265,7 +265,7 @@ public class ResultThirdExamineController { @PostMapping("/list") - private R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { + public R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -355,7 +355,7 @@ public class ResultThirdExamineController { @PostMapping("/add") - private R add(@RequestBody ResultThirdExamineForm form){ + public R add(@RequestBody ResultThirdExamineForm form) { System.out.println(form); @@ -375,7 +375,7 @@ public class ResultThirdExamineController { @PostMapping("/addBackScore") - private R addBack(@RequestBody JSONObject obj){ + public R addBack(@RequestBody JSONObject obj) { Long assessorId = Long.valueOf(obj.getString("assessorId")); Long empId=Long.valueOf(obj.getString("empId")); @@ -474,7 +474,7 @@ public class ResultThirdExamineController { @PostMapping("/addBackPiece") - private R addBackPiece(@RequestBody JSONObject obj){ + public R addBackPiece(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); @@ -551,7 +551,7 @@ public class ResultThirdExamineController { @PostMapping("/addBackKpi") - private R addBackKpi(@RequestBody JSONObject obj){ + public R addBackKpi(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); @@ -630,7 +630,7 @@ public class ResultThirdExamineController { @PostMapping("/addBackOkr") - private R addBackOkr(@RequestBody JSONObject obj){ + public R addBackOkr(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); @@ -709,7 +709,7 @@ public class ResultThirdExamineController { @PostMapping("/backList") - private R>> backList(@RequestBody JSONObject obj) throws JsonProcessingException { + public R>> backList(@RequestBody JSONObject obj) throws JsonProcessingException { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); diff --git a/src/main/java/com/example/workflow/controller/ScoreRuleController.java b/src/main/java/com/example/workflow/controller/ScoreRuleController.java index 493872e..a2648e3 100644 --- a/src/main/java/com/example/workflow/controller/ScoreRuleController.java +++ b/src/main/java/com/example/workflow/controller/ScoreRuleController.java @@ -83,7 +83,7 @@ public class ScoreRuleController { @PostMapping("/update") - private R update(@RequestBody ScoreRule one){ + public R update(@RequestBody ScoreRule one) { if(one.getTarget()==null) R.error("条目名称不得为空"); @@ -94,7 +94,7 @@ public class ScoreRuleController { @PostMapping("/delete") - private R delete(@RequestBody ScoreRule one){ + public R delete(@RequestBody ScoreRule one) { List list=PositionScoreService.lambdaQuery() .eq(PositionScore::getScoreId,one.getId()) .apply(StringUtils.checkValNotNull(beginTime), @@ -122,7 +122,7 @@ public class ScoreRuleController { @PostMapping("/add") - private R add(@RequestBody ScoreRule one){ + public R add(@RequestBody ScoreRule one) { if(one.getTarget()==null) R.error("条目名称不得为空"); @@ -145,7 +145,7 @@ public class ScoreRuleController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ScoreContactAssessors::getPositionId,obj.getString("id")) @@ -161,7 +161,7 @@ public class ScoreRuleController { @PostMapping("/getRulelist") - private R> getRulelist(){ + public R> getRulelist() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ScoreRule::getState,1) @@ -176,7 +176,7 @@ public class ScoreRuleController { @PostMapping("/addAssessor") - private R addAssessor(@RequestBody ScoreRuleForm form){ + public R addAssessor(@RequestBody ScoreRuleForm form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScore::getPositionId,form.getPositionId()) .eq(PositionScore::getScoreId,form.getScoreId()) @@ -217,7 +217,7 @@ public class ScoreRuleController { } @PostMapping("/getPositionScoreList") - private R> getPositionScoreList(@RequestBody JSONObject obj){ + public R> getPositionScoreList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getPositionId,obj.getString("positionId")) @@ -232,7 +232,7 @@ public class ScoreRuleController { @PostMapping("/getPositionScoreAssessorList") - private R> getPositionScoreAssessorList(@RequestBody JSONObject obj){ + public R> getPositionScoreAssessorList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getPositionId,obj.getString("positionId")) @@ -247,7 +247,7 @@ public class ScoreRuleController { } @PostMapping("/getOneScoreAssessorList") - private R> getOneScoreAssessorList(@RequestBody JSONObject obj){ + public R> getOneScoreAssessorList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getPositionId,obj.getString("positionId")) @@ -262,7 +262,7 @@ public class ScoreRuleController { } @PostMapping("/updateAssessor") - private R updateAssessor(@RequestBody ScoreRuleForm form){ + public R updateAssessor(@RequestBody ScoreRuleForm form) { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(PositionScore::getPositionId,form.getPositionId()) .eq(PositionScore::getScoreId,form.getScoreId()) @@ -312,7 +312,7 @@ public class ScoreRuleController { @PostMapping("/removeAssessor") - private R removeAssessor(@RequestBody PositionScoreView form){ + public R removeAssessor(@RequestBody PositionScoreView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScore::getPositionId,form.getPositionId()) .eq(PositionScore::getScoreId,form.getScoreId()) @@ -340,7 +340,7 @@ public class ScoreRuleController { @PostMapping("/copy") - private R copy(){ + public R copy() { List list= ScoreRuleService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) diff --git a/src/main/java/com/example/workflow/controller/TaskViewController.java b/src/main/java/com/example/workflow/controller/TaskViewController.java index c105fbd..1605735 100644 --- a/src/main/java/com/example/workflow/controller/TaskViewController.java +++ b/src/main/java/com/example/workflow/controller/TaskViewController.java @@ -55,7 +55,7 @@ public class TaskViewController { private EmployeePositionService EmployeePositionService; @PostMapping("/getWageTask") - private R> getWageTask(@RequestBody JSONObject obj){ + public R> getWageTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getName,"declare") .eq(TaskView::getAssignee,obj.getString("empId")); @@ -79,7 +79,7 @@ public class TaskViewController { @PostMapping("/getFourthTask") - private R> getView(@RequestBody JSONObject obj){ + public R> getView(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getState,"ACTIVE") @@ -107,7 +107,7 @@ public class TaskViewController { @PostMapping("/getFourthTaskState") - private R getFourthTaskState(@RequestBody JSONObject obj){ + public R getFourthTaskState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -132,7 +132,7 @@ public class TaskViewController { } @PostMapping("/getFourthEnterTask") - private R> getFourthEnterTask(@RequestBody JSONObject obj){ + public R> getFourthEnterTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) @@ -162,7 +162,7 @@ public class TaskViewController { @PostMapping("/getFourthTaskEnterState") - private R getFourthTaskEnterState(@RequestBody JSONObject obj){ + public R getFourthTaskEnterState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -187,7 +187,7 @@ public class TaskViewController { @PostMapping("/getThirdTask") - private R> getThirdTask(@RequestBody JSONObject obj){ + public R> getThirdTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) @@ -207,7 +207,7 @@ public class TaskViewController { @PostMapping("/getSecondTask") - private R> getSecondTask(@RequestBody JSONObject obj){ + public R> getSecondTask(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"second") @@ -255,7 +255,7 @@ public class TaskViewController { } @PostMapping("/getBackWagePiece") - private R> getBackWagePiece(@RequestBody JSONObject obj){ + public R> getBackWagePiece(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_wageEmp_piece") @@ -281,7 +281,7 @@ public class TaskViewController { } @PostMapping("/getBackWageKpi") - private R> getBackWageKpi(@RequestBody JSONObject obj){ + public R> getBackWageKpi(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_wageEmp_kpi") @@ -308,7 +308,7 @@ public class TaskViewController { } @PostMapping("/getBackFourthScore") - private R> getBackFourthScore(@RequestBody JSONObject obj){ + public R> getBackFourthScore(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_score") @@ -334,7 +334,7 @@ public class TaskViewController { } @PostMapping("/getBackFourthOkr") - private R> getBackFourthOkr(@RequestBody JSONObject obj){ + public R> getBackFourthOkr(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_okr") @@ -360,7 +360,7 @@ public class TaskViewController { } @PostMapping("/getBackFourthPiece") - private R> getBackFourthPiece(@RequestBody JSONObject obj){ + public R> getBackFourthPiece(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_fourth_piece") @@ -387,7 +387,7 @@ public class TaskViewController { } @PostMapping("/getBackFourthKpi") - private R> getBackFourthKpi(@RequestBody JSONObject obj){ + public R> getBackFourthKpi(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_fourth_kpi") @@ -414,7 +414,7 @@ public class TaskViewController { } @PostMapping("/getBackThirdPiece") - private R> getBackThirdPiece(@RequestBody JSONObject obj){ + public R> getBackThirdPiece(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_piece") @@ -440,7 +440,7 @@ public class TaskViewController { } @PostMapping("/getBackThirdKpi") - private R> getBackThirdKpi(@RequestBody JSONObject obj){ + public R> getBackThirdKpi(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_kpi") @@ -466,7 +466,7 @@ public class TaskViewController { } @PostMapping("/getBackThirdScore") - private R> getBackThirdScore(@RequestBody JSONObject obj){ + public R> getBackThirdScore(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_score") @@ -492,7 +492,7 @@ public class TaskViewController { } @PostMapping("/getBackThirdOkr") - private R> getBackThirdOkr(@RequestBody JSONObject obj){ + public R> getBackThirdOkr(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_okr") @@ -519,7 +519,7 @@ public class TaskViewController { @PostMapping("/getWageFileTask") - private R> getWageFileTask(@RequestBody JSONObject obj){ + public R> getWageFileTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"wage_emp") @@ -547,7 +547,7 @@ public class TaskViewController { @PostMapping("/fourthTaskCount") - private R> getFourthCount(@RequestBody JSONObject obj){ + public R> getFourthCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getState,"ACTIVE") @@ -619,7 +619,7 @@ public class TaskViewController { @PostMapping("/EmpWageTaskCount") - private R> getEmpWageCount(@RequestBody JSONObject obj){ + public R> getEmpWageCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"wage_emp") @@ -678,7 +678,7 @@ public class TaskViewController { @PostMapping("/thirdTaskCount") - private R> getThirdCount(@RequestBody JSONObject obj){ + public R> getThirdCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getState,"ACTIVE") @@ -776,7 +776,7 @@ public class TaskViewController { @PostMapping("/secondTaskCount") - private R> getSecondCount(@RequestBody JSONObject obj){ + public R> getSecondCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"third") diff --git a/src/main/java/com/example/workflow/controller/TestController.java b/src/main/java/com/example/workflow/controller/TestController.java index a3524e5..f5df003 100644 --- a/src/main/java/com/example/workflow/controller/TestController.java +++ b/src/main/java/com/example/workflow/controller/TestController.java @@ -20,16 +20,16 @@ public class TestController { return "test"; }*/ @Autowired - private RepositoryService repositoryService; + public RepositoryService repositoryService; @Autowired private IdentityService identityService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private PositionAssessorService PositionAssessorService; @PostMapping("/test") - private R test(){ + public R test() { PositionAssessorService.monthCopy(); return R.success(); } diff --git a/src/main/java/com/example/workflow/controller/WageEmpController.java b/src/main/java/com/example/workflow/controller/WageEmpController.java index f3efd66..bccd4b1 100644 --- a/src/main/java/com/example/workflow/controller/WageEmpController.java +++ b/src/main/java/com/example/workflow/controller/WageEmpController.java @@ -89,7 +89,7 @@ public class WageEmpController { @PostMapping("/getState") - private R getState(@RequestBody JSONObject obj){ + public R getState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); @@ -135,7 +135,7 @@ public class WageEmpController { } @PostMapping("/updateFlow") - private R updateFlow(@RequestBody JSONObject obj){ + public R updateFlow(@RequestBody JSONObject obj) { Map map = new HashMap<>(); @@ -262,7 +262,7 @@ public class WageEmpController { } @PostMapping("/updateFlowAll") - private R updateFlowAll(@RequestBody List list){ + public R updateFlowAll(@RequestBody List list) { if(list.isEmpty()) { return R.error("未选择申报对象,请选择申报对象"); } @@ -386,7 +386,7 @@ public class WageEmpController { } @PostMapping("/reAddPiece") - private R reAddPiece(@RequestBody JSONObject obj){ + public R reAddPiece(@RequestBody JSONObject obj) { BackWait backWait=BackWaitService.lambdaQuery() .eq(BackWait::getPositionId,obj.getString("positionId")) .eq(BackWait::getEmpId,obj.getString("empId")) @@ -427,7 +427,7 @@ public class WageEmpController { @PostMapping("/reAddKpi") - private R reAddKpi(@RequestBody JSONObject obj){ + public R reAddKpi(@RequestBody JSONObject obj) { BackWait backWait=BackWaitService.lambdaQuery() .eq(BackWait::getPositionId,obj.getString("positionId")) .eq(BackWait::getEmpId,obj.getString("empId")) -- Gitee From dc31d68abd2924c66d9ede285e27385a839eb7a6 Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 12 Jan 2025 23:01:51 +0800 Subject: [PATCH 36/78] =?UTF-8?q?update:spring-logback.xml=20=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/logback-spring.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index a917694..2323dc1 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -1,6 +1,4 @@ - - -- Gitee From edf03e10fc59a6c9972e960ce8ff6f895bfbc865 Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 12 Jan 2025 23:03:03 +0800 Subject: [PATCH 37/78] =?UTF-8?q?add:=20=E6=8E=A7=E5=88=B6=E5=8F=B0?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E6=AF=8F=E6=AC=A1=E8=AF=B7=E6=B1=82=E7=9A=84?= =?UTF-8?q?uri=E4=B8=8E=E8=AF=B7=E6=B1=82=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/workflow/aspect/ParamAspect.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/com/example/workflow/aspect/ParamAspect.java diff --git a/src/main/java/com/example/workflow/aspect/ParamAspect.java b/src/main/java/com/example/workflow/aspect/ParamAspect.java new file mode 100644 index 0000000..52c5210 --- /dev/null +++ b/src/main/java/com/example/workflow/aspect/ParamAspect.java @@ -0,0 +1,34 @@ +package com.example.workflow.aspect; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.StringJoiner; + +@Slf4j +@Component +@Aspect +public class ParamAspect { + + @Resource + HttpServletRequest request; + + @Pointcut("execution(* com.example.workflow.controller..*.*(..))") + public void controller() { + } + + @Before("controller()") + public void before(JoinPoint joinPoint) { + StringJoiner sj = new StringJoiner("\n", "\n", "\n"); + for (Object arg : joinPoint.getArgs()) { + sj.add(arg.toString()); + } + log.info("请求uri:{} \n 请求参数:{}", request.getRequestURI(), sj); + } +} -- Gitee From a802dc2ab420b2057aa00c0d4824fdcc3faf0c1d Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 18 Jul 2024 22:01:14 +0800 Subject: [PATCH 38/78] =?UTF-8?q?build:=20camunda-engine-plugin-spin?= =?UTF-8?q?=E5=92=8Cmybatis=E7=9B=B8=E5=85=B3=E4=BE=9D=E8=B5=96=E7=9A=84?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=EF=BC=8C=E4=BB=A5=E5=8F=8Amapstruct=E7=9A=84?= =?UTF-8?q?=E5=BC=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了camunda-engine-plugin-spin及其相关依赖 - 移除了mybatis-spring-boot-starter依赖 -引入了mapstruct及其processor依赖 --- pom.xml | 41 +++++++++++++---------------------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/pom.xml b/pom.xml index 59ef1ce..3cf0e83 100644 --- a/pom.xml +++ b/pom.xml @@ -20,16 +20,9 @@ UTF-8 8 8 - 2.7.3 3.5.3.1 - 1.2.10 8.0.23 - 1.9.4 1.2.66 - 3.4 - 1.9 - 2.5 - 3.2.0 @@ -46,26 +39,11 @@ - - org.camunda.bpm.springboot - camunda-bpm-spring-boot-starter-rest - - org.camunda.bpm.springboot camunda-bpm-spring-boot-starter-webapp - - org.camunda.bpm - camunda-engine-plugin-spin - - - - org.camunda.spin - camunda-spin-dataformat-all - - org.drools @@ -104,12 +82,7 @@ mybatis-plus-boot-starter ${mybatis-plus.version} - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - 2.2.2 - + @@ -148,6 +121,18 @@ lombok true + + + org.mapstruct + mapstruct + 1.5.2.Final + + + org.mapstruct + mapstruct-processor + 1.5.2.Final + provided + -- Gitee From c91d018332cc3bd0cdbb2b1d099318e8b2811dd6 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Sat, 20 Jul 2024 16:08:29 +0800 Subject: [PATCH 39/78] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmpCoefficientServiceImpl.java | 42 +++---------------- .../service/impl/KpiRuleServiceImpl.java | 7 ++-- .../service/impl/PieceRuleServiceImpl.java | 7 ++-- .../impl/PositionAssessorServiceImpl.java | 8 ++-- .../impl/RegionCoefficientServiceImpl.java | 10 ++--- .../service/impl/ScoreRuleServiceImpl.java | 7 ++-- 6 files changed, 22 insertions(+), 59 deletions(-) diff --git a/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java b/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java index ebe4874..ece2c81 100644 --- a/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/EmpCoefficientServiceImpl.java @@ -3,36 +3,23 @@ package com.example.workflow.service.impl; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.workflow.mapper.EmpCoefficientMapper; -import com.example.workflow.model.entity.*; -import com.example.workflow.model.pojo.EmpIdAndStateId; +import com.example.workflow.model.entity.EmpCoefficient; +import com.example.workflow.model.entity.RegionCoefficient; import com.example.workflow.service.EmpCoefficientService; -import com.example.workflow.service.EmployeeService; import com.example.workflow.service.RegionCoefficientService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.ArrayList; import java.util.List; -import java.util.Objects; -import java.util.Set; -import java.util.stream.Collectors; @Service public class EmpCoefficientServiceImpl extends ServiceImpl implements EmpCoefficientService { - @Autowired - private EmpCoefficientService EmpCoefficientService; + @Autowired private RegionCoefficientService RegionCoefficientService; - @Autowired - private EmployeeService EmployeeService; - /** - * 复制上月员工业绩系数 - * **/ - @Override public void monthCopy(){ @@ -40,7 +27,8 @@ public class EmpCoefficientServiceImpl extends ServiceImpl list=EmpCoefficientService.lambdaQuery() + List list= lambdaQuery() + .eq(EmpCoefficient::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -65,25 +53,7 @@ public class EmpCoefficientServiceImpl extends ServiceImpl empIdAndStateIdList) { - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - for (EmpIdAndStateId x : empIdAndStateIdList) { - EmpCoefficient empCoefficient = EmpCoefficientService.lambdaQuery() - .in(EmpCoefficient::getEmpId, x.getEmpId()).apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - empCoefficient.setState(x.getStateId()); - EmpCoefficientService.updateById(empCoefficient); - - } - } } diff --git a/src/main/java/com/example/workflow/service/impl/KpiRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/KpiRuleServiceImpl.java index b52fb6f..729c134 100644 --- a/src/main/java/com/example/workflow/service/impl/KpiRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/KpiRuleServiceImpl.java @@ -20,8 +20,7 @@ import java.util.List; @Service public class KpiRuleServiceImpl extends ServiceImpl implements KpiRuleService { - @Autowired - private KpiRuleService KpiRuleService; + @Autowired private PositionKpiSerivce PositionKpiSerivce; @Autowired @@ -34,7 +33,7 @@ public class KpiRuleServiceImpl extends ServiceImpl impl LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()).minusMonths(1), LocalTime.MAX); - List list=KpiRuleService.lambdaQuery() + List list= lambdaQuery() .eq(KpiRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -57,7 +56,7 @@ public class KpiRuleServiceImpl extends ServiceImpl impl .list(); x.setId(null); - KpiRuleService.save(x); + save(x); positionKpis.forEach(y->{ y.setId(null); diff --git a/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java index 60b456f..1aa5399 100644 --- a/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/PieceRuleServiceImpl.java @@ -20,8 +20,7 @@ import java.util.List; @Service public class PieceRuleServiceImpl extends ServiceImpl implements PieceRuleService { - @Autowired - private PieceRuleService PieceRuleService; + @Autowired private PositionPieceService PositionPieceService; @@ -32,7 +31,7 @@ public class PieceRuleServiceImpl extends ServiceImpl list=PieceRuleService.lambdaQuery() + List list= lambdaQuery() .eq(PieceRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -50,7 +49,7 @@ public class PieceRuleServiceImpl extends ServiceImpl{ y.setId(null); diff --git a/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java b/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java index 719f921..438db96 100644 --- a/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/PositionAssessorServiceImpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.workflow.mapper.PositionAssessorMapper; import com.example.workflow.model.entity.PositionAssessor; import com.example.workflow.service.PositionAssessorService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -15,8 +14,7 @@ import java.util.List; @Service public class PositionAssessorServiceImpl extends ServiceImpl implements PositionAssessorService { - @Autowired - private PositionAssessorService PositionAssessorService; + @Override @@ -25,7 +23,7 @@ public class PositionAssessorServiceImpl extends ServiceImpl list=PositionAssessorService.lambdaQuery() + List list= lambdaQuery() .eq(PositionAssessor::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -35,7 +33,7 @@ public class PositionAssessorServiceImpl extends ServiceImpl{ x.setId(null); - PositionAssessorService.save(x); + save(x); }); } diff --git a/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java b/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java index d60bdf8..06ba210 100644 --- a/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/RegionCoefficientServiceImpl.java @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.workflow.mapper.RegionCoefficientMapper; import com.example.workflow.model.entity.RegionCoefficient; import com.example.workflow.service.RegionCoefficientService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDate; @@ -15,8 +14,7 @@ import java.util.List; @Service public class RegionCoefficientServiceImpl extends ServiceImpl implements RegionCoefficientService { - @Autowired - private RegionCoefficientService RegionCoefficientService; + @Override public String defineRule(List list){ String rule= "package resources.rules;\r\n"; @@ -42,8 +40,8 @@ public class RegionCoefficientServiceImpl extends ServiceImpl list=RegionCoefficientService.lambdaQuery() -// .eq(RegionCoefficient::getState,1) + List list=lambdaQuery() + .eq(RegionCoefficient::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -52,7 +50,7 @@ public class RegionCoefficientServiceImpl extends ServiceImpl{ x.setId(null); - RegionCoefficientService.save(x); + save(x); }); } } diff --git a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java index 004bc47..2256457 100644 --- a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java @@ -20,8 +20,7 @@ import java.util.List; @Service public class ScoreRuleServiceImpl extends ServiceImpl implements ScoreRuleService { - @Autowired - private ScoreRuleService ScoreRuleService; + @Autowired private PositionScoreService PositionScoreService; @Autowired @@ -34,7 +33,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl list=ScoreRuleService.lambdaQuery() + List list= lambdaQuery() .eq(ScoreRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -53,7 +52,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ List scoreAssessors= ScoreAssessorsService.lambdaQuery() -- Gitee From 1bbd7dd17dede4003a088d2edf58c47455008eac Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Sat, 20 Jul 2024 16:10:37 +0800 Subject: [PATCH 40/78] =?UTF-8?q?=20delete:=20=E6=97=A0=E7=94=A8=E7=9A=84b?= =?UTF-8?q?pmn=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/baseFlow.bpmn | 155 ------------------ src/main/resources/fourthKpiBackFlow.bpmn | 57 ------- src/main/resources/fourthPieceBackFlow.bpmn | 58 ------- src/main/resources/process.bpmn | 38 ----- src/main/resources/secondKpiFifthFlow.bpmn | 83 ---------- src/main/resources/secondKpiFourthFlow.bpmn | 71 -------- src/main/resources/secondKpiThirdFlow.bpmn | 58 ------- src/main/resources/secondOkrFifthFlow.bpmn | 74 --------- src/main/resources/secondOkrFourthFlow.bpmn | 60 ------- src/main/resources/secondPieceFifthFlow.bpmn | 83 ---------- src/main/resources/secondPieceFourthFlow.bpmn | 71 -------- src/main/resources/secondPieceThird.bpmn | 58 ------- src/main/resources/secondScoreFifthFlow.bpmn | 73 --------- src/main/resources/secondScoreFourthFlow.bpmn | 61 ------- src/main/resources/test.bpmn | 41 ----- src/main/resources/thirdKpiBackFlow.bpmn | 71 -------- src/main/resources/thirdOkrBackFlow.bpmn | 61 ------- src/main/resources/thirdPieceBackFlow.bpmn | 71 -------- src/main/resources/thirdScoreBackFlow.bpmn | 61 ------- 19 files changed, 1305 deletions(-) delete mode 100644 src/main/resources/baseFlow.bpmn delete mode 100644 src/main/resources/fourthKpiBackFlow.bpmn delete mode 100644 src/main/resources/fourthPieceBackFlow.bpmn delete mode 100644 src/main/resources/process.bpmn delete mode 100644 src/main/resources/secondKpiFifthFlow.bpmn delete mode 100644 src/main/resources/secondKpiFourthFlow.bpmn delete mode 100644 src/main/resources/secondKpiThirdFlow.bpmn delete mode 100644 src/main/resources/secondOkrFifthFlow.bpmn delete mode 100644 src/main/resources/secondOkrFourthFlow.bpmn delete mode 100644 src/main/resources/secondPieceFifthFlow.bpmn delete mode 100644 src/main/resources/secondPieceFourthFlow.bpmn delete mode 100644 src/main/resources/secondPieceThird.bpmn delete mode 100644 src/main/resources/secondScoreFifthFlow.bpmn delete mode 100644 src/main/resources/secondScoreFourthFlow.bpmn delete mode 100644 src/main/resources/test.bpmn delete mode 100644 src/main/resources/thirdKpiBackFlow.bpmn delete mode 100644 src/main/resources/thirdOkrBackFlow.bpmn delete mode 100644 src/main/resources/thirdPieceBackFlow.bpmn delete mode 100644 src/main/resources/thirdScoreBackFlow.bpmn diff --git a/src/main/resources/baseFlow.bpmn b/src/main/resources/baseFlow.bpmn deleted file mode 100644 index 87c7148..0000000 --- a/src/main/resources/baseFlow.bpmn +++ /dev/null @@ -1,155 +0,0 @@ - - - - - Flow_0mg737h - - - Flow_1s8r2zk - Flow_0a0swzy - - - Flow_1h6ogr9 - Flow_0zsazvj - - - - - - - - - Flow_0zsazvj - Flow_1s8r2zk - Flow_0mpn7wj - - - - ${appoint=='other'} - - - Flow_0a0swzy - Flow_0mpn7wj - Flow_1ol9ue9 - - - - ${appoint!='other'} - - - - Flow_1ol9ue9 - Flow_0oq1yn2 - - - - Flow_0oq1yn2 - Flow_1xyc2c8 - - - Flow_1xyc2c8 - Flow_14p8pbf - - - - Flow_14p8pbf - - - - - - Flow_0mg737h - Flow_1h6ogr9 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/fourthKpiBackFlow.bpmn b/src/main/resources/fourthKpiBackFlow.bpmn deleted file mode 100644 index bf1fc2a..0000000 --- a/src/main/resources/fourthKpiBackFlow.bpmn +++ /dev/null @@ -1,57 +0,0 @@ - - - - - Flow_0dp5ijm - - - - - - Flow_0dp5ijm - Flow_09h2guf - - - Flow_09h2guf - Flow_1lfqasp - - - Flow_1lfqasp - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/fourthPieceBackFlow.bpmn b/src/main/resources/fourthPieceBackFlow.bpmn deleted file mode 100644 index d4661b8..0000000 --- a/src/main/resources/fourthPieceBackFlow.bpmn +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Flow_0fgl1sp - - - Flow_0fgl1sp - Flow_0f1zv4k - - - Flow_1dtd78y - - - - - - Flow_0f1zv4k - Flow_1dtd78y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/process.bpmn b/src/main/resources/process.bpmn deleted file mode 100644 index f5af812..0000000 --- a/src/main/resources/process.bpmn +++ /dev/null @@ -1,38 +0,0 @@ - - - - - SequenceFlow_1fp17al - - - - SequenceFlow_16gzt2m - - - - SequenceFlow_1fp17al - SequenceFlow_16gzt2m - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondKpiFifthFlow.bpmn b/src/main/resources/secondKpiFifthFlow.bpmn deleted file mode 100644 index 7d52b01..0000000 --- a/src/main/resources/secondKpiFifthFlow.bpmn +++ /dev/null @@ -1,83 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_0jpzozd - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1oriro4 - Flow_19cf19k - - - Flow_1k85c1d - Flow_1oriro4 - - - - - - Flow_19cf19k - Flow_0jpzozd - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondKpiFourthFlow.bpmn b/src/main/resources/secondKpiFourthFlow.bpmn deleted file mode 100644 index 5e0b7e5..0000000 --- a/src/main/resources/secondKpiFourthFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_1dcv6sm - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1oriro4 - Flow_1dcv6sm - - - Flow_1k85c1d - Flow_1oriro4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondKpiThirdFlow.bpmn b/src/main/resources/secondKpiThirdFlow.bpmn deleted file mode 100644 index d916782..0000000 --- a/src/main/resources/secondKpiThirdFlow.bpmn +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_1dcv6sm - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1k85c1d - Flow_1dcv6sm - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondOkrFifthFlow.bpmn b/src/main/resources/secondOkrFifthFlow.bpmn deleted file mode 100644 index 000f1a2..0000000 --- a/src/main/resources/secondOkrFifthFlow.bpmn +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_05hluio - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_1afoyj7 - - - Flow_1afoyj7 - Flow_05hluio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondOkrFourthFlow.bpmn b/src/main/resources/secondOkrFourthFlow.bpmn deleted file mode 100644 index 99645f8..0000000 --- a/src/main/resources/secondOkrFourthFlow.bpmn +++ /dev/null @@ -1,60 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_05hluio - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - - - - Flow_1jve7v8 - Flow_05hluio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondPieceFifthFlow.bpmn b/src/main/resources/secondPieceFifthFlow.bpmn deleted file mode 100644 index 65e45c7..0000000 --- a/src/main/resources/secondPieceFifthFlow.bpmn +++ /dev/null @@ -1,83 +0,0 @@ - - - - - Flow_0y2yb5k - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0d9ysys - Flow_1tym4na - - - Flow_1jpdvb2 - - - Flow_0umct46 - Flow_0d9ysys - - - - - - - - Flow_1tym4na - Flow_1jpdvb2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondPieceFourthFlow.bpmn b/src/main/resources/secondPieceFourthFlow.bpmn deleted file mode 100644 index d815254..0000000 --- a/src/main/resources/secondPieceFourthFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_0y2yb5k - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0d9ysys - Flow_16h1vww - - - Flow_16h1vww - - - Flow_0umct46 - Flow_0d9ysys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondPieceThird.bpmn b/src/main/resources/secondPieceThird.bpmn deleted file mode 100644 index fb475ae..0000000 --- a/src/main/resources/secondPieceThird.bpmn +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Flow_0y2yb5k - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0umct46 - Flow_16h1vww - - - Flow_16h1vww - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondScoreFifthFlow.bpmn b/src/main/resources/secondScoreFifthFlow.bpmn deleted file mode 100644 index 36be9d4..0000000 --- a/src/main/resources/secondScoreFifthFlow.bpmn +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_05hluio - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_1afoyj7 - - - - - - - Flow_1afoyj7 - Flow_05hluio - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/secondScoreFourthFlow.bpmn b/src/main/resources/secondScoreFourthFlow.bpmn deleted file mode 100644 index b165773..0000000 --- a/src/main/resources/secondScoreFourthFlow.bpmn +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_0wh1gha - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_0wh1gha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/test.bpmn b/src/main/resources/test.bpmn deleted file mode 100644 index be11d35..0000000 --- a/src/main/resources/test.bpmn +++ /dev/null @@ -1,41 +0,0 @@ - - - - - Flow_1gkg89j - - - Flow_1gkg89j - Flow_1lhykx9 - - ${nrOfInstances == nrOfCompletedInstances} - - - - - Flow_1lhykx9 - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdKpiBackFlow.bpmn b/src/main/resources/thirdKpiBackFlow.bpmn deleted file mode 100644 index e905e8f..0000000 --- a/src/main/resources/thirdKpiBackFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_1wpwmfa - - - Flow_1dcv6sm - - - - - Flow_1wpwmfa - Flow_1k85c1d - - - Flow_1oriro4 - Flow_1dcv6sm - - - Flow_1k85c1d - Flow_1oriro4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdOkrBackFlow.bpmn b/src/main/resources/thirdOkrBackFlow.bpmn deleted file mode 100644 index 3f01e0a..0000000 --- a/src/main/resources/thirdOkrBackFlow.bpmn +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Flow_1v6wp8j - - - Flow_0wh1gha - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_0wh1gha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdPieceBackFlow.bpmn b/src/main/resources/thirdPieceBackFlow.bpmn deleted file mode 100644 index f6089ce..0000000 --- a/src/main/resources/thirdPieceBackFlow.bpmn +++ /dev/null @@ -1,71 +0,0 @@ - - - - - Flow_0y2yb5k - - - - Flow_0y2yb5k - Flow_0umct46 - - - Flow_0d9ysys - Flow_16h1vww - - - Flow_16h1vww - - - - - - Flow_0umct46 - Flow_0d9ysys - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/main/resources/thirdScoreBackFlow.bpmn b/src/main/resources/thirdScoreBackFlow.bpmn deleted file mode 100644 index 9370e18..0000000 --- a/src/main/resources/thirdScoreBackFlow.bpmn +++ /dev/null @@ -1,61 +0,0 @@ - - - - - Flow_1v6wp8j - - - - - Flow_0wh1gha - - - - Flow_1v6wp8j - Flow_1jve7v8 - - ${nrOfInstances == nrOfCompletedInstances} - - - - Flow_1jve7v8 - Flow_0wh1gha - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- Gitee From 5f9ad229f1a93e3d8c6889f1db482a7cd7f40540 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 20:43:50 +0800 Subject: [PATCH 41/78] =?UTF-8?q?build:=20=E7=8E=AF=E5=A2=83=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E8=84=9A=E6=9C=AC=E5=92=8C=E6=80=A7=E8=83=BD=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新`environment-install.sh`脚本,添加Java 8的安装和验证步骤,确保环境搭建中Java版本的正确性。 - 更新`run-performance.sh`脚本,添加后台运行命令,提高应用的启动灵活性和日志记录的便利性。 通过这些更新,我们优化了项目的部署和运行流程,为后续的性能测试和应用优化奠定了基础。 --- deploy/environment-install.sh | 20 ++++++++++++++++++++ deploy/run-performance.sh | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 deploy/environment-install.sh create mode 100644 deploy/run-performance.sh diff --git a/deploy/environment-install.sh b/deploy/environment-install.sh new file mode 100644 index 0000000..74bb793 --- /dev/null +++ b/deploy/environment-install.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# 更新软件包列表 +sudo apt update + +# 安装OpenJDK 8 +sudo apt install -y openjdk-8-jdk + +# 验证安装 +if [ "$(java -version 2>&1 | grep 'openjdk version')" ]; then + echo "Java 8 (OpenJDK) installed successfully." +else + echo "There was an error installing Java 8." +fi + +# 设置默认的Java版本为Java 8 +sudo update-alternatives --config java + +# 输出当前使用的Java版本信息 +java -version \ No newline at end of file diff --git a/deploy/run-performance.sh b/deploy/run-performance.sh new file mode 100644 index 0000000..ceae490 --- /dev/null +++ b/deploy/run-performance.sh @@ -0,0 +1,2 @@ +## 后台运行,输出到 log文件 +nohup java -Dserver.port=8081 -Dspring.profiles.active=prod -jar my-project-1.0.0-SNAPSHOT.jar > nohup-performance.log 2>&1 & \ No newline at end of file -- Gitee From ced97d7efb189d1e7cf6bfc755a4ea96b1de274f Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 20:51:21 +0800 Subject: [PATCH 42/78] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=B8=B8?= =?UTF-8?q?=E9=87=8F=E5=92=8C=E6=9E=9A=E4=B8=BE=E7=B1=BB=E5=88=B0Java?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 此次提交新增了一个接口`MyConstant`,其中定义了部门最小级别的常量。 新增了枚举类`PositionEnum`,用于定义一类岗位及其对应的流程key。 --- .../example/workflow/constant/MyConstant.java | 7 ++++++ .../example/workflow/enums/PositionEnum.java | 23 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 src/main/java/com/example/workflow/constant/MyConstant.java create mode 100644 src/main/java/com/example/workflow/enums/PositionEnum.java diff --git a/src/main/java/com/example/workflow/constant/MyConstant.java b/src/main/java/com/example/workflow/constant/MyConstant.java new file mode 100644 index 0000000..f771864 --- /dev/null +++ b/src/main/java/com/example/workflow/constant/MyConstant.java @@ -0,0 +1,7 @@ +package com.example.workflow.constant; + +public interface MyConstant { + + /** 部门最小级别*/ + Short DEPT_MIN_LEVEL = 4; +} diff --git a/src/main/java/com/example/workflow/enums/PositionEnum.java b/src/main/java/com/example/workflow/enums/PositionEnum.java new file mode 100644 index 0000000..3044d72 --- /dev/null +++ b/src/main/java/com/example/workflow/enums/PositionEnum.java @@ -0,0 +1,23 @@ +package com.example.workflow.enums; + +import lombok.Getter; + + +@Getter +public enum PositionEnum { + + //一类岗位 + ONE("1","Process_1gzouwy"), + FOUR("4", "Process_1whe0gq"), + THREE("3", "Process_01p7ac7") + ; + /** 岗位类型*/ + final Short type ; + /** 流程key */ + final String processKey; + + PositionEnum(String type, String processKey) { + this.type = Short.parseShort(type); + this.processKey = processKey; + } +} -- Gitee From 24e07747806012be5b7afbc1f937040e929f4763 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 20:55:39 +0800 Subject: [PATCH 43/78] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.引入DeptConverter实现部门实体与视图对象的转换 2. 优化DeptService.getDeptTree方法,增强代码可读性与性能 3. 修改部门级别和父部门等级的数据类型为Short 4. 使用常量替代硬编码的数字,增强代码的可读性和维护性 5.修复部门名称重复校验的SQL查询条件错误 --- .../com/example/workflow/Application.java | 3 +- .../workflow/controller/DeptController.java | 5 +- .../workflow/converter/DeptConverter.java | 16 +++++ .../workflow/model/dto/DeptFormDto.java | 2 +- .../example/workflow/model/entity/Dept.java | 2 +- .../service/impl/DeptServiceImpl.java | 67 ++++++++----------- 6 files changed, 50 insertions(+), 45 deletions(-) create mode 100644 src/main/java/com/example/workflow/converter/DeptConverter.java diff --git a/src/main/java/com/example/workflow/Application.java b/src/main/java/com/example/workflow/Application.java index 1c48b54..95cdc21 100644 --- a/src/main/java/com/example/workflow/Application.java +++ b/src/main/java/com/example/workflow/Application.java @@ -1,7 +1,6 @@ package com.example.workflow; import org.mybatis.spring.annotation.MapperScan; -import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @@ -13,7 +12,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableTransactionManagement @EnableScheduling @ServletComponentScan -@SpringBootApplication(exclude = MybatisAutoConfiguration.class) +@SpringBootApplication() @MapperScan("com.example.workflow.mapper") public class Application { public static void main(String... args) { diff --git a/src/main/java/com/example/workflow/controller/DeptController.java b/src/main/java/com/example/workflow/controller/DeptController.java index e90f761..c4d35fc 100644 --- a/src/main/java/com/example/workflow/controller/DeptController.java +++ b/src/main/java/com/example/workflow/controller/DeptController.java @@ -3,6 +3,7 @@ package com.example.workflow.controller; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; +import com.example.workflow.constant.MyConstant; import com.example.workflow.model.dto.DeptFormDto; import com.example.workflow.model.entity.Dept; import com.example.workflow.model.vo.DeptVo; @@ -95,7 +96,7 @@ public class DeptController { @PostMapping("/add") public R addDept(@RequestBody DeptFormDto deptFormDto) { // 不允许超过五级 - if (deptFormDto.getParentLevel() >= 4) { + if (deptFormDto.getParentLevel() >= MyConstant.DEPT_MIN_LEVEL) { return R.error("不能新增五级部门"); } @@ -153,7 +154,7 @@ public class DeptController { if (parentLevel != null) parentLevel += 1; Dept dept = Db.lambdaQuery(Dept.class) .eq(parentLevel != null, Dept::getLevel,parentLevel) - .eq(deptName != null, Dept::getDeptName,decodedStr) + .eq( Dept::getDeptName,decodedStr) .ne(id != null, Dept::getId,id) .one(); if (dept != null) return R.error("部门名称重复"); diff --git a/src/main/java/com/example/workflow/converter/DeptConverter.java b/src/main/java/com/example/workflow/converter/DeptConverter.java new file mode 100644 index 0000000..128de4c --- /dev/null +++ b/src/main/java/com/example/workflow/converter/DeptConverter.java @@ -0,0 +1,16 @@ +package com.example.workflow.converter; + +import com.example.workflow.model.entity.Dept; +import com.example.workflow.model.vo.DeptVo; +import org.mapstruct.Mapper; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface DeptConverter { + + List pos2vos(List dept); + + DeptVo po2vo(Dept dept); + +} diff --git a/src/main/java/com/example/workflow/model/dto/DeptFormDto.java b/src/main/java/com/example/workflow/model/dto/DeptFormDto.java index edcfffe..60b74a1 100644 --- a/src/main/java/com/example/workflow/model/dto/DeptFormDto.java +++ b/src/main/java/com/example/workflow/model/dto/DeptFormDto.java @@ -13,7 +13,7 @@ public class DeptFormDto { /** * 父部门等级 */ - private Integer parentLevel; + private Short parentLevel; /** * 部门名称 */ diff --git a/src/main/java/com/example/workflow/model/entity/Dept.java b/src/main/java/com/example/workflow/model/entity/Dept.java index 45f676d..ba441e0 100644 --- a/src/main/java/com/example/workflow/model/entity/Dept.java +++ b/src/main/java/com/example/workflow/model/entity/Dept.java @@ -35,7 +35,7 @@ public class Dept implements Serializable { /** * 部门级别 */ - private Integer level; + private Short level; /** * 状态 diff --git a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java index aeda0a4..af9ec86 100644 --- a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; +import com.example.workflow.converter.DeptConverter; import com.example.workflow.mapper.DeptHierarchyMapper; import com.example.workflow.mapper.DeptMapper; import com.example.workflow.model.dto.DeptFormDto; @@ -22,9 +23,9 @@ import com.example.workflow.service.DeptHierarchyService; import com.example.workflow.service.DeptService; import com.example.workflow.service.EmployeePositionService; import com.example.workflow.service.PositionService; +import com.example.workflow.utils.Check; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -37,6 +38,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -59,9 +61,7 @@ public class DeptServiceImpl extends ServiceImpl implements De private final PositionService positionService; private final EmployeePositionService employeePositionService; - - @Autowired - private DeptService DeptService; + private final DeptConverter deptConverter; /** * 操作 部门表 部门继承表 @@ -69,6 +69,9 @@ public class DeptServiceImpl extends ServiceImpl implements De */ @Override public Map getDeptNameMap(List ids) { + if (CollectionUtils.isEmpty(ids)) { + return new HashMap<>(0); + } // 首先根据部门id获取部门 List depts = lambdaQuery().in(Dept::getId, ids).list(); if (CollectionUtils.isEmpty(depts)) { @@ -176,48 +179,34 @@ public class DeptServiceImpl extends ServiceImpl implements De * **/ @Override public List getDeptTree(Integer id) { - if (id == 5) { - id = 4; - } // 查询到的部门列表 - List dept = Db.lambdaQuery(Dept.class) - .le(id != null, Dept::getLevel, id) + List deptList = Db.lambdaQuery(Dept.class) + .le(Dept::getLevel, id) .list(); // 初始化部门树列表 - List deptVos = BeanUtil.copyToList(dept, DeptVo.class); + List deptVos = deptList.stream() + .map(deptConverter::po2vo) + .collect(Collectors.toList()); - Map deptMap = new HashMap<>(); - for (DeptVo deptVo : deptVos) { - deptVo.setChildren(new ArrayList<>()); // 初始化子部门列表 - deptMap.put(deptVo.getId(), deptVo); - } + Map deptVoMap = deptVos.stream() + .peek(deptVo -> deptVo.setChildren(new ArrayList<>())) + .collect(Collectors.toMap(DeptVo::getId, Function.identity())); // 获取部门层级关系 List deptHierarchyList = Db.lambdaQuery(DeptHierarchy.class).list(); - Set deptHierarchySet = new HashSet<>(); - for (DeptHierarchy dh : deptHierarchyList) { - deptHierarchySet.add(dh.getChildId()); - - DeptVo parentDept = deptMap.get(dh.getParentId()); - DeptVo childDept = deptMap.get(dh.getChildId()); - - if (parentDept != null && childDept != null) { - parentDept.getChildren().add(childDept); - } - } + deptHierarchyList.stream() + .filter(dh -> Check.noNull(deptVoMap.get(dh.getParentId()), deptVoMap.get(dh.getChildId()))) + .forEach(dh -> { + deptVoMap.get(dh.getParentId()).getChildren().add(deptVoMap.get(dh.getChildId())); + }); // 找到根部门,对deptList过滤 - List rootDepths = new ArrayList<>(); - for (DeptVo deptVo : deptVos) { - if (!deptHierarchySet.contains(deptVo.getId())) { - // 如果部门没有父部门,则该部门为根部门 - rootDepths.add(deptVo); - } - } - - return rootDepths; + return deptHierarchyList.stream() + .filter(dh -> dh.getParentId().equals(1L)) + .map(dh -> deptVoMap.get(dh.getChildId())) + .collect(Collectors.toList()); } /** @@ -228,12 +217,12 @@ public class DeptServiceImpl extends ServiceImpl implements De public Boolean addDept(DeptFormDto deptFormDto) { Dept dept = new Dept(); BeanUtil.copyProperties(deptFormDto, dept); - int level = deptFormDto.getParentLevel() + 1; + Short level = Short.valueOf(String.valueOf(deptFormDto.getParentLevel() + 1)); dept.setLevel(level); // 查询同级部门是否存在同名的 where level = ? and dept_name = ? LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Dept::getDeptName, dept.getDeptName()); - Dept one = DeptService.getOne(queryWrapper); + Dept one = getOne(queryWrapper); if (one == null) { save(dept); @@ -370,7 +359,7 @@ public class DeptServiceImpl extends ServiceImpl implements De parentId = deptHierarchy.getParentId(); } // 要查询的部门的父部门等级 默认为自己 若有父部门则为父部门 - Integer parentLevel = dept.getLevel(); + Short parentLevel = dept.getLevel(); Dept parentDept = Db.lambdaQuery(Dept.class).eq(Dept::getId, parentId).one(); if (parentDept != null) { parentLevel = parentDept.getLevel(); @@ -489,7 +478,7 @@ public class DeptServiceImpl extends ServiceImpl implements De /** * 根据父部门id获取这个部门的全部后代id */ - + @Override public Set getChildeDeptIdSet(Long parentId) { HashSet deptIdSet = new HashSet<>(); getChildrenDeptIdSet(parentId, deptIdSet); -- Gitee From 54b68684d789fb7c0523fb6e5cfbe02e41017a8c Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 20:59:44 +0800 Subject: [PATCH 44/78] =?UTF-8?q?perf(IndexController):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=B7=AF=E7=94=B1=E6=9F=A5=E8=AF=A2=E5=B9=B6=E5=87=8F?= =?UTF-8?q?=E5=B0=91=E6=95=B0=E6=8D=AE=E5=BA=93=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 通过集合转换和流操作优化了路由数据的处理逻辑,减少了对数据库的查询次数。 现在,角色路由查询结果将直接转换为路由ID的集合,然后通过一个查询获取所有相关路由。 之后,通过一次遍历,为每个父路由收集其子路由,从而避免了之前对每个父路由单独查询子路由的需要。 此外,代码风格上进行了调整,如变量命名的小写化和驼峰式命名,以符合Java的编码规范。 这次优化不仅提高了代码的执行效率,减少了数据库负载,同时也让代码更加整洁和易于维护。 --- .../workflow/controller/IndexController.java | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/IndexController.java b/src/main/java/com/example/workflow/controller/IndexController.java index 21645e2..8d43c70 100644 --- a/src/main/java/com/example/workflow/controller/IndexController.java +++ b/src/main/java/com/example/workflow/controller/IndexController.java @@ -11,6 +11,7 @@ import com.example.workflow.service.IndexService; import com.example.workflow.service.RoleRouterService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -19,6 +20,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; import java.util.Random; +import java.util.Set; +import java.util.stream.Collectors; @Slf4j @RestController @@ -27,9 +30,9 @@ public class IndexController { @Autowired private IndexService IndexService; @Autowired - private RoleRouterService RoleRouterService; + private RoleRouterService roleRouterService; @Autowired - private RouterMapper RouterMapper; + private RouterMapper routerMapper; @PostMapping("/getPermission") public R> getPermission(@RequestBody JSONObject obj){ @@ -37,30 +40,28 @@ public class IndexController { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(RoleRouter::getRoleId,obj.getString("roleId")) .eq(RoleRouter::getState,1); - List routerList= RoleRouterService.list(queryWrapper); + List routerList= roleRouterService.list(queryWrapper); + if (!CollectionUtils.isEmpty(routerList)) { + Set routerSet = routerList.stream().map(RoleRouter::getRouterId).collect(Collectors.toSet()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(Router::getId, routerSet); + List routers = routerMapper.selectList(wrapper); - List list=new ArrayList<>(); - List parent=new ArrayList<>(); - routerList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(Router::getId,x.getRouterId()); - Router router= RouterMapper.selectOne(Wrapper); - list.add(router); + // 筛选出全部的父路由 + List parentRouterSet = routers.stream().filter(router -> router.getType().equals(1)).collect(Collectors.toList()); - if(router.getType().equals(1)){ - parent.add(router); + for (Router router : parentRouterSet) { + Integer id = Integer.valueOf(router.getId()); + // 筛选出它的子路由 + List childrenRouterSet = routers.stream().filter(router1 -> router1.getParentId().equals(id)).collect(Collectors.toList()); + router.setChildren(childrenRouterSet); } - }); + return R.success(parentRouterSet); + + } else { + return R.success(new ArrayList<>(0)); + } - parent.forEach(x->{ - List children= new ArrayList<>(); - list.forEach(y->{ - if(y.getParentId().equals(Integer.valueOf(x.getId()))) - children.add(y); - }); - x.setChildren(children); - }); - return R.success(parent); } @PostMapping("/getCaptchaCode") -- Gitee From 620e031e194d290951330e8a78ed945b0bfb53a2 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Fri, 26 Jul 2024 21:00:40 +0800 Subject: [PATCH 45/78] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=20EmployeeServ?= =?UTF-8?q?ice=20=E7=B1=BB=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84=E5=B9=B6?= =?UTF-8?q?=E6=8F=90=E5=8D=87=E6=80=A7=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入额外的import语句以支持新功能的实现 - 重构了getList方法,使用map提高性能,并添加了新的方法wrapperToEmployeeVo2- 优化了状态变更方法setStateToEmployee的代码格式 - 删除了不必要的代码注释和格式调整,提高了代码的可读性- 对比了原代码与新代码的差异,确保所有变更都经过深思熟虑且有益于项目 通过这些改动,代码结构变得更加清晰,同时性能也得到了提升。此次优化专注于减少不必要的操作和提高数据处理效率,为后续的开发和维护打下了更好的基础。 --- .../service/impl/EmployeeServiceImpl.java | 255 +++++++++++++----- 1 file changed, 190 insertions(+), 65 deletions(-) diff --git a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java index 34b3afa..2c762c8 100644 --- a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; +import com.example.workflow.enums.PositionEnum; import com.example.workflow.mapper.EmployeeMapper; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.model.dto.EmployeeFormDto; @@ -51,6 +52,7 @@ import com.example.workflow.service.RegionCoefficientService; import com.example.workflow.service.RoleBtnService; import com.example.workflow.service.RoleService; import com.example.workflow.service.ScoreAssessorsService; +import com.example.workflow.utils.Check; import com.example.workflow.utils.DateTimeUtils; import com.example.workflow.utils.Find; import lombok.RequiredArgsConstructor; @@ -73,6 +75,7 @@ import java.util.Objects; import java.util.Set; import java.util.StringJoiner; import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -118,21 +121,18 @@ public class EmployeeServiceImpl extends ServiceImpl i @Autowired private EmpOkrService EmpOkrService; - /** - * 改变员工账号状态 - */ - + // 改变员工账号状态 @Override public void setStateToEmployee(List empIdAndStateIdList) { - //stateId = 0 停用 + // stateId = 0 停用 Set state0EmpSet = empIdAndStateIdList.stream().filter(empIdAndStateId -> empIdAndStateId.getStateId().equals(Short.valueOf("0"))).map(EmpIdAndStateId::getEmpId).collect(Collectors.toSet()); - if (!CollectionUtils.isEmpty(state0EmpSet)){ - lambdaUpdate().set(Employee::getState, 0).in(Employee::getId,state0EmpSet).update(); + if (!CollectionUtils.isEmpty(state0EmpSet)) { + lambdaUpdate().set(Employee::getState, 0).in(Employee::getId, state0EmpSet).update(); } - //stateId = 1 恢复 + // stateId = 1 恢复 Set state1EmpSet = empIdAndStateIdList.stream().filter(empIdAndStateId -> empIdAndStateId.getStateId().equals(Short.valueOf("1"))).map(EmpIdAndStateId::getEmpId).collect(Collectors.toSet()); - if (!CollectionUtils.isEmpty(state1EmpSet)){ - lambdaUpdate().set(Employee::getState, 1).in(Employee::getId,state1EmpSet).update(); + if (!CollectionUtils.isEmpty(state1EmpSet)) { + lambdaUpdate().set(Employee::getState, 1).in(Employee::getId, state1EmpSet).update(); } } @@ -174,11 +174,6 @@ public class EmployeeServiceImpl extends ServiceImpl i if (Objects.nonNull(role)) { employeeExcel.setRoleName(role.getRoleName()); } - if (employee.getState()==0){ - employeeExcel.setState("停用"); - }else { - employeeExcel.setState("正常"); - } // 向返回对象设置岗位和部门信息 setPositionAndDeptToEmployeeExcel(employeeId, employeeExcel); // 向返回对象设置地域和岗位绩效 @@ -251,7 +246,7 @@ public class EmployeeServiceImpl extends ServiceImpl i */ @Override - public List getList(String name, String num,Long roleId,Long id) { + public List getList(String name, String num, Long roleId, Long id) { List employeeVos = new ArrayList<>(); // 获取员工基本信息 @@ -262,10 +257,125 @@ public class EmployeeServiceImpl extends ServiceImpl i .eq(Objects.nonNull(id), Employee::getId, id) .list(); // 为员工添加额外信息 - wrapperToEmployeeVo(employees, employeeVos); + wrapperToEmployeeVo2(employees, employeeVos); return employeeVos; } + /** + * 使用map提高性能 + */ + + private void wrapperToEmployeeVo2(List employees, List employeeVos) { + // 角色 + Set roleIdSet = employees.stream().map(Employee::getRoleId).collect(Collectors.toSet()); + List roleList = roleService.listByIds(roleIdSet); + Map roleMap = roleList.stream().collect(Collectors.toMap(Role::getId, Function.identity())); + + // 员工系数 + List employeeIdList = employees.stream().map(Employee::getId).distinct().collect(Collectors.toList()); + LocalDateTime[] times = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + List empCoefficientList = empCoefficientService.lambdaQuery().eq(EmpCoefficient::getEmpId, employeeIdList).between(EmpCoefficient::getCreateTime, times[0], times[1]).list(); + Map empCoefficientMap = empCoefficientList.stream().collect(Collectors.toMap(EmpCoefficient::getEmpId, Function.identity())); + + // 地域系数 + List regionCoefficientIdList = empCoefficientList.stream().map(EmpCoefficient::getRegionCoefficientId).distinct().collect(Collectors.toList()); + Map regionCoefficientMap = getRegionCoefficientMap(regionCoefficientIdList); + + // 员工岗位 + List employeePositionList = employeePositionService.lambdaQuery().eq(EmployeePosition::getEmpId, employeeIdList).list(); + List positionIdList = employeePositionList.stream().map(EmployeePosition::getPositionId).distinct().collect(Collectors.toList()); + List positions = new ArrayList<>(0); + if (!CollectionUtils.isEmpty(positionIdList)) { + positions = positionService.listByIds(positionIdList); + } + Map> employeePositionMap = getEmployeePositionMap(employeeIdList, positions, employeePositionList); + + + + // 部门名 + Map deptNameMap = deptService.getDeptNameMap(positionIdList); + + for (Employee employee : employees) { + EmployeeVo employeeVo = new EmployeeVo(); + BeanUtils.copyProperties(employee, employeeVo); + + // 职务名 + Long roleId = employee.getRoleId(); + Role role = roleMap.get(roleId); + if (Check.noNull(roleId, role)) { + String roleName = role.getRoleName(); + employeeVo.setRoleName(roleName); + } + + //系数与地域 + Long employeeId = employee.getId(); + EmpCoefficient empCoefficient = empCoefficientMap.get(employeeId); + if (Objects.nonNull(empCoefficient)) { + // 员工级别 + BigDecimal grade = empCoefficient.getPositionCoefficient(); + employeeVo.setGrade(grade); + + // 地域名称 + Long regionCoefficientId = empCoefficient.getRegionCoefficientId(); + RegionCoefficient regionCoefficient = regionCoefficientMap.get(regionCoefficientId); + if (Objects.nonNull(regionCoefficient)) { + String region = regionCoefficient.getRegion(); + employeeVo.setRegionName(region); + } + } + + //岗位与部门 + List employeePositions = employeePositionMap.get(employeeId); + if (!CollectionUtils.isEmpty(employeePositions)) { + //岗位名 + List positionNameList = employeePositions.stream() + .map(Position::getPosition) + .collect(Collectors.toList()); + employeeVo.setPostName(positionNameList); + + // 部门名 + Set deptIdSet = employeePositions.stream().map(Position::getDeptId).collect(Collectors.toSet()); + List deptNameList = deptNameMap.entrySet().stream() + .filter(entry -> deptIdSet.contains(entry.getKey())) + .map(Map.Entry::getValue) + .collect(Collectors.toList()); + employeeVo.setDeptNames(deptNameList); + + } + + employeeVos.add(employeeVo); + } + } + + /** + * 获取地域系数 + */ + + private Map getRegionCoefficientMap(List regionCoefficientIdList) { + if (!CollectionUtils.isEmpty(regionCoefficientIdList)) { + List regionCoefficientList = regionCoefficientService.listByIds(regionCoefficientIdList); + return regionCoefficientList.stream().collect(Collectors.toMap(RegionCoefficient::getId, Function.identity())); + } + return new HashMap<>(0); + } + + /** + * 获取员工岗位 + */ + private Map> getEmployeePositionMap(List employeeIdList, List positions, List employeePositionList) { + + Map positionMap = positions.stream().collect(Collectors.toMap(Position::getId, Function.identity())); + Map> poitionIdMap = employeePositionList.stream().collect(Collectors.groupingBy(EmployeePosition::getEmpId, Collectors.mapping(EmployeePosition::getPositionId, Collectors.toSet()))); + + Map> employeePositionMap = new HashMap<>(employeeIdList.size()); + poitionIdMap.forEach((empId, positionIdSet) -> { + List positionList = positionIdSet.stream().distinct().map(positionMap::get).collect(Collectors.toList()); + employeePositionMap.put(empId, positionList); + }); + return employeePositionMap; + } + + // 为员工添加额外信息 private void wrapperToEmployeeVo(List employees, List employeeVos) { if (!CollectionUtils.isEmpty(employees)) { @@ -445,7 +555,9 @@ public class EmployeeServiceImpl extends ServiceImpl i HashMap positionMap = new HashMap<>(); // 哈希表降低查询岗位名称的时间复杂度 - for (Position position : positions) positionMap.put(position.getId(), position.getPosition()); + for (Position position : positions) { + positionMap.put(position.getId(), position.getPosition()); + } if (employeePositions != null) { employeePositions.stream().filter(Objects::nonNull).forEach(employeePosition -> { @@ -606,7 +718,9 @@ public class EmployeeServiceImpl extends ServiceImpl i List roles = Db.lambdaQuery(Role.class).list(); // 将角色转换为map,提高检索时的效率 Map roleMap = new HashMap<>(); - for (Role role : roles) roleMap.put(role.getId(), role.getRoleName()); + for (Role role : roles) { + roleMap.put(role.getId(), role.getRoleName()); + } // 根据岗位id分组之后的岗位 Map> positionMap = positions.stream().collect(Collectors.groupingBy(Position::getId)); @@ -634,7 +748,9 @@ public class EmployeeServiceImpl extends ServiceImpl i // 再根据部门id调用deptService的getDeptName()获得部门name String deptName = deptIdNameMap.get(deptId1); - if (Find.findPathDeptId(deptHierarchyMap, deptId, deptId1)) hasDeptIdFlag.set(true); + if (Find.findPathDeptId(deptHierarchyMap, deptId, deptId1)) { + hasDeptIdFlag.set(true); + } positionIds.add(positionId); postNames.add(postName); deptIds.add(deptId1); @@ -691,9 +807,6 @@ public class EmployeeServiceImpl extends ServiceImpl i @Transactional @Override public R addEmployee(EmployeeFormDto employeeFormDto) { - - - // 员工号不嫩重复 String num = employeeFormDto.getNum(); @@ -704,30 +817,42 @@ public class EmployeeServiceImpl extends ServiceImpl i Employee employee = new Employee(); BeanUtils.copyProperties(employeeFormDto, employee); save(employee); - log.info(employee.toString()); List postIdPercentList = employeeFormDto.getPostIdPercent(); + Set postIdSet = postIdPercentList.stream() + .map(PostIdPercent::getPostId) + .collect(Collectors.toSet()); // 岗位所对应的绩效 - Map map = postIdPercentList.stream().collect(Collectors.toMap(PostIdPercent::getPostId, PostIdPercent::getPercent)); - + Map percentMap = postIdPercentList.stream().collect(Collectors.toMap(PostIdPercent::getPostId, PostIdPercent::getPercent)); + List positionList = Db.lambdaQuery(Position.class).in(Position::getId, postIdSet).list(); + + if (!CollectionUtils.isEmpty(positionList)) { + Map typeMap = positionList.stream().collect(Collectors.toMap(Position::getId, Position::getType)); + + List employeePositionList = postIdSet.stream().map(postId -> { + // 向员工岗位表插入数据 + EmployeePosition employeePosition = new EmployeePosition(); + employeePosition.setEmpId(employee.getId()); + employeePosition.setState(1); + employeePosition.setPositionId(postId); + employeePosition.setPosiPercent(percentMap.get(postId)); + + Short type = typeMap.get(postId); + if (type.equals(PositionEnum.ONE.getType())) { + employeePosition.setProcessKey(PositionEnum.ONE.getProcessKey()); + } else if (type.equals(PositionEnum.FOUR.getType())) { + employeePosition.setProcessKey(PositionEnum.FOUR.getProcessKey()); + } else if (type.equals(PositionEnum.THREE.getType())) { + employeePosition.setProcessKey(PositionEnum.THREE.getProcessKey()); + } + return employeePosition; + }).collect(Collectors.toList()); + employeePositionService.saveBatch(employeePositionList); - map.forEach((postId, percent) -> { + } - // 向员工岗位表插入数据 - EmployeePosition employeePosition = new EmployeePosition(); - employeePosition.setEmpId(employee.getId()); - employeePosition.setState(1); - employeePosition.setPositionId(postId); - employeePosition.setPosiPercent(map.get(postId)); - - Short type = Db.lambdaQuery(Position.class).eq(Position::getId, postId).one().getType(); - if (type == 5) employeePosition.setProcessKey("Process_1gzouwy"); - else if (type == 4) employeePosition.setProcessKey("Process_1whe0gq"); - else if (type == 3) employeePosition.setProcessKey("Process_01p7ac7"); - employeePositionService.save(employeePosition); - }); // 向员工绩效表中添加数据 EmpCoefficient empCoefficient = new EmpCoefficient(); @@ -887,45 +1012,45 @@ public class EmployeeServiceImpl extends ServiceImpl i wrapper1.eq(EmpCoefficient::getEmpId, id).between(EmpCoefficient::getUpdateTime, time[0], time[1]); empCoefficientService.remove(wrapper1); - LambdaUpdateWrapper deleteWapper1=new LambdaUpdateWrapper<>(); - deleteWapper1.set(PositionAssessor::getFourthAssessorId,null) - .eq(PositionAssessor::getFourthAssessorId,id) + LambdaUpdateWrapper deleteWapper1 = new LambdaUpdateWrapper<>(); + deleteWapper1.set(PositionAssessor::getFourthAssessorId, null) + .eq(PositionAssessor::getFourthAssessorId, id) .between(PositionAssessor::getUpdateTime, time[0], time[1]); PositionAssessorService.update(deleteWapper1); - LambdaUpdateWrapper deleteWapper2=new LambdaUpdateWrapper<>(); - deleteWapper2.set(PositionAssessor::getThirdAssessorId,null) - .eq(PositionAssessor::getThirdAssessorId,id) + LambdaUpdateWrapper deleteWapper2 = new LambdaUpdateWrapper<>(); + deleteWapper2.set(PositionAssessor::getThirdAssessorId, null) + .eq(PositionAssessor::getThirdAssessorId, id) .between(PositionAssessor::getUpdateTime, time[0], time[1]); PositionAssessorService.update(deleteWapper2); - LambdaUpdateWrapper deleteWapper3=new LambdaUpdateWrapper<>(); - deleteWapper3.set(PositionAssessor::getSecondAssessorId,null) - .eq(PositionAssessor::getSecondAssessorId,id) + LambdaUpdateWrapper deleteWapper3 = new LambdaUpdateWrapper<>(); + deleteWapper3.set(PositionAssessor::getSecondAssessorId, null) + .eq(PositionAssessor::getSecondAssessorId, id) .between(PositionAssessor::getUpdateTime, time[0], time[1]); PositionAssessorService.update(deleteWapper3); - LambdaQueryWrapper deleteWapper5=new LambdaQueryWrapper<>(); - deleteWapper5.eq(ScoreAssessors::getAssessorId,id) + LambdaQueryWrapper deleteWapper5 = new LambdaQueryWrapper<>(); + deleteWapper5.eq(ScoreAssessors::getAssessorId, id) .between(ScoreAssessors::getUpdateTime, time[0], time[1]); ScoreAssessorsService.remove(deleteWapper5); - LambdaQueryWrapper deleteWapper6=new LambdaQueryWrapper<>(); - deleteWapper6.eq(EmpKpi::getEmpId,id) + LambdaQueryWrapper deleteWapper6 = new LambdaQueryWrapper<>(); + deleteWapper6.eq(EmpKpi::getEmpId, id) .between(EmpKpi::getUpdateTime, time[0], time[1]); EmpKpiService.remove(deleteWapper6); - LambdaQueryWrapper deleteWapper7=new LambdaQueryWrapper<>(); - deleteWapper7.eq(EmpPiece::getEmpId,id) + LambdaQueryWrapper deleteWapper7 = new LambdaQueryWrapper<>(); + deleteWapper7.eq(EmpPiece::getEmpId, id) .between(EmpPiece::getUpdateTime, time[0], time[1]); EmpPieceService.remove(deleteWapper7); - LambdaQueryWrapper deleteWapper8=new LambdaQueryWrapper<>(); - deleteWapper8.eq(EmpReward::getEmpId,id) + LambdaQueryWrapper deleteWapper8 = new LambdaQueryWrapper<>(); + deleteWapper8.eq(EmpReward::getEmpId, id) .between(EmpReward::getUpdateTime, time[0], time[1]); EmpRewardService.remove(deleteWapper8); - LambdaQueryWrapper deleteWapper9=new LambdaQueryWrapper<>(); - deleteWapper9.eq(EmpScore::getEmpId,id) + LambdaQueryWrapper deleteWapper9 = new LambdaQueryWrapper<>(); + deleteWapper9.eq(EmpScore::getEmpId, id) .between(EmpScore::getUpdateTime, time[0], time[1]); EmpScoreService.remove(deleteWapper9); - LambdaQueryWrapper deleteWapper10=new LambdaQueryWrapper<>(); - deleteWapper10.eq(EmpOkr::getEmpId,id) + LambdaQueryWrapper deleteWapper10 = new LambdaQueryWrapper<>(); + deleteWapper10.eq(EmpOkr::getEmpId, id) .between(EmpOkr::getUpdateTime, time[0], time[1]); EmpOkrService.remove(deleteWapper10); }); @@ -966,10 +1091,10 @@ public class EmployeeServiceImpl extends ServiceImpl i return R.success(routerAndButtonVo); } - /** - * @param deptId 部门id - * @return 员工信息集合 - */ + /** + * @param deptId 部门id + * @return 员工信息集合 + */ @Override public List getEmployeeVoListByDeptId(Long deptId) { ArrayList employeeVos = new ArrayList<>(); -- Gitee From b14d4738c2e4971c86faac68d367bd050985e777 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 1 Aug 2024 21:21:55 +0800 Subject: [PATCH 46/78] =?UTF-8?q?Revert=20"perf:=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=8E=A5=E5=8F=A3"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 8e66082aab0d2523a4612d9d706619428e48a1c6. --- .../com/example/workflow/Application.java | 3 +- .../workflow/controller/DeptController.java | 5 +- .../workflow/converter/DeptConverter.java | 16 ----- .../workflow/model/dto/DeptFormDto.java | 2 +- .../example/workflow/model/entity/Dept.java | 2 +- .../service/impl/DeptServiceImpl.java | 67 +++++++++++-------- 6 files changed, 45 insertions(+), 50 deletions(-) delete mode 100644 src/main/java/com/example/workflow/converter/DeptConverter.java diff --git a/src/main/java/com/example/workflow/Application.java b/src/main/java/com/example/workflow/Application.java index 95cdc21..1c48b54 100644 --- a/src/main/java/com/example/workflow/Application.java +++ b/src/main/java/com/example/workflow/Application.java @@ -1,6 +1,7 @@ package com.example.workflow; import org.mybatis.spring.annotation.MapperScan; +import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @@ -12,7 +13,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableTransactionManagement @EnableScheduling @ServletComponentScan -@SpringBootApplication() +@SpringBootApplication(exclude = MybatisAutoConfiguration.class) @MapperScan("com.example.workflow.mapper") public class Application { public static void main(String... args) { diff --git a/src/main/java/com/example/workflow/controller/DeptController.java b/src/main/java/com/example/workflow/controller/DeptController.java index c4d35fc..e90f761 100644 --- a/src/main/java/com/example/workflow/controller/DeptController.java +++ b/src/main/java/com/example/workflow/controller/DeptController.java @@ -3,7 +3,6 @@ package com.example.workflow.controller; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; -import com.example.workflow.constant.MyConstant; import com.example.workflow.model.dto.DeptFormDto; import com.example.workflow.model.entity.Dept; import com.example.workflow.model.vo.DeptVo; @@ -96,7 +95,7 @@ public class DeptController { @PostMapping("/add") public R addDept(@RequestBody DeptFormDto deptFormDto) { // 不允许超过五级 - if (deptFormDto.getParentLevel() >= MyConstant.DEPT_MIN_LEVEL) { + if (deptFormDto.getParentLevel() >= 4) { return R.error("不能新增五级部门"); } @@ -154,7 +153,7 @@ public class DeptController { if (parentLevel != null) parentLevel += 1; Dept dept = Db.lambdaQuery(Dept.class) .eq(parentLevel != null, Dept::getLevel,parentLevel) - .eq( Dept::getDeptName,decodedStr) + .eq(deptName != null, Dept::getDeptName,decodedStr) .ne(id != null, Dept::getId,id) .one(); if (dept != null) return R.error("部门名称重复"); diff --git a/src/main/java/com/example/workflow/converter/DeptConverter.java b/src/main/java/com/example/workflow/converter/DeptConverter.java deleted file mode 100644 index 128de4c..0000000 --- a/src/main/java/com/example/workflow/converter/DeptConverter.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.example.workflow.converter; - -import com.example.workflow.model.entity.Dept; -import com.example.workflow.model.vo.DeptVo; -import org.mapstruct.Mapper; - -import java.util.List; - -@Mapper(componentModel = "spring") -public interface DeptConverter { - - List pos2vos(List dept); - - DeptVo po2vo(Dept dept); - -} diff --git a/src/main/java/com/example/workflow/model/dto/DeptFormDto.java b/src/main/java/com/example/workflow/model/dto/DeptFormDto.java index 60b74a1..edcfffe 100644 --- a/src/main/java/com/example/workflow/model/dto/DeptFormDto.java +++ b/src/main/java/com/example/workflow/model/dto/DeptFormDto.java @@ -13,7 +13,7 @@ public class DeptFormDto { /** * 父部门等级 */ - private Short parentLevel; + private Integer parentLevel; /** * 部门名称 */ diff --git a/src/main/java/com/example/workflow/model/entity/Dept.java b/src/main/java/com/example/workflow/model/entity/Dept.java index ba441e0..45f676d 100644 --- a/src/main/java/com/example/workflow/model/entity/Dept.java +++ b/src/main/java/com/example/workflow/model/entity/Dept.java @@ -35,7 +35,7 @@ public class Dept implements Serializable { /** * 部门级别 */ - private Short level; + private Integer level; /** * 状态 diff --git a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java index af9ec86..aeda0a4 100644 --- a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; -import com.example.workflow.converter.DeptConverter; import com.example.workflow.mapper.DeptHierarchyMapper; import com.example.workflow.mapper.DeptMapper; import com.example.workflow.model.dto.DeptFormDto; @@ -23,9 +22,9 @@ import com.example.workflow.service.DeptHierarchyService; import com.example.workflow.service.DeptService; import com.example.workflow.service.EmployeePositionService; import com.example.workflow.service.PositionService; -import com.example.workflow.utils.Check; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -38,7 +37,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; -import java.util.function.Function; import java.util.stream.Collectors; /** @@ -61,7 +59,9 @@ public class DeptServiceImpl extends ServiceImpl implements De private final PositionService positionService; private final EmployeePositionService employeePositionService; - private final DeptConverter deptConverter; + + @Autowired + private DeptService DeptService; /** * 操作 部门表 部门继承表 @@ -69,9 +69,6 @@ public class DeptServiceImpl extends ServiceImpl implements De */ @Override public Map getDeptNameMap(List ids) { - if (CollectionUtils.isEmpty(ids)) { - return new HashMap<>(0); - } // 首先根据部门id获取部门 List depts = lambdaQuery().in(Dept::getId, ids).list(); if (CollectionUtils.isEmpty(depts)) { @@ -179,34 +176,48 @@ public class DeptServiceImpl extends ServiceImpl implements De * **/ @Override public List getDeptTree(Integer id) { + if (id == 5) { + id = 4; + } // 查询到的部门列表 - List deptList = Db.lambdaQuery(Dept.class) - .le(Dept::getLevel, id) + List dept = Db.lambdaQuery(Dept.class) + .le(id != null, Dept::getLevel, id) .list(); // 初始化部门树列表 - List deptVos = deptList.stream() - .map(deptConverter::po2vo) - .collect(Collectors.toList()); + List deptVos = BeanUtil.copyToList(dept, DeptVo.class); - Map deptVoMap = deptVos.stream() - .peek(deptVo -> deptVo.setChildren(new ArrayList<>())) - .collect(Collectors.toMap(DeptVo::getId, Function.identity())); + Map deptMap = new HashMap<>(); + for (DeptVo deptVo : deptVos) { + deptVo.setChildren(new ArrayList<>()); // 初始化子部门列表 + deptMap.put(deptVo.getId(), deptVo); + } // 获取部门层级关系 List deptHierarchyList = Db.lambdaQuery(DeptHierarchy.class).list(); + Set deptHierarchySet = new HashSet<>(); - deptHierarchyList.stream() - .filter(dh -> Check.noNull(deptVoMap.get(dh.getParentId()), deptVoMap.get(dh.getChildId()))) - .forEach(dh -> { - deptVoMap.get(dh.getParentId()).getChildren().add(deptVoMap.get(dh.getChildId())); - }); + for (DeptHierarchy dh : deptHierarchyList) { + deptHierarchySet.add(dh.getChildId()); + + DeptVo parentDept = deptMap.get(dh.getParentId()); + DeptVo childDept = deptMap.get(dh.getChildId()); + + if (parentDept != null && childDept != null) { + parentDept.getChildren().add(childDept); + } + } // 找到根部门,对deptList过滤 - return deptHierarchyList.stream() - .filter(dh -> dh.getParentId().equals(1L)) - .map(dh -> deptVoMap.get(dh.getChildId())) - .collect(Collectors.toList()); + List rootDepths = new ArrayList<>(); + for (DeptVo deptVo : deptVos) { + if (!deptHierarchySet.contains(deptVo.getId())) { + // 如果部门没有父部门,则该部门为根部门 + rootDepths.add(deptVo); + } + } + + return rootDepths; } /** @@ -217,12 +228,12 @@ public class DeptServiceImpl extends ServiceImpl implements De public Boolean addDept(DeptFormDto deptFormDto) { Dept dept = new Dept(); BeanUtil.copyProperties(deptFormDto, dept); - Short level = Short.valueOf(String.valueOf(deptFormDto.getParentLevel() + 1)); + int level = deptFormDto.getParentLevel() + 1; dept.setLevel(level); // 查询同级部门是否存在同名的 where level = ? and dept_name = ? LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(Dept::getDeptName, dept.getDeptName()); - Dept one = getOne(queryWrapper); + Dept one = DeptService.getOne(queryWrapper); if (one == null) { save(dept); @@ -359,7 +370,7 @@ public class DeptServiceImpl extends ServiceImpl implements De parentId = deptHierarchy.getParentId(); } // 要查询的部门的父部门等级 默认为自己 若有父部门则为父部门 - Short parentLevel = dept.getLevel(); + Integer parentLevel = dept.getLevel(); Dept parentDept = Db.lambdaQuery(Dept.class).eq(Dept::getId, parentId).one(); if (parentDept != null) { parentLevel = parentDept.getLevel(); @@ -478,7 +489,7 @@ public class DeptServiceImpl extends ServiceImpl implements De /** * 根据父部门id获取这个部门的全部后代id */ - @Override + public Set getChildeDeptIdSet(Long parentId) { HashSet deptIdSet = new HashSet<>(); getChildrenDeptIdSet(parentId, deptIdSet); -- Gitee From 79359ddbbf6f2b71acb9c46520cba3eae4bc9b46 Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 1 Aug 2024 21:32:52 +0800 Subject: [PATCH 47/78] =?UTF-8?q?fix:=20=E5=89=8D=E7=AB=AF=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E5=91=98=E5=B7=A5=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=87=BA=E7=8E=B0=E5=8D=A1=E6=AD=BB=E7=95=8C?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/workflow/Application.java | 3 +-- .../com/example/workflow/service/impl/DeptServiceImpl.java | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/workflow/Application.java b/src/main/java/com/example/workflow/Application.java index 1c48b54..62b8067 100644 --- a/src/main/java/com/example/workflow/Application.java +++ b/src/main/java/com/example/workflow/Application.java @@ -1,7 +1,6 @@ package com.example.workflow; import org.mybatis.spring.annotation.MapperScan; -import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.web.servlet.ServletComponentScan; @@ -13,7 +12,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @EnableTransactionManagement @EnableScheduling @ServletComponentScan -@SpringBootApplication(exclude = MybatisAutoConfiguration.class) +@SpringBootApplication @MapperScan("com.example.workflow.mapper") public class Application { public static void main(String... args) { diff --git a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java index aeda0a4..6af8f3c 100644 --- a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java @@ -69,6 +69,9 @@ public class DeptServiceImpl extends ServiceImpl implements De */ @Override public Map getDeptNameMap(List ids) { + if (CollectionUtils.isEmpty(ids)) { + return Collections.emptyMap(); + } // 首先根据部门id获取部门 List depts = lambdaQuery().in(Dept::getId, ids).list(); if (CollectionUtils.isEmpty(depts)) { -- Gitee From 8b838d808b626fdc8b4094516db5e0ab4fd56c2a Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 1 Aug 2024 21:43:55 +0800 Subject: [PATCH 48/78] =?UTF-8?q?refactor:=20=E5=88=87=E6=8D=A2=E6=88=90v1?= =?UTF-8?q?=E7=89=88=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/workflow/service/impl/EmployeeServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java index 2c762c8..e4aa5e1 100644 --- a/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/EmployeeServiceImpl.java @@ -257,7 +257,7 @@ public class EmployeeServiceImpl extends ServiceImpl i .eq(Objects.nonNull(id), Employee::getId, id) .list(); // 为员工添加额外信息 - wrapperToEmployeeVo2(employees, employeeVos); + wrapperToEmployeeVo(employees, employeeVos); return employeeVos; } -- Gitee From 2d86b44674d9e4134de54e584b938d51e5c3a54a Mon Sep 17 00:00:00 2001 From: hrc <2958934551@qq.com> Date: Thu, 1 Aug 2024 21:52:41 +0800 Subject: [PATCH 49/78] =?UTF-8?q?docs:=20=E4=B8=BA=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/workflow/utils/DateTimeUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/example/workflow/utils/DateTimeUtils.java b/src/main/java/com/example/workflow/utils/DateTimeUtils.java index 986ff4b..6709120 100644 --- a/src/main/java/com/example/workflow/utils/DateTimeUtils.java +++ b/src/main/java/com/example/workflow/utils/DateTimeUtils.java @@ -23,7 +23,7 @@ public class DateTimeUtils { return new LocalDateTime[]{startOfMonth, endOfMonth}; } - /* 返回现在的时间 */ + /** 返回现在的时间 */ public static String now(String format) { LocalDateTime localDateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); -- Gitee From 590e4dc20d16b4ad894b4d917f02a0b2f1c965be Mon Sep 17 00:00:00 2001 From: hrc Date: Tue, 17 Sep 2024 22:05:54 +0800 Subject: [PATCH 50/78] =?UTF-8?q?docs:=20=E5=8E=BB=E9=99=A4=E6=97=A0?= =?UTF-8?q?=E7=94=A8=E7=9A=84

?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/workflow/controller/DeptController.java | 3 --- .../com/example/workflow/controller/PdfFilesController.java | 4 +--- .../java/com/example/workflow/controller/RoleController.java | 3 --- 3 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/DeptController.java b/src/main/java/com/example/workflow/controller/DeptController.java index e90f761..b041f1e 100644 --- a/src/main/java/com/example/workflow/controller/DeptController.java +++ b/src/main/java/com/example/workflow/controller/DeptController.java @@ -24,10 +24,7 @@ import java.util.List; import java.util.Objects; /** - *

* 部门 前端控制器 - *

- * * @author 黄历 * @since 2024-03-12 */ diff --git a/src/main/java/com/example/workflow/controller/PdfFilesController.java b/src/main/java/com/example/workflow/controller/PdfFilesController.java index 51d8bc0..1ad0ddf 100644 --- a/src/main/java/com/example/workflow/controller/PdfFilesController.java +++ b/src/main/java/com/example/workflow/controller/PdfFilesController.java @@ -38,9 +38,7 @@ import java.time.LocalTime; import java.util.List; /** - *

- * 前端控制器 - *

+ * pdf控制器 * * @author 黄历 * @since 2024-03-14 diff --git a/src/main/java/com/example/workflow/controller/RoleController.java b/src/main/java/com/example/workflow/controller/RoleController.java index faecc09..a3b9adc 100644 --- a/src/main/java/com/example/workflow/controller/RoleController.java +++ b/src/main/java/com/example/workflow/controller/RoleController.java @@ -33,10 +33,7 @@ import java.util.List; import java.util.Map; /** - *

* 角色信息 前端控制器 - *

- * * @author 黄历 * @since 2024-03-12 */ -- Gitee From 3f53dc058c983c1673a8ef3239495ac122e8d03e Mon Sep 17 00:00:00 2001 From: hrc Date: Thu, 7 Nov 2024 16:41:06 +0800 Subject: [PATCH 51/78] =?UTF-8?q?refactor:=E6=B7=BB=E5=8A=A0=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/workflow/Application.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/example/workflow/Application.java b/src/main/java/com/example/workflow/Application.java index 62b8067..b47b7a4 100644 --- a/src/main/java/com/example/workflow/Application.java +++ b/src/main/java/com/example/workflow/Application.java @@ -17,6 +17,15 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; public class Application { public static void main(String... args) { SpringApplication.run(Application.class, args); + // http://patorjk.com/software/taag/?spm=5176.28103460.0.0.297c5d27o3B1lK 横幅内容生成 + System.out.println(" _____ \n" + + "______ ____________/ ____\\___________ _____ _____ ____ ____ ____ \n" + + "\\____ \\_/ __ \\_ __ \\ __\\/ _ \\_ __ \\/ \\\\__ \\ / \\_/ ___\\/ __ \\ \n" + + "| |_> > ___/| | \\/| | ( <_> ) | \\/ Y Y \\/ __ \\| | \\ \\__\\ ___/ \n" + + "| __/ \\___ >__| |__| \\____/|__| |__|_| (____ /___| /\\___ >___ >\n" + + "|__| \\/ \\/ \\/ \\/ \\/ \\/" + '\n' + + "绩效管理系统后台服务启动成功"); + } } \ No newline at end of file -- Gitee From a79d9ca5678e2c5a7940f84dd4dd9da384da4290 Mon Sep 17 00:00:00 2001 From: hrc Date: Thu, 7 Nov 2024 16:56:08 +0800 Subject: [PATCH 52/78] =?UTF-8?q?fix:=20=E5=AD=97=E6=AE=B5=E6=B3=A8?= =?UTF-8?q?=E5=85=A5null=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/controller/FirstController.java | 128 +++++++++--------- 1 file changed, 65 insertions(+), 63 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/FirstController.java b/src/main/java/com/example/workflow/controller/FirstController.java index 1a1456a..ed9921c 100644 --- a/src/main/java/com/example/workflow/controller/FirstController.java +++ b/src/main/java/com/example/workflow/controller/FirstController.java @@ -14,15 +14,14 @@ import com.example.workflow.service.PieceRuleService; import com.example.workflow.service.PositionAssessorViewService; import com.example.workflow.service.RegionCoefficientService; import com.example.workflow.service.ScoreRuleService; +import com.example.workflow.utils.DateTimeUtils; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.time.LocalDate; +import javax.annotation.Resource; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -31,94 +30,97 @@ import java.util.Map; @RestController @RequestMapping("/first") public class FirstController { + @Resource + private ScoreRuleService scoreRuleService; + @Resource + private PieceRuleService pieceRuleService; + @Resource + private KpiRuleService kpiRuleService; + @Resource + private RegionCoefficientService regionCoefficientService; + @Resource + private EmpCoefficientService empCoefficientService; + @Resource + private PositionAssessorViewService positionAssessorViewService; - @Autowired - private ScoreRuleService ScoreRuleService; - @Autowired - private PieceRuleService PieceRuleService; - @Autowired - private KpiRuleService KpiRuleService; - @Autowired - private RegionCoefficientService RegionCoefficientService; - @Autowired - private EmpCoefficientService EmpCoefficientService; - @Autowired - private PositionAssessorViewService PositionAssessorViewService; - - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @PostMapping("/check") - private R> checkScore(){ - Map map=new HashMap<>(); - List list= ScoreRuleService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + public R> checkScore() { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + Map map = new HashMap<>(10); + List list = scoreRuleService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time[0]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list.isEmpty()) + if (list.isEmpty()) { map.put("scoreRule",0); - else + } else { map.put("scoreRule",1); + } - List list2= PieceRuleService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + List list2 = pieceRuleService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time[0]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list2.isEmpty()) + if (list2.isEmpty()) { map.put("pieceRule",0); - else + } else { map.put("pieceRule",1); + } - List list3= KpiRuleService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + List list3 = kpiRuleService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time[0]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list3.isEmpty()) + if (list3.isEmpty()) { map.put("kpiRule",0); - else + } else { map.put("kpiRule",1); + } - List list4=RegionCoefficientService.lambdaQuery() + List list4 = regionCoefficientService.lambdaQuery() .eq(RegionCoefficient::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + .apply(StringUtils.checkValNotNull(time), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list4.isEmpty()) + if (list4.isEmpty()) { map.put("region",0); - else + } else { map.put("region",1); + } - List list5= EmpCoefficientService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + List list5 = empCoefficientService.lambdaQuery() + .apply(StringUtils.checkValNotNull(time), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list5.isEmpty()) + if (list5.isEmpty()) { map.put("coe",0); - else + } else { map.put("coe",1); + } - List list6=PositionAssessorViewService.lambdaQuery() + List list6 = positionAssessorViewService.lambdaQuery() .eq(PositionAssessorView::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) + .apply(StringUtils.checkValNotNull(time), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[0]) + .apply(StringUtils.checkValNotNull(time[1]), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", time[1]) .list(); - if(list6.isEmpty()) + if (list6.isEmpty()) { map.put("ass",0); - else + } else { map.put("ass",1); + } return R.success(map); } -- Gitee From b2ca38542819414c69fb23308001fa0fdc305d2d Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 8 Nov 2024 00:07:28 +0800 Subject: [PATCH 53/78] =?UTF-8?q?style:=20=E5=B0=86=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E5=90=8D=E5=8F=98=E4=B8=BA=E9=A9=BC=E5=B3=B0=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ResultSecondExamineServiceImpl.java | 247 ++++++------------ .../service/impl/ScoreRuleServiceImpl.java | 20 +- 2 files changed, 92 insertions(+), 175 deletions(-) diff --git a/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java b/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java index 6d544c5..1ebc298 100644 --- a/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java @@ -1,7 +1,6 @@ package com.example.workflow.service.impl; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.workflow.mapper.ResultSecondExamineMapper; import com.example.workflow.model.entity.BackWait; @@ -28,9 +27,6 @@ import org.camunda.bpm.engine.runtime.ProcessInstance; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -42,160 +38,130 @@ public class ResultSecondExamineServiceImpl extends ServiceImpl list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_1a4y3g9",map); - BackWait backWait=BackWaitService.addOne( + BackWait backWait = backWaitService.addOne( Long.valueOf(form.getString("positionId")) ,x.getEmpId() , "back_second_piece" ,processInstance ,"Process_1a4y3g9" ,form.getString("opinion2")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @Override - public void reKpiSecondFifth(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() + public void reKpiSecondFifth(JSONObject form){ + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_065p3a1",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_kpi" ,processInstance ,"Process_065p3a1" ,form.getString("opinion3")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @Override - public void reScoreSecondFifth(JSONObject form, Long empId){ + public void reScoreSecondFifth(JSONObject form){ + List assessorList = new ArrayList<>(10); - - List assessorList = new ArrayList<>(); - - List num= PositionScoreService.lambdaQuery() + List num = positionScoreService.lambdaQuery() .eq(PositionScore::getPositionId,form.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - - num.forEach(y->{ - List assessor= ScoreAssessorsService.lambdaQuery() + List assessor = scoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) .list(); - - assessor.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); + assessor.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); }); - - - List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,empId) .list(); - - + System.out.println(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("ASList", assessors); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0scky72",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_score" ,processInstance ,"Process_0scky72" ,form.getString("opinion1")); - BackWaitService.save(backWait); - - + backWaitService.save(backWait); }); } @@ -204,166 +170,138 @@ public class ResultSecondExamineServiceImpl extends ServiceImpl assessorList = new ArrayList<>(); - - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); - - List num= OkrKeyService.lambdaQuery() + List num = okrKeyService.lambdaQuery() .eq(OkrKey::getPositionId,form.getString("positionId")) .eq(OkrKey::getLiaEmpId,emp.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) .list(); num.forEach(y->{ - List ruleList= OkrRuleService.lambdaQuery() - .eq(OkrRule::getId,y.getRuleId()) + List ruleList = okrRuleService.lambdaQuery() + .eq(OkrRule::getId,y.getId()) .list(); - ruleList.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); + ruleList.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); }); List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("AOList", assessors); identityService.setAuthenticatedUserId(String.valueOf(emp.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0jeppqc",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,emp.getEmpId(),"back_second_okr" ,processInstance ,"Process_0jeppqc" ,form.getString("opinion4")); - BackWaitService.save(backWait); + backWaitService.save(backWait); } @Override - public void rePieceSecondFourth(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() + public void rePieceSecondFourth(JSONObject form){ + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0a7afjy",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_piece" ,processInstance ,"Process_0a7afjy" ,form.getString("opinion2")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @Override - public void reKpiSecondFourth(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() + public void reKpiSecondFourth(JSONObject form){ + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0tcatx0",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_kpi" ,processInstance ,"Process_0tcatx0" ,form.getString("opinion3")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @Override - public void reScoreSecondFourth(JSONObject form, Long empId){ + public void reScoreSecondFourth(JSONObject form){ List assessorList = new ArrayList<>(); - List num= PositionScoreService.lambdaQuery() + List num = positionScoreService.lambdaQuery() .eq(PositionScore::getPositionId,form.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); num.forEach(y->{ - List assessor= ScoreAssessorsService.lambdaQuery() + List assessor = scoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) .list(); - assessor.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); + assessor.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); }); List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,empId) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("ASList", assessors); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_17y117z",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_score" ,processInstance ,"Process_17y117z" ,form.getString("opinion1")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @@ -372,120 +310,99 @@ public class ResultSecondExamineServiceImpl extends ServiceImpl assessorList = new ArrayList<>(); - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); - - - - List num= OkrKeyService.lambdaQuery() + List num = okrKeyService.lambdaQuery() .eq(OkrKey::getPositionId,form.getString("positionId")) .eq(OkrKey::getLiaEmpId,emp.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) - .list(); + .list(); num.forEach(y->{ - List ruleList= OkrRuleService.lambdaQuery() + List ruleList = okrRuleService.lambdaQuery() .eq(OkrRule::getId,y.getRuleId()) .list(); - ruleList.forEach(z->{ - assessorList.add(String.valueOf(z.getAssessorId())); - }); + ruleList.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); }); List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - Map map = new HashMap<>(); + Map map = new HashMap<>(10); map.put("AOList", assessors); identityService.setAuthenticatedUserId(String.valueOf(emp.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0aqalb8",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,emp.getEmpId(),"back_second_okr" ,processInstance ,"Process_0aqalb8" ,form.getString("opinion4")); - BackWaitService.save(backWait); + backWaitService.save(backWait); } @Override - public void rePieceSecondThird(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() + public void rePieceSecondThird(JSONObject form){ + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(16); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_1rgr65b",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_piece" ,processInstance ,"Process_1rgr65b" ,form.getString("opinion2")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } @Override - public void reKpiSecondThird(JSONObject form,Long id){ - Long roleId= RoleService.lambdaQuery() + public void reKpiSecondThird(JSONObject form){ + Long roleId = roleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) .one().getId(); - Long empId=EmployeeService.lambdaQuery() + Long empId = employeeService.lambdaQuery() .eq(Employee::getRoleId,roleId) .one().getId(); - List list= EmployeePositionService + List list = employeePositionService .lambdaQuery() .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .eq(EmployeePosition::getEmpId,id) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); list.forEach(x->{ - Map map = new HashMap<>(); + Map map = new HashMap<>(32); map.put("wageEmp",empId.toString()); identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); ProcessInstance processInstance = runtimeService .startProcessInstanceByKey("Process_0m9w7vi",map); - BackWait backWait=BackWaitService.addOne(Long.valueOf(form.getString("positionId")) + BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) ,x.getEmpId(),"back_second_kpi" ,processInstance ,"Process_0m9w7vi" ,form.getString("opinion3")); - BackWaitService.save(backWait); + backWaitService.save(backWait); }); } } diff --git a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java index 2256457..d93e79e 100644 --- a/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/ScoreRuleServiceImpl.java @@ -10,9 +10,9 @@ import com.example.workflow.model.entity.ScoreRuleForm; import com.example.workflow.service.PositionScoreService; import com.example.workflow.service.ScoreAssessorsService; import com.example.workflow.service.ScoreRuleService; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -20,11 +20,12 @@ import java.util.List; @Service public class ScoreRuleServiceImpl extends ServiceImpl implements ScoreRuleService { + @Resource + private ScoreAssessorsService scoreAssessorsService; + @Resource + private PositionScoreService positionScoreService; + - @Autowired - private PositionScoreService PositionScoreService; - @Autowired - private ScoreAssessorsService ScoreAssessorsService; @Override @@ -42,8 +43,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ - - List positionScores= PositionScoreService.lambdaQuery() + List positionScores = positionScoreService.lambdaQuery() .eq(PositionScore::getScoreId,x.getId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -55,7 +55,7 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ - List scoreAssessors= ScoreAssessorsService.lambdaQuery() + List scoreAssessors = scoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -65,12 +65,12 @@ public class ScoreRuleServiceImpl extends ServiceImpl{ z.setId(null); z.setPositionScoreId(y.getId()); - ScoreAssessorsService.save(z); + scoreAssessorsService.save(z); }); }); }); -- Gitee From fd9e098752e8e8fa3aee8b48536a2ba9f7373de8 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 8 Nov 2024 00:09:15 +0800 Subject: [PATCH 54/78] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0token=E8=BF=87?= =?UTF-8?q?=E6=9C=9F=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utils/{JWTHelper.java => JwtHelper.java} | 43 ++++++++++++------- 1 file changed, 27 insertions(+), 16 deletions(-) rename src/main/java/com/example/workflow/utils/{JWTHelper.java => JwtHelper.java} (69%) diff --git a/src/main/java/com/example/workflow/utils/JWTHelper.java b/src/main/java/com/example/workflow/utils/JwtHelper.java similarity index 69% rename from src/main/java/com/example/workflow/utils/JWTHelper.java rename to src/main/java/com/example/workflow/utils/JwtHelper.java index 01cc01a..fccf2b9 100644 --- a/src/main/java/com/example/workflow/utils/JWTHelper.java +++ b/src/main/java/com/example/workflow/utils/JwtHelper.java @@ -6,28 +6,33 @@ import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.interfaces.Claim; import com.auth0.jwt.interfaces.DecodedJWT; import com.auth0.jwt.interfaces.JWTVerifier; +import lombok.extern.slf4j.Slf4j; -import java.util.Date; +import java.time.Instant; +import java.time.ZoneOffset; import java.util.HashMap; import java.util.Map; -public class JWTHelper {//过期时间 - public static final long EXPIRE_TIME = 100 * 60 * 1000 ; -// 100 * 60 * 1000;//默认100分钟 - //私钥 + +@Slf4j +public class JwtHelper { + /** + * 过期时间 + * 默认30分钟 + */ + public static final long EXPIRE_TIME = 30 * 60 * 1000; + /** + * 私钥 + */ private static final String TOKEN_SECRET = "privateKey"; /** * 生成token,自定义过期时间 毫秒 - * - * @param **username** - * @param **password** - * @return */ public static String createToken(long expireDate, Map payload) { try { // 设置过期时间 - Date date = new Date(expireDate); + Instant instant = Instant.ofEpochMilli(expireDate).atZone(ZoneOffset.UTC).toInstant(); // 私钥和加密算法 Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET); // 设置头部信息 @@ -37,7 +42,7 @@ public class JWTHelper {//过期时间 // 返回token字符串 JWTCreator.Builder builder = JWT.create() .withHeader(header) - .withExpiresAt(date); + .withExpiresAt(instant); for (Map.Entry entry : payload.entrySet()) { builder.withClaim(entry.getKey(), entry.getValue()); } @@ -45,7 +50,7 @@ public class JWTHelper {//过期时间 return builder.sign(algorithm); } catch (Exception e) { - e.printStackTrace(); + log.error(e.getMessage()); return null; } } @@ -56,9 +61,6 @@ public class JWTHelper {//过期时间 /** * 检验token是否正确 - * - * @param **token** - * @return */ public static Map verifyToken(String token) { try { @@ -71,5 +73,14 @@ public class JWTHelper {//过期时间 } } - + public static boolean isExpired(String token) { + Map map = verifyToken(token); + if (map == null) { + return false; + } + Claim exp = map.get("exp"); + Long expLong = exp.asLong(); + long nowMilli = Instant.now().toEpochMilli(); + return expLong < nowMilli; + } } -- Gitee From ae04f97f7644ed7ac4f4f126d33b379f0dfc448d Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 8 Nov 2024 00:11:47 +0800 Subject: [PATCH 55/78] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/workflow/config/WebMvcConfig.java | 23 ++-- .../workflow/controller/LoginController.java | 108 ++++++++++++------ .../interceptor/TokenCheckInterceptor.java | 59 ++-------- 3 files changed, 88 insertions(+), 102 deletions(-) diff --git a/src/main/java/com/example/workflow/config/WebMvcConfig.java b/src/main/java/com/example/workflow/config/WebMvcConfig.java index a8d7c36..4f05f30 100644 --- a/src/main/java/com/example/workflow/config/WebMvcConfig.java +++ b/src/main/java/com/example/workflow/config/WebMvcConfig.java @@ -2,32 +2,27 @@ package com.example.workflow.config; import com.example.workflow.interceptor.TokenCheckInterceptor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import javax.annotation.Resource; + @Slf4j @Configuration public class WebMvcConfig implements WebMvcConfigurer { -// //@JsonFormat(shape = JsonFormat.Shape.STRING) -// // public void extendMessageConverters(List> converters){ -// // log.info("拓展消息转换器"); -// // MappingJackson2CborHttpMessageConverter messageConverter=new MappingJackson2CborHttpMessageConverter(); -// // messageConverter.setObjectMapper(new JacksonObjectMapper()); -// // converters.add(0,messageConverter); -// // } - - - - @Autowired + @Resource private TokenCheckInterceptor tokenCheckInterceptor; + + @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(tokenCheckInterceptor) - .addPathPatterns("/**") // 指定拦截的路径模式 - .excludePathPatterns("/login","/getVerifyCode","/logout"); // 排除的路径 + // 指定拦截的路径模式 + .addPathPatterns("/**") + // 排除的路径 + .excludePathPatterns("/login", "/getVerifyCode", "/logout", "/login/test"); } @Override diff --git a/src/main/java/com/example/workflow/controller/LoginController.java b/src/main/java/com/example/workflow/controller/LoginController.java index 5cfd466..4aeebd3 100644 --- a/src/main/java/com/example/workflow/controller/LoginController.java +++ b/src/main/java/com/example/workflow/controller/LoginController.java @@ -1,14 +1,16 @@ package com.example.workflow.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.workflow.common.R; import com.example.workflow.model.bean.CheckCode; import com.example.workflow.model.entity.Employee; import com.example.workflow.model.entity.LoginDto; import com.example.workflow.service.EmployeeService; -import com.example.workflow.utils.JWTHelper; +import com.example.workflow.utils.JwtHelper; import com.example.workflow.utils.VerifyCode; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -23,54 +25,43 @@ import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import java.util.Objects; -/** - * 登录管理 - */ + @RestController @RequiredArgsConstructor +@Slf4j public class LoginController { private final EmployeeService employeeService; /** - * 二维码接口 + * 获取验证码图片 */ - /* 获取验证码图片*/ @GetMapping("/getVerifyCode") - public void getVerifyCode(HttpServletResponse response,HttpSession session) { + public void getVerifyCode(HttpServletResponse response, HttpSession session) throws IOException { - try { + try (OutputStream os = response.getOutputStream()) { - int width=200; + int width = 200; - int height=69; + int height = 69; - BufferedImage verifyImg=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB); + BufferedImage verifyImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //生成对应宽高的初始图片 //单独的一个类方法,出于代码复用考虑,进行了封装。 - String randomText = VerifyCode.drawRandomText(width,height,verifyImg); + String randomText = VerifyCode.drawRandomText(width, height, verifyImg); //功能是生成验证码字符并加上噪点,干扰线,返回值为验证码字符 - CheckCode checkCode = new CheckCode(randomText,60); + CheckCode checkCode = new CheckCode(randomText, 60); session.setAttribute("verifyCode", checkCode); - response.setContentType("image/png");//必须设置响应内容类型为图片,否则前台不识别 - - OutputStream os = response.getOutputStream(); //获取文件输出流 - - ImageIO.write(verifyImg,"png",os);//输出图片流 - + // 必须设置响应内容类型为图片,否则前台不识别 + response.setContentType("image/png"); + // 输出图片流 + ImageIO.write(verifyImg, "png", os); os.flush(); - - os.close();//关闭流 - - } catch (IOException e) { - - e.printStackTrace(); - } - + // 关闭流 } /** @@ -81,8 +72,12 @@ public class LoginController { CheckCode checkCode = (CheckCode) session.getAttribute("verifyCode"); - if(Objects.isNull(checkCode)||checkCode.isExpired()) return R.error("验证码已过期,请点击重新生成!"); - if (!checkCode.getCode().equalsIgnoreCase(dto.getVerifyCode())) return R.error("验证码错误,请重新输入!"); + if (Objects.isNull(checkCode) || checkCode.isExpired()) { + return R.error("验证码已过期,请点击重新生成!"); + } + if (!checkCode.getCode().equalsIgnoreCase(dto.getVerifyCode())) { + return R.error("验证码错误,请重新输入!"); + } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); @@ -95,26 +90,65 @@ public class LoginController { }else if (employee.getState() == 0){ return R.error("账号已被封禁"); } - - Map payload = new HashMap<>(); + Map payload = new HashMap<>(30); payload.put("id", String.valueOf(employee.getId())); payload.put("num", employee.getNum()); payload.put("roleId", String.valueOf(employee.getRoleId())); - Long timestamp = JWTHelper.generateExpireDate(JWTHelper.EXPIRE_TIME); - String token = JWTHelper.createToken(timestamp, payload); - Map map = new HashMap<>(); + Long timestamp = JwtHelper.generateExpireDate(JwtHelper.EXPIRE_TIME); + String token = JwtHelper.createToken(timestamp, payload); + Map map = new HashMap<>(30); map.put("token", token); map.put("userInfo", employee); - map.put("timestamp", timestamp);//给这个的目的是让前端每次请求时校验是否过期token,如果还差一分钟就过期就应该马上更新token + // 给这个的目的是让前端每次请求时校验是否过期token,如果还差一分钟就过期就应该马上更新token + map.put("timestamp", timestamp); session.setAttribute(token, timestamp); return R.success(map); } /** - * 退出接口 - * */ + * 测试时使用的登陆接口 + */ + @PostMapping("/login/test") + public R test() { + Employee employee = JSON.parseObject(" {\n" + + " \"is_change_pwd\": 1,\n" + + " \"id\": 6,\n" + + " \"num\": \"10004\",\n" + + " \"role_id\": 1,\n" + + " \"password\": \"123456\",\n" + + " \"state\": 1,\n" + + " \"name\": \"开发人员\",\n" + + " \"phone_num1\": \"14578524245\",\n" + + " \"phone_num2\": \"14578524245\",\n" + + " \"email\": \"test@test.com\",\n" + + " \"id_num\": \"123456789\",\n" + + " \"birthday\": \"1238-10-17\",\n" + + " \"address\": \"123456789\",\n" + + " \"remark\": \" \",\n" + + " \"create_time\": \"2024-03-31 01:05:29\",\n" + + " \"update_time\": \"2024-03-31 01:05:29\",\n" + + " \"create_user\": null,\n" + + " \"update_user\": null\n" + + " }", Employee.class); + Map payload = new HashMap<>(30); + payload.put("id", String.valueOf(employee.getId())); + payload.put("num", employee.getNum()); + payload.put("roleId", String.valueOf(employee.getRoleId())); + + long timestamp = JwtHelper.generateExpireDate(JwtHelper.EXPIRE_TIME); + String token = JwtHelper.createToken(timestamp, payload); + Map map = new HashMap<>(30); + map.put("token", token); + map.put("userInfo", employee); + // 给这个的目的是让前端每次请求时校验是否过期token,如果还差一分钟就过期就应该马上更新token + map.put("timestamp", timestamp); + + return R.success(map); + } + + /** 退出接口*/ @GetMapping("/logout") public R logout(HttpSession session) { // 使session失效 diff --git a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java index 723c6da..898de67 100644 --- a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java +++ b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java @@ -1,10 +1,7 @@ package com.example.workflow.interceptor; -import camundafeel.de.odysseus.el.tree.impl.Scanner; -import com.auth0.jwt.interfaces.Claim; import com.example.workflow.exception.BaseException; -import com.example.workflow.utils.JWTHelper; -import org.springframework.beans.factory.annotation.Autowired; +import com.example.workflow.utils.JwtHelper; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import org.springframework.web.servlet.HandlerInterceptor; @@ -12,23 +9,14 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; -import java.io.UnsupportedEncodingException; -import java.util.HashMap; -import java.util.Map; +import javax.ws.rs.HttpMethod; -/** - * 令牌 - * */ @Component public class TokenCheckInterceptor implements HandlerInterceptor { - @Autowired - private HttpSession session; - - @Override//目标资源(controller接口)放行前运行,返回true:放行,返回false:不放行 - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws UnsupportedEncodingException { - if (request.getMethod().equals("OPTIONS")) { + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + if (HttpMethod.OPTIONS.equals(request.getMethod())) { return true; } // 获取请求头中的令牌(token) @@ -41,48 +29,17 @@ public class TokenCheckInterceptor implements HandlerInterceptor { throw new BaseException("403", "登录信息无效,请先登录"); } } - - token = token.replace("Bearer ",""); - //解析token,如果解析失败,返回错误结果(token失效) - Map map = JWTHelper.verifyToken(token); - - - if (map == null) { - throw new BaseException("403", "登录信息无效,请先登录,token is invalid"); - } - - Long exp = (Long) session.getAttribute(token); - if (exp == null) { - //在规定时间内没有发送请求,则token过期 - throw new BaseException("403", "登录信息无效,请先登录,token已过期"); - } - - //session可以在规定时间内发送请求自动续约 - - - - Long timestamp = JWTHelper.generateExpireDate(JWTHelper.EXPIRE_TIME); - //token失效时间 - - - - - - - -// session.setAttribute(token,timestamp); - - return true; + return !JwtHelper.isExpired(token); } - @Override//目标资源方法运行后运行 + @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { HandlerInterceptor.super.postHandle(request, response, handler, modelAndView); } - @Override//视图渲染完毕后运行,最后运行 + @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { HandlerInterceptor.super.afterCompletion(request, response, handler, ex); } -- Gitee From 32ded852f358f432f1f7ef51869f7267b9891812 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 8 Nov 2024 08:54:23 +0800 Subject: [PATCH 56/78] =?UTF-8?q?style:=20=E5=B0=86=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E5=90=8D=E5=8F=98=E4=B8=BA=E9=A9=BC=E5=B3=B0=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/controller/FlowController.java | 618 ++++++------------ 1 file changed, 182 insertions(+), 436 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/FlowController.java b/src/main/java/com/example/workflow/controller/FlowController.java index 9be7737..5e2fde6 100644 --- a/src/main/java/com/example/workflow/controller/FlowController.java +++ b/src/main/java/com/example/workflow/controller/FlowController.java @@ -44,6 +44,8 @@ import com.example.workflow.service.ResultFourthExamineService; import com.example.workflow.service.ResultSecondExamineService; import com.example.workflow.service.ResultThirdExamineService; import com.example.workflow.service.ScoreAssessorsService; +import com.example.workflow.utils.DateTimeUtils; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.HistoryService; import org.camunda.bpm.engine.IdentityService; @@ -56,133 +58,83 @@ import org.camunda.bpm.engine.history.HistoricTaskInstance; import org.camunda.bpm.engine.repository.Deployment; import org.camunda.bpm.engine.runtime.ProcessInstance; import org.camunda.bpm.engine.task.IdentityLink; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 岗位考核管理 - * **/ + @Slf4j @RestController @RequestMapping("/flow") +@AllArgsConstructor public class FlowController { - @Autowired - private ActReDeploymentMapper ActReDeploymentMapper; - @Autowired - private RepositoryService repositoryService; - @Autowired - private RuntimeService runtimeService; - @Autowired - private TaskService taskService; - @Autowired - private IdentityService identityService; - @Autowired - private EmployeePositionMapper EmployeePositionMapper; - @Autowired - private EmployeePositionService EmployeePositionService; - @Autowired - private PositionService PositionService; - @Autowired - private PositionAssessorService PositionAssessorService; - @Autowired - private ResultThirdExamineService ResultThirdExamineService; - @Autowired - private ResultSecondExamineService ResultSecondExamineService; - @Autowired - private TaskViewMapper TaskViewMapper; - @Autowired - private EmpPositionViewService EmpPositionViewService; - @Autowired - private PositionScoreService PositionScoreService; - @Autowired - private ScoreAssessorsService ScoreAssessorsService; - @Autowired - private PositionPieceService PositionPieceService; - @Autowired - private PositionKpiSerivce PositionKpiSerivce; - @Autowired - private EmpScoreService EmpScoreService; - @Autowired - private OkrKeyService OkrKeyService; - @Autowired - private EmpOkrService EmpOkrService; - @Autowired - private ResultFourthExamineService ResultFourthExamineService; - @Autowired - private EmpWageService EmpWageService; - @Autowired - private BackWaitService BackWaitService; - - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); + private final ActReDeploymentMapper actReDeploymentMapper; + private final RepositoryService repositoryService; + private final RuntimeService runtimeService; + private final TaskService taskService; + private final IdentityService identityService; + private final EmployeePositionMapper employeePositionMapper; + private final EmployeePositionService employeePositionService; + private final PositionService positionService; + private final PositionAssessorService positionAssessorService; + private final ResultThirdExamineService resultThirdExamineService; + private final ResultSecondExamineService resultSecondExamineService; + private final TaskViewMapper taskViewMapper; + private final EmpPositionViewService empPositionViewService; + private final PositionScoreService positionScoreService; + private final ScoreAssessorsService scoreAssessorsService; + private final PositionPieceService positionPieceService; + private final PositionKpiSerivce positionKpiSerivce; + private final EmpScoreService empScoreService; + private final OkrKeyService okrKeyService; + private final EmpOkrService empOkrService; + private final ResultFourthExamineService resultFourthExamineService; + private final EmpWageService empWageService; + private final BackWaitService backWaitService; + + @PostMapping("/list") - private R> list(){ - List list= ActReDeploymentMapper.selectList(null); + private R> list() { + List list = actReDeploymentMapper.selectList(null); + return R.success(list); } @PostMapping("/deployee") - private void deploy(String name,String resource){ + private void deploy(String name, String resource) { Deployment deploy = repositoryService.createDeployment() .name(name) .addClasspathResource(resource) .deploy(); + System.out.println("deploy.getId() = " + deploy.getId()); } - /** - * 开始考核 - * **/ - @PostMapping("/startFlow") - private R startFlow(@RequestBody JSONObject obj){ - //勿动(后续建议封装) - //判断是否已经开始考核 - LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); - queryWrapper.eq(EmpPositionView::getPositionId,obj.getString("positionId")) - .eq(EmpPositionView::getState,1); - List empList= EmpPositionViewService.list(queryWrapper); - //获取任务进程 - String processDefinitionId; - try{ - processDefinitionId = empList.get(0).getProcessDefinitionId(); - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - return R.error("没有员工在该岗位"); - - } - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,empList.get(0).getEmpId()) - .eq(TaskView::getProcInstId,empList.get(0).getProcessDefinitionId()); - List taskViewList = TaskViewMapper.selectList(Wrapper); - - //进程不为空 或者 不为""空字符串,则已经进行考核,不允许重复操作 - if (taskViewList != null ){ - }else { - return R.error("已开始考核"); - } - - PositionAssessor assessor=PositionAssessorService.lambdaQuery() - .eq(PositionAssessor::getPositionId,obj.getString("positionId")) + @PostMapping("/startFlow") + private R startFlow(@RequestBody JSONObject obj) { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + LocalDateTime beginTime = time[0]; + LocalDateTime endTime = time[1]; + PositionAssessor assessor = positionAssessorService.lambdaQuery() + .eq(PositionAssessor::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .one(); - if(empList.isEmpty()){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmpPositionView::getPositionId, obj.getString("positionId")); + List empList = empPositionViewService.list(queryWrapper); + if (empList.isEmpty()) { return R.error("没有员工在该岗位"); } @@ -190,16 +142,12 @@ public class FlowController { if(assessor.getSecondAssessorId()==null||assessor.getFourthAssessorId()==null||assessor.getThirdAssessorId()==null){ return R.error("该岗位未配置对应的审核人与审核时限,请前往配置"); } - } - - else if(empList.get(0).getType()==4){ - if(assessor.getSecondAssessorId()==null||assessor.getThirdAssessorId()==null){ + } else if (empList.get(0).getType() == 4) { + if (assessor.getSecondAssessorId() == null || assessor.getThirdAssessorId() == null) { return R.error("该岗位未配置对应的审核人与审核时限,请前往配置"); } - } - - else if(empList.get(0).getType()==3){ - if(assessor.getSecondAssessorId()==null){ + } else if (empList.get(0).getType() == 3) { + if (assessor.getSecondAssessorId() == null) { return R.error("该岗位未配置对应的审核人与审核时限,请前往配置"); } } @@ -207,35 +155,36 @@ public class FlowController { for(EmpPositionView x:empList){ Map map = new HashMap<>(); map.put("declarer",obj.getString("empId")); + identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); + ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey(x.getProcessKey(),map); + .startProcessInstanceByKey(x.getProcessKey(), map); + UpdateWrapper updateWrapper =new UpdateWrapper<>(); updateWrapper - .set("process_definition_id",processInstance.getId()) - .eq("emp_id",x.getEmpId()) - .eq("position_id",obj.getString("positionId")) - .eq("state",1); - EmployeePositionService.update(updateWrapper); + .set("process_definition_id", processInstance.getId()) + .eq("emp_id", x.getEmpId()) + .eq("position_id", obj.getString("positionId")) + .eq("state", 1); + employeePositionService.update(updateWrapper); } - UpdateWrapper updateWrapper =new UpdateWrapper<>(); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper .set("audit_status", '1') - .eq("id",obj.getString("positionId")) - .eq("state",1); - PositionService.update(updateWrapper); + .eq("id", obj.getString("positionId")) + .eq("state", 1); + positionService.update(updateWrapper); return R.success(); } - /** - * 暂停考核 - * **/ + @PostMapping("/stopFlow") - private R stopFlow(@RequestBody JSONObject obj){ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getPositionId,obj.getString("positionId")); - List empList=EmployeePositionMapper.selectList(queryWrapper); + private R stopFlow(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); + List empList = employeePositionMapper.selectList(queryWrapper); empList.forEach(x->{ LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); @@ -244,150 +193,131 @@ public class FlowController { .eq(TaskView::getState,"ACTIVE"); List taskViewList=TaskViewMapper.selectList(Wrapper); - taskViewList.forEach(y->{ - if(y!=null){ + taskViewList.forEach(y -> { + if (y != null) { runtimeService.suspendProcessInstanceById(y.getProcInstId()); } }); }); - UpdateWrapper updateWrapper =new UpdateWrapper<>(); - updateWrapper.set("audit_status", '2').eq("id",obj.getString("positionId")); - PositionService.update(updateWrapper); - + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("audit_status", '2').eq("id", obj.getString("positionId")); + positionService.update(updateWrapper); return R.success(); } - /** - * 恢复考核 - * **/ - @PostMapping("/restoreFlow") - private R restoreFlow(@RequestBody JSONObject obj){ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getPositionId,obj.getString("positionId")); - List empList=EmployeePositionMapper.selectList(queryWrapper); - - empList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,x.getProcessDefinitionId()); - List task = TaskViewMapper.selectList(Wrapper); - if(task!=null) { - for (TaskView taskView : task) { - runtimeService.activateProcessInstanceById(taskView.getProcInstId()); - } + @PostMapping("/restoreFlow") + private R restoreFlow(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); + List empList = employeePositionMapper.selectList(queryWrapper); + + empList.forEach(x -> { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskView::getStartUserId, x.getEmpId()) + .eq(TaskView::getProcInstId, x.getProcessDefinitionId()); + TaskView task = taskViewMapper.selectOne(wrapper); + if (task != null) { + runtimeService.activateProcessInstanceById(task.getProcInstId()); } }); - UpdateWrapper updateWrapper =new UpdateWrapper<>(); - updateWrapper.set("audit_status", '1').eq("id",obj.getString("positionId")); - PositionService.update(updateWrapper); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("audit_status", '1').eq("id", obj.getString("positionId")); + positionService.update(updateWrapper); return R.success(); } - /** - * 结束考核 - * **/ @PostMapping("/deleteFlow") - private R deleteFlow(@RequestBody JSONObject obj){ - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getPositionId,obj.getString("positionId")); - List empList=EmployeePositionMapper.selectList(queryWrapper); - - List positionScores=PositionScoreService.lambdaQuery() - .eq(PositionScore::getPositionId,obj.getString("positionId")) - .eq(PositionScore::getState,1) + private R deleteFlow(@RequestBody JSONObject obj) { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + LocalDateTime beginTime = time[0]; + LocalDateTime endTime = time[1]; + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); + List empList = employeePositionMapper.selectList(queryWrapper); + + List positionScores = positionScoreService.lambdaQuery() + .eq(PositionScore::getPositionId, obj.getString("positionId")) + .eq(PositionScore::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - + .list(); - List delete1=new ArrayList<>(); - positionScores.forEach(x->{ - List scoreAssessorss=ScoreAssessorsService.lambdaQuery() - .eq(ScoreAssessors::getPositionScoreId,x.getId()) - .eq(ScoreAssessors::getState,1) + List delete1 = new ArrayList<>(); + positionScores.forEach(x -> { + List scoreAssessorss = scoreAssessorsService.lambdaQuery() + .eq(ScoreAssessors::getPositionScoreId, x.getId()) + .eq(ScoreAssessors::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - scoreAssessorss.forEach(y->{ - delete1.add(y); - }); + delete1.addAll(scoreAssessorss); }); - - List delete2=PositionPieceService.lambdaQuery() - .eq(PositionPiece::getPositionId,obj.getString("positionId")) - .eq(PositionPiece::getState,1) + List delete2 = positionPieceService.lambdaQuery() + .eq(PositionPiece::getPositionId, obj.getString("positionId")) + .eq(PositionPiece::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - - List delete3=PositionKpiSerivce.lambdaQuery() - .eq(PositionKpi::getPositionId,obj.getString("positionId")) - .eq(PositionKpi::getState,1) + List delete3 = positionKpiSerivce.lambdaQuery() + .eq(PositionKpi::getPositionId, obj.getString("positionId")) + .eq(PositionKpi::getState, 1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); + empList.forEach(x -> { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskView::getStartUserId, x.getEmpId()) + .eq(TaskView::getProcInstId, x.getProcessDefinitionId()); + List taskList = taskViewMapper.selectList(wrapper); - empList.forEach(x->{ - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,x.getProcessDefinitionId()); - List taskList=TaskViewMapper.selectList(Wrapper); + taskList.forEach(y -> runtimeService.deleteProcessInstance(y.getProcInstId(), "删除原因")); - taskList.forEach(y->{ - runtimeService.deleteProcessInstance(y.getProcInstId(),"删除原因"); - }); - - - if(!delete1.isEmpty()){ - delete1.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpScore::getScoreAssessorsId,y.getId()) - .eq(EmpScore::getEmpId,x.getEmpId()) + if (!delete1.isEmpty()) { + delete1.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpScore::getScoreAssessorsId, y.getId()) + .eq(EmpScore::getEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpScoreService.remove(queryWrapper1); + empScoreService.remove(queryWrapper1); }); } - - if(!delete2.isEmpty()){ - delete2.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpPiece::getPieceId,y.getPieceId()) - .eq(EmpPiece::getEmpId,x.getEmpId()) + if (!delete2.isEmpty()) { + delete2.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpPiece::getPieceId, y.getPieceId()) + .eq(EmpPiece::getEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); }); } - - if(!delete3.isEmpty()){ - delete3.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpKpi::getKpiId,y.getKpiId()) - .eq(EmpKpi::getEmpId,x.getEmpId()) + if (!delete3.isEmpty()) { + delete3.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpKpi::getKpiId, y.getKpiId()) + .eq(EmpKpi::getEmpId, x.getEmpId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -395,248 +325,95 @@ public class FlowController { }); } - - //注意 - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime lastEndTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()).plusMonths(1), LocalTime.MAX); - - List delete4=OkrKeyService.lambdaQuery() - .eq(OkrKey::getPositionId,obj.getString("positionId")) - .eq(OkrKey::getLiaEmpId,x.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(lastEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastEndTime) + List delete4 = okrKeyService.lambdaQuery() + .eq(OkrKey::getPositionId, obj.getString("positionId")) + .eq(OkrKey::getLiaEmpId, x.getEmpId()) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - - - if(!delete4.isEmpty()){ - delete4.forEach(y->{ - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpOkr::getEmpId,x.getEmpId()) - .eq(EmpOkr::getOkrKeyId,y.getId()) + if (!delete4.isEmpty()) { + delete4.forEach(y -> { + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpOkr::getEmpId, x.getEmpId()) + .eq(EmpOkr::getOkrKeyId, y.getId()) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpOkrService.remove(queryWrapper1); + empOkrService.remove(queryWrapper1); }); } - - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(EmpWage::getEmpId,x.getEmpId()) - .eq(EmpWage::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(EmpWage::getEmpId, x.getEmpId()) + .eq(EmpWage::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpWageService.remove(queryWrapper1); + empWageService.remove(queryWrapper1); }); - - LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); - queryWrapper1.eq(ResultFourthExamine::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(ResultFourthExamine::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - ResultFourthExamineService.remove(queryWrapper1); + resultFourthExamineService.remove(queryWrapper1); - - LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); - queryWrapper2.eq(ResultThirdExamine::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper2 = new LambdaQueryWrapper<>(); + queryWrapper2.eq(ResultThirdExamine::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - ResultThirdExamineService.remove(queryWrapper2); - + resultThirdExamineService.remove(queryWrapper2); - LambdaQueryWrapper queryWrapper3=new LambdaQueryWrapper<>(); - queryWrapper3.eq(ResultSecondExamine::getPositionId,obj.getString("positionId")) + LambdaQueryWrapper queryWrapper3 = new LambdaQueryWrapper<>(); + queryWrapper3.eq(ResultSecondExamine::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - ResultSecondExamineService.remove(queryWrapper3); - + resultSecondExamineService.remove(queryWrapper3); - UpdateWrapper updateWrapper =new UpdateWrapper<>(); - updateWrapper.set("audit_status", '0').eq("id",obj.getString("positionId")); - PositionService.update(updateWrapper); + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("audit_status", '0').eq("id", obj.getString("positionId")); + positionService.update(updateWrapper); - - - List backWaitList=BackWaitService.lambdaQuery() - .eq(BackWait::getPositionId,obj.getString("positionId")) + List backWaitList = backWaitService.lambdaQuery() + .eq(BackWait::getPositionId, obj.getString("positionId")) .list(); - backWaitList.forEach(x->{ - runtimeService.deleteProcessInstance(x.getProcessDefineId(),"删除原因"); - BackWaitService.removeById(x); + backWaitList.forEach(x -> { + runtimeService.deleteProcessInstance(x.getProcessDefineId(), "删除原因"); + backWaitService.removeById(x); }); return R.success(); } - @PostMapping("/updateFlowOne") - public R updateFlowOne(@RequestBody JSONObject obj){ - /*Long empId=Long.valueOf(obj.getString("empId")); - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(EmployeePosition::getEmpId,String.valueOf(empId)); - Long positionId=EmployeePositionMapper.selectOne(Wrapper).getPositionId(); - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(TaskView::getStartUserId,String.valueOf(empId)); - TaskView task=TaskViewMapper.selectOne(queryWrapper); - - //评分 - List assessorList1 = new ArrayList<>(); - LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(ScoreRule::getPositionId,positionId); - List num1= ScoreRuleService.list(query1); - num1.forEach(x->{ - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(ScoreAssessors::getRuleId,x.getId()); - List assessor= ScoreAssessorsService.list(query); - assessor.forEach(y->{ - assessorList1.add(String.valueOf(y.getAssessorId())); - }); - }); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); - - //计件 - List assessorList2 = new ArrayList<>(); - LambdaQueryWrapper query2=new LambdaQueryWrapper<>(); - query2.eq(PieceRule::getPositionId,positionId); - List num2= PieceRuleService.list(query2); - num2.forEach(x->{ - assessorList2.add(String.valueOf(x.getAssessorId())); - }); - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); - - //KPI - List assessorList3 = new ArrayList<>(); - LambdaQueryWrapper query3=new LambdaQueryWrapper<>(); - query3.eq(KpiRule::getPositionId,positionId); - List num3= KpiRuleService.list(query3); - num3.forEach(x->{ - assessorList3.add(String.valueOf(x.getAssessorId())); - }); - List assessors3=assessorList3.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(); - if(assessors1.isEmpty()==true) - map.put("scoreAppoint", "true"); - else - map.put("ASList", assessors1); - - if(assessors2.isEmpty()==true) - map.put("pieceAppoint", "true"); - else - map.put("APList", assessors2); - - if(assessors3.isEmpty()==true) - map.put("kpiAppoint", "true"); - else - map.put("AKList", assessors3); - map.put("kpiAppoint", "true"); - taskService.complete(task.getId(),map);*/ - - return R.success(); - } - - @PostMapping("/updateFlowAll") - public R updateFlowAll(@RequestBody JSONObject obj){ - /*List list=obj.getJSONArray("empList"); - - list.forEach(x->{ - - }); - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(EmployeePosition::getEmpId,String.valueOf(empId)); - Long positionId=EmployeePositionMapper.selectOne(Wrapper).getPositionId(); - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(TaskView::getStartUserId,String.valueOf(empId)); - TaskView task=TaskViewMapper.selectOne(queryWrapper); - - //评分 - List assessorList1 = new ArrayList<>(); - LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(ScoreRule::getPositionId,positionId); - List num1= ScoreRuleService.list(query1); - num1.forEach(x->{ - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(ScoreAssessors::getRuleId,x.getId()); - List assessor= ScoreAssessorsService.list(query); - assessor.forEach(y->{ - assessorList1.add(String.valueOf(y.getAssessorId())); - }); - }); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); - - //计件 - List assessorList2 = new ArrayList<>(); - LambdaQueryWrapper query2=new LambdaQueryWrapper<>(); - query2.eq(PieceRule::getPositionId,positionId); - List num2= PieceRuleService.list(query2); - num2.forEach(x->{ - assessorList2.add(String.valueOf(x.getAssessorId())); - }); - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); - - //KPI - List assessorList3 = new ArrayList<>(); - LambdaQueryWrapper query3=new LambdaQueryWrapper<>(); - query3.eq(KpiRule::getPositionId,positionId); - List num3= KpiRuleService.list(query3); - num3.forEach(x->{ - assessorList3.add(String.valueOf(x.getAssessorId())); - }); - List assessors3=assessorList3.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(); - if(assessors1.isEmpty()==true) - map.put("scoreAppoint", "true"); - else - map.put("ASList", assessors1); - - if(assessors2.isEmpty()==true) - map.put("pieceAppoint", "true"); - else - map.put("APList", assessors2); - - if(assessors3.isEmpty()==true) - map.put("kpiAppoint", "true"); - else - map.put("AKList", assessors3); - map.put("kpiAppoint", "true"); - taskService.complete(task.getId(),map);*/ - - return R.success(); - } @PostMapping("/userId") - private R> searchId(String taskId){ - List id=taskService.getIdentityLinksForTask(taskId); + private R> searchId(String taskId) { + List id = taskService.getIdentityLinksForTask(taskId); return R.success(id); } @PostMapping("/complete") - private R complete(String id){ + private R complete(String id) { List assessorList1 = new ArrayList<>(4); assessorList1.add("userOne"); assessorList1.add("userTwo"); List assessorList2 = new ArrayList<>(4); assessorList2.add("userThree"); - Map map = new HashMap<>(); - map.put("appoint","no"); - map.put("assessor","xxy"); - map.put("declear","q"); + Map map = new HashMap<>(32); + map.put("appoint", "no"); + map.put("assessor", "xxy"); + map.put("declear", "q"); map.put("pieceAppoint", "true"); map.put("scoreAppoint", "false"); map.put("kpiAppoint", "true"); @@ -645,13 +422,13 @@ public class FlowController { map.put("AKList", assessorList1); map.put("APList", assessorList2); map.put("AOList", assessorList2); - map.put("AThirdList",assessorList2); - taskService.complete(id,map); + map.put("AThirdList", assessorList2); + taskService.complete(id, map); return R.success(); } @PostMapping("/getComplete") - private R> getCompleteList(){ + private R> getCompleteList() { ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); HistoryService historyService = processEngine.getHistoryService(); @@ -659,44 +436,13 @@ public class FlowController { .finished() .list(); - return R.success(completedTasks); - } - - public void SetState(EmployeePosition one){ - //评分 - /*LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(ScoreRule::getPositionId,one.getPositionId()); - List ScoreRuleList=ScoreRuleMapper.selectList(queryWrapper); - if(ScoreRuleList!=null){ - one.setScoreState((short)1); - } - else{ - one.setScoreState((short)0); + for (HistoricTaskInstance task : completedTasks) { + System.out.println("Completed task id: " + task.getId()); } - //计件 - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(PieceRule::getPositionId,one.getPositionId()); - List PieceRuleList=PieceRuleMapper.selectList(Wrapper); - if(PieceRuleList!=null){ - one.setPieceState((short)1); - } - else{ - one.setPieceState((short)0); - } - - //kpi - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(KpiRule::getPositionId,one.getPositionId()); - List KpiRuleList=KpiRuleMapper.selectList(query); - if(KpiRuleList!=null){ - one.setKpiState((short)1); - } - else{ - one.setKpiState((short)0); - } - EmployeePositionService.updateById(one);*/ + return R.success(completedTasks); } + } -- Gitee From 7b17b6a4b53ca024bc832e7b9683a84c7dc7d4f4 Mon Sep 17 00:00:00 2001 From: hrc Date: Mon, 25 Nov 2024 18:56:54 +0800 Subject: [PATCH 57/78] =?UTF-8?q?delete:=20=E6=97=A0=E7=94=A8=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/mapper/ActReDeploymentMapper.java | 9 --------- .../workflow/repository/PdfFileRepository.java | 9 --------- .../java/com/example/workflow/utils/Deploy.java | 14 -------------- 3 files changed, 32 deletions(-) delete mode 100644 src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java delete mode 100644 src/main/java/com/example/workflow/repository/PdfFileRepository.java delete mode 100644 src/main/java/com/example/workflow/utils/Deploy.java diff --git a/src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java b/src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java deleted file mode 100644 index 450b0a9..0000000 --- a/src/main/java/com/example/workflow/mapper/ActReDeploymentMapper.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.workflow.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.example.workflow.model.entity.ActReDeployment; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface ActReDeploymentMapper extends BaseMapper { -} diff --git a/src/main/java/com/example/workflow/repository/PdfFileRepository.java b/src/main/java/com/example/workflow/repository/PdfFileRepository.java deleted file mode 100644 index 8c1ea2e..0000000 --- a/src/main/java/com/example/workflow/repository/PdfFileRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.example.workflow.repository; - -import com.example.workflow.model.entity.PdfFile; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -@Repository -public interface PdfFileRepository extends JpaRepository { -} diff --git a/src/main/java/com/example/workflow/utils/Deploy.java b/src/main/java/com/example/workflow/utils/Deploy.java deleted file mode 100644 index 16af425..0000000 --- a/src/main/java/com/example/workflow/utils/Deploy.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.workflow.utils; - -import org.camunda.bpm.engine.RepositoryService; -import org.camunda.bpm.engine.RuntimeService; - -public class Deploy { - private RepositoryService repositoryService; - private RuntimeService runtimeService; - public void deployBasicEmp(){ - - } - - -} -- Gitee From c92edcde0c8b39bbdb8e3eabf6ca23727960fa78 Mon Sep 17 00:00:00 2001 From: hrc Date: Mon, 25 Nov 2024 18:58:00 +0800 Subject: [PATCH 58/78] =?UTF-8?q?delete:=20=E5=BA=9F=E5=BC=83=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/controller/FlowController.java | 89 ++----------------- 1 file changed, 7 insertions(+), 82 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/FlowController.java b/src/main/java/com/example/workflow/controller/FlowController.java index 5e2fde6..9b59f9b 100644 --- a/src/main/java/com/example/workflow/controller/FlowController.java +++ b/src/main/java/com/example/workflow/controller/FlowController.java @@ -5,10 +5,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.example.workflow.common.R; -import com.example.workflow.mapper.ActReDeploymentMapper; +import com.example.workflow.enums.ProcessState; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.ActReDeployment; import com.example.workflow.model.entity.BackWait; import com.example.workflow.model.entity.EmpKpi; import com.example.workflow.model.entity.EmpOkr; @@ -47,17 +46,9 @@ import com.example.workflow.service.ScoreAssessorsService; import com.example.workflow.utils.DateTimeUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.camunda.bpm.engine.HistoryService; import org.camunda.bpm.engine.IdentityService; -import org.camunda.bpm.engine.ProcessEngine; -import org.camunda.bpm.engine.ProcessEngines; -import org.camunda.bpm.engine.RepositoryService; import org.camunda.bpm.engine.RuntimeService; -import org.camunda.bpm.engine.TaskService; -import org.camunda.bpm.engine.history.HistoricTaskInstance; -import org.camunda.bpm.engine.repository.Deployment; import org.camunda.bpm.engine.runtime.ProcessInstance; -import org.camunda.bpm.engine.task.IdentityLink; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -75,10 +66,7 @@ import java.util.Map; @AllArgsConstructor public class FlowController { - private final ActReDeploymentMapper actReDeploymentMapper; - private final RepositoryService repositoryService; private final RuntimeService runtimeService; - private final TaskService taskService; private final IdentityService identityService; private final EmployeePositionMapper employeePositionMapper; private final EmployeePositionService employeePositionService; @@ -101,22 +89,6 @@ public class FlowController { - @PostMapping("/list") - private R> list() { - List list = actReDeploymentMapper.selectList(null); - - return R.success(list); - } - - @PostMapping("/deployee") - private void deploy(String name, String resource) { - Deployment deploy = repositoryService.createDeployment() - .name(name) - .addClasspathResource(resource) - .deploy(); - System.out.println("deploy.getId() = " + deploy.getId()); - } - @PostMapping("/startFlow") private R startFlow(@RequestBody JSONObject obj) { @@ -186,12 +158,12 @@ public class FlowController { queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); List empList = employeePositionMapper.selectList(queryWrapper); - empList.forEach(x->{ - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,x.getProcessDefinitionId()) - .eq(TaskView::getState,"ACTIVE"); - List taskViewList=TaskViewMapper.selectList(Wrapper); + empList.forEach(x -> { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskView::getStartUserId, x.getEmpId()) + .eq(TaskView::getProcInstId, x.getProcessDefinitionId()) + .eq(TaskView::getState, ProcessState.ACTIVE.getState()); + List taskViewList = taskViewMapper.selectList(wrapper); taskViewList.forEach(y -> { if (y != null) { @@ -396,53 +368,6 @@ public class FlowController { return R.success(); } - - @PostMapping("/userId") - private R> searchId(String taskId) { - List id = taskService.getIdentityLinksForTask(taskId); - return R.success(id); - } - - @PostMapping("/complete") - private R complete(String id) { - List assessorList1 = new ArrayList<>(4); - assessorList1.add("userOne"); - assessorList1.add("userTwo"); - List assessorList2 = new ArrayList<>(4); - assessorList2.add("userThree"); - Map map = new HashMap<>(32); - map.put("appoint", "no"); - map.put("assessor", "xxy"); - map.put("declear", "q"); - map.put("pieceAppoint", "true"); - map.put("scoreAppoint", "false"); - map.put("kpiAppoint", "true"); - map.put("okrAppoint", "false"); - map.put("ASList", assessorList1); - map.put("AKList", assessorList1); - map.put("APList", assessorList2); - map.put("AOList", assessorList2); - map.put("AThirdList", assessorList2); - taskService.complete(id, map); - return R.success(); - } - - @PostMapping("/getComplete") - private R> getCompleteList() { - ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); - HistoryService historyService = processEngine.getHistoryService(); - - List completedTasks = historyService.createHistoricTaskInstanceQuery() - .finished() - .list(); - - for (HistoricTaskInstance task : completedTasks) { - System.out.println("Completed task id: " + task.getId()); - } - - return R.success(completedTasks); - } - } -- Gitee From db587187b65d5b063d1150ab691afb7b817dc170 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:19:58 +0800 Subject: [PATCH 59/78] =?UTF-8?q?update:=E6=94=B9=E7=94=A8mybatisPlus?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0pdf=E7=9A=84crud?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PdfFilesController.java | 121 ++++++++---------- .../workflow/model/entity/PdfFile.java | 5 +- 2 files changed, 56 insertions(+), 70 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/PdfFilesController.java b/src/main/java/com/example/workflow/controller/PdfFilesController.java index 1ad0ddf..4ee06a7 100644 --- a/src/main/java/com/example/workflow/controller/PdfFilesController.java +++ b/src/main/java/com/example/workflow/controller/PdfFilesController.java @@ -7,12 +7,11 @@ import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; import com.example.workflow.model.bean.PageBean; import com.example.workflow.model.entity.PdfFile; -import com.example.workflow.repository.PdfFileRepository; import com.example.workflow.service.PdfFileService; +import com.example.workflow.utils.DateTimeUtils; import lombok.RequiredArgsConstructor; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocumentInformation; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -32,9 +31,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.URLEncoder; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.List; /** @@ -47,28 +44,29 @@ import java.util.List; @RequiredArgsConstructor @RequestMapping("/pdf") public class PdfFilesController { - private final PdfFileRepository pdfFileRepository; - @Autowired - private PdfFileService PdfFileService; - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); + private final PdfFileService pdfFileService; - /** - * 获取当月pdf文件 - */ - @PostMapping("/getNowList") - private R> getNowList(){ - List list= PdfFileService.lambdaQuery() + @GetMapping("/getNowList") + public R> getNowList() { + LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); + LocalDateTime beginTime = time[0]; + LocalDateTime endTime = time[1]; + List list = pdfFileService.lambdaQuery() + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (update_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (update_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); return R.success(list); } /** - * 导入依据pdf文件 + * 获取依据pdf文件 + * + * @return List */ @GetMapping("/list") public R getPdfFileList( @@ -77,28 +75,32 @@ public class PdfFilesController { @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "10") Integer pageSize) { - Page page = new Page<>(pageNum,pageSize); + Page page = new Page<>(pageNum, pageSize); - Page pdfFiles = Db.lambdaQuery(PdfFile.class) - .select(PdfFile::getId,PdfFile::getFileName,PdfFile::getUploadTime,PdfFile::getUpdateTime) - .like(fileName != null,PdfFile::getFileName,fileName) - .like(id != null,PdfFile::getId,id) - .page(page); + Page pdfFiles = Db.lambdaQuery(PdfFile.class) + .select(PdfFile::getId, PdfFile::getFileName, PdfFile::getUploadTime, PdfFile::getUpdateTime) + .like(fileName != null, PdfFile::getFileName, fileName) + .like(id != null, PdfFile::getId, id) + .page(page); - PageBean pageBean = new PageBean(pdfFiles.getTotal(),pdfFiles.getRecords()); + PageBean pageBean = new PageBean(pdfFiles.getTotal(), pdfFiles.getRecords()); - return R.success(pageBean); + return R.success(pageBean); } /** * 删除依据pdf文件 + * + * @return R */ @DeleteMapping("/delete/{ids}") public R deletePdf(@PathVariable List ids) { - Boolean bool = Db.removeByIds(ids,PdfFile.class); + boolean bool = Db.removeByIds(ids, PdfFile.class); - if (bool) return R.success(); + if (bool) { + return R.success(); + } return R.error("删除文件失败"); } @@ -106,34 +108,29 @@ public class PdfFilesController { * 导入依据pdf文件 */ @PostMapping("/upload") - public ResponseEntity uploadFile(MultipartFile file) { + public ResponseEntity uploadFile(MultipartFile file) throws IOException { if (file.isEmpty()) { return new ResponseEntity<>("请上传文件", HttpStatus.BAD_REQUEST); } - try { - PdfFile pdfFile = new PdfFile(); - pdfFile.setFileName(file.getOriginalFilename()); - pdfFile.setFileContent(file.getBytes()); - pdfFile.setUploadTime(LocalDateTime.now()); - pdfFile.setId(String.valueOf(System.currentTimeMillis())); + PdfFile pdfFile = new PdfFile(); + pdfFile.setFileName(file.getOriginalFilename()); + pdfFile.setFileContent(file.getBytes()); + pdfFile.setUploadTime(LocalDateTime.now()); + pdfFile.setId(String.valueOf(System.currentTimeMillis())); - pdfFileRepository.save(pdfFile); + pdfFileService.save(pdfFile); + return new ResponseEntity<>("上传文件成功", HttpStatus.OK); - return new ResponseEntity<>("上传文件成功", HttpStatus.OK); - } catch (IOException e) { - e.printStackTrace(); - return new ResponseEntity<>("上传文件失败", HttpStatus.INTERNAL_SERVER_ERROR); - } } /** * 预览pdf文件 */ @GetMapping("/preview/{id}") - public void showPDF(@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) { + public void showPDF(@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) throws IOException { InputStream inputStream; - try { + //获取pdf文件 PdfFile pdfFile = Db.lambdaQuery(PdfFile.class).eq(id != null,PdfFile::getId,id).one(); @@ -155,39 +152,31 @@ public class PdfFilesController { document.save(out); //输出 document.close(); } - } catch (IOException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } } /** * 下载pdf文件 */ @GetMapping("/download/{id}") - public void downloadPDF(@PathVariable Long id, HttpServletRequest request, HttpServletResponse response) { - try { - //获取pdf文件 - PdfFile pdfFile = Db.lambdaQuery(PdfFile.class).eq(id != null,PdfFile::getId,id).one(); + public void downloadPDF(@PathVariable Long id, HttpServletResponse response) throws IOException { - //二进制文件内容 - byte[] content = pdfFile.getFileContent(); + // 获取pdf文件 + PdfFile pdfFile = Db.lambdaQuery(PdfFile.class).eq(id != null, PdfFile::getId, id).one(); - if (null != content && content.length > 0) { - String fileName = pdfFile.getFileName(); - // 设置响应内容类型为 PDF - response.setContentType(MediaType.APPLICATION_PDF_VALUE); - response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); - - // 将二进制数据写入 HttpServletResponse 的输出流 - try (OutputStream outputStream = response.getOutputStream()) { - outputStream.write(content); - outputStream.flush(); - } + // 二进制文件内容 + byte[] content = pdfFile.getFileContent(); + + if (null != content && content.length > 0) { + String fileName = pdfFile.getFileName(); + // 设置响应内容类型为 PDF + response.setContentType(MediaType.APPLICATION_PDF_VALUE); + response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8")); + + // 将二进制数据写入 HttpServletResponse 的输出流 + try (OutputStream outputStream = response.getOutputStream()) { + outputStream.write(content); + outputStream.flush(); } - } catch (IOException e) { - e.printStackTrace(); } } diff --git a/src/main/java/com/example/workflow/model/entity/PdfFile.java b/src/main/java/com/example/workflow/model/entity/PdfFile.java index fddccb0..bb9bfd7 100644 --- a/src/main/java/com/example/workflow/model/entity/PdfFile.java +++ b/src/main/java/com/example/workflow/model/entity/PdfFile.java @@ -6,8 +6,6 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import javax.persistence.Entity; -import javax.persistence.Id; import java.io.Serializable; import java.time.LocalDateTime; @@ -22,13 +20,12 @@ import java.time.LocalDateTime; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -@Entity @TableName("pdf_file") public class PdfFile implements Serializable { private static final long serialVersionUID = 1L; - @Id + private String id; /** -- Gitee From c8ff682a9c6446f48795b8f54d55a562748d42c0 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:34:57 +0800 Subject: [PATCH 60/78] =?UTF-8?q?add:=E8=B7=A8=E5=9F=9F=E9=85=8D=E7=BD=AE-?= =?UTF-8?q?-=E8=BF=87=E6=BB=A4=E5=99=A8=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/common/filter/CorsFilter.java | 36 +++++++++++++++++++ .../example/workflow/config/WebMvcConfig.java | 19 +++++----- 2 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/example/workflow/common/filter/CorsFilter.java diff --git a/src/main/java/com/example/workflow/common/filter/CorsFilter.java b/src/main/java/com/example/workflow/common/filter/CorsFilter.java new file mode 100644 index 0000000..75d0cd3 --- /dev/null +++ b/src/main/java/com/example/workflow/common/filter/CorsFilter.java @@ -0,0 +1,36 @@ +package com.example.workflow.common.filter; + +import org.springframework.stereotype.Component; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@Component +public class CorsFilter implements Filter { + + @Override + public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { + HttpServletResponse response = (HttpServletResponse) res; + HttpServletRequest request = (HttpServletRequest) req; + + // 允许来自任何源的请求,实际应用中应该限制到具体的域名 + response.setHeader("Access-Control-Allow-Origin", "*"); + response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); + response.setHeader("Access-Control-Max-Age", "3600"); + response.setHeader("Access-Control-Allow-Headers", "x-requested-with, authorization, Content-Type, Authorization, credential, X-XSRF-TOKEN"); + + if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { + // 预检请求直接返回200状态码 + response.setStatus(HttpServletResponse.SC_OK); + } else { + chain.doFilter(req, res); + } + } + +} \ No newline at end of file diff --git a/src/main/java/com/example/workflow/config/WebMvcConfig.java b/src/main/java/com/example/workflow/config/WebMvcConfig.java index 4f05f30..df68ad1 100644 --- a/src/main/java/com/example/workflow/config/WebMvcConfig.java +++ b/src/main/java/com/example/workflow/config/WebMvcConfig.java @@ -1,9 +1,11 @@ package com.example.workflow.config; +import com.example.workflow.common.filter.CorsFilter; import com.example.workflow.interceptor.TokenCheckInterceptor; import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -25,13 +27,12 @@ public class WebMvcConfig implements WebMvcConfigurer { .excludePathPatterns("/login", "/getVerifyCode", "/logout", "/login/test"); } - @Override - public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**") - .allowedOriginPatterns("*") - .allowedMethods("GET", "POST", "PUT", "DELETE") - .allowedHeaders("*") - .allowCredentials(true) - .maxAge(3600); + @Bean + public FilterRegistrationBean loggingFilter(CorsFilter corsFilter) { + FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); + registrationBean.setFilter(corsFilter); + registrationBean.addUrlPatterns("/*"); // 应用到所有URL路径 + return registrationBean; } + } -- Gitee From 451bd082076f3b835ffe27fc87dd0f63025b4804 Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:36:10 +0800 Subject: [PATCH 61/78] =?UTF-8?q?refactor:=E4=BD=BF=E7=94=A8spring?= =?UTF-8?q?=E7=9A=84http=E6=96=B9=E6=B3=95=E6=9E=9A=E4=B8=BE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/workflow/interceptor/TokenCheckInterceptor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java index 898de67..dfa1324 100644 --- a/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java +++ b/src/main/java/com/example/workflow/interceptor/TokenCheckInterceptor.java @@ -2,6 +2,7 @@ package com.example.workflow.interceptor; import com.example.workflow.exception.BaseException; import com.example.workflow.utils.JwtHelper; +import org.springframework.http.HttpMethod; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import org.springframework.web.servlet.HandlerInterceptor; @@ -9,14 +10,13 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.HttpMethod; @Component public class TokenCheckInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { - if (HttpMethod.OPTIONS.equals(request.getMethod())) { + if (HttpMethod.OPTIONS.matches(request.getMethod())) { return true; } // 获取请求头中的令牌(token) -- Gitee From 5ac4970958d594de494ec5d4e9be9255743e524e Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:36:41 +0800 Subject: [PATCH 62/78] =?UTF-8?q?add:=E6=97=A5=E5=BF=97=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/logback-spring.xml | 42 +++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/main/resources/logback-spring.xml diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..a917694 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,42 @@ + + + + + + + + + %red(%d{HH:mm:ss.SSS}) [%thread] %green(%-5level) %blue(%logger{36} :%L) %green(%X{sno}-%X{passwd}) + %msg%n + + + + + ` + + + + ./performance/logs/%d{yyyy-MM-dd-HH-mm-ss}.log + + + 30 + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n + + + + 10MB + + + + + + + + \ No newline at end of file -- Gitee From ebcfd8d18fe59e7df10ae1c89aef40978488b18d Mon Sep 17 00:00:00 2001 From: hrc Date: Fri, 13 Dec 2024 22:37:08 +0800 Subject: [PATCH 63/78] =?UTF-8?q?fix:=E6=97=A0=E6=B3=95=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=B8=80=E7=BA=A7=E9=83=A8=E9=97=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/workflow/service/impl/DeptServiceImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java index 6af8f3c..d0bed97 100644 --- a/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/DeptServiceImpl.java @@ -201,7 +201,10 @@ public class DeptServiceImpl extends ServiceImpl implements De Set deptHierarchySet = new HashSet<>(); for (DeptHierarchy dh : deptHierarchyList) { - deptHierarchySet.add(dh.getChildId()); + if (!dh.getParentId().equals(1L)) { + deptHierarchySet.add(dh.getChildId()); + } + DeptVo parentDept = deptMap.get(dh.getParentId()); DeptVo childDept = deptMap.get(dh.getChildId()); -- Gitee From b6475dd46e0b3f3c5da672a38133cc15b68df38c Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 15 Dec 2024 17:17:16 +0800 Subject: [PATCH 64/78] =?UTF-8?q?fix:jwt=E6=97=B6=E9=97=B4=E6=88=B3?= =?UTF-8?q?=E5=8D=95=E4=BD=8D=E9=94=99=E8=AF=AF=E5=AF=BC=E8=87=B4token?= =?UTF-8?q?=E5=A4=B1=E6=95=88=E6=97=A0=E6=B3=95=E8=8E=B7=E5=8F=96=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/workflow/utils/JwtHelper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/workflow/utils/JwtHelper.java b/src/main/java/com/example/workflow/utils/JwtHelper.java index fccf2b9..cfa6f20 100644 --- a/src/main/java/com/example/workflow/utils/JwtHelper.java +++ b/src/main/java/com/example/workflow/utils/JwtHelper.java @@ -78,9 +78,10 @@ public class JwtHelper { if (map == null) { return false; } + // TODO (hrc,2024/12/15,16:50) jwt 中的exp的时间戳单位是秒 Claim exp = map.get("exp"); Long expLong = exp.asLong(); long nowMilli = Instant.now().toEpochMilli(); - return expLong < nowMilli; + return expLong * 1000 < nowMilli; } } -- Gitee From 2ba80d3ce85ce9e521d76175ddb465f7e4a906e1 Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 15 Dec 2024 18:48:59 +0800 Subject: [PATCH 65/78] =?UTF-8?q?fix:=E8=A7=A3=E5=86=B3=E8=B7=A8=E5=9F=9F?= =?UTF-8?q?=E6=97=B6=E9=AA=8C=E8=AF=81=E7=A0=81=E8=BF=87=E6=9C=9F=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E6=97=A0=E6=B3=95=E7=99=BB=E5=BD=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/common/filter/CorsFilter.java | 36 ------------------- .../example/workflow/config/WebMvcConfig.java | 11 ------ .../session/VerifyCodeSessionContent.java | 23 ++++++++++++ .../workflow/controller/LoginController.java | 14 +++++--- .../workflow/interceptor/MyCorsFilter.java | 31 ++++++++++++++++ 5 files changed, 63 insertions(+), 52 deletions(-) delete mode 100644 src/main/java/com/example/workflow/common/filter/CorsFilter.java create mode 100644 src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java create mode 100644 src/main/java/com/example/workflow/interceptor/MyCorsFilter.java diff --git a/src/main/java/com/example/workflow/common/filter/CorsFilter.java b/src/main/java/com/example/workflow/common/filter/CorsFilter.java deleted file mode 100644 index 75d0cd3..0000000 --- a/src/main/java/com/example/workflow/common/filter/CorsFilter.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.example.workflow.common.filter; - -import org.springframework.stereotype.Component; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -@Component -public class CorsFilter implements Filter { - - @Override - public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { - HttpServletResponse response = (HttpServletResponse) res; - HttpServletRequest request = (HttpServletRequest) req; - - // 允许来自任何源的请求,实际应用中应该限制到具体的域名 - response.setHeader("Access-Control-Allow-Origin", "*"); - response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); - response.setHeader("Access-Control-Max-Age", "3600"); - response.setHeader("Access-Control-Allow-Headers", "x-requested-with, authorization, Content-Type, Authorization, credential, X-XSRF-TOKEN"); - - if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { - // 预检请求直接返回200状态码 - response.setStatus(HttpServletResponse.SC_OK); - } else { - chain.doFilter(req, res); - } - } - -} \ No newline at end of file diff --git a/src/main/java/com/example/workflow/config/WebMvcConfig.java b/src/main/java/com/example/workflow/config/WebMvcConfig.java index df68ad1..715f8ad 100644 --- a/src/main/java/com/example/workflow/config/WebMvcConfig.java +++ b/src/main/java/com/example/workflow/config/WebMvcConfig.java @@ -1,10 +1,7 @@ package com.example.workflow.config; -import com.example.workflow.common.filter.CorsFilter; import com.example.workflow.interceptor.TokenCheckInterceptor; import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -27,12 +24,4 @@ public class WebMvcConfig implements WebMvcConfigurer { .excludePathPatterns("/login", "/getVerifyCode", "/logout", "/login/test"); } - @Bean - public FilterRegistrationBean loggingFilter(CorsFilter corsFilter) { - FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); - registrationBean.setFilter(corsFilter); - registrationBean.addUrlPatterns("/*"); // 应用到所有URL路径 - return registrationBean; - } - } diff --git a/src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java b/src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java new file mode 100644 index 0000000..7d2a811 --- /dev/null +++ b/src/main/java/com/example/workflow/content/session/VerifyCodeSessionContent.java @@ -0,0 +1,23 @@ +package com.example.workflow.content.session; + +import java.util.HashMap; +import java.util.Map; + +/** + * 存放验证码 + */ +public class VerifyCodeSessionContent { + private static final Map data = new HashMap<>(); + + public static Object getVerifyCode(String key) { + return data.get(key); + } + + public static void setVerifyCode(String key, Object value) { + data.put(key, value); + } + + public static void clearVerifyCode(String key) { + data.remove(key); + } +} diff --git a/src/main/java/com/example/workflow/controller/LoginController.java b/src/main/java/com/example/workflow/controller/LoginController.java index 4aeebd3..51def37 100644 --- a/src/main/java/com/example/workflow/controller/LoginController.java +++ b/src/main/java/com/example/workflow/controller/LoginController.java @@ -3,6 +3,7 @@ package com.example.workflow.controller; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.workflow.common.R; +import com.example.workflow.content.session.VerifyCodeSessionContent; import com.example.workflow.model.bean.CheckCode; import com.example.workflow.model.entity.Employee; import com.example.workflow.model.entity.LoginDto; @@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.imageio.ImageIO; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.awt.image.BufferedImage; @@ -52,9 +54,9 @@ public class LoginController { //功能是生成验证码字符并加上噪点,干扰线,返回值为验证码字符 CheckCode checkCode = new CheckCode(randomText, 60); - - session.setAttribute("verifyCode", checkCode); - + response.setHeader("X-Request-ID", session.getId()); + VerifyCodeSessionContent.setVerifyCode(session.getId(), checkCode); + // session.setAttribute("verifyCode", checkCode); // 必须设置响应内容类型为图片,否则前台不识别 response.setContentType("image/png"); // 输出图片流 @@ -68,9 +70,11 @@ public class LoginController { * 登陆接口 */ @PostMapping("/login") - public R login(@RequestBody LoginDto dto, HttpSession session) { + public R login(@RequestBody LoginDto dto, HttpSession session, HttpServletRequest request) { + String sessionKey = request.getHeader("X-Request-ID"); + CheckCode checkCode = (CheckCode) VerifyCodeSessionContent.getVerifyCode(sessionKey); - CheckCode checkCode = (CheckCode) session.getAttribute("verifyCode"); + // CheckCode checkCode = (CheckCode) session.getAttribute("verifyCode"); if (Objects.isNull(checkCode) || checkCode.isExpired()) { return R.error("验证码已过期,请点击重新生成!"); diff --git a/src/main/java/com/example/workflow/interceptor/MyCorsFilter.java b/src/main/java/com/example/workflow/interceptor/MyCorsFilter.java new file mode 100644 index 0000000..2d3737b --- /dev/null +++ b/src/main/java/com/example/workflow/interceptor/MyCorsFilter.java @@ -0,0 +1,31 @@ +package com.example.workflow.interceptor; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +@Configuration +public class MyCorsFilter { + @Bean + public CorsFilter corsFilter() { + // 1.创建 CORS 配置对象 + CorsConfiguration config = new CorsConfiguration(); + // 支持域 + config.addAllowedOriginPattern("*"); + // 是否发送 Cookie + config.setAllowCredentials(true); + // 支持请求方式 + config.addAllowedMethod("*"); + // 允许的原始请求头部信息 + config.addAllowedHeader("*"); + // 暴露的头部信息 + config.addExposedHeader("X-Request-ID"); + // 2.添加地址映射 + UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource(); + corsConfigurationSource.registerCorsConfiguration("/**", config); + // 3.返回 CorsFilter 对象 + return new CorsFilter(corsConfigurationSource); + } +} \ No newline at end of file -- Gitee From e166a825f85170faf474ee89a286ab7e6119a8cc Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 15 Dec 2024 22:28:31 +0800 Subject: [PATCH 66/78] =?UTF-8?q?add:=E6=B5=81=E7=A8=8B=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/workflow/enums/ProcessState.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/com/example/workflow/enums/ProcessState.java diff --git a/src/main/java/com/example/workflow/enums/ProcessState.java b/src/main/java/com/example/workflow/enums/ProcessState.java new file mode 100644 index 0000000..32117f2 --- /dev/null +++ b/src/main/java/com/example/workflow/enums/ProcessState.java @@ -0,0 +1,15 @@ +package com.example.workflow.enums; + +public enum ProcessState { + ACTIVE("ACTIVE"); + + private final String state; + + public String getState() { + return this.state; + } + + ProcessState(final String state) { + this.state = state; + } +} \ No newline at end of file -- Gitee From b83fcb1edbf294465e4382619c2df901e56281c3 Mon Sep 17 00:00:00 2001 From: hrc Date: Wed, 18 Dec 2024 17:04:46 +0800 Subject: [PATCH 67/78] =?UTF-8?q?add:=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-sealos.yml | 62 ++++++++++++++++++++++ src/main/resources/application-sqlpub.yml | 63 +++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 src/main/resources/application-sealos.yml create mode 100644 src/main/resources/application-sqlpub.yml diff --git a/src/main/resources/application-sealos.yml b/src/main/resources/application-sealos.yml new file mode 100644 index 0000000..03e271d --- /dev/null +++ b/src/main/resources/application-sealos.yml @@ -0,0 +1,62 @@ +server: + port: 9090 + servlet: + context-path: /api + session: + timeout: 30m + +spring: + main: + allow-circular-references: true + mvc: + throw-exception-if-no-handler-found: true + hiddenmethod: + filter: + enabled: true + web: + resources: + add-mappings: false + datasource: + url: jdbc:mysql://root:7fjj2cth@bja.sealos.run:46198/performance?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8 + username: root + password: 7fjj2cth + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + pool-name: HikariCPDatasource + minimum-idle: 5 + idle-timeout: 180000 + maximum-pool-size: 10 + auto-commit: true + max-lifetime: 1800000 + connection-timeout: 30000 + connection-test-query: SELECT 1 + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd hh:mm:ss + servlet: + multipart: + max-file-size: 15MB + max-request-size: 15MB + +camunda: + bpm: + database: + type: mysql + schema-update: true + webapp: + index-redirect-enabled: true + admin-user: + id: admin + password: admin123 + auto-deployment-enabled: true + +mybatis-plus: + global-config: + db-config: + table-prefix: #tb_ + configuration: + #驼峰命名法映射 + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath:/mapper/*.xml + diff --git a/src/main/resources/application-sqlpub.yml b/src/main/resources/application-sqlpub.yml new file mode 100644 index 0000000..76d2f93 --- /dev/null +++ b/src/main/resources/application-sqlpub.yml @@ -0,0 +1,63 @@ +server: + port: 9090 + servlet: + context-path: /api + session: + timeout: 30m + + +spring: + main: + allow-circular-references: true + mvc: + throw-exception-if-no-handler-found: true + hiddenmethod: + filter: + enabled: true + web: + resources: + add-mappings: false + datasource: + url: jdbc:mysql://mysql.sqlpub.com:3306/performance0?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai + username: performance0 + password: 6BlmFVS8m5NVUQLt + driver-class-name: com.mysql.cj.jdbc.Driver + hikari: + pool-name: HikariCPDatasource + minimum-idle: 5 + idle-timeout: 180000 + maximum-pool-size: 10 + auto-commit: true + max-lifetime: 1800000 + connection-timeout: 30000 + connection-test-query: SELECT 1 + jackson: + time-zone: GMT+8 + date-format: yyyy-MM-dd hh:mm:ss + servlet: + multipart: + max-file-size: 15MB + max-request-size: 15MB + +camunda: + bpm: + database: + type: mysql + schema-update: true + webapp: + index-redirect-enabled: true + admin-user: + id: admin + password: admin123 + auto-deployment-enabled: false + +mybatis-plus: + global-config: + db-config: + table-prefix: #tb_ + configuration: + #驼峰命名法映射 + map-underscore-to-camel-case: true + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath:/mapper/*.xml + -- Gitee From fc17ae816d5ead5744a581c9f4bb5f8ff17dd192 Mon Sep 17 00:00:00 2001 From: hrc Date: Wed, 18 Dec 2024 17:06:08 +0800 Subject: [PATCH 68/78] =?UTF-8?q?update:=E4=BD=BF=E7=94=A8sqlpub=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index caf4dfc..f5ce0e1 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,3 +1,3 @@ spring: profiles: - active: dev \ No newline at end of file + active: sqlpub \ No newline at end of file -- Gitee From 0840c2ca604eed538b13a30fc9b499299ad037a6 Mon Sep 17 00:00:00 2001 From: hrc Date: Wed, 18 Dec 2024 20:09:30 +0800 Subject: [PATCH 69/78] =?UTF-8?q?update:=E5=B0=86=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=88=86=E5=9D=97=E5=AD=98=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 3 -- .../resources/config/application-camunda.yml | 11 +++++++ .../{ => config}/application-dev.yml | 0 src/main/resources/config/application-log.yml | 7 ++++ .../config/application-mybatis-plus.yml | 9 +++++ .../{ => config}/application-sealos.yml | 28 ---------------- .../resources/config/application-server.yml | 6 ++++ .../{ => config}/application-sqlpub.yml | 33 ++----------------- src/main/resources/config/application.yml | 3 ++ 9 files changed, 38 insertions(+), 62 deletions(-) delete mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/config/application-camunda.yml rename src/main/resources/{ => config}/application-dev.yml (100%) create mode 100644 src/main/resources/config/application-log.yml create mode 100644 src/main/resources/config/application-mybatis-plus.yml rename src/main/resources/{ => config}/application-sealos.yml (60%) create mode 100644 src/main/resources/config/application-server.yml rename src/main/resources/{ => config}/application-sqlpub.yml (56%) create mode 100644 src/main/resources/config/application.yml diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml deleted file mode 100644 index f5ce0e1..0000000 --- a/src/main/resources/application.yml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - profiles: - active: sqlpub \ No newline at end of file diff --git a/src/main/resources/config/application-camunda.yml b/src/main/resources/config/application-camunda.yml new file mode 100644 index 0000000..99ac674 --- /dev/null +++ b/src/main/resources/config/application-camunda.yml @@ -0,0 +1,11 @@ +camunda: + bpm: + database: + type: mysql + schema-update: true + webapp: + index-redirect-enabled: true + admin-user: + id: admin + password: admin123 + auto-deployment-enabled: false \ No newline at end of file diff --git a/src/main/resources/application-dev.yml b/src/main/resources/config/application-dev.yml similarity index 100% rename from src/main/resources/application-dev.yml rename to src/main/resources/config/application-dev.yml diff --git a/src/main/resources/config/application-log.yml b/src/main/resources/config/application-log.yml new file mode 100644 index 0000000..9934062 --- /dev/null +++ b/src/main/resources/config/application-log.yml @@ -0,0 +1,7 @@ +logging: + level: + root: info + +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl diff --git a/src/main/resources/config/application-mybatis-plus.yml b/src/main/resources/config/application-mybatis-plus.yml new file mode 100644 index 0000000..3159b9e --- /dev/null +++ b/src/main/resources/config/application-mybatis-plus.yml @@ -0,0 +1,9 @@ +mybatis-plus: + global-config: + db-config: + table-prefix: #tb_ + configuration: + #驼峰命名法映射 + map-underscore-to-camel-case: true + # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + mapper-locations: classpath:/mapper/*.xml diff --git a/src/main/resources/application-sealos.yml b/src/main/resources/config/application-sealos.yml similarity index 60% rename from src/main/resources/application-sealos.yml rename to src/main/resources/config/application-sealos.yml index 03e271d..e27a044 100644 --- a/src/main/resources/application-sealos.yml +++ b/src/main/resources/config/application-sealos.yml @@ -1,10 +1,3 @@ -server: - port: 9090 - servlet: - context-path: /api - session: - timeout: 30m - spring: main: allow-circular-references: true @@ -38,25 +31,4 @@ spring: max-file-size: 15MB max-request-size: 15MB -camunda: - bpm: - database: - type: mysql - schema-update: true - webapp: - index-redirect-enabled: true - admin-user: - id: admin - password: admin123 - auto-deployment-enabled: true - -mybatis-plus: - global-config: - db-config: - table-prefix: #tb_ - configuration: - #驼峰命名法映射 - map-underscore-to-camel-case: true - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - mapper-locations: classpath:/mapper/*.xml diff --git a/src/main/resources/config/application-server.yml b/src/main/resources/config/application-server.yml new file mode 100644 index 0000000..2fe1588 --- /dev/null +++ b/src/main/resources/config/application-server.yml @@ -0,0 +1,6 @@ +server: + port: 9090 + servlet: + context-path: /api + session: + timeout: 30m diff --git a/src/main/resources/application-sqlpub.yml b/src/main/resources/config/application-sqlpub.yml similarity index 56% rename from src/main/resources/application-sqlpub.yml rename to src/main/resources/config/application-sqlpub.yml index 76d2f93..99ed2da 100644 --- a/src/main/resources/application-sqlpub.yml +++ b/src/main/resources/config/application-sqlpub.yml @@ -1,11 +1,3 @@ -server: - port: 9090 - servlet: - context-path: /api - session: - timeout: 30m - - spring: main: allow-circular-references: true @@ -19,8 +11,8 @@ spring: add-mappings: false datasource: url: jdbc:mysql://mysql.sqlpub.com:3306/performance0?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai - username: performance0 - password: 6BlmFVS8m5NVUQLt + username: ${DB_SQLPUB_USERNAME} + password: ${DB_SQLPUB_PASSWORD} driver-class-name: com.mysql.cj.jdbc.Driver hikari: pool-name: HikariCPDatasource @@ -39,25 +31,4 @@ spring: max-file-size: 15MB max-request-size: 15MB -camunda: - bpm: - database: - type: mysql - schema-update: true - webapp: - index-redirect-enabled: true - admin-user: - id: admin - password: admin123 - auto-deployment-enabled: false - -mybatis-plus: - global-config: - db-config: - table-prefix: #tb_ - configuration: - #驼峰命名法映射 - map-underscore-to-camel-case: true - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl - mapper-locations: classpath:/mapper/*.xml diff --git a/src/main/resources/config/application.yml b/src/main/resources/config/application.yml new file mode 100644 index 0000000..51fd373 --- /dev/null +++ b/src/main/resources/config/application.yml @@ -0,0 +1,3 @@ +spring: + profiles: + active: server,sqlpub,mybatis-plus,camunda,log \ No newline at end of file -- Gitee From e1ccaab538a16ad720e7dbf94af97998d1460aef Mon Sep 17 00:00:00 2001 From: hrc Date: Wed, 18 Dec 2024 23:42:54 +0800 Subject: [PATCH 70/78] =?UTF-8?q?add:=E9=A1=B9=E7=9B=AE=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..88abff5 --- /dev/null +++ b/README.md @@ -0,0 +1,152 @@ +绩效信息化平台 +---- + +## 项目描述 + +该项目是前后端分离,前端使用Vue3 + elementPlus等技术,后端用SpringBoot + Camunda等技术编写的企业内部的绩效管理系统,可以更方便的 +管理企业的员工的绩效。三人合作完成,我负责后端部分。 + +### 技术栈 + +SpringBoot + Camunda + JWT + redis + MyBatisPlus + +### 功能模块 + +1. 首页模块 +2. 部门模块 +3. 员工模块 +4. 岗位模块 +5. 权限模块 +6. 申报模块 +7. 评分模块 +8. 审批模块 +9. 归档模块 +10. 登录模块 + +分成三大类 + +1. 通用模块:登录模块,首页模块 +2. 基础数据相关模块:部门模块, 员工模块,岗位模块,权限模块 +3. 绩效相关模块:申报模块 评分模块 审批模块 归档模块 + +### 线上地址 + +http://performance.huthrc.top 或 http://pf.huthrc.top/ + +### 我的职责 + +1. 使用JWT生成token再结合拦截器完成员工30分钟无操作自动退出并且完成10分钟内自动续约功能 +2. 绘制BPMN流程图,使用Camunda工作引擎完成绩效审批功能 +3. 使用redis存放验证码解决跨域无法显示图片问题,存放员工权限路由提高接口请求速度 +4. 使用EasyExcel完成员工信息与绩效信息导入与导出功能 +5. 独立设计数据库并且完成RBAC权限控制功能 +6. 完成项目的前端与后端的部署,并且编写脚本简化部署流程 + +### 我的收获 + +1. 通过与前端搭档接口联调和编写接口文档,提高了我的合作能力 +2. 通过在IDEA中大量使用图形化git,提高了我的git使用能力 +3. 通过使用各种第三方库和debug,提高了我的编码能力 +4. 通过在Linux与windows上部署项目,提高了我的项目部署能力 +5. 通过设计40多张表,提高了我的表设计能力 +6. 通过与该公司的业务人员交流,提高了我对业务的理解与交流能力 + +### 部署 + +1)前端 + +1. 通过阿里云的OSS部署 http://performance.huthrc.top +2. 通过服务器的nginx部署 http://pf.huthrc.top/ + +2)后端 + +1. 通过服务器的宝塔部署java应用 + +### 遇到的问题 + +1. 在Controller层 private修饰的方法的Service实现类注入为空 +
+ 原因: spring aop代理的问题,无法代理private | final | static 修饰的方法 +
+ 将private方法改为public +2. 在前端分离开发中登录验证码过期问题 + 原因:跨域导致sessionId不一致 +
+ 解决:设置一个自定义请求头的x-request-id +3. 自定义的header在跨域的时候前端访问不到 +
+ 原因:在使用CORS解决跨域的请求中,默认只能取到五个response header值 Content-Language Content-Type + Expires Last-Modified Pragma +
+ 解决:跨域的时候后端必须设置允许暴露的请求头,且不能设置为*否则无效 https://www.cnblogs.com/younghxp/p/16693535.html +4. 登录获取的token直接失效 +
+ 原因: jwt中的exp过期时间单位为s,代码中获取当前时间戳单位为毫秒 +
+ 解决:将两者单位统一再比较 +5. 用户使用https协议访问无法获取验证码 +
+ 原因: 前端使用http协议请求后端,而浏览器默认不允许混合使用http与https +
+ 解决: 用户手动允许浏览器允许访问不安全内容或更换浏览器或者将前端的后端请求协议改为https + +### 表的优化 + +PositionAssessor 岗位审核人表 + +实体:岗位与员工 + +联系: 审核 + +关系: 多对多 + +字段 + +id int 业务id + +positionId int 岗位id + +assessorId int 审核人id + +level int 审核人级别 + +---- +手动添加第一个根部门 + +## RBAC + +- 角色表 +- 路由表 +- 按钮表 +- 用户表 + +员工进行登录,前端会向后端请求动态路由,后端根据员工的角色返回其对应的路由与按钮,然后前端根据这些动态路由加入路由表 + +## 审核流程 + +1. 首先绩效专员为岗位开启这个月的绩效考核流程 +2. 其次绩效专员再为这个岗位的员工进行申报(记件,奖金) +3. 然后岗位的负责人对员工进行评分(okr,kpi,评分) +4. 再由审核人员对这些评分进行审核 +5. 最后由绩效专员进行归档 + +## 请求流程 + +1. 每次请求都会依次经过Token拦截器,权限拦截器 +2. 如果token无效或过期直接拒绝请请求,token剩余10分钟,则重新生成token +3. 经过权限拦截器时,会首先获取请求的uri,然后根据用户的id从redis中获取该员工的权限路由 +4. 将这些权限路由与请求的uri进行匹配,如果没有则拒绝请求; +5. 当然如果redis中没有存放该员工的权限或者已经过期,则根据员工的roleId去数据库中查询该员工的权限路由 +6. 将数据存放到redis中,然后按照刚才的步骤检查是否拒绝请求 +7. 通过拦截器之后就根据请求的uri进入对应的controller类,然后执行方法 + +## camunda + +1. 基本概念: 事件 任务 定时器 bpmn图 +2. 使用SDK方式调用 runService taskService +3. 绘制bpmn图 : camunda modeler + +## redis + +1. 存放验证码 key vc:userid:xxx value string +2. 存放员工权限路由 key permission_routers:userid:xxx value set \ No newline at end of file -- Gitee From c2a5df93f0469879545f4d6eaa06fdfe29a485ee Mon Sep 17 00:00:00 2001 From: hrc Date: Sat, 11 Jan 2025 14:43:57 +0800 Subject: [PATCH 71/78] update: gitignore --- .gitignore | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.gitignore b/.gitignore index 2d50b71..1e66c53 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,15 @@ +*.env + +.run/ + +redis/ + +sql/ + +mysql/ + +deploy/ + target/ # Package Files # *.jar -- Gitee From 2c3b24ed85e2b89af72076f7d0e3d5b2ff5d7212 Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 12 Jan 2025 22:57:34 +0800 Subject: [PATCH 72/78] =?UTF-8?q?update:=E5=B0=86controller=E5=B1=82privat?= =?UTF-8?q?e=E6=96=B9=E6=B3=95=E6=94=B9=E4=B8=BApublic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BackWaitController.java | 2 +- .../controller/EmpCheckStateController.java | 4 +- .../controller/EmpCoefficientController.java | 230 +----- .../workflow/controller/EmpKpiController.java | 186 ++--- .../workflow/controller/EmpOkrController.java | 320 ++------ .../controller/EmpPieceController.java | 219 ++---- .../controller/EmpRewardController.java | 228 +----- .../controller/EmpScoreController.java | 642 +++------------ .../controller/EmpWageController.java | 4 +- .../EmployeePositionController.java | 112 ++- .../workflow/controller/FirstController.java | 2 +- .../workflow/controller/FlowController.java | 8 +- .../workflow/controller/IndexController.java | 4 +- .../controller/KpiRuleController.java | 88 +-- .../controller/OkrRuleController.java | 14 +- .../controller/PieceRuleController.java | 20 +- .../PositionAssessorController.java | 10 +- .../controller/PositionController.java | 105 +-- .../controller/PreviewController.java | 20 +- .../controller/ProgressController.java | 740 +----------------- .../RegionCoefficientController.java | 16 +- .../ResultFourthExamineController.java | 244 +----- .../controller/ResultKpiController.java | 18 +- .../controller/ResultOkrController.java | 6 +- .../controller/ResultPieceController.java | 18 +- .../controller/ResultScoreController.java | 42 +- .../ResultSecondExamineController.java | 489 +++--------- .../ResultThirdExamineController.java | 345 ++------ .../controller/ScoreRuleController.java | 24 +- .../controller/TaskViewController.java | 261 +----- .../workflow/controller/TestController.java | 6 +- .../controller/WageEmpController.java | 528 ++----------- 32 files changed, 907 insertions(+), 4048 deletions(-) diff --git a/src/main/java/com/example/workflow/controller/BackWaitController.java b/src/main/java/com/example/workflow/controller/BackWaitController.java index a5defd9..9d8a66e 100644 --- a/src/main/java/com/example/workflow/controller/BackWaitController.java +++ b/src/main/java/com/example/workflow/controller/BackWaitController.java @@ -21,7 +21,7 @@ public class BackWaitController { private BackWaitService BackWaitService; @GetMapping("/getOpinion") - private R getOpinion(@RequestParam("empId") Long empId + public R getOpinion(@RequestParam("empId") Long empId ,@RequestParam("positionId") Long positionId ,@RequestParam("type") String type){ diff --git a/src/main/java/com/example/workflow/controller/EmpCheckStateController.java b/src/main/java/com/example/workflow/controller/EmpCheckStateController.java index 40c600e..c9d40dd 100644 --- a/src/main/java/com/example/workflow/controller/EmpCheckStateController.java +++ b/src/main/java/com/example/workflow/controller/EmpCheckStateController.java @@ -62,7 +62,7 @@ public class EmpCheckStateController { * 查看次数+1 * */ @PostMapping("/point") - private R point(@RequestBody JSONObject obj){ + public R point(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpCheckState::getEmpId,obj.getString("empId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -92,7 +92,7 @@ public class EmpCheckStateController { * 是否已确认查看绩效 * */ @PostMapping("/match") - private R match(@RequestBody JSONObject obj){ + public R match(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpCheckState::getEmpId,obj.getString("empId")) .apply(StringUtils.checkValNotNull(beginTime), diff --git a/src/main/java/com/example/workflow/controller/EmpCoefficientController.java b/src/main/java/com/example/workflow/controller/EmpCoefficientController.java index e06007c..5d38266 100644 --- a/src/main/java/com/example/workflow/controller/EmpCoefficientController.java +++ b/src/main/java/com/example/workflow/controller/EmpCoefficientController.java @@ -21,12 +21,20 @@ import com.example.workflow.mapper.ResultPieceEmpViewMapper; import com.example.workflow.mapper.ResultScoreEmpViewMapper; import com.example.workflow.mapper.TaskViewMapper; import com.example.workflow.model.dto.EmpCoeForm; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.CoefficientView; +import com.example.workflow.model.entity.EmpCoefficient; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.RegionCoefficient; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.feedback.EmpCoefficientError; import com.example.workflow.model.feedback.ErrorExcelWrite; -import com.example.workflow.model.pojo.CoefficientViewExcel; import com.example.workflow.model.pojo.EmpCoefficientExcel; -import com.example.workflow.service.*; +import com.example.workflow.service.CoefficientViewService; +import com.example.workflow.service.EmpCoefficientService; +import com.example.workflow.service.EmpWageService; +import com.example.workflow.service.EmployeeCoefficientService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.RegionCoefficientService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.TaskService; import org.springframework.beans.BeanUtils; @@ -44,14 +52,8 @@ import java.io.IOException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.ArrayList; import java.util.List; - -/** - * 员工绩效系数 - * */ - @Slf4j @RestController @RequestMapping("/EmpCoefficient") @@ -92,24 +94,16 @@ public class EmpCoefficientController { private EmployeeCoefficientService EmployeeCoefficientService; @Autowired private RegionCoefficientService RegionCoefficientService; - @Autowired - private EmployeeService EmployeeService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 查询当月员工系数 - * */ @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ - - List list = new ArrayList<>(); + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(beginTime), + queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) @@ -119,12 +113,8 @@ public class EmpCoefficientController { return R.success(pageInfo); } - /** - * 复制上月员工绩效系数 - * */ @PostMapping("/copy") - private R copy(){ - + public R copy() { List list= EmpCoefficientService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -149,9 +139,6 @@ public class EmpCoefficientController { return R.success(); } - /** - * 查询员工绩效系数 - * */ @GetMapping("/search") public R searchPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -160,6 +147,7 @@ public class EmpCoefficientController { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.orderByDesc(CoefficientView::getEmpId) .like(CoefficientView::getEmpName,empName) + .eq(CoefficientView::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), @@ -168,104 +156,46 @@ public class EmpCoefficientController { return R.success(pageInfo); } - /** - * 查询历史员工绩效系数 - * */ @GetMapping("/coefficientPastPage") - public R coefficientPastPage(@RequestParam("page") String page, - @RequestParam("page_size") String pageSize, - @RequestParam(defaultValue = "") String time - ){ - - //获取选择年月 - String choseMonth = time+"-01"; + public R coefficientPastPage(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + LocalDate today = LocalDate.now(); + LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth); + queryWrapper.apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); CoefficientViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 搜素历史员工绩效系数 - * */ - @GetMapping("/coefficientPastSearch") - public R coefficientPastSearch( - @RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time - ){ - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - - //获取选择年月 - String choseMonth = time+"-01"; - - queryWrapper.orderByDesc(CoefficientView::getEmpId) - .like(CoefficientView::getEmpName,empName) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth); - CoefficientViewService.page(pageInfo,queryWrapper); - return R.success(pageInfo); - } - /** - * 修改当月员工系数 - * */ @PostMapping("/update") - private R update(@RequestBody EmpCoefficient one){ + public R update(@RequestBody EmpCoefficient one) { EmpCoefficientService.updateById(one); + return R.success(); } - /** - * 员工归档 - * */ @PostMapping("/file") - private R file(@RequestBody JSONObject obj){ - - //勿动(后续建议封装) - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); - wrapper.eq(EmployeePosition::getEmpId,obj.getString("empId")) - .eq(EmployeePosition::getPositionId,obj.getString("positionId")) - .eq(EmployeePosition::getState,1); - EmployeePosition EmployeePosition = EmployeePositionService.getOne(wrapper); - - //获取员工进程 - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(TaskView::getStartUserId,obj.getString("empId")) - .eq(TaskView::getStartUserId,obj.getString("empId")) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) - .eq(TaskView::getName,"wage_emp") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - TaskView task = TaskViewMapper.selectOne(query); - - //使用&&当task为null时不继续判断,防止task.getName()报空指针错误 - //当满足判定条件时 ,可继续下面归档流程 - if (task != null){ - - }else { - return R.error("已归档,请勿重复归档"); - } - + public R file(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); - //归档结算 EmployeeCoefficientService.fileOne(empId,positionId); - //结束进程 + + LambdaQueryWrapper queryWrapper5=new LambdaQueryWrapper<>(); + queryWrapper5.eq(EmployeePosition::getEmpId,empId) + .eq(EmployeePosition::getPositionId,positionId) + .eq(EmployeePosition::getState,1); + EmployeePosition EmployeePosition= EmployeePositionService.getOne(queryWrapper5); + + LambdaQueryWrapper queryWrapper7=new LambdaQueryWrapper<>(); + queryWrapper7.eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) + .eq(TaskView::getStartUserId,empId) + .eq(TaskView::getAssignee,obj.getString("assessorId")); + TaskView task= TaskViewMapper.selectOne(queryWrapper7); taskService.complete(task.getId()); UpdateWrapper updateWrapper =new UpdateWrapper<>(); @@ -275,66 +205,19 @@ public class EmpCoefficientController { .eq("position_id",positionId) .eq("state",1); EmployeePositionService.update(updateWrapper); - return R.success(); + return R.success(); } - /** - * 一键员工归档 - * */ - @PostMapping("/fileAll") - private R fileAll(@RequestBody JSONObject form){ - + public R fileAll(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); - if (formArray.isEmpty()){ - return R.error("未选择归档对象,请选择归档对象"); - } - - //避免重复归档(后续建议封装) - int flag =0; - - for (int i = 0; i < formArray.size(); i++) { - JSONObject formObject = formArray.getJSONObject(i); - Long empId=Long.valueOf(String.valueOf(formObject.get("empId"))); - Long positionId=Long.valueOf(String.valueOf(formObject.get("positionId"))); - String assessorId = form.getString("assessorId"); - - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); - wrapper.eq(EmployeePosition::getEmpId,empId) - .eq(EmployeePosition::getPositionId,positionId); - EmployeePosition EmployeePosition = EmployeePositionService.getOne(wrapper); - //获取员工进程 - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) - .eq(TaskView::getName,"wage_emp"); - TaskView task = TaskViewMapper.selectOne(query); - - query.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); - //使用&&当task为null时不继续判断,防止task.getName()报空指针错误当满足判定条件时 ,可继续下面申报流程 - if (task != null){ - - }else { - flag += 1; - } - } - - if (flag != 0){ - return R.error("已有"+flag+"人被归档,请刷新"); - } - - for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); Long empId=Long.valueOf(String.valueOf(formObject.get("empId"))); Long positionId=Long.valueOf(String.valueOf(formObject.get("positionId"))); - - //归档 EmployeeCoefficientService.fileOne(empId,positionId); LambdaQueryWrapper queryWrapper5=new LambdaQueryWrapper<>(); @@ -348,8 +231,6 @@ public class EmpCoefficientController { .eq(TaskView::getStartUserId,empId) .eq(TaskView::getAssignee,form.getString("assessorId")); TaskView task= TaskViewMapper.selectOne(queryWrapper7); - - //技术进程 taskService.complete(task.getId()); UpdateWrapper updateWrapper =new UpdateWrapper<>(); @@ -364,11 +245,8 @@ public class EmpCoefficientController { return R.success(); } - /** - * 一键修改员工绩效系数 - * */ @PostMapping("/changeAll") - private R changeAll(@RequestBody EmpCoeForm empCoeForm){ + public R changeAll(@RequestBody EmpCoeForm empCoeForm) { if(empCoeForm.getEmpList().isEmpty()) return R.error("员工选择不得为空"); @@ -396,9 +274,6 @@ public class EmpCoefficientController { return R.success(); } - /** - * 员工绩效系数导入 - * */ @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), EmpCoefficientExcel.class, new EmpCoefficientExcelReadListener()).sheet().doRead(); @@ -413,33 +288,4 @@ public class EmpCoefficientController { ErrorExcelWrite.clearErrorCollection(); } - /** - * 下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - - List list= CoefficientViewService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - List coefficientViewExcels = new ArrayList<>(); - for (CoefficientView data : list) { - CoefficientViewExcel excel = new CoefficientViewExcel(); - BeanUtils.copyProperties(data, excel); - coefficientViewExcels.add(excel); - } - - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - - EasyExcel.write(response.getOutputStream(), CoefficientViewExcel.class) - .sheet("测试") - .doWrite(coefficientViewExcels); - } - } diff --git a/src/main/java/com/example/workflow/controller/EmpKpiController.java b/src/main/java/com/example/workflow/controller/EmpKpiController.java index 39ff484..8378ecf 100644 --- a/src/main/java/com/example/workflow/controller/EmpKpiController.java +++ b/src/main/java/com/example/workflow/controller/EmpKpiController.java @@ -9,12 +9,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; import com.example.workflow.listener.EmpKpiExcelReadListener; import com.example.workflow.mapper.KpiPercentMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.EmpKpi; +import com.example.workflow.model.entity.EmpKpiView; +import com.example.workflow.model.entity.KpiPercent; +import com.example.workflow.model.entity.KpiRule; +import com.example.workflow.model.entity.Order3; import com.example.workflow.model.feedback.EmpKpiError; import com.example.workflow.model.feedback.ErrorExcelWrite; import com.example.workflow.model.pojo.EmpKpiExcel; import com.example.workflow.model.pojo.ResultEmpKpiExcel; -import com.example.workflow.service.*; +import com.example.workflow.service.EmpKpiService; +import com.example.workflow.service.EmpKpiViewService; +import com.example.workflow.service.KpiPercentService; +import com.example.workflow.service.KpiRuleService; import lombok.extern.slf4j.Slf4j; import org.kie.api.io.ResourceType; import org.kie.api.runtime.KieSession; @@ -38,9 +45,6 @@ import java.time.LocalTime; import java.util.ArrayList; import java.util.List; -/** - * 员工kpi - * */ @Slf4j @RestController @RequestMapping("/EmpKpi") @@ -55,27 +59,19 @@ public class EmpKpiController { private KpiRuleService KpiRuleService; @Autowired private KpiPercentService KpiPercentService; - @Autowired - private TaskViewService TaskViewService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 员工kpi导出 - * */ @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpKpiViewService.lambdaQuery() .orderByAsc(EmpKpiView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName) .list(); List result=new ArrayList<>(); @@ -94,11 +90,8 @@ public class EmpKpiController { .doWrite(result); } - /** - * 添加员工kpi项目 - * */ @PostMapping("/match") - private R matchCoefficient(@RequestBody List form){ + public R matchCoefficient(@RequestBody List form) { Long kpiRuleId=form.get(0).getKpiId(); KpiRule kpiRule= KpiRuleService.lambdaQuery() @@ -124,6 +117,7 @@ public class EmpKpiController { KieSession kSession = helper.build().newKieSession(); if(x.getEmpId()==null) + //! R.error("员工姓名不得为空"); else if(x.getInTarget1()==null) R.error("kpi条目一不得为空"); @@ -166,9 +160,6 @@ public class EmpKpiController { return R.success(); } - /** - * 查询所有员工kpi项目(导入提成数据) - * */ @GetMapping("/page") public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ @@ -178,20 +169,15 @@ public class EmpKpiController { queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 查询单个员工kpi(审批) - * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpKpiView::getEmpId,obj.getString("empId")) @@ -199,35 +185,29 @@ public class EmpKpiController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list=EmpKpiViewService.list(queryWrapper); return R.success(list); } - /** - * 删除员工kpi项目 - * */ + + @PostMapping("/delete") - private R delete(@RequestBody EmpKpi one){ + public R delete(@RequestBody EmpKpi one) { EmpKpiService.removeById(one); return R.success(); } - /** - * 重填员工kpi项目 - * */ + @PostMapping("/addBackKpi") - private R addBackPiece(List form){ + public R addBackPiece(List form) { EmpKpiService.updateBatchById(form); + return R.success(); } - /** - * 修改员工kpi项目 - * */ + @PostMapping("/update") - private R updateMatch(@RequestBody EmpKpi form){ + public R updateMatch(@RequestBody EmpKpi form) { EmpKpiService.removeById(form); @@ -285,11 +265,9 @@ public class EmpKpiController { return R.success(); } - /** - * kpi修正值(未开放) - * */ + @GetMapping("/reAdd") - private R reAdd(@RequestParam("id") String id + public R reAdd(@RequestParam("id") String id ,@RequestParam("correctedValue") String correctedValue ,@RequestParam("empId") String empId){ UpdateWrapper updateWrapper=new UpdateWrapper<>(); @@ -300,58 +278,45 @@ public class EmpKpiController { EmpKpiService.reChange(Long.valueOf(id),Long.valueOf(empId)); return R.success(); } - /** - * - * */ + @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpKpi one){ + public R reAdd(@RequestBody EmpKpi one) { one.setState(Short.parseShort("0")); EmpKpiService.updateById(one); return R.success(); } - /** - * 二级终审重审 - * */ @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List EmpKpiViews=EmpKpiViewService.lambdaQuery() .eq(EmpKpiView::getPositionId,obj.getString("positionId")) + .orderByAsc(EmpKpiView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName) .list(); return R.success(EmpKpiViews); } - /** - * 当月员工kpi项目查询(提成结算) - * */ @GetMapping("/nowPage") public R nowPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper + queryWrapper.orderByAsc(EmpKpiView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 当月员工kpi项目搜索(提成结算) - * */ + @GetMapping("/nowSearch") public R nowSerach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -360,103 +325,72 @@ public class EmpKpiController { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .like(EmpKpiView::getEmpId,empId) + queryWrapper.like(EmpKpiView::getEmpId,empId) .like(EmpKpiView::getEmpName,empName) + .orderByAsc(EmpKpiView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工kpi项目查询(提成结算) - * */ + @GetMapping("/pastPage") public R pastPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - , @RequestParam("time") String time){ - - //获取选择年月 - String choseMonth = time+"-01"; - + , @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); + queryWrapper.orderByAsc(EmpKpiView::getEmpId) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工kpi项目搜索(提成结算) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ + ,@RequestParam(defaultValue = "") String beginTime + ,@RequestParam(defaultValue = "") String endTime){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - - //获取选择年月 - String choseMonth = time+"-01"; + if(beginTime.equals("")){ + LocalDate today = LocalDate.now(); + LocalDateTime beginDay = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); queryWrapper.like(EmpKpiView::getEmpId,empId) .like(EmpKpiView::getEmpName,empName) .orderByAsc(EmpKpiView::getEmpId) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpKpiView::getPositionId) - .orderByDesc(EmpKpiView::getEmpName); - - EmpKpiViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - - /** - * 当月员工kpi项目搜索(导入提成数据) - */ - @GetMapping("/Search") - public R Serach(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String name){ + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); + } + else { + LocalDateTime beginDay = LocalDateTime.of(LocalDate.parse(beginTime), LocalTime.MIN); + LocalDateTime endDay = LocalDateTime.of(LocalDate.parse(endTime), LocalTime.MAX); - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.like(EmpKpiView::getEmpName,empName) - .like(EmpKpiView::getName,name) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); + queryWrapper.like(EmpKpiView::getEmpId,empId) + .like(EmpKpiView::getEmpName,empName) + .orderByAsc(EmpKpiView::getEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay) + .apply(StringUtils.checkValNotNull(endDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endDay); + } EmpKpiViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 上传 - * */ @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), EmpKpiExcel.class, new EmpKpiExcelReadListener()).sheet().doRead(); diff --git a/src/main/java/com/example/workflow/controller/EmpOkrController.java b/src/main/java/com/example/workflow/controller/EmpOkrController.java index dc1a18b..fb09132 100644 --- a/src/main/java/com/example/workflow/controller/EmpOkrController.java +++ b/src/main/java/com/example/workflow/controller/EmpOkrController.java @@ -9,9 +9,19 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpOkr; +import com.example.workflow.model.entity.EmpOkrView; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.PositionAssessor; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.pojo.EmpOkrExcel; -import com.example.workflow.service.*; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmpOkrService; +import com.example.workflow.service.EmpOkrViewService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.OkrViewService; +import com.example.workflow.service.PositionAssessorService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.TaskService; import org.springframework.beans.BeanUtils; @@ -35,9 +45,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 员工okr - * */ @Slf4j @RestController @RequestMapping("/EmpOkr") @@ -58,37 +65,19 @@ public class EmpOkrController { private OkrViewService OkrViewService; @Autowired private BackWaitService BackWaitService; - @Autowired - private com.example.workflow.service.TaskViewService TaskViewService; + LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 员工okr导出 - * */ @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"okr") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } - - + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpOkrViewService.lambdaQuery() - .notIn(!empIds.isEmpty(),EmpOkrView::getLiaEmpId,empIds) + .orderByAsc(EmpOkrView::getLiaEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId) .list(); List result=new ArrayList<>(); @@ -108,43 +97,12 @@ public class EmpOkrController { } - /** - * okr评分 - * */ @PostMapping("/add") - private R add(@RequestBody JSONObject form){ - - //可修改(后续建议封装) - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper11 =new LambdaQueryWrapper<>(); - wrapper11.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper11); - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"okr") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已评分,请勿重复评分"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已评分,请勿重复评分"); - } + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); + List list = new ArrayList<>(); for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); @@ -158,29 +116,13 @@ public class EmpOkrController { return R.error("评分不得超过20"); } - EmpOkr one = EmpOkrService.lambdaQuery() - .eq(EmpOkr::getOkrKeyId,Long.valueOf(String.valueOf(formObject.get("okrKeyId")))) - .eq(EmpOkr::getEmpId,Long.valueOf(String.valueOf(formObject.get("empId")))) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - + EmpOkr one = new EmpOkr(); + one.setOkrKeyId(Long.valueOf(String.valueOf(formObject.get("okrKeyId")))); one.setScore(new BigDecimal(formObject.get("score").toString())); - - try{ - String remark = formObject.get("remark").toString(); - if ("".equals(remark)) - return R.error("请填写评分说明"); - one.setRemark(remark); - }catch (Exception e){ - return R.error("请填写评分说明"); - } - - EmpOkrService.updateById(one); + one.setEmpId(Long.valueOf(String.valueOf(formObject.get("empId")))); + list.add(one); } + EmpOkrService.saveBatch(list); LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(PositionAssessor::getPositionId,form.getString("positionId")) @@ -196,8 +138,8 @@ public class EmpOkrController { map.put("thirdTimer",nextAssessor.getThirdTimer()); } else if(form.getString("positionType").equals("4")){ - map.put("thirdAssessor",nextAssessor.getThirdAssessorId().toString()); - map.put("thirdTimer",nextAssessor.getThirdTimer()); + map.put("secondAssessor",nextAssessor.getSecondAssessorId().toString()); + map.put("secondTimer",nextAssessor.getSecondTimer()); } LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -220,11 +162,8 @@ public class EmpOkrController { } - /** - * 查询单个员工kpi(审批) - * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject form){ + public R> list(@RequestBody JSONObject form) { LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1).withDayOfMonth(1); LocalDate lastDayOfLastMonth = firstDayOfLastMonth.with(TemporalAdjusters.lastDayOfMonth()); @@ -242,70 +181,55 @@ public class EmpOkrController { return R.success(); } - /** - * 查询所有员工okr项目 - * * */ + @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 查询单个员工okr(审批) - * */ + @PostMapping("/getOneEmpOkr") - private R> getOneEmpOkr(@RequestBody JSONObject form){ + public R> getOneEmpOkr(@RequestBody JSONObject form) { List okrViews= EmpOkrViewService.lambdaQuery() .eq(EmpOkrView::getLiaEmpId,form.getString("empId")) - .eq(EmpOkrView::getPositionId,form.getString("positionId")) + .eq(EmpOkrView::getPositionId,form.getString("position")) .eq(EmpOkrView::getState,1) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId) .list(); return R.success(okrViews); } - /** - * okr修正值 - * */ + @GetMapping("/reAdd") - private R reAdd(@RequestParam("id") String id + public R reAdd(@RequestParam("id") String id ,@RequestParam("correctedValue") String correctedValue ,@RequestParam("empId") String empId){ UpdateWrapper updateWrapper=new UpdateWrapper<>(); updateWrapper.eq("id",id) .set("corrected_value",correctedValue); EmpOkrService.update(updateWrapper); + EmpOkrService.reChange(Long.valueOf(id),Long.valueOf(empId)); return R.success(); } - /** - * - * */ + @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpOkr one){ + public R reAdd(@RequestBody EmpOkr one) { one.setState(new Short("0")); EmpOkrService.updateById(one); @@ -313,44 +237,9 @@ public class EmpOkrController { return R.success(); } - /** - * okr重评 - * */ - @PostMapping("/reBackAdd") - private R reBackAdd(@RequestBody JSONObject form){ - //可修改(后续建议封装) - //在back_wait获取员工所在岗位打回进程 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_okr") - .or().eq(BackWait::getType,"back_second_okr")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_okr") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - for (TaskView taskView : task1) { - - } - }else { - return R.error("已重评,请勿重复重评"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - return R.error("已重评,请勿重复重评"); - } + @PostMapping("/reBackAdd") + public R reBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -361,20 +250,8 @@ public class EmpOkrController { one.setOkrKeyId(Long.valueOf(String.valueOf(formObject.get("okrKeyId")))); one.setScore(new BigDecimal(formObject.get("score").toString())); one.setEmpId(Long.valueOf(String.valueOf(formObject.get("empId")))); - - try{ - String remark = formObject.get("remark").toString(); - if ("".equals(remark)) - return R.error("请填写评分说明"); - one.setRemark(remark); - }catch (Exception e){ - return R.error("请填写评分说明"); - } - - list.add(one); } - EmpOkrService.saveBatch(list); PositionAssessor nextAssessor= PositionAssessorService.lambdaQuery() @@ -386,17 +263,17 @@ public class EmpOkrController { .one(); Map map = new HashMap<>(); - if(form.getString("positionType").equals("5")||form.getString("positionType").equals("4")){ + if(form.getString("positionType").equals("5")){ map.put("Assessor",nextAssessor.getThirdAssessorId().toString()); } - else if(form.getString("positionType").equals("3")){ + else if(form.getString("positionType").equals("4")||form.getString("positionType").equals("3")){ map.put("Assessor",nextAssessor.getSecondAssessorId().toString()); } List backWait=BackWaitService.lambdaQuery() .eq(BackWait::getEmpId,form.getString("empId")) .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_okr") + .and(qw -> qw.eq(BackWait::getType,"third_okr_back") .or().eq(BackWait::getType,"back_second_okr")) .list(); @@ -419,152 +296,109 @@ public class EmpOkrController { return R.success(); } - /** - * okr终审复审 - * */ + @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List EmpOkrViews=EmpOkrViewService.lambdaQuery() .eq(EmpOkrView::getPositionId,obj.getString("positionId")) + .orderByAsc(EmpOkrView::getLiaEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId) .list(); + return R.success(EmpOkrViews); } - /** - * 当月员工okr项目查询(okr结算) - * */ + @GetMapping("/nowPage") public R nowPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize){ - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"okr") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .notIn(!empIds.isEmpty(),EmpOkrView::getLiaEmpId,empIds) - .orderByAsc(EmpOkrView::getLiaEmpId) + queryWrapper.orderByAsc(EmpOkrView::getLiaEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 当月员工okr项目搜索(okr结算) - * */ + @GetMapping("/nowSearch") public R nowSerach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName){ - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"okr") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .notIn(!empIds.isEmpty(),EmpOkrView::getLiaEmpId,empIds) - .like(EmpOkrView::getLiaEmpId,empId) + queryWrapper.like(EmpOkrView::getLiaEmpId,empId) .like(EmpOkrView::getName,empName) + .orderByAsc(EmpOkrView::getLiaEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工okr项目查询(okr结算) - * */ + @GetMapping("/pastPage") public R pastPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String time){ + , @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - //获取选择年月 - String choseMonth = time+"-01"; - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + queryWrapper.orderByAsc(EmpOkrView::getLiaEmpId) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工okr项目搜索(okr结算) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ - //获取选择年月 - String choseMonth = time+"-01"; + ,@RequestParam(defaultValue = "") String beginTime + ,@RequestParam(defaultValue = "") String endTime){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - + if(beginTime.equals("")){ + LocalDate today = LocalDate.now(); + LocalDateTime beginDay = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); queryWrapper.like(EmpOkrView::getLiaEmpId,empId) .like(EmpOkrView::getName,empName) .orderByAsc(EmpOkrView::getLiaEmpId) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpOkrView::getLiaEmpId) - .orderByDesc(EmpOkrView::getPositionId) - .orderByDesc(EmpOkrView::getEmpOkrId) - .orderByDesc(EmpOkrView::getKeyId); + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); + } + else { + LocalDateTime beginDay = LocalDateTime.of(LocalDate.parse(beginTime), LocalTime.MIN); + LocalDateTime endDay = LocalDateTime.of(LocalDate.parse(endTime), LocalTime.MAX); + queryWrapper.like(EmpOkrView::getLiaEmpId,empId) + .like(EmpOkrView::getName,empName) + .orderByAsc(EmpOkrView::getLiaEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay) + .apply(StringUtils.checkValNotNull(endDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endDay); + } EmpOkrViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); diff --git a/src/main/java/com/example/workflow/controller/EmpPieceController.java b/src/main/java/com/example/workflow/controller/EmpPieceController.java index 64f8baf..ac7d0a4 100644 --- a/src/main/java/com/example/workflow/controller/EmpPieceController.java +++ b/src/main/java/com/example/workflow/controller/EmpPieceController.java @@ -10,14 +10,12 @@ import com.example.workflow.listener.EmpPieceExcelReadListener; import com.example.workflow.mapper.EmpPieceMapper; import com.example.workflow.model.entity.EmpPiece; import com.example.workflow.model.entity.EmpPieceView; -import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.feedback.EmpPieceError; import com.example.workflow.model.feedback.ErrorExcelWrite; import com.example.workflow.model.pojo.EmpPieceExcel; import com.example.workflow.model.pojo.ResultEmpPieceExcel; import com.example.workflow.service.EmpPieceService; import com.example.workflow.service.EmpPieceViewService; -import com.example.workflow.service.TaskViewService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -31,8 +29,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.math.BigDecimal; -import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -41,9 +37,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; -/** - * 员工计件 - * */ + @Slf4j @RestController @RequestMapping("/EmpPiece") @@ -54,32 +48,24 @@ public class EmpPieceController { private EmpPieceMapper EmpPieceMapper; @Autowired private EmpPieceViewService EmpPieceViewService; - @Autowired - private TaskViewService TaskViewService; + LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 员工计件项目导出下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + @PostMapping("/downLoad") + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpPieceViewService.lambdaQuery() .orderByAsc(EmpPieceView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId) .list(); List result=new ArrayList<>(); list.forEach(x->{ ResultEmpPieceExcel one=new ResultEmpPieceExcel(); - one.setTotal(x.getTargetNum().multiply(BigDecimal.valueOf(x.getWorkOrder())).multiply(x.getQuality()).multiply(x.getDifficulty()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); BeanUtils.copyProperties(x,one); result.add(one); }); @@ -92,9 +78,7 @@ public class EmpPieceController { .sheet("导出") .doWrite(result); } - /** - * 查询所有员工计件项目(导入计件数据) - * */ + @GetMapping("/page") public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ @@ -103,40 +87,32 @@ public class EmpPieceController { queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 当月员工计件项目查询(计件结算) - * */ + @GetMapping("/nowPage") public R nowPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize){ + System.out.println("计件结算开始"); Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .orderByAsc(EmpPieceView::getEmpId) + queryWrapper.orderByAsc(EmpPieceView::getEmpId) .ne(EmpPieceView::getState,0) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); + System.out.println("计件结算结束"); return R.success(pageInfo); } - /** - * 当月员工计件项目搜索(计件结算) - * * */ + + @GetMapping("/nowSearch") public R nowSerach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -145,89 +121,79 @@ public class EmpPieceController { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .like(EmpPieceView::getEmpId,empId) + queryWrapper.like(EmpPieceView::getEmpId,empId) .like(EmpPieceView::getEmpName,empName) + .orderByAsc(EmpPieceView::getEmpId) .ne(EmpPieceView::getState,0) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工计件项目搜索(计件结算) - * */ + @GetMapping("/pastPage") public R pastPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String time - ){ + , @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - //获取选择年月 - String choseMonth = time+"-01"; - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper + queryWrapper.orderByAsc(EmpPieceView::getEmpId) .ne(EmpPieceView::getState,0) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工计件记录查询(计件结算) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ - - //获取选择年月 - String choseMonth = time+"-01"; + ,@RequestParam(defaultValue = "") String beginTime + ,@RequestParam(defaultValue = "") String endTime){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); + if(beginTime.isEmpty()){ + LocalDate today = LocalDate.now(); + LocalDateTime beginDay = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); queryWrapper.like(EmpPieceView::getEmpId,empId) .like(EmpPieceView::getEmpName,empName) .ne(EmpPieceView::getState,0) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + .orderByAsc(EmpPieceView::getEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); + } + else { + LocalDateTime beginDay = LocalDateTime.of(LocalDate.parse(beginTime), LocalTime.MIN); + LocalDateTime endDay = LocalDateTime.of(LocalDate.parse(endTime), LocalTime.MAX); + queryWrapper.like(EmpPieceView::getEmpId,empId) + .like(EmpPieceView::getEmpName,empName) + .orderByAsc(EmpPieceView::getEmpId) + .ne(EmpPieceView::getState,0) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay) + .apply(StringUtils.checkValNotNull(endDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endDay); + } EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 查询单个员工计件项目(审批) - * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPieceView::getEmpId,obj.getString("empId")) @@ -235,29 +201,21 @@ public class EmpPieceController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list=EmpPieceViewService.list(queryWrapper); return R.success(list); } - /** - * 新增员工计件项目 - * * */ + @PostMapping("/add") - private R add(@RequestBody List form){ + public R add(@RequestBody List form) { for(EmpPiece x:form){ - Integer flag = (int) x.getWorkOrder(); if(x.getEmpId()==null) R.error("员工姓名不得为空"); else if(x.getPieceId()==null) R.error("计件条目不得为空"); -// else if(x.getWorkOrder() == null) -// R.error("数量不得为空"); - else if(flag == null) + else if(x.getWorkOrder()==null) R.error("数量不得为空"); else if(x.getQuality()==null) R.error("质量不得为空"); @@ -266,20 +224,16 @@ public class EmpPieceController { return R.success(); } - /** - * 修改员工计件项目(未开放) - * */ + @PostMapping("/updateOne") - private R updateOne(@RequestBody EmpPiece one){ + public R updateOne(@RequestBody EmpPiece one) { EmpPieceService.updateById(one); return R.success(); } - /** - * 修改所有员工计件项目(未开放) - * */ + @PostMapping("/updateAll") - private R updateAll(List> form){ + public R updateAll(List> form) { List list=new ArrayList<>(); Long empId=form.get(0).get(0).getEmpId(); @@ -300,36 +254,29 @@ public class EmpPieceController { return R.success(); } - /** - * 删除员工计件项目 - * */ + @PostMapping("/delete") - private R delete(@RequestBody EmpPiece one){ + public R delete(@RequestBody EmpPiece one) { EmpPieceService.removeById(one); return R.success(); } - /** - * 全部删除员工计件项目(未开放) - * */ + @PostMapping("/deleteAll") - private R deleteAll(@RequestBody List list){ + public R deleteAll(@RequestBody List list) { EmpPieceService.removeBatchByIds(list); return R.success(); } - /** - * 重填员工计件项目 - * */ + @PostMapping("/addBackPiece") - private R addBackPiece(List form){ + public R addBackPiece(List form) { EmpPieceService.updateBatchById(form); + return R.success(); } - /** - * - * */ + @PostMapping("/timeList") - private R> timeList(){ + public R> timeList() { List list=EmpPieceViewService.list(); List time=new ArrayList<>(); list.forEach(x->{ @@ -342,60 +289,49 @@ public class EmpPieceController { String yearMonth = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM")); uniqueYearMonths.add(yearMonth); } + return R.success(uniqueYearMonths); } - /** - * 时间范围查询 - * */ @GetMapping("/searchByTime") - private R searchByTime(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R searchByTime(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * - * */ + @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpPiece one){ + public R reAdd(@RequestBody EmpPiece one) { one.setState(Short.parseShort("0")); EmpPieceService.updateById(one); + EmpPieceService.reChange(one.getId(),one.getEmpId()); return R.success(); } - /** - * 计件项目终审重审 - * */ + @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List empPieces=EmpPieceViewService.lambdaQuery() .eq(EmpPieceView::getPositionId,obj.getString("positionId")) + .orderByAsc(EmpPieceView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getEmpName) .list(); + return R.success(empPieces); } - /** - * 当月员工计件项目搜索(导入计件数据) - * */ + @GetMapping("/Search") public R Serach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -408,23 +344,20 @@ public class EmpPieceController { queryWrapper.like(EmpPieceView::getWorkOrder,workOrder) .like(EmpPieceView::getName,name) .like(EmpPieceView::getEmpName,empName) + .orderByAsc(EmpPieceView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpPieceView::getDepName) - .orderByDesc(EmpPieceView::getPosition) - .orderByDesc(EmpPieceView::getPieceId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpPieceViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 计件项目导入上传 - * */ + @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), EmpPieceExcel.class, new EmpPieceExcelReadListener()).sheet().doRead(); + if(!ErrorExcelWrite.getErrorCollection().isEmpty()){ response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setCharacterEncoding("utf-8"); diff --git a/src/main/java/com/example/workflow/controller/EmpRewardController.java b/src/main/java/com/example/workflow/controller/EmpRewardController.java index 94074ce..8899a22 100644 --- a/src/main/java/com/example/workflow/controller/EmpRewardController.java +++ b/src/main/java/com/example/workflow/controller/EmpRewardController.java @@ -1,17 +1,15 @@ package com.example.workflow.controller; -import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; -import com.example.workflow.mapper.*; -import com.example.workflow.model.entity.*; -import com.example.workflow.model.pojo.EmpRewardExcel; -import com.example.workflow.service.*; +import com.example.workflow.model.entity.EmpReward; +import com.example.workflow.model.entity.EmpRewardView; +import com.example.workflow.service.EmpRewardService; +import com.example.workflow.service.EmpRewardViewService; +import com.example.workflow.service.EmployeeCoefficientService; import lombok.extern.slf4j.Slf4j; -import org.camunda.bpm.engine.TaskService; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -20,16 +18,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.ArrayList; import java.util.List; -/** - * 员工特殊绩效 - * */ + @Slf4j @RestController @RequestMapping("/EmpReward") @@ -40,230 +33,49 @@ public class EmpRewardController { private EmpRewardViewService EmpRewardViewService; @Autowired private EmployeeCoefficientService EmployeeCoefficientService; - @Autowired - private com.example.workflow.service.CoefficientViewService CoefficientViewService; - @Autowired - private com.example.workflow.service.EmpCoefficientService EmpCoefficientService; - @Autowired - private com.example.workflow.mapper.ResultScoreEmpViewMapper ResultScoreEmpViewMapper; - @Autowired - private com.example.workflow.mapper.ResultPieceEmpViewMapper ResultPieceEmpViewMapper; - @Autowired - private com.example.workflow.mapper.ResultKpiEmpViewMapper ResultKpiEmpViewMapper; - @Autowired - private com.example.workflow.mapper.CoefficientViewMapper CoefficientViewMapper; - @Autowired - private EmpWageService EmpWageService; - @Autowired - private EmployeePositionService EmployeePositionService; - @Autowired - private TaskService taskService; - @Autowired - private com.example.workflow.mapper.TaskViewMapper TaskViewMapper; - @Autowired - private ResultOkrViewMapper ResultOkrViewMapper; - @Autowired - private EmpScoreViewMapper EmpScoreViewMapper; - @Autowired - private EmpPieceViewMapper EmpPieceViewMapper; - @Autowired - private EmpKpiViewMapper EmpKpiViewMapper; - @Autowired - private EmpOkrViewMapper EmpOkrViewMapper; - @Autowired - private EmpRewardViewMapper EmpRewardViewMapper; - @Autowired - private RegionCoefficientService RegionCoefficientService; - LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 新增(未编写) - * */ @PostMapping("/add") - private R add(@RequestBody List form){ + public R add(@RequestBody List form) { EmpRewardService.saveBatch(form); - return R.success(); - } - /** - * 一键归档 - * */ - @PostMapping("/fileAll") - private R fillAll(){ - //状态1-未归档;2-已归档 - List empRewardList = new ArrayList<>(); - empRewardList = EmpRewardService.lambdaQuery() - .eq(EmpReward::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - empRewardList.forEach(empReward -> { - Long empId = empReward.getEmpId(); - Long positionId = empReward.getPositionId(); - EmpRewardService.fileOne(empId,positionId); - empReward.setState((short) 2); - EmpRewardService.updateById(empReward); - }); + EmployeeCoefficientService.fileOne(form.get(0).getEmpId(),form.get(0).getPositionId()); return R.success(); } - /** - * 员工特殊绩效分页 - * */ - @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + @GetMapping("/page") + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpRewardView::getEmpId) - .orderByDesc(EmpRewardView::getPositionId) - .orderByDesc(EmpRewardView::getFileId); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpRewardViewService.page(pageInfo,queryWrapper); + return R.success(pageInfo); } - /** - * 员工特殊绩删除 - * */ - @PostMapping("/delete") - private R delete(@RequestBody EmpReward one){ - //归档后允许,前端限制 - if (one.getState() == 1){ - EmpRewardService.removeById(one); - }else { - EmpWage wage = EmpWageService.lambdaQuery() - .eq(EmpWage::getEmpId, one.getEmpId()) - .eq(EmpWage::getPositionId, one.getPositionId()) - .eq(EmpWage::getState, 1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); + @PostMapping("/delete") + public R delete(@RequestBody EmpReward one) { + System.out.println(one); + EmpRewardService.removeById(one); - wage.setTotal(wage.getTotal().subtract(one.getReward())); - wage.setRewardWage(wage.getRewardWage().subtract(one.getReward())); - EmpWageService.updateById(wage); - EmpRewardService.removeById(one); - } + EmployeeCoefficientService.fileOne(one.getEmpId(),one.getPositionId()); return R.success(); } - /** - * 员工特殊绩修改 - * */ + @PostMapping("/updateOne") - private R updateOne(@RequestBody EmpReward one){ - //归档后不允许修改,前端限制 + public R updateOne(@RequestBody EmpReward one) { EmpRewardService.updateById(one); - return R.success(); - } - - - /** - * 员工特殊绩搜索(导入特殊绩效) - */ - @GetMapping("/Search") - public R Serach(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String save - ,@RequestParam(defaultValue = "") String fileName){ - - List list = new ArrayList<>(); - list.add((short) 0); - list.add((short) 1); - - switch(save){ - case "0": list.clear();list.add((short) 0);break; - case "1": list.clear();list.add((short) 1);break; - } - - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.like(EmpRewardView::getEmpName,empName) - .like(EmpRewardView::getFileName,fileName) - .in(EmpRewardView::getSave,list) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpRewardView::getEmpId) - .orderByDesc(EmpRewardView::getPositionId) - .orderByDesc(EmpRewardView::getFileId); - EmpRewardViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - /** - * 一键复制上月(选择保存数据) - **/ - @PostMapping("/copy") - private R copy(HttpServletResponse response) throws IOException { - List list= EmpRewardService.lambdaQuery() - .eq(EmpReward::getSave,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - if(!list.isEmpty()) - return R.error("本月特殊绩效已复制,请勿重复操作"); - - EmpRewardService.monthCopy(response); + EmployeeCoefficientService.fileOne(one.getEmpId(),one.getPositionId()); return R.success(); } - - /** - * 导出下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - List list = EmpRewardViewService.lambdaQuery() - .orderByDesc(EmpRewardView::getEmpName) - .orderByDesc(EmpRewardView::getPosition) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - List result=new ArrayList<>(); - - list.forEach(x->{ - - EmpRewardExcel one = new EmpRewardExcel(); - - BeanUtils.copyProperties(x,one); - - if (x.getState() == 1){ - one.setState("未归档"); - }else { - one.setState("已归档"); - } - - result.add(one); - }); - - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - EasyExcel.write(response.getOutputStream(), EmpRewardExcel.class) - .sheet("导出") - .doWrite(result); - } } diff --git a/src/main/java/com/example/workflow/controller/EmpScoreController.java b/src/main/java/com/example/workflow/controller/EmpScoreController.java index 9c0e8c9..72566c1 100644 --- a/src/main/java/com/example/workflow/controller/EmpScoreController.java +++ b/src/main/java/com/example/workflow/controller/EmpScoreController.java @@ -9,10 +9,19 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpScore; +import com.example.workflow.model.entity.EmpScoreView; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.PositionAssessor; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.pojo.EmpScoreExcel; -import com.example.workflow.model.pojo.EmpScoreTotalExcel; -import com.example.workflow.service.*; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmpScoreService; +import com.example.workflow.service.EmpScoreViewService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.PositionAssessorService; +import com.example.workflow.service.PositionService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.TaskService; import org.springframework.beans.BeanUtils; @@ -27,14 +36,14 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; -import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.*; -/** - * 员工评分 - * */ +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @Slf4j @RestController @RequestMapping("/EmpScore") @@ -56,35 +65,14 @@ public class EmpScoreController { private EmpScoreViewService EmpScoreViewService; @Autowired private BackWaitService BackWaitService; - @Autowired - private TaskViewService TaskViewService; - @Autowired - private EmpScoreTotalViewService EmpScoreTotalViewService; - @Autowired - private EmpScoreTotalService EmpScoreTotalService; - LocalDate today = LocalDate.now(); - + LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 导出下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - - //未评分的不允许导出 - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"score") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } + @PostMapping("/downLoad") + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpScoreViewService.lambdaQuery() - .notIn(!empIds.isEmpty(),EmpScoreView::getEmpId,empIds) .orderByDesc(EmpScoreView::getPosition) .orderByDesc(EmpScoreView::getEmpName) .orderByDesc(EmpScoreView::getScorePercent) @@ -99,139 +87,36 @@ public class EmpScoreController { List result=new ArrayList<>(); list.forEach(x->{ - EmpScoreExcel one = new EmpScoreExcel(); + + EmpScoreExcel one=new EmpScoreExcel(); + BeanUtils.copyProperties(x,one); one.setScorePercent(x.getScorePercent()+"%"); one.setAssessorPercent(x.getAssessorPercent()+"%"); - one.setGrade(x.getScore().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); - - - - EmpScoreTotalView data =EmpScoreTotalViewService.lambdaQuery() - .eq(EmpScoreTotalView::getPositionId,x.getPositionId()) - .eq(EmpScoreTotalView::getEmpId,x.getEmpId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - if (data == null){ - one.setState("未归档"); - }else { - one.setState("已归档"); - } - - - - // if (x.getCorrectedValue() == null){ -// one.setGrade(x.getScore().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); -// }else { -// one.setGrade(x.getCorrectedValue().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); -// } + one.setGrade(x.getScore().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000))); result.add(one); }); response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); + EasyExcel.write(response.getOutputStream(), EmpScoreExcel.class) .sheet("导出") .doWrite(result); } - - - - /** - * 总分导出下载 - * */ - @PostMapping("/total/downLoad") - private void totalDownLoad(HttpServletResponse response) throws IOException { - - List list=EmpScoreTotalViewService.lambdaQuery() - .orderByDesc(EmpScoreTotalView::getDeptName) - .orderByDesc(EmpScoreTotalView::getPosition) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - List result=new ArrayList<>(); - - list.forEach(x->{ - - EmpScoreTotalExcel one = new EmpScoreTotalExcel(); - if (x.getUpdateScore() == null) - one.setTotalScore(x.getOriginalScore()); - else - one.setTotalScore(x.getOriginalScore().add(x.getUpdateScore())); - BeanUtils.copyProperties(x,one); -// if (x.getCorrectedValue() == null){ -// one.setGrade(x.getScore().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); -// }else { -// one.setGrade(x.getCorrectedValue().multiply(x.getScorePercent()).multiply(x.getAssessorPercent()).divide(BigDecimal.valueOf(10000)).setScale(2, RoundingMode.HALF_UP)); -// } - result.add(one); - }); - - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - EasyExcel.write(response.getOutputStream(), EmpScoreTotalExcel.class) - .sheet("导出") - .doWrite(result); - } - /** - * 评分 - * */ @PostMapping("/add") - private R add(@RequestBody JSONObject form){ - //可修改(后续建议封装) - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"score") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已评分,请勿重复评分"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已评分,请勿重复评分"); - } - + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); - //数据判断 + List list = new ArrayList<>(); for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); - EmpScore one = EmpScoreService.lambdaQuery() - .eq(EmpScore::getScoreAssessorsId,Long.valueOf(String.valueOf(formObject.get("scoreAssessorsId")))) - .eq(EmpScore::getEmpId,Long.valueOf(String.valueOf(formObject.get("empId")))) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - + EmpScore one = new EmpScore(); + one.setScoreAssessorsId(Long.valueOf(String.valueOf(formObject.get("scoreAssessorsId")))); + one.setEmpId(Long.valueOf(String.valueOf(formObject.get("empId")))); if(formObject.get("score").toString()==null||formObject.get("score").toString().isEmpty()){ return R.error("评分不得为空"); @@ -242,22 +127,13 @@ public class EmpScoreController { if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(120)) > 0){ return R.error("评分不得超过120"); } - if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(100)) != 0 & "".equals(formObject.get("remark").toString())){ - return R.error("请填写扣分或者加分说明"); - } one.setScore(new BigDecimal(formObject.get("score").toString())); - if (formObject.get("remark")==null){ - one.setRemark(""); - }else { - one.setRemark(formObject.get("remark").toString()); - } - //修改 - EmpScoreService.updateById(one); + list.add(one); } + EmpScoreService.saveBatch(list); - //查找下一级 - PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() + PositionAssessor nextAssessor= PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId,form.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -266,25 +142,20 @@ public class EmpScoreController { .one(); Map map = new HashMap<>(); - - - //普通员工评完去三级,四级CEO评完去三级,三级员工 二级评完去终审,二级不用评 if(form.getString("positionType").equals("5")){ map.put("thirdAssessor",nextAssessor.getThirdAssessorId().toString()); map.put("thirdTimer",nextAssessor.getThirdTimer()); } else if(form.getString("positionType").equals("4")){ - map.put("thirdAssessor",nextAssessor.getThirdAssessorId().toString()); - map.put("thirdTimer",nextAssessor.getThirdTimer()); + map.put("secondAssessor",nextAssessor.getSecondAssessorId().toString()); + map.put("secondTimer",nextAssessor.getSecondTimer()); } - //获取被评人信息 - LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getPositionId,form.getString("positionId")) .eq(EmployeePosition::getEmpId,form.getString("empId")); EmployeePosition EmployeePosition=EmployeePositionService.getOne(queryWrapper); - //结束评分进程 String assessorId=form.getString("assessorId"); String empId=form.getString("empId"); LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); @@ -293,418 +164,135 @@ public class EmpScoreController { .eq(TaskView::getName,"score") .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); TaskView task=TaskViewMapper.selectOne(queryWrapper2); + taskService.complete(task.getId(),map); + return R.success(); } - /** - * 当月员工评分项目查询(评分结算) - * * */ @GetMapping("/nowPage") public R nowPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize){ - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"score") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper + queryWrapper.orderByAsc(EmpScoreView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .notIn(!empIds.isEmpty(),EmpScoreView::getEmpId,empIds) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpScoreViewService.page(pageInfo,queryWrapper); - for (EmpScoreView data : pageInfo.getRecords()) { - - EmpScoreTotalView x =EmpScoreTotalViewService.lambdaQuery() - .eq(EmpScoreTotalView::getPositionId,data.getPositionId()) - .eq(EmpScoreTotalView::getEmpId,data.getEmpId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - if (x == null){ - data.setState((short) 0); - }else { - data.setState((short) 1); - } - - - } return R.success(pageInfo); } - /** - * 当月员工总分查询(评分结算) - * * */ - @GetMapping("/total/nowPage") - public R nowTotalPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize){ - - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreTotalView::getPosition) - .orderByDesc(EmpScoreTotalView::getName); - - EmpScoreTotalViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - - /** - * 当月员工评分项目搜索(评分结算) - * */ @GetMapping("/nowSearch") public R nowSerach(@RequestParam("page") String page , @RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName){ - List taskViewList= TaskViewService.lambdaQuery() - .eq(TaskView::getName,"score") - .list(); - - List empIds =new ArrayList<>(); - for (TaskView taskView : taskViewList) { - empIds.add(Long.valueOf(taskView.getStartUserId())); - } - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.like(EmpScoreView::getEmpId,empId) .like(EmpScoreView::getEmpName,empName) - .notIn(!empIds.isEmpty(),EmpScoreView::getEmpId,empIds) + .orderByAsc(EmpScoreView::getEmpId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); EmpScoreViewService.page(pageInfo,queryWrapper); - - for (EmpScoreView data : pageInfo.getRecords()) { - - EmpScoreTotalView x =EmpScoreTotalViewService.lambdaQuery() - .eq(EmpScoreTotalView::getPositionId,data.getPositionId()) - .eq(EmpScoreTotalView::getEmpId,data.getEmpId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - if (x == null){ - data.setState((short) 0); - }else { - data.setState((short) 1); - } - - - } - - return R.success(pageInfo); } - /** - * 当月员工总分项目搜索(评分结算) - * */ - @GetMapping("/total/nowSearch") - public R nowTotalSerach(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empId - ,@RequestParam(defaultValue = "") String empName){ - - - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .like(EmpScoreTotalView::getName,empName) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreTotalView::getPosition) - .orderByDesc(EmpScoreTotalView::getName); - EmpScoreTotalViewService.page(pageInfo,queryWrapper); - return R.success(pageInfo); - } - /** - * 历史员工评分项目查询(评分结算) - * */ @GetMapping("/pastPage") public R pastPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - , @RequestParam("time") String time - ){ - - //获取选择年月 - String choseMonth = time+"-01"; - + , @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); + LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); + Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + queryWrapper.orderByAsc(EmpScoreView::getEmpId) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime); EmpScoreViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工评分项目搜索(评分结算) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize ,@RequestParam(defaultValue = "") String empId ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ + ,@RequestParam(defaultValue = "") String beginTime + ,@RequestParam(defaultValue = "") String endTime){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - - //获取选择年月 - String choseMonth = time+"-01"; - + if(beginTime.isEmpty()){ + LocalDate today = LocalDate.now(); + LocalDateTime beginDay = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); queryWrapper.like(EmpScoreView::getEmpId,empId) .like(EmpScoreView::getEmpName,empName) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + .orderByAsc(EmpScoreView::getEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay); + } + else { + LocalDateTime beginDay = LocalDateTime.of(LocalDate.parse(beginTime), LocalTime.MIN); + LocalDateTime endDay = LocalDateTime.of(LocalDate.parse(endTime), LocalTime.MAX); + queryWrapper.like(EmpScoreView::getEmpId,empId) + .like(EmpScoreView::getEmpName,empName) + .orderByAsc(EmpScoreView::getEmpId) + .apply(StringUtils.checkValNotNull(beginDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginDay) + .apply(StringUtils.checkValNotNull(endDay), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endDay); + } EmpScoreViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 历史员工评分项目查询(评分结算) - * */ - @GetMapping("/total/pastPage") - public R pastTotalPage(@RequestParam("page") String page - , @RequestParam("page_size") String pageSize - , @RequestParam("time") String time - ){ - - //获取选择年月 - String choseMonth = time+"-01"; - - LocalDate today = LocalDate.now(); - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpScoreTotalView::getPosition) - .orderByDesc(EmpScoreTotalView::getName); - EmpScoreTotalViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - - /** - * 历史员工评分项目搜索(评分结算) - * */ - @GetMapping("/total/pastSearch") - public R pastTotalPage(@RequestParam("page") String page - ,@RequestParam("page_size") String pageSize - ,@RequestParam(defaultValue = "") String empId - ,@RequestParam(defaultValue = "") String empName - ,@RequestParam(defaultValue = "") String time){ - - Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - - //获取选择年月 - String choseMonth = time+"-01"; - - queryWrapper.like(EmpScoreTotalView::getEmpId,empId) - .like(EmpScoreTotalView::getName,empName) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') >= date_format ({0},'%Y-%m')", choseMonth) - .apply(StringUtils.checkValNotNull(choseMonth), - "date_format (create_time,'%Y-%m') <= date_format ({0},'%Y-%m')", choseMonth) - .orderByDesc(EmpScoreTotalView::getPosition) - .orderByDesc(EmpScoreTotalView::getName); - - EmpScoreTotalViewService.page(pageInfo,queryWrapper); - - return R.success(pageInfo); - } - /** - * 修改评分(修正值) - * */ @GetMapping("/reAdd") - private R reAdd(@RequestParam("id") String id + public R reAdd(@RequestParam("id") String id ,@RequestParam("correctedValue") String correctedValue ,@RequestParam("empId") String empId){ + UpdateWrapper updateWrapper=new UpdateWrapper<>(); + updateWrapper.eq("id",id) + .set("corrected_value",correctedValue); + EmpScoreService.update(updateWrapper); - //判断是否在考核过程中(即任务列表是否存在被修改人id) - LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); - queryWrapper2 - .eq(TaskView::getStartUserId,empId) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - - Long task= TaskViewMapper.selectCount(queryWrapper2); - - //存在任务即未归档,不允许修改 - if (task != 0L){ - return R.error("员工未归档,等考核结束"); - } - - LambdaQueryWrapper queryWrapper3=new LambdaQueryWrapper<>(); - queryWrapper3.eq(EmpScore::getId,id); - - EmpScore empScore = EmpScoreService.getOne(queryWrapper3); - - if (empScore.getCorrectedValue() != null){ - //已修改过,只保存修正值 - UpdateWrapper updateWrapper=new UpdateWrapper<>(); - updateWrapper.eq("id",id) - .set("corrected_value",correctedValue) - .set("score",correctedValue); - EmpScoreService.update(updateWrapper); - }else { - //保存修正值并且保存原始分数 - UpdateWrapper updateWrapper=new UpdateWrapper<>(); - updateWrapper.eq("id",id) - .set("corrected_value",correctedValue) - .set("score",correctedValue) - .set("original_score",empScore.getScore()); - EmpScoreService.update(updateWrapper); - } - //修改评分工资 - EmpScoreService.reChange(Long.valueOf(empId),Long.valueOf(id)); + EmpScoreService.reChange(Long.valueOf(id),Long.valueOf(empId)); return R.success(); } - /** - * 修改总分(修正值) - * */ - @GetMapping("/total/reAdd") - private R totalReAdd( - @RequestParam("id") String id - ,@RequestParam("updateScore") BigDecimal updateScore - ,@RequestParam("remark") String remark - ){ - - - LambdaQueryWrapper queryWrapper3=new LambdaQueryWrapper<>(); - queryWrapper3.eq(EmpScoreTotal::getId,id); - EmpScoreTotal empScoreTotal = EmpScoreTotalService.getOne(queryWrapper3); - - empScoreTotal.setUpdateScore(updateScore); - empScoreTotal.setRemark(remark); - - EmpScoreTotalService.updateById(empScoreTotal); - - //修改评分工资 - EmpScoreTotalService.reChange(empScoreTotal.getEmpId(),empScoreTotal.getPositionId()); - - return R.success(); - } - /** - * 删除评分(不建议使用) - * */ @PostMapping("/reDelete") - private R reAdd(@RequestBody EmpScore one){ + public R reAdd(@RequestBody EmpScore one) { one.setState(new Short("0")); EmpScoreService.updateById(one); - EmpScoreService.reChange(one.getEmpId(),one.getId()); + + EmpScoreService.reChange(one.getId(),one.getEmpId()); return R.success(); } - /** - * 评分重评 - * */ + @PostMapping("/reBackAdd") - private R reBackAdd(@RequestBody JSONObject form){ + public R reBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); - //可修改(后续建议封装) - //在back_wait获取员工所在岗位打回进程 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_score") - .or().eq(BackWait::getType,"back_second_score")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_score") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - for (TaskView taskView : task1) { - - } - }else { - return R.error("已重评,请勿重复重评"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - return R.error("已重评,请勿重复重评"); - } - - List list = new ArrayList<>(); for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); @@ -715,24 +303,9 @@ public class EmpScoreController { if(formObject.get("score").toString()==null||formObject.get("score").toString().isEmpty()){ return R.error("评分不得为空"); } - if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(0)) < 0){ - return R.error("评分不得小于0"); - } - if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(120)) > 0){ - return R.error("评分不得超过120"); - } - if(new BigDecimal(formObject.get("score").toString()).compareTo(new BigDecimal(100)) != 0 & "".equals(formObject.get("remark").toString())){ - return R.error("请填写扣分或者加分说明"); - } one.setScore(new BigDecimal(formObject.get("score").toString())); - if (formObject.get("remark")==null){ - one.setRemark(""); - }else { - one.setRemark(formObject.get("remark").toString()); - } list.add(one); } - EmpScoreService.saveBatch(list); PositionAssessor nextAssessor= PositionAssessorService.lambdaQuery() @@ -747,16 +320,14 @@ public class EmpScoreController { if(form.getString("positionType").equals("5")){ map.put("Assessor",nextAssessor.getThirdAssessorId().toString()); } - else if(form.getString("positionType").equals("4")){ - map.put("Assessor",nextAssessor.getThirdAssessorId().toString()); - }else if(form.getString("positionType").equals("3")){ + else if(form.getString("positionType").equals("4")||form.getString("positionType").equals("3")){ map.put("Assessor",nextAssessor.getSecondAssessorId().toString()); } List backWait=BackWaitService.lambdaQuery() .eq(BackWait::getEmpId,form.getString("empId")) .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_score") + .and(qw -> qw.eq(BackWait::getType,"third_score_back") .or().eq(BackWait::getType,"back_second_score")) .list(); @@ -770,8 +341,9 @@ public class EmpScoreController { backWait.forEach(x->{ task.forEach(y->{ - + System.out.println(y.getProcInstId().equals(x.getProcessDefineId())); if(y.getProcInstId().equals(x.getProcessDefineId())){ + System.out.println("完成任务"); taskService.complete(y.getId(),map); } }); @@ -780,11 +352,9 @@ public class EmpScoreController { return R.success(); } - /** - * 查询单个员工评分项目(审批) - * */ + @PostMapping("/getOneEmpScore") - private R> getOneEmpOkr(@RequestBody JSONObject form){ + public R> getOneEmpOkr(@RequestBody JSONObject form) { List empScoreViewList= EmpScoreViewService.lambdaQuery() .eq(EmpScoreView::getEmpId,form.getString("empId")) .eq(EmpScoreView::getPositionId,form.getString("positionId")) @@ -793,55 +363,23 @@ public class EmpScoreController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent) .list(); + return R.success(empScoreViewList); } - /** - * 评分项目终审重审 - * */ + @PostMapping("/secondBack") - private R> secondBack(@RequestBody JSONObject obj){ + public R> secondBack(@RequestBody JSONObject obj) { List empScoreViews=EmpScoreViewService.lambdaQuery() .eq(EmpScoreView::getPositionId,obj.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .orderByAsc(EmpScoreView::getEmpId) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent) - .list(); - return R.success(empScoreViews); - } - - /** - * 总分编辑各评分条目细节 - * */ - @GetMapping("/empScoreTotalDetail") - private R> getEmpScoreTotalDetail( - @RequestParam("empId") long empId - ,@RequestParam("positionId") long positionId - ){ - List empScoreViews=EmpScoreViewService.lambdaQuery() - .eq(EmpScoreView::getEmpId,empId) - .eq(EmpScoreView::getPositionId,positionId) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByAsc(EmpScoreView::getEmpId) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent) .list(); + return R.success(empScoreViews); } diff --git a/src/main/java/com/example/workflow/controller/EmpWageController.java b/src/main/java/com/example/workflow/controller/EmpWageController.java index d216ab3..c8fce38 100644 --- a/src/main/java/com/example/workflow/controller/EmpWageController.java +++ b/src/main/java/com/example/workflow/controller/EmpWageController.java @@ -48,7 +48,7 @@ public class EmpWageController { * * */ @GetMapping("/page") - private R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -306,7 +306,7 @@ public class EmpWageController { * 员工工资导出下载 * */ @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpWageViewService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) diff --git a/src/main/java/com/example/workflow/controller/EmployeePositionController.java b/src/main/java/com/example/workflow/controller/EmployeePositionController.java index a2cab58..68b4223 100644 --- a/src/main/java/com/example/workflow/controller/EmployeePositionController.java +++ b/src/main/java/com/example/workflow/controller/EmployeePositionController.java @@ -55,9 +55,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -/** - * 员工岗位管理 - * */ @Slf4j @RestController @RequestMapping("/EmployeePosition") @@ -87,47 +84,35 @@ public class EmployeePositionController { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 员工岗位导入上传 - * */ + @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), EmpPositionExcel.class, new EmpPositionExcelReadListener()).sheet().doRead(); + if(!ErrorExcelWrite.getErrorCollection().isEmpty()){ response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setCharacterEncoding("utf-8"); response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); + EasyExcel.write(response.getOutputStream(), EmpPositionError.class).sheet("错误部分").doWrite(ErrorExcelWrite.getErrorCollection()); } ErrorExcelWrite.clearErrorCollection(); } - /** - * 员工岗位导出下载 - * */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { + @PostMapping("/downLoad") + public void downLoad(HttpServletResponse response) throws IOException { List list=EmpPositionViewService.lambdaQuery() .orderByAsc(EmpPositionView::getEmpId) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); List result=new ArrayList<>(); list.forEach(x->{ ResultEmpPositionExcel one=new ResultEmpPositionExcel(); BeanUtils.copyProperties(x,one); - - switch (x.getState()){ - case 0:one.setState("未启用");break; - case 1:one.setState("启用"); - switch (x.getAuditStatus()){ - case 0 : one.setAudit_status("未考核");break; - case 1 : one.setAudit_status("考核中");break; - case 2 : one.setAudit_status("暂停");break; - case 3 : one.setAudit_status("考核完成");break; - } - break; - } - result.add(one); }); @@ -140,11 +125,8 @@ public class EmployeePositionController { .doWrite(result); } - /** - * 被考核信息(暂未启用) - * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { String data=obj.toJSONString(); JSONObject json = JSON.parseObject(data); @@ -160,7 +142,6 @@ public class EmployeePositionController { if(task!=null) { TaskInf one = new TaskInf(); - one.setId(task.getId()); one.setAssignee(task.getAssignee()); one.setName(task.getName()); @@ -172,43 +153,38 @@ public class EmployeePositionController { one.setPositionId(x.getPositionId()); one.setEmpId(x.getEmpId()); one.setEmpName(x.getEmpName()); - result.add(one); } }); + return R.success(result); } - /** - * 分页 - * */ + @GetMapping("/page") - private R> page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R> page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.orderByDesc(EmpPositionView::getEmpId); + queryWrapper.orderByDesc(EmpPositionView::getEmpId) + .eq(EmpPositionView::getState,1); EmpPositionViewService.page(pageInfo,queryWrapper); - for (EmpPositionView record : pageInfo.getRecords()) { - if (record.getState() == 0) - record.setAuditStatus(null); - } return R.success(pageInfo); } - /** - * 添加员工岗位信息 - * */ @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { + LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); queryWrapper2.eq(EmployeePosition::getEmpId,form.getString("empId")); if(!EmployeePositionService.list(queryWrapper2).isEmpty()){ return R.error("该员工已任职岗位,请勿重复操作"); } + JSONArray formArray = form.getJSONArray("positionList"); List positionList = new ArrayList<>(); + for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); positionList.add(formObject.getString("positionId")); @@ -217,25 +193,32 @@ public class EmployeePositionController { if (set.size() < positionList.size()) { return R.error("员工不可重复任职同一岗位"); } + LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getEmpId,form.getString("empId")); EmployeePositionService.remove(queryWrapper); + List employeePositionList=new ArrayList<>(); for (int i = 0; i < formArray.size(); i++) { JSONObject formObject = formArray.getJSONObject(i); + EmployeePosition x=new EmployeePosition(); + if(formObject.getString("positionId").isEmpty()) return R.error("请选择人员岗位"); x.setEmpId(Long.valueOf(form.getString("empId"))); + if(formObject.getString("posiPercent").isEmpty()) return R.error("请填写岗位比例"); x.setPositionId(Long.valueOf(formObject.getString("positionId"))); String valueAsString = formObject.getString("posiPercent"); BigDecimal valueAsBigDecimal = new BigDecimal(valueAsString); x.setPosiPercent(valueAsBigDecimal); + LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(Position::getId,Long.valueOf(formObject.getString("positionId"))); Short type= PositionService.getOne(Wrapper).getType(); + if(type==5) x.setProcessKey("Process_1gzouwy"); else if(type==4) @@ -245,27 +228,24 @@ public class EmployeePositionController { employeePositionList.add(x); } EmployeePositionService.saveBatch(employeePositionList); + return R.success(); } - /** - * 新增员工岗位弹窗(选择员工) - * */ @PostMapping("/getEmpPositionList") - private R> getEmpPositionList(@RequestBody JSONObject obj){ + public R> getEmpPositionList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPositionView::getEmpId,obj.getString("empId")); List list=EmpPositionViewMapper.selectList(queryWrapper); + return R.success(list); } - /** - * 修改员工岗位 - * */ + @PostMapping("/update") - private R update(@RequestBody JSONObject form){ + public R update(@RequestBody JSONObject form) { List empReward=EmpRewardService.lambdaQuery() .eq(EmpReward::getEmpId,form.getString("empId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -279,6 +259,15 @@ public class EmployeePositionController { } JSONArray formArray = form.getJSONArray("positionList"); + /*List positionList = new ArrayList<>(); + for (int i = 0; i < formArray.size(); i++) { + JSONObject formObject = formArray.getJSONObject(i); + positionList.add(formObject.getString("positionId")); + } + Set set = new HashSet<>(positionList); + if (set.size() < positionList.size()) { + return R.error("员工不可重复任职同一岗位"); + }*/ LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getEmpId,form.getString("empId")); @@ -318,11 +307,9 @@ public class EmployeePositionController { return R.success(); } - /** - * 删除 - * */ + @PostMapping("/delete") - private R remove(@RequestBody EmpPositionView form){ + public R remove(@RequestBody EmpPositionView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getEmpId,form.getEmpId()); EmployeePositionService.remove(queryWrapper); @@ -370,9 +357,6 @@ public class EmployeePositionController { return R.success(); } - /** - * 根据员工姓名查询岗位信息 - * */ @GetMapping("/search") public R searchPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -380,17 +364,11 @@ public class EmployeePositionController { ,@RequestParam(defaultValue = "") String position){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .orderByDesc(EmpPositionView::getPosition) - .orderByDesc(EmpPositionView::getDeptName) - .orderByDesc(EmpPositionView::getEmpId) + queryWrapper.orderByDesc(EmpPositionView::getEmpId) .like(EmpPositionView::getEmpName,empName) - .like(EmpPositionView::getPosition,position); + .like(EmpPositionView::getPosition,position) + .eq(EmpPositionView::getState,1); EmpPositionViewService.page(pageInfo,queryWrapper); - for (EmpPositionView record : pageInfo.getRecords()) { - if (record.getState() == 0) - record.setAuditStatus(null); - } return R.success(pageInfo); } diff --git a/src/main/java/com/example/workflow/controller/FirstController.java b/src/main/java/com/example/workflow/controller/FirstController.java index ed9921c..61d6cc7 100644 --- a/src/main/java/com/example/workflow/controller/FirstController.java +++ b/src/main/java/com/example/workflow/controller/FirstController.java @@ -37,7 +37,7 @@ public class FirstController { @Resource private KpiRuleService kpiRuleService; @Resource - private RegionCoefficientService regionCoefficientService; + public RegionCoefficientService regionCoefficientService; @Resource private EmpCoefficientService empCoefficientService; @Resource diff --git a/src/main/java/com/example/workflow/controller/FlowController.java b/src/main/java/com/example/workflow/controller/FlowController.java index 9b59f9b..ad903f7 100644 --- a/src/main/java/com/example/workflow/controller/FlowController.java +++ b/src/main/java/com/example/workflow/controller/FlowController.java @@ -91,7 +91,7 @@ public class FlowController { @PostMapping("/startFlow") - private R startFlow(@RequestBody JSONObject obj) { + public R startFlow(@RequestBody JSONObject obj) { LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); LocalDateTime beginTime = time[0]; LocalDateTime endTime = time[1]; @@ -153,7 +153,7 @@ public class FlowController { @PostMapping("/stopFlow") - private R stopFlow(@RequestBody JSONObject obj) { + public R stopFlow(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); List empList = employeePositionMapper.selectList(queryWrapper); @@ -182,7 +182,7 @@ public class FlowController { @PostMapping("/restoreFlow") - private R restoreFlow(@RequestBody JSONObject obj) { + public R restoreFlow(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EmployeePosition::getPositionId, obj.getString("positionId")); List empList = employeePositionMapper.selectList(queryWrapper); @@ -206,7 +206,7 @@ public class FlowController { @PostMapping("/deleteFlow") - private R deleteFlow(@RequestBody JSONObject obj) { + public R deleteFlow(@RequestBody JSONObject obj) { LocalDateTime[] time = DateTimeUtils.getTheStartAndEndTimeOfMonth(); LocalDateTime beginTime = time[0]; LocalDateTime endTime = time[1]; diff --git a/src/main/java/com/example/workflow/controller/IndexController.java b/src/main/java/com/example/workflow/controller/IndexController.java index 8d43c70..ff3c145 100644 --- a/src/main/java/com/example/workflow/controller/IndexController.java +++ b/src/main/java/com/example/workflow/controller/IndexController.java @@ -30,9 +30,9 @@ public class IndexController { @Autowired private IndexService IndexService; @Autowired - private RoleRouterService roleRouterService; + public RoleRouterService roleRouterService; @Autowired - private RouterMapper routerMapper; + public RouterMapper routerMapper; @PostMapping("/getPermission") public R> getPermission(@RequestBody JSONObject obj){ diff --git a/src/main/java/com/example/workflow/controller/KpiRuleController.java b/src/main/java/com/example/workflow/controller/KpiRuleController.java index 2c5bd5e..32afca0 100644 --- a/src/main/java/com/example/workflow/controller/KpiRuleController.java +++ b/src/main/java/com/example/workflow/controller/KpiRuleController.java @@ -41,9 +41,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.util.List; -/** - * kpi条目 - * **/ + @Slf4j @RestController @RequestMapping("/KpiRule") @@ -67,9 +65,6 @@ public class KpiRuleController { LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 当月kpi条目查询(提成条目设置) - * **/ @GetMapping("/page") public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); @@ -87,11 +82,9 @@ public class KpiRuleController { return R.success(pageInfo); } - /** - * kpi条目修改(提成条目设置) - * **/ + @PostMapping("/update") - private R update(@RequestBody KpiRuleForm form){ + public R update(@RequestBody KpiRuleForm form) { if(form.getName()==null) return R.error("条目名称不得为空"); else if (form.getTarget1()==null) @@ -104,6 +97,8 @@ public class KpiRuleController { KpiRule kpiRule=KpiRuleService.splitForm(form); KpiRuleMapper.updateById(kpiRule); + System.out.println(kpiRule); + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiPercent::getKpiId,kpiRule.getId()) .eq(KpiPercent::getState,1) @@ -119,24 +114,21 @@ public class KpiRuleController { return R.success(); } - /** - * kpi条目删除(提成条目设置) - * **/ @PostMapping("/delete") - private R delete(@RequestBody KpiRule one){ + public R delete(@RequestBody KpiRule one) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiPercent::getKpiId,one.getId()); KpiPercentService.remove(queryWrapper); + KpiRuleMapper.deleteById(one); + return R.success(); } - /** - * kpi条目查询(岗位绩效管理-提成考核条目) - * **/ @PostMapping("/getPositionKpi") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpiView::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -144,14 +136,13 @@ public class KpiRuleController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list=PositionKpiViewMapper.selectList(queryWrapper); + return R.success(list); } - /** - * 新增kpi条目(提成条目设置) - * **/ + @PostMapping("/add") - private R add(@RequestBody KpiRuleForm form){ + public R add(@RequestBody KpiRuleForm form) { if(form.getName()==null) return R.error("条目名称不得为空"); else if (form.getTarget1()==null) @@ -182,10 +173,12 @@ public class KpiRuleController { } /** - * 获取当条kpi的百分比分成 + * 获取当条kpi的百分比分成,用于修改(time) + * @param kpiId + * @return */ @GetMapping("/getKpiPercent") - private R> getKpiPercent(@RequestParam("kpiId") String kpiId){ + public R> getKpiPercent(@RequestParam("kpiId") String kpiId) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiPercent::getKpiId,kpiId) .orderByAsc(KpiPercent::getKpiId) @@ -203,9 +196,10 @@ public class KpiRuleController { /** * 无条件获取所有kpi项目(time) + * @return */ @PostMapping("/getRuleList") - private R> getRulelist(){ + public R> getRulelist() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(KpiRule::getState,1) @@ -219,10 +213,12 @@ public class KpiRuleController { } /** - * 添加kpi条目(岗位绩效管理-提成考核条目) + * 添加kpi项目(time) + * @param form + * @return */ @PostMapping("/addAssessor") - private R addAssessor(@RequestBody PositionKpi form){ + public R addAssessor(@RequestBody PositionKpi form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpi::getPositionId,form.getPositionId()) .eq(PositionKpi::getKpiId,form.getKpiId()) @@ -241,10 +237,12 @@ public class KpiRuleController { } /** - * 获取该岗位的kpi条目(岗位绩效管理-提成考核条目) + * 获取该岗位的kpi项目(time) + * @param obj positionId + * @return */ @PostMapping("/getPositionKpiList") - private R> getPositionKpiList(@RequestBody JSONObject obj){ + public R> getPositionKpiList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpiView::getPositionId,obj.getString("positionId")) @@ -256,12 +254,10 @@ public class KpiRuleController { return R.success(list); } - /** - * 修改该岗位的kpi条目(岗位绩效管理-提成考核条目) - */ + @PostMapping("/updateAssessor") - private R updateAssessor(@RequestBody PositionKpi form){ + public R updateAssessor(@RequestBody PositionKpi form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpi::getPositionId,form.getPositionId()) .eq(PositionKpi::getKpiId,form.getKpiId()) @@ -279,11 +275,9 @@ public class KpiRuleController { return R.success(); } - /** - * 移除该岗位的kpi条目(岗位绩效管理-提成考核条目) - */ + @PostMapping("/removeAssessor") - private R removeAssessor(@RequestBody PositionKpiView form){ + public R removeAssessor(@RequestBody PositionKpiView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpi::getPositionId,form.getPositionId()) .eq(PositionKpi::getKpiId,form.getKpiId()) @@ -295,11 +289,9 @@ public class KpiRuleController { return R.success(); } - /** - * 复制上月kpi考核条目 - */ + @PostMapping("/copy") - private R copy(){ + public R copy() { List list= KpiRuleService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) @@ -313,9 +305,7 @@ public class KpiRuleController { return R.success(); } - /** - * 历史kpi条目查询(提成条目设置) - * */ + @GetMapping("/kpiPastPage") public R kpiPastPage(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ LocalDate today = LocalDate.now(); @@ -329,9 +319,7 @@ public class KpiRuleController { return R.success(pageInfo); } - /** - * 历史kpi条目搜索(提成条目设置) - * */ + @GetMapping("/pastSearch") public R pastPage(@RequestParam("page") String page ,@RequestParam("page_size") String pageSize @@ -367,18 +355,12 @@ public class KpiRuleController { return R.success(pageInfo); } - /** - * kpi考核条目导入上传(提成条目设置) - */ @PostMapping("/upload") public R uploadExcel(MultipartFile file) throws IOException { EasyExcel.read(file.getInputStream(), KpiExcel.class, new KpiExcelReadListener()).sheet().doRead(); return R.success(); } - /** - * kpi考核条目导入上传(导入岗位-提成) - */ @PostMapping("/uploadPosition") public void uploadPositionExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), PositionKpiExcel.class, new PositionKpiExcelReadListener()).sheet().doRead(); diff --git a/src/main/java/com/example/workflow/controller/OkrRuleController.java b/src/main/java/com/example/workflow/controller/OkrRuleController.java index 87dc9a7..85aa175 100644 --- a/src/main/java/com/example/workflow/controller/OkrRuleController.java +++ b/src/main/java/com/example/workflow/controller/OkrRuleController.java @@ -76,7 +76,7 @@ public class OkrRuleController { * 当月okr项目查询(我发布的当月okr考核) */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(OkrView::getAssessorId,obj.getString("empId")) @@ -93,7 +93,7 @@ public class OkrRuleController { * 新增okr设置 */ @PostMapping("/add") - private R add(@RequestBody OkrForm form){ + public R add(@RequestBody OkrForm form) { OkrRule one=OkrRuleService.split(form); one.setCreateTime(LocalDateTime.now()); @@ -114,7 +114,7 @@ public class OkrRuleController { * 新增okr目标 */ @PostMapping("/getKey") - private R> getKeyList(@RequestBody JSONObject obj){ + public R> getKeyList(@RequestBody JSONObject obj) { List list=OkrKeyService.lambdaQuery().eq(OkrKey::getRuleId,obj.getString("ruleId")).list(); return R.success(list); @@ -123,7 +123,7 @@ public class OkrRuleController { * 修改okr项目 */ @PostMapping("/update") - private R update(@RequestBody OkrForm form){ + public R update(@RequestBody OkrForm form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(OkrKey::getRuleId,form.getId()); OkrKeyService.remove(queryWrapper); @@ -148,7 +148,7 @@ public class OkrRuleController { * 删除okr项目 */ @PostMapping("/delete") - private R delete(@RequestBody JSONObject obj){ + public R delete(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(OkrKey::getRuleId,obj.getString("id")) .apply(StringUtils.checkValNotNull(beginTime), @@ -166,7 +166,7 @@ public class OkrRuleController { * 历史okr项目查询(我发布的历史okr考核) */ @PostMapping("/pastList") - private R> pastList(@RequestBody JSONObject obj){ + public R> pastList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); @@ -183,7 +183,7 @@ public class OkrRuleController { * 获取员工okr */ @PostMapping("/getEmpPositionOkr") - private R> getEmpPositionOkr(@RequestBody JSONObject obj){ + public R> getEmpPositionOkr(@RequestBody JSONObject obj) { YearMonth lastMonth = YearMonth.now().minusMonths(1); LocalDateTime lastBeginTime = lastMonth.atDay(1).atStartOfDay(); LocalDateTime lastEndTime = lastMonth.atEndOfMonth().atTime(LocalTime.MAX); diff --git a/src/main/java/com/example/workflow/controller/PieceRuleController.java b/src/main/java/com/example/workflow/controller/PieceRuleController.java index 73785e3..69cf49b 100644 --- a/src/main/java/com/example/workflow/controller/PieceRuleController.java +++ b/src/main/java/com/example/workflow/controller/PieceRuleController.java @@ -79,7 +79,7 @@ public class PieceRuleController { * 计件条目修改(计件条目设置) * */ @PostMapping("/update") - private R update(@RequestBody PieceRule one){ + public R update(@RequestBody PieceRule one) { if(one.getName()==null) return R.error("条目名称不得为空"); else if(one.getTarget1()==null) @@ -98,7 +98,7 @@ public class PieceRuleController { * 计件条目删除(计件条目设置) * */ @PostMapping("/delete") - private R delete(@RequestBody PieceRule one){ + public R delete(@RequestBody PieceRule one) { List list=PositionPieceService.lambdaQuery() .eq(PositionPiece::getPieceId,one.getId()) .apply(StringUtils.checkValNotNull(beginTime), @@ -117,7 +117,7 @@ public class PieceRuleController { * 新增计件条目(计件条目设置) * */ @PostMapping("/add") - private R add(@RequestBody PieceRule one){ + public R add(@RequestBody PieceRule one) { if(one.getName()==null) return R.error("条目名称不得为空"); else if(one.getTarget1()==null) @@ -148,7 +148,7 @@ public class PieceRuleController { * */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPieceView::getPositionId,obj.getString("positionId")) @@ -165,7 +165,7 @@ public class PieceRuleController { * 无条件获取所有计件项目(time) * */ @PostMapping("/getRuleList") - private R> getRulelist(){ + public R> getRulelist() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PieceRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -181,7 +181,7 @@ public class PieceRuleController { * 添加计件条目(岗位绩效管理-计件考核条目) * */ @PostMapping("/addAssessor") - private R addAssessor(@RequestBody PositionPiece form){ + public R addAssessor(@RequestBody PositionPiece form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPiece::getPositionId,form.getPositionId()) .eq(PositionPiece::getPieceId,form.getPieceId()) @@ -203,7 +203,7 @@ public class PieceRuleController { * 获取该岗位的计件条目(岗位绩效管理-计件考核条目) */ @PostMapping("/getPositionPieceList") - private R> getPositionPieceList(@RequestBody JSONObject obj){ + public R> getPositionPieceList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPieceView::getPositionId,obj.getString("positionId")) @@ -220,7 +220,7 @@ public class PieceRuleController { * 修改该岗位的计件条目(岗位绩效管理-计件考核条目) */ @PostMapping("/updateAssessor") - private R updateAssessor(@RequestBody PositionPiece form){ + public R updateAssessor(@RequestBody PositionPiece form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPiece::getPositionId,form.getPositionId()) @@ -244,7 +244,7 @@ public class PieceRuleController { * 移除该岗位的计件条目(岗位绩效管理-计件考核条目) */ @PostMapping("/removeAssessor") - private R removeAssessor(@RequestBody PositionPieceView form){ + public R removeAssessor(@RequestBody PositionPieceView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPiece::getPositionId,form.getPositionId()) @@ -263,7 +263,7 @@ public class PieceRuleController { * 复制上月计件考核条目 */ @PostMapping("/copy") - private R copy(){ + public R copy() { List list= PieceRuleService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) diff --git a/src/main/java/com/example/workflow/controller/PositionAssessorController.java b/src/main/java/com/example/workflow/controller/PositionAssessorController.java index 347fae9..1ae08d9 100644 --- a/src/main/java/com/example/workflow/controller/PositionAssessorController.java +++ b/src/main/java/com/example/workflow/controller/PositionAssessorController.java @@ -51,7 +51,7 @@ public class PositionAssessorController { * 新增 */ @PostMapping("/add") - private R add(@RequestBody PositionAssessor form){ + public R add(@RequestBody PositionAssessor form) { PositionAssessorService.save(form); return R.success(); } @@ -60,7 +60,7 @@ public class PositionAssessorController { * 修改 */ @PostMapping("/update") - private R update(@RequestBody PositionAssessor form){ + public R update(@RequestBody PositionAssessor form) { PositionAssessorService.updateById(form); return R.success(); } @@ -69,7 +69,7 @@ public class PositionAssessorController { * 当月审核人员查询(审核人员和审核时限) */ @GetMapping("/page") - private R> list(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ + public R> list(@RequestParam("page") String page, @RequestParam("page_size") String pageSize) { List list1 = PositionService.lambdaQuery() @@ -100,7 +100,7 @@ public class PositionAssessorController { * 复制上月 */ @PostMapping("/copy") - private R copy(){ + public R copy() { List list=PositionAssessorViewService.lambdaQuery() .eq(PositionAssessorView::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -199,7 +199,7 @@ public class PositionAssessorController { * 通过CEO搜索审核人 */ @GetMapping("/ceo/{id}") - private R ceo(@PathVariable Integer id){ + public R ceo(@PathVariable Integer id) { ArrayList employeeVos = new ArrayList<>(); List positions = PositionService.lambdaQuery() .eq(Position::getState, 1) diff --git a/src/main/java/com/example/workflow/controller/PositionController.java b/src/main/java/com/example/workflow/controller/PositionController.java index e319499..e391bdf 100644 --- a/src/main/java/com/example/workflow/controller/PositionController.java +++ b/src/main/java/com/example/workflow/controller/PositionController.java @@ -10,7 +10,19 @@ import com.example.workflow.listener.PositionExcelReadListener; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.mapper.PositionMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.Dept; +import com.example.workflow.model.entity.EmpReward; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.OkrKey; +import com.example.workflow.model.entity.Position; +import com.example.workflow.model.entity.PositionAssessor; +import com.example.workflow.model.entity.PositionForm; +import com.example.workflow.model.entity.PositionKpi; +import com.example.workflow.model.entity.PositionPiece; +import com.example.workflow.model.entity.PositionScore; +import com.example.workflow.model.entity.PositionView; +import com.example.workflow.model.entity.ScoreAssessors; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.feedback.ErrorExcelWrite; import com.example.workflow.model.feedback.PositionError; import com.example.workflow.model.pojo.PositionExcel; @@ -47,9 +59,6 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -/** - * 岗位管理 - */ @Slf4j @RestController @RequestMapping("/Position") @@ -75,7 +84,7 @@ public class PositionController { @Autowired private TaskViewMapper TaskViewMapper; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private EmployeePositionMapper EmployeePositionMapper; @Autowired @@ -89,20 +98,17 @@ public class PositionController { LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 岗位集合 - */ + @PostMapping("/list") - private R> list(){ + public R> list() { List list= PositionMapper.selectList(null); + return R.success(list); } - /** - * 获取岗位信息 - */ + @PostMapping("/getOne") - private R getOne(@RequestBody JSONObject obj){ + public R getOne(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(Position::getId,obj.getString("positionId")); @@ -111,25 +117,16 @@ public class PositionController { return R.success(one); } - /** - * 岗位查询 - */ @GetMapping("/page") public R page(@RequestParam("page") String page, @RequestParam("page_size") String pageSize){ Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .orderByDesc(PositionView::getState) - .orderByDesc(PositionView::getPosition) - .orderByDesc(PositionView::getDeptName); + queryWrapper.orderByDesc(PositionView::getPosition) + .eq(PositionView::getState,1); PositionViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - - /** - * 岗位搜索 - */ @GetMapping("/search") public R searchPage(@RequestParam("page") String page , @RequestParam("page_size") String pageSize @@ -151,26 +148,24 @@ public class PositionController { case "考核完成": list.clear();list.add(3); break; } + + System.out.println("后auditStatus:"+auditStatus); + Page pageInfo=new Page(Long.parseLong(page),Long.parseLong(pageSize)); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper - .orderByDesc(PositionView::getState) - .orderByDesc(PositionView::getPosition) + queryWrapper.orderByDesc(PositionView::getPosition) .like(PositionView::getPosition,position) .like(PositionView::getDeptName,dept) - .in(PositionView::getAuditStatus,list); + .in(PositionView::getAuditStatus,list) + .eq(PositionView::getState,1); PositionViewService.page(pageInfo,queryWrapper); return R.success(pageInfo); } - /** - * 新增岗位 - */ - @PostMapping("/add") - private R add(@RequestBody PositionForm form){ - //判断岗位是否已经任职 + @PostMapping("/add") + public R add(@RequestBody PositionForm form) { Position check=PositionService.lambdaQuery() .eq(Position::getPosition,form.getPosition()) .eq(Position::getDeptId,form.getDeptId()) @@ -182,6 +177,7 @@ public class PositionController { Position position=PositionService.splitForm(form); PositionMapper.insert(position); + PositionAssessor positionAssessor=new PositionAssessor(); positionAssessor.setPositionId(position.getId()); PositionAssessorService.save(positionAssessor); @@ -189,11 +185,9 @@ public class PositionController { return R.success(); } - /** - * 删除岗位 - */ + @PostMapping("/deleteOne") - private R deleteOne(@RequestBody Position form){ + public R deleteOne(@RequestBody Position form) { PositionMapper.deleteById(form); LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); @@ -273,11 +267,9 @@ public class PositionController { return R.success(); } - /** - * 获取岗位内员工信息 - */ + @PostMapping("/getInf") - private R>> getInf(@RequestBody JSONObject obj){ + public R>> getInf(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(Position::getId,obj.getString("positionId")); @@ -298,11 +290,9 @@ public class PositionController { return R.success(resultMap); } - /** - * 修改岗位信息 - */ + @PostMapping("/update") - private R update(@RequestBody Position form){ + public R update(@RequestBody Position form) { if(form.getType()==2) form.setTypeName("二级CEO岗"); else if(form.getType()==3) @@ -325,11 +315,9 @@ public class PositionController { return R.success(); } - /** - * 获取员工岗位信息 - */ + @PostMapping("/getOnePosition") - private R> getOnePosition(@RequestBody JSONObject obj){ + public R> getOnePosition(@RequestBody JSONObject obj) { List employeePositions=EmployeePositionService .lambdaQuery() .eq(EmployeePosition::getEmpId,obj.getString("empId")) @@ -347,27 +335,21 @@ public class PositionController { return R.success(positionList); } - /** - * 修改岗位状态(是否启用) - */ + @PostMapping("/updateState") - private R updateState(){ + public R updateState() { List positionList=PositionService.lambdaQuery() .eq(Position::getState,1) .list(); positionList.forEach(x->{ x.setAuditStatus(Short.parseShort("0")); - EmployeePositionService.setStateToEmployeePosition(x); PositionService.updateById(x); }); return R.success(); } - /** - * 导入岗位 - */ @PostMapping("/upload") public void uploadExcel(MultipartFile file, HttpServletResponse response) throws IOException { EasyExcel.read(file.getInputStream(), PositionExcel.class, new PositionExcelReadListener()).sheet().doRead(); @@ -382,11 +364,8 @@ public class PositionController { ErrorExcelWrite.clearErrorCollection(); } - /** - * 获取岗位树 - */ @PostMapping("/getTree") - private R>>> getTree() { + public R>>> getTree() { List list=PositionService.lambdaQuery().list(); Map>> groupedByKind = list.stream() .collect(Collectors.groupingBy(Position::getKindName, @@ -396,7 +375,7 @@ public class PositionController { } @PostMapping("/getCheckTree") - private R>> getCheckTree() { + public R>> getCheckTree() { List list=DeptService.lambdaQuery().list(); List> tree=new ArrayList<>(); list.forEach(x->{ diff --git a/src/main/java/com/example/workflow/controller/PreviewController.java b/src/main/java/com/example/workflow/controller/PreviewController.java index ab32b91..48f8f64 100644 --- a/src/main/java/com/example/workflow/controller/PreviewController.java +++ b/src/main/java/com/example/workflow/controller/PreviewController.java @@ -40,7 +40,7 @@ public class PreviewController { @Autowired private PositionKpiViewMapper PositionKpiViewMapper; @Autowired - private RegionCoefficientMapper RegionCoefficientMapper; + public RegionCoefficientMapper RegionCoefficientMapper; @Autowired private CoefficientViewService CoefficientViewService; @Autowired @@ -52,7 +52,7 @@ public class PreviewController { LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()).minusMonths(1), LocalTime.MAX); @PostMapping("/getScoreRulelist") - private R> getScoreRulelist(){ + public R> getScoreRulelist() { List list=ScoreRuleService.lambdaQuery() .eq(ScoreRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -65,7 +65,7 @@ public class PreviewController { } @PostMapping("/getPositionScoreList") - private R> getPositionScoreList(){ + public R> getPositionScoreList() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getScoreState,1) @@ -79,7 +79,7 @@ public class PreviewController { } @PostMapping("/getPieceRuleList") - private R> getPieceRuleList(){ + public R> getPieceRuleList() { List list=PieceRuleService.lambdaQuery() .eq(PieceRule::getState,1) .apply(StringUtils.checkValNotNull(beginTime), @@ -92,7 +92,7 @@ public class PreviewController { } @PostMapping("/getPositionPieceList") - private R> getPositionPieceList(){ + public R> getPositionPieceList() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionPieceView::getScoreState,1) @@ -106,7 +106,7 @@ public class PreviewController { } @PostMapping("/getKpiRuleList") - private R> getKpiRuleList(){ + public R> getKpiRuleList() { List list=KpiRulePercentService.lambdaQuery() .eq(KpiRulePercent::getState,1) @@ -122,7 +122,7 @@ public class PreviewController { } @PostMapping("/getPositionKpiList") - private R> getPositionKpiList(){ + public R> getPositionKpiList() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionKpiView::getKpiState,1) @@ -136,7 +136,7 @@ public class PreviewController { } @PostMapping("/getRegionCoefficientList") - private R> getRegionCoefficientList(){ + public R> getRegionCoefficientList() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.orderByAsc(RegionCoefficient::getId) .eq(RegionCoefficient::getState,1) @@ -150,7 +150,7 @@ public class PreviewController { } @PostMapping("/getEmpCoefficientList") - private R> getEmpCoefficientList(){ + public R> getEmpCoefficientList() { List list=CoefficientViewService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), @@ -164,7 +164,7 @@ public class PreviewController { } @PostMapping("/getPositionAssessorView") - private R> getPositionAssessorView(){ + public R> getPositionAssessorView() { List list=PositionAssessorViewService.lambdaQuery() .eq(PositionAssessorView::getState,1) diff --git a/src/main/java/com/example/workflow/controller/ProgressController.java b/src/main/java/com/example/workflow/controller/ProgressController.java index c90bc71..512dd4e 100644 --- a/src/main/java/com/example/workflow/controller/ProgressController.java +++ b/src/main/java/com/example/workflow/controller/ProgressController.java @@ -1,25 +1,21 @@ package com.example.workflow.controller; -import com.alibaba.excel.EasyExcel; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.toolkit.Db; import com.example.workflow.common.R; -import com.example.workflow.model.entity.*; -import com.example.workflow.model.pojo.EmpWageExcel; -import com.example.workflow.model.pojo.ProgressExcel; -import com.example.workflow.model.pojo.Test; -import com.example.workflow.model.vo.EmployeeVo; +import com.example.workflow.model.entity.EmpPositionView; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.model.vo.HistoryTask; -import com.example.workflow.service.*; +import com.example.workflow.service.EmpPositionViewService; +import com.example.workflow.service.HistoryTaskService; +import com.example.workflow.service.TaskViewService; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.One; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -28,11 +24,7 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; -/** - * 进度条 - */ @Slf4j @RestController @RequestMapping("/Progress") @@ -43,280 +35,66 @@ public class ProgressController { private TaskViewService TaskViewService; @Autowired private HistoryTaskService HistoryTaskService; - @Autowired - private BackWaitService BackWaitService; - @Autowired - private EmployeeService EmployeeService; - @Autowired - private DeptHierarchyService DeptHierarchyService; + LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 进度条查询 - */ @PostMapping("/now") - private R>> getProgress( - @RequestBody JSONObject obj - ){ - - //根据员工所属部门查看 查看本部门和下属部门情况 - List emp = EmpPositionViewService.lambdaQuery() - .eq(EmpPositionView::getState,1) - .eq(EmpPositionView::getEmpId,obj.getString("empId")) - .orderByAsc(EmpPositionView::getType) - //正在进行的 - .list(); - - List viewList = new ArrayList<>(); - - - if (!emp.isEmpty()){ - viewList.add(emp.get(0)); - } - - for (int i = 1; i < emp.size(); i++) { - if (emp.get(i).getType()==viewList.get(i-1).getType()) - viewList.add(emp.get(i)); - else - break; - } - - List deptIds = new ArrayList<>(); - - - - for (EmpPositionView data : viewList) { - deptIds.add(data.getDeptId()); - } - - Employee employee = Db.lambdaQuery(Employee.class) - .eq( Employee::getId,obj.getString("empId")) - .one(); - - Role role = Db.lambdaQuery(Role.class) - .eq( Role::getRoleName,"绩效专员") - .eq(Role::getId,employee.getRoleId()) - .one(); - - if (deptIds.isEmpty()&&"6".equals(obj.getString("empId"))) - deptIds.add(1L); - if (role!=null){ - deptIds.clear(); - deptIds.add(1L); - } - - - - for (int i = 1; i < 10; i++) { - List list = DeptHierarchyService.lambdaQuery() - .in(!deptIds.isEmpty(),DeptHierarchy::getParentId,deptIds) - .list(); - - for (DeptHierarchy data : list) { - deptIds.add(data.getChildId()); - } - deptIds = deptIds.stream().distinct().collect(Collectors.toList()); - } - - - + public R>> getProgress() { List empPositionViewList= EmpPositionViewService.lambdaQuery() .eq(EmpPositionView::getState,1) - //正在进行的 - .in(EmpPositionView::getAuditStatus,0,1,2,3) - .in(EmpPositionView::getDeptId,deptIds) + .eq(EmpPositionView::getAuditStatus,1) .list(); List> list=new ArrayList<>(); - empPositionViewList.forEach(x->{ - //判断是否有进程(终审后状态为3,暂停状态为2,考核中状态为1) obj.getBoolean("flag") 是否查看所有员工 - if (obj.getBoolean("flag")&&(x.getProcessDefinitionId() == null || "".equals(x.getProcessDefinitionId()))) { - - }else { - - //先查看是否有驳回记录 - List backWaitList = BackWaitService.lambdaQuery() - .eq(BackWait::getPositionId,x.getPositionId()) - .eq(BackWait::getEmpId,x.getEmpId()) - .list(); - - if (backWaitList.isEmpty()){ - list.add(match(x)); - }else { - list.add(match2(x)); - } - } - + list.add(match(x)); }); return R.success(list); } - /** - * 进度条搜索 - */ @GetMapping("/search") - private R>> searchProgress( + public R>> searchProgress( @RequestParam(defaultValue = "") String empName , @RequestParam(defaultValue = "") String dept - ,@RequestParam(defaultValue = "") String position - ,@RequestParam(defaultValue = "") String empId - ,@RequestParam(defaultValue = "") Boolean flag - ,@RequestParam(defaultValue = "") String auditStatus - ){ - - - List list2 = new ArrayList<>(); -// list2.add((short) 0); - list2.add((short) 1); - list2.add((short) 2); - list2.add((short) 3); - - switch(auditStatus){ - case "未考核": list2.clear();list2.add((short) 0);break; - case "考核中": list2.clear();list2.add((short) 1);break; - case "暂停": list2.clear();list2.add((short) 2);break; - case "考核完成": list2.clear();list2.add((short) 3);break; - } - - - List emp = EmpPositionViewService.lambdaQuery() - .eq(EmpPositionView::getState,1) - .eq(EmpPositionView::getEmpId,empId) - .orderByAsc(EmpPositionView::getType) - //正在进行的 - .list(); - - List viewList = new ArrayList<>(); - - - if (!emp.isEmpty()){ - viewList.add(emp.get(0)); - } - - for (int i = 1; i < emp.size(); i++) { - if (emp.get(i).getType()==viewList.get(i-1).getType()) - viewList.add(emp.get(i)); - else - break; - } - - List deptIds = new ArrayList<>(); - - - - for (EmpPositionView data : viewList) { - deptIds.add(data.getDeptId()); - - } - - - Employee employee = Db.lambdaQuery(Employee.class) - .eq( Employee::getId,empId) - .one(); - - Role role = Db.lambdaQuery(Role.class) - .eq( Role::getRoleName,"绩效专员") - .eq(Role::getId,employee.getRoleId()) - .one(); - - if (deptIds.isEmpty()&&"6".equals(empId)) - deptIds.add(1L); - if (role!=null){ - deptIds.clear(); - deptIds.add(1L); - } - - for (int i = 1; i < 10; i++) { - List list = DeptHierarchyService.lambdaQuery() - .in(!deptIds.isEmpty(),DeptHierarchy::getParentId,deptIds) - .list(); - - for (DeptHierarchy data : list) { - deptIds.add(data.getChildId()); - } - deptIds = deptIds.stream().distinct().collect(Collectors.toList()); - } + ,@RequestParam(defaultValue = "") String position){ List empPositionViewList= EmpPositionViewService.lambdaQuery() .like(EmpPositionView::getPosition,position) .like(EmpPositionView::getEmpName,empName) .like(EmpPositionView::getDeptName,dept) - .in(EmpPositionView::getDeptId,deptIds) .eq(EmpPositionView::getState,1) -// .in(EmpPositionView::getAuditStatus,1,3) - .in(EmpPositionView::getAuditStatus,list2) + .eq(EmpPositionView::getAuditStatus,1) .list(); List> list=new ArrayList<>(); - - empPositionViewList.forEach(x->{ - //判断是否有进程(终审后状态为3,暂停状态为2,考核中状态为1) flag 是否查看所有员工 - if (flag&&(x.getProcessDefinitionId() == null || "".equals(x.getProcessDefinitionId()))) { - - }else { - //先查看是否有驳回记录 - List backWaitList = BackWaitService.lambdaQuery() - .eq(BackWait::getPositionId,x.getPositionId()) - .eq(BackWait::getEmpId,x.getEmpId()) - .list(); - - if (backWaitList.isEmpty()){ - list.add(match(x)); - }else { - list.add(match2(x)); - } - } + list.add(match(x)); }); return R.success(list); } - /** - * 正常进度条 - */ public Map match(EmpPositionView x){ Map data = new HashMap<>(); - - //查看当前进程 List taskViewList= TaskViewService.lambdaQuery() .eq(TaskView::getProcInstId,x.getProcessDefinitionId()) .eq(TaskView::getStartUserId,x.getEmpId()) .eq(TaskView::getState,"ACTIVE") .list(); - if (taskViewList.isEmpty()) { - data.put("empName",x.getEmpName()); - data.put("deptName",x.getDeptName()); - data.put("position",x.getPosition()); - - data.put("auditStatus",x.getAuditStatus()); - - - return data; - } - - //申报和计件打回 boolean allContainDeclare = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("declare")); - //评分和okr 分数重评和okr重评 boolean allContainFourthEnter = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("score")||taskView.getName().contains("okr")); - //计件审核 和 kpi提成审核 以及 计件重审 和 kpi提成重审 boolean allContainFourth = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("piece")||taskView.getName().contains("kpi")); - //复审 和 复审重审 boolean allContainThird = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("third")); - //终审 和 终审重审 boolean allContainSecond = taskViewList.stream() .allMatch(taskView -> taskView.getName().contains("second")); - boolean allContainWageEmp = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("wage_emp")); List historyTaskList= HistoryTaskService.lambdaQuery() .eq(HistoryTask::getProcInstId,x.getProcessDefinitionId()) @@ -326,7 +104,6 @@ public class ProgressController { "date_format (start_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (start_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(HistoryTask::getEmpName) .list(); String task1=""; @@ -334,47 +111,39 @@ public class ProgressController { String task3=""; String task4=""; String task5=""; - String task6=""; - for(HistoryTask y:historyTaskList){ if(y.getName().equals("declare")){ - task1=task1.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task1=task1.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } else if(y.getName().equals("score")||y.getName().equals("okr")){ - task2=task2.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task2=task2.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } else if(y.getName().equals("kpi")||y.getName().equals("piece")){ - task3=task3.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task3=task3.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } else if(y.getName().equals("third")){ - task4=task4.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task4=task4.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } else if(y.getName().equals("second")){ - task5=task5.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("wage_emp")){ - task5=task6.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); + task5=task5.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"); } } for(TaskView y:taskViewList){ if(y.getName().equals("declare")){ - task1=task1.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task1=task1.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } else if(y.getName().equals("score")||y.getName().equals("okr")){ - task2=task2.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task2=task2.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } else if(y.getName().equals("kpi")||y.getName().equals("piece")){ - task3=task3.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task3=task3.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } else if(y.getName().equals("third")){ - task4=task4.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task4=task4.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } else if(y.getName().equals("second")){ - task5=task5.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("wage_emp")){ - task6=task6.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"+"\n"); + task5=task5.concat("["+y.getAssessorName()+"-"+y.getCreateTime()+"-未完成]"); } } @@ -384,7 +153,6 @@ public class ProgressController { String finalTask3 = task3; String finalTask4 = task4; String finalTask5 = task5; - String finalTask6 = task6; List> items = Arrays.asList( new HashMap() {{ put("title", "绩效专员申报"); @@ -392,7 +160,7 @@ public class ProgressController { }}, new HashMap() {{ put("title", "评分/okr(没有则忽略)"); - put("description", finalTask2); + put("description", "\n"+finalTask2); }}, new HashMap() {{ put("title", "初审"); @@ -405,10 +173,6 @@ public class ProgressController { new HashMap() {{ put("title", "终审"); put("description", finalTask5); - }}, - new HashMap() {{ - put("title", "归档"); - put("description", finalTask6); }} ); data.put("items", items); @@ -422,16 +186,12 @@ public class ProgressController { data.put("orderStatus", 3); else if(allContainSecond) data.put("orderStatus", 4); - else if(allContainWageEmp) - data.put("orderStatus", 5); } else if(x.getType()==4){ String finalTask1 = task1; String finalTask2 = task2; String finalTask3 = task3; - String finalTask4 = task4; String finalTask5 = task5; - String finalTask6 = task6; List> items = Arrays.asList( new HashMap() {{ put("title", "绩效专员申报"); @@ -439,25 +199,16 @@ public class ProgressController { }}, new HashMap() {{ put("title", "评分/okr(没有则忽略)"); - put("description", finalTask2); + put("description", "\n"+finalTask2); }}, new HashMap() {{ put("title", "初审"); put("description", finalTask3); }}, - new HashMap() {{ - put("title", "复审"); - put("description", finalTask4); - }}, new HashMap() {{ put("title", "终审"); put("description", finalTask5); - }}, - new HashMap() {{ - put("title", "归档"); - put("description", finalTask6); }} - ); data.put("items", items); @@ -467,18 +218,13 @@ public class ProgressController { data.put("orderStatus", 1); else if(allContainFourth) data.put("orderStatus", 2); - else if(allContainThird) - data.put("orderStatus", 3); else if(allContainSecond) - data.put("orderStatus", 4); - else if(allContainWageEmp) - data.put("orderStatus", 5); + data.put("orderStatus", 3); } else if(x.getType()==3){ String finalTask1 = task1; String finalTask2 = task2; String finalTask5 = task5; - String finalTask6 = task6; List> items = Arrays.asList( new HashMap() {{ put("title", "绩效专员申报"); @@ -486,15 +232,11 @@ public class ProgressController { }}, new HashMap() {{ put("title", "评分/okr(没有则忽略)"); - put("description", finalTask2); + put("description", "\n"+finalTask2); }}, new HashMap() {{ put("title", "终审"); put("description", finalTask5); - }}, - new HashMap() {{ - put("title", "归档"); - put("description", finalTask6); }} ); data.put("items", items); @@ -505,429 +247,11 @@ public class ProgressController { data.put("orderStatus", 1); else if(allContainSecond) data.put("orderStatus", 2); - else if(allContainWageEmp) - data.put("orderStatus", 3); } data.put("empName",x.getEmpName()); data.put("deptName",x.getDeptName()); data.put("position",x.getPosition()); - data.put("auditStatus",x.getAuditStatus()); - return data; - } - - - /** - * 被驳回进度条 - */ - public Map match2(EmpPositionView x){ - Map data = new HashMap<>(); - - - //获取被驳回记录ProcessDefineId - List backWait = BackWaitService.lambdaQuery() - .eq(BackWait::getPositionId,x.getPositionId()) - .eq(BackWait::getEmpId,x.getEmpId()) - .list(); - - if (backWait.isEmpty()) { - data.put("empName",x.getEmpName()); - data.put("deptName",x.getDeptName()); - data.put("position",x.getPosition()); - data.put("auditStatus",x.getAuditStatus()); - return data; - } - - -// 遍历backwait进程 - List list = new ArrayList<>(); - for (BackWait wait : backWait) { - list.add(wait.getProcessDefineId()); - } - - - //获取驳回详细记录 - List taskViewList= TaskViewService.lambdaQuery() - .in(TaskView::getProcInstId,list) - .eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getState,"ACTIVE") - .list(); - - - //获取驳回记录进度 - - //申报和计件打回 - boolean allContainDeclare = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_wageEmp_piece")||taskView.getName().contains("back_wageEmp_kpi")); - //评分和okr 分数重评和okr重评 - boolean allContainFourthEnter = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_score")||taskView.getName().contains("back_okr")); - //计件审核 和 kpi提成审核 以及 计件重审 和 kpi提成重审 - boolean allContainFourth = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_fourth_piece")||taskView.getName().contains("back_fourth_kpi")); - //复审 和 复审重审 - boolean allContainThird = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_third_score")||taskView.getName().contains("back_third_okr")|| - taskView.getName().contains("back_third_kpi")||taskView.getName().contains("back_third_piece")); - //终审 和 终审重审 - boolean allContainSecond = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("back_second_score")||taskView.getName().contains("back_second_okr")|| - taskView.getName().contains("back_second_kpi")||taskView.getName().contains("back_second_piece")); - boolean allContainWageEmp = taskViewList.stream() - .allMatch(taskView -> taskView.getName().contains("wage_emp")); - - //获取未被完成的驳回记录 - List historyTaskList1= HistoryTaskService.lambdaQuery() - .in(HistoryTask::getProcInstId,list) - .isNull(HistoryTask::getDeleteReason) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - - - //获取被完成的驳回记录 - List historyTaskList2= HistoryTaskService.lambdaQuery() - .eq(HistoryTask::getDeleteReason,"completed") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .in(HistoryTask::getProcInstId,list) - .list(); - - - String task1=""; - String task2=""; - String task3=""; - String task4=""; - String task5=""; - - //建立节点 - - for(HistoryTask y:historyTaskList2){ - if(y.getName().equals("back_wageEmp_piece")||y.getName().equals("back_wageEmp_kpi")){ - task1=task1.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("back_score")||y.getName().equals("back_okr")){ - task2=task2.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("back_fourth_kpi")||y.getName().equals("back_fourth_piece")){ - task3=task3.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("back_third_score")||y.getName().equals("back_third_kpi")|| - y.getName().equals("back_third_okr")||y.getName().equals("back_third_piece")){ - task4=task4.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - else if(y.getName().equals("back_second_score")||y.getName().equals("back_second_kpi")|| - y.getName().equals("back_second_okr")||y.getName().equals("back_second_piece")){ - task5=task5.concat("["+y.getAssessorName()+"-"+y.getEndTime()+"-完成任务]"+"\n"); - } - } - - for(HistoryTask y:historyTaskList1){ - if(y.getName().equals("back_wageEmp_piece")||y.getName().equals("back_wageEmp_kpi")){ - task1=task1.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("back_score")||y.getName().equals("back_okr")){ - task2=task2.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("back_fourth_kpi")||y.getName().equals("back_fourth_piece")){ - task3=task3.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("back_third_score")||y.getName().equals("back_third_kpi")|| - y.getName().equals("back_third_okr")||y.getName().equals("back_third_piece")){ - task4=task4.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - else if(y.getName().equals("back_second_score")||y.getName().equals("back_second_kpi")|| - y.getName().equals("back_second_okr")||y.getName().equals("back_second_piece")){ - task5=task5.concat("["+y.getAssessorName()+"-"+y.getStartTime()+"-未完成]"+"\n"); - } - } - - - - - if(x.getType()==5){ - String finalTask1 = task1; - String finalTask2 = task2; - String finalTask3 = task3; - String finalTask4 = task4; - String finalTask5 = task5; - List> items = Arrays.asList( - new HashMap() {{ - put("title", "绩效专员重新导入数据"); - put("description", finalTask1); - }}, - new HashMap() {{ - put("title", "重评评分/重评okr(没有则忽略)"); - put("description", finalTask2); - }}, - new HashMap() {{ - put("title", "初审重审"); - put("description", finalTask3); - }}, - new HashMap() {{ - put("title", "复审重审"); - put("description", finalTask4); - }}, - new HashMap() {{ - put("title", "终审重审"); - put("description", finalTask5); - }} - ); - data.put("items", items); - if(allContainDeclare) - data.put("orderStatus", 0); - else if(allContainFourthEnter) - data.put("orderStatus", 1); - else if(allContainFourth) - data.put("orderStatus", 2); - else if(allContainThird) - data.put("orderStatus", 3); - else if(allContainSecond) - data.put("orderStatus", 4); - else if(allContainWageEmp) - data.put("orderStatus", 5); - } - else if(x.getType()==4){ - String finalTask1 = task1; - String finalTask2 = task2; - String finalTask3 = task3; - String finalTask4 = task4; - String finalTask5 = task5; - List> items = Arrays.asList( - new HashMap() {{ - put("title", "绩效专员重新导入数据"); - put("description", finalTask1); - }}, - new HashMap() {{ - put("title", "重评评分/重评okr(没有则忽略)"); - put("description", finalTask2); - }}, - new HashMap() {{ - put("title", "初审重审"); - put("description", finalTask3); - }}, - new HashMap() {{ - put("title", "复审重审"); - put("description", finalTask4); - }}, - new HashMap() {{ - put("title", "终审重审"); - put("description", finalTask5); - }} - - ); - data.put("items", items); - - if(allContainDeclare) - data.put("orderStatus", 0); - else if(allContainFourthEnter) - data.put("orderStatus", 1); - else if(allContainFourth) - data.put("orderStatus", 2); - else if(allContainThird) - data.put("orderStatus", 3); - else if(allContainSecond) - data.put("orderStatus", 4); - else if(allContainWageEmp) - data.put("orderStatus", 5); - } - else if(x.getType()==3){ - String finalTask1 = task1; - String finalTask2 = task2; - String finalTask5 = task5; - List> items = Arrays.asList( - new HashMap() {{ - put("title", "绩效专员重新导入数据"); - put("description", finalTask1); - }}, - new HashMap() {{ - put("title", "重评评分/重评okr(没有则忽略)"); - put("description", finalTask2); - }}, - new HashMap() {{ - put("title", "终审重审"); - put("description", finalTask5); - }} - ); - data.put("items", items); - if(allContainDeclare) - data.put("orderStatus", 0); - else if(allContainFourthEnter) - data.put("orderStatus", 1); - else if(allContainSecond) - data.put("orderStatus", 2); - else if(allContainWageEmp) - data.put("orderStatus", 3); - } - data.put("empName",x.getEmpName()); - data.put("deptName",x.getDeptName()); - data.put("position",x.getPosition()); - data.put("auditStatus",x.getAuditStatus()); return data; } - - - /** - * 导出未完成人员 - */ - @PostMapping("/downLoad") - private void downLoad(HttpServletResponse response) throws IOException { - - - //搜索正在执行任务 - List list = TaskViewService.lambdaQuery() - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .eq(TaskView::getState,"ACTIVE") - .orderByAsc(TaskView::getEmpName) - .orderByDesc(TaskView::getProcInstId) - .list(); - - - List result=new ArrayList<>(); - - - - list.forEach(x->{ - - - ProgressExcel one= new ProgressExcel(); - one.setEmpName(x.getEmpName()); - switch (x.getName()){ - case "declare": one.setName("申报");break; - case "score" : one.setName("评分");break; - case "okr": one.setName("评分");break; - case "kpi": one.setName("初审");break; - case "piece": one.setName("初审");break; - case "third": one.setName("复审");break; - case "second": one.setName("终审");break; - case "wage_emp": one.setName("归档");break; - case "back_wageEmp_piece": one.setName("绩效专员重新导入数据");break; - case "back_wageEmp_kpi": one.setName("绩效专员重新导入数据");break; - case "back_score": one.setName("重评");break; - case "back_okr": one.setName("重评");break; - case "back_fourth_kpi": one.setName("初审重审");break; - case "back_fourth_piece": one.setName("初审重审");break; - case "back_third_score": one.setName("复审重审");break; - case "back_second_score": one.setName("终审重审");break; - } - - EmpPositionView position = EmpPositionViewService.lambdaQuery() - .eq(EmpPositionView::getProcessDefinitionId,x.getProcInstId()) - .one(); - - if (position == null){ - - List backWait = BackWaitService.lambdaQuery() - .eq(BackWait::getProcessDefineId,x.getProcInstId()).list(); - - - List position1 = EmpPositionViewService.lambdaQuery() - .eq(EmpPositionView::getPositionId,backWait.get(0).getPositionId()) - .list(); - - one.setPosition(position1.get(0).getPosition()); - one.setDepName(position1.get(0).getDeptName()); - - }else{ - one.setPosition(position.getPosition()); - one.setDepName(position.getDeptName()); - } - - one.setAssessors(x.getAssessorName()); - result.add(one); - }); - - - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - - EasyExcel.write(response.getOutputStream(), ProgressExcel.class) - .sheet("员工考核进度") - .doWrite(result); - } - - /** - * 获取超时未审核人员名单 - * */ - @PostMapping("/test") - private void getPerson(HttpServletResponse response){ - - //获取人员名单 - List list = EmployeeService.list(); - - - List testList = new ArrayList<>(); - //按人查看未评分次数 - for (Employee employee : list) { - - - List list1 = HistoryTaskService.lambdaQuery() - .eq(HistoryTask::getAssessorId,employee.getId()) - .eq(HistoryTask::getDeleteReason,"deleted") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (start_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(HistoryTask::getAssessorId) - .list(); - - - if (list1.isEmpty()) - continue; - - - //次数统计 - int score = 0; - int okr = 0; - int piece = 0; - int kpi = 0; - int third = 0; - - for (HistoryTask data : list1) { - switch(data.getName()){ - case "score":score++;break; - case "okr":okr++;break; - case "piece":piece++;break; - case "kpi":kpi++;break; - case "third":third++;break; - } - } - - - com.example.workflow.model.pojo.Test test = new com.example.workflow.model.pojo.Test(); - test.setName(employee.getName()); - test.setScore(score); - test.setOkr(okr); - test.setKpi(kpi); - test.setPiece(piece); - test.setThird(third); - - testList.add(test); - - } - - try{ - response.setContentType("application/vnd.ms-excel;charset=utf-8"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-Disposition", "attachment;filename=import.xlsx"); - - EasyExcel.write(response.getOutputStream(), Test.class) - .sheet("员工考核进度") - .doWrite(testList); - }catch (Exception e){ - - } - - - } - - } diff --git a/src/main/java/com/example/workflow/controller/RegionCoefficientController.java b/src/main/java/com/example/workflow/controller/RegionCoefficientController.java index 7d3c277..1fba71f 100644 --- a/src/main/java/com/example/workflow/controller/RegionCoefficientController.java +++ b/src/main/java/com/example/workflow/controller/RegionCoefficientController.java @@ -43,9 +43,9 @@ import java.util.List; @RequestMapping("/RegionCoefficient") public class RegionCoefficientController { @Autowired - private RegionCoefficientMapper RegionCoefficientMapper; + public RegionCoefficientMapper RegionCoefficientMapper; @Autowired - private RegionCoefficientService RegionCoefficientService; + public RegionCoefficientService RegionCoefficientService; @Autowired private EmployeeCoefficientService EmployeeCoefficientService; @Autowired @@ -59,7 +59,7 @@ public class RegionCoefficientController { * */ @PostMapping("/list") - private R> list(){ + public R> list() { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.orderByAsc(RegionCoefficient::getId) .eq(RegionCoefficient::getState,1) @@ -92,7 +92,7 @@ public class RegionCoefficientController { * 员工绩效系数新增 */ @PostMapping("/add") - private R add(@RequestBody RegionCoefficient form){ + public R add(@RequestBody RegionCoefficient form) { if(form.getRegion()==null) return R.error("地区不得为空"); if(form.getCoefficient()==null) @@ -106,7 +106,7 @@ public class RegionCoefficientController { * */ @PostMapping("/match") - private R matchCoefficient(){ + public R matchCoefficient() { List list=RegionCoefficientMapper.selectList(null); String rules=RegionCoefficientService.defineRule(list); @@ -126,7 +126,7 @@ public class RegionCoefficientController { * 员工绩效系数删除 */ @PostMapping("/delete") - private R delete(@RequestBody RegionCoefficient one){ + public R delete(@RequestBody RegionCoefficient one) { RegionCoefficientMapper.deleteById(one); return R.success(); } @@ -134,7 +134,7 @@ public class RegionCoefficientController { * 员工绩效系数修改 */ @PostMapping("/update") - private R update(@RequestBody RegionCoefficient form){ + public R update(@RequestBody RegionCoefficient form) { if(form.getRegion()==null) return R.error("地区不得为空"); if(form.getCoefficient()==null) @@ -148,7 +148,7 @@ public class RegionCoefficientController { * 员工绩效系数复制上月 */ @PostMapping("/copy") - private R copy(){ + public R copy() { List list=RegionCoefficientService.lambdaQuery() .eq(RegionCoefficient::getState,1) .apply(StringUtils.checkValNotNull(beginTime), diff --git a/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java b/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java index 414cc83..3c98ab0 100644 --- a/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultFourthExamineController.java @@ -15,7 +15,13 @@ import com.example.workflow.model.entity.ResultFourthExamine; import com.example.workflow.model.entity.Role; import com.example.workflow.model.entity.TaskState; import com.example.workflow.model.entity.TaskView; -import com.example.workflow.service.*; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmpPositionViewService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.EmployeeService; +import com.example.workflow.service.PositionAssessorService; +import com.example.workflow.service.ResultFourthExamineService; +import com.example.workflow.service.RoleService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.IdentityService; import org.camunda.bpm.engine.RuntimeService; @@ -34,15 +40,13 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * 四级CEO - */ + @Slf4j @RestController @RequestMapping("/ResultFourthExamine") public class ResultFourthExamineController { @Autowired - private ResultFourthExamineService ResultFourthExamineService; + public ResultFourthExamineService ResultFourthExamineService; @Autowired private PositionAssessorService PositionAssessorService; @Autowired @@ -54,27 +58,22 @@ public class ResultFourthExamineController { @Autowired private IdentityService identityService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired - private RoleService RoleService; + public RoleService RoleService; @Autowired private EmployeeService EmployeeService; @Autowired private BackWaitService BackWaitService; @Autowired private EmpPositionViewService EmpPositionViewService; - @Autowired - private com.example.workflow.service.TaskViewService TaskViewService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 完成审批列表 - */ @PostMapping("/completeList") - private R> completeList(@RequestBody JSONObject obj){ + public R> completeList(@RequestBody JSONObject obj) { List resultFourthExamineList=ResultFourthExamineService.lambdaQuery() .eq(ResultFourthExamine::getAssessorId, obj.getString("assessorId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -97,7 +96,7 @@ public class ResultFourthExamineController { } @PostMapping("/getFinishState") - private R getFinishState(@RequestBody JSONObject obj){ + public R getFinishState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -122,41 +121,9 @@ public class ResultFourthExamineController { return R.success(state); } - /** - * 计件初审通过 - */ - @PostMapping("/addPiece") - private R add(@RequestBody JSONObject form) { - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"piece") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已初审,请勿重复初审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已初审,请勿重复初审"); - } + @PostMapping("/addPiece") + public R add(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -190,43 +157,10 @@ public class ResultFourthExamineController { return R.success(); } - /** - * kpi初审通过 - */ - - @PostMapping("/addKpi") - private R addKpi(@RequestBody JSONObject form) { - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"kpi") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已初审,请勿重复初审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已初审,请勿重复初审"); - } + @PostMapping("/addKpi") + public R addKpi(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -262,42 +196,9 @@ public class ResultFourthExamineController { return R.success(); } - /** - * 计件初审驳回 - */ - @PostMapping("/rejectPiece") - private R rejectPiece(@RequestBody JSONObject form){ - -//可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"piece") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已初审,请勿重复初审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已初审,请勿重复初审"); - } - + @PostMapping("/rejectPiece") + public R rejectPiece(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -337,7 +238,7 @@ public class ResultFourthExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_fourth_piece"); + backWait.setType("fourth_piece_back"); backWait.setEmpId(Long.valueOf(form.getString("empId"))); backWait.setPositionId(Long.valueOf(form.getString("positionId"))); backWait.setProcessKey("Process_049b9ah"); @@ -365,42 +266,9 @@ public class ResultFourthExamineController { return R.success(); } - /** - * kpi初审驳回 - */ - @PostMapping("/rejectKpi") - private R rejectKpi(@RequestBody JSONObject form){ - -//可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getString("empId")) - .eq(EmployeePosition::getPositionId,form.getString("positionId")); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"kpi") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已初审,请勿重复初审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已初审,请勿重复初审"); - } - + @PostMapping("/rejectKpi") + public R rejectKpi(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -440,7 +308,7 @@ public class ResultFourthExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_fourth_kpi"); + backWait.setType("fourth_kpi_back"); backWait.setEmpId(Long.valueOf(form.getString("empId"))); backWait.setPositionId(Long.valueOf(form.getString("positionId"))); backWait.setProcessKey("Process_1fqcjpm"); @@ -468,35 +336,9 @@ public class ResultFourthExamineController { return R.success(); } - /** - * 计件初审重审 - */ - @PostMapping("/reAddPiece") - private R reAddPiece(@RequestBody JSONObject form) { - - //可修改form.getString("empId") - //在back_wait获取员工所在岗位打回进程 - LambdaQueryWrapper wrapper11 =new LambdaQueryWrapper<>(); - wrapper11.eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_fourth_piece") - .or().eq(BackWait::getType,"back_third_piece") - .or().eq(BackWait::getType,"back_second_piece")); - - BackWait backWait1 = BackWaitService.getOne(wrapper11); - - TaskView taskView=TaskViewService.lambdaQuery() - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getName,"back_fourth_piece") - .eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .one(); - - if (taskView == null){ - return R.error("已初审复审,请勿重复初审复审"); - } - + @PostMapping("/reAddPiece") + public R reAddPiece(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -511,7 +353,7 @@ public class ResultFourthExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getPositionId,form.getString("positionId")) .eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getType,"back_fourth_piece"); + .eq(BackWait::getType,"fourth_piece_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null){ @@ -536,7 +378,7 @@ public class ResultFourthExamineController { LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); queryWrapper2.eq(BackWait::getPositionId,form.getString("positionId")) .eq(BackWait::getEmpId,form.getString("empId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_piece") + .and(qw -> qw.eq(BackWait::getType,"third_piece_back") .or().eq(BackWait::getType,"back_second_piece")); BackWait backThirdWait=BackWaitService.getOne(queryWrapper2); @@ -568,34 +410,10 @@ public class ResultFourthExamineController { return R.success(); } - /** - * kpi初审重审 - */ - @PostMapping("/reAddKpi") - private R reAddKpi(@RequestBody JSONObject form) { - //可修改form.getString("empId") - //在back_wait获取员工所在岗位打回进程 - LambdaQueryWrapper wrapper11 =new LambdaQueryWrapper<>(); - wrapper11.eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getPositionId,form.getString("positionId")) - .and(qw -> qw.eq(BackWait::getType,"back_fourth_kpi") - .or().eq(BackWait::getType,"back_third_kpi") - .or().eq(BackWait::getType,"back_second_kpi")); - - BackWait backWait1 = BackWaitService.getOne(wrapper11); - - TaskView taskView=TaskViewService.lambdaQuery() - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getName,"back_fourth_kpi") - .eq(TaskView::getStartUserId,form.getString("empId")) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .one(); - - if (taskView == null){ - return R.error("已初审复审,请勿重复初审复审"); - } + @PostMapping("/reAddKpi") + public R reAddKpi(@RequestBody JSONObject form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ResultFourthExamine::getPositionId, form.getString("positionId")) .eq(ResultFourthExamine::getEmpId, form.getString("empId")) @@ -610,7 +428,7 @@ public class ResultFourthExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getPositionId,form.getString("positionId")) .eq(BackWait::getEmpId,form.getString("empId")) - .eq(BackWait::getType,"back_fourth_kpi"); + .eq(BackWait::getType,"fourth_kpi_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null){ @@ -635,7 +453,7 @@ public class ResultFourthExamineController { LambdaQueryWrapper queryWrapper2=new LambdaQueryWrapper<>(); queryWrapper2.eq(BackWait::getPositionId,form.getString("positionId")) .eq(BackWait::getEmpId,form.getString("empId")) - .and(qw -> qw.eq(BackWait::getType,"back_third_kpi") + .and(qw -> qw.eq(BackWait::getType,"third_kpi_back") .or().eq(BackWait::getType,"back_second_kpi")); BackWait backThirdWait=BackWaitService.getOne(queryWrapper2); diff --git a/src/main/java/com/example/workflow/controller/ResultKpiController.java b/src/main/java/com/example/workflow/controller/ResultKpiController.java index 48dbd31..7a0eb41 100644 --- a/src/main/java/com/example/workflow/controller/ResultKpiController.java +++ b/src/main/java/com/example/workflow/controller/ResultKpiController.java @@ -45,23 +45,23 @@ public class ResultKpiController { @Autowired private EmpKpiViewMapper EmpKpiViewMapper; @Autowired - private ResultKpiService ResultKpiService; + public ResultKpiService ResultKpiService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired private TaskService taskService; @Autowired - private ResultKpiEmpViewMapper ResultKpiEmpViewMapper; + public ResultKpiEmpViewMapper ResultKpiEmpViewMapper; @Autowired private PositionAssessorService PositionAssessorService; @Autowired private com.example.workflow.service.EmployeePositionService EmployeePositionService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private IdentityService identityService; @Autowired - private RoleMapper RoleMapper; + public RoleMapper RoleMapper; @Autowired private BackWaitService BackWaitService; @Autowired @@ -73,7 +73,7 @@ public class ResultKpiController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpKpiView::getEmpId,obj.getString("empId")) @@ -90,7 +90,7 @@ public class ResultKpiController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -147,7 +147,7 @@ public class ResultKpiController { } @PostMapping("/BackKpiList") - private R> BackList(@RequestBody JSONObject obj){ + public R> BackList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); @@ -168,7 +168,7 @@ public class ResultKpiController { } @PostMapping("/BackAdd") - private R BackAdd(@RequestBody JSONObject form){ + public R BackAdd(@RequestBody JSONObject form) { /*JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -230,7 +230,7 @@ public class ResultKpiController { } @PostMapping("/updateBackAdd") - private R updateBackAdd(@RequestBody JSONObject form){ + public R updateBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultOkrController.java b/src/main/java/com/example/workflow/controller/ResultOkrController.java index 0eb34df..744778b 100644 --- a/src/main/java/com/example/workflow/controller/ResultOkrController.java +++ b/src/main/java/com/example/workflow/controller/ResultOkrController.java @@ -29,10 +29,10 @@ public class ResultOkrController { @Autowired private EmpOkrViewMapper EmpOkrViewMapper; @Autowired - private ResultOkrService ResultOkrService; + public ResultOkrService ResultOkrService; @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @@ -54,7 +54,7 @@ public class ResultOkrController { } @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultPieceController.java b/src/main/java/com/example/workflow/controller/ResultPieceController.java index 5397af8..a5c8258 100644 --- a/src/main/java/com/example/workflow/controller/ResultPieceController.java +++ b/src/main/java/com/example/workflow/controller/ResultPieceController.java @@ -46,23 +46,23 @@ public class ResultPieceController { @Autowired private EmpPieceViewMapper EmpPieceViewMapper; @Autowired - private ResultPieceService ResultPieceService; + public ResultPieceService ResultPieceService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired private TaskService taskService; @Autowired - private ResultPieceEmpViewMapper ResultPieceEmpViewMapper; + public ResultPieceEmpViewMapper ResultPieceEmpViewMapper; @Autowired private PositionAssessorService PositionAssessorService; @Autowired private EmployeePositionService EmployeePositionService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private IdentityService identityService; @Autowired - private RoleMapper RoleMapper; + public RoleMapper RoleMapper; @Autowired private BackWaitService BackWaitService; @Autowired @@ -74,7 +74,7 @@ public class ResultPieceController { @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPieceView::getEmpId,obj.getString("empId")) @@ -92,7 +92,7 @@ public class ResultPieceController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -149,7 +149,7 @@ public class ResultPieceController { } @PostMapping("/BackPieceList") - private R> BackList(@RequestBody JSONObject obj){ + public R> BackList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @@ -170,7 +170,7 @@ public class ResultPieceController { } @PostMapping("/BackAdd") - private R BackAdd(@RequestBody JSONObject form){ + public R BackAdd(@RequestBody JSONObject form) { /*JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -232,7 +232,7 @@ public class ResultPieceController { } @PostMapping("/updateBackAdd") - private R updateBackAdd(@RequestBody JSONObject form){ + public R updateBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultScoreController.java b/src/main/java/com/example/workflow/controller/ResultScoreController.java index d2e4e05..5b966e6 100644 --- a/src/main/java/com/example/workflow/controller/ResultScoreController.java +++ b/src/main/java/com/example/workflow/controller/ResultScoreController.java @@ -15,7 +15,12 @@ import com.example.workflow.model.entity.PositionAssessor; import com.example.workflow.model.entity.ResultScore; import com.example.workflow.model.entity.ResultScoreEmpView; import com.example.workflow.model.entity.TaskView; -import com.example.workflow.service.*; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.PositionAssessorService; +import com.example.workflow.service.PositionScoreService; +import com.example.workflow.service.ResultScoreService; +import com.example.workflow.service.ScoreAssessorsService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.IdentityService; import org.camunda.bpm.engine.RuntimeService; @@ -37,17 +42,17 @@ import java.util.Map; @Slf4j @RestController @RequestMapping("/ResultScore") -public class ResultScoreController { +public class ResultScoreController { @Autowired private EmpScoreContentViewMapper EmpScoreContentViewMapper; @Autowired - private ResultScoreService ResultScoreService; + public ResultScoreService ResultScoreService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired - private ResultScoreEmpViewMapper ResultScoreEmpViewMapper; + public ResultScoreEmpViewMapper ResultScoreEmpViewMapper; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private IdentityService identityService; @Autowired @@ -62,18 +67,14 @@ public class ResultScoreController { private TaskService taskService; @Autowired private PositionAssessorService PositionAssessorService; - @Autowired - private com.example.workflow.service.TaskViewService TaskViewService; + @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { + LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpScoreView::getEmpId,obj.getString("empId")) - .eq(EmpScoreView::getPositionId,obj.get("positionId")) - .orderByDesc(EmpScoreView::getPosition) - .orderByDesc(EmpScoreView::getEmpName) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getTarget); + .eq(EmpScoreView::getPositionId,obj.get("positionId")); List list=EmpScoreContentViewMapper.selectList(queryWrapper); return R.success(list); @@ -81,7 +82,7 @@ public class ResultScoreController { @PostMapping("/add") - private R add(@RequestBody JSONObject form){ + public R add(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -101,7 +102,7 @@ public class ResultScoreController { } @PostMapping("/BackScoreList") - private R> BackList(@RequestBody JSONObject obj){ + public R> BackList(@RequestBody JSONObject obj) { LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); @@ -112,19 +113,14 @@ public class ResultScoreController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(ResultScoreEmpView::getPositionId) - .orderByDesc(ResultScoreEmpView::getEmpId) - .orderByDesc(ResultScoreEmpView::getScorePercent) - .orderByDesc(ResultScoreEmpView::getTarget); - + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list=ResultScoreEmpViewMapper.selectList(queryWrapper); return R.success(list); } @PostMapping("/BackAdd") - private R BackAdd(@RequestBody JSONObject form){ + public R BackAdd(@RequestBody JSONObject form) { /*JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); @@ -182,7 +178,7 @@ public class ResultScoreController { } @PostMapping("/updateBackAdd") - private R updateBackAdd(@RequestBody JSONObject form){ + public R updateBackAdd(@RequestBody JSONObject form) { JSONArray formArray = form.getJSONArray("Form"); List list = new ArrayList<>(); diff --git a/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java b/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java index 967f368..b2f9f59 100644 --- a/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java @@ -1,6 +1,5 @@ package com.example.workflow.controller; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -15,8 +14,39 @@ import com.example.workflow.mapper.ResultPieceEmpViewMapper; import com.example.workflow.mapper.ResultScoreEmpViewMapper; import com.example.workflow.mapper.RoleMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; -import com.example.workflow.service.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpKpiView; +import com.example.workflow.model.entity.EmpOkr; +import com.example.workflow.model.entity.EmpOkrView; +import com.example.workflow.model.entity.EmpPieceView; +import com.example.workflow.model.entity.EmpScore; +import com.example.workflow.model.entity.EmpScoreView; +import com.example.workflow.model.entity.Employee; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.OkrKey; +import com.example.workflow.model.entity.OkrRule; +import com.example.workflow.model.entity.Position; +import com.example.workflow.model.entity.PositionScore; +import com.example.workflow.model.entity.PositionView; +import com.example.workflow.model.entity.ResultSecondExamine; +import com.example.workflow.model.entity.Role; +import com.example.workflow.model.entity.ScoreAssessors; +import com.example.workflow.model.entity.TaskState; +import com.example.workflow.model.entity.TaskView; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.EmpOkrService; +import com.example.workflow.service.EmpScoreService; +import com.example.workflow.service.EmployeePositionService; +import com.example.workflow.service.EmployeeService; +import com.example.workflow.service.OkrKeyService; +import com.example.workflow.service.OkrRuleService; +import com.example.workflow.service.PositionScoreService; +import com.example.workflow.service.PositionService; +import com.example.workflow.service.PositionViewService; +import com.example.workflow.service.ResultSecondExamineService; +import com.example.workflow.service.RoleService; +import com.example.workflow.service.ScoreAssessorsService; +import com.example.workflow.service.TaskViewService; import com.fasterxml.jackson.core.JsonProcessingException; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.RuntimeService; @@ -30,10 +60,11 @@ import org.springframework.web.bind.annotation.RestController; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.*; -/** - * 二级CEO - */ +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @Slf4j @RestController @RequestMapping("/ResultSecondExamine") @@ -45,19 +76,19 @@ public class ResultSecondExamineController { @Autowired private TaskService taskService; @Autowired - private ResultScoreEmpViewMapper ResultScoreEmpViewMapper; + public ResultScoreEmpViewMapper ResultScoreEmpViewMapper; @Autowired - private ResultPieceEmpViewMapper ResultPieceEmpViewMapper; + public ResultPieceEmpViewMapper ResultPieceEmpViewMapper; @Autowired - private ResultKpiEmpViewMapper ResultKpiEmpViewMapper; + public ResultKpiEmpViewMapper ResultKpiEmpViewMapper; @Autowired - private RoleMapper RoleMapper; + public RoleMapper RoleMapper; @Autowired - private ResultSecondExamineService ResultSecondExamineService; + public ResultSecondExamineService ResultSecondExamineService; @Autowired private EmployeeMapper EmployeeMapper; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private EmpScoreViewMapper EmpScoreViewMapper; @Autowired @@ -69,7 +100,7 @@ public class ResultSecondExamineController { @Autowired private PositionViewService PositionViewService; @Autowired - private RoleService RoleService; + public RoleService RoleService; @Autowired private EmployeeService EmployeeService; @Autowired @@ -90,20 +121,13 @@ public class ResultSecondExamineController { private OkrRuleService OkrRuleService; @Autowired private EmpOkrService EmpOkrService; - @Autowired - private ResultThirdExamineService ResultThirdExamineService; - @Autowired - private PositionAssessorService PositionAssessorService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 完成列表 - */ @PostMapping("/completeList") - private R> completeList(@RequestBody JSONObject obj){ + public R> completeList(@RequestBody JSONObject obj) { List resultThirdExamineList=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getAssessorId, obj.getString("assessorId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -125,7 +149,7 @@ public class ResultSecondExamineController { } @PostMapping("/getFinishState") - private R>> getFinishState(@RequestBody JSONObject obj){ + public R>> getFinishState(@RequestBody JSONObject obj) { Map> resultMap = new HashMap<>(); TaskState state=new TaskState(); state.setKpiState(0); @@ -204,11 +228,8 @@ public class ResultSecondExamineController { return R.success(); } - /** - * 终审列表 - */ @PostMapping("/list") - private R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { + public R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -221,12 +242,7 @@ public class ResultSecondExamineController { .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByAsc(EmpScoreView::getEmpId) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent); + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);; List list1= EmpScoreViewMapper.selectList(queryWrapper1); if(!list1.isEmpty()) state.setScoreState(1); @@ -290,55 +306,11 @@ public class ResultSecondExamineController { return R.success(resultMap); } - /** - * 终审 - */ - @PostMapping("/add") - private R add(@RequestBody JSONObject form){ - - - //驳回名单 - - //score - List empList11 = (List) form.get("empList11"); - //piece - List empList22 = (List) form.get("empList22"); - //kpi - List empList33 = (List) form.get("empList33"); - //okr - List empList44 = (List) form.get("empList44"); - - //可修改 - //获取岗位所有员工信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getPositionId,form.getString("positionId")); - List employeePosition1 = EmployeePositionService.list(wrapper1); - - //遍历,获取每个员工进程 - for (int i = 0; i < employeePosition1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,employeePosition1.get(i).getProcessDefinitionId()) - .eq(TaskView::getName,"second") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .eq(TaskView::getState,"ACTIVE") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } + //===================================================================== + //终审需查看 + @PostMapping("/add") + public R add(@RequestBody JSONObject form) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(EmployeePosition::getPositionId,form.getString("positionId")); @@ -346,7 +318,6 @@ public class ResultSecondExamineController { JSONObject formArray = form.getJSONObject("form"); - //二级添加 ResultSecondExamine result=new ResultSecondExamine(); result.setAssessorId(Long.valueOf(form.getString("assessorId"))); result.setPositionId(Long.valueOf(form.getString("positionId"))); @@ -357,68 +328,6 @@ public class ResultSecondExamineController { ResultSecondExamineService.save(result); - //三级添加 - //当二级驳回时,三级并没有加上评分重评标识符,导致三级复审重审出现问题 - if (form.getString("positionType").equals("5")||form.getString("positionType").equals("4")){ - employeePosition1.forEach(x->{ - //先判断是否被驳回 - short score = 1; - short piece = 1; - short kpi = 1; - short okr = 1; - - if (empList11.contains(x.getEmpId().toString())) - score = 2; - if (empList22.contains(x.getEmpId().toString())) - piece = 2; - if (empList33.contains(x.getEmpId().toString())) - kpi = 2; - if (empList44.contains(x.getEmpId().toString())) - okr = 2; - - - //获取三级ceo id - PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() - .eq(PositionAssessor::getPositionId,form.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - - ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() - .eq(ResultThirdExamine::getEmpId,x.getEmpId()) - .eq(ResultThirdExamine::getPositionId,x.getPositionId()) - .eq(ResultThirdExamine::getAssessorId,nextAssessor.getThirdAssessorId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); - - if (examine != null){ - examine.setScoreExamine(score); - examine.setPieceExamine(piece); - examine.setKpiExamine(kpi); - examine.setOkrExamine(okr); - ResultThirdExamineService.updateById(examine); - }else { - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(x.getEmpId()); - examine1.setAssessorId(nextAssessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(form.getString("positionId"))); - examine1.setScoreExamine(score); - examine1.setPieceExamine(piece); - examine1.setKpiExamine(kpi); - examine1.setOkrExamine(okr); - ResultThirdExamineService.save(examine1); - } - - }); - } - - Long roleId= RoleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) @@ -467,52 +376,44 @@ public class ResultSecondExamineController { Integer positionType=Integer.valueOf(form.getString("positionType")); - //okr驳回 - if(result.getOkrExamine().equals(Short.parseShort("2"))&& empList44.contains(x.getEmpId().toString())){ + if(result.getOkrExamine().equals(Short.parseShort("2"))){ removeOkr(form,x); - if(positionType.equals(5)||positionType.equals(4)){ + if(positionType.equals(5)){ ResultSecondExamineService.reOkrSecondFifth(form,x); } - else if(positionType.equals(3)){ + else if(positionType.equals(4)||positionType.equals(3)){ ResultSecondExamineService.reOkrSecondFourth(form,x); } } - //kpi驳回 - if(result.getKpiExamine().equals(Short.parseShort("2"))&& empList33.contains(x.getEmpId().toString())){ + if(result.getKpiExamine().equals(Short.parseShort("2"))){ if(positionType.equals(5)){ - - ResultSecondExamineService.reKpiSecondFifth(form,x.getEmpId()); + ResultSecondExamineService.reKpiSecondFifth(form); } else if(positionType.equals(4)){ - - ResultSecondExamineService.reKpiSecondFourth(form,x.getEmpId()); + ResultSecondExamineService.reKpiSecondFourth(form); } else if(positionType.equals(3)){ - - ResultSecondExamineService.reKpiSecondThird(form,x.getEmpId()); + ResultSecondExamineService.reKpiSecondThird(form); } } - //计件驳回 - if(result.getPieceExamine().equals(Short.parseShort("2"))&& empList22.contains(x.getEmpId().toString())){ + if(result.getPieceExamine().equals(Short.parseShort("2"))){ if(positionType.equals(5)){ - ResultSecondExamineService.rePieceSecondFifth(form,x.getEmpId()); + ResultSecondExamineService.rePieceSecondFifth(form); } else if(positionType.equals(4)){ - ResultSecondExamineService.rePieceSecondFourth(form,x.getEmpId()); + ResultSecondExamineService.rePieceSecondFourth(form); } else if(positionType.equals(3)){ - ResultSecondExamineService.rePieceSecondThird(form,x.getEmpId()); + ResultSecondExamineService.rePieceSecondThird(form); } } - //评分驳回 - if(result.getScoreExamine().equals(Short.parseShort("2"))&& empList11.contains(x.getEmpId().toString())){ - + if(result.getScoreExamine().equals(Short.parseShort("2"))){ removeScore(form,x); - if(positionType.equals(5)||positionType.equals(4)){ - ResultSecondExamineService.reScoreSecondFifth(form,x.getEmpId()); + if(positionType.equals(5)){ + ResultSecondExamineService.reScoreSecondFifth(form); } - else if(positionType.equals(3)){ - ResultSecondExamineService.reScoreSecondFourth(form,x.getEmpId()); + else if(positionType.equals(4)||positionType.equals(3)){ + ResultSecondExamineService.reScoreSecondFourth(form); } } }); @@ -520,11 +421,8 @@ public class ResultSecondExamineController { return R.success(); } - /** - * 获取okr终审重审列表 - */ @PostMapping("/getSecondBackOkrTask") - private R> getSecondBackOkrTask(@RequestBody JSONObject obj){ + public R> getSecondBackOkrTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_okr") @@ -575,11 +473,8 @@ public class ResultSecondExamineController { return R.success(positionViewList); } - /** - * 获取计件终审重审列表 - */ @PostMapping("/getSecondBackPieceTask") - private R> getSecondBackPieceTask(@RequestBody JSONObject obj){ + public R> getSecondBackPieceTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_piece") @@ -630,11 +525,8 @@ public class ResultSecondExamineController { return R.success(positionViewList); } - /** - * 获取评分终审重审列表 - */ @PostMapping("/getSecondBackScoreTask") - private R> getSecondBackScoreTask(@RequestBody JSONObject obj){ + public R> getSecondBackScoreTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_score") @@ -685,11 +577,8 @@ public class ResultSecondExamineController { return R.success(positionViewList); } - /** - * 获取kpi终审重审列表 - */ @PostMapping("/getSecondBackKpiTask") - private R> getSecondBackKpiTask(@RequestBody JSONObject obj){ + public R> getSecondBackKpiTask(@RequestBody JSONObject obj) { List task= TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_second_kpi") @@ -741,57 +630,8 @@ public class ResultSecondExamineController { } - /** - * 评分终审重审 - */ @PostMapping("/backAddScore") - private R backAddScore(@RequestBody JSONObject form){ - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getPositionId,form.getString("positionId")) - .eq(BackWait::getType,"back_second_score"); - - List backWait1 = BackWaitService.list(wrapper1); - - try{ - if (backWait1.get(0) != null){ - - }else { - return R.error("已终审重审,请勿重复终审复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审重审,请勿重复终审重审"); - } - - - //遍历,获取每个员工进程 - for (int i = 0; i < backWait1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,backWait1.get(i).getProcessDefineId()) - .eq(TaskView::getName,"back_second_score") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } - - + public R backAddScore(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -809,7 +649,6 @@ public class ResultSecondExamineController { .list(); List taskViews=new ArrayList<>(); - backWaitList.forEach(x->{ taskViews.add(TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,form.getString("assessorId")) @@ -834,58 +673,8 @@ public class ResultSecondExamineController { return R.success(); } - /** - * 计件终审重审 - */ @PostMapping("/backAddPiece") - private R backAddPiece(@RequestBody JSONObject form){ - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getPositionId,form.getString("positionId")) - .eq(BackWait::getType,"back_second_piece"); - - List backWait1 = BackWaitService.list(wrapper1); - - try{ - if (backWait1.get(0) != null){ - - }else { - return R.error("已终审重审,请勿重复终审复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审重审,请勿重复终审重审"); - } - - - //遍历,获取每个员工进程 - for (int i = 0; i < backWait1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,backWait1.get(i).getProcessDefineId()) - .eq(TaskView::getName,"back_second_piece") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } - - - + public R backAddPiece(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -927,56 +716,8 @@ public class ResultSecondExamineController { return R.success(); } - /** - * kpi终审重审 - */ @PostMapping("/backAddKpi") - private R backAddKpi(@RequestBody JSONObject form){ - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getPositionId,form.getString("positionId")) - .eq(BackWait::getType,"back_second_kpi"); - - List backWait1 = BackWaitService.list(wrapper1); - - try{ - if (backWait1.get(0) != null){ - - }else { - return R.error("已终审重审,请勿重复终审复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审重审,请勿重复终审重审"); - } - - //遍历,获取每个员工进程 - for (int i = 0; i < backWait1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,backWait1.get(i).getProcessDefineId()) - .eq(TaskView::getName,"back_second_kpi") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } - - + public R backAddKpi(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -1019,55 +760,8 @@ public class ResultSecondExamineController { return R.success(); } - /** - * okr终审重审 - */ @PostMapping("/backAddOkr") - private R backAddOkr(@RequestBody JSONObject form){ - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getPositionId,form.getString("positionId")) - .eq(BackWait::getType,"back_second_okr"); - - List backWait1 = BackWaitService.list(wrapper1); - - try{ - if (backWait1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复终审复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复终审重审"); - } - - - //遍历,获取每个员工进程 - for (int i = 0; i < backWait1.size(); i++) { - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getProcInstId,backWait1.get(i).getProcessDefineId()) - .eq(TaskView::getName,"back_second_okr") - .eq(TaskView::getAssignee,form.getString("assessorId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已终审,请勿重复终审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已终审,请勿重复终审"); - } - } - + public R backAddOkr(@RequestBody JSONObject form) { ResultSecondExamine examine=ResultSecondExamineService.lambdaQuery() .eq(ResultSecondExamine::getPositionId,form.getString("positionId")) .eq(ResultSecondExamine::getAssessorId,form.getString("assessorId")) @@ -1111,7 +805,7 @@ public class ResultSecondExamineController { } - private void updateFlow(JSONObject form){ + public void updateFlow(JSONObject form) { Long roleId= RoleService.lambdaQuery() .eq(Role::getRoleName,"绩效专员") .eq(Role::getState,1) @@ -1148,7 +842,7 @@ public class ResultSecondExamineController { PositionService.updateById(position); } - private void removeScore(JSONObject form,EmployeePosition one){ + public void removeScore(JSONObject form, EmployeePosition one) { List assessorList1 = new ArrayList<>(); List scoreList=PositionScoreService.lambdaQuery() .eq(PositionScore::getPositionId,form.getString("positionId")) @@ -1180,26 +874,23 @@ public class ResultSecondExamineController { }); } - private void removeOkr(JSONObject form,EmployeePosition one){ - - - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); - - + public void removeOkr(JSONObject form, EmployeePosition one) { List okrList=OkrKeyService.lambdaQuery() .eq(OkrKey::getPositionId,form.getString("positionId")) .eq(OkrKey::getLiaEmpId,one.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - okrList.forEach(x->{ List assessor= OkrRuleService.lambdaQuery() - .eq(OkrRule::getId,x.getRuleId()) + .eq(OkrRule::getAssessorId,x.getId()) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); assessor.forEach(y->{ LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); @@ -1212,8 +903,6 @@ public class ResultSecondExamineController { EmpOkrService.remove(queryWrapper); }); }); - - } /*@PostMapping("/page") diff --git a/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java b/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java index 8dd6ac4..5358418 100644 --- a/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultThirdExamineController.java @@ -77,27 +77,25 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -/** - * 三级CEO - */ + @Slf4j @RestController @RequestMapping("/ResultThirdExamine") public class ResultThirdExamineController { @Autowired - private ResultScoreEmpViewMapper ResultScoreEmpViewMapper; + public ResultScoreEmpViewMapper ResultScoreEmpViewMapper; @Autowired - private ResultPieceEmpViewMapper ResultPieceEmpViewMapper; + public ResultPieceEmpViewMapper ResultPieceEmpViewMapper; @Autowired - private ResultKpiEmpViewMapper ResultKpiEmpViewMapper; + public ResultKpiEmpViewMapper ResultKpiEmpViewMapper; @Autowired - private ResultThirdExamineService ResultThirdExamineService; + public ResultThirdExamineService ResultThirdExamineService; @Autowired private TaskViewMapper TaskViewMapper; @Autowired private TaskService taskService; @Autowired - private ResultThirdExamineMapper ResultThirdExamineMapper; + public ResultThirdExamineMapper ResultThirdExamineMapper; @Autowired private PositionAssessorService PositionAssessorService; @Autowired @@ -113,11 +111,11 @@ public class ResultThirdExamineController { @Autowired private IdentityService identityService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private PositionPieceService PositionPieceService; @Autowired - private RoleService RoleService; + public RoleService RoleService; @Autowired private EmployeeService EmployeeService; @Autowired @@ -157,11 +155,8 @@ public class ResultThirdExamineController { LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * 复审完成列表 - */ @PostMapping("/completeList") - private R> completeList(@RequestBody JSONObject obj){ + public R> completeList(@RequestBody JSONObject obj) { List resultThirdExamineList=ResultThirdExamineService.lambdaQuery() .eq(ResultThirdExamine::getAssessorId, obj.getString("assessorId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -182,11 +177,9 @@ public class ResultThirdExamineController { return R.success(list); } - /** - * - */ + @PostMapping("/getFinishState") - private R>> getFinishState(@RequestBody JSONObject obj){ + public R>> getFinishState(@RequestBody JSONObject obj) { Map> resultMap = new HashMap<>(); TaskState state=new TaskState(); state.setKpiState(0); @@ -270,31 +263,26 @@ public class ResultThirdExamineController { return R.success(); } - /** - * 复审列表 - */ + @PostMapping("/list") - private R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { + public R>> list(@RequestBody JSONObject obj) throws JsonProcessingException { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); state.setOkrState(0); state.setScoreState(0); + System.out.println(1); LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(EmpScoreView::getEmpId,obj.getString("empId")) .eq(EmpScoreView::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .orderByDesc(EmpScoreView::getType) - .orderByDesc(EmpScoreView::getTarget) - .orderByDesc(EmpScoreView::getScorePercent) - .orderByDesc(EmpScoreView::getAssessorPercent); - + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);; List list1= EmpScoreViewMapper.selectList(queryWrapper1); + System.out.println(2); if(!list1.isEmpty()) state.setScoreState(1); @@ -307,7 +295,7 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);; List list2= EmpPieceViewMapper.selectList(queryWrapper2); - + System.out.println(3); if(!list2.isEmpty()) state.setPieceState(1); @@ -319,6 +307,7 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime);; List list3= EmpKpiViewMapper.selectList(queryWrapper3); + System.out.println(4); if(!list3.isEmpty()) state.setKpiState(1); @@ -330,6 +319,7 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); List list4= EmpOkrViewMapper.selectList(queryWrapper4); + System.out.println(5); if(!list4.isEmpty()) state.setOkrState(1); @@ -357,62 +347,24 @@ public class ResultThirdExamineController { resultMap.put("okr",okr); resultMap.put("state", taskState); + System.out.println("======================"); + System.out.println(resultMap); + System.out.println("======================"); return R.success(resultMap); } - /** - * 复审 - */ - @PostMapping("/add") - private R add(@RequestBody ResultThirdExamineForm form){ - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(EmployeePosition::getEmpId,form.getEmpId()) - .eq(EmployeePosition::getPositionId,form.getPositionId()); - EmployeePosition employeePosition1 = EmployeePositionService.getOne(wrapper1); - //获取员工进程 - LambdaQueryWrapper queryWrapper1 =new LambdaQueryWrapper<>(); - queryWrapper1.eq(TaskView::getStartUserId,form.getEmpId()) - .eq(TaskView::getProcInstId,employeePosition1.getProcessDefinitionId()) - .eq(TaskView::getName,"third") - .eq(TaskView::getState,"ACTIVE") - .eq(TaskView::getAssignee,form.getAssessorId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper1); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审,请勿重复复审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审,请勿重复复审"); - } + @PostMapping("/add") + public R add(@RequestBody ResultThirdExamineForm form) { - ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() - .eq(ResultThirdExamine::getEmpId,form.getEmpId()) - .eq(ResultThirdExamine::getPositionId,form.getPositionId()) - .eq(ResultThirdExamine::getAssessorId,form.getAssessorId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .one(); + System.out.println(form); - examine.setScoreExamine(form.getScoreExamine()); - examine.setPieceExamine(form.getPieceExamine()); - examine.setOkrExamine(form.getOkrExamine()); - examine.setKpiExamine(form.getKpiExamine()); - ResultThirdExamineService.updateById(examine); + ResultThirdExamine examin= new ResultThirdExamine(); + BeanUtil.copyProperties(form, examin); + ResultThirdExamineService.save(examin); if(form.getScoreExamine()!=2&&form.getPieceExamine()!=2&&form.getKpiExamine()!=2&&form.getOkrExamine()!=2){ - continueFlow(examine); + continueFlow(examin); } else{ suspendFlow(form); @@ -421,48 +373,15 @@ public class ResultThirdExamineController { } - /** - * 评分复审重审 - */ + @PostMapping("/addBackScore") - private R addBack(@RequestBody JSONObject obj){ + public R addBack(@RequestBody JSONObject obj) { Long assessorId = Long.valueOf(obj.getString("assessorId")); Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); - /*****/ - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,empId) - .eq(BackWait::getPositionId,positionId) - .and(qw -> qw.eq(BackWait::getType,"back_third_score") - .or().eq(BackWait::getType,"back_second_score")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_third_score") - .eq(TaskView::getAssignee,assessorId) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复复审重审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复复审重审"); - } - + System.out.println("===============1============================="); ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() @@ -475,15 +394,20 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .one(); + System.out.println("===================111========================="); examine.setScoreExamine(new Short("1")); + System.out.println("==================222=========================="); ResultThirdExamineService.updateById(examine); + System.out.println("=================2==========================="); + LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getEmpId,empId) .eq(BackWait::getPositionId,positionId) - .eq(BackWait::getType,"back_third_score"); + .eq(BackWait::getType,"third_score_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); + System.out.println("===================3========================="); if(backWait!=null) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -509,6 +433,7 @@ public class ResultThirdExamineController { } } + System.out.println("===================4========================="); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(BackWait::getEmpId,empId) @@ -517,6 +442,8 @@ public class ResultThirdExamineController { BackWait backWaitSecond=BackWaitService.getOne(queryWrapper); + System.out.println("======================5======================"); + if(backWaitSecond!=null){ PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId, obj.getString("positionId")) @@ -540,54 +467,16 @@ public class ResultThirdExamineController { taskService.complete(task.getId(),map); } + System.out.println("====================6========================"); return R.success(); } - /** - * 计件复审重审 - */ - @PostMapping("/addBackPiece") - private R addBackPiece(@RequestBody JSONObject obj){ - + @PostMapping("/addBackPiece") + public R addBackPiece(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); - Long assessorId = Long.valueOf(obj.getString("assessorId")); - - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,empId) - .eq(BackWait::getPositionId,positionId) - .and(qw -> qw.eq(BackWait::getType,"back_third_piece") - .or().eq(BackWait::getType,"back_second_piece")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_third_piece") - .eq(TaskView::getAssignee,assessorId) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复复审重审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复复审重审"); - } - - ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() .eq(ResultThirdExamine::getEmpId,empId) @@ -603,7 +492,7 @@ public class ResultThirdExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getEmpId,empId) .eq(BackWait::getPositionId,positionId) - .eq(BackWait::getType,"back_third_piece"); + .eq(BackWait::getType,"third_piece_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null) { @@ -660,47 +549,11 @@ public class ResultThirdExamineController { return R.success(); } - /** - * kpi复审重审 - */ - @PostMapping("/addBackKpi") - private R addBackKpi(@RequestBody JSONObject obj){ + @PostMapping("/addBackKpi") + public R addBackKpi(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); - Long assessorId = Long.valueOf(obj.getString("assessorId")); - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,empId) - .eq(BackWait::getPositionId,positionId) - .and(qw -> qw.eq(BackWait::getType,"back_third_kpi") - .or().eq(BackWait::getType,"back_second_kpi")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,empId) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_third_kpi") - .eq(TaskView::getAssignee,assessorId) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复复审重审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复复审重审"); - } - ResultThirdExamine examine= ResultThirdExamineService.lambdaQuery() .eq(ResultThirdExamine::getEmpId,empId) @@ -716,7 +569,7 @@ public class ResultThirdExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getEmpId,empId) .eq(BackWait::getPositionId,positionId) - .eq(BackWait::getType,"back_third_kpi"); + .eq(BackWait::getType,"third_kpi_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null) { @@ -775,48 +628,9 @@ public class ResultThirdExamineController { return R.success(); } - /** - * okr复审重审 - */ - @PostMapping("/addBackOkr") - private R addBackOkr(@RequestBody JSONObject obj){ - Long assessorId1 = Long.valueOf(obj.getString("assessorId")); - Long empId1=Long.valueOf(obj.getString("empId")); - Long positionId1=Long.valueOf(obj.getString("positionId")); - - //可修改 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper1 =new LambdaQueryWrapper<>(); - wrapper1.eq(BackWait::getEmpId,empId1) - .eq(BackWait::getPositionId,positionId1) - .and(qw -> qw.eq(BackWait::getType,"back_third_okr") - .or().eq(BackWait::getType,"back_second_okr")); - BackWait backWait1 = BackWaitService.getOne(wrapper1); - - //获取员工进程 - LambdaQueryWrapper queryWrapper11 =new LambdaQueryWrapper<>(); - queryWrapper11.eq(TaskView::getStartUserId,empId1) - .eq(TaskView::getProcInstId,backWait1.getProcessDefineId()) - .eq(TaskView::getName,"back_third_okr") - .eq(TaskView::getAssignee,assessorId1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - List task1 = TaskViewMapper.selectList(queryWrapper11); - try{ - if (task1.get(0) != null){ - - }else { - return R.error("已复审重审,请勿重复复审重审"); - } - }catch (IndexOutOfBoundsException indexOutOfBoundsException){ - - return R.error("已复审重审,请勿重复复审重审"); - } - - + @PostMapping("/addBackOkr") + public R addBackOkr(@RequestBody JSONObject obj) { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); @@ -834,7 +648,7 @@ public class ResultThirdExamineController { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(BackWait::getEmpId,empId) .eq(BackWait::getPositionId,positionId) - .eq(BackWait::getType,"back_third_okr"); + .eq(BackWait::getType,"third_okr_back"); BackWait backWait=BackWaitService.getOne(queryWrapper1); if(backWait!=null) { @@ -893,11 +707,9 @@ public class ResultThirdExamineController { return R.success(); } - /** - * 驳回列表 - */ + @PostMapping("/backList") - private R>> backList(@RequestBody JSONObject obj) throws JsonProcessingException { + public R>> backList(@RequestBody JSONObject obj) throws JsonProcessingException { Long empId=Long.valueOf(obj.getString("empId")); Long positionId=Long.valueOf(obj.getString("positionId")); @@ -969,17 +781,6 @@ public class ResultThirdExamineController { .one().getId(); if(form.getScoreExamine()==2){ - - List empScoreList = form.getEmpScoreList(); - - List assessorList11 = new ArrayList<>(); - List empScoreList11 = new ArrayList<>(); - - for (EmpScoreView empScoreView : empScoreList) { - assessorList11.add(String.valueOf(empScoreView.getAssessorId())); - empScoreList11.add(String.valueOf(empScoreView.getEmpScoreId())); - } - List assessorList1 = new ArrayList<>(); List scoreList=PositionScoreService.lambdaQuery() .eq(PositionScore::getPositionId,form.getPositionId()) @@ -988,7 +789,6 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - scoreList.forEach(x->{ List assessor= ScoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,x.getId()) @@ -997,26 +797,19 @@ public class ResultThirdExamineController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); - assessor.forEach(y->{ - - if (assessorList11.contains(String.valueOf(y.getAssessorId()))){ - assessorList1.add(String.valueOf(y.getAssessorId())); - } + assessorList1.add(String.valueOf(y.getAssessorId())); LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpScore::getEmpId,form.getEmpId()) .eq(EmpScore::getScoreAssessorsId,y.getId()) - .in(EmpScore::getId,empScoreList11) .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime); - EmpScoreService.remove(queryWrapper); }); }); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); Map map = new HashMap<>(); map.put("ASList", assessors1); @@ -1027,13 +820,12 @@ public class ResultThirdExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_third_score"); + backWait.setType("third_score_back"); backWait.setEmpId(form.getEmpId()); backWait.setPositionId(form.getPositionId()); backWait.setProcessKey("Process_12mkpug"); backWait.setOpinion(form.getOpinion1()); BackWaitService.save(backWait); - } if(form.getPieceExamine()==2){ @@ -1046,7 +838,7 @@ public class ResultThirdExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_third_piece"); + backWait.setType("third_piece_back"); backWait.setEmpId(form.getEmpId()); backWait.setPositionId(form.getPositionId()); backWait.setProcessKey("Process_0qrsna2"); @@ -1083,7 +875,7 @@ public class ResultThirdExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_third_kpi"); + backWait.setType("third_kpi_back"); backWait.setEmpId(form.getEmpId()); backWait.setPositionId(form.getPositionId()); backWait.setProcessKey("Process_07oa6pv"); @@ -1111,26 +903,23 @@ public class ResultThirdExamineController { } if(form.getOkrExamine()==2){ - - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); - LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); List assessorList2 = new ArrayList<>(); List okrList=OkrKeyService.lambdaQuery() .eq(OkrKey::getPositionId,form.getPositionId()) .eq(OkrKey::getLiaEmpId,form.getEmpId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); okrList.forEach(x->{ List assessor= OkrRuleService.lambdaQuery() - .eq(OkrRule::getId,x.getRuleId()) - .apply(StringUtils.checkValNotNull(lastBeginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", lastBeginTime) - .apply(StringUtils.checkValNotNull(latsEndTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) + .eq(OkrRule::getAssessorId,x.getId()) + .apply(StringUtils.checkValNotNull(beginTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) + .apply(StringUtils.checkValNotNull(endTime), + "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .list(); assessor.forEach(y->{ assessorList2.add(String.valueOf(y.getAssessorId())); @@ -1155,7 +944,7 @@ public class ResultThirdExamineController { BackWait backWait=new BackWait(); backWait.setProcessDefineId(processInstance.getId()); - backWait.setType("back_third_okr"); + backWait.setType("third_okr_back"); backWait.setEmpId(form.getEmpId()); backWait.setPositionId(form.getPositionId()); backWait.setProcessKey("Process_0quk6t8"); diff --git a/src/main/java/com/example/workflow/controller/ScoreRuleController.java b/src/main/java/com/example/workflow/controller/ScoreRuleController.java index 23f75a0..8fc6499 100644 --- a/src/main/java/com/example/workflow/controller/ScoreRuleController.java +++ b/src/main/java/com/example/workflow/controller/ScoreRuleController.java @@ -86,7 +86,7 @@ public class ScoreRuleController { * 评分修改 */ @PostMapping("/update") - private R update(@RequestBody ScoreRule one){ + public R update(@RequestBody ScoreRule one) { if(one.getTarget()==null) R.error("条目名称不得为空"); @@ -99,7 +99,7 @@ public class ScoreRuleController { * 评分删除 */ @PostMapping("/delete") - private R delete(@RequestBody ScoreRule one){ + public R delete(@RequestBody ScoreRule one) { List list=PositionScoreService.lambdaQuery() .eq(PositionScore::getScoreId,one.getId()) .apply(StringUtils.checkValNotNull(beginTime), @@ -129,7 +129,7 @@ public class ScoreRuleController { * 新增评分条目 */ @PostMapping("/add") - private R add(@RequestBody ScoreRule one){ + public R add(@RequestBody ScoreRule one) { if(one.getTarget()==null) R.error("条目名称不得为空"); @@ -154,7 +154,7 @@ public class ScoreRuleController { * 评分条目评分人 */ @PostMapping("/list") - private R> list(@RequestBody JSONObject obj){ + public R> list(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ScoreContactAssessors::getPositionId,obj.getString("id")) @@ -174,7 +174,7 @@ public class ScoreRuleController { * 获取评分条目 */ @PostMapping("/getRulelist") - private R> getRulelist(){ + public R> getRulelist() { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ScoreRule::getState,1) @@ -191,7 +191,7 @@ public class ScoreRuleController { * 新增部门评分条目 */ @PostMapping("/addAssessor") - private R addAssessor(@RequestBody ScoreRuleForm form){ + public R addAssessor(@RequestBody ScoreRuleForm form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScore::getPositionId,form.getPositionId()) .eq(PositionScore::getScoreId,form.getScoreId()) @@ -236,7 +236,7 @@ public class ScoreRuleController { * 获取部门评分条目 */ @PostMapping("/getPositionScoreList") - private R> getPositionScoreList(@RequestBody JSONObject obj){ + public R> getPositionScoreList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getPositionId,obj.getString("positionId")) @@ -258,7 +258,7 @@ public class ScoreRuleController { * 获取评分人列表 */ @PostMapping("/getPositionScoreAssessorList") - private R> getPositionScoreAssessorList(@RequestBody JSONObject obj){ + public R> getPositionScoreAssessorList(@RequestBody JSONObject obj) { System.out.println(obj); @@ -309,7 +309,7 @@ public class ScoreRuleController { * 获取部门评分评分人列表 */ @PostMapping("/getOneScoreAssessorList") - private R> getOneScoreAssessorList(@RequestBody JSONObject obj){ + public R> getOneScoreAssessorList(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScoreView::getPositionId,obj.getString("positionId")) @@ -327,7 +327,7 @@ public class ScoreRuleController { * 修改部门评分评分人列表 */ @PostMapping("/updateAssessor") - private R updateAssessor(@RequestBody ScoreRuleForm form){ + public R updateAssessor(@RequestBody ScoreRuleForm form) { LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper<>(); queryWrapper1.eq(PositionScore::getPositionId,form.getPositionId()) .eq(PositionScore::getScoreId,form.getScoreId()) @@ -382,7 +382,7 @@ public class ScoreRuleController { * 删除部门评分评分人列表 */ @PostMapping("/removeAssessor") - private R removeAssessor(@RequestBody PositionScoreView form){ + public R removeAssessor(@RequestBody PositionScoreView form) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(PositionScore::getPositionId,form.getPositionId()) .eq(PositionScore::getScoreId,form.getScoreId()) @@ -412,7 +412,7 @@ public class ScoreRuleController { * 复制上月 */ @PostMapping("/copy") - private R copy(){ + public R copy() { List list= ScoreRuleService.lambdaQuery() .apply(StringUtils.checkValNotNull(beginTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) diff --git a/src/main/java/com/example/workflow/controller/TaskViewController.java b/src/main/java/com/example/workflow/controller/TaskViewController.java index 71e4ae8..1605735 100644 --- a/src/main/java/com/example/workflow/controller/TaskViewController.java +++ b/src/main/java/com/example/workflow/controller/TaskViewController.java @@ -2,33 +2,37 @@ package com.example.workflow.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.workflow.common.R; import com.example.workflow.mapper.BackWaitMapper; import com.example.workflow.mapper.EmpPositionViewMapper; import com.example.workflow.mapper.EmployeePositionMapper; import com.example.workflow.mapper.PositionViewMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpPositionView; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.PositionView; +import com.example.workflow.model.entity.TaskState; +import com.example.workflow.model.entity.TaskView; import com.example.workflow.service.BackWaitService; -import com.example.workflow.service.EmpPartTimeRewardViewService; import com.example.workflow.service.EmployeePositionService; import com.example.workflow.service.TaskViewService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.util.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.function.Function; import java.util.stream.Collectors; -/** - * 获取任务进程 - */ @Slf4j @RestController @RequestMapping("/TaskView") @@ -49,16 +53,9 @@ public class TaskViewController { private BackWaitService BackWaitService; @Autowired private EmployeePositionService EmployeePositionService; - @Autowired - private com.example.workflow.service.EmpPartTimeRewardViewService EmpPartTimeRewardViewService; - - LocalDate today = LocalDate.now(); - LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); - LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - @PostMapping("/getWageTask") - private R> getWageTask(@RequestBody JSONObject obj){ + public R> getWageTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getName,"declare") .eq(TaskView::getAssignee,obj.getString("empId")); @@ -77,23 +74,17 @@ public class TaskViewController { empList.add(EmpPositionViewMapper.selectOne(query)); } }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getFourthTask") - private R> getView(@RequestBody JSONObject obj){ + public R> getView(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getState,"ACTIVE") .and(qw -> qw.eq(TaskView::getName, "piece") .or().eq(TaskView::getName, "kpi")); - List task=TaskViewMapper.selectList(Wrapper); List taskList = task.stream() @@ -111,17 +102,12 @@ public class TaskViewController { .eq(EmpPositionView::getEmpId,x.getStartUserId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper2)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getFourthTaskState") - private R getFourthTaskState(@RequestBody JSONObject obj){ + public R getFourthTaskState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -146,7 +132,7 @@ public class TaskViewController { } @PostMapping("/getFourthEnterTask") - private R> getFourthEnterTask(@RequestBody JSONObject obj){ + public R> getFourthEnterTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) @@ -171,16 +157,12 @@ public class TaskViewController { empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - return R.success(empList); } @PostMapping("/getFourthTaskEnterState") - private R getFourthTaskEnterState(@RequestBody JSONObject obj){ + public R getFourthTaskEnterState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); state.setPieceState(0); @@ -200,13 +182,12 @@ public class TaskViewController { state.setOkrState(1); } }); - return R.success(state); } @PostMapping("/getThirdTask") - private R> getThirdTask(@RequestBody JSONObject obj){ + public R> getThirdTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) @@ -221,17 +202,12 @@ public class TaskViewController { .eq(EmpPositionView::getProcessDefinitionId,x.getProcInstId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getSecondTask") - private R> getSecondTask(@RequestBody JSONObject obj){ + public R> getSecondTask(@RequestBody JSONObject obj) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"second") @@ -275,16 +251,11 @@ public class TaskViewController { positionViewList.add(PositionViewMapper.selectOne(queryWrapper3)); }); - //new - positionViewList.sort(Comparator.comparing(PositionView::getType).thenComparing(PositionView::getDeptName) - .thenComparing(PositionView::getPosition)); - - return R.success(positionViewList); } @PostMapping("/getBackWagePiece") - private R> getBackWagePiece(@RequestBody JSONObject obj){ + public R> getBackWagePiece(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_wageEmp_piece") @@ -306,16 +277,11 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackWageKpi") - private R> getBackWageKpi(@RequestBody JSONObject obj){ + public R> getBackWageKpi(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_wageEmp_kpi") @@ -338,17 +304,11 @@ public class TaskViewController { .eq(EmpPositionView::getState,1); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackFourthScore") - private R> getBackFourthScore(@RequestBody JSONObject obj){ - + public R> getBackFourthScore(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_score") @@ -363,29 +323,18 @@ public class TaskViewController { backWaitList.add(BackWaitMapper.selectOne(queryWrapper)); }); - List empList=new ArrayList<>(); - backWaitList.forEach(x->{ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPositionView::getEmpId,x.getEmpId()) .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - - - return R.success(empList); } @PostMapping("/getBackFourthOkr") - private R> getBackFourthOkr(@RequestBody JSONObject obj){ + public R> getBackFourthOkr(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_okr") @@ -407,16 +356,11 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackFourthPiece") - private R> getBackFourthPiece(@RequestBody JSONObject obj){ + public R> getBackFourthPiece(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_fourth_piece") @@ -439,16 +383,11 @@ public class TaskViewController { .eq(EmpPositionView::getState,1); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackFourthKpi") - private R> getBackFourthKpi(@RequestBody JSONObject obj){ + public R> getBackFourthKpi(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_fourth_kpi") @@ -471,17 +410,11 @@ public class TaskViewController { .eq(EmpPositionView::getState,1); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackThirdPiece") - private R> getBackThirdPiece(@RequestBody JSONObject obj){ + public R> getBackThirdPiece(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_piece") @@ -503,17 +436,11 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackThirdKpi") - private R> getBackThirdKpi(@RequestBody JSONObject obj){ + public R> getBackThirdKpi(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_kpi") @@ -535,17 +462,11 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getBackThirdScore") - private R> getBackThirdScore(@RequestBody JSONObject obj){ + public R> getBackThirdScore(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_score") @@ -561,24 +482,17 @@ public class TaskViewController { }); List empList=new ArrayList<>(); - backWaitList.forEach(x->{ LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(EmpPositionView::getEmpId,x.getEmpId()) .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - - return R.success(empList); } @PostMapping("/getBackThirdOkr") - private R> getBackThirdOkr(@RequestBody JSONObject obj){ + public R> getBackThirdOkr(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("empId")) .eq(TaskView::getName,"back_third_okr") @@ -600,17 +514,12 @@ public class TaskViewController { .eq(EmpPositionView::getPositionId,x.getPositionId()); empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/getWageFileTask") - private R> getWageFileTask(@RequestBody JSONObject obj){ + public R> getWageFileTask(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); Wrapper.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"wage_emp") @@ -633,17 +542,12 @@ public class TaskViewController { empList.add(EmpPositionViewMapper.selectOne(queryWrapper)); }); - - //new - empList.sort(Comparator.comparing(EmpPositionView::getDeptName).thenComparing(EmpPositionView::getPosition)); - - return R.success(empList); } @PostMapping("/fourthTaskCount") - private R> getFourthCount(@RequestBody JSONObject obj){ + public R> getFourthCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getState,"ACTIVE") @@ -704,32 +608,18 @@ public class TaskViewController { }); Integer count4=backWaitList4.size(); - - List list= EmpPartTimeRewardViewService.lambdaQuery() - .eq(EmpParttimeRewardView::getAssessorId,obj.getString("assessorId")) - .eq(EmpParttimeRewardView::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - Integer count5 = list.size(); - - - Map resultMap = new HashMap<>(); resultMap.put("count1", count1); resultMap.put("count2", count2); resultMap.put("count3", count3); resultMap.put("count4", count4); - resultMap.put("count5", count5); return R.success(resultMap); } @PostMapping("/EmpWageTaskCount") - private R> getEmpWageCount(@RequestBody JSONObject obj){ + public R> getEmpWageCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"wage_emp") @@ -788,7 +678,7 @@ public class TaskViewController { @PostMapping("/thirdTaskCount") - private R> getThirdCount(@RequestBody JSONObject obj){ + public R> getThirdCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getState,"ACTIVE") @@ -873,18 +763,6 @@ public class TaskViewController { }); Integer count6=backWaitList6.size(); - List list= EmpPartTimeRewardViewService.lambdaQuery() - .eq(EmpParttimeRewardView::getAssessorId,obj.getString("assessorId")) - .eq(EmpParttimeRewardView::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - Integer count7 = list.size(); - - - Map resultMap = new HashMap<>(); resultMap.put("count1", count1); resultMap.put("count2", count2); @@ -892,13 +770,13 @@ public class TaskViewController { resultMap.put("count4", count4); resultMap.put("count5", count5); resultMap.put("count6", count6); - resultMap.put("count7", count7); + return R.success(resultMap); } @PostMapping("/secondTaskCount") - private R> getSecondCount(@RequestBody JSONObject obj){ + public R> getSecondCount(@RequestBody JSONObject obj) { LambdaQueryWrapper Wrapper1=new LambdaQueryWrapper<>(); Wrapper1.eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"third") @@ -992,18 +870,6 @@ public class TaskViewController { }); Integer count6=backWaitList6.size(); - - List list= EmpPartTimeRewardViewService.lambdaQuery() - .eq(EmpParttimeRewardView::getAssessorId,obj.getString("assessorId")) - .eq(EmpParttimeRewardView::getState,1) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) - .list(); - Integer count7 = list.size(); - - Map resultMap = new HashMap<>(); resultMap.put("count1", count1); resultMap.put("count2", count2); @@ -1011,7 +877,6 @@ public class TaskViewController { resultMap.put("count4", count4); resultMap.put("count5", count5); resultMap.put("count6", count6); - resultMap.put("count7", count7); return R.success(resultMap); } @@ -1186,50 +1051,4 @@ public class TaskViewController { return samePositionIds.size(); } - - @GetMapping("/getWageFileTaskSearch") - private R> getWageFileTaskSearch( - @RequestParam(defaultValue = "") String empName - , @RequestParam(defaultValue = "") String position - , @RequestParam(defaultValue = "") String deptName - , @RequestParam(defaultValue = "") String assessorId - - ){ - - System.out.println(empName); - System.out.println(position); - System.out.println(deptName); - System.out.println(assessorId); - - - LambdaQueryWrapper Wrapper=new LambdaQueryWrapper<>(); - Wrapper.eq(TaskView::getAssignee,assessorId) - .eq(TaskView::getName,"wage_emp") - .eq(TaskView::getState,"ACTIVE"); - List task=TaskViewMapper.selectList(Wrapper); - - List list=new ArrayList<>(); - task.forEach(x->{ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmployeePosition::getEmpId,x.getStartUserId()) - .eq(EmployeePosition::getProcessDefinitionId,x.getProcInstId()); - list.add(EmployeePositionMapper.selectOne(queryWrapper)); - }); - - List empList=new ArrayList<>(); - list.forEach(x->{ - LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper<>(); - queryWrapper.eq(EmpPositionView::getEmpId,x.getEmpId()) - .eq(EmpPositionView::getPositionId,x.getPositionId()) - .like(EmpPositionView::getEmpName,empName) - .like(EmpPositionView::getPosition,position) - .like(EmpPositionView::getDeptName,deptName); - EmpPositionView empPositionView = EmpPositionViewMapper.selectOne(queryWrapper); - if (empPositionView!=null) - empList.add(empPositionView); - }); - - - return R.success(empList); - } } diff --git a/src/main/java/com/example/workflow/controller/TestController.java b/src/main/java/com/example/workflow/controller/TestController.java index 36fec64..9fcddcf 100644 --- a/src/main/java/com/example/workflow/controller/TestController.java +++ b/src/main/java/com/example/workflow/controller/TestController.java @@ -22,16 +22,16 @@ public class TestController { return "test"; }*/ @Autowired - private RepositoryService repositoryService; + public RepositoryService repositoryService; @Autowired private IdentityService identityService; @Autowired - private RuntimeService runtimeService; + public RuntimeService runtimeService; @Autowired private PositionAssessorService PositionAssessorService; @PostMapping("/test") - private R test(){ + public R test() { PositionAssessorService.monthCopy(); return R.success(); } diff --git a/src/main/java/com/example/workflow/controller/WageEmpController.java b/src/main/java/com/example/workflow/controller/WageEmpController.java index 9b3a903..bccd4b1 100644 --- a/src/main/java/com/example/workflow/controller/WageEmpController.java +++ b/src/main/java/com/example/workflow/controller/WageEmpController.java @@ -1,26 +1,42 @@ package com.example.workflow.controller; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.example.workflow.common.R; import com.example.workflow.mapper.EmpKpiViewMapper; import com.example.workflow.mapper.EmpPieceViewMapper; -import com.example.workflow.mapper.ScoreContactAssessorsMapper; import com.example.workflow.mapper.TaskViewMapper; -import com.example.workflow.model.entity.*; -import com.example.workflow.service.*; +import com.example.workflow.model.entity.BackWait; +import com.example.workflow.model.entity.EmpKpiView; +import com.example.workflow.model.entity.EmpPieceView; +import com.example.workflow.model.entity.EmployeePosition; +import com.example.workflow.model.entity.OkrKey; +import com.example.workflow.model.entity.OkrRule; +import com.example.workflow.model.entity.Position; +import com.example.workflow.model.entity.PositionAssessor; +import com.example.workflow.model.entity.PositionKpi; +import com.example.workflow.model.entity.PositionPiece; +import com.example.workflow.model.entity.PositionScore; +import com.example.workflow.model.entity.ScoreAssessors; +import com.example.workflow.model.entity.TaskState; +import com.example.workflow.model.entity.TaskView; +import com.example.workflow.service.BackWaitService; +import com.example.workflow.service.OkrKeyService; +import com.example.workflow.service.OkrRuleService; +import com.example.workflow.service.PositionAssessorService; +import com.example.workflow.service.PositionKpiSerivce; +import com.example.workflow.service.PositionPieceService; +import com.example.workflow.service.PositionScoreService; +import com.example.workflow.service.TaskViewService; import lombok.extern.slf4j.Slf4j; import org.camunda.bpm.engine.TaskService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import spinjar.com.fasterxml.jackson.core.type.TypeReference; -import spinjar.com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; - -import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; @@ -31,9 +47,6 @@ import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; -/** - * 绩效专员 - */ @Slf4j @RestController @RequestMapping("/WageEmp") @@ -69,30 +82,14 @@ public class WageEmpController { @Autowired private TaskViewService TaskViewService; - @Autowired - private EmpScoreService EmpScoreService; - @Autowired - private EmpOkrService EmpOkrService; - @Autowired - private EmpPerformanceService EmpPerformanceService; - @Autowired - private ScoreContactAssessorsMapper ScoreContactAssessorsMapper; - @Autowired - private EmpPerformanceViewService EmpPerformanceViewService; - @Autowired - private ResultFourthExamineService ResultFourthExamineService; - @Autowired - private ResultThirdExamineService ResultThirdExamineService; LocalDate today = LocalDate.now(); LocalDateTime beginTime = LocalDateTime.of(today.withDayOfMonth(1), LocalTime.MIN); LocalDateTime endTime = LocalDateTime.of(today.withDayOfMonth(today.lengthOfMonth()), LocalTime.MAX); - /** - * - */ + @PostMapping("/getState") - private R getState(@RequestBody JSONObject obj){ + public R getState(@RequestBody JSONObject obj) { TaskState state=new TaskState(); state.setKpiState(0); @@ -137,60 +134,17 @@ public class WageEmpController { return R.success(state); } - /** - * 申报 - * */ @PostMapping("/updateFlow") - private R updateFlow(@RequestBody JSONObject obj){ - - //勿动 - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); - wrapper.eq(EmployeePosition::getEmpId,obj.getString("empId")) - .eq(EmployeePosition::getPositionId,obj.getString("positionId")); - EmployeePosition EmployeePosition = EmployeePositionService.getOne(wrapper); - - //获取员工进程 - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(TaskView::getStartUserId,obj.getString("empId")) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) - .eq(TaskView::getName,"declare") - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - TaskView task = TaskViewMapper.selectOne(query); - - - //使用&&当task为null时不继续判断,防止task.getName()报空指针错误 - //当满足判定条件时 ,可继续下面申报流程 - if (task != null){ - - }else { - return R.error("已申报,请勿重复申报"); - } + public R updateFlow(@RequestBody JSONObject obj) { - - - //查找评分规则 Map map = new HashMap<>(); - - List assessorList1 = new ArrayList<>(); + List assessorList1 = new ArrayList<>(); LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(PositionScore::getPositionId,obj.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - - - List num1= PositionScoreService.list(query1); - - List list = new ArrayList<>(); + query1.eq(PositionScore::getPositionId,obj.getString("positionId")); + List num1= PositionScoreService.list(query1); num1.forEach(y->{ - List assessor= ScoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) .apply(StringUtils.checkValNotNull(beginTime), @@ -199,94 +153,11 @@ public class WageEmpController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) .list(); - -// assessor.forEach(z-> assessorList1.add(String.valueOf(z.getAssessorId()))); - - //获取业绩评分 - - List scores = EmpPerformanceService.lambdaQuery() - .eq(PositionPerformance::getPositionId,obj.getString("positionId")) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .list(); - - - List scoreIds = new ArrayList<>(); - for (PositionPerformance data : scores) { - scoreIds.add(data.getScoreId()); - } - - - //修改 建立初始评分 默认100分 - for (ScoreAssessors x : assessor) { - ScoreContactAssessors data = null; - if (!scoreIds.isEmpty()){ - LambdaQueryWrapper scoreContactAssessor =new LambdaQueryWrapper<>(); - scoreContactAssessor - .in(ScoreContactAssessors::getScoreId,scoreIds) - .eq(ScoreContactAssessors::getScoreAssessorsId,x.getId()) - .eq(ScoreContactAssessors::getPositionId,Long.parseLong(obj.getString("positionId"))) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - - data = ScoreContactAssessorsMapper.selectOne(scoreContactAssessor); - } - - if (data == null){ - assessorList1.add(String.valueOf(x.getAssessorId())); - EmpScore empScore = new EmpScore(); - empScore.setScore(BigDecimal.valueOf(100)); - empScore.setScoreAssessorsId(x.getId()); - empScore.setEmpId(Long.valueOf(obj.getString("empId"))); - empScore.setRemark("超时自动评分"); - list.add(empScore); - - }else { - - PositionPerformance yy = EmpPerformanceService.lambdaQuery() - .eq(PositionPerformance::getPositionId,Long.parseLong(obj.getString("positionId"))) - .eq(PositionPerformance::getScoreId,data.getScoreId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .one(); - - - PositionPerformanceView positionPerformanceView = EmpPerformanceViewService.lambdaQuery() - .eq(PositionPerformanceView::getId,yy.getId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .one(); - - - EmpScore empScore = new EmpScore(); - empScore.setScore(BigDecimal.valueOf(yy.getGrade())); - empScore.setScoreAssessorsId(x.getId()); - empScore.setEmpId(Long.valueOf(obj.getString("empId"))); - empScore.setRemark("业绩自动评分,实际完成进度"+positionPerformanceView.getGrade1()+"%"); - list.add(empScore); - - } - - } - - + assessor.forEach(z-> assessorList1.add(String.valueOf(z.getAssessorId()))); }); - //新增 - EmpScoreService.saveBatch(list); - List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); - - if(assessors1.isEmpty()) { map.put("scoreAppoint", "false"); } else{ @@ -294,8 +165,6 @@ public class WageEmpController { map.put("scoreAppoint", "true"); } - - //查找计件规则 List pieceList= PositionPieceService.lambdaQuery() .eq(PositionPiece::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -309,7 +178,6 @@ public class WageEmpController { map.put("pieceAppoint", "true"); } - //查找kpi规则 List kpiList= PositionKpiSerivce.lambdaQuery() .eq(PositionKpi::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -323,8 +191,6 @@ public class WageEmpController { map.put("kpiAppoint", "true"); } - - //查找okr规则 LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); List keyList=OkrKeyService.lambdaQuery() @@ -336,32 +202,14 @@ public class WageEmpController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) .list(); List assessorList2=new ArrayList<>(); - - List list2 = new ArrayList<>(); - keyList.forEach(x->{ - OkrRule okrRule = OkrRuleService.lambdaQuery() .eq(OkrRule::getId, x.getRuleId()) .one(); - if (Objects.nonNull(okrRule)) { assessorList2.add(okrRule.getAssessorId().toString()); } - - //修改 建立初始评分 默认0分 - EmpOkr empOkr = new EmpOkr(); - empOkr.setScore(BigDecimal.valueOf(0)); - empOkr.setRemark("超时自动评分"); - empOkr.setOkrKeyId(x.getId()); - empOkr.setEmpId(Long.valueOf(obj.getString("empId"))); - list2.add(empOkr); - }); - //新增 - EmpOkrService.saveBatch(list2); - - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); if(assessors2.isEmpty()) { map.put("okrAppoint", "false"); @@ -370,12 +218,10 @@ public class WageEmpController { map.put("okrAppoint", "true"); } - //获取岗位信息 Position position=PositionService.lambdaQuery() .eq(Position::getId,obj.getString("positionId")) .one(); - //获取评分人信息 PositionAssessor assessor=PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId,obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -384,149 +230,51 @@ public class WageEmpController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .one(); - - if (map.get("pieceAppoint").equals("true")||map.get("kpiAppoint").equals("true")){ - //建立初审通过 - ResultFourthExamine newOne = new ResultFourthExamine(); - if (map.get("pieceAppoint").equals("true")) - newOne.setPieceExamine(new Short("1")); - if (map.get("kpiAppoint").equals("true")) - newOne.setKpiExamine(new Short("1")); - newOne.setEmpId(Long.valueOf(obj.getString("empId"))); - newOne.setPositionId(Long.valueOf(obj.getString("positionId"))); - newOne.setAssessorId(assessor.getFourthAssessorId()); - ResultFourthExamineService.save(newOne); - } - - - //普通员工岗 if(position.getType()==5){ map.put("fourthAssessor",assessor.getFourthAssessorId().toString()); map.put("fourthTimer",assessor.getFourthTimer()); map.put("thirdAssessor",assessor.getThirdAssessorId().toString()); map.put("thirdTimer",assessor.getThirdTimer()); - map.put("secondAssessor",assessor.getSecondAssessorId().toString()); - map.put("secondTimer",assessor.getSecondTimer()); - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(Long.valueOf(obj.getString("empId"))); - examine1.setAssessorId(assessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(obj.getString("positionId"))); - examine1.setScoreExamine((short) 1); - examine1.setPieceExamine((short) 1); - examine1.setKpiExamine((short) 1); - examine1.setOkrExamine((short) 1); - ResultThirdExamineService.save(examine1); -// map.put("wage_emp",obj.getString("assessorId")); } - - //四级CEO岗 else if(position.getType()==4){ map.put("thirdAssessor",assessor.getThirdAssessorId().toString()); map.put("thirdTimer",assessor.getThirdTimer()); map.put("secondAssessor",assessor.getSecondAssessorId().toString()); map.put("secondTimer",assessor.getSecondTimer()); - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(Long.valueOf(obj.getString("empId"))); - examine1.setAssessorId(assessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(obj.getString("positionId"))); - examine1.setScoreExamine((short) 1); - examine1.setPieceExamine((short) 1); - examine1.setKpiExamine((short) 1); - examine1.setOkrExamine((short) 1); - ResultThirdExamineService.save(examine1); -// map.put("wage_emp",obj.getString("assessorId")); } - - //三级CEO岗 else if(position.getType()==3){ map.put("secondAssessor",assessor.getSecondAssessorId().toString()); map.put("secondTimer",assessor.getSecondTimer()); -// map.put("wage_emp",obj.getString("assessorId")); } + LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); + wrapper.eq(EmployeePosition::getEmpId,obj.getString("empId")) + .eq(EmployeePosition::getPositionId,obj.getString("positionId")); + EmployeePosition EmployeePosition=EmployeePositionService.getOne(wrapper); - - -// //获取员工所在岗位信息 -// LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); -// wrapper.eq(EmployeePosition::getEmpId,obj.getString("empId")) -// .eq(EmployeePosition::getPositionId,obj.getString("positionId")); -// EmployeePosition EmployeePosition=EmployeePositionService.getOne(wrapper); -// -// //获取员工进程 -// LambdaQueryWrapper query=new LambdaQueryWrapper<>(); -// query.eq(TaskView::getStartUserId,obj.getString("empId")) -// .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); -// TaskView task=TaskViewMapper.selectOne(query); - + LambdaQueryWrapper query=new LambdaQueryWrapper<>(); + query.eq(TaskView::getStartUserId,obj.getString("empId")) + .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); + TaskView task=TaskViewMapper.selectOne(query); taskService.complete(task.getId(),map); + return R.success(); } - /** - * 一键申报 - * */ - @PostMapping("/updateFlowAll") - private R updateFlowAll(@RequestBody JSONObject obj){ - - String assessorId = obj.getString("assessorId"); - - JSONArray jsonArray = obj.getJSONArray("select"); - - List list = jsonArray.toJavaList(EmployeePosition.class); - - if(list == null || list.isEmpty()) { + @PostMapping("/updateFlowAll") + public R updateFlowAll(@RequestBody List list) { + if(list.isEmpty()) { return R.error("未选择申报对象,请选择申报对象"); } - //标志 - int flag = 0; - //判断 - for (EmployeePosition x : list) { - //获取员工所在岗位信息 - LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); - wrapper.eq(EmployeePosition::getEmpId,x.getEmpId()) - .eq(EmployeePosition::getPositionId,x.getPositionId()); - EmployeePosition EmployeePosition = EmployeePositionService.getOne(wrapper); - //获取员工进程 - LambdaQueryWrapper query=new LambdaQueryWrapper<>(); - query.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()) - .eq(TaskView::getName,"declare"); - TaskView task = TaskViewMapper.selectOne(query); - - query.eq(TaskView::getStartUserId,x.getEmpId()) - .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); - //使用&&当task为null时不继续判断,防止task.getName()报空指针错误当满足判定条件时 ,可继续下面申报流程 - if (task != null){ - - }else { - flag += 1; - } - } - if (flag != 0){ - return R.error("已有"+flag+"人被申报,请刷新"); - } - - //人 list.forEach(x->{ - Map map = new HashMap<>(); - //评分 List assessorList1 = new ArrayList<>(); LambdaQueryWrapper query1=new LambdaQueryWrapper<>(); - query1.eq(PositionScore::getPositionId,x.getPositionId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - - + query1.eq(PositionScore::getPositionId,x.getPositionId()); List num1= PositionScoreService.list(query1); - List list1 = new ArrayList<>(); - //评分条目 num1.forEach(y->{ List assessor= ScoreAssessorsService.lambdaQuery() .eq(ScoreAssessors::getPositionScoreId,y.getId()) @@ -535,87 +283,10 @@ public class WageEmpController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) .list(); - - - List scores = EmpPerformanceService.lambdaQuery() - .eq(PositionPerformance::getPositionId,x.getPositionId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .list(); - - - List scoreIds = new ArrayList<>(); - for (PositionPerformance data : scores) { - scoreIds.add(data.getScoreId()); - } - -// assessor.forEach(z-> assessorList1.add(String.valueOf(z.getAssessorId()))); - - //修改 建立初始评分 默认100分 - //评分人 - for (ScoreAssessors z : assessor) { - ScoreContactAssessors data = null; - if (!scoreIds.isEmpty()){ - LambdaQueryWrapper scoreContactAssessor =new LambdaQueryWrapper<>(); - scoreContactAssessor - .in(ScoreContactAssessors::getScoreId,scoreIds) - .eq(ScoreContactAssessors::getScoreAssessorsId,z.getId()) - .eq(ScoreContactAssessors::getPositionId,x.getPositionId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime); - - data = ScoreContactAssessorsMapper.selectOne(scoreContactAssessor); - } - - if (data == null){ - assessorList1.add(String.valueOf(z.getAssessorId())); - EmpScore empScore = new EmpScore(); - empScore.setScore(BigDecimal.valueOf(100)); - empScore.setScoreAssessorsId(z.getId()); - empScore.setEmpId(x.getEmpId()); - empScore.setRemark("超时自动评分"); - list1.add(empScore); - - }else { - - PositionPerformance yy = EmpPerformanceService.lambdaQuery() - .eq(PositionPerformance::getPositionId,x.getPositionId()) - .eq(PositionPerformance::getScoreId,data.getScoreId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .one(); - - PositionPerformanceView positionPerformanceView = EmpPerformanceViewService.lambdaQuery() - .eq(PositionPerformanceView::getId,yy.getId()) - .apply(StringUtils.checkValNotNull(beginTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') >= date_format ({0},'%Y-%m-%d %H:%i:%s')", beginTime) - .apply(StringUtils.checkValNotNull(endTime), - "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) - .one(); - - EmpScore empScore = new EmpScore(); - empScore.setScore(BigDecimal.valueOf(yy.getGrade())); - empScore.setScoreAssessorsId(z.getId()); - empScore.setEmpId(x.getEmpId()); - empScore.setRemark("业绩自动评分,实际完成进度"+positionPerformanceView.getGrade1()+"%"); - list1.add(empScore); - } - - - - } + assessor.forEach(z-> assessorList1.add(String.valueOf(z.getAssessorId()))); }); - //新增 - EmpScoreService.saveBatch(list1); - - List assessors1 = assessorList1.stream().distinct().collect(Collectors.toList()); + List assessors1=assessorList1.stream().distinct().collect(Collectors.toList()); if(assessors1.isEmpty()) { map.put("scoreAppoint", "false"); } else{ @@ -623,10 +294,6 @@ public class WageEmpController { map.put("scoreAppoint", "true"); } - - - - List pieceList= PositionPieceService.lambdaQuery() .eq(PositionPiece::getPositionId,x.getPositionId()) .apply(StringUtils.checkValNotNull(beginTime), @@ -634,7 +301,6 @@ public class WageEmpController { .apply(StringUtils.checkValNotNull(endTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')",endTime) .list(); - if(pieceList.isEmpty()) { map.put("pieceAppoint", "false"); } else { @@ -654,7 +320,6 @@ public class WageEmpController { map.put("kpiAppoint", "true"); } - LocalDateTime lastBeginTime = LocalDateTime.of(today.withDayOfMonth(1).minusMonths(1), LocalTime.MIN); LocalDateTime latsEndTime = LocalDateTime.of(today.withDayOfMonth(1).minusDays(1), LocalTime.MAX); List keyList=OkrKeyService.lambdaQuery() @@ -665,32 +330,13 @@ public class WageEmpController { .apply(StringUtils.checkValNotNull(latsEndTime), "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", latsEndTime) .list(); - List assessorList2=new ArrayList<>(); - List list2 = new ArrayList<>(); - keyList.forEach(xx->{ - + keyList.forEach(y-> { OkrRule okrRule = OkrRuleService.lambdaQuery() - .eq(OkrRule::getId, xx.getRuleId()) + .eq(OkrRule::getId, y.getRuleId()) .one(); - - if (Objects.nonNull(okrRule)) { - assessorList2.add(okrRule.getAssessorId().toString()); - } - - //修改 建立初始评分 默认0分 - EmpOkr empOkr = new EmpOkr(); - empOkr.setScore(BigDecimal.valueOf(0)); - empOkr.setOkrKeyId(xx.getId()); - empOkr.setEmpId(Long.valueOf(x.getEmpId())); - empOkr.setRemark("超时自动评分"); - list2.add(empOkr); + assessorList2.add(okrRule.getAssessorId().toString()); }); - //新增 - EmpOkrService.saveBatch(list2); - - - List assessors2=assessorList2.stream().distinct().collect(Collectors.toList()); if(assessors2.isEmpty()) { map.put("okrAppoint", "false"); @@ -711,58 +357,17 @@ public class WageEmpController { "date_format (create_time,'%Y-%m-%d %H:%i:%s') <= date_format ({0},'%Y-%m-%d %H:%i:%s')", endTime) .one(); - if (map.get("pieceAppoint").equals("true")||map.get("kpiAppoint").equals("true")){ - //建立初审通过 - ResultFourthExamine newOne = new ResultFourthExamine(); - if (map.get("pieceAppoint").equals("true")) - newOne.setPieceExamine(new Short("1")); - if (map.get("kpiAppoint").equals("true")) - newOne.setKpiExamine(new Short("1")); - newOne.setEmpId(Long.valueOf(x.getEmpId())); - newOne.setPositionId(Long.valueOf(x.getPositionId())); - newOne.setAssessorId(assessor.getFourthAssessorId()); - ResultFourthExamineService.save(newOne); - } - if(position.getType()==5){ map.put("fourthAssessor",assessor.getFourthAssessorId().toString()); map.put("fourthTimer",assessor.getFourthTimer()); - map.put("thirdAssessor",assessor.getThirdAssessorId().toString()); - map.put("thirdTimer",assessor.getThirdTimer()); - map.put("secondAssessor",assessor.getSecondAssessorId().toString()); - map.put("secondTimer",assessor.getSecondTimer()); - - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(x.getEmpId()); - examine1.setAssessorId(assessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(x.getPositionId())); - examine1.setScoreExamine((short) 1); - examine1.setPieceExamine((short) 1); - examine1.setKpiExamine((short) 1); - examine1.setOkrExamine((short) 1); - ResultThirdExamineService.save(examine1); - //map.put("wage_emp",assessorId); } else if(position.getType()==4){ map.put("thirdAssessor",assessor.getThirdAssessorId().toString()); map.put("thirdTimer",assessor.getThirdTimer()); - map.put("secondAssessor",assessor.getSecondAssessorId().toString()); - map.put("secondTimer",assessor.getSecondAssessorId()); - ResultThirdExamine examine1 =new ResultThirdExamine(); - examine1.setEmpId(x.getEmpId()); - examine1.setAssessorId(assessor.getThirdAssessorId()); - examine1.setPositionId(Long.valueOf(x.getPositionId())); - examine1.setScoreExamine((short) 1); - examine1.setPieceExamine((short) 1); - examine1.setKpiExamine((short) 1); - examine1.setOkrExamine((short) 1); - ResultThirdExamineService.save(examine1); -// map.put("wage_emp",assessorId); } else if(position.getType()==3){ map.put("secondAssessor",assessor.getSecondAssessorId().toString()); map.put("secondTimer",assessor.getSecondTimer()); -// map.put("wage_emp",assessorId); } LambdaQueryWrapper wrapper=new LambdaQueryWrapper<>(); @@ -774,28 +379,22 @@ public class WageEmpController { query.eq(TaskView::getStartUserId,x.getEmpId()) .eq(TaskView::getProcInstId,EmployeePosition.getProcessDefinitionId()); TaskView task=TaskViewMapper.selectOne(query); - - taskService.complete(task.getId(),map); }); return R.success(); } - /** - * 绩效专员重新导入计件数据 - * */ @PostMapping("/reAddPiece") - private R reAddPiece(@RequestBody JSONObject obj){ + public R reAddPiece(@RequestBody JSONObject obj) { BackWait backWait=BackWaitService.lambdaQuery() .eq(BackWait::getPositionId,obj.getString("positionId")) .eq(BackWait::getEmpId,obj.getString("empId")) - .and(qw -> qw.eq(BackWait::getType,"back_fourth_piece") - .or().eq(BackWait::getType,"back_third_piece") + .and(qw -> qw.eq(BackWait::getType,"fourth_piece_back") + .or().eq(BackWait::getType,"third_piece_back") .or().eq(BackWait::getType,"back_second_piece")) .one(); - TaskView taskView=TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_wageEmp_piece") @@ -803,10 +402,6 @@ public class WageEmpController { .eq(TaskView::getProcInstId,backWait.getProcessDefineId()) .one(); - if (taskView == null){ - return R.error("已提交重审,请勿重复提交"); - } - PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), @@ -830,20 +425,17 @@ public class WageEmpController { return R.success(); } - /** - * 绩效专员重新导入kpi数据 - * */ + @PostMapping("/reAddKpi") - private R reAddKpi(@RequestBody JSONObject obj){ + public R reAddKpi(@RequestBody JSONObject obj) { BackWait backWait=BackWaitService.lambdaQuery() .eq(BackWait::getPositionId,obj.getString("positionId")) .eq(BackWait::getEmpId,obj.getString("empId")) - .and(qw -> qw.eq(BackWait::getType,"back_fourth_kpi") - .or().eq(BackWait::getType,"back_third_kpi") + .and(qw -> qw.eq(BackWait::getType,"fourth_kpi_back") + .or().eq(BackWait::getType,"third_kpi_back") .or().eq(BackWait::getType,"back_second_kpi")) .one(); - TaskView taskView=TaskViewService.lambdaQuery() .eq(TaskView::getAssignee,obj.getString("assessorId")) .eq(TaskView::getName,"back_wageEmp_kpi") @@ -851,10 +443,6 @@ public class WageEmpController { .eq(TaskView::getProcInstId,backWait.getProcessDefineId()) .one(); - if (taskView == null){ - return R.error("已提交重审,请勿重复提交"); - } - PositionAssessor nextAssessor = PositionAssessorService.lambdaQuery() .eq(PositionAssessor::getPositionId, obj.getString("positionId")) .apply(StringUtils.checkValNotNull(beginTime), -- Gitee From c262b1d56a0c9a4857a9c665ada111e07869b4a6 Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 12 Jan 2025 23:01:51 +0800 Subject: [PATCH 73/78] =?UTF-8?q?update:spring-logback.xml=20=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/logback-spring.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index a917694..2323dc1 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -1,6 +1,4 @@ - - -- Gitee From 85fe0a1ebd35ecf8898bfdf2c0844718993e39e0 Mon Sep 17 00:00:00 2001 From: hrc Date: Sun, 12 Jan 2025 23:03:03 +0800 Subject: [PATCH 74/78] =?UTF-8?q?add:=20=E6=8E=A7=E5=88=B6=E5=8F=B0?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E6=AF=8F=E6=AC=A1=E8=AF=B7=E6=B1=82=E7=9A=84?= =?UTF-8?q?uri=E4=B8=8E=E8=AF=B7=E6=B1=82=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/workflow/aspect/ParamAspect.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/java/com/example/workflow/aspect/ParamAspect.java diff --git a/src/main/java/com/example/workflow/aspect/ParamAspect.java b/src/main/java/com/example/workflow/aspect/ParamAspect.java new file mode 100644 index 0000000..52c5210 --- /dev/null +++ b/src/main/java/com/example/workflow/aspect/ParamAspect.java @@ -0,0 +1,34 @@ +package com.example.workflow.aspect; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.StringJoiner; + +@Slf4j +@Component +@Aspect +public class ParamAspect { + + @Resource + HttpServletRequest request; + + @Pointcut("execution(* com.example.workflow.controller..*.*(..))") + public void controller() { + } + + @Before("controller()") + public void before(JoinPoint joinPoint) { + StringJoiner sj = new StringJoiner("\n", "\n", "\n"); + for (Object arg : joinPoint.getArgs()) { + sj.add(arg.toString()); + } + log.info("请求uri:{} \n 请求参数:{}", request.getRequestURI(), sj); + } +} -- Gitee From 9de1cc8623b4867b8f24217756d2783fe6f7fa23 Mon Sep 17 00:00:00 2001 From: hrc Date: Thu, 8 May 2025 14:28:32 +0800 Subject: [PATCH 75/78] feat: docker --- Dockerfile | 28 ++++++++++++++++++++++++++++ docker-compose.yml | 9 +++++++++ 2 files changed, 37 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6fddab6 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +# 指定基础镜像 +FROM ringcentral/jdk:17 + +#标签 + +LABEL authors="hrc" + +# 设置代码存储目录--容器中的位置 +WORKDIR /app + +# 安装字体--显示图片 +RUN apt-get update && \ + apt-get install -y \ + fontconfig \ + libx11-dev \ + libxext-dev \ + libxrender-dev \ + libxtst-dev \ + libfreetype6 \ + fonts-dejavu && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# 将本机文件复制到容器工作目录中 +COPY ./target/my-project-1.0.0-SNAPSHOT.jar . + +#声明容器运行时监听的端口 +EXPOSE 9090 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..20f7837 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +services: + performance-api: + image: performance-api:1.0.2 + container_name: performance-api + ports: + - "9090:9090" + command: /bin/bash -c "java -jar my-project-1.0.0-SNAPSHOT.jar --server.address=0.0.0.0 " + + -- Gitee From 6c77a9f4009867141c46060aec97278afa16d592 Mon Sep 17 00:00:00 2001 From: hrc Date: Sat, 28 Jun 2025 17:04:26 +0800 Subject: [PATCH 76/78] =?UTF-8?q?update:=20=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=8F=82=E6=95=B0=E5=80=BC=E4=BD=BF=E7=94=A8=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/config/application-sqlpub.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/config/application-sqlpub.yml b/src/main/resources/config/application-sqlpub.yml index 99ed2da..24cecac 100644 --- a/src/main/resources/config/application-sqlpub.yml +++ b/src/main/resources/config/application-sqlpub.yml @@ -10,7 +10,7 @@ spring: resources: add-mappings: false datasource: - url: jdbc:mysql://mysql.sqlpub.com:3306/performance0?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai + url: ${DB_SQLPUB_URL} username: ${DB_SQLPUB_USERNAME} password: ${DB_SQLPUB_PASSWORD} driver-class-name: com.mysql.cj.jdbc.Driver -- Gitee From 21f9fd9b6a28cdf5e0ba6ab4a2b50128c283bec8 Mon Sep 17 00:00:00 2001 From: hrc Date: Sat, 28 Jun 2025 17:35:32 +0800 Subject: [PATCH 77/78] update: build --- Dockerfile | 24 +++++++------- Makefile | 81 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 -- build.dockerfile | 43 ++++++++++++++++++++++++ docker-compose.yml | 4 ++- 5 files changed, 139 insertions(+), 15 deletions(-) create mode 100644 Makefile create mode 100644 build.dockerfile diff --git a/Dockerfile b/Dockerfile index 6fddab6..27f2ada 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # 指定基础镜像 -FROM ringcentral/jdk:17 +FROM docker.1ms.run/library/openjdk:17 #标签 @@ -9,17 +9,17 @@ LABEL authors="hrc" WORKDIR /app # 安装字体--显示图片 -RUN apt-get update && \ - apt-get install -y \ - fontconfig \ - libx11-dev \ - libxext-dev \ - libxrender-dev \ - libxtst-dev \ - libfreetype6 \ - fonts-dejavu && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* +#RUN apt-get update && \ +# apt-get install -y \ +# fontconfig \ +# libx11-dev \ +# libxext-dev \ +# libxrender-dev \ +# libxtst-dev \ +# libfreetype6 \ +# fonts-dejavu && \ +# apt-get clean && \ +# rm -rf /var/lib/apt/lists/* # 将本机文件复制到容器工作目录中 COPY ./target/my-project-1.0.0-SNAPSHOT.jar . diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c9ced6f --- /dev/null +++ b/Makefile @@ -0,0 +1,81 @@ +# 自动获取构建时间和 Git 提交 ID +BUILD_DATE=$$(date +"%Y-%m-%d-%H:%M:%S") +GIT_COMMIT=$$(git rev-parse --short HEAD) + +# 镜像前缀 +IMAGE_PREFIX=registry.cn-hangzhou.aliyuncs.com/huthrc/dev +# 镜像名称 +IMAGE_NAME=performance_api +# 架构 +ARCH_AMD=amd +ARCH_ARM=arm + +include .env + +# 打包 +build: + mvn clean -DskipTests package +# 构建 arm镜像 +docker-arm-build: build + #删除旧标签 + docker rmi ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM} || true + docker rmi ${IMAGE_NAME}_${ARCH_ARM} || true + + docker build \ + --build-arg BUILD_DATE=${BUILD_DATE} \ + --build-arg GIT_COMMIT=${GIT_COMMIT} \ + --platform linux/arm64 \ + -t ${IMAGE_NAME}_${ARCH_ARM} . + docker tag ${IMAGE_NAME}_${ARCH_ARM} ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM} + +# 运行arm镜像 +docker-arm-run: docker-arm-build + (export IMAGE_NAME=${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM}; docker compose up) +# arm镜像构建并且运行 +docker-arm-build-run: docker-arm-build docker-arm-run + +# 构建amd镜像 +docker-amd-build: build + #删除旧标签 + docker rmi ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD} || true + docker rmi ${IMAGE_NAME}:${ARCH_AMD} || true + + docker build \ + --build-arg BUILD_DATE=${BUILD_DATE} \ + --build-arg GIT_COMMIT=${GIT_COMMIT} \ + --platform linux/amd64 \ + -t ${IMAGE_NAME}:${ARCH_AMD} . + docker tag ${IMAGE_NAME}:${ARCH_AMD} ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD} + +# 运行amd镜像 +docker-amd-run: + (export IMAGE_NAME=${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD}; docker compose up) + + +# amd镜像构建并且运行 +docker-amd-build-run: docker-amd-build docker-amd-run + +# 构建amd和arm镜像 +docker-build: docker-amd-build docker-arm-build + + +# amd和arm镜像构建并且运行 +docker-build-run: docker-build docker-arm-run docker-amd-run + +# push 镜像 +docker-push: docker-build + docker push ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD} + docker push ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM} + +# 查看镜像架构 +docker-arch: + docker inspect --format='{{.Architecture}}' ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_AMD} + docker inspect --format='{{.Architecture}}' ${IMAGE_PREFIX}:${IMAGE_NAME}_${ARCH_ARM} + +# 查看插件的全部目标 +help: + mvn help:describe -Dplugin=org.springframework.boot:spring-boot-maven-plugin -Ddetail=true + +# 运行程序 +run: + set -a && source .env && set +a && mvn spring-boot:run \ No newline at end of file diff --git a/README.md b/README.md index 88abff5..14376c5 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,6 @@ SpringBoot + Camunda + JWT + redis + MyBatisPlus ### 线上地址 -http://performance.huthrc.top 或 http://pf.huthrc.top/ - ### 我的职责 1. 使用JWT生成token再结合拦截器完成员工30分钟无操作自动退出并且完成10分钟内自动续约功能 diff --git a/build.dockerfile b/build.dockerfile new file mode 100644 index 0000000..8fd5aa5 --- /dev/null +++ b/build.dockerfile @@ -0,0 +1,43 @@ +# 构建阶段 +FROM maven:3.8.7-eclipse-temurin-17 AS builder + +# 设置工作目录 +WORKDIR /build + +# 复制pom.xml +COPY pom.xml . + +# 下载依赖(利用Docker缓存层) +RUN mvn dependency:go-offline + +# 复制源代码 +COPY src ./src + +# 构建应用 +RUN mvn clean package -DskipTests + +# 运行阶段 +FROM eclipse-temurin:17-jre-jammy + +# 设置工作目录 +WORKDIR /app + +# 创建必要的目录 +RUN mkdir -p /app/uploads /app/logs + +# 设置时区 +ENV TZ=Asia/Shanghai +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# 复制构建产物 +COPY --from=builder /build/target/*.jar app.jar + +# 设置默认环境变量 +#ENV JAVA_OPTS="-Xms512m -Xmx1024m" +# ENV SPRING_PROFILES_ACTIVE="prod" + +# 暴露端口 +EXPOSE 9090 + +# 启动命令 +ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar app.jar"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 20f7837..0740f47 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,9 @@ services: performance-api: - image: performance-api:1.0.2 + image: ${IMAGE_NAME} container_name: performance-api + env_file: + - .env ports: - "9090:9090" command: /bin/bash -c "java -jar my-project-1.0.0-SNAPSHOT.jar --server.address=0.0.0.0 " -- Gitee From 36cad5a5f577ffad402ce1ce5aa9901cd769c15e Mon Sep 17 00:00:00 2001 From: hrc Date: Sat, 28 Jun 2025 17:49:56 +0800 Subject: [PATCH 78/78] =?UTF-8?q?fix:=20=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EmpPieceController.java | 3 +- .../controller/EmployeeController.java | 2 - .../ResultSecondExamineController.java | 42 -- .../service/EmpCoefficientService.java | 1 - .../service/ResultSecondExamineService.java | 22 +- .../impl/DeptPerformanceServiceImpl.java | 18 - .../impl/DeptPerformanceViewServiceImpl.java | 18 - .../impl/PerformanceRuleServiceImpl.java | 2 +- .../impl/ResultSecondExamineServiceImpl.java | 408 ------------------ 9 files changed, 3 insertions(+), 513 deletions(-) delete mode 100644 src/main/java/com/example/workflow/service/impl/DeptPerformanceServiceImpl.java delete mode 100644 src/main/java/com/example/workflow/service/impl/DeptPerformanceViewServiceImpl.java delete mode 100644 src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java diff --git a/src/main/java/com/example/workflow/controller/EmpPieceController.java b/src/main/java/com/example/workflow/controller/EmpPieceController.java index ac7d0a4..27c0ba7 100644 --- a/src/main/java/com/example/workflow/controller/EmpPieceController.java +++ b/src/main/java/com/example/workflow/controller/EmpPieceController.java @@ -215,8 +215,7 @@ public class EmpPieceController { R.error("员工姓名不得为空"); else if(x.getPieceId()==null) R.error("计件条目不得为空"); - else if(x.getWorkOrder()==null) - R.error("数量不得为空"); + else if(x.getQuality()==null) R.error("质量不得为空"); } diff --git a/src/main/java/com/example/workflow/controller/EmployeeController.java b/src/main/java/com/example/workflow/controller/EmployeeController.java index 7c3ca1a..90402cc 100644 --- a/src/main/java/com/example/workflow/controller/EmployeeController.java +++ b/src/main/java/com/example/workflow/controller/EmployeeController.java @@ -53,8 +53,6 @@ public class EmployeeController { EmployeePositionService.setStateToEmployeePosition(employeeIdAndStateIdList); // 员工停用 employeeService.setStateToEmployee(employeeIdAndStateIdList); - // 员工绩效系数停用 - EmpCoefficientService.setStateToEmployee(employeeIdAndStateIdList); return R.success(); } diff --git a/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java b/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java index b2f9f59..4c3db44 100644 --- a/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java +++ b/src/main/java/com/example/workflow/controller/ResultSecondExamineController.java @@ -374,48 +374,6 @@ public class ResultSecondExamineController { runtimeService.suspendProcessInstanceById(task.getProcInstId()); - Integer positionType=Integer.valueOf(form.getString("positionType")); - - if(result.getOkrExamine().equals(Short.parseShort("2"))){ - removeOkr(form,x); - if(positionType.equals(5)){ - ResultSecondExamineService.reOkrSecondFifth(form,x); - } - else if(positionType.equals(4)||positionType.equals(3)){ - ResultSecondExamineService.reOkrSecondFourth(form,x); - } - } - if(result.getKpiExamine().equals(Short.parseShort("2"))){ - if(positionType.equals(5)){ - ResultSecondExamineService.reKpiSecondFifth(form); - } - else if(positionType.equals(4)){ - ResultSecondExamineService.reKpiSecondFourth(form); - } - else if(positionType.equals(3)){ - ResultSecondExamineService.reKpiSecondThird(form); - } - } - if(result.getPieceExamine().equals(Short.parseShort("2"))){ - if(positionType.equals(5)){ - ResultSecondExamineService.rePieceSecondFifth(form); - } - else if(positionType.equals(4)){ - ResultSecondExamineService.rePieceSecondFourth(form); - } - else if(positionType.equals(3)){ - ResultSecondExamineService.rePieceSecondThird(form); - } - } - if(result.getScoreExamine().equals(Short.parseShort("2"))){ - removeScore(form,x); - if(positionType.equals(5)){ - ResultSecondExamineService.reScoreSecondFifth(form); - } - else if(positionType.equals(4)||positionType.equals(3)){ - ResultSecondExamineService.reScoreSecondFourth(form); - } - } }); } return R.success(); diff --git a/src/main/java/com/example/workflow/service/EmpCoefficientService.java b/src/main/java/com/example/workflow/service/EmpCoefficientService.java index f6843c3..454b881 100644 --- a/src/main/java/com/example/workflow/service/EmpCoefficientService.java +++ b/src/main/java/com/example/workflow/service/EmpCoefficientService.java @@ -9,5 +9,4 @@ import java.util.List; public interface EmpCoefficientService extends IService { void monthCopy(); - void setStateToEmployee(List employeeIdAndStateIdList); } diff --git a/src/main/java/com/example/workflow/service/ResultSecondExamineService.java b/src/main/java/com/example/workflow/service/ResultSecondExamineService.java index 6d766ae..d164859 100644 --- a/src/main/java/com/example/workflow/service/ResultSecondExamineService.java +++ b/src/main/java/com/example/workflow/service/ResultSecondExamineService.java @@ -1,29 +1,9 @@ package com.example.workflow.service; -import com.alibaba.fastjson.JSONObject; + import com.baomidou.mybatisplus.extension.service.IService; -import com.example.workflow.model.entity.EmployeePosition; import com.example.workflow.model.entity.ResultSecondExamine; public interface ResultSecondExamineService extends IService { - void rePieceSecondFifth(JSONObject form,Long empId); - - void reKpiSecondFifth(JSONObject form,Long empId); - - void reScoreSecondFifth(JSONObject form, Long empId); - - void reOkrSecondFifth(JSONObject form, EmployeePosition emp); - - void rePieceSecondFourth(JSONObject form,Long empId); - - void reKpiSecondFourth(JSONObject form,Long empId); - - void reScoreSecondFourth(JSONObject form, Long empId); - - void reOkrSecondFourth(JSONObject form, EmployeePosition emp); - - void rePieceSecondThird(JSONObject form,Long empId); - - void reKpiSecondThird(JSONObject form,Long empId); } diff --git a/src/main/java/com/example/workflow/service/impl/DeptPerformanceServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptPerformanceServiceImpl.java deleted file mode 100644 index c6dfb82..0000000 --- a/src/main/java/com/example/workflow/service/impl/DeptPerformanceServiceImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.example.workflow.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.example.workflow.mapper.DeptHierarchyMapper; -import com.example.workflow.mapper.DeptPerformanceMapper; -import com.example.workflow.model.entity.DeptHierarchy; -import com.example.workflow.model.entity.DeptPerformance; -import com.example.workflow.service.DeptHierarchyService; -import com.example.workflow.service.DeptPerformanceService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -@Service -@RequiredArgsConstructor -@Slf4j -public class DeptPerformanceServiceImpl extends ServiceImpl implements DeptPerformanceService { -} diff --git a/src/main/java/com/example/workflow/service/impl/DeptPerformanceViewServiceImpl.java b/src/main/java/com/example/workflow/service/impl/DeptPerformanceViewServiceImpl.java deleted file mode 100644 index f10dabd..0000000 --- a/src/main/java/com/example/workflow/service/impl/DeptPerformanceViewServiceImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.example.workflow.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.example.workflow.mapper.DeptPerformanceMapper; -import com.example.workflow.mapper.DeptPerformanceViewMapper; -import com.example.workflow.model.entity.DeptPerformance; -import com.example.workflow.model.entity.DeptPerformanceView; -import com.example.workflow.service.DeptPerformanceService; -import com.example.workflow.service.DeptPerformanceViewService; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - -@Service -@RequiredArgsConstructor -@Slf4j -public class DeptPerformanceViewServiceImpl extends ServiceImpl implements DeptPerformanceViewService { -} diff --git a/src/main/java/com/example/workflow/service/impl/PerformanceRuleServiceImpl.java b/src/main/java/com/example/workflow/service/impl/PerformanceRuleServiceImpl.java index b5fe9f1..6901774 100644 --- a/src/main/java/com/example/workflow/service/impl/PerformanceRuleServiceImpl.java +++ b/src/main/java/com/example/workflow/service/impl/PerformanceRuleServiceImpl.java @@ -1,7 +1,7 @@ package com.example.workflow.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.example.workflow.mapper.DeptPerformanceMapper; + import com.example.workflow.mapper.PerformanceRuleMapper; import com.example.workflow.model.entity.DeptPerformance; import com.example.workflow.model.entity.PerformanceRule; diff --git a/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java b/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java deleted file mode 100644 index 1ebc298..0000000 --- a/src/main/java/com/example/workflow/service/impl/ResultSecondExamineServiceImpl.java +++ /dev/null @@ -1,408 +0,0 @@ -package com.example.workflow.service.impl; - -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.example.workflow.mapper.ResultSecondExamineMapper; -import com.example.workflow.model.entity.BackWait; -import com.example.workflow.model.entity.Employee; -import com.example.workflow.model.entity.EmployeePosition; -import com.example.workflow.model.entity.OkrKey; -import com.example.workflow.model.entity.OkrRule; -import com.example.workflow.model.entity.PositionScore; -import com.example.workflow.model.entity.ResultSecondExamine; -import com.example.workflow.model.entity.Role; -import com.example.workflow.model.entity.ScoreAssessors; -import com.example.workflow.service.BackWaitService; -import com.example.workflow.service.EmployeePositionService; -import com.example.workflow.service.EmployeeService; -import com.example.workflow.service.OkrKeyService; -import com.example.workflow.service.OkrRuleService; -import com.example.workflow.service.PositionScoreService; -import com.example.workflow.service.ResultSecondExamineService; -import com.example.workflow.service.RoleService; -import com.example.workflow.service.ScoreAssessorsService; -import org.camunda.bpm.engine.IdentityService; -import org.camunda.bpm.engine.RuntimeService; -import org.camunda.bpm.engine.runtime.ProcessInstance; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -@Service -public class ResultSecondExamineServiceImpl extends ServiceImpl implements ResultSecondExamineService { - @Autowired - private IdentityService identityService; - @Autowired - private EmployeePositionService employeePositionService; - @Autowired - private RoleService roleService; - @Autowired - private RuntimeService runtimeService; - @Autowired - private PositionScoreService positionScoreService; - @Autowired - private ScoreAssessorsService scoreAssessorsService; - @Autowired - private BackWaitService backWaitService; - @Autowired - private OkrKeyService okrKeyService; - @Autowired - private OkrRuleService okrRuleService; - @Autowired - private EmployeeService employeeService; - - @Override - public void rePieceSecondFifth(JSONObject form){ - Long roleId = roleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId = employeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list = employeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(10); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_1a4y3g9",map); - - BackWait backWait = backWaitService.addOne( - Long.valueOf(form.getString("positionId")) - ,x.getEmpId() - , "back_second_piece" - ,processInstance - ,"Process_1a4y3g9" - ,form.getString("opinion2")); - backWaitService.save(backWait); - }); - } - - - @Override - public void reKpiSecondFifth(JSONObject form){ - Long roleId = roleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId = employeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - - List list = employeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(10); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_065p3a1",map); - - BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_kpi" - ,processInstance - ,"Process_065p3a1" - ,form.getString("opinion3")); - backWaitService.save(backWait); - }); - } - - - @Override - public void reScoreSecondFifth(JSONObject form){ - List assessorList = new ArrayList<>(10); - - List num = positionScoreService.lambdaQuery() - .eq(PositionScore::getPositionId,form.getString("positionId")) - .list(); - - num.forEach(y->{ - List assessor = scoreAssessorsService.lambdaQuery() - .eq(ScoreAssessors::getPositionScoreId,y.getId()) - .list(); - assessor.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); - }); - List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - - List list = employeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .list(); - System.out.println(); - list.forEach(x->{ - Map map = new HashMap<>(10); - map.put("ASList", assessors); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0scky72",map); - - BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_score" - ,processInstance - ,"Process_0scky72" - ,form.getString("opinion1")); - backWaitService.save(backWait); - }); - } - - - @Override - public void reOkrSecondFifth(JSONObject form,EmployeePosition emp){ - List assessorList = new ArrayList<>(); - - List num = okrKeyService.lambdaQuery() - .eq(OkrKey::getPositionId,form.getString("positionId")) - .eq(OkrKey::getLiaEmpId,emp.getEmpId()) - .list(); - - num.forEach(y->{ - List ruleList = okrRuleService.lambdaQuery() - .eq(OkrRule::getId,y.getId()) - .list(); - ruleList.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); - }); - List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(10); - map.put("AOList", assessors); - - identityService.setAuthenticatedUserId(String.valueOf(emp.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0jeppqc",map); - - BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,emp.getEmpId(),"back_second_okr" - ,processInstance - ,"Process_0jeppqc" - ,form.getString("opinion4")); - backWaitService.save(backWait); - } - - - @Override - public void rePieceSecondFourth(JSONObject form){ - Long roleId = roleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId = employeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list = employeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(10); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0a7afjy",map); - - BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_piece" - ,processInstance - ,"Process_0a7afjy" - ,form.getString("opinion2")); - backWaitService.save(backWait); - }); - } - - - @Override - public void reKpiSecondFourth(JSONObject form){ - Long roleId = roleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId = employeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list = employeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(10); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0tcatx0",map); - - BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_kpi" - ,processInstance - ,"Process_0tcatx0" - ,form.getString("opinion3")); - backWaitService.save(backWait); - }); - } - - - @Override - public void reScoreSecondFourth(JSONObject form){ - List assessorList = new ArrayList<>(); - - List num = positionScoreService.lambdaQuery() - .eq(PositionScore::getPositionId,form.getString("positionId")) - .list(); - - num.forEach(y->{ - List assessor = scoreAssessorsService.lambdaQuery() - .eq(ScoreAssessors::getPositionScoreId,y.getId()) - .list(); - assessor.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); - }); - List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - - List list = employeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(10); - map.put("ASList", assessors); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_17y117z",map); - - BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_score" - ,processInstance - ,"Process_17y117z" - ,form.getString("opinion1")); - backWaitService.save(backWait); - }); - } - - - @Override - public void reOkrSecondFourth(JSONObject form,EmployeePosition emp){ - List assessorList = new ArrayList<>(); - - List num = okrKeyService.lambdaQuery() - .eq(OkrKey::getPositionId,form.getString("positionId")) - .eq(OkrKey::getLiaEmpId,emp.getEmpId()) - .list(); - - num.forEach(y->{ - List ruleList = okrRuleService.lambdaQuery() - .eq(OkrRule::getId,y.getRuleId()) - .list(); - ruleList.forEach(z -> assessorList.add(String.valueOf(z.getAssessorId()))); - }); - List assessors=assessorList.stream().distinct().collect(Collectors.toList()); - - Map map = new HashMap<>(10); - map.put("AOList", assessors); - - identityService.setAuthenticatedUserId(String.valueOf(emp.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0aqalb8",map); - - BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,emp.getEmpId(),"back_second_okr" - ,processInstance - ,"Process_0aqalb8" - ,form.getString("opinion4")); - backWaitService.save(backWait); - } - - - @Override - public void rePieceSecondThird(JSONObject form){ - Long roleId = roleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId = employeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list = employeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(16); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_1rgr65b",map); - - BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_piece" - ,processInstance - ,"Process_1rgr65b" - ,form.getString("opinion2")); - backWaitService.save(backWait); - }); - } - - - @Override - public void reKpiSecondThird(JSONObject form){ - Long roleId = roleService.lambdaQuery() - .eq(Role::getRoleName,"绩效专员") - .eq(Role::getState,1) - .one().getId(); - - Long empId = employeeService.lambdaQuery() - .eq(Employee::getRoleId,roleId) - .one().getId(); - - List list = employeePositionService - .lambdaQuery() - .eq(EmployeePosition::getPositionId,form.getString("positionId")) - .list(); - - list.forEach(x->{ - Map map = new HashMap<>(32); - map.put("wageEmp",empId.toString()); - - identityService.setAuthenticatedUserId(String.valueOf(x.getEmpId())); - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey("Process_0m9w7vi",map); - - BackWait backWait = backWaitService.addOne(Long.valueOf(form.getString("positionId")) - ,x.getEmpId(),"back_second_kpi" - ,processInstance - ,"Process_0m9w7vi" - ,form.getString("opinion3")); - backWaitService.save(backWait); - }); - } -} -- Gitee