From 75cbc7ef747bc41e8f89d250e9e27742c7614da7 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 07 十一月 2025 11:09:38 +0800
Subject: [PATCH] 空托出库默认优先级14
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 139 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 136 insertions(+), 3 deletions(-)
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 1d43354..1b22d48 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -116,6 +116,8 @@
private SlaveProperties slaveProperties;
@Autowired
private WaitPakinService waitPakinService;
+ @Resource
+ private OpenServiceImpl openService;
@Override
@Transactional
@@ -210,8 +212,13 @@
one = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", paramLocDetl.getLocNo()));
}
if (null != one && !paramLocDetl.getMatnr().equals("绌虹")) {
- if (!"鍚堟牸".equals(one.getThreeCode())) {
+ // 3077 3106 鍙湁鍚堟牸鑳藉嚭
+ if((param.getOutSite() == 3077 || param.getOutSite() == 3106) && !"鍚堟牸".equals(one.getThreeCode())) {
throw new CoolException(one.getModel() + "鍗蜂笉鍚堟牸:" + one.getThreeCode());
+ }
+ // 2041 鍙湁寰呭垽鑳藉嚭
+ if(param.getOutSite() == 2041 && null != one.getThreeCode()) {
+ throw new CoolException(one.getModel() + "鍗蜂笉涓哄緟鍒�:" + one.getThreeCode());
}
locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
} else {
@@ -582,6 +589,130 @@
@Override
@Transactional
+ public void stockOut2(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId, String groupOrderNumber) {
+ Date now = new Date();
+ // 鍚堝苟鍚岀被椤�
+ Set<String> locNos = new HashSet<>();
+ List<OutLocDto> dtos = new ArrayList<>();
+ for (LocDetlDto locDetlDto : locDetlDtos) {
+ String locNo = locDetlDto.getLocDetl().getLocNo();
+ if (locNos.contains(locNo)) {
+ for (OutLocDto dto : dtos) {
+ if (dto.getLocNo().equals(locNo)) {
+ dto.getLocDetlDtos().add(locDetlDto);
+ break;
+ }
+ }
+ } else {
+ locNos.add(locNo);
+ dtos.add(new OutLocDto(locNo, locDetlDto));
+ }
+ }
+ Integer ioType = null;
+ // 鐢熸垚宸ヤ綔妗�
+ for (OutLocDto dto : dtos) {
+ // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
+ if (ioWorkType == null) {
+ ioType = dto.isAll() ? 101 : 103;
+ } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
+ ioType = 107;
+ } else if (ioWorkType.equals(IoWorkType.ALL_OUT)) {
+ ioType = 101;
+ }
+ assert ioType != null;
+ // 鑾峰彇搴撲綅
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+
+ Integer outSta = staNo.getDevNo();
+// //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
+// if(locMast.getCrnNo()==2){
+// outSta = ioType == 101 ? 204 : 202;
+// }
+
+ // 鑾峰彇璺緞
+ StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+ // 鐢熸垚宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
+ wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setCrnNo(locMast.getCrnNo());
+ wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
+ wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
+ wrkMast.setSourceLocNo(dto.getLocNo()); // 婧愬簱浣�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("N");
+ wrkMast.setSheetNo("0");
+ wrkMast.setMemo(groupOrderNumber);
+ if (staDesc.getStnNo() < 118 || staDesc.getStnNo() > 121) {
+ wrkMast.setSheetNo("3");
+ }
+ wrkMast.setBarcode(locMast.getBarcode());
+ wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(now);
+ if (!wrkMastService.insert(wrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
+ if (detlDto.getCount() == null || detlDto.getCount() <= 0.0D) {
+ continue;
+ }
+ WrkDetl wrkDetl = new WrkDetl();
+ List<OrderDetl> orderDetl = orderDetlService.selectByModel(detlDto.getLocDetl().getModel());
+ wrkDetl.sync(detlDto.getLocDetl());
+ for (OrderDetl orderDetlDto : orderDetl) {
+ if (orderDetlDto.getSupp() != null) {
+ wrkDetl.setSupp(orderDetlDto.getSupp());
+ }
+ if (orderDetlDto.getMemo() != null) {
+ wrkDetl.setMemo(orderDetlDto.getMemo());
+ }
+ }
+ wrkDetl.setOrderNo(detlDto.getOrderNo()); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(now);
+ Double anfme = ioType == 101 ? detlDto.getLocDetl().getAnfme() : detlDto.getCount();
+ wrkDetl.setAnfme(anfme); // 鏁伴噺
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setAppeUser(userId);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setModiUser(userId);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ // 淇敼璁㈠崟鏄庣粏
+ orderDetlMapper.updateOrderDetlByModel(detlDto.getOrderNo(), detlDto.getLocDetl().getModel(), 1);
+ // 淇敼璁㈠崟鐘舵��
+ orderMapper.updateSettleByOrderNo(detlDto.getOrderNo(), 2L, userId);
+ }
+
+ // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
+ locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocSts().equals("F")) {
+ locMast.setLocSts(ioType == 101 ? "R" : "P");
+ locMast.setModiUser(userId);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + dto.getLocNo());
+ }
+ } else {
+ throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
+ }
+ }
+ }
+
+ @Override
+ @Transactional
public void stockOut(BasDevp staNo, TaskDto taskDto, Long userId) {
Date now = new Date();
List<LocDto> locDtos = taskDto.getLocDtos();
@@ -854,7 +985,7 @@
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
- wrkMast.setIoPri(10D);
+ wrkMast.setIoPri(14D);
wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
wrkMast.setCrnNo(locMast.getCrnNo());
@@ -1147,7 +1278,7 @@
if (Cools.isEmpty(wrkMast)) {
throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
}
- if (wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15) {
+ if (wrkMast.getWrkSts() == 4 || wrkMast.getWrkSts() == 5 || wrkMast.getWrkSts() == 14 || wrkMast.getWrkSts() == 15) {
throw new CoolException("褰撳墠宸ヤ綔妗e凡瀹屾垚");
}
// 鍏ュ簱 + 搴撲綅杞Щ
@@ -1155,6 +1286,8 @@
wrkMast.setWrkSts(4L);
// 鍑哄簱
} else if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 103 && wrkMast.getIoType() != 107 && wrkMast.getIoType() != 109) {
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(Integer.valueOf(workNo));
+ openService.ckjgsbPushMes(wrkMast,wrkDetls);
wrkMast.setWrkSts(14L);
} else {
throw new CoolException("褰撳墠宸ヤ綔绫诲瀷鎴栫姸鎬佹棤娉曞畬鎴�");
--
Gitblit v1.9.1