From 0142e910dffd0255a4a4a1192cedd2ba0b0e71ab Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期三, 14 七月 2021 16:57:35 +0800
Subject: [PATCH] 下架正式接口: 当[(库存数量-出库通知档数量) < 下架数量]时不允许下架

---
 src/main/java/com/slcf/service/WaitPakOutService.java          |    2 ++
 src/main/java/com/slcf/controller/AsrsController.java          |   15 +++++++++++++++
 src/main/java/com/slcf/service/impl/WaitPakOutServiceImpl.java |    5 +++++
 src/main/java/com/slcf/dao/WaitPakOutDao.java                  |    2 ++
 src/main/resources/mapper/WaitPakOutMapper.xml                 |    4 ++++
 5 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/slcf/controller/AsrsController.java b/src/main/java/com/slcf/controller/AsrsController.java
index a86d8f9..5aff630 100644
--- a/src/main/java/com/slcf/controller/AsrsController.java
+++ b/src/main/java/com/slcf/controller/AsrsController.java
@@ -533,6 +533,21 @@
 							logger.error("SAP Retrieve Interface Error-----涓嬫灦鎸囦护鎺ユ敹澶辫触" + sloc_no + "搴撳瓨鏁伴噺灏忎簬涓嬫灦鏁伴噺--" + vsolm);
 							continue;
 						}
+						// (搴撳瓨鏁伴噺-鍑哄簱閫氱煡妗f暟閲�) < 涓嬫灦鏁伴噺
+						List<WaitPakOutBean> waitPakOutBeanList = waitPakOutService.queryWaitOutPak(locDetailBean.getLoc_no(), locDetailBean.getMatnr());
+						if (waitPakOutBeanList.size() > 0) {
+							Double realAnfme = new Double(locDetailBean.getAnfme() - waitPakOutBeanList.get(0).getVsolm());
+							if (realAnfme < vsolm) {
+								jsonRet.put("lgnum", job.get("lgnum").toString());
+								jsonRet.put("tanum", job.get("tanum").toString().equals("")?0:Integer.parseInt(job.get("tanum").toString()));
+								jsonRet.put("tapos", job.get("tapos").toString().equals("")?0:Integer.parseInt(job.get("tapos").toString()));
+								jsonRet.put("zstatus", "E");
+								jsonRet.put("message", "涓嬫灦鎸囦护鎺ユ敹澶辫触," + sloc_no + "搴撳瓨鏁伴噺灏忎簬涓嬫灦鏁伴噺--" + vsolm);
+								arrRet.add(jsonRet);
+								logger.error("SAP Retrieve Interface Error-----涓嬫灦鎸囦护鎺ユ敹澶辫触" + sloc_no + "搴撳瓨鏁伴噺灏忎簬涓嬫灦鏁伴噺--" + vsolm);
+								continue;
+							}
+						}
 						String nltyp=job.get("vlpla").toString();
 						String dloc_no=job.get("nlpla").toString();
 						if(nltyp.equals("A01") && dloc_no!=null && !dloc_no.equals("")) {
diff --git a/src/main/java/com/slcf/dao/WaitPakOutDao.java b/src/main/java/com/slcf/dao/WaitPakOutDao.java
index b5f1d3c..fedf22f 100644
--- a/src/main/java/com/slcf/dao/WaitPakOutDao.java
+++ b/src/main/java/com/slcf/dao/WaitPakOutDao.java
@@ -35,6 +35,8 @@
 	public Integer waitPakOutSetEms(@Param("lgnum") String lgnum, @Param("tanum") int tanum, @Param("tapos") int tapos);
 
 	public Integer countEmsNum();
+
+	public List<WaitPakOutBean> queryWaitOutPak(@Param("vlpla") String vlpla, @Param("matnr") String matnr);
 	
 //	//缁熻鎵�鏈夋暟鎹�绘暟閲�
 //	@Select("select count(*) from cust_wait_pakout")
diff --git a/src/main/java/com/slcf/service/WaitPakOutService.java b/src/main/java/com/slcf/service/WaitPakOutService.java
index 73f5d6d..26557ae 100644
--- a/src/main/java/com/slcf/service/WaitPakOutService.java
+++ b/src/main/java/com/slcf/service/WaitPakOutService.java
@@ -23,6 +23,8 @@
 	public Integer waitPakOutSetEms(SetEmsParam waitPakOutCon);
 
 	public Integer countEmsNum();
+
+	public List<WaitPakOutBean> queryWaitOutPak(String vlpla, String matnr);
 	
 	//鏍规嵁id鏌ヨ
 	public WaitPakOutBean queryWaitPakOutById(String sheet_no,String mat_no);
diff --git a/src/main/java/com/slcf/service/impl/WaitPakOutServiceImpl.java b/src/main/java/com/slcf/service/impl/WaitPakOutServiceImpl.java
index 14a824e..b4cce8d 100644
--- a/src/main/java/com/slcf/service/impl/WaitPakOutServiceImpl.java
+++ b/src/main/java/com/slcf/service/impl/WaitPakOutServiceImpl.java
@@ -5,6 +5,7 @@
 import java.util.Map;
 
 import com.slcf.controller.param.SetEmsParam;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -89,6 +90,10 @@
 		return WaitPakOutDao.countEmsNum();
 	}
 
+	public List<WaitPakOutBean> queryWaitOutPak(String vlpla, String matnr) {
+		return WaitPakOutDao.queryWaitOutPak(vlpla, matnr);
+	}
+
 	/**
 	 * 鏍规嵁id鏌ユ壘
 	 */
diff --git a/src/main/resources/mapper/WaitPakOutMapper.xml b/src/main/resources/mapper/WaitPakOutMapper.xml
index 4b6b815..245bf1b 100644
--- a/src/main/resources/mapper/WaitPakOutMapper.xml
+++ b/src/main/resources/mapper/WaitPakOutMapper.xml
@@ -46,6 +46,10 @@
 	select count(*) from cust_wait_pakout where ems_status = 1
 </select>
 
+<select id="queryWaitOutPak" resultType="com.slcf.pojo.WaitPakOutBean">
+	select * from cust_wait_pakout where vlpla = #{vlpla} and matnr = #{matnr}
+</select>
+
 <select id="getWaitPakOutCount" parameterType="com.slcf.bean.WaitPakOutCondition"	resultType="Integer">
 select count(1) from cust_wait_pakout a
 <where>

--
Gitblit v1.9.1