From 183d00d631493ba8689934c4b3961c705f409c83 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 01 十月 2023 09:55:01 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java |   44 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 40 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
index c9af0a1..01ada7a 100644
--- a/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/ManLocDetlServiceImpl.java
@@ -1,8 +1,10 @@
 package com.zy.asrs.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.ManLocDetl;
 import com.zy.asrs.entity.Mat;
@@ -15,15 +17,13 @@
 import com.zy.asrs.service.NodeService;
 import com.zy.asrs.service.WaitPakinService;
 import com.zy.asrs.utils.SaasUtils;
+import com.zy.common.model.LocDto;
 import com.zy.system.entity.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 @Service("manLocDetlService")
 public class ManLocDetlServiceImpl extends ServiceImpl<ManLocDetlMapper, ManLocDetl> implements ManLocDetlService {
@@ -200,4 +200,40 @@
         return baseMapper.increase(anfme,locNo,matnr,batch,weight);
     }
 
+    public double queryStockAndSetLocDto(String matnr, String batch, String orderNo, List<LocDto> locDtoList, double issued, String csocode, String isoseq) {
+        Wrapper<ManLocDetl> wrapper = new EntityWrapper<ManLocDetl>().eq("matnr", matnr).orderBy("modi_time");
+        wrapper.eq("status",1);
+        wapperSetCondition(wrapper,"batch",batch);
+        wapperSetCondition(wrapper,"csocode",csocode);
+        wapperSetCondition(wrapper,"isoseq",isoseq);
+
+        List<ManLocDetl> manLocDetls = this.selectList(wrapper);
+        for (ManLocDetl manLocDetl : manLocDetls){
+            if(issued > 0) {
+                double anfme = manLocDetl.getAnfme();
+                anfme = anfme > issued ? issued : anfme;
+                LocDto locDto = new LocDto(manLocDetl.getLocNo(), manLocDetl.getMatnr(), manLocDetl.getMaktx(), manLocDetl.getBatch(), orderNo, anfme);
+                locDto.setCsocode(csocode);
+                locDto.setIsoseq(isoseq);
+                locDto.setContainerCode(manLocDetl.getContainerCode());
+                List<String> stationList = new ArrayList<>();
+                stationList.add("鏃犻渶绔欑偣");
+                locDto.setAgvStaNos(stationList);
+
+                locDtoList.add(locDto);
+                issued -= anfme;
+            }
+        }
+
+        return issued;
+    }
+
+    private void wapperSetCondition(Wrapper wrapper,String column, String condition){
+        if(Cools.isEmpty(condition)){
+            wrapper.isNull(column);
+        }else {
+            wrapper.eq(column,condition);
+        }
+    }
+
 }

--
Gitblit v1.9.1