From 6732a988fe843cf59f12aae1460fc97fda5408dd Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 08 五月 2025 19:59:10 +0800 Subject: [PATCH] 新增asn单,修改asn单,添加动态字段修改功能 --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 98 +++++++++++++++++++++++++++++++----------------- 1 files changed, 63 insertions(+), 35 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java index a95800c..4538f27 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java @@ -172,12 +172,18 @@ List<AsnOrderItem> asnOrderItem = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>() .eq(AsnOrderItem::getTrackCode, barcode)); - if (Objects.isNull(asnOrderItem)) { throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); } - - return getAsnOrderItem(asnOrderItem); + List<AsnOrderItem> items = new ArrayList<>(); + for (AsnOrderItem record : asnOrderItem) { + if (!Objects.isNull(record.getFieldsIndex())) { + Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex()); + record.setExtendFields(fields); + } + items.add(record); + } + return getAsnOrderItem(items); } /** @@ -268,21 +274,29 @@ .setStockUnit(dto.getStockUnit()) .setProdTime(dto.getProdTime()); - if (!Objects.isNull(rcpt)) { - try { - if (Objects.isNull(rcpt.get("fieldsindex")) || StringUtils.isBlank(rcpt.get("fieldsindex").toString())) { - //鑾峰彇16浣島uid -// String uuid16 = Cools.md5(dto.getBarcode()); - String uuid16 = Cools.md5(dto.getMatnr() + dto.getSplrBatch()); - rcpt.put("index", uuid16); - orderItem.setFieldsIndex(uuid16); - } - //淇濆瓨鎴栨洿鏂版墿灞曞瓧娈� - FieldsUtils.updateFieldsValue(rcpt); - } catch (Exception e) { - throw new RuntimeException(e); - } - } +// if (!Objects.isNull(rcpt)) { +// try { +// if (Objects.isNull(rcpt.get("fieldsindex")) || StringUtils.isBlank(rcpt.get("fieldsindex").toString())) { +// StringBuffer sb = new StringBuffer(); +// if (!dto.getExtendFields().isEmpty()) { +// dto.getExtendFields().forEach(field -> { +// field.keySet().forEach(key -> { +// sb.append(field.get(key)); +// }); +// }); +// } +// sb.append(dto.getAsnCode() + dto.getMatnr() + dto.getSplrBatch() + orderItem.getIsptResult$()); +// //鑾峰彇16浣島uid +// String uuid16 = Cools.md5Chinese(sb.toString()); +// rcpt.put("index", uuid16); +// orderItem.setFieldsIndex(uuid16); +// } +// //淇濆瓨鎴栨洿鏂版墿灞曞瓧娈� +// FieldsUtils.updateFieldsValue(rcpt); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// } if (asnOrderItemMapper.updateById(orderItem) < 1) { throw new CoolException("閫氱煡鍗曟槑缁嗘暟閲忎慨鏀瑰け璐ワ紒锛�"); @@ -378,15 +392,7 @@ if (Objects.isNull(params.getAsnCode())) { throw new CoolException("閫氱煡鍗曚笉鑳戒负绌猴紒锛�"); } - List<AsnOrderItem> asnOrderItem = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>() - .eq(AsnOrderItem::getAsnCode, params.getAsnCode()) - .eq(!Objects.isNull(params.getTrackCode()), AsnOrderItem::getTrackCode, params.getTrackCode()) - .eq(!Cools.isEmpty(params.getMatnrCode()), AsnOrderItem::getMatnrCode, params.getMatnrCode()) - ); - if (Objects.isNull(asnOrderItem)) { - throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); - } List<Short> shorts = Arrays.asList(AsnExceStatus.ASN_EXCE_STATUS_TASK_CANCEL.val, AsnExceStatus.ASN_EXCE_STATUS_TASK_CLOSE .val, AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val); AsnOrder order = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>() @@ -396,7 +402,26 @@ throw new CoolException("璇锋鏌ヨ鍗曠姸鎬佹槸鍚﹀凡瀹屾垚鎴栧凡鍙栨秷锛侊紒"); } - return getAsnOrderItem(asnOrderItem); + List<AsnOrderItem> asnOrderItem = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>() + .eq(AsnOrderItem::getAsnCode, params.getAsnCode()) + .eq(!Objects.isNull(params.getTrackCode()), AsnOrderItem::getTrackCode, params.getTrackCode()) + .eq(!Cools.isEmpty(params.getMatnrCode()), AsnOrderItem::getMatnrCode, params.getMatnrCode()) + ); + + if (Objects.isNull(asnOrderItem)) { + throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); + } + + List<AsnOrderItem> items = new ArrayList<>(); + for (AsnOrderItem record : asnOrderItem) { + if (!Objects.isNull(record.getFieldsIndex())) { + Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex()); + record.setExtendFields(fields); + } + items.add(record); + } + + return getAsnOrderItem(items); } @@ -845,20 +870,23 @@ // throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); // } //鑾峰彇缁勬嫋鏈敓鎴愪换鍔$殑缁勬嫋妗� - List<Short> asList = Arrays.asList(Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val), Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val)); + List<Short> asList = Arrays.asList(Short.valueOf(PakinIOStatus.PAKIN_IO_STATUS_DONE.val)); Short flagDefect = 0; if (!Objects.isNull(params.get("type")) && params.get("type").equals("defective")) { flagDefect = 1; } - WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>() + List<WaitPakin> waitPakin = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>() .eq(WaitPakin::getBarcode, params.get("barcode").toString()) // .eq(WaitPakin::getFlagDefect, flagDefect) .in(WaitPakin::getIoStatus, asList)); - if (Cools.isEmpty(waitPakin)) { - throw new CoolException("鎵樼洏鍙敤"); - } else { - throw new CoolException("鎵樼洏涓嶅彲鐢�"); + if (!Cools.isEmpty(waitPakin)) { + throw new CoolException("鎵樼洏涓嶅彲鐢�,鍦ㄧ粍鎵樹腑宸插瓨鍦�"); } + List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, params.get("barcode").toString())); + if (!Cools.isEmpty(locs)) { + throw new CoolException("鎵樼洏涓嶅彲鐢紝鍦ㄥ簱浣嶄腑宸插瓨鍦�"); + } + return R.ok("鎵樼洏鍙敤"); } /** @@ -999,10 +1027,10 @@ .setAnfme(asnOrderItem.getAnfme()) .setPurQty(asnOrderItem.getPurQty()) .setSplrBatch(asnOrderItem.getSplrBatch()) + .setExtendFields(asnOrderItem.getExtendFields()) .setMatnr(asnOrderItem.getMatnrCode()) .setInspect(asnOrderItem.getIsptResult$()) //璐ㄦ缁撴灉 - .setPlatItemId(asnOrderItem.getPlatItemId()) - ; + .setPlatItemId(asnOrderItem.getPlatItemId()); Matnr matnr = matnrMapper.selectById(asnOrderItem.getMatnrId()); if (Objects.isNull(matnr)) { -- Gitblit v1.9.1