From 09073d8b84d438d57d237d93d6dac4df5f838c57 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期二, 29 十一月 2022 11:33:21 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/entity/OrderDetl.java | 8 +--
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 25 +++++-------
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 2 +
src/main/resources/mapper/WrkMastMapper.xml | 3 +
src/main/java/com/zy/common/web/WcsController.java | 14 ++++++
src/main/resources/mapper/OrderDetlMapper.xml | 3 +
src/main/java/com/zy/asrs/service/WrkMastService.java | 3 +
src/main/java/com/zy/asrs/service/OrderDetlService.java | 2 +
src/main/webapp/static/js/order/out.js | 6 +-
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 5 ++
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 6 +-
src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java | 5 ++
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 2 +
src/main/webapp/static/js/order/order.js | 2
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 8 ++-
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 2
16 files changed, 65 insertions(+), 31 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 311979d..bba9977 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -443,12 +443,10 @@
}
public Double getEnableQty() {
- if (null != this.anfme && this.workQty != null) {
- return this.anfme - this.workQty;
+
+ if (null != this.anfme && this.qty != null) {
+ return this.anfme - this.qty;
}
-// if (null != this.anfme && this.qty != null) {
-// return this.anfme - this.qty;
-// }
return null;
}
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 51c99ad..48b4cc4 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -34,4 +34,6 @@
int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty);
+
+ Integer checkAllDetlFinish(@Param("orderNo") String orderNo);
}
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index dd349bd..37e384b 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.zy.asrs.entity.WrkMast;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -16,4 +17,5 @@
List<WrkMast> selectToBeHistoryData();
+ Integer checkFinishByOrder(@Param("orderNo") String orderNo);
}
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index ecf08d2..53e6e05 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -37,4 +37,6 @@
* @return
*/
boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty);
+
+ Boolean checkAllDetlFinish(String orderNo);
}
diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java
index ff9c2ba..8116e57 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -21,4 +21,7 @@
* @return
*/
int getStoreCount(Integer crnNo);
+
+ Boolean checkFinishByOrder(String orderNo);
+
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 386c035..8f7de88 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -151,10 +151,12 @@
}
// 鐢熸垚鍏ュ簱閫氱煡妗�
List<DetlDto> detlDtos = new ArrayList<>();
- param.getCombMats().forEach(elem -> {
-
+ for (CombParam.CombMat elem : param.getCombMats()) {
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
+ if(orderDetl == null){
+ throw new CoolException("璇ュ崟鎹腑涓嶅瓨鍦ㄨ鐗╂枡鏄庣粏锛�" + elem);
+ }
if (elem.getAnfme() > orderDetl.getEnableQty()) {
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
@@ -171,7 +173,7 @@
} else {
detlDtos.add(detlDto);
}
- });
+ }
for (DetlDto detlDto : detlDtos) {
Mat mat = matService.selectByMatnr(detlDto.getMatnr());
if (Cools.isEmpty(mat)) {
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 2715f0e..b485a88 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -260,7 +260,7 @@
}
OrderDetl orderDetl = new OrderDetl();
orderDetl.sync(mat);
- orderDetl.setBatch(detlDto.getBatch());
+ orderDetl.setBatch(detlDto.getBatch() == null ? "" : detlDto.getBatch());
orderDetl.setAnfme(detlDto.getAnfme());
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
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 327edbb..725f062 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -90,4 +90,9 @@
public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) {
return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0;
}
+
+ @Override
+ public Boolean checkAllDetlFinish(String orderNo) {
+ return this.baseMapper.checkAllDetlFinish(orderNo) <= 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 8955567..14bd5ef 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -323,9 +323,9 @@
for (LocDto locDto : taskDto.getLocDtos()) {
if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
- if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
- }
+// if (orderDetl == null) {
+// orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+// }
WrkDetl wrkDetl = new WrkDetl();
wrkDetl.sync(orderDetl);
wrkDetl.setZpallet(wrkMast.getBarcode());
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
index ab394ec..08d614d 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -45,4 +45,9 @@
.last(" and (wrk_sts in (1,2) or (wrk_sts=3 and wrk_no in (select wrk_no from asr_bas_devp)))"));
}
+ @Override
+ public Boolean checkFinishByOrder(String orderNo) {
+ return this.baseMapper.checkFinishByOrder(orderNo) <= 0;
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index f5fb2df..450a109 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -35,6 +35,8 @@
private WaitPakinService waitPakinService;
@Autowired
private OrderDetlService orderDetlService;
+ @Autowired
+ private OrderService orderService;
public ReturnT<String> start(WrkMast wrkMast) {
// 4.鍏ュ簱瀹屾垚
@@ -341,21 +343,16 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
- for (WrkDetl wrkDetl : wrkDetls101) {
- // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
- OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- try {
- if(!Cools.isEmpty(orderDetl)){
- if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
- wrkDetl.getBatch(),wrkDetl.getAnfme())){
-// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
-// wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
- }
- }
- } catch (Exception ignore){}
+
+ Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo());
+ if (finsihed) {
+ Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo());
+ if (mastFinished) {
+ Order order = orderService.selectByNo(wrkDetls101.get(0).getOrderNo());
+ orderService.updateSettle(order.getId(),4L,1L);
+ }
}
+
// 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鍒犻櫎搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index ed8a294..e49a7ad 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -49,6 +49,8 @@
private RowLastnoService rowLastnoService;
@Autowired
private WorkService workService;
+ @Autowired
+ private BasCrnpService basCrnpService;
@PostMapping("/pakin/loc/v1")
@ResponseBody
@@ -163,7 +165,17 @@
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
// 妫�绱㈠簱浣�
List<String> matNos = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
- Integer integer = rowLastnoService.selectNextWhsType();
+ int rowCount = rowLastnoService.selectCount(null);
+ Integer integer = 1;
+ for (int i = 1; i <= rowCount; i++) {
+ integer = rowLastnoService.selectNextWhsType();
+ BasCrnp crn_no = basCrnpService.selectOne(new EntityWrapper<BasCrnp>()
+ .eq("crn_no", i));
+ if (crn_no.getInEnable().equals("Y")){
+ break;
+ }
+ }
+
StartupDto dto = commonService.getLocNo(integer, 1, devpNo, matNos, locTypeDto,0);
int workNo = dto.getWorkNo();
Date now = new Date();
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index 86757d2..99ccde1 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -124,6 +124,9 @@
and mdt.pakout = 1
<include refid="pakOutPageCondition"></include>
</select>
+ <select id="checkAllDetlFinish" resultType="java.lang.Integer">
+ SELECT count(*) From man_order_detl WHERE qty < anfme and order_no = #{orderNo}
+ </select>
<update id="increase">
update man_order_detl
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index ce04079..7a419f1 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -74,5 +74,8 @@
or (wrk_sts=15 and crn_end_time is null and wrk_no not in (select wrk_no from asr_bas_devp))
order by io_time,wrk_no asc
</select>
+ <select id="checkFinishByOrder" resultType="java.lang.Integer">
+ select Count(*) FROM asr_wrk_detl d left join asr_wrk_mast m on d.wrk_no = m.wrk_no WHERE d.order_no = #{orderNo} and m.wrk_sts < 14
+ </select>
</mapper>
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index e277615..21d75e0 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -123,7 +123,7 @@
{field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
{field: 'batch', title: '鎵瑰彿'},
{field: 'anfme', title: '鏁伴噺'},
- {field: 'workQty', title: '浣滀笟鏁伴噺'},
+ // {field: 'workQty', title: '浣滀笟鏁伴噺'},
{field: 'qty', title: '瀹屾垚鏁伴噺', style: 'font-weight: bold'},
// {field: 'unit', title: '鍗曚綅'},
// {
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index 0643b0b..4d33bcb 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -39,7 +39,7 @@
,{field: 'specs', align: 'center',title: '瑙勬牸'}
// ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
// ,{field: 'qty', align: 'center',title: '浣滀笟鏁伴噺', style: 'font-weight: bold'}
- ,{field: 'enableQty', align: 'center',title: '寰呭嚭鏁伴噺', style: 'font-weight: bold'}
+ ,{field: 'enableQty', align: 'center',title: '鎬绘暟閲�', style: 'font-weight: bold'}
// ,{field: 'name', align: 'center',title: '鍚嶇О'}
// ,{field: 'model', align: 'center',title: '鍨嬪彿'}
,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
@@ -162,9 +162,9 @@
{field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
{field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
{field: 'batch', title: '搴忓垪鐮�', align: 'center'},
- { title: '闇�姹傛暟閲�', align: 'center' , width: 90, toolbar: '#checkNeedQty'},
+ { title: '鍓╀綑闇�姹傞噺', align: 'center' , width: 120, toolbar: '#checkNeedQty'},
// {field: 'anfme', title: '瀹為檯鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
- { title: '瀹為檯鏁伴噺', align: 'center', width: 90, toolbar: '#checkAnfme'},
+ { title: '绔嬪簱浣欓噺', align: 'center', width: 90, toolbar: '#checkAnfme'},
{field: 'locNo', title: '璐т綅', align: 'center', width: 100, templet: '#locNoTpl'},
{field: 'staNos', align: 'center', title: '鍑哄簱绔�', merge: ['locNo'], templet: '#tbBasicTbStaNos'},
{type: 'checkbox', merge: ['locNo']},
--
Gitblit v1.9.1