diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/AdvanceDTO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/AdvanceDTO.java index da4f55d58..dcda4ffe1 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/AdvanceDTO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/AdvanceDTO.java @@ -33,4 +33,6 @@ public class AdvanceDTO implements Serializable { private String serviceNum; private String brand; + private Integer hasPackage; + } diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceEntity.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceEntity.java index b4e7a16b2..92c8472e6 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceEntity.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/entity/TrunklineAdvanceEntity.java @@ -134,5 +134,7 @@ public class TrunklineAdvanceEntity extends TenantEntity { @ApiModelProperty(name = "商场收货地址",notes = "") private String consigneeAddress; + @ApiModelProperty(name = "是否有包件",notes = "") + private Integer hasPackage = 1; } diff --git a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/IndicatorsMapper.xml b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/IndicatorsMapper.xml index 3686da80e..5a0533953 100644 --- a/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/IndicatorsMapper.xml +++ b/blade-service/logpm-supervise/src/main/java/com/logpm/supervise/mapper/IndicatorsMapper.xml @@ -5,7 +5,9 @@ select ltad.first_pack_name goodsName, ltad.charge_type chargeType, - count(ltad.id) num, + sum(ltad.quantity) num, sum(ltad.weight) weight, sum(ltad.volume) volume from logpm_trunkline_advance_detail ltad diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml index eb06fcdf1..806934a94 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceMapper.xml @@ -20,6 +20,9 @@ and lta.warehouse_id = #{param.warehouseId} + + and lta.has_package = #{param.hasPackage} + and lta.order_code like concat('%',${param.orderCode},'%') diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java index ccdb02a5e..53d6ee087 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java @@ -61,6 +61,7 @@ public interface IOpenOrderService { R findPayWayByClientId(Long clientId); + R importOrderNoPackage(Long warehouseId, String warehouseName, MultipartFile file) throws IOException; // R findWaybillInfo(String waybillNo); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java index 2d6628267..3e96b1d3c 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java @@ -42,4 +42,7 @@ public interface ITrunklineAdvanceDetailService extends BaseService findListByAdvanceId(Long advanceId); List findOrderPackageCodesByAdvanceId(Long advanceId); + + void deleteByAdvanceId(Long advanceId); + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index eced2e981..427d541d4 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -714,11 +714,10 @@ public class OpenOrderServiceImpl implements IOpenOrderService { public void deletedAdvance(AdvanceDTO advanceDTO) { List advanceIds = advanceDTO.getAdvanceIds(); - List listByIds = advanceService.findListByIds(advanceIds); - for (TrunklineAdvanceEntity advanceEntity:listByIds){ - advanceEntity.setIsDeleted(1); + for (Long advanceId:advanceIds){ + advanceDetailService.deleteByAdvanceId(advanceId); } - advanceService.updateBatchById(listByIds); + advanceService.deleteLogic(advanceIds); } @Override @@ -917,7 +916,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService { advanceEntity.setArea(pacakgeDetailExcelDTO.getArea()); advanceEntity.setOrderType("Label"); advanceEntity.setBrand(pacakgeDetailExcelDTO.getBrand()); - advanceEntity.setTotalNum(0); + advanceEntity.setTotalNum(detailExcelDTOS.size()); String firsts = pacakgeDetailExcelDTO.getFirsts(); advanceEntity.setPackName(firsts); advanceEntity.setDealerCode(pacakgeDetailExcelDTO.getDealerCode()); @@ -1442,6 +1441,92 @@ public class OpenOrderServiceImpl implements IOpenOrderService { return R.data(map); } + @Override + public R importOrderNoPackage(Long warehouseId, String warehouseName, MultipartFile file) throws IOException { + if(Objects.isNull(file)){ + log.warn("##################importOrderNoPackage: 文件不存在"); + return R.fail(405,"文件不存在"); + } + InputStream inputStream = file.getInputStream(); + + List orderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(OrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync(); + Map> listMap = orderNoPackageExcelDTOS.parallelStream().collect(Collectors.groupingBy(a -> a.getOrderCode() + "&" + a.getTrainNumber())); + + listMap.remove("null&null"); + + Set set = listMap.keySet(); + + for (String str : set) { + String[] split = str.split("&"); + String orderCode = split[0]; + String trainNumber = split[1]; + List noPackageExcelDTOList = listMap.get(str); + OrderNoPackageExcelDTO orderNoPackageExcelDTO = noPackageExcelDTOList.get(0); + TrunklineAdvanceEntity trunklineAdvanceEntity = advanceService.findEntityByOrderCodeAndTrainNumber(orderCode, trainNumber); + if(Objects.isNull(trunklineAdvanceEntity)){ + trunklineAdvanceEntity = new TrunklineAdvanceVO(); + trunklineAdvanceEntity.setWarehouseId(warehouseId); + trunklineAdvanceEntity.setWarehouseName(warehouseName); + trunklineAdvanceEntity.setOrderCode(orderCode); + trunklineAdvanceEntity.setBrand(orderNoPackageExcelDTO.getBrand()); + trunklineAdvanceEntity.setTotalNum(Integer.parseInt(orderNoPackageExcelDTO.getNum())); + trunklineAdvanceEntity.setPackName(orderNoPackageExcelDTO.getFirsts()); + trunklineAdvanceEntity.setDealerName(orderNoPackageExcelDTO.getDealerName()); + trunklineAdvanceEntity.setCustomerName(orderNoPackageExcelDTO.getCustomerName()); + trunklineAdvanceEntity.setCustomerPhone(orderNoPackageExcelDTO.getCustomerPhone()); + trunklineAdvanceEntity.setCustomerAddress(orderNoPackageExcelDTO.getCustomerAddress()); + trunklineAdvanceEntity.setConsigneePerson(orderNoPackageExcelDTO.getConsigneePerson()); + trunklineAdvanceEntity.setConsigneeMobile(orderNoPackageExcelDTO.getConsigneeMobile()); + trunklineAdvanceEntity.setConsigneeAddress(orderNoPackageExcelDTO.getConsigneeAddress()); + trunklineAdvanceEntity.setSystemType("线上"); + trunklineAdvanceEntity.setMatingType("1"); + trunklineAdvanceEntity.setWaybillStatus("0"); + trunklineAdvanceEntity.setTrainNumber(orderNoPackageExcelDTO.getTrainNumber()); + trunklineAdvanceEntity.setFreezeStatus("0"); + trunklineAdvanceEntity.setLegacyStatus("0"); + trunklineAdvanceEntity.setHasPackage(0); + advanceService.save(trunklineAdvanceEntity); + } + + List advanceDetailEntities = new ArrayList<>(); + for (OrderNoPackageExcelDTO noPackageExcelDTO : orderNoPackageExcelDTOS) { + + TrunklineAdvanceDetailEntity advanceDetailModel = new TrunklineAdvanceDetailEntity(); + advanceDetailModel.setWarehouseId(warehouseId); + advanceDetailModel.setWarehouseName(warehouseName); + advanceDetailModel.setAdvanceId(trunklineAdvanceEntity.getId()); + advanceDetailModel.setOrderCode(orderCode); + advanceDetailModel.setBrand(noPackageExcelDTO.getBrand()); + advanceDetailModel.setSystemType("线上"); + + advanceDetailModel.setFirstPackName(noPackageExcelDTO.getFirsts()); + String sencods = noPackageExcelDTO.getSencods(); + if(StringUtil.isBlank(sencods)){ + advanceDetailModel.setSecondPackName(noPackageExcelDTO.getFirsts()); + }else{ + advanceDetailModel.setSecondPackName(sencods); + } + String thirds = noPackageExcelDTO.getThirds(); + if(StringUtil.isBlank(thirds)){ + advanceDetailModel.setThirdPackName(noPackageExcelDTO.getFirsts()); + }else{ + advanceDetailModel.setThirdPackName(thirds); + } + advanceDetailModel.setQuantity(Integer.parseInt(noPackageExcelDTO.getNum())); + advanceDetailModel.setServiceNum(noPackageExcelDTO.getServiceNum()); + advanceDetailModel.setPackageStatus("0"); + advanceDetailModel.setFirstPackName(noPackageExcelDTO.getFirsts()); + advanceDetailModel.setSecondPackName(noPackageExcelDTO.getSencods()); + advanceDetailModel.setThirdPackName(noPackageExcelDTO.getThirds()); + advanceDetailEntities.add(advanceDetailModel); + } + advanceDetailService.saveBatch(advanceDetailEntities); + + } + + return R.success("导入成功"); + } + private String verifyData(OpenOrderDTO openOrderDTO, WarehouseWaybillEntity waybillEntity) { log.info("###################verifyData: 验证改单数据"); StringBuilder stringBuilder = new StringBuilder(); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java index 0533e1a20..e0ea94919 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java @@ -185,4 +185,12 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl findOrderPackageCodesByAdvanceId(Long advanceId) { return baseMapper.findOrderPackageCodesByAdvanceId(advanceId); } + + @Override + public void deleteByAdvanceId(Long advanceId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("advance_id",advanceId) + .eq("is_deleted",0); + baseMapper.delete(queryWrapper); + } }