diff --git a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java index df99ecd9b..fe3765f17 100644 --- a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java +++ b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/feign/IBasicMaterialClient.java @@ -89,4 +89,8 @@ public interface IBasicMaterialClient { @GetMapping(API_PREFIX+"/findEntityByPid") List findEntityByPid(@RequestParam Long pid); + + @GetMapping(API_PREFIX+"/findAllList") + List findAllList(); + } diff --git a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/dto/MerchantStatisticsDTO.java b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/dto/MerchantStatisticsDTO.java index fc6c153f3..9b009bd14 100644 --- a/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/dto/MerchantStatisticsDTO.java +++ b/blade-service-api/logpm-statisticsdata-api/src/main/java/com/logpm/statistics/dto/MerchantStatisticsDTO.java @@ -36,7 +36,10 @@ public class MerchantStatisticsDTO implements Serializable { private Integer syncFeeSstatus; private Integer signStatus; private Integer isAftersales; + private Integer balanceStatus; + private Integer abnormalBalanceStatus; + private String balanceOrderNo; private String waybillNo; private String orderCode; private String departureWarehouseName; diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/AdvancenceTotalNumberVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/AdvancenceTotalNumberVO.java new file mode 100644 index 000000000..e5b51b808 --- /dev/null +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/AdvancenceTotalNumberVO.java @@ -0,0 +1,15 @@ +package com.logpm.trunkline.vo; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +public class AdvancenceTotalNumberVO implements Serializable { + + private Integer totalNum; + private BigDecimal totalWeight; + private BigDecimal totalVolume; + +} diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/OpenOrderVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/OpenOrderVO.java index 60b9dbf7c..c7eda0dab 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/OpenOrderVO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/OpenOrderVO.java @@ -4,6 +4,7 @@ import lombok.Data; import org.springblade.system.entity.DictBiz; import java.io.Serializable; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @@ -60,5 +61,7 @@ public class OpenOrderVO implements Serializable { private String openOrderDate;//开单时间 private String openOrderUserName;//开单人 private Integer totalNum; + private BigDecimal totalWeight; + private BigDecimal totalVolume; } diff --git a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java index 3015cc634..606f31cc1 100644 --- a/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java +++ b/blade-service/logpm-basic/src/main/java/com/logpm/basic/feign/BasicMaterialClient.java @@ -130,4 +130,9 @@ public class BasicMaterialClient implements IBasicMaterialClient { return basicMaterialService.list(Wrappers.query().lambda().eq(BasicMaterialEntity::getPid,pid)); } + @Override + public List findAllList() { + return basicMaterialService.list(); + } + } diff --git a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/interceptor/LocalServerLoginAccountsInterceptor.java b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/interceptor/LocalServerLoginAccountsInterceptor.java index 1fb696878..89915f9cf 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/interceptor/LocalServerLoginAccountsInterceptor.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/interceptor/LocalServerLoginAccountsInterceptor.java @@ -64,7 +64,7 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt // 修改或添加header // 发送登录请求 - log.info("##########preHandle: request={}", request); + log.info("##########preHandle: request={}", data); wrappedRequest.addHeader("Blade-Auth", "bearer "+data.getString("access_token")); HttpHeaders httpHeaders = new HttpHeaders(); diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java index ea46e7d34..c9213cff5 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/DealWithDataHandler.java @@ -44,6 +44,7 @@ public class DealWithDataHandler { // 如果手动ACK,消息会被监听消费,但是消息在队列中依旧存在,如果 未配置 acknowledge-mode 默认是会在消费完毕后自动ACK掉 OrderStatusDTO orderStatusDTO = (OrderStatusDTO) map.get("messageData"); + log.info("############dealWithDataHandler: 处理在库订单数据到新系统 {}",orderStatusDTO); String status = orderStatusDTO.getStatus(); String unitNo = orderStatusDTO.getUnitNo(); String operationTime = orderStatusDTO.getOperationTime(); @@ -55,7 +56,7 @@ public class DealWithDataHandler { sourceName = "汇通"; } log.info("##################dealWithDataHandler: 处理在库订单数据到新系统 来源:{} 品牌:{}",sourceName,orderStatusDTO.getBrandName()); - if("汇通".equals(orderStatusDTO.getSourceName())){ + if("汇通".equals(sourceName)){ factoryCommonService.extracted(status, unitNo, currentWarehouseId, operationTime, trayId); }else{ log.warn(">>>> 不是汇通的数据 不进入汇通入库数据"); diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml index da77bee20..a447a6ce3 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsBalanceOrderInfoMapper.xml @@ -6,6 +6,23 @@ select * from logpm_statistics_balance_order_info where 1=1 + + and LOCATE(#{param.waybillNo},waybill_no) > 0 + + + and LOCATE(#{param.orderCode},order_code) > 0 + + + and LOCATE(#{param.balanceOrderNo},balance_order_no) > 0 + + + and balance_status = #{param.balanceStatus} + + + and abnormal_balance_status = #{param.abnormalBalanceStatus} + + + diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml index c3552b750..15ee38b14 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsOrderInfoMapper.xml @@ -248,7 +248,7 @@ lsoi.brand brand, lsoi.waybill_id waybillId, lsoi.waybill_no waybillNo, - lsoi.order_code orderNo, + lsoi.order_code orderCode, lsoi.type_service typeService, lww.shipper shipper, lww.shipper_name shipperPerson, @@ -281,7 +281,7 @@ left join logpm_warehouse_waybill lww on lww.id = lsoi.waybill_id where 1=1 - and lsoi.mall_statistics_order_id = #{reconciliationOrderId} + and lsoi.reconciliation_order_id = #{reconciliationOrderId} group by lsoi.id @@ -475,7 +475,7 @@ select id from logpm_statistics_order_info lsoi where 1=1 - and lsoi.mall_statistics_order_id in + and lsoi.reconciliation_order_id in #{item} diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java index 8d117da8c..842c081b5 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.java @@ -19,5 +19,5 @@ public interface StatisticsReconciliationOrderInfoMapper extends BaseMapper reconciliationListExport(IPage page, @Param("param") MerchantStatisticsDTO merchantStatisticsDTO); + List reconciliationListExport(@Param("param") MerchantStatisticsDTO merchantStatisticsDTO); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml index 58ffb11ff..cc74882a3 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/mapper/StatisticsReconciliationOrderInfoMapper.xml @@ -7,6 +7,7 @@ select * from logpm_statistics_reconciliation_order_info where 1=1 + and is_deleted = 0 and LOCATE(#{param.orderCode},order_code) > 0 @@ -70,9 +71,9 @@ case when is_aftersale=0 then '否' when is_aftersale=1 then '是' else '未知' end isAftersale, - aftersales_order aftersalesOrder, + aftersale_order aftersaleOrder, aftersales_fee aftersalesFee, - total_fee totalFee, + real_total_fee totalFee, create_user_name createUserName, case when is_changes=0 then '否' when is_changes=1 then '是' @@ -82,6 +83,7 @@ changes_remark changesRemark from logpm_statistics_reconciliation_order_info where 1=1 + and is_deleted = 0 and LOCATE(#{param.orderCode},order_code) > 0 diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java index 35fb76b68..55b20dc31 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsOrderInfoServiceImpl.java @@ -286,6 +286,12 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl orderInfoIdList = records.stream().map(StatisticsOrderInfoVO::getOrderInfoId).collect(Collectors.toList()); - List orderPackageInfoList = baseMapper.findPackageListByOrderIdsGroupById(orderInfoIdList); - //把orderPackageInfoList转化成以orderInfoId为key的Map - Map orderPackageInfoMap = orderPackageInfoList.stream() - .collect(Collectors.toMap(StatisticsPackageFeeInfoVO::getOrderInfoId, statisticsPackageFeeInfoVO -> statisticsPackageFeeInfoVO)); + if(CollUtil.isNotEmpty(orderInfoIdList)){ + List orderPackageInfoList = baseMapper.findPackageListByOrderIdsGroupById(orderInfoIdList); + //把orderPackageInfoList转化成以orderInfoId为key的Map + Map orderPackageInfoMap = orderPackageInfoList.stream() + .collect(Collectors.toMap(StatisticsPackageFeeInfoVO::getOrderInfoId, statisticsPackageFeeInfoVO -> statisticsPackageFeeInfoVO)); + + records.forEach(statisticsOrderInfoVO -> { + Long orderInfoId = statisticsOrderInfoVO.getOrderInfoId(); + StatisticsPackageFeeInfoVO statisticsPackageFeeInfoVO = orderPackageInfoMap.get(orderInfoId); + BeanUtil.copy(statisticsPackageFeeInfoVO, statisticsOrderInfoVO); + }); + } - records.forEach(statisticsOrderInfoVO -> { - Long orderInfoId = statisticsOrderInfoVO.getOrderInfoId(); - StatisticsPackageFeeInfoVO statisticsPackageFeeInfoVO = orderPackageInfoMap.get(orderInfoId); - BeanUtil.copy(statisticsPackageFeeInfoVO, statisticsOrderInfoVO); - }); return records; } @@ -511,6 +520,8 @@ public class StatisticsOrderInfoServiceImpl extends BaseServiceImpl orderInfoIds = baseMapper.findOrderInfoIdListByReconciliationOrderIds(reconciliationOrderIdList); - - List orderInfoEntities = baseMapper.selectBatchIds(orderInfoIds); - if(CollUtil.isEmpty(orderInfoEntities)){ - log.warn("############calculateReconcilitionOrder: 未找到对应订单信息"); - throw new CustomerException(405,"未找到对应订单信息"); - } + if(CollUtil.isNotEmpty(orderInfoIds)){ + List orderInfoEntities = baseMapper.selectBatchIds(orderInfoIds); + if(CollUtil.isEmpty(orderInfoEntities)){ + log.warn("############calculateReconcilitionOrder: 未找到对应订单信息"); + throw new CustomerException(405,"未找到对应订单信息"); + } - for (StatisticsOrderInfoEntity orderInfoEntity : orderInfoEntities) { - Integer syncFeeStatus = orderInfoEntity.getSyncFeeStatus(); - Long orderId = orderInfoEntity.getId(); - String orderCode = orderInfoEntity.getOrderCode(); - if(syncFeeStatus == 0){ - log.warn("############calculateReconcilitionOrder: 订单还未同步数据 orderId={}",orderId); - throw new CustomerException(405,"订单["+orderCode+"]还未同步数据"); + for (StatisticsOrderInfoEntity orderInfoEntity : orderInfoEntities) { + Integer syncFeeStatus = orderInfoEntity.getSyncFeeStatus(); + Long orderId = orderInfoEntity.getId(); + String orderCode = orderInfoEntity.getOrderCode(); + if(syncFeeStatus == 0){ + log.warn("############calculateReconcilitionOrder: 订单还未同步数据 orderId={}",orderId); + throw new CustomerException(405,"订单["+orderCode+"]还未同步数据"); + } } - } - //判断orderInfoEntities中所有元素通过consigneeId进行分组 - Map> groupByConsigneeId = orderInfoEntities.stream().collect(Collectors.groupingBy(StatisticsOrderInfoEntity::getConsigneeId)); - int consigneeSize = groupByConsigneeId.keySet().size(); - if(consigneeSize > 1){ - log.warn("############calculateReconcilitionOrder: 订单不属于同一个商家"); - throw new CustomerException(405,"订单不属于同一个商家"); - } - Map> groupByDestinationWarehouseId = orderInfoEntities.stream().collect(Collectors.groupingBy(StatisticsOrderInfoEntity::getDestinationWarehouseId)); - int destinationWarehouseIdSize = groupByDestinationWarehouseId.keySet().size(); - if(destinationWarehouseIdSize > 1){ - log.warn("############calculateReconcilitionOrder: 订单不属于同一个目的仓"); - throw new CustomerException(405,"订单不属于同一个目的仓"); + //判断orderInfoEntities中所有元素通过consigneeId进行分组 + Map> groupByConsigneeId = orderInfoEntities.stream().collect(Collectors.groupingBy(StatisticsOrderInfoEntity::getConsigneeId)); + int consigneeSize = groupByConsigneeId.keySet().size(); + if(consigneeSize > 1){ + log.warn("############calculateReconcilitionOrder: 订单不属于同一个商家"); + throw new CustomerException(405,"订单不属于同一个商家"); + } + Map> groupByDestinationWarehouseId = orderInfoEntities.stream().collect(Collectors.groupingBy(StatisticsOrderInfoEntity::getDestinationWarehouseId)); + int destinationWarehouseIdSize = groupByDestinationWarehouseId.keySet().size(); + if(destinationWarehouseIdSize > 1){ + log.warn("############calculateReconcilitionOrder: 订单不属于同一个目的仓"); + throw new CustomerException(405,"订单不属于同一个目的仓"); + } + StatisticsPackageFeeInfoVO orderPackageTotalVO = baseMapper.findPackageListByOrderIds(orderInfoIds); + BigDecimal freightPrice = orderPackageTotalVO.getFreightPrice(); + BigDecimal pickupPrice = orderPackageTotalVO.getPickupPrice(); + BigDecimal warehouseServiceFee = orderPackageTotalVO.getWarehouseServiceFee(); + BigDecimal deliveryServiceFee = orderPackageTotalVO.getDeliveryServiceFee(); + BigDecimal totalFee = freightPrice.add(pickupPrice).add(warehouseServiceFee).add(deliveryServiceFee).add(changesFee).add(aftersalesFee); + + StatisticsOrderInfoEntity statisticsOrderInfoEntity = orderInfoEntities.get(0); + Long consigneeId = statisticsOrderInfoEntity.getConsigneeId(); + String consignee = statisticsOrderInfoEntity.getConsignee(); + Long destinationWarehouseId = statisticsOrderInfoEntity.getDestinationWarehouseId(); + String destinationWarehouseName = statisticsOrderInfoEntity.getDestinationWarehouseName(); + + //把orderInfoEntities中所有waybillNo去重拼接起来 + reconciliationOrderInfo.setWaybillNo(orderInfoEntities.stream().map(StatisticsOrderInfoEntity::getWaybillNo).distinct().collect(Collectors.joining(","))); + reconciliationOrderInfo.setOrderCode(orderInfoEntities.stream().map(StatisticsOrderInfoEntity::getOrderCode).distinct().collect(Collectors.joining(","))); + reconciliationOrderInfo.setBrand(orderInfoEntities.stream().map(StatisticsOrderInfoEntity::getBrand).distinct().collect(Collectors.joining(","))); + reconciliationOrderInfo.setConsigneeId(consigneeId); + reconciliationOrderInfo.setConsignee(consignee); + reconciliationOrderInfo.setDestinationWarehouseName(destinationWarehouseName); + reconciliationOrderInfo.setDestinationWarehouseId(destinationWarehouseId); + reconciliationOrderInfo.setTotalNum(orderPackageTotalVO.getTotalNum()); + reconciliationOrderInfo.setTotalWeight(orderPackageTotalVO.getTotalWeight()); + reconciliationOrderInfo.setTotalVolume(orderPackageTotalVO.getTotalVolume()); + + reconciliationOrderInfo.setRealTotalFee(totalFee); + reconciliationOrderInfo.setPickupFee(pickupPrice); + reconciliationOrderInfo.setFreightFee(freightPrice); + reconciliationOrderInfo.setWarehouseServiceFee(warehouseServiceFee); + reconciliationOrderInfo.setWarehouseFee(orderPackageTotalVO.getWarehouseFee()); + reconciliationOrderInfo.setWarehouseManageFee(orderPackageTotalVO.getWarehouseManageFee()); + reconciliationOrderInfo.setWarehouseSortingFee(orderPackageTotalVO.getWarehouseSortingFee()); + reconciliationOrderInfo.setWarehouseOperatingFee(orderPackageTotalVO.getWarehouseOperatingFee()); + reconciliationOrderInfo.setDeliveryFee(orderPackageTotalVO.getDeliveryFee()); + reconciliationOrderInfo.setDeliveryServiceFee(deliveryServiceFee); + reconciliationOrderInfo.setDeliveryLoadingFee(orderPackageTotalVO.getDeliveryLoadingFee()); + reconciliationOrderInfo.setDeliverySortingFee(orderPackageTotalVO.getDeliverySortingFee()); + reconciliationOrderInfo.setDeliveryUpfloorFee(orderPackageTotalVO.getDeliveryUpfloorFee()); + reconciliationOrderInfo.setDeliveryMoveFee(orderPackageTotalVO.getDeliveryMoveFee()); + reconciliationOrderInfo.setDeliveryOtherFee(orderPackageTotalVO.getDeliveryOtherFee()); + reconciliationOrderInfo.setDeliveryCrossingFee(orderPackageTotalVO.getDeliveryCrossingFee()); + reconciliationOrderInfo.setInstallFee(BigDecimal.ZERO); + reconciliationOrderInfo.setOtherFee(BigDecimal.ZERO); + + reconciliationOrderInfo.setAftersalesFee(aftersalesFee); + reconciliationOrderInfo.setChangesFee(changesFee); + + reconciliationOrderInfoService.updateById(reconciliationOrderInfo); + }else{ + reconciliationOrderInfoService.removeById(reconciliationOrderId); } - StatisticsPackageFeeInfoVO orderPackageTotalVO = baseMapper.findPackageListByOrderIds(orderInfoIds); - BigDecimal freightPrice = orderPackageTotalVO.getFreightPrice(); - BigDecimal pickupPrice = orderPackageTotalVO.getPickupPrice(); - BigDecimal warehouseServiceFee = orderPackageTotalVO.getWarehouseServiceFee(); - BigDecimal deliveryServiceFee = orderPackageTotalVO.getDeliveryServiceFee(); - BigDecimal totalFee = freightPrice.add(pickupPrice).add(warehouseServiceFee).add(deliveryServiceFee).add(changesFee).add(aftersalesFee); - StatisticsOrderInfoEntity statisticsOrderInfoEntity = orderInfoEntities.get(0); - Long consigneeId = statisticsOrderInfoEntity.getConsigneeId(); - String consignee = statisticsOrderInfoEntity.getConsignee(); - Long destinationWarehouseId = statisticsOrderInfoEntity.getDestinationWarehouseId(); - String destinationWarehouseName = statisticsOrderInfoEntity.getDestinationWarehouseName(); - //把orderInfoEntities中所有waybillNo去重拼接起来 - reconciliationOrderInfo.setWaybillNo(orderInfoEntities.stream().map(StatisticsOrderInfoEntity::getWaybillNo).distinct().collect(Collectors.joining(","))); - reconciliationOrderInfo.setOrderCode(orderInfoEntities.stream().map(StatisticsOrderInfoEntity::getOrderCode).distinct().collect(Collectors.joining(","))); - reconciliationOrderInfo.setBrand(orderInfoEntities.stream().map(StatisticsOrderInfoEntity::getBrand).distinct().collect(Collectors.joining(","))); - reconciliationOrderInfo.setConsigneeId(consigneeId); - reconciliationOrderInfo.setConsignee(consignee); - reconciliationOrderInfo.setDestinationWarehouseName(destinationWarehouseName); - reconciliationOrderInfo.setDestinationWarehouseId(destinationWarehouseId); - reconciliationOrderInfo.setTotalNum(orderPackageTotalVO.getTotalNum()); - reconciliationOrderInfo.setTotalWeight(orderPackageTotalVO.getTotalWeight()); - reconciliationOrderInfo.setTotalVolume(orderPackageTotalVO.getTotalVolume()); - - reconciliationOrderInfo.setRealTotalFee(totalFee); - reconciliationOrderInfo.setPickupFee(pickupPrice); - reconciliationOrderInfo.setFreightFee(freightPrice); - reconciliationOrderInfo.setWarehouseServiceFee(warehouseServiceFee); - reconciliationOrderInfo.setWarehouseFee(orderPackageTotalVO.getWarehouseFee()); - reconciliationOrderInfo.setWarehouseManageFee(orderPackageTotalVO.getWarehouseManageFee()); - reconciliationOrderInfo.setWarehouseSortingFee(orderPackageTotalVO.getWarehouseSortingFee()); - reconciliationOrderInfo.setWarehouseOperatingFee(orderPackageTotalVO.getWarehouseOperatingFee()); - reconciliationOrderInfo.setDeliveryFee(orderPackageTotalVO.getDeliveryFee()); - reconciliationOrderInfo.setDeliveryServiceFee(deliveryServiceFee); - reconciliationOrderInfo.setDeliveryLoadingFee(orderPackageTotalVO.getDeliveryLoadingFee()); - reconciliationOrderInfo.setDeliverySortingFee(orderPackageTotalVO.getDeliverySortingFee()); - reconciliationOrderInfo.setDeliveryUpfloorFee(orderPackageTotalVO.getDeliveryUpfloorFee()); - reconciliationOrderInfo.setDeliveryMoveFee(orderPackageTotalVO.getDeliveryMoveFee()); - reconciliationOrderInfo.setDeliveryOtherFee(orderPackageTotalVO.getDeliveryOtherFee()); - reconciliationOrderInfo.setDeliveryCrossingFee(orderPackageTotalVO.getDeliveryCrossingFee()); - reconciliationOrderInfo.setInstallFee(BigDecimal.ZERO); - reconciliationOrderInfo.setOtherFee(BigDecimal.ZERO); - - reconciliationOrderInfo.setAftersalesFee(aftersalesFee); - reconciliationOrderInfo.setChangesFee(changesFee); - reconciliationOrderInfoService.updateById(reconciliationOrderInfo); } diff --git a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java index d575e03fc..7d8bfb9f8 100644 --- a/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java +++ b/blade-service/logpm-statisticsdata/src/main/java/com/logpm/statistics/service/impl/StatisticsReconciliationOrderInfoServiceImpl.java @@ -41,13 +41,10 @@ public class StatisticsReconciliationOrderInfoServiceImpl extends BaseServiceImp @Override public List reconciliationListExport(MerchantStatisticsDTO merchantStatisticsDTO) { - IPage page = new Page<>(); - page.setCurrent(merchantStatisticsDTO.getPageNum()); - page.setSize(merchantStatisticsDTO.getPageSize()); merchantStatisticsDTO.setOpenTimeStart(CommonUtil.getStartByDateStr(merchantStatisticsDTO.getOpenTimeStartStr())); merchantStatisticsDTO.setOpenTimeEnd(CommonUtil.getEndByDateStr(merchantStatisticsDTO.getOpenTimeEndStr())); - return baseMapper.reconciliationListExport(page, merchantStatisticsDTO); + return baseMapper.reconciliationListExport(merchantStatisticsDTO); } } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.java index 1a52258b3..59d578758 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.java @@ -81,4 +81,6 @@ public interface TrunklineAdvanceDetailMapper extends BaseMapper findTotalNumByOrderCodes(@Param("orderCodeSet") Set orderCodeSet); void clearWaybillInfoByWaybillId(@Param("waybillId") Long waybillId); + + AdvancenceTotalNumberVO findTotalNumberByAdvanceIds(@Param("advanceIds") List advanceIds); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.xml index e625f8b00..43d83bde4 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineAdvanceDetailMapper.xml @@ -48,13 +48,12 @@ select lbfc.category_id goodsId, IFNULL(lbfc.category,'其他') goodsName, ltad.charge_type chargeType, - sum(ltad.quantity) num, - sum(ltad.weight) weight, - sum(ltad.volume) volume + IFNULL(sum(ltad.quantity),0) num, + IFNULL(sum(ltad.weight),0) weight, + IFNULL(sum(ltad.volume),0) volume from logpm_trunkline_advance_detail ltad left join logpm_basicdata_factory_category lbfc on lbfc.brand = ltad.brand and type=1 - and lbfc.firsts = ltad.first_pack_name and lbfc.seconds = ltad.second_pack_name and lbfc.thirds = ltad.third_pack_name and lbfc.materiel_name=ltad.material_name - left join logpm_basicdata_category lbc on lbc.id = lbfc.category_id + and IFNULL(lbfc.firsts,1) = IFNULL(ltad.first_pack_name,1) and IFNULL(lbfc.seconds,2) = IFNULL(ltad.second_pack_name,2) and IFNULL(lbfc.thirds,3) = IFNULL(ltad.third_pack_name,3) and IFNULL(lbfc.materiel_name,4)=IFNULL(ltad.material_name,4) AND lbfc.is_deleted = 0 where ltad.is_deleted = 0 and ltad.advance_id in @@ -387,8 +386,8 @@ lbfc2.category_id costCategoryId, IFNULL(lbfc2.category,'其他') costCategoryName from logpm_trunkline_advance_detail ltad - left join logpm_basicdata_factory_category lbfc1 on lbfc1.brand = ltad.brand and lbfc1.firsts = ltad.first_pack_name and lbfc1.seconds = ltad.second_pack_name and lbfc1.thirds = ltad.third_pack_name and lbfc1.type = 1 AND lbfc1.materiel_name = ltad.material_name - left join logpm_basicdata_factory_category lbfc2 on lbfc2.brand = ltad.brand and lbfc2.firsts = ltad.first_pack_name and lbfc2.seconds = ltad.second_pack_name and lbfc2.thirds = ltad.third_pack_name and lbfc1.type = 2 AND lbfc2.materiel_name = ltad.material_name + left join logpm_basicdata_factory_category lbfc1 on lbfc1.brand = ltad.brand and IFNULL(lbfc1.firsts,1) = IFNULL(ltad.first_pack_name,1) and IFNULL(lbfc1.seconds,2) = IFNULL(ltad.second_pack_name,2) and IFNULL(lbfc1.thirds,3) = IFNULL(ltad.third_pack_name,3) and lbfc1.type = 1 AND IFNULL(lbfc1.materiel_name,4) = IFNULL(ltad.material_name,4) AND lbfc1.is_deleted = 0 + left join logpm_basicdata_factory_category lbfc2 on lbfc2.brand = ltad.brand and IFNULL(lbfc2.firsts,1) = IFNULL(ltad.first_pack_name,1) and IFNULL(lbfc2.seconds,2) = IFNULL(ltad.second_pack_name,2) and IFNULL(lbfc2.thirds,3) = IFNULL(ltad.third_pack_name,3) and lbfc1.type = 2 AND IFNULL(lbfc2.materiel_name,4) = IFNULL(ltad.material_name,4) AND lbfc2.is_deleted = 0 where ltad.is_deleted = 0 and ltad.advance_id in @@ -501,4 +500,16 @@ and is_deleted = 0 + + 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 4d003eab1..7acf89bf3 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 @@ -91,4 +91,6 @@ public interface ITrunklineAdvanceDetailService extends BaseService findTotalNumByOrderCodes(Set orderCodeSet); void clearWaybillInfoByWaybillId(Long waybillId); + + AdvancenceTotalNumberVO findTotalNumberByAdvanceIds(List advanceIds); } 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 0cf3dfcca..8a6cd6891 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 @@ -131,6 +131,8 @@ public class OpenOrderServiceImpl implements IOpenOrderService { //先查询出所有的暂存单 List list = advanceService.findListByIds(advanceIds); + AdvancenceTotalNumberVO totalNumberVO = advanceDetailService.findTotalNumberByAdvanceIds(advanceIds); + if (list.isEmpty()) { log.warn("##############advanceToWaybill: 暂存单数据不存在 advanceIds={}", advanceIds); return R.fail(405, "暂存单数据不存在"); @@ -138,7 +140,6 @@ public class OpenOrderServiceImpl implements IOpenOrderService { String dealerName = null; String dealerCode = null; String brand = null; - Integer totalNum = 0; for (TrunklineAdvanceEntity advanceEntity : list) { if (StringUtil.isBlank(dealerName)) { dealerName = advanceEntity.getDealerName(); @@ -147,8 +148,6 @@ public class OpenOrderServiceImpl implements IOpenOrderService { if (StringUtil.isBlank(brand)) { brand = advanceEntity.getBrand(); } - - totalNum = totalNum + advanceEntity.getTotalNum(); } OpenOrderVO openOrderVO = new OpenOrderVO(); //查询品牌 客户车次号 订单自编码 @@ -169,7 +168,10 @@ public class OpenOrderServiceImpl implements IOpenOrderService { //发站仓-----目前登录人的仓库 openOrderVO.setDepartureWarehouseName(basicdataWarehouseEntity.getName()); openOrderVO.setDepartureWarehouseId(warehouseId); - openOrderVO.setTotalNum(totalNum); + openOrderVO.setTotalNum(totalNumberVO.getTotalNum()); + openOrderVO.setTotalWeight(totalNumberVO.getTotalWeight()); + openOrderVO.setTotalVolume(totalNumberVO.getTotalVolume()); + //发货单位 Long shipperId = basicdataForwardingUnitClient.findForwardingUnitByWarehouseId(warehouseId); if (!Objects.isNull(shipperId)) { @@ -1834,6 +1836,13 @@ public class OpenOrderServiceImpl implements IOpenOrderService { log.warn("##################importStandardOuPai: 文件不存在"); return R.fail(405, "文件不存在"); } + + List materialEntities = basicMaterialClient.findAllList(); + //把materialEntities转化成以productCode和productName拼接为key的Map + Map materialEntityMap = materialEntities.stream().collect(Collectors.toMap(item -> item.getProductCode() + "&&" + item.getName(), item -> item)); + + + InputStream inputStream = file.getInputStream(); List importStandardOuPaiDTOS = EasyExcel.read(inputStream).head(ImportStandardOuPaiDTO.class).sheet(0).headRowNumber(1).doReadSync(); @@ -2101,48 +2110,58 @@ public class OpenOrderServiceImpl implements IOpenOrderService { advanceDetailModel.setQuantity(1); advanceDetailModel.setServiceNum(advanceEntity.getServiceNum()); advanceDetailModel.setPackageStatus("0"); - String materialName = importStandardOuPaiDTO.getMaterialName(); - String materialCode = importStandardOuPaiDTO.getMaterialCode(); + String materialName = StringUtil.isNotBlank(importStandardOuPaiDTO.getMaterialName())?importStandardOuPaiDTO.getMaterialName():""; + String materialCode = StringUtil.isNotBlank(importStandardOuPaiDTO.getMaterialCode())?importStandardOuPaiDTO.getMaterialCode():""; - if (StringUtil.isNotBlank(materialCode) && StringUtil.isNotBlank(materialName)) { - Long materialId = materialMap.get(materialCode); - if(!Objects.isNull(materialId)){ - advanceDetailModel.setMaterialId(materialId); - advanceDetailModel.setMaterialCode(materialCode); - advanceDetailModel.setMaterialName(materialName); - }else{ - BasicMaterialEntity basicMaterialEntity = basicMaterialClient.findEntityByCodeAndName(materialCode, materialName); - if (Objects.isNull(basicMaterialEntity)) { - basicMaterialEntity = new BasicMaterialEntity(); - basicMaterialEntity.setProductCode(materialCode); - basicMaterialEntity.setName(materialName); - BasicdataBrandEntity basicdataBrandEntity = basicdataBrandClient.findEntityByName(brand); - if(Objects.isNull(basicdataBrandEntity)){ - basicMaterialEntity.setBrandId("1713382405517201409"); - }else{ - basicMaterialEntity.setBrandId(basicdataBrandEntity.getId()+""); - } - basicMaterialEntity.setProperty("家配"); - basicMaterialEntity.setSpecification("件"); - basicMaterialEntity.setPackingSpecification("1件/箱"); - basicMaterialEntity.setLogpmUnit("箱"); - basicMaterialEntity.setSku(materialCode); - basicMaterialEntity.setPackageNum(1); - basicMaterialEntity.setHide(1); - Long aLong = basicMaterialClient.addMaterial(basicMaterialEntity); - basicMaterialEntity.setId(aLong); - materialMap.put(materialCode,aLong); - advanceDetailModel.setMaterialId(aLong); - advanceDetailModel.setMaterialCode(materialCode); - advanceDetailModel.setMaterialName(materialName); - }else{ - materialMap.put(materialCode,basicMaterialEntity.getId()); - advanceDetailModel.setMaterialId(basicMaterialEntity.getId()); - advanceDetailModel.setMaterialCode(basicMaterialEntity.getProductCode()); - advanceDetailModel.setMaterialName(basicMaterialEntity.getName()); - } - } + BasicMaterialEntity basicMaterialEntity = materialEntityMap.get(materialCode + "&&" + materialName); + + if(!Objects.isNull(basicMaterialEntity)){ + advanceDetailModel.setMaterialId(basicMaterialEntity.getId()); + advanceDetailModel.setMaterialCode(materialCode); + advanceDetailModel.setMaterialName(materialName); + advanceDetailModel.setWeight(new BigDecimal(basicMaterialEntity.getWeight())); + advanceDetailModel.setVolume(new BigDecimal(basicMaterialEntity.getVolume())); } + +// if (StringUtil.isNotBlank(materialCode) && StringUtil.isNotBlank(materialName)) { +// Long materialId = materialMap.get(materialCode); +// if(!Objects.isNull(materialId)){ +// advanceDetailModel.setMaterialId(materialId); +// advanceDetailModel.setMaterialCode(materialCode); +// advanceDetailModel.setMaterialName(materialName); +// }else{ +// BasicMaterialEntity basicMaterialEntity = basicMaterialClient.findEntityByCodeAndName(materialCode, materialName); +// if (Objects.isNull(basicMaterialEntity)) { +// basicMaterialEntity = new BasicMaterialEntity(); +// basicMaterialEntity.setProductCode(materialCode); +// basicMaterialEntity.setName(materialName); +// BasicdataBrandEntity basicdataBrandEntity = basicdataBrandClient.findEntityByName(brand); +// if(Objects.isNull(basicdataBrandEntity)){ +// basicMaterialEntity.setBrandId("1713382405517201409"); +// }else{ +// basicMaterialEntity.setBrandId(basicdataBrandEntity.getId()+""); +// } +// basicMaterialEntity.setProperty("家配"); +// basicMaterialEntity.setSpecification("件"); +// basicMaterialEntity.setPackingSpecification("1件/箱"); +// basicMaterialEntity.setLogpmUnit("箱"); +// basicMaterialEntity.setSku(materialCode); +// basicMaterialEntity.setPackageNum(1); +// basicMaterialEntity.setHide(1); +// Long aLong = basicMaterialClient.addMaterial(basicMaterialEntity); +// basicMaterialEntity.setId(aLong); +// materialMap.put(materialCode,aLong); +// advanceDetailModel.setMaterialId(aLong); +// advanceDetailModel.setMaterialCode(materialCode); +// advanceDetailModel.setMaterialName(materialName); +// }else{ +// materialMap.put(materialCode,basicMaterialEntity.getId()); +// advanceDetailModel.setMaterialId(basicMaterialEntity.getId()); +// advanceDetailModel.setMaterialCode(basicMaterialEntity.getProductCode()); +// advanceDetailModel.setMaterialName(basicMaterialEntity.getName()); +// } +// } +// } advanceDetailEntities.add(advanceDetailModel); } @@ -2452,6 +2471,11 @@ public class OpenOrderServiceImpl implements IOpenOrderService { log.warn("##################batchOpenLabel: 文件不存在"); return R.fail(405, "文件不存在"); } + + List materialEntities = basicMaterialClient.findAllList(); + //把materialEntities转化成以productCode和productName拼接为key的Map + Map materialEntityMap = materialEntities.stream().collect(Collectors.toMap(item -> item.getProductCode() + "&&" + item.getName(), item -> item)); + InputStream inputStream = file.getInputStream(); List importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync(); @@ -2606,6 +2630,19 @@ public class OpenOrderServiceImpl implements IOpenOrderService { } advanceDetailModel.setPackageStatus("0"); + String materialName = StringUtil.isNotBlank(importOrderNoPackageExcelDTO.getMaterialName())?importOrderNoPackageExcelDTO.getMaterialName():""; + String materialCode = StringUtil.isNotBlank(importOrderNoPackageExcelDTO.getMaterialCode())?importOrderNoPackageExcelDTO.getMaterialCode():""; + + BasicMaterialEntity basicMaterialEntity = materialEntityMap.get(materialCode + "&&" + materialName); + + if(!Objects.isNull(basicMaterialEntity)){ + advanceDetailModel.setMaterialId(basicMaterialEntity.getId()); + advanceDetailModel.setMaterialCode(materialCode); + advanceDetailModel.setMaterialName(materialName); + advanceDetailModel.setWeight(new BigDecimal(basicMaterialEntity.getWeight())); + advanceDetailModel.setVolume(new BigDecimal(basicMaterialEntity.getVolume())); + } + List orderPackageCodes = basicdataCodeClient.getBatchPackageCodeByType(warehouseCode, orderCode, totalNum); orderPackageCodes.forEach(orderPackageCode -> { TrunklineAdvanceDetailEntity advanceDetailEntity = new TrunklineAdvanceDetailEntity(); 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 e0c24cfc7..9e911734d 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 @@ -367,4 +367,9 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl advanceIds) { + return baseMapper.findTotalNumberByAdvanceIds(advanceIds); + } }