From 7b3d21cd1c68a48e558fb4255321da8ad7f13b7b Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 16 八月 2024 09:04:09 +0800
Subject: [PATCH] 成品入库修改
---
src/main/java/com/zy/asrs/entity/param/FxprkParam.java | 34 ++++--
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 20 ++--
src/main/java/com/zy/asrs/controller/OpenController.java | 2
src/main/java/com/zy/asrs/task/handler/GhjtHandler.java | 9 +
src/main/java/com/zy/asrs/mapper/MatMapper.java | 4
src/main/resources/mapper/WrkMastMapper.xml | 2
src/main/webapp/static/js/common.js | 8
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 161 ++++++++++++++++++-------------
src/main/java/com/zy/asrs/service/OpenService.java | 2
9 files changed, 144 insertions(+), 98 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 3d4d741..429f7db 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -44,7 +44,7 @@
@PostMapping("/fxprk")
@AppAuth(memo = "鍙嶄慨鍝佸叆搴�")
public synchronized R fxprk(@RequestHeader(required = false) String appkey,
- @RequestBody List<FxprkParam> param,
+ @RequestBody FxprkParam param,
HttpServletRequest request) {
auth(appkey, param, request);
return R.ok(openService.fxprk(param));
diff --git a/src/main/java/com/zy/asrs/entity/param/FxprkParam.java b/src/main/java/com/zy/asrs/entity/param/FxprkParam.java
index 8ac1b22..569e238 100644
--- a/src/main/java/com/zy/asrs/entity/param/FxprkParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/FxprkParam.java
@@ -2,6 +2,8 @@
import lombok.Data;
+import java.util.List;
+
/**
* @author pang.jiabao
* @description 鍙嶄慨鍝佸叆搴�
@@ -11,17 +13,29 @@
public class FxprkParam {
/**
- * 鍖呰缁勫彿
- */
- private String packageGroupNo;
-
- /**
- * 鏈ㄧ浣嶇疆
- */
- private String boxPos;
-
- /**
* 绔欑偣
*/
private Integer palletizingNo;
+
+ /**
+ * 鎵樼洏鐮�
+ */
+ private String barcode;
+
+ /**
+ * 鏈ㄧ闆嗗悎
+ */
+ private List<Box> boxList;
+ @Data
+ public static class Box {
+ /**
+ * 鍖呰缁勫彿
+ */
+ private String packageGroupNo;
+
+ /**
+ * 鏈ㄧ浣嶇疆
+ */
+ private String boxPos;
+ }
}
diff --git a/src/main/java/com/zy/asrs/mapper/MatMapper.java b/src/main/java/com/zy/asrs/mapper/MatMapper.java
index a95979a..bf12ef8 100644
--- a/src/main/java/com/zy/asrs/mapper/MatMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/MatMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.plugins.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
import com.zy.asrs.entity.Mat;
@@ -25,4 +26,7 @@
Integer getStockOutPageCount(Map<String, Object> map);
+ @Update("update man_mat set origin= #{boxPos},barcode=#{barcode} where brand= #{packageGroupNo}")
+ Integer updateBoxPos(@Param("packageGroupNo") String packageGroupNo, @Param("boxPos") String boxPos,@Param("barcode") String barcode);
+
}
diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java
index 36abae7..d0677fe 100644
--- a/src/main/java/com/zy/asrs/service/OpenService.java
+++ b/src/main/java/com/zy/asrs/service/OpenService.java
@@ -23,7 +23,7 @@
/**
* 鍙嶄慨鍝佸叆搴�
*/
- String fxprk(List<FxprkParam> param);
+ String fxprk(FxprkParam param);
/**
*GWMS鍒拌揪鐩爣绔欑偣璇锋眰ZWCS鎵ц鍏ュ簱
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 813209f..f02d5c1 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -14,6 +14,7 @@
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.entity.result.ZphjcdgzVo;
import com.zy.asrs.entity.result.ZphjcdwcVo;
+import com.zy.asrs.mapper.MatMapper;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
@@ -30,6 +31,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@@ -84,6 +86,9 @@
private LocMastService locMastService;
@Autowired
private ApiLogService apiLogService;
+
+ @Resource
+ private MatMapper matMapper;
@Override
@Transactional
@@ -1025,73 +1030,85 @@
@Override
@Transactional
- public String fxprk(List<FxprkParam> param) {
-//
-// // 鏍规嵁鍖呰缁勫彿鑾峰彇鍒版湪绠卞嵎淇℃伅
-// List<Mat> list = matService.selectList(new EntityWrapper<Mat>().eq("brand", param.getPackageGroupNo()));
-// if (list.isEmpty()) {
-// throw new CoolException("娌℃湁鏌ヨ鍒拌鍖呰缁勫彿淇℃伅锛�" + param.getPackageGroupNo());
-// }
-//
-// LocTypeDto locTypeDto = new LocTypeDto();
-// locTypeDto.setLocType1((short) 1);
-// StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto, 0);
-//
-// // 杩斿洖GWCS鐩爣淇℃伅
-// pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo());
-//
-// int workNo = dto.getWorkNo();
-// Date now = new Date();
-// // 鐢熸垚宸ヤ綔妗�
-// WrkMast wrkMast = new WrkMast();
-// wrkMast.setWrkNo(workNo);
-// wrkMast.setIoTime(new Date());
-// wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細璁惧涓婅蛋
-// wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
-// wrkMast.setIoPri(13D); // 浼樺厛绾�
-// wrkMast.setCrnNo(dto.getCrnNo());
-// wrkMast.setSourceStaNo(param.getPalletizingNo());
-// wrkMast.setStaNo(dto.getStaNo());
-// wrkMast.setLocNo(dto.getLocNo());
-// wrkMast.setBarcode(list.get(0).getBarcode()); // 鎵樼洏鐮�
-// wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
-// wrkMast.setPicking("N"); // 鎷f枡
-// wrkMast.setExitMk("N"); // 閫�鍑�
-// wrkMast.setEmptyMk("N"); // 绌烘澘
-// wrkMast.setLinkMis("Y");
-// wrkMast.setCtnType(1); // 瀹瑰櫒绫诲瀷
-// // 鎿嶄綔浜哄憳鏁版嵁
-// wrkMast.setAppeTime(now);
-// wrkMast.setModiTime(now);
-// boolean res = wrkMastService.insert(wrkMast);
-// if (!res) {
-// throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
-// }
-//
-// for (Mat obj : list) {
-// WrkDetl wrkDetl = new WrkDetl();
-// wrkDetl.setWrkNo(wrkMast.getWrkNo());
-// wrkDetl.setAnfme(1.0);
-// wrkDetl.sync(obj);
-// wrkDetl.setIoTime(now);
-// wrkDetl.setAppeTime(now);
-// wrkDetl.setModiTime(now);
-// if (!wrkDetlService.insert(wrkDetl)) {
-// throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
-// }
-// }
-//
-// // 鏇存柊鐩爣搴撲綅鐘舵��
-// LocMast locMast = locMastService.selectById(dto.getLocNo());
-// if (locMast.getLocSts().equals("O")) {
-// locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
-// locMast.setModiTime(now);
-// if (!locMastService.updateById(locMast)) {
-// throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
-// }
-// } else {
-// throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
-// }
+ public String fxprk(FxprkParam param) {
+
+ // 鏍规嵁鍖呰缁勫彿鑾峰彇鍒版湪绠卞嵎淇℃伅
+ List<Mat> list = matService.selectList(new EntityWrapper<Mat>().in("brand", param.getBoxList().stream().map(FxprkParam.Box::getPackageGroupNo).collect(Collectors.toList())));
+ if (list.isEmpty()) {
+ throw new CoolException("娌℃湁鏌ヨ鍒拌鍖呰缁勫彿淇℃伅锛�" + param.getBoxList().toString());
+ }
+
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1((short) 1);
+ StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto, 0);
+
+ // 杩斿洖GWCS鐩爣淇℃伅
+ pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo());
+
+ int workNo = dto.getWorkNo();
+ Date now = new Date();
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細璁惧涓婅蛋
+ wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
+ wrkMast.setIoPri(13D); // 浼樺厛绾�
+ wrkMast.setCrnNo(dto.getCrnNo());
+ wrkMast.setSourceStaNo(param.getPalletizingNo());
+ wrkMast.setStaNo(dto.getStaNo());
+ wrkMast.setLocNo(dto.getLocNo());
+ wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("Y");
+ wrkMast.setCtnType(1); // 瀹瑰櫒绫诲瀷
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ for (Mat obj : list) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setAnfme(1.0);
+ // 閲嶆柊瀹氫綅鏈ㄧ浣嶇疆
+ for (FxprkParam.Box box :param.getBoxList()) {
+ if (box.getPackageGroupNo().equals(obj.getBrand())) {
+ if (!box.getBoxPos().equals(obj.getOrigin())) {
+ wrkDetl.setOrigin(box.getBoxPos());
+ wrkDetl.setZpallet(param.getBarcode());
+ wrkDetl.setBarcode(param.getBarcode());
+ matMapper.updateBoxPos(box.getPackageGroupNo(), box.getBoxPos(),param.getBarcode());
+ }
+ break;
+ }
+ }
+ wrkDetl.sync(obj);
+ wrkDetl.setIoTime(now);
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+ }
+
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocSts().equals("O")) {
+ locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
+ }
return "鍏ュ簱鎴愬姛";
}
@@ -1349,11 +1366,19 @@
throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佷笉绗﹀悎锛屼换鍔″彿锛�" + param.getWorkNo() + "锛屽伐浣滄。鐘舵�侊細" + wrkMast.getWrkSts());
}
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", param.getWorkNo()));
+
+ // 鏄惁闇�瑕佸鏍�(鍑哄簱鍗曢渶澶嶆牳)
+ boolean flag = false;
+ if (!wrkDetls.isEmpty()) {
+ flag = wrkDetls.stream().anyMatch(wrkDetl -> wrkDetl.getOrderNo() != null);
+ }
+
// 鍒拌揪鍑哄簱鍙g‘璁や负1锛屾洿鏂板伐浣滄。鐘舵�佷负57.鍑哄簱瀹屾垚
if (param.getOutLocResult() == 1) {
wrkMast.setWrkSts(20L);
// 绌烘墭鐩樺埌浣嶇洿鎺ユ洿鏂板伐浣滄。鐘舵�佷负14.宸插嚭搴撴湭纭锛岀┖鎵樻棤闇�澶嶆牳纭
- if (wrkMast.getIoType() == 110) {
+ if (!flag || wrkMast.getIoType() == 110) {
wrkMast.setWrkSts(14L);
}
wrkMastService.updateById(wrkMast);
diff --git a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java
index 839bd1e..9c4ab59 100644
--- a/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/GhjtHandler.java
@@ -108,14 +108,15 @@
/**
* 鍏ㄦ澘鍑哄簱鍒�3077鎴�3106鐨勪换鍔★紝鍒ゆ柇鍑哄簱瑕佽蛋鐨勮矾寰�
* @param wrkMast 宸ヤ綔涓绘。
- * @return 0.鍙湁涓�鏉¤矾寰勶紝1.鐞嗚揣璐存爣鍑哄簱璺緞锛�2.璐存爣鎵撳甫鍑哄簱璺緞
+ * @return 1.鐩存帴鍑哄簱 2.鐞嗚揣璐存爣鍑哄簱 3.璐存爣鎵撳甫鍑哄簱 4.璐存爣鍑哄簱
*/
private int getDescToGwcs(WrkMast wrkMast) {
+ // todo 涓ゆ潯璺嚎鎬庝箞閫�
int flag = 0;
if (wrkMast.getIoType() == 101 && (wrkMast.getStaNo() == 3077 || wrkMast.getStaNo() == 3106)) {
List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
- // 鍑虹殑鐗╂枡鏈夊嚑涓綅缃�
- List<String> collect = wrkDetls.stream().map(WrkDetl::getOrigin).distinct().collect(Collectors.toList());
+ // 鏈夊嚑涓湪绠�
+ List<String> collect = wrkDetls.stream().map(WrkDetl::getBrand).distinct().collect(Collectors.toList());
if (collect.size() == 1) { // 涓�绠�
if (wrkDetls.size() == 1) { // 涓�鍗峰幓璐存爣
flag = 1;
@@ -125,6 +126,8 @@
} else if(collect.size() == 2) { // 涓ょ鍘昏创鏍囨墦甯�
flag = 2;
}
+ } else if (wrkMast.getIoType() == 103 && (wrkMast.getStaNo() == 3077 || wrkMast.getStaNo() == 3106)) {
+ flag = 4;
}
return flag;
}
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 3e18817..3e49836 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -92,15 +92,15 @@
// 閬嶅巻宸ヤ綔鏄庣粏锛屾洿鏂板簱瀛樻槑缁嗗拰鍏ュ簱閫氱煡妗�
for (WrkDetl wrkDetl : wrkDetls) {
- LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
- if (null != locDetl) {
- if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
-// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
- }
- } else {
- locDetl = new LocDetl();
+// LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+// if (null != locDetl) {
+// if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
+//// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+// }
+// } else {
+ LocDetl locDetl = new LocDetl();
locDetl.sync(wrkDetl);
locDetl.setLocNo(wrkMast.getLocNo()); // 搴撲綅鍙�
locDetl.setAnfme(wrkDetl.getAnfme()); // 鏁伴噺
@@ -113,7 +113,7 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 娣诲姞搴撳瓨鏄庣粏澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
}
- }
+// }
// 鏇存柊璁㈠崟瀹屾垚鏁伴噺
OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index ac9d877..f68797b 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -77,7 +77,7 @@
or wrk_sts=64
or (wrk_sts=57 and wrk_no not in (select wrk_no from asr_bas_devp))
or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp))
- or (wrk_sts=15 and dateadd(mi,15,crn_end_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
+ or (wrk_sts=15 and dateadd(mi,3,crn_end_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
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>
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 6fd3a37..a093e1d 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -229,9 +229,9 @@
,{field: 'batch', align: 'center',title: '鎵规', hide: true, sort:true}
,{field: 'unit', align: 'center',title: '绠卞彿', hide: false}
,{field: 'model', align: 'center',title: '鍗峰彿', hide: false}
- ,{field: 'brand', align: 'center',title: '鍖呰缁勫彿', hide: true, sort:true}
- ,{field: 'brand$', align: 'center',title: '鏈ㄧ绫诲瀷', hide: false, sort:true}
- ,{field: 'anfme', align: 'center',title: '鏁伴噺', hide: false, sort:true}
+ ,{field: 'brand', align: 'center',title: '鍖呰缁勫彿', hide: false, sort:true}
+ // ,{field: 'brand$', align: 'center',title: '鏈ㄧ绫诲瀷', hide: false, sort:true}
+ ,{field: 'anfme', align: 'center',title: '鏁伴噺', hide: true, sort:true}
,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜', hide: false}
,{field: 'specs', align: 'center',title: '鎺ュご', hide: false}
,{field: 'color', align: 'center',title: '棰滆壊', hide: true}
@@ -247,7 +247,7 @@
,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: false, sort:true}
,{field: 'length', align: 'center',title: '闀垮害', hide: false}
,{field: 'volume', align: 'center',title: '鍗曠姣涢噸', hide: false}
- ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true}
+ ,{field: 'threeCode', align: 'center',title: '鍚堟牸鍚�', hide: false}
,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true}
,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true}
,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true, sort:true}
--
Gitblit v1.9.1