From ec1056204a0bb8ea1dea6ddc2f19800158fdb34c Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Fri, 15 Nov 2024 11:10:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=B8=80=E9=94=AE=E8=A3=85=E8=BD=A6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E3=80=81=E5=94=AE=E5=90=8E?= =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aftersales/WorkOrderStatusConstant.java | 5 +- .../aftersales/vo/AftersalesWorkOrderVO.java | 15 ++ .../AftersalesWorkOrderController.java | 244 +++++++++++++++++- .../mapper/AftersalesWorkOrderMapper.java | 2 +- .../mapper/AftersalesWorkOrderMapper.xml | 106 +++++++- .../impl/AftersalesWorkOrderServiceImpl.java | 54 ++-- .../DistributionDeliveryListServiceImpl.java | 7 + 7 files changed, 396 insertions(+), 37 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/WorkOrderStatusConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/WorkOrderStatusConstant.java index 0f4d9c6da..e7a57c35b 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/WorkOrderStatusConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/WorkOrderStatusConstant.java @@ -9,8 +9,9 @@ public enum WorkOrderStatusConstant { daishenhe("待审核","40"), yishenhe("已审核","50"), chaoshiweichuli("超时未处理","60"), - zhongchaizhong("客服介入中","70"), - yiwanjei("仲裁中","80"), +// zhongchaizhong("客服介入中","70"), + zhongchaizhong("仲裁中","70"), + yiwanjie("完结","80"), lipeijineweichu("理赔金额未出","90"), shenshuzhong("申述中","100"), yijeishu("已结束","110") diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesWorkOrderVO.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesWorkOrderVO.java index 23772c400..ce315708a 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesWorkOrderVO.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesWorkOrderVO.java @@ -45,6 +45,21 @@ public class AftersalesWorkOrderVO extends AftersalesWorkOrderEntity { * 提货名称 */ private String discoveryNodeName; + + /** + * 完成时间 + */ + private String completeTime; + + /** + * 是否申述 + */ + private String isAppeal; + + /** + * 申诉状态 + */ + private String appealStatusName; /** * 责任方和处理方 */ 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 2ae479ab5..7eaf72913 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 @@ -41,6 +41,7 @@ import javax.servlet.ServletOutputStream; import javax.validation.Valid; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.constant.aftersales.WorkOrderStatusConstant; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.secure.BladeUser; import org.springblade.core.mp.support.Condition; @@ -732,7 +733,92 @@ public class AftersalesWorkOrderController extends BladeController { /** - * 导出数据 + * 处理中导出数据 + * + */ + @GetMapping("/exportWorkOrder0") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "导出数据", notes = "传入aftersalesWorkOrder") + public void allExportWorkOrder(@ApiIgnore @RequestParam Map aftersalesWorkOrder, BladeUser bladeUser, HttpServletResponse response) { + List> basicTitle = aftersalesWorkOrderService.basicTitleBuild(); + //查询数据 + List head1 = new ArrayList<>(Arrays.asList("总部处理客服")); + basicTitle.add(head1); + List head2 = new ArrayList<>(Arrays.asList("处理结果")); + basicTitle.add(head2); + List head3 = new ArrayList<>(Arrays.asList("理赔金额")); + basicTitle.add(head3); + List head4 = new ArrayList<>(Arrays.asList("完结时间")); + basicTitle.add(head4); + List head5 = new ArrayList<>(Arrays.asList("是否申诉")); + basicTitle.add(head5); + List head6 = new ArrayList<>(Arrays.asList("申诉状态")); + basicTitle.add(head6); + List head7 = new ArrayList<>(Arrays.asList("钉钉号")); + basicTitle.add(head7); + + List exportData = aftersalesWorkOrderService.getBasicExportData(aftersalesWorkOrder); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (!exportData.isEmpty()) { + List> dataList = new ArrayList<>(); + for (AftersalesWorkOrderVO exportDatum : exportData) { + List data = new ArrayList<>(); + data.add(0,exportDatum.getWorkOrderTypeName()); + data.add(1,exportDatum.getDiscoveryNodeName()); + data.add(2,exportDatum.getWarehouseName()); + data.add(3,exportDatum.getWorkOrderNumber()); + data.add(4,exportDatum.getWaybillNumber()); + data.add(5,exportDatum.getOrderCode()); + data.add(6,exportDatum.getPackageCode()); + data.add(7,exportDatum.getBrandName()); + data.add(8,exportDatum.getWaybillMall()); + data.add(9,exportDatum.getFirst()); + data.add(10,exportDatum.getWorkOrderStatusName()); + data.add(11,exportDatum.getBusinessName()); + data.add(12,sdf.format(exportDatum.getCreateTime())); + data.add(13,sdf.format(exportDatum.getEndCreateTime())); + data.add(14,Objects.isNull(exportDatum.getUpdateTime())?"":sdf.format(exportDatum.getUpdateTime())); + data.add(15,""); + data.add(16,exportDatum.getCustomerServiceName()); + data.add(17,exportDatum.getHeadquartersName()); + data.add(18,exportDatum.getResultTypes()); + data.add(19,exportDatum.getTotalAmountNum()); + data.add(20,exportDatum.getCompleteTime()); + data.add(21,exportDatum.getIsAppeal()); + data.add(22,exportDatum.getAppealStatusName()); + data.add(23,exportDatum.getProcessNumber()); + //查询此工单是否存在有责任方如果存在有责任方完善表头 +// List entityList = aftersalesPersonResponsibleService.list(Wrappers.query().lambda() +// .eq(AftersalesPersonResponsibleEntity::getWordOrderId, exportDatum.getId()) +// .eq(AftersalesPersonResponsibleEntity::getTypesOf, "1") +// ); +// if (!entityList.isEmpty()) { +// handleResponsibility(basicTitle,entityList,data); +// } + dataList.add(data); + } + ServletOutputStream os = null; + try { + os = response.getOutputStream(); + ExcelWriter excelWriter = EasyExcel.write(os).build(); + + WriteSheet sheet = EasyExcel.writerSheet() + // 这里放入动态头 + .head(basicTitle) + // 当然这里数据也可以用 List> 去传入 + .build(); + excelWriter.write(dataList,sheet); + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + } + + + /** + * 处理中导出数据 * */ @GetMapping("/exportWorkOrder1") @@ -763,8 +849,150 @@ public class AftersalesWorkOrderController extends BladeController { data.add(12,sdf.format(exportDatum.getCreateTime())); data.add(13,sdf.format(exportDatum.getEndCreateTime())); data.add(14,Objects.isNull(exportDatum.getUpdateTime())?"":sdf.format(exportDatum.getUpdateTime())); - data.add(15,null); - data.add(16,null); + data.add(15,""); + data.add(16,""); + //查询此工单是否存在有责任方如果存在有责任方完善表头 + List entityList = aftersalesPersonResponsibleService.list(Wrappers.query().lambda() + .eq(AftersalesPersonResponsibleEntity::getWordOrderId, exportDatum.getId()) + .eq(AftersalesPersonResponsibleEntity::getTypesOf, "1") + ); + if (!entityList.isEmpty()) { + handleResponsibility(basicTitle,entityList,data); + } + dataList.add(data); + } + ServletOutputStream os = null; + try { + os = response.getOutputStream(); + ExcelWriter excelWriter = EasyExcel.write(os).build(); + + WriteSheet sheet = EasyExcel.writerSheet() + // 这里放入动态头 + .head(basicTitle) + // 当然这里数据也可以用 List> 去传入 + .build(); + excelWriter.write(dataList,sheet); + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + } + + + /** + * 处理中导出数据 + * + */ + @GetMapping("/exportWorkOrder2") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "导出数据", notes = "传入aftersalesWorkOrder") + public void claimsCompensationExportWorkOrder(@ApiIgnore @RequestParam Map aftersalesWorkOrder, BladeUser bladeUser, HttpServletResponse response) { + List> basicTitle = aftersalesWorkOrderService.basicTitleBuild(); + //查询数据 + List head1 = new ArrayList<>(Arrays.asList("处理结果")); + basicTitle.add(head1); + List head2 = new ArrayList<>(Arrays.asList("理赔金额")); + basicTitle.add(head2); + List exportData = aftersalesWorkOrderService.getBasicExportData(aftersalesWorkOrder); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (!exportData.isEmpty()) { + List> dataList = new ArrayList<>(); + for (AftersalesWorkOrderVO exportDatum : exportData) { + List data = new ArrayList<>(); + data.add(0,exportDatum.getWorkOrderTypeName()); + data.add(1,exportDatum.getDiscoveryNodeName()); + data.add(2,exportDatum.getWarehouseName()); + data.add(3,exportDatum.getWorkOrderNumber()); + data.add(4,exportDatum.getWaybillNumber()); + data.add(5,exportDatum.getOrderCode()); + data.add(6,exportDatum.getPackageCode()); + data.add(7,exportDatum.getBrandName()); + data.add(8,exportDatum.getWaybillMall()); + data.add(9,exportDatum.getFirst()); + data.add(10,exportDatum.getWorkOrderStatusName()); + data.add(11,exportDatum.getBusinessName()); + data.add(12,sdf.format(exportDatum.getCreateTime())); + data.add(13,sdf.format(exportDatum.getEndCreateTime())); + data.add(14,Objects.isNull(exportDatum.getUpdateTime())?"":sdf.format(exportDatum.getUpdateTime())); + data.add(15,""); + data.add(16,""); + data.add(17,exportDatum.getResultTypes()); + data.add(18,exportDatum.getTotalAmountNum()); + //查询此工单是否存在有责任方如果存在有责任方完善表头 + List entityList = aftersalesPersonResponsibleService.list(Wrappers.query().lambda() + .eq(AftersalesPersonResponsibleEntity::getWordOrderId, exportDatum.getId()) + .eq(AftersalesPersonResponsibleEntity::getTypesOf, "1") + ); + if (!entityList.isEmpty()) { + handleResponsibility(basicTitle,entityList,data); + } + dataList.add(data); + } + ServletOutputStream os = null; + try { + os = response.getOutputStream(); + ExcelWriter excelWriter = EasyExcel.write(os).build(); + + WriteSheet sheet = EasyExcel.writerSheet() + // 这里放入动态头 + .head(basicTitle) + // 当然这里数据也可以用 List> 去传入 + .build(); + excelWriter.write(dataList,sheet); + excelWriter.finish(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + } + + + + /** + * 处理中导出数据 + * + */ + @GetMapping("/exportWorkOrder3") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "导出数据", notes = "传入aftersalesWorkOrder") + public void processingCompletedExportWorkOrder(@ApiIgnore @RequestParam Map aftersalesWorkOrder, BladeUser bladeUser, HttpServletResponse response) { + List> basicTitle = aftersalesWorkOrderService.basicTitleBuild(); + //查询数据 + List head1 = new ArrayList<>(Arrays.asList("营业部处理客服")); + basicTitle.add(head1); + List head2 = new ArrayList<>(Arrays.asList("处理结果")); + basicTitle.add(head2); + List head3 = new ArrayList<>(Arrays.asList("理赔金额")); + basicTitle.add(head3); + List exportData = aftersalesWorkOrderService.getBasicExportData(aftersalesWorkOrder); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (!exportData.isEmpty()) { + List> dataList = new ArrayList<>(); + for (AftersalesWorkOrderVO exportDatum : exportData) { + List data = new ArrayList<>(); + data.add(0,exportDatum.getWorkOrderTypeName()); + data.add(1,exportDatum.getDiscoveryNodeName()); + data.add(2,exportDatum.getWarehouseName()); + data.add(3,exportDatum.getWorkOrderNumber()); + data.add(4,exportDatum.getWaybillNumber()); + data.add(5,exportDatum.getOrderCode()); + data.add(6,exportDatum.getPackageCode()); + data.add(7,exportDatum.getBrandName()); + data.add(8,exportDatum.getWaybillMall()); + data.add(9,exportDatum.getFirst()); + data.add(10,exportDatum.getWorkOrderStatusName()); + data.add(11,exportDatum.getBusinessName()); + data.add(12,sdf.format(exportDatum.getCreateTime())); + data.add(13,sdf.format(exportDatum.getEndCreateTime())); + data.add(14,Objects.isNull(exportDatum.getUpdateTime())?"":sdf.format(exportDatum.getUpdateTime())); + data.add(15,""); + data.add(16,exportDatum.getCustomerServiceName()); + data.add(17,exportDatum.getHeadquartersName()); + data.add(18,exportDatum.getResultTypes()); + data.add(19,exportDatum.getTotalAmountNum()); //查询此工单是否存在有责任方如果存在有责任方完善表头 List entityList = aftersalesPersonResponsibleService.list(Wrappers.query().lambda() .eq(AftersalesPersonResponsibleEntity::getWordOrderId, exportDatum.getId()) @@ -802,12 +1030,16 @@ public class AftersalesWorkOrderController extends BladeController { .orderByDesc(AftersaleSurveyRecordEntity::getCreateTime) ); if (!recordEntities.isEmpty()) { + int size = 0; if (!basicTitle.contains(Arrays.asList("最新消息回复内容")) ){ List head5 = new ArrayList<>(Arrays.asList("最新消息回复内容")); - basicTitle.add(basicTitle.size(),head5); - basicTitle.add(head5); + size = basicTitle.size(); + basicTitle.add(size,head5); + + }else { + size = basicTitle.indexOf(Arrays.asList("最新消息回复内容")); } - data.add(recordEntities.get(0).getContent()); + data.add(size,recordEntities.get(0).getContent()); } int aa = 0; 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 1cc9d87f6..86ec24561 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 @@ -125,5 +125,5 @@ public interface AftersalesWorkOrderMapper extends BaseMapper getBasicExportData(@Param("param") AftersalesWorkOrderDTO workOrderDTO, List ids); + List getBasicExportData(@Param("param") AftersalesWorkOrderDTO workOrderDTO,@Param("ids") List ids,@Param("warehouseIds")List warehouseIds); } 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 522da72aa..4330ad7d7 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 @@ -57,6 +57,7 @@ SELECT DISTINCT lawo.id, lawo.ceator, + lawo.warehouse_name, lawo.work_order_type, lawo.discovery_node, lawo.work_order_number, @@ -113,8 +114,8 @@ 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 AND lapr.is_deleted = 0 LEFT JOIN logpm_aftersales_processor AS lap ON lawo.id = lap.work_order_id AND lap.is_deleted = 0 + LEFT JOIN logpm_aftersales_processing_results AS lapr ON lapr.work_order_id = lawo.id AND lapr.is_deleted = 0 AND lap.types_of != '3' AND lap.types_of != '3' lawo.is_deleted = 0 @@ -132,6 +133,7 @@ and lawo.create_time between #{param.startCreateTime} and #{param.endCreateTime} + and lawo.work_order_status = #{param.workOrderStatusNameS } and lawo.id = #{param.id } and lawo.work_order_type = #{param.workOrderType } @@ -188,12 +190,13 @@ and t.brand_name like concat('%',#{param.brandName},'%') and t.waybill_number like concat('%',#{param.waybillNumber},'%') and t.package_code like concat('%',#{param.packageCode},'%') - + and lap.business_id IN #{warehouseId} + group by lawo.id ORDER BY lawo.create_time DESC @@ -1106,26 +1109,28 @@ GROUP_CONCAT(DISTINCT lapr.result_type) AS resultTypes, IFNULL( sum( lapr.money ), 0 ) AS totalAmountNum, lawo.ceator, - IF(lawo.work_order_status = '80',lawo.update_time,'') AS '完结时间', - IF(lawo.work_order_status = '100','是','否') AS '是否申述', + IF(lawo.work_order_status = '80',lawo.update_time,'') AS completeTime, + IF(lawo.work_order_status = '100','是','否') AS isAppeal, lawo.process_number, IF(lawo.work_order_status = '100',(SELECT CASE types_of WHEN 0 THEN '待处理' WHEN 1 THEN '成立' WHEN 2 THEN '驳回' WHEN 3 THEN '取消' - ELSE '未知审核状态' END aaa - FROM logpm_aftersales_appeal WHERE word_order_id = lawo.id AND is_deleted = 0 AND types_of != 3 ORDER BY create_time DESC LIMIT 1),'未申述') AS '申述状态' + FROM logpm_aftersales_appeal WHERE word_order_id = lawo.id AND is_deleted = 0 AND types_of != 3 ORDER BY create_time DESC LIMIT 1),'未申述') AS appealStatusName, + lawo.warehouse_service_name, + lawo.headquarters_name 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 ) + AND lap.is_deleted = 0 LEFT JOIN logpm_aftersales_completion_record lacr ON lacr.work_order_id = lawo.id - AND lacr.is_deleted = '0' + AND lacr.is_deleted = 0 LEFT JOIN (SELECT a.id, group_concat( DISTINCT b.`first` SEPARATOR ',' ) AS `first`, @@ -1143,7 +1148,92 @@ 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 AND lapr.is_deleted = 0 - LEFT JOIN logpm_aftersales_person_responsible AS laprr ON laprr.word_order_id = lawo.id + LEFT JOIN logpm_aftersales_person_responsible AS laprr ON laprr.word_order_id = lawo.id AND laprr.is_deleted = '0' + lawo.is_deleted = 0 + + and lawo.work_order_number in + + #{workOrderNumber} + + + + and lawo.order_code in + + #{orderCode} + + + + and lawo.create_time between #{param.startCreateTime} and #{param.endCreateTime} + + + and lap.business_id IN + + #{warehouseId} + + + + and lawo.id IN + + #{id} + + + 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 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 lawo.work_order_status in ('20') + and lawo.work_order_status in (21,30) + and lawo.work_order_status in (80,100,70) + 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-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java index 8c8d4a823..208642ca6 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java @@ -153,7 +153,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl 0; @@ -2227,7 +2227,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl settlementEntityList = baseMapper.getWholeListSettlement(settlementEntity); List aftersalesWorkOrderEntities = baseMapper.selectList(Wrappers.query().lambda() - .eq(AftersalesWorkOrderEntity::getWorkOrderStatus, WorkOrderStatusConstant.yiwanjei.getValue()) + .eq(AftersalesWorkOrderEntity::getWorkOrderStatus, WorkOrderStatusConstant.yiwanjie.getValue()) ); List list = new ArrayList<>(); @@ -2382,7 +2382,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl { AftersalesWorkOrderEntity workOrderEntity = new AftersalesWorkOrderEntity(); workOrderEntity.setId(i); - workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.yiwanjei.getValue()); + workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.yiwanjie.getValue()); baseMapper.updateById(workOrderEntity); }); @@ -2406,7 +2406,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl warehouseIds = new ArrayList<>(); + if (!Objects.isNull(myCurrentWarehouse)){ + warehouseIds.add(myCurrentWarehouse.getId()); + }else { + //获取当前人所有仓权限信息 + List warehouseList = warehouseClient.getMyWarehouseList(); + if (!warehouseList.isEmpty()) { + warehouseIds.addAll(warehouseList.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList())); + } + } + if (warehouseIds.isEmpty()) { + throw new CustomerException("当前登录人无仓库信息,请联系管理人员!!!"); + } AftersalesWorkOrderDTO workOrderDTO = JSONObject.parseObject(JSONObject.toJSONString(aftersalesWorkOrder), AftersalesWorkOrderDTO.class); - List exportData = baseMapper.getBasicExportData(workOrderDTO,ids); + List exportData = baseMapper.getBasicExportData(workOrderDTO,ids,warehouseIds); return exportData; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java index ccc698265..7f9508642 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java @@ -1700,6 +1700,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl> allStockArticle = reservationStockarticleEntityList.stream().filter(f -> Func.isNotEmpty(f.getIsZero())).collect(Collectors.groupingBy(DistributionReservationStockarticleEntity::getIsZero)); DistributionDeliverySelfEntity finalDistributionDeliverySelfEntity = distributionDeliverySelfEntity; List updatePackageList = new ArrayList<>(); + List logList = new ArrayList<>(); List orderCodes = new ArrayList<>(); for (DistributionReservationStockarticleEntity reservationStockarticleEntity : reservationStockarticleEntityList) { switch (reservationStockarticleEntity.getIsZero()) { @@ -1781,6 +1782,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl Date: Fri, 15 Nov 2024 12:05:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=94=AE=E5=90=8E=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=87=91=E9=A2=9D=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aftersales/entity/AftersalesWorkOrderEntity.java | 6 ++++++ .../aftersales/mapper/AftersalesWorkOrderMapper.xml | 3 ++- .../service/impl/AftersalesWorkOrderServiceImpl.java | 11 +++++++++-- 3 files changed, 17 insertions(+), 3 deletions(-) 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 d8d104013..235cce4ce 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 @@ -25,6 +25,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import org.springblade.core.tenant.mp.TenantEntity; +import java.math.BigDecimal; import java.util.Date; /** @@ -326,6 +327,11 @@ public class AftersalesWorkOrderEntity extends TenantEntity { private Integer packageFinish; + /** + * 赔款金额 + */ + private BigDecimal compensationMoney; + /** 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 4330ad7d7..09c0327fd 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 @@ -1149,6 +1149,7 @@ a.id) AS t ON t.id = lawo.id LEFT JOIN logpm_aftersales_processing_results AS lapr ON lapr.work_order_id = lawo.id AND lapr.is_deleted = 0 LEFT JOIN logpm_aftersales_person_responsible AS laprr ON laprr.word_order_id = lawo.id AND laprr.is_deleted = '0' + lawo.is_deleted = 0 and lawo.work_order_number in @@ -1233,7 +1234,7 @@ 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-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java index 208642ca6..ec947205a 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java @@ -1912,13 +1912,20 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl iterator = aftersalesProcessingResultsDTO.getProcessingMoneyEntityList().iterator(); + while (iterator.hasNext()){ + BigDecimal money = iterator.next().getMoney(); + totalMoney.add(money); + } + } aftersalesProcessingResultsService.ownSaveOrUpdate(aftersalesProcessingResultsDTO); //修改异常工单处理信息! AftersalesWorkOrderEntity workOrderEntity = new AftersalesWorkOrderEntity(); workOrderEntity.setId(aftersalesWorkOrderDTO.getId()); - + workOrderEntity.setCompensationMoney(totalMoney); //是否为已提交 if ("1".equals(aftersalesWorkOrderDTO.getResultIdentification())) { workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.yichuli.getValue());