From 941ac8efee32def77dd748755dc3e2c3a64f5193 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 29 Oct 2024 18:31:07 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E9=85=8D=E8=BD=BD?= =?UTF-8?q?=E3=80=81=E5=BC=82=E5=B8=B8=E5=B7=A5=E5=8D=95=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/AftersalesWorkOrderEntity.java | 4 + .../com/logpm/trunkline/dto/LoadCarsDTO.java | 1 + .../AftersalesWorkOrderController.java | 14 ++ .../excel/AftersalesWorkOrderExcel.java | 29 ++- .../mapper/AftersalesWorkOrderMapper.java | 3 + .../mapper/AftersalesWorkOrderMapper.xml | 179 +++++++++++++++++- .../service/IAftersalesWorkOrderService.java | 7 + .../impl/AftersalesWorkOrderServiceImpl.java | 56 +++++- .../controller/CarsLoadController.java | 45 ++++- .../excel/TrunklineCarsLoadExcel.java | 144 ++++++++++++++ .../mapper/TrunklineCarsLoadMapper.java | 8 + .../mapper/TrunklineCarsLoadMapper.xml | 152 +++++++++++++++ .../service/ITrunklineCarsLoadService.java | 7 + .../impl/TrunklineCarsLoadServiceImpl.java | 23 +++ 14 files changed, 663 insertions(+), 9 deletions(-) create mode 100644 blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/excel/TrunklineCarsLoadExcel.java diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java index 7832953a1..01bbbdc5e 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java @@ -312,6 +312,10 @@ public class AftersalesWorkOrderEntity extends TenantEntity { private String totalAmountNum; @TableField(exist=false) private String workOrderStatusNameS; + @TableField(exist=false) + private String resultTypes; + @TableField(exist=false) + private String compensationMethods; diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java index 95c66d924..946f44790 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java @@ -213,5 +213,6 @@ public class LoadCarsDTO implements Serializable { private String arriveTime; private String createUserName; private String createTime; + private String ids; } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java index 48068c879..85d95ced0 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java @@ -722,6 +722,20 @@ public class AftersalesWorkOrderController extends BladeController { ExcelUtil.export(response, "异常工单数据" + DateUtil.time(), "异常工单数据", list, AftersalesWorkOrderExcel.class); } + /** + * 导出数据 + * + */ + @GetMapping("/exportWorkOrder") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "导出数据", notes = "传入aftersalesWorkOrder") + public void exportWorkOrder(@ApiIgnore @RequestParam Map aftersalesWorkOrder, BladeUser bladeUser, HttpServletResponse response) { + +// List list = aftersalesWorkOrderService.exportAftersalesWorkOrder(aftersalesWorkOrder); + List list = aftersalesWorkOrderService.exportWorkOrder(aftersalesWorkOrder); + ExcelUtil.export(response, "异常工单数据" + DateUtil.time(), "异常工单数据", list, AftersalesWorkOrderExcel.class); + } + @GetMapping("/exportAftersalesWorkOrderList") @ApiOperationSupport(order = 9) @ApiOperation(value = "导出数据", notes = "传入aftersalesWorkOrder") diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/excel/AftersalesWorkOrderExcel.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/excel/AftersalesWorkOrderExcel.java index 15b1889c4..075924d59 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/excel/AftersalesWorkOrderExcel.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/excel/AftersalesWorkOrderExcel.java @@ -49,8 +49,7 @@ public class AftersalesWorkOrderExcel implements Serializable { @ColumnWidth(20) @ExcelProperty("工单异常类型") private String workOrderTypeName; - @ExcelIgnore //工单异常类型 - private String workOrderType; + /** * 发现节点;提货,发货,干线,库内,配送,其他,签收(PC),安装(PC) */ @@ -107,7 +106,8 @@ public class AftersalesWorkOrderExcel implements Serializable { */ @ColumnWidth(20) @ExcelProperty("工单状态") - private String workOrderStatus; + private String workOrderStatusName; + @ColumnWidth(20) @ExcelProperty("品牌") private String brandName; @@ -241,4 +241,27 @@ public class AftersalesWorkOrderExcel implements Serializable { private String processNumber; + /** + * 钉钉流程号 + */ + @ColumnWidth(20) + @ExcelProperty("赔款金额") + private String totalAmountNum; + + /** + * 钉钉流程号 + */ + @ColumnWidth(20) + @ExcelProperty("处理结果") + private String resultTypes; + + + /** + * 钉钉流程号 + */ + @ColumnWidth(20) + @ExcelProperty("赔付方式") + private String compensationMethods; + + } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.java index 0928abf36..56da449b3 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.java @@ -108,4 +108,7 @@ public interface AftersalesWorkOrderMapper extends BaseMapper selectWaitAftersalesWorkOrderList(@Param("warehouseIds")List warehouseListIds); + + List exportListOwn(@Param("param") AftersalesWorkOrderEntity workOrderEntity); + } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml index f6ba90a33..487798509 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml @@ -89,7 +89,183 @@ lawo.customer_service_name customerServiceName, lawo.warehouse_id warehouseId, lawo.investigation_process investigationProcess, - lawo.customer_service_id customerServiceId + lawo.customer_service_id customerServiceId, + IFNULL( sum( lapr.money ), 0 ) AS totalAmountNum, + GROUP_CONCAT(DISTINCT lapr.result_type) AS resultTypes, + GROUP_CONCAT(DISTINCT lapr.compensation_method) AS compensationMethods + FROM + logpm_aftersales_work_order lawo + LEFT JOIN logpm_aftersales_processor lap ON lawo.id = lap.work_order_id + AND lap.types_of = '2' + AND lap.conditions IN ( 1, 2 ) + LEFT JOIN logpm_aftersales_completion_record lacr ON lacr.work_order_id = lawo.id + AND lacr.is_deleted = '0' + LEFT JOIN (SELECT + a.id, + group_concat( DISTINCT b.`first` SEPARATOR ',' ) AS `first`, + group_concat( DISTINCT b.secondary SEPARATOR ',' ) AS secondary, + group_concat( DISTINCT b.brand_name SEPARATOR ',' ) AS brand_name, + group_concat( DISTINCT b.package_code SEPARATOR ',' ) AS package_code, + group_concat( DISTINCT b.waybill_number SEPARATOR ',' ) AS waybill_number + FROM + logpm_aftersales_work_order AS a + LEFT JOIN logpm_aftersales_abnormal_package AS b ON a.id = b.work_order_id + WHERE + a.is_deleted = 0 + AND b.is_deleted = 0 + GROUP BY + a.id) AS t ON t.id = lawo.id + LEFT JOIN logpm_aftersales_processing_results AS lapr ON lapr.work_order_id = lawo.id + + lawo.is_deleted = 0 + and lawo.work_order_status = #{param.workOrderStatusNameS } + and lawo.id = #{param.id } + and lawo.work_order_type = #{param.workOrderType } + and lawo.initiation_identification = #{param.initiationIdentification } + and lawo.discovery_node = #{param.discoveryNode } + and lawo.work_order_number like concat('%',#{param.workOrderNumber },'%') + and lawo.waybill_number like concat('%', #{param.waybillNumber },'%') + and lawo.order_code like concat('%', #{param.orderCode },'%') + and lawo.train_number like concat('%', #{param.trainNumber },'%') + and lawo.vehicle_route like concat('%', #{param.vehicleRoute },'%') + and date_format(from_unixtime( lawo.deliver_goods_time),'%Y-%m-%d') = date_format(#{param.deliverGoodsTime },'%Y-%m-%d') + and date_format(from_unixtime(lawo.discovery_time),'%Y-%m-%d') = date_format( #{param.discoveryTime},'%Y-%m-%d') + and date_format(from_unixtime(lawo.warehousing_time),'%Y-%m-%d') = date_format( #{param.warehousingTime},'%Y-%m-%d') + and date_format(from_unixtime( lawo.delivery_time),'%Y-%m-%d') = date_format(#{param.deliveryTime} param.deliveryTime,'%Y-%m-%d') + and date_format(from_unixtime(lawo.audit_time),'%Y-%m-%d') = date_format(#{param.auditTime},'%Y-%m-%d') + and date_format(from_unixtime(lawo.entry_time),'%Y-%m-%d') = date_format(#{param.entryTime},'%Y-%m-%d') + and date_format(from_unixtime(lawo.over_time),'%Y-%m-%d') = date_format(#{param.overTime}),'%Y-%m-%d') + and lawo.waybill_mall like concat('%', #{param.waybillMall },'%') + and lawo.delivery_driver = #{param.deliveryDriver } + and lawo.work_order_status in ('40') + and lawo.work_order_status in ('20') + and lawo.work_order_status in ('30') + and lawo.work_order_status in ('30') + and lawo.work_order_status in ('70','80','100') + and lawo.customer_service_id = #{param.customerServiceId } + and lawo.customer_service_name like concat('%', #{param.customerServiceName },'%') + and lawo.waybill_mall_id = #{param.waybillMallId } + and lawo.problem_description = #{param.problemDescription} + and (lap.warehouse_id = #{param.warehouseId} OR lap.business_id = #{param.warehouseId}) + and lawo.person_responsible = #{param.personResponsible } + and lawo.process_number = #{param.processNumber } + and lawo.reviewed_by = #{param.reviewedBy } + and lawo.operator = #{param.operator } + and lawo.responsible_person = #{param.responsiblePerson } + and lawo.processed_by = #{param.processedBy} + and lawo.investigation_process = #{param.investigationProcess } + and lawo.related_work_orders_id = #{param.relatedWorkOrdersId } + and lawo.work_order_status in( #{param.workOrderStatus }) + + and lawo.work_order_status IN ( '10', '20', '21', '30', '40', '50', '60', '70', '80', '90' ,'100','110') + + and lawo.work_order_status in ('10') and lap.types_of = '2' and lap.processing_status in ('1') + and lawo.work_order_status in ('20') and lap.types_of = '2' + and lawo.work_order_status in (21,30) and lap.processing_status = '4' + and lap.types_of = '2' + and ((lawo.work_order_status in (80,100,70) OR lacr.warehouse_id=#{param.warehouseId})) + and lawo.work_order_type = #{param.workOrderType } + and lawo.discovery_node = #{param.discoveryNode } + and lawo.work_order_number like concat('%',#{param.workOrderNumber },'%') + and lawo.train_number like concat('%', #{param.trainNumber },'%') + and lawo.vehicle_route like concat('%', #{param.vehicleRoute },'%') + and lawo.work_order_status in ( #{param.workOrderStatus }) + and lawo.work_order_status in ('10') + and t.first like concat('%',#{param.first},'%') + and t.secondary like concat('%',#{param.secondary},'%') + and t.brand_name like concat('%',#{param.brandName},'%') + and t.waybill_number like concat('%',#{param.waybillNumber},'%') + and t.package_code like concat('%',#{param.packageCode},'%') + + group by lawo.id + ORDER BY lawo.create_time DESC + + + diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java index 027d3308a..f9e6e5bfe 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java @@ -6,6 +6,7 @@ import com.logpm.trunkline.dto.LoadCarsDTO; import com.logpm.trunkline.dto.TrunklineCarsLoadDTO; import com.logpm.trunkline.dto.ZeroPackageDTO; import com.logpm.trunkline.entity.TrunklineCarsLoadEntity; +import com.logpm.trunkline.excel.TrunklineCarsLoadExcel; import com.logpm.trunkline.vo.LoadingDetailExportVO; import com.logpm.trunkline.vo.TripartiteTransferVO; import com.logpm.trunkline.vo.TrunklineCarsLoadVO; @@ -254,4 +255,10 @@ public interface ITrunklineCarsLoadService extends BaseService exportLoadCarsPageList(LoadCarsDTO loadCarsDTO); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index 83165947c..e7fcd91a0 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -42,6 +42,7 @@ import com.logpm.factorydata.vo.PushData; import com.logpm.trunkline.bean.Resp; import com.logpm.trunkline.dto.*; import com.logpm.trunkline.entity.*; +import com.logpm.trunkline.excel.TrunklineCarsLoadExcel; import com.logpm.trunkline.feign.ITrunklinePackageTrackLogClient; import com.logpm.trunkline.mapper.TrunklineCarsLoadMapper; import com.logpm.trunkline.service.*; @@ -10344,6 +10345,28 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl exportLoadCarsPageList(LoadCarsDTO loadCarsDTO) { + + loadCarsDTO.setCreateTimeStart(CommonUtil.getStartByDateStr(loadCarsDTO.getCreateTimeStartStr())); + loadCarsDTO.setCreateTimeEnd(CommonUtil.getEndByDateStr(loadCarsDTO.getCreateTimeEndStr())); + + loadCarsDTO.setStartTime(CommonUtil.getStartByDateStr(loadCarsDTO.getStartDate())); + loadCarsDTO.setEndTime(CommonUtil.getEndByDateStr(loadCarsDTO.getEndDate())); + + loadCarsDTO.setArriveTimeStart(CommonUtil.getStartByDateStr(loadCarsDTO.getArriveTimeStartStr())); + loadCarsDTO.setArriveTimeEnd(CommonUtil.getEndByDateStr(loadCarsDTO.getArriveTimeEndStr())); + List idList =null; + if (!Objects.isNull(loadCarsDTO.getIds())){ + idList = new ArrayList<>(); + idList.addAll(Arrays.asList(Func.toLongArray(loadCarsDTO.getIds()))); + } + + List pageList = baseMapper.exportLoadCarsList(loadCarsDTO,idList); + + return pageList; + } + @Override public R unloadZero(Long carsLoadScanId,Long loadId, String waybillNo, Integer enterNun, Long warehouseId, Integer unbindTray, String trayCode, String orderCode, String remark,String unloadTrayName,String unloadTrayCode,List zeroPackageList) { From ce3fdeb02da6c0b9b1928702a4dafb0af5633604 Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Tue, 29 Oct 2024 20:33:02 +0800 Subject: [PATCH 2/6] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jobhandle/SyncOrderInfoToPlatform.java | 26 ++++++++++ .../mapper/WarehouseMappingDataMapper.java | 16 ++++++ .../mapper/WarehouseMappingDataMapper.xml | 50 +++++++++++++++++++ .../service/IWarehouseMappingDataService.java | 10 ++++ .../impl/WarehouseMappingDataServiceImpl.java | 27 ++++++++++ 5 files changed, 129 insertions(+) diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java index dd2235042..87e552b87 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java @@ -1042,4 +1042,30 @@ public class SyncOrderInfoToPlatform { } + @XxlJob("dealWaybillPayType") + public ReturnT dealWaybillPayType(String param) { + log.info("############dealWaybillPayType: 处理运单支付类型为月结 开始"); + + List ls = warehouseMappingDataService.findAllDealWithWaybillNo(); + + ls.forEach(json -> { + + Integer id = json.getInt("id"); + String waybillNo = json.getStr("waybillNo"); + + warehouseMappingDataService.deleteStatisticsdata(waybillNo); + + + warehouseMappingDataService.updateStatusDealwithWaybillById(id); + + }); + + + log.info("############dealWaybillPayType: 处理运单支付类型为月结 完成"); + + return ReturnT.SUCCESS; + } + + + } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java index d927da696..cb423789e 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java @@ -148,5 +148,21 @@ public interface WarehouseMappingDataMapper { void updateRepairParcelListWaybillById(@Param("id") Integer id, @Param("status") int status); void updatePackageStatusList(@Param("orderPackageCodes") List orderPackageCodes, @Param("warehouseId") Long warehouseId, @Param("packageStatus") String packageStatus); + + List findAllDealWithWaybillNo(); + + void updateStatusDealwithWaybillById(@Param("id") Integer id); + + void udpateWaybillPayWay(@Param("waybillNo") String waybillNo, @Param("payWay") String payWay); + + void deletedTrunklinePackageByWaybillNo(@Param("waybillNo") String waybillNo); + + void deletedWarehousePackageByWaybillNo(@Param("waybillNo") String waybillNo); + + void deletedDistributionPackageByWaybillNo(@Param("waybillNo") String waybillNo); + + void deletedOrderByWaybillNo(@Param("waybillNo") String waybillNo); + + void deletedBalanceOrderByWaybillNo(@Param("waybillNo") String waybillNo); } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml index cdb723643..6f50a258c 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml @@ -504,4 +504,54 @@ where ldpl.warehouse_id = #{warehouseId} + + + + + update deal_with_waybill_pay_type + set status = 1 + where id = #{id} + + + + update logpm_warehouse_waybill + set pay_way = #{payWay}, + check_status = 1 + where waybill_no = #{waybillNo} + + + + + delete from logpm_statistics_trunkline_package + where waybill_no = #{waybillNo} + + + + delete from logpm_statistics_warehouse_package + where waybill_no = #{waybillNo} + + + + + delete from logpm_statistics_distribution_package + where waybill_no = #{waybillNo} + + + + delete from logpm_statistics_order_info + where waybill_no = #{waybillNo} + + + + delete from logpm_statistics_balance_order_info + where waybill_no = #{waybillNo} + + + diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java index 4e75daf17..1c00269b6 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/IWarehouseMappingDataService.java @@ -129,4 +129,14 @@ public interface IWarehouseMappingDataService { void updateRepairParcelListWaybillById(Integer id, int status); void updatePackageStatusList(List orderPackageCodes, Long warehouseId, String packageStatus); + + List findAllDealWithWaybillNo(); + + + void updateStatusDealwithWaybillById(Integer id); + + void deleteStatisticsdata(String waybillNo); + + + } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java index a5991c919..82dc78361 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/WarehouseMappingDataServiceImpl.java @@ -311,4 +311,31 @@ public class WarehouseMappingDataServiceImpl implements IWarehouseMappingDataSer warehouseMappingDataMapper.updatePackageStatusList(orderPackageCodes,warehouseId,packageStatus); } + + @Override + public List findAllDealWithWaybillNo() { + return warehouseMappingDataMapper.findAllDealWithWaybillNo(); + } + + @Override + public void updateStatusDealwithWaybillById(Integer id) { + warehouseMappingDataMapper.updateStatusDealwithWaybillById(id); + } + + @Override + public void deleteStatisticsdata(String waybillNo) { + + warehouseMappingDataMapper.udpateWaybillPayWay(waybillNo,"3"); + + warehouseMappingDataMapper.deletedTrunklinePackageByWaybillNo(waybillNo); + + warehouseMappingDataMapper.deletedWarehousePackageByWaybillNo(waybillNo); + + warehouseMappingDataMapper.deletedDistributionPackageByWaybillNo(waybillNo); + + warehouseMappingDataMapper.deletedOrderByWaybillNo(waybillNo); + + warehouseMappingDataMapper.deletedBalanceOrderByWaybillNo(waybillNo); + + } } From 3d5e05311f7c57fff394f261932e70e2a3dd8cfa Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Tue, 29 Oct 2024 20:36:23 +0800 Subject: [PATCH 3/6] =?UTF-8?q?add:1.=E5=A2=9E=E5=8A=A0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E7=9A=84=E5=8C=85=E4=BB=B6=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/TrunklineCarsLoadServiceImpl.java | 63 ++++++++++++++++--- 1 file changed, 56 insertions(+), 7 deletions(-) diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index 83165947c..9b883212c 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -7706,13 +7706,16 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl page = new Page<>(); From be0a2c2d2ee6292b56508dc8760bfcc3941709a9 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 29 Oct 2024 21:36:51 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E5=9C=A8=E5=BA=93=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E6=9C=AA=E5=85=A5=E5=BA=93=E3=80=82=E5=B7=B2=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=8C=85=E4=BB=B6=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/ITrunklineAdvanceDetailClient.java | 9 ++ .../DistributionStockArticleController.java | 11 ++ .../IDistributionStockArticleService.java | 8 ++ .../DistributionStockArticleServiceImpl.java | 101 ++++++++++++++++++ .../feign/TrunklineAdvanceDetailClient.java | 10 ++ 5 files changed, 139 insertions(+) diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineAdvanceDetailClient.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineAdvanceDetailClient.java index 426965b38..3566703e6 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineAdvanceDetailClient.java +++ b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineAdvanceDetailClient.java @@ -28,4 +28,13 @@ public interface ITrunklineAdvanceDetailClient { @GetMapping(API_PREFIX+"/findListByWaybillId") List findListByWaybillId(@RequestParam Long waybillId); + + /** + * 查询暂存单详情 + * @param orderCode + * @param warehouseIds + * @return + */ + @GetMapping(API_PREFIX+"/selectByOrderCodeAndWarehouseId") + List selectByOrderCodeAndWarehouseId(@RequestParam String orderCode,@RequestParam String warehouseIds); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java index 991a940a8..326225df6 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleController.java @@ -189,6 +189,17 @@ public class DistributionStockArticleController extends BladeController { return R.data(parcelNumberVOS); } + /** + * 查询订单入库详情 + */ + @GetMapping("/getOrderWarehouseDetail") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入distributionStockArticle") + public R getOrderWarehouseDetail(@ApiIgnore @RequestParam String orderCode) { + R r = distributionStockArticleService.getOrderWarehouseDetail(orderCode); + return r; + } + // BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); // if (Func.isEmpty(myCurrentWarehouse)){ diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java index fdbe023ed..5635df08f 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleService.java @@ -323,4 +323,12 @@ public interface IDistributionStockArticleService extends BaseService pageListOweTransfer(IPage page, Map distributionStockArticle); R findZeroOrderInfo(Long orderId); + + /** + * 查询订单入库详情 + * @param orderCode + * @return + */ + R getOrderWarehouseDetail(String orderCode); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java index 11a342cc6..d66159d1c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java @@ -47,6 +47,8 @@ import com.logpm.distribution.vo.app.queryOrderVO; import com.logpm.distribution.wrapper.DistributionParcelListWrapper; import com.logpm.distribution.wrapper.DistributionStockArticleNewWrapper; import com.logpm.distribution.wrapper.DistributionStockArticleWrapper; +import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; +import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient; import com.logpm.warehouse.entity.WarehouseWayBillDetail; import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient; @@ -150,6 +152,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl selectDistributionStockArticlePage(IPage page, DistributionStockArticleVO distributionStockArticle) { @@ -2828,6 +2831,104 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl warehouseIdList = new ArrayList<>(); + if (Objects.isNull(myCurrentWarehouse)){ + //查询当前人的仓库列表 + List warehouseList = warehouseClient.getMyWarehouseList(); + if (!warehouseList.isEmpty()) { + warehouseIdList.addAll(warehouseList.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList())); + } + }else { + warehouseIdList.add(myCurrentWarehouse.getId()); + } + if (warehouseIdList.isEmpty()){ + return R.fail("当前登录人仓库信息错误"); + } + Map> info = new HashMap<>(); + //查询此暂存单数据在仓库的情况 + List list = trunklineAdvanceDetailClient.selectByOrderCodeAndWarehouseId(orderCode,warehouseIdList.stream().map(String::valueOf).collect(Collectors.joining(","))); + if (!list.isEmpty()) { + List orderPackageCodes = list.stream().map(TrunklineAdvanceDetailEntity::getOrderPackageCode).collect(Collectors.toList()); + info = handlePackageGroupByWarehouse(list,warehouseIdList,orderPackageCodes,Objects.isNull(myCurrentWarehouse),orderCode); + + return R.data(info); + } + + + return R.data(info,"未查询到相关出入库信息"); + } + + private Map> handlePackageGroupByWarehouse(List list, List warehouseIdList, List orderPackageCodes, boolean aNull,String orderCode) { + Map> info = new HashMap<>(); + List parcelListEntities = distributionParcelListService.list(Wrappers.query().lambda() + .eq(DistributionParcelListEntity::getOrderCode, orderCode) + .in(DistributionParcelListEntity::getOrderPackageCode, orderPackageCodes) + .eq(DistributionParcelListEntity::getIsTransfer, 0) + .in(!aNull,DistributionParcelListEntity::getWarehouseId,warehouseIdList) + ); + if (!parcelListEntities.isEmpty()) { + List distributionParcelListVOS = DistributionParcelListWrapper.build().listVO(parcelListEntities); + info.put("warehouse",distributionParcelListVOS); + List collect = parcelListEntities.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.toList()); + Iterator iterator = collect.iterator(); + while (iterator.hasNext()){ + String next = iterator.next(); + orderPackageCodes.remove(next); + iterator.remove(); + } + } + if (!orderPackageCodes.isEmpty()) { + //存在未入库的包件 + //进行数据组装 + List collect = list.stream().filter(f -> orderPackageCodes.contains(f.getOrderPackageCode())).collect(Collectors.toList()); + List unWarehousePackage= handleUnWarehousePackage(collect); + if (!unWarehousePackage.isEmpty()) { + info.put("unWarehouse",unWarehousePackage); + + } + } + return info; + + } + + private List handleUnWarehousePackage(List collect) { + List parcelListVOS = new ArrayList<>(); + List waybillNos = collect.stream().map(TrunklineAdvanceDetailEntity::getWaybillId).collect(Collectors.toList()); + Map> waybillMap = null; + if (!waybillNos.isEmpty()) { + List listByWaybillIds = warehouseWaybillClient.findListByWaybillIds(waybillNos); + if (!listByWaybillIds.isEmpty()) { + waybillMap = listByWaybillIds.stream().collect(Collectors.groupingBy(WarehouseWaybillEntity::getId)); + } + } + for (TrunklineAdvanceDetailEntity trunklineAdvanceDetailEntity : collect) { + DistributionParcelListVO distributionParcelListVO = new DistributionParcelListVO(); + distributionParcelListVO.setWaybillNumber(trunklineAdvanceDetailEntity.getWaybillNo()); + distributionParcelListVO.setOrderCode(trunklineAdvanceDetailEntity.getOrderCode()); + distributionParcelListVO.setWarehouse(trunklineAdvanceDetailEntity.getWarehouseName()); + distributionParcelListVO.setOrderPackageStatusName(OrderPackageStatusConstant.weiruku.getName()); + distributionParcelListVO.setFirsts(trunklineAdvanceDetailEntity.getFirstPackName()); + distributionParcelListVO.setSecond(trunklineAdvanceDetailEntity.getSecondPackName()); + distributionParcelListVO.setThirdProduct(trunklineAdvanceDetailEntity.getThirdPackName()); + distributionParcelListVO.setMaterialName(trunklineAdvanceDetailEntity.getMaterialName()); + distributionParcelListVO.setMaterialCode(trunklineAdvanceDetailEntity.getMaterialCode()); + distributionParcelListVO.setQuantity(trunklineAdvanceDetailEntity.getQuantity()); + distributionParcelListVO.setTrainNumber(trunklineAdvanceDetailEntity.getTrainNumber()); + if (!Objects.isNull(waybillMap) && !Objects.isNull(trunklineAdvanceDetailEntity.getWaybillId())){ + WarehouseWaybillEntity warehouseWaybillEntities = waybillMap.get(trunklineAdvanceDetailEntity.getWaybillId()).get(0); + distributionParcelListVO.setSendWarehouseName(warehouseWaybillEntities.getDepartureWarehouseName()); + distributionParcelListVO.setAcceptWarehouseName(warehouseWaybillEntities.getDestinationWarehouseName()); + distributionParcelListVO.setServiceNumber(warehouseWaybillEntities.getServiceNo()); + } + parcelListVOS.add(distributionParcelListVO); + + } + return parcelListVOS; + } + /** * @param page * @param distributionSignforStockArticle diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineAdvanceDetailClient.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineAdvanceDetailClient.java index 95f0ff045..0b39e384f 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineAdvanceDetailClient.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineAdvanceDetailClient.java @@ -1,11 +1,13 @@ package com.logpm.trunkline.feign; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; import com.logpm.trunkline.service.ITrunklineAdvanceDetailService; import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.tool.utils.Func; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; @@ -41,4 +43,12 @@ public class TrunklineAdvanceDetailClient implements ITrunklineAdvanceDetailClie .eq("is_deleted",0); return advanceDetailService.list(queryWrapper); } + + @Override + public List selectByOrderCodeAndWarehouseId(String orderCode, String warehouseIds) { + return advanceDetailService.list(Wrappers.query().lambda() + .eq(TrunklineAdvanceDetailEntity::getOrderCode,orderCode) + .in(TrunklineAdvanceDetailEntity::getWarehouseId, Func.toLongList(warehouseIds)) + ); + } } From fe9bdbfda5632ec41cedaf276d0d3bcac3ad3e8b Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Tue, 29 Oct 2024 22:17:28 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=9C=A8=E5=BA=93=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E8=BF=90=E5=8D=95=E8=AF=A6=E6=83=85BUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DistributionStockArticleServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java index d66159d1c..b659fdc9c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java @@ -2852,7 +2852,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl list = trunklineAdvanceDetailClient.selectByOrderCodeAndWarehouseId(orderCode,warehouseIdList.stream().map(String::valueOf).collect(Collectors.joining(","))); if (!list.isEmpty()) { List orderPackageCodes = list.stream().map(TrunklineAdvanceDetailEntity::getOrderPackageCode).collect(Collectors.toList()); - info = handlePackageGroupByWarehouse(list,warehouseIdList,orderPackageCodes,Objects.isNull(myCurrentWarehouse),orderCode); + info = handlePackageGroupByWarehouse(list,warehouseIdList,orderPackageCodes,Objects.isNull(myCurrentWarehouse),orderCode); return R.data(info); } @@ -2908,6 +2908,7 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl Date: Tue, 29 Oct 2024 22:36:44 +0800 Subject: [PATCH 6/6] =?UTF-8?q?add:1.=20=E5=A2=9E=E5=8A=A0=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E5=AF=B9=E8=B1=A1=E7=9A=84=E5=AF=BC=E5=85=A5=202.?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BA=BF=E4=B8=8A=E6=97=A0=E6=B3=95=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/DictBizConstant.java | 8 +- .../entity/BasicdataClientEntity.java | 13 ++- .../basicdata/excel/BasicdataClientExcel.java | 6 ++ .../impl/BasicdataClientServiceImpl.java | 83 ++++++++++++------- 4 files changed, 73 insertions(+), 37 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java index 8b3bd1347..87bb24e7f 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java @@ -5,7 +5,7 @@ public class DictBizConstant { public static final String DELIVERY_METHOD = "delivery_method";//发送方式 public static final String URGENCY = "urgency";//紧急程度 public static final String WAY_BILL_STATUS = "way_bill_status";//运单状态 - public static final String DISTRIBUTION_TYPE = "distribution_type";//服务类型 + public static final String DISTRIBUTION_TYPE = "distribution_type";//客户配送类型 public static final String FREEZE_STATUS = "freeze_status";//冻结状态 public static final String DEFAULT_PASSWORD = "default_password";//默认密码 public static final String DEFAULT_MALL_ROLE_ID = "default_mall_role_id";//默认角色 @@ -115,6 +115,12 @@ public class DictBizConstant { //---------------2023-11-18 public static final String OPEN_ORDER_PAY_TYPE = "open_order_pay_type"; public static final String OPEN_ORDER_PAY_WAY = "open_order_pay_way"; + + /** + * 结算对象类型 + */ + public static final String CLEAN_OBJ_TYPE = "clean_obj_type"; + public static final String OPEN_ORDER_DELIVERY_WAY = "open_order_delivery_way"; public static final String OPEN_ORDER_URGENCY = "open_order_urgency"; public static final String OPEN_ORDER_RECEIPT = "open_order_receipt"; diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java index 3f708f90c..6f13a1fc2 100644 --- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataClientEntity.java @@ -142,10 +142,15 @@ public class BasicdataClientEntity extends TenantEntity { */ @ApiModelProperty(value = "联系电话") private String phone; + + /** - * 客户类型;1 C端 2 B端 + * 配送服务类型 + * 1.商配 2市配 3自提 4三方中转 + * 该值未 配送包含配送的服务类中 存在的配送服务方式 + * 为了减少查询 做的冗余字段 */ - @ApiModelProperty(value = "客户类型;1 C端 2 B端") + @ApiModelProperty(value = "配送服务类型") private Integer typeService; /** @@ -213,13 +218,13 @@ public class BasicdataClientEntity extends TenantEntity { * 合同开始时间 */ @ApiModelProperty(value = "合同开始时间") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date contractStartTime; /** * 合同结束时间 */ @ApiModelProperty(value = "合同结束时间") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd", timezone = "GMT+8") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date contractEntTime; @ApiModelProperty(value = "默认付款方式 1现付 2到付 3月结 4回付 5内部结算 ") diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataClientExcel.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataClientExcel.java index cc3c2067d..e8f6e87c6 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataClientExcel.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataClientExcel.java @@ -184,6 +184,12 @@ public class BasicdataClientExcel implements Serializable { private String defaultPaymentMethods; + /** + * 结算对象类型:1.工厂 2.商场 3.个人 + */ + @ExcelProperty("结算对象类型") + private String cleanObjType; + } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java index e4eae1a39..05573fa64 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataClientServiceImpl.java @@ -69,6 +69,7 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; +import org.springblade.core.tool.utils.StringUtil; import org.springblade.system.cache.DictBizCache; import org.springblade.system.entity.DictBiz; import org.springblade.system.feign.IRegionFeign; @@ -93,7 +94,7 @@ import java.util.Set; import java.util.function.Predicate; import java.util.stream.Collectors; -import static org.springblade.common.constant.DictBizConstant.OPEN_ORDER_PAY_WAY; +import static org.springblade.common.constant.DictBizConstant.*; /** * 基础客户表 服务实现类 @@ -506,6 +507,13 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl data, Boolean isCovered) { log.info("客户导入数据"); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + List basicdataClients = baseMapper.selectList(queryWrapper); + // 验证数据 + checkImportBasicDataClient(data,basicdataClients); + + List storeContactEntities = new ArrayList<>(); // 联系人 List tripartiteMallEntities = new ArrayList<>(); // 三方商场 List storeBrandEntities = new ArrayList<>(); // 品牌 @@ -515,34 +523,24 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl list1 = warehouseService.warehouseListqx(); List dictBizs = DictBizCache.getList(DictBizConstant.DISTRIBUTION_TYPE);//商 市 自 List clientBiz = DictBizCache.getList(DictBizConstant.CLIENT_TYPE); //客 工 - List freightBiz = DictBizCache.getList(DictBizConstant.BASIC_FREIGHT_TYPE); //客 工 + List freightBiz = DictBizCache.getList(BASIC_FREIGHT_TYPE); //客 工 Set set = new HashSet<>(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - List basicdataClients = baseMapper.selectList(queryWrapper); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(BasicdataBrandEntity::getIsDeleted, 0); List basicdataBrandEntityList = basicdataBrandService.list(lambdaQueryWrapper); + + for (BasicdataClientExcel i : data) { // 处理下空格 换行 i.setClientName(i.getClientName().trim()); -// i.setClientCode(i.getClientCode().trim()); log.info("导入数据《》《》{}", i); -// if (set.isEmpty()) { -// set.add(i.getClientCode()); -// } else { -// boolean b = set.stream().anyMatch(a -> a.equals(i.getClientCode())); -// if (b) { -// continue; -// } -// } -// if (ObjectUtils.isNull(i.getClientCode()) || ObjectUtils.isNull(i.getClientName())) { -// throw new ServiceException("客户编码或客户名称不能为空!"); -// } + if (ObjectUtils.isNull(i.getClientName())) { throw new ServiceException("客户编码或客户名称不能为空!"); } @@ -554,26 +552,21 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl>>>>> basicdataClient.getClientCode() {}", basicdataClient.getClientCode()); - //查询客户编码和客户名称是否存在 - boolean b = basicdataClients.stream().anyMatch(ii -> { - if (ii.getClientCode() != null && !ii.getClientCode().isEmpty()) { - log.info(">>>>>>>>>>>>> 1{}", ii.getClientCode()); - log.info(">>>>>>>>>>>>> 2{}", ii.getClientName()); - return ii.getClientCode().equals(basicdataClient.getClientCode()) - || ii.getClientName().equals(basicdataClient.getClientName().trim()); + if(!basicdataClients.isEmpty()){ + List basicdataClientEntities = basicdataClients.stream().filter(ii -> ii.getClientName().equals(basicdataClient.getClientName()) && ii.getClientCode().equals(basicdataClient.getClientCode())).collect(Collectors.toList()); + if(!basicdataClientEntities.isEmpty()){ + // 获取全部重复的数据 + List clientNames = basicdataClientEntities.stream().map(BasicdataClientEntity::getClientName).collect(Collectors.toList()); + List clientCodes = basicdataClientEntities.stream().map(BasicdataClientEntity::getClientCode).collect(Collectors.toList()); + String clientNameStr = String.join(",", clientNames); + String clientCodeStr = String.join(",", clientCodes); + throw new ServiceException("客户编码 "+clientCodeStr+" 或客户名称 "+clientNameStr+" 已存在"); } - return false; - }); - if (b) { - List basicdataClientEntities = basicdataClients.stream().filter(ii -> ii.getClientName().equals(basicdataClient.getClientName())).collect(Collectors.toList()); - log.info("###############basicdataClientEntities重复客户:{}", basicdataClientEntities); - throw new ServiceException("客户编码或客户名称已存在"); } -// Optional first = dictBizs.stream().filter(ii -> ii.getDictValue().equals(i.getTypeService())).findFirst(); + Optional clientFirst = clientBiz.stream().filter(ii -> ii.getDictValue().equals(i.getClientType())).findFirst(); -// i.setTypeService(first.get().getDictValue()); basicdataClient.setClientType(clientFirst.get().getDictKey()); //查询客户名称是不是重复 List basicdataClientEntities = baseMapper.selectList(Wrappers.query().lambda() @@ -587,12 +580,22 @@ public class BasicdataClientServiceImpl extends BaseServiceImpl data, List basicdataClients) { + + // 验证导入数据是否存在重复 + + boolean hasDuplicates = data.stream() + .map(BasicdataClientExcel::getClientName) + .distinct() + .count() != data.size(); + + if(hasDuplicates){ + throw new CustomerException("存在相同的数据"); + } + + + } + /** * 匹配品牌 *