From de67c95651efbf649704450e03fdb2d16c2e6bcc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 29 七月 2020 17:07:04 +0800
Subject: [PATCH] #当前本版十分完美、冻结

---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |    4 ++++
 src/main/java/com/zy/asrs/service/LocDetlService.java          |   10 ++++++++++
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |    7 +++++++
 src/main/java/com/zy/common/service/CommonService.java         |   26 ++++++++++++++++++++++++++
 4 files changed, 47 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 919a2d6..5306c07 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.LocDetl;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Repository;
 
@@ -23,4 +24,7 @@
     @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}")
     int updateLocNo(String newLocNo, String oldLocNo);
 
+    @Select("SELECT wml.loc_no FROM asr_wrk_mast_log wml LEFT JOIN asr_wrk_detl_log wdl ON wml.wrk_no = wdl.wrk_no LEFT JOIN asr_loc_mast lm ON wml.loc_no = lm.loc_no WHERE (1 = 1 AND wdl.matnr = 'X004073XX' AND (wml.io_type = 1 OR wml.io_type = 11) AND wml.wrk_sts = 5 AND DateDiff(dd, wml.modi_time, getdate()) = 0 AND lm.loc_sts = 'F') ORDER BY wml.modi_time ASC")
+    List<String> selectSameDetlToday(String matnr);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index d5bf2f4..94be71a 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.asrs.entity.LocDetl;
 
+import java.util.List;
+
 public interface LocDetlService extends IService<LocDetl> {
 
     Page<LocDetl> getStockOut(Page<LocDetl> page);
@@ -14,4 +16,12 @@
     boolean updateAnfme(Double anfme, String locNo, String matnr);
 
     boolean updateLocNo(String newLocNo, String oldLocNo);
+
+    /**
+     * 鑾峰彇褰撳ぉ鐩稿悓瑙勬牸璐х墿鐨勬繁搴撲綅鍙�
+     * @param matnr 鐗╂枡鍙�
+     * @return locNo 搴撲綅鍙�
+     */
+    List<String> getSameDetlToday(String matnr);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 7fa471b..ddb1d0a 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -8,6 +8,8 @@
 import com.zy.asrs.service.LocDetlService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service("locDetlService")
 public class LocDetlServiceImpl extends ServiceImpl<LocDetlMapper, LocDetl> implements LocDetlService {
 
@@ -33,4 +35,9 @@
         return baseMapper.updateLocNo(newLocNo, oldLocNo) > 0;
     }
 
+    @Override
+    public List<String> getSameDetlToday(String matnr) {
+        return this.baseMapper.selectSameDetlToday(matnr);
+    }
+
 }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 8f5465b..ed5ceb6 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.core.common.Arith;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
@@ -34,6 +35,8 @@
     private BasDevpService basDevpService;
     @Autowired
     private LocMastService locMastService;
+    @Autowired
+    private LocDetlService locDetlService;
 
     /**
      * 鐢熸垚宸ヤ綔鍙�
@@ -96,6 +99,21 @@
             int eRow = rowLastno.geteRow();
             int crn_qty = rowLastno.getCrnQty();
             int rowCount = eRow - sRow + 1;
+
+            // 鍚屼竴澶╁悓瑙勬牸璐х墿闈犺繎鎽嗘硶瑙勫垯 todo
+            List<String> locNos = locDetlService.getSameDetlToday("X004073XX");
+            for (String locNo : locNos) {
+                // 鑾峰彇鎺�
+                int row = Integer.parseInt(locNo.substring(0, 2));
+                // 鍒ゆ柇鏄惁涓烘繁搴撲綅
+                double remainder = Arith.remainder(row, rowCount / crn_qty);
+                if (remainder != 0 && remainder != 1) {
+                    continue;
+                }
+                // 寰楀埌褰撳墠搴撲綅鐨勫鍥村簱浣�
+                System.out.println();
+            }
+
             // 鑾峰彇鐩爣绔欐墍鍦ㄨ揣鏋舵帓鍙�
             Shelves shelves = new Shelves(rowCount, crn_qty);
             curRow = shelves.start(curRow);
@@ -143,8 +161,16 @@
             } else {
                 throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
             }
+        } else {
+            throw new CoolException(rowLastno.getWhsType()+"鍙峰簱浣嶆帓鍙峰垎閰嶈鍒欎笉鍙敤");
         }
         return startupDto;
     }
 
+    public static void main(String[] args) {
+        System.out.println(Arith.remainder(1, 4));
+        System.out.println("0200201".substring(0, 2));
+
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.1