From b4b4211b29a262812478b79e3d2c3b4df835cf52 Mon Sep 17 00:00:00 2001 From: verou <857149855@qq.com> Date: 星期五, 28 三月 2025 10:00:06 +0800 Subject: [PATCH] Merge branch 'devlop' of http://47.97.1.152:5880/r/wms-master into devlop --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java | 3 +++ rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java | 1 - rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java | 9 ++++++--- rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java | 31 +++++++++++++++++++++++++++++-- 4 files changed, 38 insertions(+), 6 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java index a317004..a44caf1 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/ScheduleJobs.java @@ -99,7 +99,6 @@ if (Objects.isNull(matnr)) { throw new CoolException("鏁版嵁閿欒锛氬綋鍓嶇墿鏂欎笉瀛樺湪!!"); } -// //TODO barcode鐢熸垚绛栫暐 String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, item); if (StringUtils.isBlank(trackCode)) { throw new CoolException("鍗曟嵁璺熻釜鐮佺敓鎴愬け璐ワ細璇锋鏌ャ�宻ys_asn_mantr_label銆嶆槸鍚﹂厤缃畬鎴愶紒锛�"); @@ -114,10 +113,10 @@ .setPoDetlId(item.getId()) .setPlatItemId(item.getPlatItemId()) .setTrackCode(trackCode) -// .setBarcode(barcode) .setPoCode(purchase.getCode()) .setPurQty(item.getAnfme()) .setPurUnit(item.getUnit()) + .setMatnrCode(matnr.getCode()) .setMaktx(matnr.getName()) .setMatnrId(matnr.getId() + ""); orderItems.add(orderItem); @@ -136,4 +135,32 @@ }); } + + /** + * 鐢熸垚鐗╂枡鏍囩 + */ + @Scheduled(cron = "0 0/05 * * * ? ") + @Transactional(rollbackFor = Exception.class) + public void generateMatnrLabel() { + List<AsnOrderItem> list = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>() + .isNull(AsnOrderItem::getTrackCode) + .select(AsnOrderItem::getId)); + if (Objects.isNull(list) || list.isEmpty()) { + return; + } + List<AsnOrderItem> items = new ArrayList<>(); + list.forEach(item -> { + String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, item); + if (StringUtils.isBlank(trackCode)) { + throw new CoolException("鍗曟嵁璺熻釜鐮佺敓鎴愬け璐ワ細璇锋鏌ャ�宻ys_asn_mantr_label銆嶆槸鍚﹂厤缃畬鎴愶紒锛�"); + } + item.setTrackCode(trackCode); + items.add(item); + }); + + if (!asnOrderItemService.updateBatchById(items)) { + throw new CoolException("鐢熸垚缂栫爜澶辫触锛侊紒"); + } + } + } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java index 99cb110..917d504 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java @@ -106,6 +106,9 @@ //淇濆瓨鎵╁睍瀛楁 ExtendFieldsUtils.saveFields(params); AsnOrderItem asnOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), AsnOrderItem.class); + if (StringUtils.isBlank(asnOrderItem.getTrackCode())) { + SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, params); + } if (!this.saveOrUpdate(asnOrderItem)) { throw new CoolException("鏀惰揣閫氱煡鍗曟槑缁嗕繚瀛樺け璐ワ紒锛�"); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java index 27e33ef..ca6d9a9 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java @@ -108,7 +108,6 @@ item.put("asnId", orders.getId()); item.put("asnCode", orders.getCode()); item.put("poCode", orders.getPoCode()); - if (!asnOrderItemService.fieldsSave(item)) { throw new CoolException("鏄庣粏淇濆瓨澶辫触锛侊紒"); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java index 4f37cc8..9e977d0 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java @@ -50,7 +50,7 @@ .list(new LambdaQueryWrapper<SerialRuleItem>() .eq(SerialRuleItem::getRuleId, serialRule.getId()) .orderByAsc(SerialRuleItem::getSort)); - if (Objects.isNull(ruleItems)) { + if (Objects.isNull(ruleItems) || ruleItems.isEmpty()) { throw new CoolException("缂栫爜瑙勫垯鏄庣粏涓虹┖锛侊紒"); } @@ -83,8 +83,11 @@ //鍒ゆ柇鏄惁璁剧疆鎴彇闀垮害鍜岃捣濮嬫埅鍙栦綅缃� buffer.append(subStr(format, rule.getLenStr(), rule.getLen())); } else if (rule.getWkType().equals(SerialRuleType.WK_FEILD.wkType)) { - String subStr = subStr(objectToMap(obj).get(rule.getFeildValue()).toString(), rule.getLenStr(), rule.getLen()); - buffer.append(subStr); + String subStr; + if (!Objects.isNull(objectToMap(obj).get(rule.getFeildValue()))) { + subStr = subStr(objectToMap(obj).get(rule.getFeildValue()).toString(), rule.getLenStr(), rule.getLen()); + buffer.append(subStr); + } } }); -- Gitblit v1.9.1