From 4b4ee0952cf886a5a2baf160a7aea88201979aed Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 06 五月 2025 17:17:13 +0800 Subject: [PATCH] PO单导入功能 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java | 28 +++++++++++++++++++++------- 1 files changed, 21 insertions(+), 7 deletions(-) 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 9ab4f72..9255348 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 @@ -20,6 +20,7 @@ import com.vincent.rsf.server.manager.entity.Companys; import com.vincent.rsf.server.manager.entity.Matnr; import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate; +import com.vincent.rsf.server.manager.enums.CompanysType; import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper; import com.vincent.rsf.server.manager.entity.AsnOrderItem; import com.vincent.rsf.server.manager.service.AsnOrderItemService; @@ -127,13 +128,15 @@ sbFaild.append(orderTemplate.getMatnrCode()).append("鐗╂枡涓嶅瓨鍦�"); continue; } + String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, matnr); orderItem.setAsnId(order.getId()) .setAsnCode(order.getCode()) .setSplrBatch(orderTemplate.getSplrBatch()) + .setPlatItemId(orderTemplate.getPlatItemId()) .setAnfme(Double.parseDouble(orderTemplate.getAnfme())) .setQty(Double.parseDouble(orderTemplate.getQty())) - .setBarcode(orderTemplate.getBarcode()) - .setTrackCode(orderTemplate.getTrackCode()) + .setTrackCode(StringUtils.isBlank(orderTemplate.getTrackCode()) ? trackCode : orderTemplate.getTrackCode()) + .setBarcode(StringUtils.isBlank(orderTemplate.getBarcode()) ? trackCode : orderTemplate.getBarcode()) .setPoCode(orderTemplate.getPoCode()) .setPurUnit(orderTemplate.getPurUnit()) .setCreateBy(loginUserId) @@ -146,18 +149,21 @@ .setMatnrId(matnr.getId()) .setStockUnit(matnr.getUnit()); if (!Objects.isNull(orderTemplate.getSplrCode())) { - Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, orderTemplate.getSplrCode())); + Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>() + .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val) + .eq(Companys::getCode, orderTemplate.getSplrCode())); if (!Objects.isNull(companys)) { orderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName()); } else { - orderItem.setSplrCode(orderTemplate.getSplrCode()).setSplrName(orderTemplate.getSplrName() + "(渚涘簲鍟嗕笉瀛樺湪锛侊紒)"); + sbFaild.append("渚涘簲鍟�:" + orderTemplate.getSplrCode()).append("涓嶅瓨鍦�"); + continue; } } else { continue; } - items.add(orderItem); - if (!asnOrderItemService.saveBatch(items)) { + + if (!asnOrderItemService.save(orderItem)) { throw new CoolException("鍗曟嵁鏄庣粏淇濆瓨澶辫触锛侊紒"); } } @@ -173,7 +179,7 @@ } } - return R.ok("鎿嶄綔鎴愬姛," + sbFaild.toString()); + return R.ok("瀵煎叆鎴愬姛锛�" + sbFaild.toString()); } /** @@ -193,6 +199,14 @@ String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, asnOrderItem); asnOrderItem.setTrackCode(ruleCode).setBarcode(ruleCode); } + if (StringUtils.isNoneBlank(asnOrderItem.getSplrCode())) { + Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>() + .eq(Companys::getId, asnOrderItem.getSplrCode()) + .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val)); + if (!Objects.isNull(companys)) { + asnOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName()); + } + } if (Objects.isNull(asnOrderItem.getAnfme()) || Double.compare(asnOrderItem.getAnfme(), 0.0) <= 0) { throw new CoolException("璁″垝鏁颁笉鑳戒负绌猴紒锛�"); } -- Gitblit v1.9.1