From a4aad3f61c9264fef86b433e0efb39558cc31e83 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期三, 30 三月 2022 14:37:33 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/common/model/OutLocDto.java            |   39 ++++++++++++++++++++-------------------
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   12 ++----------
 2 files changed, 22 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 504ea6b..6d3a63e 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -193,14 +193,7 @@
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
             // 鑾峰彇璺緞
-            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                    .eq("type_no", ioType)
-                    .eq("stn_no", staNo.getDevNo())
-                    .eq("crn_no", locMast.getCrnNo());
-            StaDesc staDesc = staDescService.selectOne(wrapper);
-            if (Cools.isEmpty(staDesc)) {
-                throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
-            }
+            StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo());
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
             // 鐢熸垚宸ヤ綔妗�
@@ -228,11 +221,10 @@
             }
             // 鐢熸垚宸ヤ綔妗f槑缁�
             for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
-                // 鍑哄簱鏃讹紝鏁伴噺涓�0鐨勭洿鎺ュ拷鐣�
                 if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
                 WrkDetl wrkDetl = new WrkDetl();
                 wrkDetl.setWrkNo(workNo);
-                wrkDetl.setIoTime(new Date());
+                wrkDetl.setIoTime(now);
                 Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
                 wrkDetl.setAnfme(anfme); // 鏁伴噺
                 VersionUtils.setWrkDetl(wrkDetl, detlDto.getLocDetl()); // 鐗堟湰鎺у埗
diff --git a/src/main/java/com/zy/common/model/OutLocDto.java b/src/main/java/com/zy/common/model/OutLocDto.java
index c990d89..3fc958d 100644
--- a/src/main/java/com/zy/common/model/OutLocDto.java
+++ b/src/main/java/com/zy/common/model/OutLocDto.java
@@ -1,15 +1,20 @@
 package com.zy.common.model;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
 import com.core.common.SpringUtils;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.service.LocDetlService;
+import lombok.Data;
 
+import java.util.Iterator;
 import java.util.List;
 
 /**
  * Created by vincent on 2020/6/17
  */
+@Data
 public class OutLocDto {
 
     private String locNo;
@@ -24,34 +29,30 @@
         this.locDetlDtos = locDetlDtos;
     }
 
-    public String getLocNo() {
-        return locNo;
-    }
-
-    public void setLocNo(String locNo) {
-        this.locNo = locNo;
-    }
-
-    public List<LocDetlDto> getLocDetlDtos() {
-        return locDetlDtos;
-    }
-
-    public void setLocDetlDtos(List<LocDetlDto> locDetlDtos) {
-        this.locDetlDtos = locDetlDtos;
-    }
-
     public boolean isAll(){
         // 鏌ヨ褰撳墠搴撲綅鍙锋墍鏈夌殑搴撳瓨鏄庣粏
         LocDetlService locDetlService = SpringUtils.getBean(LocDetlService.class);
         List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", this.locNo));
         if (locDetls == null || locDetls.isEmpty()){
-            return true;
+            throw new CoolException("妫�绱㈠簱瀛樻槑缁嗗け璐ワ紝搴撲綅鍙�=" + this.locNo);
         }
         int sameNumber = 0;
         for (LocDetl locDetl : locDetls) {
-            for (LocDetlDto dto : this.locDetlDtos) {
-                if (dto.getLocDetl().getMatnr().equals(locDetl.getMatnr()) && dto.getCount().equals(locDetl.getAnfme())) {
+            Iterator<LocDetlDto> iterator = this.locDetlDtos.iterator();
+            while (iterator.hasNext()) {
+                LocDetl next = iterator.next().getLocDetl();
+                if (!next.getMatnr().equals(locDetl.getMatnr())) {
+                    continue;
+                }
+                if (!Cools.eq(next.getBatch(), locDetl.getBatch())) {
+                    continue;
+                }
+                if (next.getAnfme() > locDetl.getAnfme()) {
+                    throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�");
+                }
+                if (next.getAnfme().equals(locDetl.getAnfme())) {
                     sameNumber++;
+                    iterator.remove();
                     break;
                 }
             }

--
Gitblit v1.9.1