Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/controller/PostCheckedHomePageController.java
csg6 10 months ago
parent
commit
2ccea4a071
14 changed files with 446 additions and 210 deletions
  1. 20 0
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/controller/PostAssessmentRatingOtherController.java
  2. 14 20
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/controller/PostCheckedHomePageController.java
  3. 5 1
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/domain/PostAssessmentRatingOther.java
  4. 6 2
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/domain/PostAssessmentRatingOtherInfo.java
  5. 7 1
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/domain/tools/PostAssessmentRatingOtherInfoDept.java
  6. 12 0
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/mapper/PostAssessmentRatingOtherMapper.java
  7. 5 0
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/mapper/PostCheckedProblemMapper.java
  8. 4 0
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/IPostAssessmentRatingOtherService.java
  9. 2 1
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/IPostCheckedProblemService.java
  10. 149 170
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/impl/PostAssessmentRatingOtherServiceImpl.java
  11. 95 5
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/impl/PostAssessmentRatingServiceImpl.java
  12. 47 4
      ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/impl/PostCheckedProblemServiceImpl.java
  13. 67 6
      ruoyi-postcheck/src/main/resources/mapper/postCheck/PostAssessmentRatingOtherMapper.xml
  14. 13 0
      ruoyi-postcheck/src/main/resources/mapper/postCheck/PostCheckedProblemMapper.xml

+ 20 - 0
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/controller/PostAssessmentRatingOtherController.java

@@ -173,6 +173,26 @@ public class PostAssessmentRatingOtherController extends BaseController {
173
     @Log(title = "打分表(职能互评生产日常)", businessType = BusinessType.INSERT)
173
     @Log(title = "打分表(职能互评生产日常)", businessType = BusinessType.INSERT)
174
     @PostMapping("/batchAddRatingOther")
174
     @PostMapping("/batchAddRatingOther")
175
     public AjaxResult batchAddRatingOther(@RequestBody PostAssessmentRatingOther postAssessmentRatingOther) {
175
     public AjaxResult batchAddRatingOther(@RequestBody PostAssessmentRatingOther postAssessmentRatingOther) {
176
+        postAssessmentRatingOther.setDeptId(getDeptId());
176
         return toAjax(postAssessmentRatingOtherService.batchAddRatingOther(postAssessmentRatingOther));
177
         return toAjax(postAssessmentRatingOtherService.batchAddRatingOther(postAssessmentRatingOther));
177
     }
178
     }
179
+
180
+
181
+
182
+
183
+    @ApiOperation("职能互评表打分提交")
184
+    @PreAuthorize("@ss.hasPermi('postCheck:postAssessmentRatingOther:update')")
185
+    @Log(title = "职能互评表打分提交", businessType = BusinessType.UPDATE)
186
+    @PostMapping("/functionalDepartmentSub")
187
+    public AjaxResult functionalDepartmentSub(@RequestBody PostAssessmentRatingOther postAssessmentRatingOther) {
188
+        return toAjax(postAssessmentRatingOtherService.batchAddRatingOtherUpdate(postAssessmentRatingOther));
189
+    }
190
+
191
+    @ApiOperation("生产部门日常得分")
192
+    @PreAuthorize("@ss.hasPermi('postCheck:postAssessmentRatingOther:update')")
193
+    @Log(title = "生产部门日常得分", businessType = BusinessType.UPDATE)
194
+    @PostMapping("/productionDepartmentSub")
195
+    public AjaxResult productionDepartmentSub(@RequestBody List<PostAssessmentRatingOther> postAssessmentRatingOther) {
196
+        return toAjax(postAssessmentRatingOtherService.productionDepartmentSub(postAssessmentRatingOther));
197
+    }
178
 }
198
 }

+ 14 - 20
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/controller/PostCheckedHomePageController.java

@@ -27,28 +27,22 @@ public class PostCheckedHomePageController extends BaseController {
27
     @Autowired
27
     @Autowired
28
     private IPostCheckedProblemService postCheckedProblemService;
28
     private IPostCheckedProblemService postCheckedProblemService;
29
 
29
 
30
-
30
+    /**
31
+     * 1、责任制清单:post_list表
32
+     * 2、检查出的问题:post_checked_problem表
33
+     * 3、岗检数量-已查:post_plan t1 inner join post_plan_info t2 两张表连接,t2.status(岗检状态:1-未检;2-已检;)
34
+     * 4、岗检数量-未查:post_plan t1 inner join post_plan_info t2 两张表连接,t2.status(岗检状态:1-未检;2-已检;)
35
+     */
31
     @ApiOperation("1-总览")
36
     @ApiOperation("1-总览")
32
-//    @ApiImplicitParams({
33
-//            @ApiImplicitParam(name = "listCount", value = "责任制清单数量", dataType = "Integer", dataTypeClass = Integer.class),
34
-//            @ApiImplicitParam(name = "problemCount", value = "检查出的问题数量", dataType = "Integer", dataTypeClass = Integer.class),
35
-//            @ApiImplicitParam(name = "checkedPostCount", value = "岗检数量-已查", dataType = "Integer", dataTypeClass = Integer.class),
36
-//            @ApiImplicitParam(name = "uncheckedPostCount", value = "岗检数量-未查", dataType = "Integer", dataTypeClass = Integer.class),
37
-//    })
37
+    @ApiImplicitParams({
38
+            @ApiImplicitParam(name = "listCount", value = "责任制清单数量", dataType = "Integer", dataTypeClass = Integer.class),
39
+            @ApiImplicitParam(name = "problemCount", value = "检查出的问题数量", dataType = "Integer", dataTypeClass = Integer.class),
40
+            @ApiImplicitParam(name = "checkedPostCount", value = "岗检数量-已查", dataType = "Integer", dataTypeClass = Integer.class),
41
+            @ApiImplicitParam(name = "uncheckedPostCount", value = "岗检数量-未查", dataType = "Integer", dataTypeClass = Integer.class),
42
+    })
38
     @GetMapping("/totalView")
43
     @GetMapping("/totalView")
39
-    public AjaxResult totalView(PostTotalView postTotalView) {
40
-        //1、责任制清单:post_list表
41
-        //2、检查出的问题:post_checked_problem表
42
-        //3、岗检数量-已查:post_plan t1 inner join post_plan_info t2 两张表连接,t2.status(岗检状态:1-未检;2-已检;)
43
-        //4、岗检数量-未查:post_plan t1 inner join post_plan_info t2 两张表连接,t2.status(岗检状态:1-未检;2-已检;)
44
-        List<PostTotalView> list = new ArrayList<>();
45
-        PostTotalView data = new PostTotalView();
46
-//        data.set
47
-//        data.set
48
-//        data.set
49
-//        data.set
50
-        list.add(data);
51
-        return success(list);
44
+    public AjaxResult totalView() {
45
+        return success(postCheckedProblemService.totalView());
52
     }
46
     }
53
 
47
 
54
 
48
 

+ 5 - 1
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/domain/PostAssessmentRatingOther.java

@@ -5,6 +5,8 @@ import java.util.Date;
5
 import java.util.List;
5
 import java.util.List;
6
 
6
 
7
 import com.fasterxml.jackson.annotation.JsonFormat;
7
 import com.fasterxml.jackson.annotation.JsonFormat;
8
+import lombok.AllArgsConstructor;
9
+import lombok.NoArgsConstructor;
8
 import org.apache.commons.lang3.builder.ToStringBuilder;
10
 import org.apache.commons.lang3.builder.ToStringBuilder;
9
 import org.apache.commons.lang3.builder.ToStringStyle;
11
 import org.apache.commons.lang3.builder.ToStringStyle;
10
 import com.ruoyi.common.annotation.Excel;
12
 import com.ruoyi.common.annotation.Excel;
@@ -26,6 +28,8 @@ import lombok.EqualsAndHashCode;
26
 @Data
28
 @Data
27
 @ApiModel(value = "打分表(职能互评生产日常)对象")
29
 @ApiModel(value = "打分表(职能互评生产日常)对象")
28
 @TableName("post_assessment_rating_other") // 数据库表名
30
 @TableName("post_assessment_rating_other") // 数据库表名
31
+@AllArgsConstructor
32
+@NoArgsConstructor
29
 public class PostAssessmentRatingOther extends BaseEntity
33
 public class PostAssessmentRatingOther extends BaseEntity
30
 {
34
 {
31
     private static final long serialVersionUID = 1L;
35
     private static final long serialVersionUID = 1L;
@@ -81,6 +85,6 @@ public class PostAssessmentRatingOther extends BaseEntity
81
 
85
 
82
     @ApiModelProperty("明细表集合")
86
     @ApiModelProperty("明细表集合")
83
     @TableField(exist = false)
87
     @TableField(exist = false)
84
-    private List<PostAssessmentRatingOtherInfo> children = new ArrayList<>();
88
+    private List<PostAssessmentRatingOtherInfo> children;
85
 
89
 
86
 }
90
 }

+ 6 - 2
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/domain/PostAssessmentRatingOtherInfo.java

@@ -5,6 +5,8 @@ import java.util.ArrayList;
5
 import java.util.List;
5
 import java.util.List;
6
 
6
 
7
 import com.ruoyi.postCheck.domain.tools.PostAssessmentRatingOtherInfoDept;
7
 import com.ruoyi.postCheck.domain.tools.PostAssessmentRatingOtherInfoDept;
8
+import lombok.AllArgsConstructor;
9
+import lombok.NoArgsConstructor;
8
 import org.apache.commons.lang3.builder.ToStringBuilder;
10
 import org.apache.commons.lang3.builder.ToStringBuilder;
9
 import org.apache.commons.lang3.builder.ToStringStyle;
11
 import org.apache.commons.lang3.builder.ToStringStyle;
10
 import com.ruoyi.common.annotation.Excel;
12
 import com.ruoyi.common.annotation.Excel;
@@ -26,7 +28,9 @@ import lombok.EqualsAndHashCode;
26
 @Data
28
 @Data
27
 @ApiModel(value = "打分表明细(职能互评生产日常)对象")
29
 @ApiModel(value = "打分表明细(职能互评生产日常)对象")
28
 @TableName("post_assessment_rating_other_info") // 数据库表名
30
 @TableName("post_assessment_rating_other_info") // 数据库表名
29
-public class PostAssessmentRatingOtherInfo extends BaseEntity
31
+@AllArgsConstructor
32
+@NoArgsConstructor
33
+public class    PostAssessmentRatingOtherInfo extends BaseEntity
30
 {
34
 {
31
     private static final long serialVersionUID = 1L;
35
     private static final long serialVersionUID = 1L;
32
 
36
 
@@ -75,6 +79,6 @@ public class PostAssessmentRatingOtherInfo extends BaseEntity
75
 
79
 
76
     @ApiModelProperty("打分表明细里面放的为各个部门的评分结果")
80
     @ApiModelProperty("打分表明细里面放的为各个部门的评分结果")
77
     @TableField(exist = false)
81
     @TableField(exist = false)
78
-    private List<PostAssessmentRatingOtherInfoDept> children = new ArrayList<>();
82
+    private List<PostAssessmentRatingOtherInfoDept> children;
79
 
83
 
80
 }
84
 }

+ 7 - 1
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/domain/tools/PostAssessmentRatingOtherInfoDept.java

@@ -6,8 +6,10 @@ import com.ruoyi.common.annotation.Excel;
6
 import com.ruoyi.common.core.domain.BaseEntity;
6
 import com.ruoyi.common.core.domain.BaseEntity;
7
 import io.swagger.annotations.ApiModel;
7
 import io.swagger.annotations.ApiModel;
8
 import io.swagger.annotations.ApiModelProperty;
8
 import io.swagger.annotations.ApiModelProperty;
9
+import lombok.AllArgsConstructor;
9
 import lombok.Data;
10
 import lombok.Data;
10
 import lombok.EqualsAndHashCode;
11
 import lombok.EqualsAndHashCode;
12
+import lombok.NoArgsConstructor;
11
 
13
 
12
 import java.io.Serializable;
14
 import java.io.Serializable;
13
 import java.math.BigDecimal;
15
 import java.math.BigDecimal;
@@ -21,12 +23,14 @@ import java.math.BigDecimal;
21
 
23
 
22
 @Data
24
 @Data
23
 @ApiModel(value = "打分表明细里面放的为各个部门的评分结果")
25
 @ApiModel(value = "打分表明细里面放的为各个部门的评分结果")
26
+@NoArgsConstructor
24
 public class PostAssessmentRatingOtherInfoDept implements Serializable {
27
 public class PostAssessmentRatingOtherInfoDept implements Serializable {
25
 
28
 
26
 
29
 
27
 //    public PostAssessmentRatingOtherInfoDept(Long ratingOtherInfoId, Long byDeptId, String byDeptName, BigDecimal byDeptScore) {
30
 //    public PostAssessmentRatingOtherInfoDept(Long ratingOtherInfoId, Long byDeptId, String byDeptName, BigDecimal byDeptScore) {
28
-    public PostAssessmentRatingOtherInfoDept( Long byDeptId, String byDeptName, BigDecimal byDeptScore) {
31
+    public PostAssessmentRatingOtherInfoDept( Long id,Long byDeptId, String byDeptName, BigDecimal byDeptScore) {
29
 //        this.ratingOtherInfoId = ratingOtherInfoId;
32
 //        this.ratingOtherInfoId = ratingOtherInfoId;
33
+        this.id = id;
30
         this.byDeptId = byDeptId;
34
         this.byDeptId = byDeptId;
31
         this.byDeptName = byDeptName;
35
         this.byDeptName = byDeptName;
32
         this.byDeptScore = byDeptScore;
36
         this.byDeptScore = byDeptScore;
@@ -41,6 +45,8 @@ public class PostAssessmentRatingOtherInfoDept implements Serializable {
41
 //    private Integer dutyType;
45
 //    private Integer dutyType;
42
 
46
 
43
     @ApiModelProperty("被评分部门ID")
47
     @ApiModelProperty("被评分部门ID")
48
+    private Long id;
49
+    @ApiModelProperty("被评分部门ID")
44
     private Long byDeptId;
50
     private Long byDeptId;
45
 
51
 
46
     @ApiModelProperty("被评分部门名称")
52
     @ApiModelProperty("被评分部门名称")

+ 12 - 0
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/mapper/PostAssessmentRatingOtherMapper.java

@@ -1,6 +1,8 @@
1
 package com.ruoyi.postCheck.mapper;
1
 package com.ruoyi.postCheck.mapper;
2
 
2
 
3
 import java.util.List;
3
 import java.util.List;
4
+import java.util.Map;
5
+
4
 import com.ruoyi.postCheck.domain.PostAssessmentRatingOther;
6
 import com.ruoyi.postCheck.domain.PostAssessmentRatingOther;
5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
7
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
 
8
 
@@ -28,6 +30,10 @@ public interface PostAssessmentRatingOtherMapper extends BaseMapper<PostAssessme
28
      */
30
      */
29
     public List<PostAssessmentRatingOther> selectPostAssessmentRatingOtherList(PostAssessmentRatingOther postAssessmentRatingOther);
31
     public List<PostAssessmentRatingOther> selectPostAssessmentRatingOtherList(PostAssessmentRatingOther postAssessmentRatingOther);
30
 
32
 
33
+
34
+
35
+    public List<PostAssessmentRatingOther> selectPostAssessmentRatingOtherListGroup(PostAssessmentRatingOther postAssessmentRatingOther);
36
+
31
     /**
37
     /**
32
      * 新增打分表(职能互评生产日常)
38
      * 新增打分表(职能互评生产日常)
33
      *
39
      *
@@ -59,4 +65,10 @@ public interface PostAssessmentRatingOtherMapper extends BaseMapper<PostAssessme
59
      * @return 结果
65
      * @return 结果
60
      */
66
      */
61
     public int deletePostAssessmentRatingOtherByIds(Long[] ids);
67
     public int deletePostAssessmentRatingOtherByIds(Long[] ids);
68
+
69
+
70
+    List<Long> getDeptIdList(Long id);
71
+
72
+    List<Map<String,String>> getDeptIdListByType(Integer type);
73
+
62
 }
74
 }

+ 5 - 0
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/mapper/PostCheckedProblemMapper.java

@@ -1,5 +1,6 @@
1
 package com.ruoyi.postCheck.mapper;
1
 package com.ruoyi.postCheck.mapper;
2
 
2
 
3
+import java.math.BigDecimal;
3
 import java.util.List;
4
 import java.util.List;
4
 import com.ruoyi.postCheck.domain.PostCheckedProblem;
5
 import com.ruoyi.postCheck.domain.PostCheckedProblem;
5
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
6
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -59,4 +60,8 @@ public interface PostCheckedProblemMapper extends BaseMapper<PostCheckedProblem>
59
      * @return 结果
60
      * @return 结果
60
      */
61
      */
61
     public int deletePostCheckedProblemByIds(Long[] ids);
62
     public int deletePostCheckedProblemByIds(Long[] ids);
63
+
64
+    BigDecimal getPostTotalByDeptId(Long deptId);
65
+
66
+    Integer selectCheckedPostCount(int status);
62
 }
67
 }

+ 4 - 0
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/IPostAssessmentRatingOtherService.java

@@ -67,4 +67,8 @@ public interface IPostAssessmentRatingOtherService extends IService<PostAssessme
67
      * @return
67
      * @return
68
      */
68
      */
69
     int batchAddRatingOther(PostAssessmentRatingOther postAssessmentRatingOther);
69
     int batchAddRatingOther(PostAssessmentRatingOther postAssessmentRatingOther);
70
+
71
+    int batchAddRatingOtherUpdate(PostAssessmentRatingOther postAssessmentRatingOther);
72
+
73
+    int productionDepartmentSub(List<PostAssessmentRatingOther> postAssessmentRatingOther);
70
 }
74
 }

+ 2 - 1
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/IPostCheckedProblemService.java

@@ -8,6 +8,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
8
 import com.ruoyi.common.enums.BusinessType;
8
 import com.ruoyi.common.enums.BusinessType;
9
 import com.ruoyi.postCheck.domain.PostCheckedProblem;
9
 import com.ruoyi.postCheck.domain.PostCheckedProblem;
10
 import com.baomidou.mybatisplus.extension.service.IService;
10
 import com.baomidou.mybatisplus.extension.service.IService;
11
+import com.ruoyi.postCheck.domain.homePage.PostTotalView;
11
 import io.swagger.annotations.ApiImplicitParam;
12
 import io.swagger.annotations.ApiImplicitParam;
12
 import io.swagger.annotations.ApiImplicitParams;
13
 import io.swagger.annotations.ApiImplicitParams;
13
 import io.swagger.annotations.ApiOperation;
14
 import io.swagger.annotations.ApiOperation;
@@ -152,5 +153,5 @@ public interface IPostCheckedProblemService extends IService<PostCheckedProblem>
152
     int setReviewDepartmentReviewerTime(Long id, Integer status, String reviewConclusion, String reason);
153
     int setReviewDepartmentReviewerTime(Long id, Integer status, String reviewConclusion, String reason);
153
 
154
 
154
 
155
 
155
-
156
+    PostTotalView totalView();
156
 }
157
 }

+ 149 - 170
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/impl/PostAssessmentRatingOtherServiceImpl.java

@@ -1,27 +1,39 @@
1
 package com.ruoyi.postCheck.service.impl;
1
 package com.ruoyi.postCheck.service.impl;
2
 
2
 
3
-import java.math.BigDecimal;
4
-import java.util.ArrayList;
5
-import java.util.Date;
6
-import java.util.List;
7
-
3
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
4
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
5
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
8
 import com.ruoyi.common.constant.PostAssessmentRatingOtherEnum;
6
 import com.ruoyi.common.constant.PostAssessmentRatingOtherEnum;
9
-import com.ruoyi.common.utils.DateUtils;
10
 import com.ruoyi.common.utils.SecurityUtils;
7
 import com.ruoyi.common.utils.SecurityUtils;
11
-import com.ruoyi.common.utils.spring.SpringUtils;
8
+import com.ruoyi.postCheck.domain.PostAssessmentRatingOther;
12
 import com.ruoyi.postCheck.domain.PostAssessmentRatingOtherInfo;
9
 import com.ruoyi.postCheck.domain.PostAssessmentRatingOtherInfo;
10
+import com.ruoyi.postCheck.domain.PostAssessmentRules;
13
 import com.ruoyi.postCheck.domain.tools.PostAssessmentRatingOtherInfoDept;
11
 import com.ruoyi.postCheck.domain.tools.PostAssessmentRatingOtherInfoDept;
14
-import io.swagger.annotations.ApiImplicitParam;
15
-import io.swagger.annotations.ApiModelProperty;
16
-import org.springframework.beans.factory.annotation.Autowired;
17
-import org.springframework.stereotype.Service;
12
+import com.ruoyi.postCheck.mapper.PostAssessmentRatingMapper;
13
+import com.ruoyi.postCheck.mapper.PostAssessmentRatingOtherInfoMapper;
18
 import com.ruoyi.postCheck.mapper.PostAssessmentRatingOtherMapper;
14
 import com.ruoyi.postCheck.mapper.PostAssessmentRatingOtherMapper;
19
-import com.ruoyi.postCheck.domain.PostAssessmentRatingOther;
15
+import com.ruoyi.postCheck.mapper.PostAssessmentRulesMapper;
20
 import com.ruoyi.postCheck.service.IPostAssessmentRatingOtherService;
16
 import com.ruoyi.postCheck.service.IPostAssessmentRatingOtherService;
21
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
22
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
17
+import org.springframework.beans.factory.annotation.Autowired;
18
+import org.springframework.stereotype.Service;
23
 import org.springframework.transaction.annotation.Transactional;
19
 import org.springframework.transaction.annotation.Transactional;
24
 
20
 
21
+import java.math.BigDecimal;
22
+import java.util.ArrayList;
23
+import java.util.Date;
24
+import java.util.List;
25
+import java.util.UUID;
26
+import java.util.stream.Collectors;
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
25
 /**
37
 /**
26
  * 打分表(职能互评生产日常)Service业务层处理
38
  * 打分表(职能互评生产日常)Service业务层处理
27
  *
39
  *
@@ -31,6 +43,12 @@ import org.springframework.transaction.annotation.Transactional;
31
 @Service
43
 @Service
32
 public class PostAssessmentRatingOtherServiceImpl extends ServiceImpl<PostAssessmentRatingOtherMapper, PostAssessmentRatingOther> implements IPostAssessmentRatingOtherService {
44
 public class PostAssessmentRatingOtherServiceImpl extends ServiceImpl<PostAssessmentRatingOtherMapper, PostAssessmentRatingOther> implements IPostAssessmentRatingOtherService {
33
     @Autowired
45
     @Autowired
46
+    private PostAssessmentRulesMapper postAssessmentRulesMapper;
47
+    @Autowired
48
+    private PostAssessmentRatingOtherInfoMapper postAssessmentRatingOtherInfoMapper;
49
+    @Autowired
50
+    private PostAssessmentRatingMapper postAssessmentRatingMapper;
51
+    @Autowired
34
     private PostAssessmentRatingOtherMapper postAssessmentRatingOtherMapper;
52
     private PostAssessmentRatingOtherMapper postAssessmentRatingOtherMapper;
35
 
53
 
36
     /**
54
     /**
@@ -42,94 +60,45 @@ public class PostAssessmentRatingOtherServiceImpl extends ServiceImpl<PostAssess
42
     @Override
60
     @Override
43
     public PostAssessmentRatingOther selectPostAssessmentRatingOtherById(Long id) {
61
     public PostAssessmentRatingOther selectPostAssessmentRatingOtherById(Long id) {
44
         PostAssessmentRatingOther data = postAssessmentRatingOtherMapper.selectPostAssessmentRatingOtherById(id);
62
         PostAssessmentRatingOther data = postAssessmentRatingOtherMapper.selectPostAssessmentRatingOtherById(id);
45
-
46
-        id = 123456789l;
47
-        data = new PostAssessmentRatingOther();
48
-
49
-//        PostAssessmentRatingOther data = new PostAssessmentRatingOther();
50
-        data.setId(id);
51
-        data.setType(PostAssessmentRatingOtherEnum.TYPE_ZN_HP.getValue());
52
-        data.setBatchId("111111");
53
-        data.setStatus(PostAssessmentRatingOtherEnum.STATUS_ING.getValue());//状态
54
-        data.setStartTime(new Date());//评分时间
55
-
56
-
63
+        List<PostAssessmentRatingOther> postAssessmentRatingOthers = postAssessmentRatingOtherMapper.selectList(Wrappers.<PostAssessmentRatingOther>lambdaQuery()
64
+                .eq(PostAssessmentRatingOther::getBatchId,data.getBatchId())
65
+        );
66
+        if (postAssessmentRatingOthers.isEmpty()){
67
+            return new PostAssessmentRatingOther();
68
+        }
57
 //        String[] deptArr = new String[]{"健康安全环保中心", "生产指挥中心", "设备管理中心", "技术中心", "仓储组", "党建工作部", "内控法务部", "人力资源部", "商务部", "办公室", "规划计划部", "信息中心", "财务资金部"};
69
 //        String[] deptArr = new String[]{"健康安全环保中心", "生产指挥中心", "设备管理中心", "技术中心", "仓储组", "党建工作部", "内控法务部", "人力资源部", "商务部", "办公室", "规划计划部", "信息中心", "财务资金部"};
58
-
70
+        Long type = 2L;
71
+        if (data.getType() == 2){
72
+            type = 3L;
73
+        }
74
+        List<PostAssessmentRules> postAssessmentRules = postAssessmentRulesMapper.selectList(Wrappers.<PostAssessmentRules>lambdaQuery()
75
+                .eq(PostAssessmentRules::getType, type)
76
+        );
59
         List<PostAssessmentRatingOtherInfo> children = new ArrayList<>();
77
         List<PostAssessmentRatingOtherInfo> children = new ArrayList<>();
60
-
61
-        String[] deptArr = new String[]{"健康安全环保中心", "生产指挥中心", "设备管理中心", "技术中心", "仓储组", "党建工作部", "内控法务部", "人力资源部", "商务部", "办公室", "规划计划部", "信息中心", "财务资金部"};
62
-        PostAssessmentRatingOtherInfo child1 = new PostAssessmentRatingOtherInfo();
63
-        child1.setId(System.currentTimeMillis());
64
-        child1.setRatingOtherId(id);
78
+        for (PostAssessmentRules postAssessmentRule : postAssessmentRules) {
79
+            PostAssessmentRatingOtherInfo child1 = new PostAssessmentRatingOtherInfo();
65
 // "评分分类/项目/专业:职责类别:1-业务职责;2-党建及党风廉政;3-安全环保职责;4-合规与保密职责;5-任职资格与能力素质要求;6-岗位责任制文件完整性与适宜性;
80
 // "评分分类/项目/专业:职责类别:1-业务职责;2-党建及党风廉政;3-安全环保职责;4-合规与保密职责;5-任职资格与能力素质要求;6-岗位责任制文件完整性与适宜性;
66
 // 10-工作态度;11-部门协作;12-廉洁从业;13-主要工作完成情况;
81
 // 10-工作态度;11-部门协作;12-廉洁从业;13-主要工作完成情况;
67
 // 20-HSE;21-生产;22-设备;")
82
 // 20-HSE;21-生产;22-设备;")
68
-        child1.setDutyType(10);
69
-        child1.setScoreWeight(new BigDecimal(20));
70
-        List<PostAssessmentRatingOtherInfoDept> children1 = new ArrayList<>();
71
-        for (int i = 0; i < deptArr.length; i++) {
72
-            Long deptId = Long.parseLong(String.valueOf(i + 1));
73
-            String deptName = deptArr[i];
74
-            children1.add(new PostAssessmentRatingOtherInfoDept(deptId, deptName, new BigDecimal(20 - i)));
75
-        }
76
-        child1.setChildren(children1);
77
-        child1.setRule("评分标准-工作态度");
78
-
79
-        PostAssessmentRatingOtherInfo child2 = new PostAssessmentRatingOtherInfo();
80
-        child2.setId(System.currentTimeMillis());
81
-        child2.setRatingOtherId(id);
82
-        child2.setDutyType(11);
83
-        child2.setScoreWeight(new BigDecimal(20));
84
-        List<PostAssessmentRatingOtherInfoDept> children2 = new ArrayList<>();
85
-        for (int i = 0; i < deptArr.length; i++) {
86
-            Long deptId = Long.parseLong(String.valueOf(i + 1));
87
-            String deptName = deptArr[i];
88
-            children2.add(new PostAssessmentRatingOtherInfoDept(deptId, deptName, new BigDecimal(20 - i)));
83
+            child1.setDutyType(postAssessmentRule.getDutyType());
84
+            child1.setScoreWeight(new BigDecimal(postAssessmentRule.getFullScore()));
85
+            List<PostAssessmentRatingOtherInfoDept> children1 = new ArrayList<>();
86
+            for (PostAssessmentRatingOther postAssessmentRatingOther : postAssessmentRatingOthers) {
87
+                List<PostAssessmentRatingOtherInfo> postAssessmentRatingOtherInfos = postAssessmentRatingOtherInfoMapper.selectList(Wrappers.<PostAssessmentRatingOtherInfo>lambdaQuery()
88
+                        .eq(PostAssessmentRatingOtherInfo::getRatingOtherId,postAssessmentRatingOther.getId())
89
+                        .eq(PostAssessmentRatingOtherInfo::getDutyType,postAssessmentRule.getDutyType())
90
+                );
91
+                BigDecimal distance = new BigDecimal("0");
92
+                if (postAssessmentRatingOtherInfos.isEmpty()){
93
+                    continue;
94
+                }
95
+                distance = postAssessmentRatingOtherInfos.get(0).getByDeptScore();
96
+                children1.add(new PostAssessmentRatingOtherInfoDept(postAssessmentRatingOtherInfos.get(0).getId(),postAssessmentRatingOther.getDeptId(), postAssessmentRatingMapper.getSysDeptName(postAssessmentRatingOther.getDeptId()), distance));
97
+            }
98
+            child1.setChildren(children1);
99
+            children.add(child1);
89
         }
100
         }
90
-        child2.setChildren(children2);
91
-        child2.setRule("评分标准-部门协作");
92
-
93
-
94
-        PostAssessmentRatingOtherInfo child3 = new PostAssessmentRatingOtherInfo();
95
-        child3.setId(System.currentTimeMillis());
96
-        child3.setRatingOtherId(id);
97
-        child3.setDutyType(12);
98
-        child3.setScoreWeight(new BigDecimal(20));
99
-        List<PostAssessmentRatingOtherInfoDept> children3 = new ArrayList<>();
100
-        for (int i = 0; i < deptArr.length; i++) {
101
-            Long deptId = Long.parseLong(String.valueOf(i + 1));
102
-            String deptName = deptArr[i];
103
-            children3.add(new PostAssessmentRatingOtherInfoDept(deptId, deptName, new BigDecimal(20 - i)));
104
-        }
105
-        child3.setChildren(children3);
106
-        child3.setRule("评分标准-廉洁从业");
107
-
108
-
109
-        PostAssessmentRatingOtherInfo child4 = new PostAssessmentRatingOtherInfo();
110
-        child4.setId(System.currentTimeMillis());
111
-        child4.setRatingOtherId(id);
112
-        child4.setDutyType(13);
113
-        child4.setScoreWeight(new BigDecimal(20));
114
-        List<PostAssessmentRatingOtherInfoDept> children4 = new ArrayList<>();
115
-        for (int i = 0; i < deptArr.length; i++) {
116
-            Long deptId = Long.parseLong(String.valueOf(i + 1));
117
-            String deptName = deptArr[i];
118
-            children4.add(new PostAssessmentRatingOtherInfoDept(deptId, deptName, new BigDecimal(20 - i)));
119
-        }
120
-        child4.setChildren(children4);
121
-        child4.setRule("评分标准-主要工作完成情况");
122
-
123
-
124
-        children.add(child1);
125
-        children.add(child2);
126
-        children.add(child3);
127
-        children.add(child4);
128
-
129
-
130
         data.setChildren(children);
101
         data.setChildren(children);
131
-
132
-
133
         return data;
102
         return data;
134
     }
103
     }
135
 
104
 
@@ -141,60 +110,18 @@ public class PostAssessmentRatingOtherServiceImpl extends ServiceImpl<PostAssess
141
      */
110
      */
142
     @Override
111
     @Override
143
     public List<PostAssessmentRatingOther> selectPostAssessmentRatingOtherList(PostAssessmentRatingOther postAssessmentRatingOther) {
112
     public List<PostAssessmentRatingOther> selectPostAssessmentRatingOtherList(PostAssessmentRatingOther postAssessmentRatingOther) {
144
-        List<PostAssessmentRatingOther> list = postAssessmentRatingOtherMapper.selectPostAssessmentRatingOtherList(postAssessmentRatingOther);
145
-        list = new ArrayList<>();
146
-
147
-        Long id = 123456789l;
148
-        PostAssessmentRatingOther data = new PostAssessmentRatingOther();
149
-        data.setId(id);
150
-        data.setType(PostAssessmentRatingOtherEnum.TYPE_ZN_HP.getValue());
151
-        data.setBatchId("111111");
152
-        data.setStatus(PostAssessmentRatingOtherEnum.STATUS_ING.getValue());//状态
153
-        data.setStartTime(new Date());//评分时间
154
-
155
-//        String[] deptArr = new String[]{"", "", "", "", "", "", "", "", "", "", "", "", ""};
156
-
157
-        List<PostAssessmentRatingOtherInfo> children = new ArrayList<>();
158
-
159
-        PostAssessmentRatingOtherInfo child1 = new PostAssessmentRatingOtherInfo();
160
-        child1.setId(System.currentTimeMillis());
161
-        child1.setRatingOtherId(id);
162
-// "评分分类/项目/专业:职责类别:1-业务职责;2-党建及党风廉政;3-安全环保职责;4-合规与保密职责;5-任职资格与能力素质要求;6-岗位责任制文件完整性与适宜性;
163
-// 10-工作态度;11-部门协作;12-廉洁从业;13-主要工作完成情况;
164
-// 20-HSE;21-生产;22-设备;")
165
-        child1.setDutyType(10);
166
-        child1.setScoreWeight(new BigDecimal(20));
167
-
168
-        PostAssessmentRatingOtherInfo child2 = new PostAssessmentRatingOtherInfo();
169
-        child2.setId(System.currentTimeMillis());
170
-        child2.setRatingOtherId(id);
171
-        child2.setDutyType(11);
172
-        child2.setScoreWeight(new BigDecimal(20));
173
-
174
-
175
-        PostAssessmentRatingOtherInfo child3 = new PostAssessmentRatingOtherInfo();
176
-        child3.setId(System.currentTimeMillis());
177
-        child3.setRatingOtherId(id);
178
-        child3.setDutyType(12);
179
-        child3.setScoreWeight(new BigDecimal(20));
180
-
181
-
182
-        PostAssessmentRatingOtherInfo child4 = new PostAssessmentRatingOtherInfo();
183
-        child4.setId(System.currentTimeMillis());
184
-        child4.setRatingOtherId(id);
185
-        child4.setDutyType(13);
186
-        child4.setScoreWeight(new BigDecimal(20));
187
-
188
-
189
-        children.add(child1);
190
-        children.add(child2);
191
-        children.add(child3);
192
-        children.add(child4);
193
-
194
-
195
-        data.setChildren(children);
196
-
197
-        list.add(data);
113
+        List<PostAssessmentRatingOther> list = postAssessmentRatingOtherMapper.selectPostAssessmentRatingOtherListGroup(postAssessmentRatingOther);
114
+        if (list.isEmpty()){
115
+            return new ArrayList<>();
116
+        }
117
+        List<Long> collect = list.stream().map(PostAssessmentRatingOther::getId).collect(Collectors.toList());
118
+        List<PostAssessmentRatingOtherInfo> children = postAssessmentRatingOtherInfoMapper.selectList(Wrappers.<PostAssessmentRatingOtherInfo>lambdaQuery()
119
+                .in(PostAssessmentRatingOtherInfo::getRatingOtherId,collect)
120
+        );
121
+        for (PostAssessmentRatingOther assessmentRatingOther : list) {
122
+            List<PostAssessmentRatingOtherInfo> collect1 = children.stream().filter(d -> d.getRatingOtherId().equals(assessmentRatingOther.getId())).collect(Collectors.toList());
123
+            assessmentRatingOther.setChildren(collect1);
124
+        }
198
         return list;
125
         return list;
199
     }
126
     }
200
 
127
 
@@ -272,39 +199,91 @@ public class PostAssessmentRatingOtherServiceImpl extends ServiceImpl<PostAssess
272
             return 0;
199
             return 0;
273
         }
200
         }
274
 
201
 
202
+        List<PostAssessmentRules> postAssessmentRules = new ArrayList<>();
275
         //初始化13个职能部门评分 类型:1-职能互评;
203
         //初始化13个职能部门评分 类型:1-职能互评;
276
         if (type == PostAssessmentRatingOtherEnum.TYPE_ZN_HP.getValue()) {
204
         if (type == PostAssessmentRatingOtherEnum.TYPE_ZN_HP.getValue()) {
277
-
278
-            return SpringUtils.getBean(PostAssessmentRatingOtherServiceImpl.class).batchAddRatingOtherZhiNengDept(startTime);
205
+            postAssessmentRules = postAssessmentRulesMapper.selectList(Wrappers.<PostAssessmentRules>lambdaQuery()
206
+                    .eq(PostAssessmentRules::getType,2)
207
+            );
279
         }
208
         }
280
 
209
 
281
         //初始化13个生产部门评分 类型:2-生产日常;
210
         //初始化13个生产部门评分 类型:2-生产日常;
282
         if (type == PostAssessmentRatingOtherEnum.TYPE_SC_RC.getValue()) {
211
         if (type == PostAssessmentRatingOtherEnum.TYPE_SC_RC.getValue()) {
283
-            return SpringUtils.getBean(PostAssessmentRatingOtherServiceImpl.class).batchAddRatingOtherShengChanDept(startTime);
212
+            postAssessmentRules =postAssessmentRulesMapper.selectList(Wrappers.<PostAssessmentRules>lambdaQuery()
213
+                    .eq(PostAssessmentRules::getType,3)
214
+            );
215
+
216
+        }
217
+        List<Long> deptIdList = postAssessmentRatingOtherMapper.getDeptIdList(postAssessmentRatingOther.getDeptId());
218
+        String string = UUID.randomUUID().toString();
219
+        for (Long deptId : deptIdList) {
220
+            PostAssessmentRatingOther postAssessmentRatingOtherOther =new PostAssessmentRatingOther();
221
+            postAssessmentRatingOtherOther.setId(Long.parseLong(IdWorker.getIdStr().substring(4)));
222
+            postAssessmentRatingOtherOther.setType(type);
223
+            postAssessmentRatingOtherOther.setBatchId(string);
224
+            postAssessmentRatingOtherOther.setStartTime(new Date());
225
+            postAssessmentRatingOtherOther.setStatus(1);
226
+            postAssessmentRatingOtherOther.setDeptId(deptId);
227
+            postAssessmentRatingOtherOther.setCreateDefault();
228
+            postAssessmentRatingOtherOther.setCreateUserId(SecurityUtils.getLoginUser().getUserId());
229
+            postAssessmentRatingOtherMapper.insert(postAssessmentRatingOtherOther);
230
+            if(!postAssessmentRules.isEmpty()){
231
+                for (PostAssessmentRules postAssessmentRule : postAssessmentRules) {
232
+                    PostAssessmentRatingOtherInfo info = new PostAssessmentRatingOtherInfo();
233
+                    info.setId(Long.parseLong(IdWorker.getIdStr().substring(4)));
234
+                    info.setRatingOtherId(postAssessmentRatingOtherOther.getId());
235
+                    info.setDutyType(postAssessmentRule.getDutyType());
236
+                    info.setScoreWeight(new BigDecimal(postAssessmentRule.getFullScore()));
237
+                    info.setByDeptId(deptId);
238
+                    info.setCreateDefault();
239
+                    postAssessmentRatingOtherInfoMapper.insert(info);
240
+                }
241
+
242
+            }
284
         }
243
         }
285
-        return 0;
244
+        return 1;
286
     }
245
     }
287
 
246
 
288
-    /**
289
-     * 初始化13个职能部门评分 类型:1-职能互评;
290
-     *
291
-     * @param startTime 评分时间
292
-     */
293
-    @Transactional(rollbackFor = Exception.class)
294
-    public int batchAddRatingOtherZhiNengDept(Date startTime) {
295
-        //TODO 待开发:
247
+    @Override
248
+    public int batchAddRatingOtherUpdate(PostAssessmentRatingOther postAssessmentRatingOther) {
249
+        List<PostAssessmentRatingOther> postAssessmentRatingOthers = postAssessmentRatingOtherMapper.selectList(Wrappers.<PostAssessmentRatingOther>lambdaQuery()
250
+                .eq(PostAssessmentRatingOther::getBatchId,postAssessmentRatingOther.getBatchId())
251
+        );
252
+        if (postAssessmentRatingOthers.isEmpty()){
253
+            throw new RuntimeException("提交失败");
254
+        }
255
+        List<Long> collect = postAssessmentRatingOthers.stream().map(PostAssessmentRatingOther::getId).collect(Collectors.toList());
256
+        List<PostAssessmentRatingOtherInfo> info = postAssessmentRatingOtherInfoMapper.selectList(Wrappers.<PostAssessmentRatingOtherInfo>lambdaQuery()
257
+                .in(PostAssessmentRatingOtherInfo::getRatingOtherId,collect)
258
+        );
259
+        List<PostAssessmentRatingOtherInfo> children = postAssessmentRatingOther.getChildren();
260
+        children.forEach(x->{
261
+            List<PostAssessmentRatingOtherInfoDept> dept = x.getChildren();
262
+            dept.forEach(y->{
263
+                List<PostAssessmentRatingOtherInfo> collect1 = info.stream().filter(d -> d.getByDeptId().equals(y.getByDeptId()) && d.getDutyType().equals(x.getDutyType())).collect(Collectors.toList());
264
+                for (PostAssessmentRatingOtherInfo postAssessmentRatingOtherInfo : collect1) {
265
+                    postAssessmentRatingOtherInfo.setUpdateDefault();
266
+                    postAssessmentRatingOtherInfo.setByDeptScore(y.getByDeptScore());
267
+                    postAssessmentRatingOtherInfoMapper.updateById(postAssessmentRatingOtherInfo);
268
+                }
269
+            });
270
+        });
296
         return 1;
271
         return 1;
297
     }
272
     }
298
 
273
 
299
-
300
-    /**
301
-     * 初始化13个生产部门评分 类型:2-生产日常;
302
-     *
303
-     * @param startTime 评分时间
304
-     */
305
-    @Transactional(rollbackFor = Exception.class)
306
-    public int batchAddRatingOtherShengChanDept(Date startTime) {
307
-        //TODO 待开发:
274
+    @Override
275
+    public int productionDepartmentSub(List<PostAssessmentRatingOther> postAssessmentRatingOther) {
276
+        for (PostAssessmentRatingOther assessmentRatingOther : postAssessmentRatingOther) {
277
+            List<PostAssessmentRatingOtherInfo> children = assessmentRatingOther.getChildren();
278
+            children.forEach(x->{
279
+                PostAssessmentRatingOtherInfo info = new PostAssessmentRatingOtherInfo();
280
+                info.setId(x.getId());
281
+                info.setByDeptScore(x.getByDeptScore());
282
+                info.setUpdateDefault();
283
+                postAssessmentRatingOtherInfoMapper.updateById(info);
284
+            });
285
+        }
308
         return 1;
286
         return 1;
309
     }
287
     }
288
+
310
 }
289
 }

+ 95 - 5
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/impl/PostAssessmentRatingServiceImpl.java

@@ -1,12 +1,26 @@
1
 package com.ruoyi.postCheck.service.impl;
1
 package com.ruoyi.postCheck.service.impl;
2
 
2
 
3
+import java.math.BigDecimal;
4
+import java.util.ArrayList;
3
 import java.util.List;
5
 import java.util.List;
6
+import java.util.Map;
7
+import java.util.Optional;
8
+import java.util.Set;
9
+import java.util.stream.Collectors;
4
 
10
 
5
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
11
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
6
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
12
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
7
 import com.ruoyi.common.utils.DateUtils;
13
 import com.ruoyi.common.utils.DateUtils;
8
 import com.ruoyi.postCheck.domain.PostAssessmentRatingOther;
14
 import com.ruoyi.postCheck.domain.PostAssessmentRatingOther;
15
+import com.ruoyi.postCheck.domain.PostAssessmentRatingOtherInfo;
16
+import com.ruoyi.postCheck.domain.PostAssessmentRules;
17
+import com.ruoyi.postCheck.domain.PostCheckedProblem;
18
+import com.ruoyi.postCheck.mapper.PostAssessmentRatingOtherInfoMapper;
9
 import com.ruoyi.postCheck.mapper.PostAssessmentRatingOtherMapper;
19
 import com.ruoyi.postCheck.mapper.PostAssessmentRatingOtherMapper;
20
+import com.ruoyi.postCheck.mapper.PostAssessmentRulesMapper;
21
+import com.ruoyi.postCheck.mapper.PostCheckedProblemMapper;
22
+import com.ruoyi.postCheck.mapper.PostPlanInfoMapper;
23
+import com.ruoyi.postCheck.mapper.PostPlanMapper;
10
 import org.springframework.beans.factory.annotation.Autowired;
24
 import org.springframework.beans.factory.annotation.Autowired;
11
 import org.springframework.stereotype.Service;
25
 import org.springframework.stereotype.Service;
12
 import com.ruoyi.postCheck.mapper.PostAssessmentRatingMapper;
26
 import com.ruoyi.postCheck.mapper.PostAssessmentRatingMapper;
@@ -23,8 +37,19 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
23
 @Service
37
 @Service
24
 public class PostAssessmentRatingServiceImpl extends ServiceImpl<PostAssessmentRatingMapper, PostAssessmentRating> implements IPostAssessmentRatingService {
38
 public class PostAssessmentRatingServiceImpl extends ServiceImpl<PostAssessmentRatingMapper, PostAssessmentRating> implements IPostAssessmentRatingService {
25
     @Autowired
39
     @Autowired
40
+    private PostAssessmentRatingOtherMapper postAssessmentRatingOtherMapper;
41
+    @Autowired
42
+    private PostAssessmentRatingOtherInfoMapper postAssessmentRatingOtherInfoMapper;
43
+    @Autowired
26
     private PostAssessmentRatingMapper postAssessmentRatingMapper;
44
     private PostAssessmentRatingMapper postAssessmentRatingMapper;
27
-
45
+    @Autowired
46
+    private PostCheckedProblemMapper postCheckedProblemMapper;
47
+    @Autowired
48
+    private PostPlanInfoMapper postPlanInfoMapper;
49
+    @Autowired
50
+    private PostPlanMapper postPlanMapper;
51
+    @Autowired
52
+    private PostAssessmentRulesMapper postAssessmentRulesMapper;
28
     /**
53
     /**
29
      * 查询考核评比
54
      * 查询考核评比
30
      *
55
      *
@@ -44,10 +69,75 @@ public class PostAssessmentRatingServiceImpl extends ServiceImpl<PostAssessmentR
44
      */
69
      */
45
     @Override
70
     @Override
46
     public List<PostAssessmentRating> selectPostAssessmentRatingList(PostAssessmentRating postAssessmentRating) {
71
     public List<PostAssessmentRating> selectPostAssessmentRatingList(PostAssessmentRating postAssessmentRating) {
47
-        List<PostAssessmentRating> postAssessmentRatings = postAssessmentRatingMapper.selectPostAssessmentRatingList(postAssessmentRating);
48
-        postAssessmentRatings.forEach(x->{
49
-            x.setDeptIdStr(postAssessmentRatingMapper.getSysDeptName(x.getDeptId()));
50
-        });
72
+        // type 1 是职能管理部门, 2 生产运营部门
73
+        Integer type;
74
+        if (postAssessmentRating.getType() == 2){
75
+            type = 3;
76
+        } else {
77
+            type = 2;
78
+        }
79
+        List<PostAssessmentRating> postAssessmentRatings = new ArrayList<>();
80
+        List<Map<String, String>> deptIdListByType = postAssessmentRatingOtherMapper.getDeptIdListByType(postAssessmentRating.getType());
81
+        List<PostAssessmentRules> postAssessmentRules = postAssessmentRulesMapper.selectList(Wrappers.lambdaQuery());
82
+        for (Map<String, String> map : deptIdListByType) {
83
+            PostAssessmentRating post = new PostAssessmentRating();
84
+            post.setDeptId(Long.parseLong(map.get("deptId")));
85
+            post.setDeptIdStr(String.valueOf(map.get("deptName")));
86
+            // 计算一个部门的岗检得分
87
+            // 1 先查询问题
88
+            BigDecimal postSouce = new BigDecimal("100");
89
+            List<PostCheckedProblem> postCheckedProblems = postCheckedProblemMapper.selectList(Wrappers.<PostCheckedProblem>lambdaQuery()
90
+                    .eq(PostCheckedProblem::getCheckedDeptId,post.getDeptId())
91
+            );
92
+            BigDecimal postTotal = postCheckedProblemMapper.getPostTotalByDeptId(post.getDeptId());
93
+            if (postCheckedProblems.size() > 0){
94
+                // 计算扣除分数
95
+                BigDecimal postAfter = new BigDecimal("100");
96
+                Set<PostAssessmentRules> collect = postAssessmentRules.stream().filter(d -> d.getType() == type).collect(Collectors.toSet());
97
+                for (PostCheckedProblem postCheckedProblem : postCheckedProblems) {
98
+                    Optional<PostAssessmentRules> first = postAssessmentRules.stream().filter(d ->d.getType() == type && d.getDutyType().equals(postCheckedProblem.getDutyType())).findFirst();
99
+                    if (first.isPresent()){
100
+                        if (postCheckedProblem.getProblemLevel().equals("1")){
101
+                            postAfter = postAfter.subtract(new BigDecimal(String.valueOf(first.get().getProblemLevelOne())));
102
+                        }else{
103
+                            postAfter = postAfter.subtract(new BigDecimal(String.valueOf(first.get().getProblemLevelTwo())));
104
+                        }
105
+                    }
106
+                }
107
+                // 计算系数 1-问题总数/需要查的问题数
108
+                BigDecimal divide = new BigDecimal(postCheckedProblems.size()).divide(postTotal.multiply(new BigDecimal(collect.size())));
109
+                if (divide.compareTo(new BigDecimal("1")) < 0 && divide.compareTo(new BigDecimal("0")) > 0 ){
110
+                    postSouce = postAfter.multiply(new BigDecimal("1").subtract(divide));
111
+                }else{
112
+                    postSouce = new BigDecimal("0");
113
+                }
114
+            }else {
115
+                postSouce = new BigDecimal("0");
116
+            }
117
+            post.setPositionScore(postSouce);
118
+            // 计算互评得分
119
+
120
+            List<PostAssessmentRatingOtherInfo> postAssessmentRatingOtherInfos = postAssessmentRatingOtherInfoMapper.selectList(Wrappers.<PostAssessmentRatingOtherInfo>lambdaQuery()
121
+                    .eq(PostAssessmentRatingOtherInfo::getByDeptId,post.getDeptId())
122
+                    .apply("and \"rating_other_id\" in (SELECT \"id\" FROM \"public\".\"post_assessment_rating_other\" WHERE \"type\"  = 1\n)")
123
+                    .orderByAsc(PostAssessmentRatingOtherInfo::getByDeptScore)
124
+            );
125
+            BigDecimal peerEvaluationScore = new BigDecimal("100");
126
+            if (postAssessmentRatingOtherInfos.size()>0){
127
+                postAssessmentRatingOtherInfos.remove(postAssessmentRatingOtherInfos.size()-1);
128
+                postAssessmentRatingOtherInfos.remove(0);
129
+                BigDecimal sum = new BigDecimal("0");
130
+                postAssessmentRatingOtherInfos.forEach(x -> {
131
+                    sum.add(x.getByDeptScore());
132
+                });
133
+                peerEvaluationScore = sum.divide(new BigDecimal(postAssessmentRatingOtherInfos.size()));
134
+            }
135
+            post.setPeerEvaluationScore(peerEvaluationScore);
136
+            postAssessmentRatings.add(post);
137
+            // 计算总得分
138
+            post.setDepartmentScore(post.getPositionScore().add(post.getPeerEvaluationScore()).divide(new BigDecimal("2")));
139
+        }
140
+        // 计算  岗检得分
51
         return postAssessmentRatings;
141
         return postAssessmentRatings;
52
     }
142
     }
53
 
143
 

+ 47 - 4
ruoyi-postcheck/src/main/java/com/ruoyi/postCheck/service/impl/PostCheckedProblemServiceImpl.java

@@ -13,11 +13,14 @@ import com.ruoyi.common.exception.base.BaseException;
13
 import com.ruoyi.common.utils.DateUtils;
13
 import com.ruoyi.common.utils.DateUtils;
14
 import com.ruoyi.postCheck.domain.PostAssessmentRating;
14
 import com.ruoyi.postCheck.domain.PostAssessmentRating;
15
 import com.ruoyi.postCheck.domain.PostAssessmentRules;
15
 import com.ruoyi.postCheck.domain.PostAssessmentRules;
16
+import com.ruoyi.postCheck.domain.PostList;
16
 import com.ruoyi.postCheck.domain.PostPlan;
17
 import com.ruoyi.postCheck.domain.PostPlan;
17
 import com.ruoyi.postCheck.domain.PostPlanInfo;
18
 import com.ruoyi.postCheck.domain.PostPlanInfo;
19
+import com.ruoyi.postCheck.domain.homePage.PostTotalView;
18
 import com.ruoyi.postCheck.domain.join.PostPlanJoinProblem;
20
 import com.ruoyi.postCheck.domain.join.PostPlanJoinProblem;
19
 import com.ruoyi.postCheck.mapper.PostAssessmentRatingMapper;
21
 import com.ruoyi.postCheck.mapper.PostAssessmentRatingMapper;
20
 import com.ruoyi.postCheck.mapper.PostAssessmentRulesMapper;
22
 import com.ruoyi.postCheck.mapper.PostAssessmentRulesMapper;
23
+import com.ruoyi.postCheck.mapper.PostListMapper;
21
 import com.ruoyi.postCheck.mapper.PostPlanInfoMapper;
24
 import com.ruoyi.postCheck.mapper.PostPlanInfoMapper;
22
 import com.ruoyi.postCheck.mapper.PostPlanMapper;
25
 import com.ruoyi.postCheck.mapper.PostPlanMapper;
23
 import com.ruoyi.postCheck.service.IPostPlanJoinProblemService;
26
 import com.ruoyi.postCheck.service.IPostPlanJoinProblemService;
@@ -61,6 +64,8 @@ public class PostCheckedProblemServiceImpl extends ServiceImpl<PostCheckedProble
61
     private PostAssessmentRulesMapper postAssessmentRulesMapper;
64
     private PostAssessmentRulesMapper postAssessmentRulesMapper;
62
     @Autowired
65
     @Autowired
63
     private IPostPlanJoinProblemService postPlanJoinProblemService;
66
     private IPostPlanJoinProblemService postPlanJoinProblemService;
67
+    @Autowired
68
+    private PostListMapper postListMapper;
64
     /**
69
     /**
65
      * 查询岗检问题表
70
      * 查询岗检问题表
66
      *
71
      *
@@ -131,8 +136,6 @@ public class PostCheckedProblemServiceImpl extends ServiceImpl<PostCheckedProble
131
                 throw new BaseException("第" + count + "行更新失败请检查!");
136
                 throw new BaseException("第" + count + "行更新失败请检查!");
132
             }
137
             }
133
         }
138
         }
134
-        // 计算岗检排名得分
135
-        jobInspectionScore(postCheckedProblemList);
136
         return 1;
139
         return 1;
137
     }
140
     }
138
 
141
 
@@ -177,9 +180,26 @@ public class PostCheckedProblemServiceImpl extends ServiceImpl<PostCheckedProble
177
                 }
180
                 }
178
             }
181
             }
179
         }
182
         }
180
-        if (score.compareTo(new BigDecimal("0")) < 0)
183
+
184
+        // todo 公式计算
185
+        if (postCheckedProblems.size()>0){
186
+            BigDecimal bigDecimal = new BigDecimal("1");
187
+            List<PostPlanInfo> postPlanInfos = postPlanInfoMapper.selectList(Wrappers.<PostPlanInfo>lambdaQuery()
188
+                    .eq(PostPlanInfo::getPostPlanId,postPlan.getId())
189
+            );
190
+            if (postPlanInfos.size() <= 0){
191
+                score = new BigDecimal("0");
192
+            }else{
193
+                BigDecimal divide = new BigDecimal(postCheckedProblems.size()).divide(new BigDecimal(postPlanInfos.size()).multiply(new BigDecimal("6")));
194
+                if (divide.compareTo(new BigDecimal("0"))<=0 || divide.compareTo(new BigDecimal("1")) > 0){
195
+                    score = new BigDecimal("0");
196
+                }else{
197
+                    score = bigDecimal.subtract(divide);
198
+                }
199
+            }
200
+        }else{
181
             score = new BigDecimal("0");
201
             score = new BigDecimal("0");
182
-        // todo 公式不完整
202
+        }
183
         postAssessmentRatingMapper.update(null,Wrappers.<PostAssessmentRating>lambdaUpdate()
203
         postAssessmentRatingMapper.update(null,Wrappers.<PostAssessmentRating>lambdaUpdate()
184
                 .set(PostAssessmentRating::getPositionScore,score)
204
                 .set(PostAssessmentRating::getPositionScore,score)
185
                 .eq(PostAssessmentRating::getDeptId,departmentId)
205
                 .eq(PostAssessmentRating::getDeptId,departmentId)
@@ -459,5 +479,28 @@ public class PostCheckedProblemServiceImpl extends ServiceImpl<PostCheckedProble
459
         data.setReviewDepartmentReviewerTime(new Date());
479
         data.setReviewDepartmentReviewerTime(new Date());
460
         return postCheckedProblemMapper.updatePostCheckedProblem(data);
480
         return postCheckedProblemMapper.updatePostCheckedProblem(data);
461
     }
481
     }
482
+
483
+    /**
484
+     * 1、责任制清单:post_list表
485
+     * 2、检查出的问题:post_checked_problem表
486
+     * 3、岗检数量-已查:post_plan t1 inner join post_plan_info t2 两张表连接,t2.status(岗检状态:1-未检;2-已检;)
487
+     * 4、岗检数量-未查:post_plan t1 inner join post_plan_info t2 两张表连接,t2.status(岗检状态:1-未检;2-已检;)
488
+     */
489
+    @Override
490
+    public PostTotalView totalView() {
491
+        PostTotalView postTotalView = new PostTotalView();
492
+        // 1
493
+        List<PostList> postLists = postListMapper.selectList(Wrappers.lambdaQuery());
494
+        postTotalView.setListCount(postLists.size());
495
+        // 2
496
+        List<PostCheckedProblem> postCheckedProblems = postCheckedProblemMapper.selectList(Wrappers.lambdaQuery());
497
+        postTotalView.setProblemCount(postCheckedProblems.size());
498
+        // 3
499
+        Integer checkedPostCount = postCheckedProblemMapper.selectCheckedPostCount(1);
500
+        postTotalView.setCheckedPostCount(checkedPostCount);
501
+        Integer uncheckedPostCount = postCheckedProblemMapper.selectCheckedPostCount(2);
502
+        postTotalView.setUncheckedPostCount(uncheckedPostCount);
503
+        return postTotalView;
504
+    }
462
 }
505
 }
463
 
506
 

+ 67 - 6
ruoyi-postcheck/src/main/resources/mapper/postCheck/PostAssessmentRatingOtherMapper.xml

@@ -3,7 +3,7 @@
3
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
3
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
4
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
 <mapper namespace="com.ruoyi.postCheck.mapper.PostAssessmentRatingOtherMapper">
5
 <mapper namespace="com.ruoyi.postCheck.mapper.PostAssessmentRatingOtherMapper">
6
-    
6
+
7
     <resultMap type="PostAssessmentRatingOther" id="PostAssessmentRatingOtherResult">
7
     <resultMap type="PostAssessmentRatingOther" id="PostAssessmentRatingOtherResult">
8
         <result property="id"    column="id"    />
8
         <result property="id"    column="id"    />
9
         <result property="type"    column="type"    />
9
         <result property="type"    column="type"    />
@@ -29,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
29
 
29
 
30
     <select id="selectPostAssessmentRatingOtherList" parameterType="PostAssessmentRatingOther" resultMap="PostAssessmentRatingOtherResult">
30
     <select id="selectPostAssessmentRatingOtherList" parameterType="PostAssessmentRatingOther" resultMap="PostAssessmentRatingOtherResult">
31
         <include refid="selectPostAssessmentRatingOtherVo"/>
31
         <include refid="selectPostAssessmentRatingOtherVo"/>
32
-        <where>  
32
+        <where>
33
             <if test="type != null "> and type = #{type}</if>
33
             <if test="type != null "> and type = #{type}</if>
34
             <if test="batchId != null  and batchId != ''"> and batch_id = #{batchId}</if>
34
             <if test="batchId != null  and batchId != ''"> and batch_id = #{batchId}</if>
35
             <if test="startTime != null "> and start_time = #{startTime}</if>
35
             <if test="startTime != null "> and start_time = #{startTime}</if>
@@ -41,12 +41,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
41
             <if test="createUserId != null "> and create_user_id = #{createUserId}</if>
41
             <if test="createUserId != null "> and create_user_id = #{createUserId}</if>
42
         </where>
42
         </where>
43
     </select>
43
     </select>
44
-    
44
+
45
     <select id="selectPostAssessmentRatingOtherById" parameterType="Long" resultMap="PostAssessmentRatingOtherResult">
45
     <select id="selectPostAssessmentRatingOtherById" parameterType="Long" resultMap="PostAssessmentRatingOtherResult">
46
         <include refid="selectPostAssessmentRatingOtherVo"/>
46
         <include refid="selectPostAssessmentRatingOtherVo"/>
47
         where id = #{id}
47
         where id = #{id}
48
     </select>
48
     </select>
49
-        
49
+
50
     <insert id="insertPostAssessmentRatingOther" parameterType="PostAssessmentRatingOther">
50
     <insert id="insertPostAssessmentRatingOther" parameterType="PostAssessmentRatingOther">
51
         insert into post_assessment_rating_other
51
         insert into post_assessment_rating_other
52
         <trim prefix="(" suffix=")" suffixOverrides=",">
52
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -114,9 +114,70 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
114
     </delete>
114
     </delete>
115
 
115
 
116
     <delete id="deletePostAssessmentRatingOtherByIds" parameterType="String">
116
     <delete id="deletePostAssessmentRatingOtherByIds" parameterType="String">
117
-        delete from post_assessment_rating_other where id in 
117
+        delete from post_assessment_rating_other where id in
118
         <foreach item="id" collection="array" open="(" separator="," close=")">
118
         <foreach item="id" collection="array" open="(" separator="," close=")">
119
             #{id}
119
             #{id}
120
         </foreach>
120
         </foreach>
121
     </delete>
121
     </delete>
122
-</mapper>
122
+
123
+    <select id="getDeptIdList" resultType="java.lang.Long">
124
+        SELECT "dept_id"
125
+        FROM "public"."sys_dept" where "dept_id" != #{id};
126
+    </select>
127
+
128
+
129
+
130
+    <select id="selectPostAssessmentRatingOtherListGroup"
131
+            resultType="com.ruoyi.postCheck.domain.PostAssessmentRatingOther">
132
+        select
133
+        max("id") id,
134
+        max("type") "type",
135
+        max("batch_id") batch_id,
136
+        max("start_time") start_time,
137
+        max("status") status,
138
+        max("dept_id") dept_id,
139
+        max("complete_time") complete_time,
140
+        max("score_user_id") score_user_id,
141
+        max("score_user_name") score_user_name,
142
+        max("create_user_id") create_user_id,
143
+        max("remark") remark,
144
+        max("del_flag") del_flag,
145
+        max("create_time") create_time,
146
+        max("create_by") create_by,
147
+        max("update_time") update_time from post_assessment_rating_other
148
+        <where>
149
+            <if test="type != null ">
150
+                and type = #{type}
151
+            </if>
152
+            <if test="batchId != null  and batchId != ''">
153
+                and batch_id = #{batchId}
154
+            </if>
155
+            <if test="startTime != null ">
156
+                and start_time = #{startTime}
157
+            </if>
158
+            <if test="status != null ">
159
+                and status = #{status}
160
+            </if>
161
+            <if test="deptId != null ">
162
+                and dept_id = #{deptId}
163
+            </if>
164
+            <if test="completeTime != null ">
165
+                and complete_time = #{completeTime}
166
+            </if>
167
+            <if test="scoreUserId != null ">
168
+                and score_user_id = #{scoreUserId}
169
+            </if>
170
+            <if test="scoreUserName != null  and scoreUserName != ''">
171
+                and score_user_name like concat('%', #{scoreUserName}, '%')
172
+            </if>
173
+            <if test="createUserId != null ">
174
+                and create_user_id = #{createUserId}
175
+            </if>
176
+        </where>
177
+        group by batch_id
178
+    </select>
179
+
180
+    <select id="getDeptIdListByType" resultType="java.util.Map">
181
+        SELECT "dept_id" as deptId,"dept_name" as deptName FROM "public"."sys_dept" where "type" = #{type};
182
+    </select>
183
+</mapper>

+ 13 - 0
ruoyi-postcheck/src/main/resources/mapper/postCheck/PostCheckedProblemMapper.xml

@@ -292,4 +292,17 @@
292
             #{id}
292
             #{id}
293
         </foreach>
293
         </foreach>
294
     </delete>
294
     </delete>
295
+
296
+    <select id="getPostTotalByDeptId" resultType="java.math.BigDecimal">
297
+        SELECT COUNT(0)
298
+        FROM "public"."sys_user_post" a LEFT JOIN "public"."sys_user_role" sur ON a."user_id"  = sur."user_id"
299
+                                        LEFT JOIN "public"."sys_role_dept" srd ON sur."role_id"  = srd."role_id"
300
+        WHERE srd."dept_id" = #{deptId} GROUP BY a."post_id"
301
+    </select>
302
+
303
+    <select id="selectCheckedPostCount" resultType="java.lang.Integer">
304
+        SELECT COUNT(0)
305
+        FROM "public"."post_plan" a INNER JOIN "public"."post_plan_info" ppi ON a."id"  = ppi."post_plan_id" WHERE ppi."status" = #{status}
306
+
307
+    </select>
295
 </mapper>
308
 </mapper>