From 26ab8fc5300107aa895c689b094412c22781c2c0 Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Sat, 2 Dec 2023 13:58:59 +0800 Subject: [PATCH 1/4] =?UTF-8?q?PC=E5=9B=BE=E7=89=87=E6=89=93=E5=8C=85?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/springblade/common/utils/FileUtil.java | 3 --- .../service/impl/DistributionSignforServiceImpl.java | 8 +------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/utils/FileUtil.java b/blade-biz-common/src/main/java/org/springblade/common/utils/FileUtil.java index 9060681eb..f296b8dc3 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/utils/FileUtil.java +++ b/blade-biz-common/src/main/java/org/springblade/common/utils/FileUtil.java @@ -38,9 +38,6 @@ public class FileUtil extends TimerTask { this.LocalTempFiles = list; } - public static File checkZipFile(String reservationCode) { - return new File(zipPavePath+".zip"); - } /** diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java index 50cdd5544..2435b1566 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java @@ -3031,7 +3031,6 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl fileList = new ArrayList<>(); List signIds = Func.toLongList(",", ids); List reservationCodes= new ArrayList<>(); List distributionSignforEntities = this.listByIds(signIds); @@ -3061,16 +3060,12 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl Date: Sat, 2 Dec 2023 16:21:34 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=A2=84=E7=BA=A6=E5=95=86=E5=9C=BAID?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DistributionReservationServiceImpl.java | 2 +- .../service/impl/DistributionStockupServiceImpl.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java index 2792add69..6883a0e3c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java @@ -3054,7 +3054,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl Date: Sat, 2 Dec 2023 17:14:49 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/DictBizConstant.java | 11 +- .../aftersales/WorkOrderStatusConstant.java | 3 +- .../entity/AftersalesOvertimeFineEntity.java | 4 +- .../entity/AftersalesWorkOrderEntity.java | 10 ++ .../aftersales/vo/AftersalesWorkOrderVO.java | 12 ++ .../AftersalesWorkOrderController.java | 40 +++-- .../dto/AftersalesWorkOrderDTO.java | 5 + .../excel/AftersalesWorkOrderExcel.java | 53 +----- .../mapper/AftersalesWorkOrderMapper.java | 8 + .../mapper/AftersalesWorkOrderMapper.xml | 8 +- .../service/IAftersalesWorkOrderService.java | 20 ++- .../impl/AftersalesWorkOrderServiceImpl.java | 156 ++++++++++++++++-- .../wrapper/AftersalesWorkOrderWrapper.java | 11 ++ .../WarehouseWarehousingEntryServiceImpl.java | 1 + 14 files changed, 265 insertions(+), 77 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 038996aee..2e7099ec7 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 @@ -18,7 +18,7 @@ public class DictBizConstant { public static final String ORDER_STOCKUP_STATUS = "order_stockup_status";//订单备货状态 public static final String ORDER_RESERVATION_STATUS = "order_reservation_status";//订单预约状态 public static final String RESERVATION_STATUS = "reservation_status";//预约状态 - public static final String WORK_ORDER_STATUS = "work_order_status";//异常工单状态 + public static final String ORDER_PACKAGE_STATUS = "order_package_status";//配送包件状态 @@ -119,4 +119,13 @@ public class DictBizConstant { public static final String OPEN_ORDER_URGENCY = "open_order_urgency"; public static final String OPEN_ORDER_RECEIPT = "open_order_receipt"; public static final String OPEN_ORDER_TRANSPORT_TYPE = "open_order_transport_type"; + + /* 异常工单状态 */ + public static final String PC_WORK_ORDER = "pc_work_order"; //PC工单异常类型 + public static final String PC_DISCOVERY_NODE = "pc_discovery_node"; //PC发现环节 + public static final String PDA_LINK_LNITIATION = "pda_link_lnitiation"; //PDA环节发起 + public static final String RESULT_HANDLING = "result_handling"; //异常处理结果 + public static final String PAYMENT_METHOD = "payment_method"; //赔付支付方式 + public static final String WORK_ORDER_STATUS = "work_order_status";//异常工单状态 + } 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 47350391c..330431b12 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 @@ -6,7 +6,8 @@ public enum WorkOrderStatusConstant { yichuli("已处理","30"), chulizhong("处理中","20"), daishenhe("待审核","40"), - yishenhe("已审核","50"); + yishenhe("已审核","50"), + chaoshiweichuli("超时未处理","60"); /** diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesOvertimeFineEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesOvertimeFineEntity.java index 41be69198..ee79132cc 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesOvertimeFineEntity.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesOvertimeFineEntity.java @@ -66,7 +66,7 @@ public class AftersalesOvertimeFineEntity extends TenantEntity { * 异常工单ID */ @ApiModelProperty(value = "异常工单ID") - private String workOrderId; + private Long workOrderId; /** * 金额 */ @@ -76,7 +76,7 @@ public class AftersalesOvertimeFineEntity extends TenantEntity { * 超时时间 */ @ApiModelProperty(value = "超时时间") - private Date timeout; + private String timeout; /** * 仓库ID */ 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 cbcfec9c5..9451f8def 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 @@ -67,6 +67,16 @@ public class AftersalesWorkOrderEntity extends TenantEntity { */ @ApiModelProperty(value = "工单异常类型;货损,少货,窜货,加急,其他") private String workOrderType; + /** + * 全部责任人 + */ + @ApiModelProperty(value = "全部责任人") + private String responsiblePerson; + /** + * 全部处理人 + */ + @ApiModelProperty(value = "全部处理人") + private String processedBy; /** * 发起工单标识;PDA,PC */ 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 d51c86baa..8329e90b1 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 @@ -31,5 +31,17 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = true) public class AftersalesWorkOrderVO extends AftersalesWorkOrderEntity { private static final long serialVersionUID = 1L; + /** + * 工单名称 + */ + private String workOrderTypeName; + + /** + * 提货名称 + */ + private String discoveryNodeName; + + + } 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 b221f489a..05087cfe1 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 @@ -34,7 +34,6 @@ import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.web.bind.annotation.*; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.aftersales.entity.AftersalesWorkOrderEntity; import com.logpm.aftersales.vo.AftersalesWorkOrderVO; @@ -44,10 +43,8 @@ import com.logpm.aftersales.service.IAftersalesWorkOrderService; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.excel.util.ExcelUtil; -import org.springblade.core.tool.constant.BladeConstant; import springfox.documentation.annotations.ApiIgnore; -import java.util.Calendar; import java.util.Map; import java.util.List; import javax.servlet.http.HttpServletResponse; @@ -98,7 +95,7 @@ public class AftersalesWorkOrderController extends BladeController { */ @GetMapping("/listOwn") @ApiOperationSupport(order = 2) - @ApiOperation(value = "分页", notes = "传入aftersalesWorkOrder") + @ApiOperation(value = "查询异常完整数据集合", notes = "传入aftersalesWorkOrder") public R> getListOwn(@ApiIgnore @RequestParam Map aftersalesWorkOrder, Query query) { BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); if(ObjectUtils.isNotNull(myCurrentWarehouse)){ @@ -108,6 +105,30 @@ public class AftersalesWorkOrderController extends BladeController { return R.data(AftersalesWorkOrderWrapper.build().pageVO(pages)); } + /** + * 客服异常工单 查询处理超时的数据 + */ + @GetMapping("/isItTimeout") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "查询处理超时的数据", notes = "传入aftersalesWorkOrder") + public void getIsItTimeout() { + aftersalesWorkOrderService.getIsItTimeout(); + } + + /** + * 客服异常工单 申述完结工单 + */ + @PostMapping("/appealWorkOrder") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "申述完结工单", notes = "传入aftersalesWorkOrder") + public R getAppealWorkOrder(@RequestBody AftersalesWorkOrderDTO aftersalesWorkOrderDTO) { + R r = aftersalesWorkOrderService.getAppealWorkOrder(aftersalesWorkOrderDTO); + return R.success("提交成功!"); + + } + + + /** * 客服异常工单 自定义分页 */ @@ -198,13 +219,10 @@ public class AftersalesWorkOrderController extends BladeController { @ApiOperationSupport(order = 9) @ApiOperation(value = "导出数据", notes = "传入aftersalesWorkOrder") public void exportAftersalesWorkOrder(@ApiIgnore @RequestParam Map aftersalesWorkOrder, BladeUser bladeUser, HttpServletResponse response) { - QueryWrapper queryWrapper = Condition.getQueryWrapper(aftersalesWorkOrder, AftersalesWorkOrderEntity.class); - //if (!AuthUtil.isAdministrator()) { - // queryWrapper.lambda().eq(AftersalesWorkOrder::getTenantId, bladeUser.getTenantId()); - //} - queryWrapper.lambda().eq(AftersalesWorkOrderEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); - List list = aftersalesWorkOrderService.exportAftersalesWorkOrder(queryWrapper); - ExcelUtil.export(response, "客服异常工单数据" + DateUtil.time(), "客服异常工单数据表", list, AftersalesWorkOrderExcel.class); + + List list = aftersalesWorkOrderService.exportAftersalesWorkOrder(aftersalesWorkOrder); + ExcelUtil.export(response, "异常工单数据" + DateUtil.time(), "异常工单数据", list, AftersalesWorkOrderExcel.class); } + } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesWorkOrderDTO.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesWorkOrderDTO.java index 2ba5180cc..df12d71d4 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesWorkOrderDTO.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesWorkOrderDTO.java @@ -67,5 +67,10 @@ public class AftersalesWorkOrderDTO extends AftersalesWorkOrderEntity { */ private List completionRecordEntities; + /** + * 申述ID + */ + private List appealList; + } 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 887fff3e8..e2e09bfbd 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 @@ -41,66 +41,25 @@ public class AftersalesWorkOrderExcel implements Serializable { private static final long serialVersionUID = 1L; - /** - * 租户号 - */ - @ColumnWidth(20) - @ExcelProperty("租户号") - private String tenantId; - /** - * 是否已删除 - */ - @ColumnWidth(20) - @ExcelProperty("是否已删除") - private Integer isDeleted; - /** - * 预留1 - */ - @ColumnWidth(20) - @ExcelProperty("预留1") - private String reserve1; - /** - * 预留2 - */ - @ColumnWidth(20) - @ExcelProperty("预留2") - private String reserve2; - /** - * 预留3 - */ - @ColumnWidth(20) - @ExcelProperty("预留3") - private String reserve3; - /** - * 预留4 - */ - @ColumnWidth(20) - @ExcelProperty("预留4") - private String reserve4; - /** - * 预留5 - */ - @ColumnWidth(20) - @ExcelProperty("预留5") - private String reserve5; + /** * 工单异常类型;货损,少货,窜货,加急,其他 */ @ColumnWidth(20) - @ExcelProperty("工单异常类型;货损,少货,窜货,加急,其他") - private String workOrderType; + @ExcelProperty("工单异常类型") + private String workOrderTypeName; /** * 发起工单标识;PDA,PC */ @ColumnWidth(20) - @ExcelProperty("发起工单标识;PDA,PC") + @ExcelProperty("发起工单标识") private String initiationIdentification; /** * 发现节点;提货,发货,干线,库内,配送,其他,签收(PC),安装(PC) */ @ColumnWidth(20) - @ExcelProperty("发现节点;提货,发货,干线,库内,配送,其他,签收(PC),安装(PC)") - private String discoveryNode; + @ExcelProperty("发现节点") + private String discoveryNodeName; /** * 异常工单号 */ 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 c6cb8cf35..4d56782f3 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 @@ -59,4 +59,12 @@ public interface AftersalesWorkOrderMapper extends BaseMapper getPendingWorkOrder(IPage page,@Param("param") AftersalesWorkOrderDTO aftersalesWorkOrder); + + /** + * 查询完整的异常工单信息 + * @param page + * @param workOrderEntity + * @return + */ + IPage pageListOwn(IPage page,@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 da7954a1a..864fd094e 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 @@ -49,8 +49,14 @@ + + diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java index be2067b41..5c9b04a3e 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java @@ -16,13 +16,14 @@ */ package com.logpm.aftersales.service; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.logpm.aftersales.dto.AftersalesWorkOrderDTO; import com.logpm.aftersales.entity.AftersalesWorkOrderEntity; import com.logpm.aftersales.vo.AftersalesWorkOrderVO; import com.logpm.aftersales.excel.AftersalesWorkOrderExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; +import org.springblade.core.tool.api.R; + import java.util.List; import java.util.Map; @@ -46,10 +47,9 @@ public interface IAftersalesWorkOrderService extends BaseService exportAftersalesWorkOrder(Wrapper queryWrapper); + List exportAftersalesWorkOrder(Map objectMap); /** * 工单添加和修改 @@ -81,4 +81,16 @@ public interface IAftersalesWorkOrderService extends BaseService pageListOwn(Map aftersalesWorkOrder, IPage page); + + /** + * 查询订单超时是否超时未处理 + */ + void getIsItTimeout(); + + /** + * 提交工单申述 + * @param aftersalesWorkOrderDTO + * @return + */ + R getAppealWorkOrder(AftersalesWorkOrderDTO aftersalesWorkOrderDTO); } 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 a823b7ea6..90214a7b0 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 @@ -17,12 +17,12 @@ package com.logpm.aftersales.service.impl; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.aftersales.dto.AftersalesWorkOrderDTO; -import com.logpm.aftersales.entity.AftersalesAbnormalPackageEntity; -import com.logpm.aftersales.entity.AftersalesDecreaseImageEntity; -import com.logpm.aftersales.entity.AftersalesProcessorEntity; -import com.logpm.aftersales.entity.AftersalesWorkOrderEntity; +import com.logpm.aftersales.entity.*; import com.logpm.aftersales.service.*; import com.logpm.aftersales.vo.AftersalesWorkOrderVO; import com.logpm.aftersales.excel.AftersalesWorkOrderExcel; @@ -31,22 +31,32 @@ import com.logpm.basicdata.entity.BasicdataWarehouseEntity; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.common.constant.DictBizConstant; import org.springblade.common.constant.aftersales.WorkOrderStatusConstant; import org.springblade.core.log.exception.ServiceException; +import org.springblade.core.mp.support.Condition; import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.constant.BladeConstant; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.system.cache.DictBizCache; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.time.Duration; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneOffset; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 客服异常工单 服务实现类 @@ -64,6 +74,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl exportAftersalesWorkOrder(Wrapper queryWrapper) { - List aftersalesWorkOrderList = baseMapper.exportAftersalesWorkOrder(queryWrapper); - //aftersalesWorkOrderList.forEach(aftersalesWorkOrder -> { - // aftersalesWorkOrder.setTypeName(DictCache.getValue(DictEnum.YES_NO, AftersalesWorkOrder.getType())); - //}); + public List exportAftersalesWorkOrder(Map objectMap) { + List aftersalesWorkOrderList = new ArrayList<>(); + QueryWrapper queryWrapper = Condition.getQueryWrapper(objectMap, AftersalesWorkOrderEntity.class); + //if (!AuthUtil.isAdministrator()) { + // queryWrapper.lambda().eq(AftersalesWorkOrder::getTenantId, bladeUser.getTenantId()); + //} + queryWrapper.lambda().eq(AftersalesWorkOrderEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); + + List aftersalesWorkOrderEntities = baseMapper.selectList(queryWrapper); + aftersalesWorkOrderEntities.forEach(i -> { +// aftersalesWorkOrder.setTypeName(DictCache.getValue(DictEnum.YES_NO, AftersalesWorkOrder.getType())); + AftersalesWorkOrderExcel aftersalesWorkOrderExcel = new AftersalesWorkOrderExcel(); + BeanUtil.copyProperties(i,aftersalesWorkOrderExcel); + aftersalesWorkOrderList.add(aftersalesWorkOrderExcel); + aftersalesWorkOrderExcel.setWorkOrderTypeName(DictBizCache.getValue(DictBizConstant.PC_WORK_ORDER,i.getWorkOrderStatus())); + if("PC".equals(aftersalesWorkOrderExcel.getInitiationIdentification())){ + //PC + aftersalesWorkOrderExcel.setDiscoveryNodeName(DictBizCache.getValue(DictBizConstant.PC_DISCOVERY_NODE,i.getDiscoveryNode())); + }else{ + //PDA + aftersalesWorkOrderExcel.setDiscoveryNodeName(DictBizCache.getValue(DictBizConstant.PDA_LINK_LNITIATION,i.getDiscoveryNode())); + } + }); + return aftersalesWorkOrderList; } @@ -124,6 +154,20 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl{ + if("1".equals(k)){ + //责任人 + String collect = v.stream().map(AftersalesProcessorEntity::getBusinessName).collect(Collectors.joining(",")); + aftersalesWorkOrder.setResponsiblePerson(collect); + }else{ + String collect = v.stream().map(AftersalesProcessorEntity::getBusinessName).collect(Collectors.joining(",")); + aftersalesWorkOrder.setProcessedBy(collect); + } + + }); + } baseMapper.insert(aftersalesWorkOrder); @@ -140,6 +184,21 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl{ + if("1".equals(k)){ + //责任人 + String collect = v.stream().map(AftersalesProcessorEntity::getBusinessName).collect(Collectors.joining(",")); + aftersalesWorkOrder.setResponsiblePerson(collect); + }else{ + String collect = v.stream().map(AftersalesProcessorEntity::getBusinessName).collect(Collectors.joining(",")); + aftersalesWorkOrder.setProcessedBy(collect); + } + + }); + } + list.add(processorEntity); }); if(!list.isEmpty()){ @@ -253,6 +312,83 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl pageListOwn(Map aftersalesWorkOrder, IPage page) { + + AftersalesWorkOrderEntity workOrderEntity = JSONObject.parseObject(JSONObject.toJSONString(aftersalesWorkOrder), AftersalesWorkOrderEntity.class); + return baseMapper.pageListOwn(page,workOrderEntity); + } + + /** + * 查询工单超时未处理并添加超时记录 + */ + @Override + public void getIsItTimeout() { + + List aftersalesWorkOrderEntities = baseMapper.selectList(Wrappers.query().lambda() + .eq(AftersalesWorkOrderEntity::getWorkOrderStatus, WorkOrderStatusConstant.daichuli.getValue()) + .eq(AftersalesWorkOrderEntity::getIsDeleted,0) + ); + if(!aftersalesWorkOrderEntities.isEmpty()){ + List collect = aftersalesWorkOrderEntities.stream().filter(i -> { + // 获取当前时间 + LocalDateTime now = LocalDateTime.now(); + // 获取48小时前的时间 + LocalDateTime before48Hours = now.minusHours(48); + // 获取48小时前的时间戳(秒数) + long timestamp = before48Hours.toEpochSecond(ZoneOffset.ofHours(8)); + long l = i.getCreateTime().getTime() / 1000; + long l1 = timestamp - l; + if (l1 > 0) { + //以超时 + return true; + } else { + return false; + } + }).collect(Collectors.toList()); + if(!collect.isEmpty()){ + collect.forEach(i ->{ + //处理超时数据 + AftersalesWorkOrderEntity aftersalesWorkOrder = new AftersalesWorkOrderVO(); + aftersalesWorkOrder.setWorkOrderStatus(WorkOrderStatusConstant.chaoshiweichuli.getValue()); + aftersalesWorkOrder.setId(i.getId()); + baseMapper.updateById(aftersalesWorkOrder); + + // 假设有两个时间戳(秒数) + long timestamp1 = new Date().getTime() / 1000; // 现在时间 + long timestamp2 = i.getCreateTime().getTime() / 1000; // 创建时间 + + // 将时间戳转换为Instant对象 + Instant instant1 = Instant.ofEpochSecond(timestamp1); + Instant instant2 = Instant.ofEpochSecond(timestamp2); + + // 计算两个时间戳之间的小时差 + Duration duration = Duration.between(instant1, instant2); + long hours = duration.toHours(); + + //添加超时记录 + AftersalesOvertimeFineEntity overtimeFineEntity = new AftersalesOvertimeFineEntity(); + overtimeFineEntity.setWorkOrderId(i.getId()); + overtimeFineEntity.setMoney(BigDecimal.valueOf(20)); + overtimeFineEntity.setTimeout(String.valueOf(hours)); + aftersalesOvertimeFineService.save(overtimeFineEntity); + }); + + } + } + + } + + /** + * 提交申述工单异常 + * @param aftersalesWorkOrderDTO + * @return + */ + @Override + public R getAppealWorkOrder(AftersalesWorkOrderDTO aftersalesWorkOrderDTO) { + + + + + return null; } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/wrapper/AftersalesWorkOrderWrapper.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/wrapper/AftersalesWorkOrderWrapper.java index 15d4cc7b0..478c62eb7 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/wrapper/AftersalesWorkOrderWrapper.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/wrapper/AftersalesWorkOrderWrapper.java @@ -16,10 +16,13 @@ */ package com.logpm.aftersales.wrapper; +import org.springblade.common.constant.DictBizConstant; import org.springblade.core.mp.support.BaseEntityWrapper; import org.springblade.core.tool.utils.BeanUtil; import com.logpm.aftersales.entity.AftersalesWorkOrderEntity; import com.logpm.aftersales.vo.AftersalesWorkOrderVO; +import org.springblade.system.cache.DictBizCache; + import java.util.Objects; /** @@ -37,6 +40,14 @@ public class AftersalesWorkOrderWrapper extends BaseEntityWrapper Date: Sat, 2 Dec 2023 17:15:57 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E9=85=8D=E9=80=81=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DistributionAsyncServiceImpl.java | 152 +++++++++++------- .../DistributionReservationServiceImpl.java | 2 +- 2 files changed, 96 insertions(+), 58 deletions(-) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java index ee7da4b7b..089cb074a 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java @@ -28,6 +28,7 @@ import org.springblade.common.constant.Inventory.InventorySigningStatusConstant; import org.springblade.common.constant.common.IsOrNoConstant; import org.springblade.common.constant.delivery.DeliveryLoadingStatusConstant; import org.springblade.common.constant.delivery.DeliveryStatusConstant; +import org.springblade.common.constant.loading.LoadingStatusConstant; import org.springblade.common.constant.order.OrderReservationStatusConstant; import org.springblade.common.constant.order.OrderStatusConstant; import org.springblade.common.constant.order.OrderStockupStatusConstant; @@ -36,6 +37,7 @@ import org.springblade.common.constant.orderpackage.OrderPackageReservationStatu import org.springblade.common.constant.orderpackage.OrderPackageStatusConstant; import org.springblade.common.constant.orderpackage.OrderPackageStockupStatusConstant; import org.springblade.common.constant.reservation.*; +import org.springblade.common.constant.signing.SignforStatusConstant; import org.springblade.common.constant.stockup.StockupStatusConstant; import org.springblade.common.exception.CustomerException; import org.springblade.core.tool.utils.Func; @@ -61,6 +63,7 @@ import java.util.stream.Collectors; public class DistributionAsyncServiceImpl implements IDistributionAsyncService { private final DistributionLoadscanMapper distributionLoadscanMapper; + private final DistributionLoadscaninvnMapper distributionLoadscaninvnMapper; private final IDistributionStockArticleService distributionStockArticleService; private final DistributionStockMapper distributionStockService; private final DistributionStockListMapper distributionStockListMapper; @@ -457,103 +460,138 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService { .ne(DisStockListDetailEntity::getStockPackageStatus, InventoryPackageStatusConstant.quxiao.getValue())); boolean inventoryLoadingFlag = list.stream().allMatch(l -> l.getStockLockingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue())); boolean inventorySigningFlag = list.stream().allMatch(l -> l.getStockSignfoStatus().equals(InventorySigningStatusConstant.yiqianshou.getValue())); - List reservationStockarticleEntityList = distributionReservationStocklistMapper.selectList(Wrappers.query().lambda() + List reservationStocklistEntityList = distributionReservationStocklistMapper.selectList(Wrappers.query().lambda() .eq(DistributionReservationStocklistEntity::getReservationId, loadingInventoryDetail.getReservationId()) .eq(DistributionReservationStocklistEntity::getStocklistId, loadingInventoryDetail.getStockListId()) .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationInventoryStatusConstant.quxiao.getValue())); - if (reservationStockarticleEntityList.size() == 1) { + if (reservationStocklistEntityList.size() == 1) { //修改状态 - DistributionReservationStocklistEntity reservationStockarticleEntity = reservationStockarticleEntityList.get(0); + DistributionReservationStocklistEntity reservationStocklistEntity = reservationStocklistEntityList.get(0); if (inventoryLoadingFlag) { //查询出库存品进行全部状态的变更 - reservationStockarticleEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue()); + reservationStocklistEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue()); } else { inventoryLoadingFlag = list.stream().allMatch(l -> l.getStockLockingStatus().equals(InventoryLoadingStatusConstant.weizhuangche.getValue())); if (inventoryLoadingFlag) { - reservationStockarticleEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue()); + reservationStocklistEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue()); } else { - reservationStockarticleEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.bufenzhuangche.getValue()); + reservationStocklistEntity.setLoadingStatus(ReservationInventoryLoadingStatusConstant.bufenzhuangche.getValue()); } } if (inventorySigningFlag) { //查询出库存品进行全部状态的变更 - reservationStockarticleEntity.setSigningStatus(ReservationInventorySigningStatusConstant.yiqianshou.getValue()); + reservationStocklistEntity.setSigningStatus(ReservationInventorySigningStatusConstant.yiqianshou.getValue()); } else { inventorySigningFlag = list.stream().allMatch(l -> l.getStockLockingStatus().equals(InventoryLoadingStatusConstant.weizhuangche.getValue())); if (inventorySigningFlag) { - reservationStockarticleEntity.setSigningStatus(ReservationInventorySigningStatusConstant.weiqianshou.getValue()); + reservationStocklistEntity.setSigningStatus(ReservationInventorySigningStatusConstant.weiqianshou.getValue()); } else { - reservationStockarticleEntity.setSigningStatus(ReservationInventorySigningStatusConstant.bufenqianshou.getValue()); + reservationStocklistEntity.setSigningStatus(ReservationInventorySigningStatusConstant.bufenqianshou.getValue()); } } - distributionReservationStocklistMapper.updateById(reservationStockarticleEntity); + distributionReservationStocklistMapper.updateById(reservationStocklistEntity); } else { - log.error("####库存品记录错误+{" + reservationStockarticleEntityList + "}"); + log.error("####库存品记录错误+{" + reservationStocklistEntityList + "}"); return; } } //查询出这个预约下的包件信息和库存品信息分别进行判断是否都完成装车 List reservationEntityList = distributionDeliveryListMapper.selectReservationByDeliveryListId(deliveryId); reservationEntityList.forEach(r -> { - //查询预约下的所有包件信息 - List parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(r.getId()); - boolean reservationLoadingFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue())); - List distributionReservationStocklistEntities = distributionReservationStocklistMapper.selectList(Wrappers.query().lambda() - .eq(DistributionReservationStocklistEntity::getReservationId, r.getId()) - .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationInventoryStatusConstant.quxiao.getValue())); - boolean inventoryLoadingFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getLoadingStatus().equals(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue())); - if (reservationLoadingFlag && inventoryLoadingFlag) { + int reservationTotal = r.getReservationNum() + r.getReservationStockListNum(); + //查询此预约的包件装车数和库存品装车数 + Integer loadingNum = 0; + Integer signNum = 0; + List loadscanEntityList = distributionLoadscanMapper.selectList(Wrappers.query().lambda() + .eq(DistributionLoadscanEntity::getReservationId, r.getId()) + .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) + ); + if (Func.isNotEmpty(loadscanEntityList)){ + loadingNum += loadscanEntityList.stream().mapToInt(DistributionLoadscanEntity::getLoadedNub).sum(); + signNum += loadscanEntityList.stream().filter(l->l.getSignforState().equals(SignforStatusConstant.yiqianshou.getValue())).mapToInt(DistributionLoadscanEntity::getReceivedQuantity).sum(); + + } + List loadscaninvnEntityList = distributionLoadscaninvnMapper.selectList(Wrappers.query().lambda() + .eq(DistributionLoadscaninvnEntity::getReservationId, r.getId()) + .ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) + ); + if (Func.isNotEmpty(loadscanEntityList)){ + loadingNum += loadscaninvnEntityList.stream().mapToInt(DistributionLoadscaninvnEntity::getLoadedNub).sum(); + signNum += loadscaninvnEntityList.stream().filter(l->l.getSignforState().equals(SignforStatusConstant.yiqianshou.getValue())).mapToInt(DistributionLoadscaninvnEntity::getReceivedQuantity).sum(); + } + + if (loadingNum == reservationTotal){ r.setLoadingStatus(ReservationLoadingStatusConstant.yizhuangche.getValue()); - } else { - reservationLoadingFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())); - inventoryLoadingFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getLoadingStatus().equals(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue())); - if (reservationLoadingFlag && inventoryLoadingFlag) { - r.setLoadingStatus(ReservationLoadingStatusConstant.daizhuangche.getValue()); - } else { - r.setLoadingStatus(ReservationLoadingStatusConstant.bufenzhuangche.getValue()); - } + }else { + r.setLoadingStatus(ReservationLoadingStatusConstant.bufenzhuangche.getValue()); } - boolean inventorySigningFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getSigningStatus().equals(ReservationInventorySigningStatusConstant.yiqianshou.getValue())); - boolean reservationSigningFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); - if (inventorySigningFlag && reservationSigningFlag) { - r.setSigningStatus(ReservationSigningStatusConstant.yiqianshou.getValue()); - } else { - inventorySigningFlag = distributionReservationStocklistEntities.stream().allMatch(i -> !i.getSigningStatus().equals(ReservationInventorySigningStatusConstant.yiqianshou.getValue())); - reservationSigningFlag = parcelListEntities.stream().allMatch(p -> !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); - if (inventorySigningFlag && reservationSigningFlag) { - r.setSigningStatus(ReservationSigningStatusConstant.daiqianshou.getValue()); - } else { - r.setSigningStatus(ReservationSigningStatusConstant.bufenqianshou.getValue()); - } + if (signNum == reservationTotal){ + r.setSigningStatus(ReservationSigningStatusConstant.yiqianshou.getValue()); + }else { + r.setSigningStatus(ReservationSigningStatusConstant.bufenqianshou.getValue()); } +// //查询预约下的所有包件信息 +// List parcelListEntities = distributionReservationMapper.selectPackageListByReservationId(r.getId()); +// boolean reservationLoadingFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(InventoryLoadingStatusConstant.yizhuangche.getValue())); +// List distributionReservationStocklistEntities = distributionReservationStocklistMapper.selectList(Wrappers.query().lambda() +// .eq(DistributionReservationStocklistEntity::getReservationId, r.getId()) +// .ne(DistributionReservationStocklistEntity::getStockListStatus, ReservationInventoryStatusConstant.quxiao.getValue())); +// boolean inventoryLoadingFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getLoadingStatus().equals(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue())); +// if (reservationLoadingFlag && inventoryLoadingFlag) { +// r.setLoadingStatus(ReservationLoadingStatusConstant.yizhuangche.getValue()); +// } else { +// reservationLoadingFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())); +// inventoryLoadingFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getLoadingStatus().equals(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue())); +// if (reservationLoadingFlag && inventoryLoadingFlag) { +// r.setLoadingStatus(ReservationLoadingStatusConstant.daizhuangche.getValue()); +// } else { +// r.setLoadingStatus(ReservationLoadingStatusConstant.bufenzhuangche.getValue()); +// } +// } +// boolean inventorySigningFlag = distributionReservationStocklistEntities.stream().allMatch(i -> i.getSigningStatus().equals(ReservationInventorySigningStatusConstant.yiqianshou.getValue())); +// boolean reservationSigningFlag = parcelListEntities.stream().allMatch(p -> p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); +// if (inventorySigningFlag && reservationSigningFlag) { +// r.setSigningStatus(ReservationSigningStatusConstant.yiqianshou.getValue()); +// } else { +// inventorySigningFlag = distributionReservationStocklistEntities.stream().allMatch(i -> !i.getSigningStatus().equals(ReservationInventorySigningStatusConstant.yiqianshou.getValue())); +// reservationSigningFlag = parcelListEntities.stream().allMatch(p -> !p.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())); +// if (inventorySigningFlag && reservationSigningFlag) { +// r.setSigningStatus(ReservationSigningStatusConstant.daiqianshou.getValue()); +// +// } else { +// r.setSigningStatus(ReservationSigningStatusConstant.bufenqianshou.getValue()); +// } +// } distributionReservationMapper.updateById(r); }); - List deliveryParcelListEntityList = distributionDeliveryListMapper.selectPackageListByDeliveryListId(deliveryId); - List detailEntities = distributionDeliveryListMapper.selectInventoryListByDeliveryListId(deliveryId); - boolean deliveryLoadingFlag = deliveryParcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); - boolean deliveryInventoryLoadingFlag = detailEntities.stream().allMatch(i -> i.getStockLockingStatus().equals(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue())); DistributionDeliveryListEntity deliveryListEntity = distributionDeliveryListMapper.selectOne(Wrappers.query().lambda().eq(DistributionDeliveryListEntity::getId, deliveryId)); - if (deliveryLoadingFlag && deliveryInventoryLoadingFlag) { - deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.yizhuangche.getValue()); - } else { - deliveryLoadingFlag = deliveryParcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.weizhuancghe.getValue())); - deliveryInventoryLoadingFlag = detailEntities.stream().allMatch(i -> i.getStockLockingStatus().equals(ReservationInventoryLoadingStatusConstant.weizhuangche.getValue())); - if (deliveryLoadingFlag && deliveryInventoryLoadingFlag) { - deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.weizhuangche.getValue()); - } else { - deliveryListEntity.setDeliveryListLoadingStatus(DeliveryLoadingStatusConstant.bunfenzhuangche.getValue()); - } + Integer delivertTotal = deliveryListEntity.getDeliveryNumber(); + Integer deliverySigningNum = 0 ; + List loadscanEntityList = distributionLoadscanMapper.selectList(Wrappers.query().lambda() + .eq(DistributionLoadscanEntity::getDeliveryId, deliveryListEntity.getId()) + .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) + ); + if (Func.isNotEmpty(loadscanEntityList)){ + deliverySigningNum += loadscanEntityList.stream().filter(l->l.getSignforState().equals(SignforStatusConstant.yiqianshou.getValue())).mapToInt(DistributionLoadscanEntity::getReceivedQuantity).sum(); + } - boolean deliveryPackageSigningFlag = deliveryParcelListEntityList.stream().allMatch(p -> p.getOrderPackageLoadingStatus().equals(OrderPackageLoadingStatusConstant.yizhuangche.getValue())); - boolean deliveryInventorySigningFlag = detailEntities.stream().allMatch(i -> i.getStockLockingStatus().equals(ReservationInventoryLoadingStatusConstant.yizhuangche.getValue())); - if (deliveryPackageSigningFlag && deliveryInventorySigningFlag) { + List loadscaninvnEntityList = distributionLoadscaninvnMapper.selectList(Wrappers.query().lambda() + .eq(DistributionLoadscaninvnEntity::getDeliveryId, deliveryListEntity.getId()) + .ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue()) + ); + if (Func.isNotEmpty(loadscanEntityList)){ + deliverySigningNum += loadscaninvnEntityList.stream().filter(l->l.getSignforState().equals(SignforStatusConstant.yiqianshou.getValue())).mapToInt(DistributionLoadscaninvnEntity::getReceivedQuantity).sum(); + } + + if (deliverySigningNum == delivertTotal){ deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.yiwancheng.getValue()); - } else { + }else { deliveryListEntity.setDeliveryStatus(DeliveryStatusConstant.peisongzhong.getValue()); } + distributionDeliveryListMapper.updateById(deliveryListEntity); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java index 6883a0e3c..9a1f7f58c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionReservationServiceImpl.java @@ -1171,7 +1171,7 @@ public class DistributionReservationServiceImpl extends BaseServiceImpl