From 3ad65283c54059e0c61110589fb19398ac3525fe Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 08 七月 2025 08:32:32 +0800
Subject: [PATCH] 完善拣料转全板
---
src/main/java/com/zy/asrs/controller/WrkMastController.java | 206 ++++++++++++++++++++++++++-------------------------
1 files changed, 104 insertions(+), 102 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/WrkMastController.java b/src/main/java/com/zy/asrs/controller/WrkMastController.java
index e903acd..70f6812 100644
--- a/src/main/java/com/zy/asrs/controller/WrkMastController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkMastController.java
@@ -94,12 +94,111 @@
@ManagerAuth(memo = "宸ヤ綔妗d慨鏀�")
public R update(WrkMast wrkMast){
if (Cools.isEmpty(wrkMast) || null==wrkMast.getWrkNo()){
- return R.error();
+ return R.error("宸ヤ綔鍙峰紓甯�");
+ }else if (wrkMast.getWrkSts()==null){
+ return R.error("淇敼鐘舵�佸紓甯�");
}
- wrkMast.setModiUser(getUserId());
- wrkMast.setModiTime(new Date());
- wrkMastService.updateById(wrkMast);
+ WrkMast wrkMast1=null;
+ try{
+ wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkMast.getWrkNo()));
+ if (Cools.isEmpty(wrkMast1) || null==wrkMast1.getWrkNo()){
+ throw new CoolException("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"鎵�灞炲伐浣滄。鏌ヨ澶辫触");
+ }else if (wrkMast1.getWrkSts()==null){
+ throw new CoolException("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"鎵�灞炲伐浣滄。鐘舵�佸紓甯�");
+ }
+ }catch (Exception e){
+ return R.error("澶辫触!!!璇峰皾璇曞埛鏂伴〉闈€��"+"寮傚父鍘熷洜锛�"+e);
+ }
+ if (wrkMast1.getWrkSts()-wrkMast.getWrkSts()==0){
+ return R.error("鎵�閫夌姸鎬佷笌姝ゅ伐浣滄。鐘舵�佷竴鑷达紝鏃犻渶淇敼");
+ }
+ if (juBge(wrkMast.getWrkSts(), wrkMast1)){
+ return R.error("淇敼鐘舵�佸け璐ワ紝璇疯鑼冩搷浣�");
+ }
+ wrkMast1.setModiUser(getUserId());
+ wrkMast1.setModiTime(new Date());
+ wrkMast1.setWrkSts(wrkMast.getWrkSts());
+ wrkMastService.updateById(wrkMast1);
return R.ok();
+ }
+
+ public Boolean juBge(Long wrkSts1,WrkMast wrkMast1){
+ if (wrkSts1>20){
+ throw new CoolException("澶т簬20鐨勭姸鎬佷笉鑳借繘琛屼慨鏀癸紒锛侊紒");
+ }
+ switch (wrkMast1.getIoType()){
+ case 1:
+ case 10:
+ case 53:
+ case 54:
+ case 57:
+ if (wrkSts1>=1 && wrkSts1<=10){
+ if (wrkSts1==10){
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getLocNo()));
+ if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){
+ throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅紓甯歌缁存姢搴撲綅鏁版嵁");
+ }
+ if (locMast.getLocSts().equals("S")||locMast.getLocSts().equals("Q")){
+ throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佷负"+locMast.getLocSts$()+"锛岃缁存姢搴撲綅鏁版嵁");
+ }else if (locMast.getLocSts().equals("F")){
+ }else {
+ throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佸紓甯革紝璇风淮鎶ゅ簱浣嶆暟鎹�");
+ }
+ }
+ return false;
+ }
+ return true;
+ case 101:
+ case 103:
+ case 104:
+ case 107:
+ case 110:
+ if (wrkSts1>=11 && wrkSts1<=18){
+ if (wrkSts1==18){
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getSourceLocNo()));
+ if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){
+ throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅紓甯歌缁存姢搴撲綅鏁版嵁");
+ }
+ if (locMast.getLocSts().equals("R")||locMast.getLocSts().equals("P")){
+ throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佷负"+locMast.getLocSts$()+"锛岃缁存姢搴撲綅鏁版嵁");
+ }else if (locMast.getLocSts().equals("O")){
+ }else {
+ throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佸紓甯革紝璇风淮鎶ゅ簱浣嶆暟鎹�");
+ }
+ }
+ return false;
+ }
+ return true;
+ case 11:
+ return false;
+ case 3:
+ case 6:
+ default:
+ return true;
+ }
+ }
+ private void doOut(WrkMast wrkMast,LocMast locMast){
+ try{
+ Date now = new Date();
+ // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
+ if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
+ throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触:workNo="+wrkMast.getWrkNo()+"sourceLocNo="+wrkMast.getSourceLocNo());
+ }
+ // 淇敼婧愬簱浣嶇姸鎬� R ===>> O
+ if (locMast.getLocSts().equals("R")) {
+ locMast.setLocSts("O");
+ locMast.setBarcode("");
+ locMast.setFrozen(0);
+ locMast.setModiTime(now);
+ locMast.setIoTime(now);
+ locMast.setFrozenMemo("");
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("淇敼婧愬簱浣嶇姸鎬佸け璐�:workNo="+wrkMast.getWrkNo()+"sourceLocNo="+wrkMast.getSourceLocNo());
+ }
+ }
+ }catch (Exception e){
+ throw new CoolException(e+"鎿嶄綔澶辫触");
+ }
}
@RequestMapping(value = "/wrkMast/delete/auth")
@@ -180,104 +279,6 @@
/********************************杈归攱鏂板**************************/
- @RequestMapping(value = "/wrkMast/red/wrk/mast")
- @ManagerAuth(memo = "缁存姢宸ヤ綔妗�")
- public R redWrkMast(@RequestBody List<WrkMast> list) {
- if (list.isEmpty()) {
- return R.error("璇疯嚦灏戦�夋嫨涓�琛屾暟鎹�");
- }
- StringBuilder logWrkMast= new StringBuilder();
- try{
- for (WrkMast entity : list){
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", entity.getWrkNo()));
- if (Cools.isEmpty(wrkMast)){
- continue;
- }
- if (wrkMast.getIoType()==1 || wrkMast.getIoType()==10){//1.鍏ュ簱//10.绌烘澘鍏ュ簱
-// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()));
-// if (Cools.isEmpty(locMast)){
-// logWrkMast=logWrkMast+"宸ヤ綔鍙凤細"+wrkMast.getWrkNo()+"搴撲綅鏌ヨ涓烘棤!"+"//n";
-// continue;
-// }
-// if (wrkMast.getWrkSts()==9){//9.鍏ュ簱瀹屾垚
-// if (locMast.getLocSts().equals("F")){//F.鍦ㄥ簱
-// over(wrkMast);
-// }else if (locMast.getLocSts().equals("S")){//S.鍏ュ簱棰勭害
-// doIn(wrkMast,locMast);
-// }
-// }
- continue;
- }else if (wrkMast.getIoType()==53 || wrkMast.getIoType()==57){//53.鎷f枡鍐嶅叆搴�//57.鐩樼偣鍐嶅叆搴�
- continue;
- }else if (wrkMast.getIoType()==101 || wrkMast.getIoType()==110){//101.鍑哄簱//110.绌烘澘鍑哄簱
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
- if (Cools.isEmpty(locMast)){
- logWrkMast.append("宸ヤ綔鍙凤細").append(wrkMast.getWrkNo()).append("搴撲綅鏌ヨ涓烘棤!").append("//n");
- continue;
- }
- if (wrkMast.getWrkSts()==17){//17.鍑哄簱瀹屾垚
- if (locMast.getLocSts().equals("O")){//O.绌哄簱浣�
- logWrkMast.append("缁存姢宸ヤ綔妗o細").append(wrkMast.getWrkNo()).append("//n");
- }else if (locMast.getLocSts().equals("R")){//R.鍑哄簱棰勭害
- doOut(wrkMast,locMast);
- logWrkMast.append("缁存姢宸ヤ綔妗o細").append(wrkMast.getWrkNo()).append("//n");
- }else {
- logWrkMast.append("宸ヤ綔鍙凤細").append(wrkMast.getWrkNo()).append(" 搴撲綅鐘舵�佸紓甯�!").append("//n");
- continue;
- }
- wrkMast.setWrkSts(18L);
- wrkMastService.update(wrkMast,new EntityWrapper<WrkMast>().eq("wrk_no",wrkMast.getWrkNo()));
- }
-// else if (wrkMast.getWrkSts()==18){//18.鍑哄簱鏇存柊瀹屾垚
-// if (locMast.getLocSts().equals("O")){//O.绌哄簱浣�
-// over(wrkMast);
-// logWrkMast.append("缁存姢宸ヤ綔妗o細").append(wrkMast.getWrkNo()).append("//n");
-// }else if (locMast.getLocSts().equals("R")){//R.鍑哄簱棰勭害
-// doOut(wrkMast,locMast);
-// over(wrkMast);
-// logWrkMast.append("缁存姢宸ヤ綔妗o細").append(wrkMast.getWrkNo()).append("//n");
-// } else {
-// logWrkMast.append("宸ヤ綔鍙凤細").append(wrkMast.getWrkNo()).append(" 搴撲綅鐘舵�佸紓甯�!").append("//n");
-// continue;
-// }
-// wrkMastService.delete(new EntityWrapper<WrkMast>().eq("wrk_no",wrkMast.getWrkNo()));
-// }
- }else if (wrkMast.getIoType()==103 || wrkMast.getIoType()==107){//103.鎷f枡鍑哄簱//107.鐩樼偣鍑哄簱
- continue;
- }
- }
- }catch (Exception e){
- return R.error(logWrkMast+"鎿嶄綔澶辫触");
- }
- return R.ok(logWrkMast+"鎿嶄綔鎴愬姛");
- }
- private void doOut(WrkMast wrkMast,LocMast locMast){
- try{
- Date now = new Date();
- // 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
- if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
- throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触:workNo="+wrkMast.getWrkNo()+"sourceLocNo="+wrkMast.getSourceLocNo());
- }
- // 淇敼婧愬簱浣嶇姸鎬� R ===>> O
- if (locMast.getLocSts().equals("R")) {
- locMast.setLocSts("O");
- locMast.setBarcode("");
- locMast.setFrozen(0);
- locMast.setModiTime(now);
- locMast.setIoTime(now);
- locMast.setFrozenMemo("");
- if (!locMastService.updateById(locMast)) {
- throw new CoolException("淇敼婧愬簱浣嶇姸鎬佸け璐�:workNo="+wrkMast.getWrkNo()+"sourceLocNo="+wrkMast.getSourceLocNo());
- }
- }
- }catch (Exception e){
- throw new CoolException(e+"鎿嶄綔澶辫触");
- }
- }
- private void doIn(WrkMast wrkMast,LocMast locMast){ }
- private void over(WrkMast wrkMast){
-
- }
@GetMapping(value = "/wrkMast/checkDetl")
public R pickDetl(String barcode) {
@@ -417,6 +418,7 @@
wrkDetl.setModiTime(now);
wrkDetl.setAppeUser(1L);
wrkDetl.setModiUser(1L);
+ wrkDetl.setMatType(locDetl.getMatType());
wrkDetlService.insert(wrkDetl);
}
--
Gitblit v1.9.1