From 595108c00257f238815ffc5c20fbfa82244c7740 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期二, 29 三月 2022 10:52:05 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/OrderDetlMapper.xml | 16 ++++++++
src/main/resources/mapper/WrkDetlMapper.xml | 4 ++
src/main/java/com/zy/asrs/entity/OrderDetl.java | 3 +
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 4 ++
src/main/java/com/zy/asrs/service/OrderDetlService.java | 2 +
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 2 +
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 6 +++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 32 ++++++++--------
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 5 ++
src/main/java/com/zy/asrs/service/WrkDetlService.java | 2 +
10 files changed, 60 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index ebfe9c2..cef183b 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -53,6 +53,9 @@
/**
* 浣滀笟鏁伴噺
+ *
+ * 1. 鍏ュ簱 : qty 馃憜
+ * 1. 鍑哄簱 : qty 馃憜
*/
@ApiModelProperty(value= "浣滀笟鏁伴噺")
private Double qty;
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index b2c328a..800d20f 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -20,4 +20,6 @@
int increase(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+ int decrease(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+
}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index 6193859..e4c0ff5 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -5,8 +5,12 @@
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
+import java.util.List;
+
@Mapper
@Repository
public interface WrkDetlMapper extends BaseMapper<WrkDetl> {
+ List<WrkDetl> selectByWrkNo(Integer wrkNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index 288c794..8080b2d 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -17,4 +17,6 @@
boolean increase(Long orderId, String matnr, String batch, Double qty);
+ boolean decrease(String orderNo, String matnr, String batch, Double qty);
+
}
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index 8b3c512..7b92036 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -10,4 +10,6 @@
void createWorkDetail(Integer workNo, List<DetlDto> detlDtos, String barcode, Long userId);
+ List<WrkDetl> selectByWrkNo(Integer wrkNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
index 65e721f..99f70f4 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -48,4 +48,10 @@
public boolean increase(Long orderId, String matnr, String batch, Double qty) {
return this.baseMapper.increase(orderId, matnr, batch, qty) > 0;
}
+
+ @Override
+ public boolean decrease(String orderNo, String matnr, String batch, Double qty) {
+ return this.baseMapper.decrease(orderNo, matnr, batch, qty) > 0;
+ }
+
}
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 0ce118a..0359887 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -45,11 +45,11 @@
@Autowired
private WrkMastService wrkMastService;
@Autowired
+ private WrkDetlService wrkDetlService;
+ @Autowired
private BasDevpService basDevpService;
@Autowired
private CommonService commonService;
- @Autowired
- private WrkDetlService wrkDetlService;
@Autowired
private LocMastService locMastService;
@Autowired
@@ -307,9 +307,7 @@
// 鐢熸垚宸ヤ綔妗f槑缁�
for (LocDto locDto : taskDto.getLocDtos()) {
if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
-
OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
-
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.setIoTime(now);
wrkDetl.setWrkNo(workNo);
@@ -324,6 +322,9 @@
if (!wrkDetlService.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
+ // todo:luxiaotao 淇敼璁㈠崟鏄庣粏鏁伴噺
+
+
}
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.selectById(taskDto.getLocNo());
@@ -751,18 +752,6 @@
// 鍑哄簱 ===>> F.鍦ㄥ簱
if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
locSts = "F";
- // 閿�鍞崟鍏宠仈锛屽垯鐢熸垚鏂扮殑鍑哄簱浠诲姟
- if (wrkMast.getPdcType().equals("Y")) {
- List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
- for (WrkDetl wrkDetl : wrkDetls) {
- Double sumAnfme = Optional.ofNullable(locDetlService.getSumAnfme(wrkDetl.getMatnr())).orElse(0.0D);
- if (sumAnfme < wrkDetl.getAnfme()) {
- throw new CoolException("鍙栨秷澶辫触锛佸簱瀛樹笉瓒充互閲嶆柊鐢熸垚鍑哄簱浣滀笟");
- }
- }
- // 鐢熸垚鏂扮殑鍑哄簱浣滀笟
- stockOutRe(wrkMast, wrkDetls);
- }
// 绌烘澘鍑哄簱 ===>> D.绌烘《/绌烘爤鏉�
} else if (wrkMast.getIoType() == 110) {
locSts = "D";
@@ -782,6 +771,17 @@
} else {
throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
}
+ // 璁㈠崟鍏宠仈
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ for (WrkDetl wrkDetl : wrkDetls) {
+ if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
+ if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+ throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
+ }
+ // 鐢熸垚鏂扮殑鍑哄簱浣滀笟
+// stockOutRe(wrkMast, wrkDetls);
+ }
+ }
// 鍙栨秷鎿嶄綔浜哄憳璁板綍
wrkMast.setManuType("鎵嬪姩鍙栨秷");
wrkMast.setModiUser(userId);
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 8e16a07..80546b5 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -50,4 +50,9 @@
}
}
}
+
+ @Override
+ public List<WrkDetl> selectByWrkNo(Integer wrkNo) {
+ return this.baseMapper.selectByWrkNo(wrkNo);
+ }
}
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 2875292..063098f 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -84,4 +84,20 @@
</choose>
</update>
+ <update id="decrease">
+ update man_order_detl
+ set qty = qty - #{qty}
+ where 1=1
+ and order_no = #{orderNo}
+ and matnr = #{matnr}
+ <choose>
+ <when test="batch != null and batch != ''">
+ and batch = #{batch}
+ </when>
+ <otherwise>
+ and (batch IS NULL OR batch = '')
+ </otherwise>
+ </choose>
+ </update>
+
</mapper>
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index a8614d9..90249c9 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -27,4 +27,8 @@
<result column="appe_time" property="appeTime" />
</resultMap>
+ <select id="selectByWrkNo" resultMap="BaseResultMap">
+ select * from asr_wrk_detl where 1=1 and wrk_no = #{wrkNo}
+ </select>
+
</mapper>
--
Gitblit v1.9.1