From 7885c3123faf5b12c9ca73673e850f09a7354e95 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 30 十月 2024 13:22:36 +0800
Subject: [PATCH] 出库站点修改
---
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 826 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 722 insertions(+), 104 deletions(-)
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 1a69600..f5ed658 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
@@ -11,6 +12,10 @@
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
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.LocDetlMapper;
+import com.zy.asrs.mapper.MatMapper;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
@@ -22,12 +27,16 @@
import com.zy.common.service.CommonService;
import com.zy.common.utils.HttpHandler;
import com.zy.common.utils.NodeUtils;
+import com.zy.system.entity.Config;
+import com.zy.system.mapper.ConfigMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import javax.annotation.Resource;
import java.util.*;
+import java.util.stream.Collectors;
/**
* Created by vincent on 2022/4/9
@@ -35,6 +44,14 @@
@Slf4j
@Service
public class OpenServiceImpl implements OpenService {
+
+ // 浜屾ゼ鍫嗗灈鏈哄搴斿叆搴撶珯鐐�
+ private static final int[] secondFloorIn = new int[]{0,2061,2064,2067,2070,2073,2076};
+ // 鍫嗗灈鏈哄搴斾竴妤煎嚭搴撶珯鐐�
+ private static final int[] secondFloorOut = new int[]{0,3002,3003,3006,3008,3009,3012};
+ // 鍫嗗灈鏈哄搴斾竴妤煎叆搴撶珯鐐�
+ private static final int[] oneFloorIn = new int[]{0,3001,3004,3005,3007,3010,3011};
+
@Autowired
private OrderService orderService;
@@ -69,6 +86,8 @@
@Autowired
private WrkDetlSingleService wrkDetlSingleService;
@Autowired
+ private WrkMastLogService wrkMastLogService;
+ @Autowired
private WrkMastStaService wrkMastStaService;
@Autowired
private WrkMastStaLogService wrkMastStaLogService;
@@ -76,6 +95,17 @@
private StaDescService staDescService;
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private ApiLogService apiLogService;
+
+ @Resource
+ private MatMapper matMapper;
+
+ @Resource
+ private LocDetlMapper locDetlMapper;
+
+ @Resource
+ private ConfigMapper configMapper;
@Override
@Transactional
@@ -978,31 +1008,62 @@
}
@Override
+ public void updateBarcode() {
+ List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D"));
+ for (int i = 0; i < locMasts.size(); i ++) {
+ LocMast locMast = locMasts.get(i);
+ locMast.setBarcode("a"+i);
+ locMastService.updateById(locMast);
+ }
+ System.out.println("鏇存柊瀹屼簡" + locMasts.size());
+ }
+
+ @Override
@Transactional
- public R gwmsGenerateInventory(GwmsGenerateInventoryDto param) {
-
- if (Cools.isEmpty(param)) {
- throw new CoolException("璇锋眰鍙傛暟鏈夎锛�" + param);
+ public void prodCheck(List<ProdCheckParam> param) {
+ if (param.isEmpty()) {
+ throw new CoolException("璇锋眰鍙傛暟涓嶈兘涓虹┖");
}
- int zpalletCount = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
- if (zpalletCount > 0) {
- throw new CoolException("搴撳瓨鎵樼洏鐮佸凡瀛樺湪锛�" + param.getBarcode());
- }
+ for (ProdCheckParam checkParam : param) {
+ // 鏇存柊搴撳瓨鏄庣粏鏄惁鍚堟牸
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("brand", checkParam.getPackageGroupNo())
+ .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo()));
+ // 鏇存柊鍟嗗搧琛ㄦ槸鍚﹀悎鏍�
+ Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("brand", checkParam.getPackageGroupNo())
+ .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo()));
+ if (locDetl == null || mat == null) {
+ throw new CoolException("鏇存柊鏄惁鍚堟牸鐗╂枡涓嶅瓨鍦細" + checkParam);
+ }
- int barcodeCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()));
- if (barcodeCount > 0) {
- throw new CoolException("宸ヤ綔妗e凡瀛樺湪璇ユ墭鐩樼爜锛�" + param.getBarcode());
+ locDetl.setThreeCode(checkParam.getQualified());
+ mat.setThreeCode(checkParam.getQualified());
+
+ locDetlService.update(locDetl,new EntityWrapper<LocDetl>().eq("brand", checkParam.getPackageGroupNo())
+ .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo()));
+ matService.update(mat,(new EntityWrapper<Mat>().eq("brand", checkParam.getPackageGroupNo())
+ .eq("unit", checkParam.getBoxNo()).eq("model", checkParam.getRollNo())));
+ }
+ }
+
+ @Override
+ @Transactional
+ 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, 1, param.getPalletizingNo(), null,null,null, locTypeDto);
- StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto);
+ locTypeDto.setLocType1((short) 1);
+ StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto, 0);
// 杩斿洖GWCS鐩爣淇℃伅
- pushStaNoToGwcs(param.getPalletizingNo(),dto.getStaNo(),dto.getWorkNo());
+ pushStaNoToGwcs(param.getPalletizingNo(), dto.getStaNo(), dto.getWorkNo(), param.getBarcode(),"涓�妤煎弽淇搧鍏ュ簱鎺ㄩ�乬wcs");
+// if (!result) {
+// throw new CoolException("鍏ュ簱鍥炴帹鍏ュ簱鐮佸ご缁橤WCS澶辫触");
+// }
int workNo = dto.getWorkNo();
Date now = new Date();
@@ -1032,46 +1093,231 @@
throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
}
- List<GwmsGenerateInventoryDto.MatList> matList = param.getMatList();
- for (GwmsGenerateInventoryDto.MatList obj :matList) {
+ for (Mat obj : list) {
WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(obj);
wrkDetl.setWrkNo(wrkMast.getWrkNo());
- obj.getRolls().forEach(roll -> {
- Mat mat = matService.selectByMatnr(roll.getSpecs());
- if (mat == null) {
- mat = new Mat();
- mat.setTagId(6L);
- mat.setMatnr(roll.getSpecs());
- mat.setMaktx(roll.getSpecs());
- mat.setSpecs(roll.getSpecs());
- mat.setStatus(1);
- mat.setCreateTime(now);
- mat.setUpdateTime(now);
- if (!matService.insert(mat)) {
- throw new CoolException("鐗╂枡瀵煎叆澶辫触锛�");
+ 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.setWrkNo(wrkMast.getWrkNo());
- wrkDetl.setMatnr(roll.getSpecs()); // 瑙勬牸
- wrkDetl.setMaktx(roll.getSpecs()); //瑙勬牸
- wrkDetl.setBatch(roll.getBoxNo()); // 绠卞彿
- wrkDetl.setModel(roll.getRollNo()); // 鍗峰彿
- wrkDetl.setBrand(""); // 鏈ㄧ绫诲瀷
- wrkDetl.setZpallet(param.getBarcode()); // 鎵樼洏鍚�
- wrkDetl.setOrigin(obj.getBoxPos()); // 鏈ㄧ鍦ㄦ墭鐩樹綅缃�
- wrkDetl.setWeight(roll.getNetWeight()); // 鍑�閲�
- wrkDetl.setVolume(roll.getGrossWeight()); // 姣涢噸
- wrkDetl.setPrice(roll.getLength());
- wrkDetl.setSpecs(String.valueOf(roll.getSplices()));
- wrkDetl.setAnfme(1.0);
- wrkDetl.setIoTime(now);
- wrkDetl.setAppeTime(now);
- wrkDetl.setModiTime(now);
- if (!wrkDetlService.insert(wrkDetl)) {
- throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
- }
- });
+ }
+ 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 "鍏ュ簱鎴愬姛";
+ }
+
+ @Override
+ @Transactional
+ public R kthl(KthlParam param) {
+
+ // 鑾峰彇妯″紡涓虹數鑴戞ā寮忥紝鏃犱换鍔$殑鍫嗗灈鏈哄垪琛�:闃叉鍒嗛厤鍒板爢鍨涙満涓嶅彲鐢�
+ List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3)
+ .eq("wrk_no",0).eq("in_enable","Y").eq("out_enable","Y"));
+ if (basCrnps.isEmpty()) {
+ // 閮芥湁浠诲姟鍒欒幏鍙栫數鑴戞ā寮忕殑鍫嗗灈鏈哄垪琛�
+ basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3).eq("in_enable","Y")
+ .eq("out_enable","Y"));
+ }
+ if (basCrnps.isEmpty()) {
+ throw new CoolException("娌℃湁鍙敤鍫嗗灈鏈�,鍫嗗灈鏈哄仠姝㈡垨寮傚父鎴栫鐢�");
+ }
+ // 鍙敤鍫嗗灈鏈哄垪琛�
+ List<Integer> crnNoList = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList());
+ Integer crnNo = crnNoList.get(0);
+
+ int workNo = commonService.getWorkNo(5);
+ Date now = new Date();
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(1L); //
+ wrkMast.setIoType(3); // 绔欏埌绔�
+ wrkMast.setIoPri(14D); // 浼樺厛绾�
+ wrkMast.setCrnNo(crnNo);
+ wrkMast.setSourceStaNo(secondFloorIn[crnNo]);
+ wrkMast.setStaNo(secondFloorOut[crnNo]);
+ wrkMast.setLocNo("");
+ wrkMast.setBarcode(param.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("Y"); // 绌烘澘
+ wrkMast.setLinkMis("Y");
+ wrkMast.setCtnType(1); // 瀹瑰櫒绫诲瀷
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 杩斿洖GWCS鐩爣淇℃伅
+ pushStaNoToGwcs(param.getPalletizingNo(),wrkMast.getSourceStaNo(),workNo,param.getBarcode(),"浜屾ゼ绌烘墭鍥炴祦鎺ㄩ�乬wcs");
+
+ return R.ok("绌烘墭鍥炴祦璇锋眰鎴愬姛");
+ }
+
+ @Override
+ public R tb(TbParam param) {
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("barcode", param.getBarcode()));
+ if (wrkDetls.isEmpty()) {
+ return R.parse("鏃犵墿鏂欐槑缁嗕俊鎭�");
+ }
+ List<String> collect = wrkDetls.stream().map(WrkDetl::getUnit).distinct().collect(Collectors.toList());
+ return R.ok(collect);
+ }
+
+ @Override
+ public R dd(TbParam param) {
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("barcode", param.getBarcode()));
+ if (wrkDetls.isEmpty()) {
+ return R.parse("鏃犵墿鏂欐槑缁嗕俊鎭�");
+ }
+ List<DdParam> collect = wrkDetls.stream().map(wrkDetl -> {
+ DdParam ddParam = new DdParam();
+ ddParam.setBoxPos(wrkDetl.getOrigin());
+ ddParam.setBoxType(wrkDetl.getColor());
+ return ddParam;
+ }).distinct().collect(Collectors.toList());
+
+ return R.ok(collect);
+ }
+
+ @Override
+ @Transactional
+ public R gwmsGenerateInventory(GwmsGenerateInventoryDto param) {
+
+ if (Cools.isEmpty(param)) {
+ throw new CoolException("璇锋眰鍙傛暟鏈夎锛�" + param);
+ }
+ if (!Cools.isEmpty(param.getBarcode())) {
+ int zpalletCount = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
+ if (zpalletCount > 0) {
+ throw new CoolException("搴撳瓨鎵樼洏鐮佸凡瀛樺湪锛�" + param.getBarcode());
+ }
+
+ int barcodeCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()));
+ if (barcodeCount > 0) {
+ throw new CoolException("宸ヤ綔妗e凡瀛樺湪璇ユ墭鐩樼爜锛�" + param.getBarcode());
+ }
+ }
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1((short)1);
+ int iotype = 1;
+ if (Cools.isEmpty(param.getMatList())) {
+ iotype = 10;
+ }
+ // 鏍规嵁婧愮珯鐐瑰鎵惧簱浣�
+// StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo(), null,null,null, locTypeDto);
+ StartupDto dto = commonService.getLocNo(iotype, param.getPalletizingNo(), locTypeDto,0);
+
+ int workNo = dto.getWorkNo();
+ Date now = new Date();
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細璁惧涓婅蛋
+ wrkMast.setIoType(iotype); // 鍏ュ嚭搴撶姸鎬侊細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け璐�");
+ }
+
+ if (!Cools.isEmpty(param.getMatList())) {
+ List<GwmsGenerateInventoryDto.MatList> matList = param.getMatList();
+ for (GwmsGenerateInventoryDto.MatList obj :matList) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ obj.getRolls().forEach(roll -> {
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setMatnr(roll.getSpecs()); // 瑙勬牸
+ wrkDetl.setMaktx(roll.getSpecs()); //瑙勬牸
+ wrkDetl.setUnit(roll.getBoxNo()); // 绠卞彿
+ wrkDetl.setModel(roll.getRollNo()); // 鍗峰彿
+ wrkDetl.setBrand(obj.getPackageGroupNo()); // 鍖呰缁勫彿
+ wrkDetl.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
+ wrkDetl.setBarcode(param.getBarcode());
+ wrkDetl.setOrigin(obj.getBoxPos()); // 鏈ㄧ鍦ㄦ墭鐩樹綅缃�
+ wrkDetl.setColor(obj.getBoxType()); // 鏈ㄧ绫诲瀷
+ wrkDetl.setManu(obj.getRollType()); // 绠¤姱绫诲瀷
+ wrkDetl.setSku(obj.getWideInWidth()); // 瀹炴祴瀹藉箙
+ wrkDetl.setItemNum(obj.getThickness()); // 鐢熺當鍘氬害
+ wrkDetl.setManuDate(roll.getFqTime()); // 鍒嗗垏涓嬫枡鏃堕棿
+ wrkDetl.setWeight(roll.getNetWeight()); // 鍑�閲�
+ wrkDetl.setVolume(roll.getGrossWeight()); // 姣涢噸
+ wrkDetl.setLength(roll.getLength()); // 闀垮害
+ wrkDetl.setSpecs(String.valueOf(roll.getSplices())); // 鎺ュご
+ wrkDetl.setAnfme(1.0);
+// wrkDetl.setThreeCode(null); // 閫氳繃mes鎴杄xcel瀵煎叆妫�娴嬫槸鍚﹀悎鏍� 0涓嶅悎鏍硷紝1 鍚堟牸
+// wrkDetl.setDeadWarn(); // 鐞嗚揣鏍囪瘑 0榛樿锛�1鐞嗚揣涓紝2鐞嗚揣瀹屾垚w
+// wrkDetl.setInspect(); // 璁㈠崟鏄庣粏涓敤锛屾爣璇嗗璐х殑鐘舵�� 0鏈璐э紝1澶囪揣涓紝2澶囪揣瀹屾垚
+// wrkDetl.setDanger(); // 璁㈠崟鏄庣粏涓敤锛屾爣璇嗚法宸烽亾绉诲簱 0鏈Щ搴擄紝1绉诲簱涓紝2绉诲簱瀹屾垚
+ wrkDetl.setIoTime(now);
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setAppeUser(21L); // root
+ wrkDetl.setModiUser(21L); // root
+ wrkDetl.setModiTime(now);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+ }
+
+ // 鐗╂枡琛ㄥ浠戒竴浠�
+// Mat mat = new Mat();
+// mat.sync(wrkDetl);
+// mat.setTagId(6L);
+// mat.setCreateTime(now);
+// mat.setUpdateTime(now);
+// if (!matService.insert(mat)) {
+// throw new CoolException("澶囦唤鐗╂枡琛ㄥけ璐�");
+// }
+
+ });
+ }
+ }
+
// 鏇存柊鐩爣搴撲綅鐘舵��
LocMast locMast = locMastService.selectById(dto.getLocNo());
@@ -1084,6 +1330,10 @@
} else {
throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
}
+
+ // 杩斿洖GWCS鐩爣淇℃伅
+ pushStaNoToGwcs(param.getPalletizingNo(),dto.getStaNo(),dto.getWorkNo(),param.getBarcode(),"gwms鐢宠鍏ュ簱鍚庢帹閫乬wcs");
+
return null;
}
@@ -1100,6 +1350,13 @@
}
wrkMast.setWrkSts(2L);
+ if(wrkMast.getIoType() == 10){
+ wrkMast.setBarcode(param.getBarcode());
+ } else if(wrkMast.getIoType() == 12) { // 璺ㄥ贩閬撹浆绉诲叆搴�
+
+ } else if(wrkMast.getSourceStaNo() == 3046 || wrkMast.getSourceStaNo() == 3042) {
+ wrkMast.setBarcode(param.getBarcode());
+ }
wrkMastService.updateById(wrkMast);
return "璇锋眰鎴愬姛";
@@ -1107,7 +1364,7 @@
@Override
@Transactional
- public String zwmsOutLocWork(ZwmsOutLocWorkDto param) {
+ public R zwmsOutLocWork(ZwmsOutLocWorkDto param) {
Order order = orderService.selectByNo(param.getOrderNo());
if (!Cools.isEmpty(order)) {
@@ -1115,7 +1372,11 @@
}
DocType docType = docTypeService.selectOrAdd(param.getOrderType(), Boolean.FALSE);
+ if (docType == null) {
+ return R.parse("鍗曟嵁绫诲瀷涓嶅瓨鍦紝璇锋鏌ワ細" + param.getOrderType());
+ }
Date now = new Date();
+
// 鍗曟嵁涓绘。
order = new Order(
String.valueOf(snowflakeIdWorker.nextId()), // 缂栧彿[闈炵┖]
@@ -1153,38 +1414,16 @@
now, // 淇敼鏃堕棿
null // 澶囨敞
);
+
if (!orderService.insert(order)) {
throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
}
+
// 鍗曟嵁鏄庣粏妗�
- List<DetlDto> list = new ArrayList<>();
- List<ZwmsOutLocWorkDto.Rolls> orderDetails = param.getMatDetails();
- for (ZwmsOutLocWorkDto.Rolls detail : orderDetails) {
- DetlDto dto = new DetlDto(detail.getRollNo(), detail.getBoxNo(), 1.0);
- dto.setOrderNo(detail.getSpecs());
- dto.setSplices(detail.getSplices());
- if (DetlDto.has(list, dto)) {
- DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
- assert detlDto != null;
- detlDto.setAnfme(detlDto.getAnfme() + 1);
- } else {
- list.add(dto);
- }
- }
- for (DetlDto detlDto : list) {
-// Mat mat = matService.selectByMatnr(detlDto.getMatnr());
+ for (String groupNo : param.getGroups()) {
OrderDetl orderDetl = new OrderDetl();
-// if (Cools.isEmpty(mat)) {
-// throw new CoolException(detlDto.getMatnr() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
-// } else {
-// orderDetl.sync(mat);
-// }
- orderDetl.setSpecs(String.valueOf(detlDto.getSplices()));
- orderDetl.setBatch(detlDto.getBatch() == null ? "" : detlDto.getBatch());
- orderDetl.setModel(detlDto.getMatnr());
- orderDetl.setMatnr(detlDto.getOrderNo());
- orderDetl.setMaktx(detlDto.getOrderNo());
- orderDetl.setAnfme(detlDto.getAnfme());
+ orderDetl.setBrand(groupNo);
+ orderDetl.setBatch("");
orderDetl.setOrderId(order.getId());
orderDetl.setOrderNo(order.getOrderNo());
orderDetl.setCreateBy(9527L);
@@ -1193,12 +1432,25 @@
orderDetl.setUpdateTime(now);
orderDetl.setStatus(1);
orderDetl.setQty(0.0D);
+ orderDetl.setAnfme(1.0);
if (!orderDetlService.insert(orderDetl)) {
throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
}
}
- return null;
+ return R.ok("鍗曟嵁鐢熸垚鎴愬姛");
+
+ }
+
+ @Override
+ public R queryInLocTime(List<String> param) {
+ if (Cools.isEmpty(param)) {
+ return R.parse("鍙傛暟涓嶈兘涓虹┖");
+ }
+
+ List<InLocTimeDto> inLocTimeDtos = locDetlMapper.queryInLocTime(param);
+
+ return R.ok(inLocTimeDtos);
}
@Override
@@ -1216,30 +1468,53 @@
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) {
+// wrkMast.setWrkSts(20L);
+// // 绌烘墭鐩樺埌浣嶇洿鎺ユ洿鏂板伐浣滄。鐘舵�佷负14.宸插嚭搴撴湭纭锛岀┖鎵樻棤闇�澶嶆牳纭
+// if (!flag || wrkMast.getIoType() == 110) {
wrkMast.setWrkSts(14L);
- }
+// }
wrkMastService.updateById(wrkMast);
}
return "鍑哄簱缁撴灉涓婃姤鎴愬姛";
}
+ @Autowired
+ private BasCrnpService basCrnpService;
+
@Override
@Transactional
public String emptyOutLoc(GhjtApiParam param) {
// 3102/3009/3008/3006/3003/3002鈫�3047/3112
+ // 鑾峰彇妯″紡涓虹數鑴戞ā寮忥紝鏃犱换鍔$殑鍫嗗灈鏈哄垪琛�:闃叉鍒嗛厤鍒板爢鍨涙満涓嶅彲鐢�
+ List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3)
+ .eq("wrk_no",0));
+ if (basCrnps.isEmpty()) {
+ // 閮芥湁浠诲姟鍒欒幏鍙栫數鑴戞ā寮忕殑鍫嗗灈鏈哄垪琛�
+ basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>().eq("crn_sts",3));
+ }
+ if (basCrnps.isEmpty()) {
+ throw new CoolException("娌℃湁鍙敤鍫嗗灈鏈�,鍫嗗灈鏈哄仠姝㈡垨寮傚父");
+ }
+ // 鍙敤鍫嗗灈鏈哄垪琛�
+ List<Integer> crnNoList = basCrnps.stream().map(BasCrnp::getCrnNo).collect(Collectors.toList());
// 瀵绘壘绌烘墭鐩樺簱浣嶏紝鍏堟壘娴呭簱浣�
List<LocMast> locMasts;
locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","D")
- .orderAsc(Arrays.asList("row1","lev1","bay1")).in("row1",3,4,6,7,10,11,14,15,18,19,22,23));
+ .orderAsc(Arrays.asList("row1","lev1","bay1")).in("crn_no",crnNoList).in("row1",3,4,6,7,10,11,14,15,18,19,22,23));
if (locMasts.isEmpty()) {
locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts","D")
- .orderAsc(Arrays.asList("row1","lev1","bay1")).in("row1",1,4,5,8,9,12,13,16,17,20,21,24));
+ .orderAsc(Arrays.asList("row1","lev1","bay1")).in("crn_no",crnNoList).in("row1",1,4,5,8,9,12,13,16,17,20,21,24));
}
if (locMasts.isEmpty()) {
@@ -1269,6 +1544,7 @@
wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceLocNo(locMast.getLocNo()); // 婧愬簱浣�
+ wrkMast.setBarcode(locMast.getBarcode());
wrkMast.setFullPlt("N"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
wrkMast.setExitMk("N"); // 閫�鍑�
@@ -1295,10 +1571,357 @@
return "鍑哄簱鎴愬姛";
}
- @Autowired
- private ApiLogService apiLogService;
+ @Override
+ @Transactional
+ public R zphjDw(ZphjckdwParam param) {
+ // 鏍规嵁浠诲姟鍙峰緱鍒板伐浣滀富妗�
+ if (Cools.isEmpty(param.getWorkNo())) {
+ throw new CoolException("宸ヤ綔鍙蜂笉鑳戒负绌猴紒");
+ }
+ WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo());
+ if (wrkMast == null) {
+ throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�");
+ }
+ if (wrkMast.getWrkSts() != 2 || wrkMast.getIoType() != 103 && wrkMast.getIoType() != 109) {
+ throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佷笉涓�2/鍑哄簱绫诲瀷涓嶄负鎷f枡锛�");
+ }
+ // 鏇存柊宸ヤ綔妗g姸鎬�2.璁惧涓婅蛋->42.绛夊緟鐮佸灈
+ wrkMast.setWrkSts(42L);
+ wrkMastService.updateById(wrkMast);
- private void pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo) {
+ // 鏌ヨ瑕佹媶鐨勪綅缃紝鍙湁涓�涓�
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+ WrkDetl wrkDetl = wrkDetls.get(0);
+
+ // 杩斿洖鎷嗗灈瑙勫垯
+ ZphjcdgzVo zphjcdgzVo = new ZphjcdgzVo();
+ zphjcdgzVo.setWorkNo(wrkDetl.getWrkNo());
+ zphjcdgzVo.setBoxType(wrkDetl.getColor());
+ zphjcdgzVo.setPosition(wrkDetl.getOrigin());
+ zphjcdgzVo.setCdType(wrkMast.getIoType() == 103 ? 1 : 2);
+
+ return R.ok(zphjcdgzVo);
+ }
+
+ @Override
+ @Transactional
+ public R zphjCdwc(ZphjcdwcParam param) {
+
+ if (Cools.isEmpty(param.getWorkNo(),param.getSourceStaNo(),param.getSite(),param.getBarcode())) {
+ return R.parse("鍙傛暟涓嶈兘涓虹┖锛岃妫�鏌ュ叆鍙�");
+ }
+ WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo());
+ if (wrkMast == null) {
+ throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�");
+ }
+ if (wrkMast.getWrkSts() != 42 || wrkMast.getIoType() != 103) {
+ throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佷笉涓�42/鍑哄簱绫诲瀷涓嶄负鎷f枡锛�");
+ }
+
+ // 鑾峰彇鍑哄簱鐗╂枡
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+
+ // 婧愬簱浣�
+ LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+
+ // 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。
+ int work = create111Work(wrkMast, wrkDetls, param.getSite(), wrkMast.getStaNo(), param.getBarcode());
+
+ int descFlag = getType(wrkDetls);
+
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+ throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
+ }
+
+ // 鑾峰彇澶囪揣鍖洪厤缃�
+ Config config = configMapper.selectConfigByCode("auto_stock_up");
+ if (config == null) {
+ throw new CoolException("鐞嗚揣鑾峰彇澶囪揣鍖洪厤缃敊璇紒锛侊紒");
+ }
+ // 鍓嶅嚑鍒楁槸澶囪揣鍖�
+ int columnNum = Integer.parseInt(config.getValue());
+
+ // get0鍘熸墭鐩樺洖娴佷俊鎭紝get1鎷嗗灈鍑烘潵鐗╂枡鍑哄簱淇℃伅
+ List<ZphjcdwcVo> zphjcdwcVos = new ArrayList<>();
+
+ ZphjcdwcVo zphjcdwcVo2 = new ZphjcdwcVo();
+ zphjcdwcVo2.setWorkNo(work);
+ zphjcdwcVo2.setSourceStaNo(param.getSite());
+ zphjcdwcVo2.setStaNo(wrkMast.getStaNo());
+ zphjcdwcVo2.setBarcode(param.getBarcode());
+ zphjcdwcVo2.setDescFlag(descFlag);
+ zphjcdwcVos.add(zphjcdwcVo2);
+
+ // 濡傛灉浠庡璐у尯鏉ョ殑锛屽垯涓嶈兘鍥炲師搴撲綅
+ if (locMast.getBay1() <= columnNum) {
+
+ // 瀵绘壘涓�涓柊搴撲綅
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1((short) 1);
+ StartupDto dto = commonService.getLocNo(53, param.getSourceStaNo(), locTypeDto, 0);
+ // 鏂板簱浣�
+ LocMast staLocMast = locMastService.selectById(dto.getLocNo());
+
+ // 鏇存柊鏃у簱浣嶇姸鎬� O
+ locMast.setLocSts("O");
+ locMast.setBarcode("");
+ locMast.setModiTime(new Date());
+ locMastService.updateById(locMast);
+
+ // 鎶婃棫搴撲綅鏄庣粏杞埌鏂板簱浣�
+ locDetlService.updateLocNo(staLocMast.getLocNo(), wrkMast.getSourceLocNo());
+
+ // 鏇存柊鏂板簱浣嶇姸鎬� Q
+ staLocMast.setLocSts("Q");
+ staLocMast.setBarcode(wrkMast.getBarcode());
+ staLocMast.setModiTime(new Date());
+ locMastService.updateById(staLocMast);
+
+ // 鏇存柊宸ヤ綔宸ヤ綔涓绘。
+ wrkMast.setIoType(53);
+ wrkMast.setWrkSts(52L); // 宸ヤ綔鐘舵��42->52.璁惧涓婅蛋锛堟媶鍨涘畬鎴愶級
+ // 鐩爣绔欑偣婧愮珯鐐硅浆鎹�
+ wrkMast.setStaNo(dto.getStaNo());
+ wrkMast.setSourceStaNo(dto.getSourceStaNo());
+ wrkMast.setCrnNo(dto.getCrnNo());
+ // 鐩爣搴撲綅=婧愬簱浣�
+ wrkMast.setLocNo(dto.getLocNo());
+ // 婧愬簱浣嶆竻闄�
+ wrkMast.setSourceLocNo("");
+ wrkMast.setModiTime(new Date());
+
+ } else {
+ // 鏇存柊宸ヤ綔宸ヤ綔涓绘。
+ wrkMast.setIoType(53);
+ wrkMast.setWrkSts(52L); // 宸ヤ綔鐘舵��42->52.璁惧涓婅蛋锛堟媶鍨涘畬鎴愶級
+ wrkMast.setSourceStaNo(param.getSourceStaNo());
+ wrkMast.setStaNo(oneFloorIn[wrkMast.getCrnNo()]);
+ // 婧愬簱浣�
+ LocMast staLocMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ // 鐩爣搴撲綅=婧愬簱浣�
+ wrkMast.setLocNo(wrkMast.getSourceLocNo());
+ // 婧愬簱浣嶆竻闄�
+ wrkMast.setSourceLocNo("");
+ wrkMast.setModiTime(new Date());
+
+ // 鏇存柊鏂板簱浣嶇姸鎬� Q
+ staLocMast.setLocSts("Q");
+ staLocMast.setModiTime(new Date());
+ locMastService.updateById(staLocMast);
+ }
+
+ // 鏇存柊宸ヤ綔涓绘。
+ wrkMastService.updateById(wrkMast);
+
+ // 鍥炲簱
+ ZphjcdwcVo zphjcdwcVo1 = new ZphjcdwcVo();
+ zphjcdwcVo1.setWorkNo(wrkMast.getWrkNo());
+ zphjcdwcVo1.setStaNo(wrkMast.getStaNo());
+ zphjcdwcVo1.setSourceStaNo(wrkMast.getSourceStaNo());
+ zphjcdwcVo1.setBarcode(wrkMast.getBarcode());
+ zphjcdwcVos.add(0,zphjcdwcVo1);
+
+ // 涓嬪彂鍥炲簱鐨勭洰鏍囩珯鐐瑰拰鎷嗗灈鐨勫嚭搴撶洰鏍囩珯鐐圭粰gwcs
+ return R.ok(zphjcdwcVos);
+ }
+
+ @Override
+ public R kxlhCdwc(KxlhcdwcParam param) {
+
+ if (Cools.isEmpty(param.getWorkNo(),param.getSourceStaNo(),param.getSite(),param.getBarcode())) {
+ return R.parse("鍙傛暟涓嶈兘涓虹┖锛岃妫�鏌ュ叆鍙�");
+ }
+ WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo());
+ if (wrkMast == null) {
+ throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�");
+ }
+ if (wrkMast.getWrkSts() != 42 || wrkMast.getIoType() != 109) {
+ throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佷笉涓�42/鍑哄簱绫诲瀷涓嶄负绌洪棽鐞嗚揣锛�");
+ }
+
+ Date now = new Date();
+
+ // 鑾峰彇鍑哄簱鐗╂枡
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+
+ // 鑾峰彇搴撳瓨鐗╂枡
+ List<LocDetl> locDetls = locDetlMapper.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+
+ // 婧愬簱浣�
+ LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+
+ List<ZphjcdwcVo> zphjcdwcVos = new ArrayList<>();
+
+ if (wrkDetls.size() == locDetls.size()) { // 涓嶉渶瑕佸洖搴擄紝鎷嗗畬鍚庡墿绌烘墭鐩樺幓鍙犵洏鏈�
+
+ // 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
+ locDetlMapper.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (locMast.getLocSts().equals("R")) {
+ locMast.setLocSts("O");
+ locMast.setBarcode("");
+ locMast.setSheetNo("0");
+ locMast.setModiTime(now);
+ locMast.setIoTime(now);
+ locMastService.updateById(locMast);
+ }
+
+ // 淇敼宸ヤ綔涓绘。鐘舵��
+ wrkMast.setWrkSts(15L);
+ wrkMast.setModiTime(now);
+ wrkMastService.updateById(wrkMast);
+
+ // 涓嬪彂鍘诲彔鐩樹綅缃�
+ ZphjcdwcVo zphjcdwcVo = new ZphjcdwcVo();
+ zphjcdwcVo.setWorkNo(wrkMast.getWrkNo());
+ zphjcdwcVo.setStaNo(3013);
+ zphjcdwcVo.setSourceStaNo(param.getSourceStaNo());
+ zphjcdwcVo.setBarcode(wrkMast.getBarcode());
+ zphjcdwcVos.add(zphjcdwcVo);
+
+ } else { // 鎷嗗畬鍚庤繕鏈夌墿鏂欙紝闇�瑕佸洖搴�
+
+ // 鍏堝垹闄ゅ簱瀛樻槑缁嗭紝閬垮厤杩樻湭鍥炲簱浣嗙粍鐩樼殑鍏堝叆搴撲簡
+ for (WrkDetl wrkDetl : wrkDetls) {
+ locDetlMapper.delete(new EntityWrapper<LocDetl>().eq("brand",wrkDetl.getBrand()));
+ }
+
+ // 淇敼宸ヤ綔涓绘。
+ wrkMast.setWrkSts(52L);
+ wrkMast.setIoType(59);
+ wrkMast.setSourceStaNo(wrkMast.getStaNo());
+ wrkMast.setStaNo(oneFloorIn[wrkMast.getCrnNo()]);
+ wrkMast.setLocNo(wrkMast.getSourceLocNo());
+ wrkMast.setSourceLocNo("");
+ wrkMast.setModiTime(now);
+ wrkMastService.updateById(wrkMast);
+
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (locMast.getLocSts().equals("R")) {
+ locMast.setLocSts("S");
+ locMast.setModiTime(now);
+ locMastService.updateById(locMast);
+ }
+
+ // 涓嬪彂鍥炲簱鍛戒护
+ ZphjcdwcVo zphjcdwcVo = new ZphjcdwcVo();
+ zphjcdwcVo.setWorkNo(wrkMast.getWrkNo());
+ zphjcdwcVo.setStaNo(oneFloorIn[wrkMast.getCrnNo()]);
+ zphjcdwcVo.setSourceStaNo(param.getSourceStaNo());
+ zphjcdwcVo.setBarcode(wrkMast.getBarcode());
+ zphjcdwcVos.add(zphjcdwcVo);
+ }
+
+ // 缁勭洏鐐�
+ Integer site = param.getSite();
+
+ // 鍒ゆ柇缁勭洏鏄惁瀹屾垚锛氫袱涓埌鎹㈢洏绔欑偣鐨勪换鍔℃槸鍚﹀畬鎴�
+ Wrapper<WrkMast> wrapper = new EntityWrapper<WrkMast>().eq("io_type", 109).ne("wrk_sts",15);
+ if (site == 3046) {
+ wrapper.in("sta_no",3045,3044);
+ } else {
+ wrapper.in("sta_no",3041,3040);
+ }
+ int count = wrkMastService.selectCount(wrapper);
+
+ // 宸茬粡瀹屾垚鍒欎笅鍙戠粍鐩樼偣鍏ュ簱鍛戒护
+ if (count == 0) {
+ // 鑾峰彇鍒扮粍鐩樼偣鍏ュ簱浠诲姟
+ WrkMast wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_sts", 1).eq("io_type", 1).eq("source_sta_no", site));
+ ZphjcdwcVo zphjcdwcVo = new ZphjcdwcVo();
+ zphjcdwcVo.setWorkNo(wrkMast1.getWrkNo());
+ zphjcdwcVo.setStaNo(wrkMast1.getStaNo());
+ zphjcdwcVo.setSourceStaNo(site);
+ zphjcdwcVo.setBarcode(param.getBarcode());
+ zphjcdwcVos.add(zphjcdwcVo);
+ }
+
+ return R.ok(zphjcdwcVos);
+ }
+
+ @Override
+ public R requestXhd(String barcode) {
+
+ // 娌℃湁浠诲姟鎴栬�呬笉鏄洏鐐逛换鍔$殑鎵樼洏缁忚繃鍒欒繑鍥�-1锛屽拷鐣�
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode));
+ if (wrkMast == null || wrkMast.getIoType() != 107) {
+ return R.ok(-1);
+ }
+
+ // 搴撳瓨鏄庣粏鏈ㄧ浣嶇疆闆嗗悎
+ List<LocDetl> locDetls = locDetlMapper.selectList(new EntityWrapper<LocDetl>().eq("zpallet", barcode));
+ List<String> collect1 = locDetls.stream().map(LocDetl::getOrigin).distinct().collect(Collectors.toList());
+ // 宸ヤ綔鏄庣粏鏈ㄧ浣嶇疆闆嗗悎
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("zpallet", barcode));
+ List<String> collect2 = wrkDetls.stream().map(WrkDetl::getOrigin).distinct().collect(Collectors.toList());
+
+ // 0鏄庣粏寮傚父,1浜乏锛�2浜彸锛�3閮戒寒
+ if (collect1.size() == 0 || collect2.size() == 0){
+ return R.ok(0);
+ } else if((collect1.size() == 1 && collect2.size() == 1) || (collect1.size() == 2 && collect2.size() == 2)) {
+ return R.ok(3);
+ } else if(collect1.size() == 2 && collect2.size() == 1) {
+ return R.ok(collect2.get(0).equals("宸�") ? 1 : 2);
+ } else {
+ return R.parse("浜俊鍙风伅鏉$爜寮傚父锛�" + barcode);
+ }
+
+ }
+
+ /**
+ * 鍒涘缓妗佹灦鐞嗚揣鍑哄簱鐨勫伐浣滄。
+ */
+ private int create111Work(WrkMast wrk, List<WrkDetl> wrkDetls, Integer site, Integer staNo,String barcode) {
+ int workNo = commonService.getWorkNo(4);
+ Date now = new Date();
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細璁惧涓婅蛋
+ wrkMast.setIoType(111); // 鍏ュ嚭搴撶姸鎬侊細111.鐞嗚揣璐存爣鍑哄簱
+ wrkMast.setIoPri(13D); // 浼樺厛绾�
+ wrkMast.setCrnNo(wrk.getCrnNo());
+ wrkMast.setSourceStaNo(site);
+ wrkMast.setStaNo(staNo);
+ wrkMast.setSourceLocNo(wrk.getSourceLocNo());
+ wrkMast.setBarcode(barcode); // 鎵樼洏鐮�
+ 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);
+
+ // 鎻掑叆宸ヤ綔妗�
+ wrkMastService.insert(wrkMast);
+
+ // 鎻掑叆宸ヤ綔妗f槑缁�
+ for (WrkDetl wrkDetl:wrkDetls) {
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setBarcode(barcode);
+ wrkDetl.setZpallet(barcode);
+ wrkDetlService.insert(wrkDetl);
+ }
+
+ return workNo;
+ }
+
+ /**
+ * 鏍规嵁鍑哄簱鐗╂枡鏄庣粏鍒ゆ柇鏄惁鍘昏创鏍�(鍗曞嵎璐存爣锛屽鍗蜂笉璐存爣)
+ * @param wrkDetls 鐗╂枡鏄庣粏
+ * @return 1.澶氬嵎鐩存帴鍑鸿矾寰勶紝4.鍗曞嵎璐存爣璺緞
+ */
+ private int getType(List<WrkDetl> wrkDetls) {
+ return wrkDetls.size() > 1 ? 1 : 4; // 涓�鏉¤褰曞氨鏄竴鍗�
+ }
+
+ public boolean pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo,String barcode,String message) {
boolean success = false;
// 鑾峰彇璇锋眰澶�
Map<String, Object> headers = getHeaders();
@@ -1308,39 +1931,33 @@
jsonObject.put("workNo", workNo);
jsonObject.put("staNo", staNo);
jsonObject.put("sourceStaNo", palletizingNo);
+ jsonObject.put("barcode", barcode);
String body = jsonObject.toJSONString();
String response = "";
try {
response = new HttpHandler.Builder()
- .setUri(MesConstant.URL)
- .setPath(MesConstant.PAKIN_URL)
+ .setUri(MesConstant.GWCS_IP_PORT)
+ .setPath(MesConstant.GWCS_FPKW_URL)
.setHeaders(headers)
.setJson(body)
.build()
.doPost();
if (!Cools.isEmpty(response)) {
success = true;
-// // 淇敼璁㈠崟鐘舵�� 4.瀹屾垚 ===>> 6.宸蹭笂鎶�
-// if (!orderService.updateSettle(order.getId(), 6L, null)) {
-// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-// }
} else {
- log.error("zmws鎺ㄩ�佸叆搴撶爜澶寸珯鐐规帴鍙eけ璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PAKIN_URL, body, response);
- throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+ log.error(message + "澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.GWCS_IP_PORT + MesConstant.GWCS_FPKW_URL, body, response);
}
} catch (Exception e) {
- log.error("鍏ュ簱璇锋眰鎺ュ彛澶辫触锛歿}", e.getMessage());
-// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-// return FAIL.setMsg(e.getMessage());
+ log.error(message + "寮傚父锛歿}", e);
} finally {
try {
// 淇濆瓨鎺ュ彛鏃ュ織
apiLogService.save(
- "鍏ュ簱",
- MesConstant.URL + MesConstant.PAKIN_URL,
+ message,
+ MesConstant.GWCS_IP_PORT + MesConstant.GWCS_FPKW_URL,
null,
"127.0.0.1",
- jsonObject.toJSONString(),
+ body,
response,
success
);
@@ -1348,6 +1965,7 @@
log.error("", e);
}
}
+ return success;
}
Map<String, Object> getHeaders(){
--
Gitblit v1.9.1