From 8ce4dcbd701b40165b0dbf365f667932cf2a8916 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 06 三月 2026 08:21:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 34 ++--
src/main/java/com/zy/asrs/controller/OpenController.java | 1
src/main/resources/mapper/LocMastMapper.xml | 4
src/main/java/com/zy/asrs/task/WorkMastScheduler.java | 40 -----
src/main/webapp/static/js/wrkMast/wrkMast.js | 6
src/main/java/com/zy/asrs/controller/MobileController.java | 7
src/main/java/com/zy/common/web/WcsController.java | 103 +++---------
src/main/java/com/zy/common/model/LocTypeDto.java | 2
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 67 --------
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 143 +++++++++++++++++
src/main/resources/application-dev.yml | 10
src/main/java/com/zy/common/service/CommonService.java | 45 ++++
src/main/java/com/zy/asrs/service/MobileService.java | 5
13 files changed, 249 insertions(+), 218 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 199f59e..26f6987 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -60,6 +60,13 @@
@Resource
private StaDescService staDescService;
+ @RequestMapping("/comb/auth")
+ @ManagerAuth(memo = "缁勬墭")
+ public R comb(@RequestBody CombParam combParam){
+ mobileService.comb(combParam, getUserId());
+ return R.ok("缁勬墭鎴愬姛");
+ }
+
@RequestMapping("/pda/WarehouseOut/v1")
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 17b8a2b..9e7fde2 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -357,7 +357,6 @@
if (wrkMast == null) {
return R.error("浠诲姟涓嶅瓨鍦�");
}
-
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(Integer.valueOf(param.getTaskNo()));
HashMap<String, Object> map = new HashMap<>();
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index ece063b..9f46196 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -10,6 +10,11 @@
public interface MobileService {
/**
+ * 缁勬墭
+ */
+ void comb(CombParam param, Long userId);
+
+ /**
* 骞舵澘閫斾腑鎷f枡
*/
R WarehouseOutV1(CombParam combParam, Long hostId, Long userId);
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 96371ea..79a8a56 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -13,6 +13,7 @@
import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.OrderInAndOutUtil;
+import com.zy.common.model.DetlDto;
import com.zy.common.model.LocTypeDto;
import com.zy.common.model.StartupDto;
import com.zy.common.model.enums.WorkNoType;
@@ -25,6 +26,7 @@
import javax.annotation.Resource;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 绉诲姩绔湇鍔℃牳蹇冪被
@@ -309,6 +311,147 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
+ public void comb(CombParam param, Long userId) {
+ if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
+ throw new CoolException(BaseRes.PARAM);
+ }
+ if (param.getCombMats().size() < 1) {
+ throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒");
+ }
+ // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
+ if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
+ eq("zpallet", param.getBarcode())
+ .eq("io_status", "N")) > 0) {
+ throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
+ }
+
+ if (param.getBarcode().length() != 8) {
+ throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode());
+ }
+
+ int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
+ int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
+ int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
+ if (countLoc > 0 || countWrk > 0 || countwait > 0) {
+ throw new CoolException("缁勬墭妗�/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getBarcode());
+ }
+
+ Date now = new Date();
+ // 鏃犲崟缁勬墭
+ if (Cools.isEmpty(param.getOrderNo())) {
+ // 鐢熸垚鍏ュ簱閫氱煡妗�
+ List<DetlDto> detlDtos = new ArrayList<>();
+ param.getCombMats().forEach(elem -> {
+ DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(),
+ elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme());
+ if (DetlDto.has(detlDtos, detlDto)) {
+ DetlDto one = DetlDto.findDto(detlDtos, detlDto);
+ assert one != null;
+ one.setAnfme(one.getAnfme() + detlDto.getAnfme());
+ } else {
+ detlDtos.add(detlDto);
+ }
+ });
+
+ for (DetlDto detlDto : detlDtos) {
+ Mat mat = matService.selectByMatnr(detlDto.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+ }
+// if (mat.getUpQty().compareTo(detlDto.getAnfme()) < 0) {
+// throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟鏈�澶х粍鎵樹笂闄愪负锛�" + mat.getUpQty());
+// }
+ WaitPakin waitPakin = new WaitPakin();
+ BeanUtils.copyProperties(mat, waitPakin);
+ waitPakin.setBatch(detlDto.getBatch());
+ waitPakin.setZpallet(param.getBarcode());
+ waitPakin.setIoStatus("N");
+ waitPakin.setAnfme(detlDto.getAnfme());
+ waitPakin.setStatus("Y");
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(now);
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(now);
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+ }
+ }
+ // 鍏宠仈缁勬墭
+ } else {
+// Order order = orderService.selectByNo(param.getOrderNo());
+ // 鐢熸垚鍏ュ簱閫氱煡妗�
+ List<DetlDto> detlDtos = new ArrayList<>();
+ param.getCombMats().forEach(elem -> {
+ Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, elem.getOrderNo());
+ if (Cools.isEmpty(order) || order.getSettle() > 2) {
+ throw new CoolException("璁㈠崟鍙蜂笉瀛樺湪鎴栬�呭凡鎵ц瀹屾垚");
+ }
+ // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
+// OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.TRUE, order.getId(), elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(),
+// elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3());
+ OrderDetlPakin detls = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
+ .eq("order_id", order.getId())
+ .eq("matnr", elem.getMatnr()));
+
+ if (Objects.isNull(detls)) {
+ throw new CoolException("鏁版嵁閿欒锛氬崟鎹槑缁嗕笉瀛樺湪锛侊紒");
+ }
+
+ if (elem.getAnfme() > detls.getEnableQty()) {
+ throw new CoolException(detls.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
+ }
+ OrderInAndOutUtil.increaseWorkQty(Boolean.TRUE, order.getId(), elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(),
+ elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme());
+ DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getBrand(), elem.getStandby1(), elem.getStandby2(), elem.getStandby3(),
+ elem.getBoxType1(), elem.getBoxType2(), elem.getBoxType3(), elem.getAnfme());
+ detlDto.setOrderId(order.getId());
+ detlDto.setOrderNo(order.getOrderNo());
+ if (DetlDto.has(detlDtos, detlDto)) {
+ DetlDto one = DetlDto.findDto(detlDtos, detlDto);
+ assert one != null;
+ one.setAnfme(one.getAnfme() + detlDto.getAnfme());
+ } else {
+ detlDtos.add(detlDto);
+ }
+ });
+
+ for (DetlDto detlDto : detlDtos) {
+ Mat mat = matService.selectByMatnr(detlDto.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+ }
+ OrderDetlPakin detls = orderDetlPakinService.selectOne(new EntityWrapper<OrderDetlPakin>()
+ .eq("order_no", param.getOrderNo())
+ .eq("matnr", detlDto.getMatnr()));
+
+ WaitPakin waitPakin = new WaitPakin();
+ BeanUtils.copyProperties(mat, waitPakin);
+ waitPakin.setOrderNo(detlDto.getOrderNo()); // 鍗曟嵁缂栧彿
+ waitPakin.setOrderId(detlDto.getOrderId());
+ waitPakin.setBatch(detlDto.getBatch()); // 搴忓垪鐮�
+ waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
+ waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
+ waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
+ waitPakin.setStatus("Y"); // 鐘舵��
+ waitPakin.setAppeUser(userId);
+ waitPakin.setAppeTime(now);
+ waitPakin.setModiUser(userId);
+ waitPakin.setModiTime(now);
+ if (!waitPakinService.insert(waitPakin)) {
+ throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+ }
+ }
+
+ Set<String> stringSet = param.getCombMats().stream().map(CombParam.CombMat::getOrderNo).collect(Collectors.toSet());
+ stringSet.forEach(orderNo -> {
+ Order order = OrderInAndOutUtil.selectByNo(Boolean.TRUE, orderNo);
+ OrderInAndOutUtil.updateOrder(Boolean.TRUE, order.getId(), 2L, userId);
+ });
+ }
+ }
+
+ @Override
@Transactional
public R WarehouseOutV1(CombParam combParam, Long hostId, Long userId) {
// 鍒ゆ柇搴撲綅鐘舵��
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 6298d71..bdba3fd 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -443,67 +443,7 @@
* @date 2026/1/9 20:16
*/
private void generateOutStock(TaskDto taskDto, Long userId, int workNo, String wrkCode, Date now, int ioType, LocMast locMast, StaDesc staDesc, String deviceNo) {
- if (Objects.isNull(deviceNo)) {
- throw new CoolException("鏈哄彴鍙蜂笉鑳戒负绌猴紒锛�");
- }
- BasDevice basDevice = basDeviceService.selectOne(new EntityWrapper<BasDevice>()
- .eq("status", 1)
- .eq("dev_no", deviceNo));
- if (Objects.isNull(basDevice)) {
- throw new CoolException("鏈哄彴淇℃伅涓嶅瓨鍦ㄦ垨宸茬鐢紒锛�");
- }
- LocAroundBind binds = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>()
- .eq("loc_type", LocStsType.LOC_STS_TYPE_O.type)
- .eq("dev_no", basDevice.getType()).orderBy("order_no"));
-
- if (Objects.isNull(binds)) {
- throw new CoolException("鏈哄彴鏈缃粯璁ゅ伐浣滀綅锛侊紒");
- }
-//
-// Set<String> locs = binds.stream().map(LocAroundBind::getBlocNo).collect(Collectors.toSet());
-
-// LocMast locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
-// .in("loc_no", locs)
-// .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
-// .orderAsc(Arrays.asList("loc_no")));
-
-// if (Objects.isNull(locMasts)) {
-// binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>()
-// .eq("dev_no", basDevice.getDevNo()));
-//
-// Set<String> nlocs = binds.stream().map(LocAroundBind::getBlocNo).collect(Collectors.toSet());
-//
-// locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
-// .in("loc_no", nlocs)
-// .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
-// .orderAsc(Arrays.asList("loc_no")));
-// if (Objects.isNull(locMasts)) {
-// throw new CoolException("鏆傛棤鍙敤宸ヤ綔浣嶏紒锛�");
-// }
-// }
-
- LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", binds.getBlocNo()));
- bLocNo.setLocType(LocStsType.LOC_STS_TYPE_S.type);
-
- if (!locAroundBindService.updateById(bLocNo)) {
- throw new CoolException("宸ヤ綅棰勭害澶辫触锛侊紒");
- }
-
- LocMast locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
- .eq("loc_no", bLocNo.getBlocNo()));
-
- locMasts.setLocSts(LocStsType.LOC_STS_TYPE_S.type);
- locMasts.setModiUser(userId);
- locMasts.setModiTime(now);
- if (!locMastService.updateById(locMasts)) {
- throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + locMasts.getLocNo());
- }
-
-
- List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locMasts.getLocNo(), 1);
- //TODO 1. 鑾峰彇鍏ュ簱绔欑偣锛� 鐩爣搴撲綅 3. 灏嗗嚭搴撴槑缁嗘坊鍔犺嚦鍏ュ簱鏄庣粏
- Integer staNo = staNos.stream().findFirst().get();
// 鐢熸垚宸ヤ綔妗�
WrkMast wrkMast = new WrkMast();
wrkMast.setWrkNo(workNo);
@@ -514,12 +454,7 @@
wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
wrkMast.setIoPri(13D); // 浼樺厛绾э細13
wrkMast.setCrnNo(locMast.getCrnNo());
-// wrkMast.setStaNo(staDesc.getStnNo() + ""); // 鐩爣绔�
- if(!Objects.equals(locMasts.getCrnNo(), locMast.getCrnNo())){
- wrkMast.setSourceStaNo(staDesc.getCrnStn() + ""); // 婧愮珯
- wrkMast.setStaNo(staNo + ""); // 鐩爣绔�
- }
- wrkMast.setLocNo(locMasts.getLocNo());
+ wrkMast.setStaNo(staDesc.getStnNo() + ""); // 鐩爣绔�
wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣�
wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
wrkMast.setPicking("N"); // 鎷f枡
diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index df0a5de..3aacea5 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -160,44 +160,4 @@
}
};
}
-
- /**
- * 鑷姩鐢熸垚璺ㄥ尯鍏ヤ换鍔�
- *
- * @author Ryan
- * @date 2026/1/10 14:42
- */
- @Scheduled(cron = "0/3 * * * * ? ")
- private void autoInStack() {
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 15).eq("online_yn","N"));
- if (wrkMasts.isEmpty()) {
- return;
- }
- for (WrkMast wrkMast : wrkMasts) {
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()));
- // 鏋勯�犺法鍖哄叆搴撲换鍔�
- WrkMast inMast = new WrkMast();
- // 鐢熸垚宸ヤ綔鍙�
- int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(1));
- inMast.setWrkNo(workNo); // 鐢熸垚鏂颁换鍔″彿
- inMast.setBarcode(wrkMast.getBarcode()); // 鎵樼洏鐮佷繚鎸佷竴鑷�
- inMast.setIoType(2); // 璺ㄥ尯鍏ュ簱绫诲瀷
- inMast.setWrkSts(1L); // 寰呬笅鍙�
- inMast.setLocNo(wrkMast.getLocNo()); // 鍘熺洰鏍囧簱浣�
- inMast.setIoPri(13.0);
- inMast.setSourceStaNo(wrkMast.getStaNo());
- inMast.setWrkCode(wrkMast.getWrkNo()+""); // 鍏宠仈鍘熷嚭搴撲换鍔�
- inMast.setAppeUser(wrkMast.getAppeUser()); // 鐢宠浜�
- inMast.setAppeTime(new Date());
- inMast.setIoTime(new Date());
- inMast.setCrnNo(locMast.getCrnNo());
- if(!wrkMastService.insert(inMast)){
- throw new CoolException("璺ㄥ尯鍏ュ簱浠诲姟鐢熸垚澶辫触锛�");
- }else {
- wrkMast.setOnlineYn("Y");
- wrkMastService.updateById(wrkMast);
- }
- }
-
- }
}
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 c3c92c3..404c5a9 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -552,22 +552,22 @@
case 101:
//濡傛灉wrkCode涓嶄负绌猴紝琛ㄧず鏄伐浣滃彴鍙揣,濡傛灉涓嶄负绌鸿蛋绉诲簱閫昏緫
//todo 鍒ゆ柇濡傛灉搴撲綅鎵�灞炰笉鏄悓涓�涓爢鍨涙満鍙凤紝闇�鍐嶇敓鎴愪竴涓柊鐨勫叆搴撲换鍔�
- if (!Objects.isNull(wrkMast.getWrkCode())) {
- //TODO 绉诲簱
-// workService.locMove(wrkMast.getSourceLocNo(), wrkMast.getLocNo(), wrkMast.getAppeUser());
-
- movLoc(wrkMast);
-
- //淇敼宸ヤ綅搴撴��
- LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getLocNo()));
- if (Objects.isNull(bLocNo)) {
- throw new CoolException("鏁版嵁閿欒锛� 鐩爣宸ヤ綅涓嶅瓨鍦紒锛�");
- }
- bLocNo.setLocType(LocStsType.LOC_STS_TYPE_F.type);
- if (!locAroundBindService.updateById(bLocNo)) {
- throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
- }
- } else {
+// if (!Objects.isNull(wrkMast.getWrkCode())) {
+// //TODO 绉诲簱
+//// workService.locMove(wrkMast.getSourceLocNo(), wrkMast.getLocNo(), wrkMast.getAppeUser());
+//
+//// movLoc(wrkMast);
+//
+// //淇敼宸ヤ綅搴撴��
+// LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getLocNo()));
+// if (Objects.isNull(bLocNo)) {
+// throw new CoolException("鏁版嵁閿欒锛� 鐩爣宸ヤ綅涓嶅瓨鍦紒锛�");
+// }
+// bLocNo.setLocType(LocStsType.LOC_STS_TYPE_F.type);
+// if (!locAroundBindService.updateById(bLocNo)) {
+// throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+// }
+// } else {
// // 鍑哄簱纭淇″彿浣�
// if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) {
// return SUCCESS;
@@ -616,7 +616,7 @@
return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐�; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
}
}
- }
+// }
break;
// 骞舵澘閫斾腑鎹℃枡
case 108:
diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java
index 0560f4a..14f00cf 100644
--- a/src/main/java/com/zy/common/model/LocTypeDto.java
+++ b/src/main/java/com/zy/common/model/LocTypeDto.java
@@ -29,7 +29,7 @@
if (basDevp.getLocType1() == null) {
throw new CoolException("plc楂樹綆妫�娴嬪紓甯�");
}
- if (basDevp.getLocType1() == 0) {
+ if (basDevp.getLocType1() == 1) {
this.locType1 = 1; // 浣庡簱浣�
} else {
this.locType1 = 2; // 楂樺簱浣�
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index b62242a..7b507a6 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -243,7 +243,7 @@
.eq("loc_sts", "O")
.eq("frozen", 0)
.eq("deleted", 0)
- .eq("whs_type", rowLastnoType.getType().longValue()));
+ .eq("loc_type1",locTypeDto.getLocType1()));
int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type", 100));
if (locMasts.size() - crnCountO <= 2) {
log.error(crnNo + "鍙峰爢鍨涙満娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
@@ -285,7 +285,7 @@
.eq("row1", nearRow)
.eq("frozen", 0).eq("deleted", 0)
.eq("loc_sts", "O")
- .eq("whs_type", rowLastnoType.getType().longValue()));
+ .eq("loc_type1", locTypeDto.getLocType1()));
for (LocMast locMast1 : locMasts) {
//鑾峰彇宸烽亾
// List<String> groupOutsideLocCrn = Utils.getGroupOutLocCrn(curRow,nearRow,locMast1.getLocNo(), curRow>nearRow);
@@ -343,7 +343,7 @@
if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(rowLastno)) {
List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
.eq("loc_sts", "D").eq("frozen", 0).eq("deleted", 0)
- .ge("row1", sRow).le("row1", eRow).eq("whs_type", rowLastnoType.getType().longValue()));
+ .ge("row1", sRow).le("row1", eRow).eq("loc_type1", locTypeDto.getLocType1()));
if (!locMasts.isEmpty()) {
for (LocMast loc : locMasts) {
if (Utils.isShallowLoc(slaveProperties, loc.getLocNo())) {
@@ -377,7 +377,7 @@
.eq("crn_no", crnNo);
staDesc = staDescService.selectOne(wrapper);
if (Cools.isEmpty(staDesc)) {
- log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo);
+ log.error("鍏ュ簱鍏ュ緞涓嶅瓨鍦紝type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo);
// throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
crnNo = 0;
} else {
@@ -404,8 +404,41 @@
if (!locMasts.isEmpty()) {
for (LocMast locMast1 : locMasts) {
if (basCrnpService.checkSiteError(crnNo, true)) {
- locMast = locMast1;
- break;
+ //鍒ゆ柇鏄惁涓烘祬搴撲綅锛屾祬搴撲綅鍒ゆ柇娣卞簱浣嶆槸鍚︽湁璐э紝鏃犺揣鐨勪紭鍏堟斁鍒版繁搴撲綅涓�
+ Integer row1 = locMast1.getRow1();
+ Boolean boo=false;
+ if(locMast1.getRow1()==2){
+ row1 = 1;
+ boo=true;
+ }else if(locMast1.getRow1()==3){
+ row1 = 4;
+ boo=true;
+ }
+ if(boo){
+ LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("row1", row1)
+ .eq("bay1", locMast1.getBay1())
+ .eq("lev1", locMast1.getLev1())
+ .eq("loc_sts", "O"));
+ if(!Cools.isEmpty(locMast2)) {
+ locMast = locMast2;
+ break;
+ }else {
+ LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("row1", row1)
+ .eq("bay1", locMast1.getBay1())
+ .eq("lev1", locMast1.getLev1())
+ .eq("loc_sts", "F"));
+ if(!Cools.isEmpty(locMast3)) {
+ locMast = locMast1;
+ break;
+ }
+ }
+ }else {
+ locMast = locMast1;
+ break;
+ }
+
}
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 607bd5b..43bfd91 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -71,97 +71,46 @@
}
List<WaitPakin> waitPakins = null;
if (param.getIoType() == 1) {
- //澶勭悊鎵樼洏鐮�
- //3S19000677895,M22003772,3 ,KP, 0A2030 ,0A2030202306050023
- //3S绠辩爜鍙� ,绔瓙鐗╂枡鍙� ,鏁伴噺,鍗曚綅,渚涘簲鍟嗙紪鍙�,渚涘簲鍟嗘壒娆″彿
- //鏁伴噺鍜岄噸閲忚浆鎹㈠嚭鏉ョ殑鏄惁宸笉澶�
- //weight 涓� 43.39 鍘荤毊2.35 = 41.05
- //鎵樼洏鐮佷緥瀛� 845000820308,M11000787,1000,MT,0A1263,0A126320260120
- //鎹㈢畻闇�瑕�41.05*24.36绾︾瓑浜�1000
if (Cools.isEmpty(param.getBarcode())) {
return R.error("鏉$爜涓嶈兘涓虹┖");
}
- String[] split = param.getBarcode().split(",");
- String barcode = split[0];
- String matnr = split[1];
- Double weight = Double.valueOf(split[2]);
- String unit = split[3];
- String manu = split[4];
- String batch = split[5];
- String threeCode = param.getBarcode();
- param.setBarcode(barcode);
- //瀹為檯绉伴噸鏁伴噺
- Double m = param.getWeight() -2.35;
-
- Mat mat = matService.selectByMatnr(matnr);
- if(mat==null){
- log.info("娌℃湁鎵惧埌璇ョ墿鏂欐。妗�--"+matnr+"缁勬墭鏃惰嚜鍔ㄦ柊澧炵墿鏂欙紝榛樿24.36KG/M");
- mat = new Mat();
- mat.setTagId(1L);
- mat.setLocType(1L);
- mat.setMatnr(matnr);
- mat.setUnit(unit);
- mat.setManu(manu);
- mat.setMaktx(matnr);
- mat.setVolume(24.36);
- matService.insert(mat);
- }else {
- //鏆傚畾
-
- }
- m=m*mat.getVolume();
- //Double val = Math.round((m - matnr.getSafeQty()) * 10000) / 10000.0;
- Config config = configService.selectConfigByCode("SimulationInbound");
- if (config != null && config.getValue().equals("Y")) {
- WaitPakin waitPakin1 = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
- if (Cools.isEmpty(waitPakin1)) {
- WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("io_status", "N"));
- if (waitPakin != null) {
- waitPakinService.updateForSet("zpallet = '" + param.getBarcode() + "'", new EntityWrapper<WaitPakin>().eq("zpallet", waitPakin.getZpallet()));
- }
- }
- }
waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
- if (Cools.isEmpty(waitPakins)) {
- WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
- if (wrkMast != null && wrkMast.getIoType() == 103) {
- return R.parse(CodeRes.PICK_600);
- }
- WaitPakin waitPakin = new WaitPakin();
- waitPakin.sync(mat);
- waitPakin.setZpallet(param.getBarcode());
- waitPakin.setAnfme(m);
- waitPakin.setThreeCode(threeCode);
- waitPakinService.insert(waitPakin);
- }else {
- for(WaitPakin waitPakin : waitPakins){
- waitPakin.setAnfme(m);
- waitPakinService.update(waitPakin,new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
- }
- }
- //瀹為檯闀垮害
- WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
- if (Cools.isEmpty(waitPakin)) {
- return R.error(CodeRes.NO_COMB_700);
- }
- boolean flag = false;
- if(Cools.isEmpty(waitPakin.getBeBatch())||waitPakin.getBeBatch()!=1){
- flag = true;
- }
- if (flag && (weight - m < -2.0 || weight - m > 2.0)) {
- return R.error("浜岀淮鐮�="+threeCode+"鐨勭墿鏂欏疄闄呯О閲嶈浆鎹㈡垚鐨勭背鏁板拰鐗╂枡鏍囩鎻愪緵鐨勭背鏁扮浉宸緝澶ч渶瑕侀��鍥炴垨鑰呮爣璁板悗鎵嶈兘鍏ュ簱锛�");
- }
-
int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode()));
int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode()));
if (countLoc > 0 || countWrk > 0) {
return R.error(CodeRes.EXIST_500);
}
+ if (Cools.isEmpty(waitPakins)) {
+ WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
+ if (wrkMast != null && wrkMast.getIoType() == 103) {
+ return R.parse(CodeRes.PICK_600);
+ }
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "SimulationWarehousing").eq("value", "Y"));
+ if (!Cools.isEmpty(config)) {
+ waitPakins = waitPakinService.selectList(
+ new EntityWrapper<WaitPakin>()
+ .eq("io_status", "N"));
+ if (Cools.isEmpty(waitPakins)) {
+ return R.parse(CodeRes.NO_COMB_700);
+ }
+ String barcode = "";
+ for (WaitPakin waitPakin : waitPakins) {
+ barcode = waitPakin.getZpallet();
+ break;
+ }
+ if (!Cools.isEmpty(barcode)){
+ waitPakinService.updateForSet("zpallet='"+param.getBarcode()+"'",new EntityWrapper<WaitPakin>().eq("zpallet",barcode));
+ }
+ }else{
+ return R.parse(CodeRes.NO_COMB_700);
+ }
+ }
}
if (Cools.isEmpty(param.getLocType1())){
return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�");
}
+
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
sourceStaNo.setLocType1(param.getLocType1());
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 18599c6..73e0d82 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -13,7 +13,7 @@
username: sa
password: sa@123
# url: jdbc:sqlserver://192.168.4.15:1433;databasename=jxhcwms
- url: jdbc:sqlserver://127.0.0.1:1433;databasename=jxhcwms
+ url: jdbc:sqlserver://127.0.0.1:1433;databasename=nbtlasrs-ddj
mvc:
static-path-pattern: /**
redis:
@@ -48,7 +48,7 @@
#License鐩稿叧閰嶇疆
license:
- subject: integrationasrs
+ subject: nbtlasrs
publicAlias: publicCert
storePass: public_zhongyang_123456789
licensePath: license.lic
@@ -59,13 +59,13 @@
# 鍙屾繁
doubleDeep: true
# 鍙屾繁搴撲綅鎺掑彿
- doubleLocs: 1,4,5,8,9,12,13,16
+ doubleLocs: 1,4
# 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
groupCount: 4
# 宸︽繁搴撲綅鎺掑彿
- doubleLocsLeft: 1,5,9,13
+ doubleLocsLeft: 1
# 鍙虫繁搴撲綅鎺掑彿
- doubleLocsRight: 4,8,12,16
+ doubleLocsRight: 4
# wms鍙傛暟閰嶇疆
wms-parameter:
# 鑷姩琛ョ┖鏉垮姛鑳藉紑鍏�
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index cae15d0..e394a80 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -123,7 +123,7 @@
SELECT top 1 *
FROM [dbo].[asr_loc_mast]
WHERE 1=1
- and whs_type=#{whsType}
+ and loc_type1=#{whsType}
and crn_no=#{crnNo}
and bay1 = #{bay}
and lev1 = #{lev}
@@ -146,7 +146,7 @@
SELECT top 1 *
FROM [dbo].[asr_loc_mast]
WHERE 1=1
- and whs_type=#{whsType}
+ and loc_type1=#{whsType}
and crn_no=#{crnNo}
and bay1 = #{bay}
and lev1 = #{lev}
diff --git a/src/main/webapp/static/js/wrkMast/wrkMast.js b/src/main/webapp/static/js/wrkMast/wrkMast.js
index c1e41cb..83e3fbd 100644
--- a/src/main/webapp/static/js/wrkMast/wrkMast.js
+++ b/src/main/webapp/static/js/wrkMast/wrkMast.js
@@ -32,13 +32,13 @@
,{field: 'staNo$', align: 'center',title: '鐩爣绔�', width: 95}
,{field: 'sourceLocNo', align: 'center',title: '婧愬簱浣�', width: 120}
,{field: 'locNo', align: 'center',title: '鐩爣搴撲綅', width: 120}
- ,{field: 'oveMk', align: 'center',title: '鏄惁绉伴噸', width: 120}
+ // ,{field: 'oveMk', align: 'center',title: '鏄惁绉伴噸', width: 120}
,{field: 'preHave', align: 'center',title: '鍏堝叆鍝�', hide: true}
,{field: 'takeNone', align: 'center',title: '绌烘搷浣�', hide: true}
- ,{field: 'isSuplus$', align: 'center', title: '鍥炲簱绫诲瀷', hide: false, width: 120}
+ // ,{field: 'isSuplus$', align: 'center', title: '鍥炲簱绫诲瀷', hide: false, width: 120}
,{field: 'modiUser$', align: 'center',title: '淇敼浜哄憳', hide:true}
,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿', hide:true, width: 160}
- ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:350}
+ ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate'}
]],
request: {
pageName: 'curr',
--
Gitblit v1.9.1