张涛 1 vuosi sitten
vanhempi
commit
2de73e9260

+ 10
- 4
application/src/main/java/com/lyg/application/controller/TaIncompatibleController.java Näytä tiedosto

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

+ 66
- 0
application/src/main/java/com/lyg/application/util/Rule.java Näytä tiedosto

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
+}