Browse Source

:sparkles:增加判断关联的计划是不是先出后进方法

Twelve615 1 năm trước cách đây
mục cha
commit
e25227c39d

+ 31 - 0
airport/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/imf/msg/ImfMsgAbstract.java

@@ -607,4 +607,35 @@ public abstract class ImfMsgAbstract<T extends ImfMsgType> implements ImfMsg {
         }
         return updateFlag;
     }
+
+    /**
+     * 判断关联的计划是不是先出后进
+     * @param flid 计划id
+     * @return true 先出后进
+     */
+    public boolean checkFILO(String flid) {
+        AdminDfdlList main = adminDfdlListService.getById(flid);
+        if (main != null) {
+            AdminDfdlList byId = adminDfdlListService.getById(main.getAfid());
+            if (byId != null) {
+                if ("A".equals(main.getFlio())) {
+                    //main:进港飞机, byId:出港飞机
+                    //     进港预计开始占用时间晚于(也不包括等于)出港预计开始占用时间
+                    return (main.getEstr()!=null&&byId.getEstr()!=null)&&main.getEstr().after(byId.getEstr());
+                } else if ("D".equals(main.getFlio())) {
+                    //main:出港飞机, byId:进港飞机
+                    //     进港预计开始占用时间晚于(也不包括等于)出港预计开始占用时间
+                    return (byId.getEstr()!=null&&main.getEstr()!=null)&&byId.getEstr().after(main.getEstr());
+                } else {
+                    return false;
+                }
+            } else {
+                // 没有关联任务
+                return false;
+            }
+        } else {
+            // 没有当前任务
+            return false;
+        }
+    }
 }