From f5d5822314af90cba1b38037542bc3174ca732e3 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Fri, 14 Jul 2023 17:26:15 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=A2=A6=E5=A4=A9=E6=8E=A8=E9=80=81=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=95=B0=E6=8D=AE=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../snm/entity/MtFactoryOrderMain.java | 4 + .../factory/snm/entity/MtPackageInfo.java | 4 + .../impl/MtFactoryDataServiceImpl.java | 157 ++++++++++-------- 3 files changed, 100 insertions(+), 65 deletions(-) diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtFactoryOrderMain.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtFactoryOrderMain.java index 7f778932e..30794eb89 100644 --- a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtFactoryOrderMain.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtFactoryOrderMain.java @@ -30,6 +30,10 @@ public class MtFactoryOrderMain extends BaseEntity { @ApiModelProperty(value = "仓库类型") private String warehouseType; + @JsonProperty("单据类型") + @ApiModelProperty(value = "单据类型") + private String orderType; + @JsonProperty("送货车号") @ApiModelProperty(value = "送货车号") private String sendCarNumber; diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtPackageInfo.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtPackageInfo.java index 17a4a53eb..e42a12c7d 100644 --- a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtPackageInfo.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/snm/entity/MtPackageInfo.java @@ -23,6 +23,10 @@ public class MtPackageInfo extends BaseEntity { @ApiModelProperty(value = "出库时间") private String outboundDate; + @JsonProperty("数量") + @ApiModelProperty(value = "数量") + private Integer number; + @JsonProperty("包装编号") @ApiModelProperty(value = "包装编号") private String packageCode; diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java index 565bd4941..1a70744bd 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java @@ -64,81 +64,108 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService { @Override public R dealWithData(MtFactoryDataDTO mtFactoryDataDTO) { log.info("#############dealWithData: 处理梦天工厂数据 开始"); - String invoiceOrderCode = mtFactoryDataDTO.getInvoiceOrderCode();//发货单编码 - //先判断该发货单编码是否已经存在 - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("invoice_order_code",invoiceOrderCode); - Long mainId = null; - MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getOne(queryWrapper); - if(!Objects.isNull(mtFactoryOrderMain)){ - log.warn("#############dealWithData: 数据已存在 invoiceOrderCode={}",invoiceOrderCode); - return R.fail(405,"发货单已存在"); - } - - //先取出所有发车单下面的订单 - List orderList = mtFactoryDataDTO.getOrderList();//所有订单数据 - for(MtFactoryOrderDTO mtFactoryOrderDTO:orderList){ - String orderCode = mtFactoryOrderDTO.getOrderCode();//订单自编码 - //先取出订单下面的包件进行判断是否存在 - List packageInfos = mtFactoryOrderDTO.getPackageInfos(); - //查询出该订单自编码下面的目前存在的所有包件 - QueryWrapper qw = new QueryWrapper<>(); - qw.eq("order_code",orderCode); - List existPackages = mtPackageInfoService.list(qw); - for(MtPackageInfo mtPackageInfo:existPackages){ - String packageCode = mtPackageInfo.getPackageCode(); + String orderType = mtFactoryDataDTO.getOrderType();//单据类型 + if("反冲单".equals(orderType)){ + //如果是反冲单 就去把对应的包件信息逻辑删除 + List orderList = mtFactoryDataDTO.getOrderList(); + List updateList = new ArrayList<>(); + for (MtFactoryOrderDTO mtFactoryOrderDTO:orderList){ + String orderCode = mtFactoryOrderDTO.getOrderCode(); + List packageInfos = mtFactoryOrderDTO.getPackageInfos(); for (MtPackageInfoDTO mtPackageInfoDTO:packageInfos){ - String pc = mtPackageInfoDTO.getPackageCode(); - if(packageCode.equals(pc)){ - packageInfos.remove(mtPackageInfoDTO); - break; + //根据包件码和订单自编码查询是否存在该包件 + String packageCode = mtPackageInfoDTO.getPackageCode(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_code",orderCode) + .eq("package_code",packageCode) + .eq("is_deleted",0); + + MtPackageInfo mtPackageInfo = mtPackageInfoService.getOne(queryWrapper); + if(!Objects.isNull(mtPackageInfo)){ + mtPackageInfo.setIsDeleted(1); + updateList.add(mtPackageInfo); } } } - //判断是否有新的包件 - if(packageInfos.size() == 0){ - //如果没有新增包件就直接下一条数据 - log.info("##################dealWithData: 没有新增包件,所以当前数据不保存 invoiceOrderCode={}",invoiceOrderCode); - continue; + mtPackageInfoService.updateBatchById(updateList); + return R.success("SUCCESS"); + }else { + String invoiceOrderCode = mtFactoryDataDTO.getInvoiceOrderCode();//发货单编码 + //先判断该发货单编码是否已经存在 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("invoice_order_code",invoiceOrderCode); + Long mainId = null; + MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getOne(queryWrapper); + if(!Objects.isNull(mtFactoryOrderMain)){ + log.warn("#############dealWithData: 数据已存在 invoiceOrderCode={}",invoiceOrderCode); + return R.fail(405,"发货单已存在"); } - //如果有新增包件就去存入订单发车单,和订单信息 - if(Objects.isNull(mtFactoryOrderMain)){ - mtFactoryOrderMain = new MtFactoryOrderMain(); - BeanUtil.copyProperties(mtFactoryDataDTO,mtFactoryOrderMain); - boolean saveMain = mtFactoryOrderMainService.save(mtFactoryOrderMain); - if(saveMain){ - mainId = mtFactoryOrderMain.getId(); + + //先取出所有发车单下面的订单 + List orderList = mtFactoryDataDTO.getOrderList();//所有订单数据 + for(MtFactoryOrderDTO mtFactoryOrderDTO:orderList){ + String orderCode = mtFactoryOrderDTO.getOrderCode();//订单自编码 + //先取出订单下面的包件进行判断是否存在 + List packageInfos = mtFactoryOrderDTO.getPackageInfos(); + //查询出该订单自编码下面的目前存在的所有包件 + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("order_code",orderCode); + List existPackages = mtPackageInfoService.list(qw); + for(MtPackageInfo mtPackageInfo:existPackages){ + String packageCode = mtPackageInfo.getPackageCode(); + for (MtPackageInfoDTO mtPackageInfoDTO:packageInfos){ + String pc = mtPackageInfoDTO.getPackageCode(); + if(packageCode.equals(pc)){ + packageInfos.remove(mtPackageInfoDTO); + break; + } + } + } + //判断是否有新的包件 + if(packageInfos.size() == 0){ + //如果没有新增包件就直接下一条数据 + log.info("##################dealWithData: 没有新增包件,所以当前数据不保存 invoiceOrderCode={}",invoiceOrderCode); + continue; + } + //如果有新增包件就去存入订单发车单,和订单信息 + if(Objects.isNull(mtFactoryOrderMain)){ + mtFactoryOrderMain = new MtFactoryOrderMain(); + BeanUtil.copyProperties(mtFactoryDataDTO,mtFactoryOrderMain); + boolean saveMain = mtFactoryOrderMainService.save(mtFactoryOrderMain); + if(saveMain){ + mainId = mtFactoryOrderMain.getId(); + }else{ + log.warn("##################dealWithData: 保存头信息失败invoiceOrderCode={} ",invoiceOrderCode); + throw new CustomerException(405,"保存数据失败"); + } + } + //保存订单信息 + MtFactoryOrder mtFactoryOrder = new MtFactoryOrder(); + BeanUtil.copyProperties(mtFactoryOrderDTO,mtFactoryOrder); + mtFactoryOrder.setMainId(mainId); + boolean saveOrder = mtFactoryOrderService.save(mtFactoryOrder); + Long orderId = mtFactoryOrder.getId(); + if(saveOrder){ + List list = new ArrayList<>(); + for(MtPackageInfoDTO mtPackageInfoDTO:packageInfos){ + MtPackageInfo mtPackageInfo = new MtPackageInfo(); + BeanUtil.copyProperties(mtPackageInfoDTO,mtPackageInfo); + mtPackageInfo.setOrderId(orderId); + mtPackageInfo.setOrderCode(orderCode); + list.add(mtPackageInfo); + } + //保存包件信息 + boolean b = mtPackageInfoService.saveBatch(list); }else{ - log.warn("##################dealWithData: 保存头信息失败invoiceOrderCode={} ",invoiceOrderCode); + log.warn("##################dealWithData: 保存订单信息失败orderCode={} ",orderCode); throw new CustomerException(405,"保存数据失败"); } } - //保存订单信息 - MtFactoryOrder mtFactoryOrder = new MtFactoryOrder(); - BeanUtil.copyProperties(mtFactoryOrderDTO,mtFactoryOrder); - mtFactoryOrder.setMainId(mainId); - boolean saveOrder = mtFactoryOrderService.save(mtFactoryOrder); - Long orderId = mtFactoryOrder.getId(); - if(saveOrder){ - List list = new ArrayList<>(); - for(MtPackageInfoDTO mtPackageInfoDTO:packageInfos){ - MtPackageInfo mtPackageInfo = new MtPackageInfo(); - BeanUtil.copyProperties(mtPackageInfoDTO,mtPackageInfo); - mtPackageInfo.setOrderId(orderId); - mtPackageInfo.setOrderCode(orderCode); - list.add(mtPackageInfo); - } - //保存包件信息 - boolean b = mtPackageInfoService.saveBatch(list); - }else{ - log.warn("##################dealWithData: 保存订单信息失败orderCode={} ",orderCode); - throw new CustomerException(405,"保存数据失败"); - } - } - Map map = new HashMap<>(); - map.put("mainId",mainId); + Map map = new HashMap<>(); + map.put("mainId",mainId); - return R.data(map); + return R.data(map); + } } @Override