From e26a08269c24077cdac7ca3992fc068edd5971aa Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 12 五月 2025 15:10:30 +0800 Subject: [PATCH] #AGV站点绑定 --- rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java | 132 ++++++++++++++++++++++++-------------------- 1 files changed, 72 insertions(+), 60 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 595a7a9..70094d9 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 @@ -2,7 +2,6 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; @@ -172,12 +171,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 +273,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 +391,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 +401,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); } @@ -587,15 +611,15 @@ .setId(isptItem.getId()) .setMatnrCode(isptItem.getMatnrCode()) .setMaktx(isptItem.getMaktx()) - .setDisQty(isptItem.getDisQty()) +// .setDisQty(isptItem.getDisQty()) .setDlyQty(isptItem.getDlyQty()) .setRcptQty(isptItem.getRcptQty()) .setIsptResult(isptItem.getIsptResult()) .setSplrBatch(isptItem.getSplrBatch()) .setSplrName(isptItem.getSplrName()) .setPicPath(isptItem.getPicPath()) - .setMemo(isptItem.getMemo()) - .setSafeQty(isptItem.getSafeQty()); + .setMemo(isptItem.getMemo()); +// .setSafeQty(isptItem.getSafeQty()); dtos.add(objDto); }); return R.ok(dtos); @@ -605,16 +629,17 @@ * 蹇�熻川妫� * * @param params + * @param loginUserId * @return */ @Override - public R checkUpdate(List<QlyIsptItem> params) { + public R checkUpdate(List<QlyIsptItem> params, Long loginUserId) { if (Objects.isNull(params) || params.isEmpty()) { throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } IsptItemsParams itemsParams = new IsptItemsParams(); itemsParams.setIsptItem(params).setType("0"); - if (qlyIsptItemService.batchUpdate(itemsParams)) { + if (qlyIsptItemService.batchUpdate(itemsParams, loginUserId)) { return R.ok(); } else { return R.error("淇濆瓨澶辫触锛侊紒"); @@ -631,35 +656,22 @@ @Override public R operateToStock(OpStockParams params) { if (org.apache.commons.lang3.StringUtils.isBlank(params.getBarcode())) { - throw new CoolException("鎷栫洏鐮佷笉鑳戒负绌猴紒锛�"); + throw new CoolException("鎵樼洏鐮佷笉鑳戒负绌猴紒锛�"); } - if (StringUtils.isBlank(params.getAsnCode())) { - throw new CoolException("鍗曟嵁涓嶈兘涓虹┖锛侊紒"); + WaitPakin waitPakin = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>() + .eq(WaitPakin::getBarcode, params.getBarcode()) + .eq(WaitPakin::getIoStatus,PakinIOStatus.PAKIN_IO_STATUS_DONE.val) + ); + if (Cools.isEmpty(waitPakin)){ + throw new CoolException("鏈壘鍒扮粍鎵樻暟鎹�,璇锋鏌ョ姸鎬�"); } - if (StringUtils.isBlank(params.getMatnrCode())) { - throw new CoolException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒"); + List<WaitPakinItem> waitPakinItems = waitPakinItemService.list(new LambdaQueryWrapper<WaitPakinItem>().eq(WaitPakinItem::getPakinId, waitPakin.getId())); + if (Cools.isEmpty(waitPakinItems)){ + throw new CoolException("鏁版嵁閿欒锛屾湭鎵惧埌缁勬墭鏄庣粏"); } - AsnOrder asnOrders = asnOrderMapper.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getCode, params.getAsnCode())); - if (Objects.isNull(asnOrders)) { - throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); - } - List<Loc> locs = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getBarcode, params.getBarcode())); - if (!locs.isEmpty()) { - throw new CoolException("鎷栫洏宸蹭娇鐢�"); - } - List<WaitPakin> waitPakins = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, params.getBarcode())); - if (!waitPakins.isEmpty()) { - throw new CoolException("鎷栫洏宸蹭娇鐢�!!"); - } - AsnOrderItem orderItems = asnOrderItemMapper.selectOne(new LambdaQueryWrapper<AsnOrderItem>() - .eq(AsnOrderItem::getAsnId, asnOrders.getId()) - .eq(AsnOrderItem::getMatnrCode, params.getMatnrCode())); - if (Objects.isNull(orderItems)) { - return R.ok(null); - } - orderItems.setBarcode(params.getBarcode()); - return R.ok(orderItems); + + return R.ok(waitPakinItems); } /** @@ -1002,10 +1014,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