张涛 il y a 1 an
Parent
révision
2de73e9260

+ 10
- 4
application/src/main/java/com/lyg/application/controller/TaIncompatibleController.java Voir le fichier

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
7 7
 import com.lyg.application.entity.TaIncompatible;
8 8
 import com.lyg.application.entity.TaRotation;
9 9
 import com.lyg.application.service.TaIncompatibleService;
10
+import com.lyg.application.util.Rule;
10 11
 import com.lyg.common.util.StringUtil;
11 12
 import com.lyg.framework.accesslimit.AccessLimit;
12 13
 import com.lyg.framework.log.OpLog;
@@ -33,10 +34,11 @@ import java.util.Map;
33 34
 @RequestMapping("/")
34 35
 public class TaIncompatibleController extends BaseController {
35 36
 
37
+    @Autowired
38
+    Rule rule;
36 39
     @Autowired
37 40
     private TaIncompatibleService taIncompatibleService;
38 41
 
39
-
40 42
     /**
41 43
      * 通过ID查询单条数据
42 44
      *
@@ -144,10 +146,14 @@ public class TaIncompatibleController extends BaseController {
144 146
 
145 147
         Map<String, String> params = new Hashtable<>();
146 148
 
149
+
147 150
         if (oldOrgCode != null && newOrgCode != null && primaryPost != null && targetPost != null && passTime != null) {
151
+
148 152
             //普通规则
149 153
             if (oldOrgCode.equals(newOrgCode)) {
150
-                List<TaIncompatible> taIncompatibleList = taIncompatibleService.getRegularRules(primaryPost, targetPost);
154
+                List<TaIncompatible> taIncompatibleList = rule.regularRules(primaryPost, targetPost);
155
+
156
+//                List<TaIncompatible> taIncompatibleList = taIncompatibleService.getRegularRules(, );
151 157
 
152 158
                 if (taIncompatibleList.size() == 0) {
153 159
                     return SaResult.data("普通规则:根据不相容设置这两个岗位是相容的");
@@ -162,8 +168,8 @@ public class TaIncompatibleController extends BaseController {
162 168
                 params.put("targetPost", targetPost);
163 169
                 params.put("passTime", passTime);
164 170
                 //三个月规则
165
-
166
-                List<TaRotation> repelList = taIncompatibleService.getMonthRules(params);
171
+                List<TaRotation> repelList =rule.getMonthRules(params);
172
+//                List<TaRotation> repelList = taIncompatibleService.getMonthRules(params);
167 173
                 if (repelList.size() == 0) {
168 174
                     return SaResult.data("三个月规则: 这是两个岗位是相容的");
169 175
                 } else {

+ 66
- 0
application/src/main/java/com/lyg/application/util/Rule.java Voir le fichier

@@ -0,0 +1,66 @@
1
+package com.lyg.application.util;
2
+
3
+
4
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5
+import com.lyg.application.entity.TaIncompatible;
6
+import com.lyg.application.entity.TaRotation;
7
+import com.lyg.application.mapper.TaIncompatibleMapper;
8
+import com.lyg.application.mapper.TaRotationMapper;
9
+import com.lyg.application.service.TaIncompatibleService;
10
+import org.springframework.beans.factory.annotation.Autowired;
11
+import org.springframework.stereotype.Component;
12
+
13
+import java.time.LocalDate;
14
+import java.time.format.DateTimeFormatter;
15
+import java.util.ArrayList;
16
+import java.util.List;
17
+import java.util.Map;
18
+
19
+@Component
20
+public class Rule {
21
+
22
+    @Autowired
23
+    TaIncompatibleService taIncompatibleService;
24
+
25
+
26
+    @Autowired
27
+    TaIncompatibleMapper taIncompatibleMapper;
28
+    @Autowired
29
+    TaRotationMapper taRotationMapper;
30
+
31
+    public List<TaIncompatible> regularRules(String primaryPost, String targetPost) {
32
+        return taIncompatibleService.getRegularRules(primaryPost, targetPost);
33
+
34
+    }
35
+
36
+
37
+    public List<TaRotation> getMonthRules(Map<String, String> params) {
38
+        List<TaRotation> repelList = new ArrayList<>();
39
+
40
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
41
+
42
+        QueryWrapper<TaRotation> queryWrapper = new QueryWrapper<>();
43
+        String primaryPost = params.get("primaryPost");
44
+        String targetPost = params.get("targetPost");
45
+        String passTime = params.get("passTime");
46
+        LocalDate newDate = LocalDate.parse(passTime, formatter).minusMonths(3);
47
+
48
+        List<String> oldPostList = taIncompatibleMapper.getMonthRulesPrimary(primaryPost);//原来岗位+目标不相容岗位
49
+        List<String> newPostList = taIncompatibleMapper.getMonthRulesTarget(targetPost);//目标岗位+原来不相容岗位
50
+
51
+        if (oldPostList.size() == 0 && newPostList.size() == 0) {
52
+            return repelList;
53
+        } else {
54
+            List<String> orgList = newPostList;//原来岗位 不相容的
55
+            orgList.add(orgList.size() - 1, primaryPost);
56
+
57
+            List<String> targetList = oldPostList;//目标岗位 不相容的
58
+            targetList.add(targetList.size() - 1, targetPost);
59
+
60
+            //                拿到数据 不相容轮岗数据
61
+            repelList = taRotationMapper.selectRepel(orgList, targetList, newDate);
62
+
63
+            return repelList;
64
+        }
65
+    }
66
+}