From cc3f826987484580f7275f5bb18d35c0c3e1ed78 Mon Sep 17 00:00:00 2001
From: 18516761980 <tqsxp@163.com>
Date: 星期六, 04 三月 2023 13:30:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java |  104 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 103 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
index ffe6a7d..6d2bffe 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -2,13 +2,17 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.WrkMastMapper;
 import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.utils.Utils;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
+@Slf4j
 @Service("wrkMastService")
 public class WrkMastServiceImpl extends ServiceImpl<WrkMastMapper, WrkMast> implements WrkMastService {
 
@@ -23,8 +27,106 @@
     }
 
     @Override
-    public WrkMast selectToBeHistoryData() {
+    public List<WrkMast> selectToBeHistoryData() {
         return this.baseMapper.selectToBeHistoryData();
     }
 
+    @Override
+    public WrkMast selectByBarcode(String barcode) {
+        List<WrkMast> wrkMasts = this.selectList(new EntityWrapper<WrkMast>().eq("barcode", barcode));
+        if (Cools.isEmpty(wrkMasts)) {
+            return null;
+        }
+        return wrkMasts.get(0);
+    }
+
+    @Override
+    public synchronized Double getIoPri(Integer ioType, String locNo) {
+        Double defaultIoPri = null;
+        if (Cools.isEmpty(ioType, locNo)) {
+            return 100.0D;
+        }
+        if (ioType != 11) {
+            // 鍏ュ簱
+            if (ioType < 100) {
+                List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo);
+                if (!Cools.isEmpty(groupOuterLoc)) {
+                    for (String outerLoc : groupOuterLoc) {
+                        WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(outerLoc);
+                        if (wrkMast != null) {
+                            defaultIoPri = wrkMast.getIoPri() - 2;
+//                            defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() - 2 : defaultIoPri - 2;
+                        }
+                    }
+                }
+                List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
+                if (!Cools.isEmpty(groupInsideLoc)) {
+                    for (String insideLoc : groupInsideLoc) {
+                        WrkMast wrkMast = this.baseMapper.selectByLocNoOfPakin(insideLoc);
+                        if (wrkMast != null) {
+                            defaultIoPri = wrkMast.getIoPri() + 2;
+//                            defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() + 2 : defaultIoPri + 2;
+                        }
+                    }
+                }
+            // 鍑哄簱
+            } else {
+                List<String> groupOuterLoc = Utils.getGroupOuterLoc(locNo);
+                if (!Cools.isEmpty(groupOuterLoc)) {
+                    for (String outerLoc : groupOuterLoc) {
+                        WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(outerLoc);
+                        if (wrkMast != null) {
+                            defaultIoPri = wrkMast.getIoPri() - 2;
+//                            defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() - 2 : defaultIoPri - 2;
+                        }
+                    }
+                }
+                List<String> groupInsideLoc = Utils.getGroupInsideLoc(locNo);
+                if (!Cools.isEmpty(groupInsideLoc)) {
+                    for (String insideLoc : groupInsideLoc) {
+                        WrkMast wrkMast = this.baseMapper.selectBySourceLocNoOfPakout(insideLoc);
+                        if (wrkMast != null) {
+                            defaultIoPri = wrkMast.getIoPri() + 2;
+//                            defaultIoPri = defaultIoPri == null ? wrkMast.getIoPri() + 2 : defaultIoPri + 2;
+                        }
+                    }
+                }
+            }
+        // 绉诲簱
+        } else {
+//            @Deprecated
+        }
+        int row = getRow(locNo);
+        if (row<=4){
+            return defaultIoPri == null ? 300.0D+row*2 : defaultIoPri+row*2;
+        }else {
+            return defaultIoPri == null ? 300.0D+row-2 : defaultIoPri-row*2;
+        }
+    }
+    /**
+     * 閫氳繃搴撲綅鍙疯幏鍙� 鎺�
+     */
+    public static int getRow(String locNo) {
+        if (!Cools.isEmpty(locNo)) {
+            return Integer.parseInt(locNo.substring(0, 2));
+        }
+        throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+    }
+
+    @Override
+    public int getStoreCount(Integer crnNo) {
+        return selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo)
+                .last(" and (wrk_sts in (1,2) or (wrk_sts=3 and wrk_no in (select wrk_no from asr_bas_devp)))"));
+    }
+
+    @Override
+    public Boolean setSteEmpty(Integer wrkNo) {
+        return this.baseMapper.setSteEmpty(wrkNo) > 0;
+    }
+
+    @Override
+    public WrkMast selectOfPick(Integer wrkNo, Integer ioType) {
+        return this.baseMapper.selectOfPick(wrkNo, ioType);
+    }
+
 }

--
Gitblit v1.9.1