From 4ff5578af7c4ed7d0afd94f8faf45d0b402cad8a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期一, 28 三月 2022 10:35:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/mapper/StaDescMapper.java            |    5 +++++
 src/main/java/com/zy/asrs/service/StaDescService.java          |    4 ++++
 src/main/resources/mapper/StaDescMapper.xml                    |   13 +++++++++++++
 src/main/java/com/zy/common/model/LocDto.java                  |    4 ++++
 src/main/java/com/zy/asrs/controller/OutController.java        |   16 ++++++++--------
 src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java |    6 ++++++
 6 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index eba9ffc..9f10466 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -6,10 +6,7 @@
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.result.StoPreTab;
-import com.zy.asrs.service.LocDetlService;
-import com.zy.asrs.service.LocMastService;
-import com.zy.asrs.service.OrderDetlService;
-import com.zy.asrs.service.OrderService;
+import com.zy.asrs.service.*;
 import com.zy.common.model.DetlDto;
 import com.zy.common.model.LocDto;
 import com.zy.common.web.BaseController;
@@ -35,6 +32,8 @@
     private LocDetlService locDetlService;
     @Autowired
     private LocMastService locMastService;
+    @Autowired
+    private StaDescService staDescService;
 
 //    @PostMapping("/out/pakout/preview/auth")
 //    public R pakoutPreview(@RequestBody List<Long> ids) {
@@ -77,14 +76,15 @@
         List<OrderDetl> orderDetls = orderDetlService.selectBatchIds(ids);
         List<LocDto> locDtos = new ArrayList<>();
         for (OrderDetl orderDetl : orderDetls) {
-            // check stock
-//            Double stockAnfme = locDetlService.queryStockAnfme(orderDetl.getMatnr(), orderDetl.getBatch());
             double issued = Optional.ofNullable(orderDetl.getAnfme()).orElse(0.0D) ;
             List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null);
             for (LocDetl locDetl : locDetls) {
                 if (issued > 0) {
-                    locDtos.add(new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
-                            issued>=locDetl.getAnfme()?locDetl.getAnfme():issued));
+                    LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
+                            issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
+                    List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
+                    locDto.setStaNos(staNos);
+                    locDtos.add(locDto);
                     // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
                     issued = issued - locDetl.getAnfme();
                 } else {
diff --git a/src/main/java/com/zy/asrs/mapper/StaDescMapper.java b/src/main/java/com/zy/asrs/mapper/StaDescMapper.java
index 1518045..b79dfc7 100644
--- a/src/main/java/com/zy/asrs/mapper/StaDescMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/StaDescMapper.java
@@ -3,10 +3,15 @@
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.asrs.entity.StaDesc;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
 public interface StaDescMapper extends BaseMapper<StaDesc> {
 
+    List<Integer> queryOutStaNosByLocNo(@Param("locNo") String locNo, @Param("typeNo") Integer typeNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/StaDescService.java b/src/main/java/com/zy/asrs/service/StaDescService.java
index b0ea462..a5824b1 100644
--- a/src/main/java/com/zy/asrs/service/StaDescService.java
+++ b/src/main/java/com/zy/asrs/service/StaDescService.java
@@ -3,6 +3,10 @@
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.asrs.entity.StaDesc;
 
+import java.util.List;
+
 public interface StaDescService extends IService<StaDesc> {
 
+    List<Integer> queryOutStaNosByLocNo(String locNo, Integer typeNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
index 87a3f20..38c9dd1 100644
--- a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -6,7 +6,13 @@
 import com.zy.asrs.service.StaDescService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service("staDescService")
 public class StaDescServiceImpl extends ServiceImpl<StaDescMapper, StaDesc> implements StaDescService {
 
+    @Override
+    public List<Integer> queryOutStaNosByLocNo(String locNo, Integer typeNo) {
+        return this.baseMapper.queryOutStaNosByLocNo(locNo, typeNo);
+    }
 }
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index c3d1805..970d523 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -2,6 +2,8 @@
 
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * Created by vincent on 2022/3/28
  */
@@ -22,6 +24,8 @@
 
     private boolean lack = false;
 
+    private List<Integer> staNos;
+
     public LocDto() {
     }
 
diff --git a/src/main/resources/mapper/StaDescMapper.xml b/src/main/resources/mapper/StaDescMapper.xml
index b3bde73..ab8b4c6 100644
--- a/src/main/resources/mapper/StaDescMapper.xml
+++ b/src/main/resources/mapper/StaDescMapper.xml
@@ -19,4 +19,17 @@
 
     </resultMap>
 
+    <select id="queryOutStaNosByLocNo" resultType="java.lang.Integer">
+        select
+        distinct asd.stn_no
+        from asr_sta_desc asd
+        left join asr_loc_mast alm on asd.crn_no = alm.crn_no
+        where 1=1
+        and alm.loc_no = #{locNo}
+        <if test="typeNo != null and typeNo !=''">
+            and asd.type_no = #{typeNo}
+        </if>
+
+    </select>
+
 </mapper>

--
Gitblit v1.9.1