diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesExchangeEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesExchangeEntity.java index 2e9dd1da4..d11ae271c 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesExchangeEntity.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesExchangeEntity.java @@ -65,7 +65,7 @@ public class AftersalesExchangeEntity extends TenantEntity { * 异常工单ID */ @ApiModelProperty(value = "异常工单ID") - private String workOrderId; + private Long workOrderId; /** * 营业部名称 */ @@ -75,7 +75,7 @@ public class AftersalesExchangeEntity extends TenantEntity { * 营业部ID */ @ApiModelProperty(value = "营业部ID") - private String businessId; + private Long businessId; /** * 交流内容 */ @@ -90,7 +90,7 @@ public class AftersalesExchangeEntity extends TenantEntity { * 仓库ID */ @ApiModelProperty(value = "仓库ID") - private String warehouseId; + private Long warehouseId; @Override diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesProcessingMoneyEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesProcessingMoneyEntity.java index c95288ad4..eb7afaf34 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesProcessingMoneyEntity.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesProcessingMoneyEntity.java @@ -76,7 +76,7 @@ public class AftersalesProcessingMoneyEntity extends TenantEntity { * 处理结果ID */ @ApiModelProperty(value = "处理结果ID") - private Long processingResultsId; + private Long processingResultsId; /** * 类型 */ diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesProcessingResultsEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesProcessingResultsEntity.java index 9a2f1ba4c..d9caf1f77 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesProcessingResultsEntity.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesProcessingResultsEntity.java @@ -104,10 +104,7 @@ public class AftersalesProcessingResultsEntity extends TenantEntity { */ @ApiModelProperty(value = "仓库ID") private String warehouseId; - /** - * 处理结果类型 - */ - private List processingMoneyEntityList; + } diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesProcessingMoneyVO.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesProcessingMoneyVO.java index a6a6dff94..af6485726 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesProcessingMoneyVO.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesProcessingMoneyVO.java @@ -17,6 +17,7 @@ package com.logpm.aftersales.vo; import com.logpm.aftersales.entity.AftersalesProcessingMoneyEntity; +import io.swagger.annotations.ApiModelProperty; import org.springblade.core.tool.node.INode; import lombok.Data; import lombok.EqualsAndHashCode; @@ -32,4 +33,10 @@ import lombok.EqualsAndHashCode; public class AftersalesProcessingMoneyVO extends AftersalesProcessingMoneyEntity { private static final long serialVersionUID = 1L; + /** + * 处理结果类型 + */ + @ApiModelProperty(value = "处理结果类型名称") + private String resultTypeName; + } diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesProcessingResultsVO.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesProcessingResultsVO.java index c0e86be6b..270d1665f 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesProcessingResultsVO.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/vo/AftersalesProcessingResultsVO.java @@ -16,11 +16,14 @@ */ package com.logpm.aftersales.vo; +import com.logpm.aftersales.entity.AftersalesProcessingMoneyEntity; import com.logpm.aftersales.entity.AftersalesProcessingResultsEntity; import org.springblade.core.tool.node.INode; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.List; + /** * 异常工单处理结果 视图实体类 * @@ -32,4 +35,7 @@ import lombok.EqualsAndHashCode; public class AftersalesProcessingResultsVO extends AftersalesProcessingResultsEntity { private static final long serialVersionUID = 1L; + private List processingMoneyEntityList; + + } 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 8329e90b1..ec650c453 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 @@ -16,11 +16,13 @@ */ package com.logpm.aftersales.vo; +import com.logpm.aftersales.entity.AftersalesAbnormalPackageEntity; import com.logpm.aftersales.entity.AftersalesWorkOrderEntity; -import org.springblade.core.tool.node.INode; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.List; + /** * 客服异常工单 视图实体类 * @@ -40,6 +42,19 @@ public class AftersalesWorkOrderVO extends AftersalesWorkOrderEntity { * 提货名称 */ private String discoveryNodeName; + /** + * 责任方和处理方 + */ + private List processorVOList; + /** + * 包条码 + */ + private List abnormalPackageVOList; + /** + * 图片 + */ + private List decreaseImageVOList; + diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/apicontroller/AftersalesWorkOrderAppController.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/apicontroller/AftersalesWorkOrderAppController.java new file mode 100644 index 000000000..ab712a86c --- /dev/null +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/apicontroller/AftersalesWorkOrderAppController.java @@ -0,0 +1,28 @@ +package com.logpm.aftersales.apicontroller; + +import com.logpm.aftersales.dto.AftersalesWorkOrderDTO; +import com.logpm.aftersales.service.IAftersalesWorkOrderService; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import org.apache.xmlbeans.impl.xb.xsdschema.Public; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@AllArgsConstructor +@RequestMapping("/app/workOrder") +@Api(value = "配送管理", tags = "异常工单App接口") +public class AftersalesWorkOrderAppController { + + private final IAftersalesWorkOrderService aftersalesWorkOrderService; + @PostMapping("/addWorkOrder") + public R addWorkOrder(@RequestBody AftersalesWorkOrderDTO aftersalesWorkOrderDTO){ + aftersalesWorkOrderDTO.setInitiationIdentification("PDA"); + return R.data(aftersalesWorkOrderService.addWorkOrder(aftersalesWorkOrderDTO)); + } + + +} diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesProcessingResultsController.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesProcessingResultsController.java index 97f594a82..917386a7a 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesProcessingResultsController.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesProcessingResultsController.java @@ -16,6 +16,7 @@ */ package com.logpm.aftersales.controller; +import cn.hutool.core.util.ObjectUtil; import com.logpm.aftersales.dto.AftersalesProcessingResultsDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -24,6 +25,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; import javax.validation.Valid; +import org.springblade.core.log.exception.ServiceException; import org.springblade.core.secure.BladeUser; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; @@ -122,6 +124,24 @@ public class AftersalesProcessingResultsController extends BladeController { return R.status(aftersalesProcessingResultsService.ownSaveOrUpdate(aftersalesProcessingResults)); } + /** + * 异常工单处理结果 查询数据 + */ + @GetMapping("/queryProcessing") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "详情", notes = "传入aftersalesProcessingResults") + public R getQueryProcessing(AftersalesProcessingResultsEntity aftersalesProcessingResults) { + if(ObjectUtil.isNull(aftersalesProcessingResults.getWorkOrderId())){ + // + throw new ServiceException("异常工单ID不能为空!!"); + } + AftersalesProcessingResultsVO detail = aftersalesProcessingResultsService.getQueryProcessing(aftersalesProcessingResults); + return R.data(AftersalesProcessingResultsWrapper.build().entityVO(detail)); + + } + + + /** * 异常工单处理结果 删除 */ 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 3cdc4e4fa..2e90d5161 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 @@ -168,6 +168,21 @@ public class AftersalesWorkOrderController extends BladeController { return R.status(aftersalesWorkOrderService.addCompletionEnd(aftersalesWorkOrder)); } + + /** + * 客服异常工单 查询处理结果信息数据 + */ + @PostMapping("/getProcessingResults") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "客服异常工单 查询处理结果信息数据", notes = "传入aftersalesWorkOrder") + public R getProcessingResults(@Valid @RequestBody AftersalesWorkOrderDTO aftersalesWorkOrder) { + if(ObjectUtils.isNull(aftersalesWorkOrder.getId())){ + return R.fail("异常工单ID不能为空!!"); + } + AftersalesWorkOrderVO workOrderVO = aftersalesWorkOrderService.getProcessingResults(aftersalesWorkOrder); + return R.data(workOrderVO); + } + /** * 客服异常工单 修改 */ @@ -178,6 +193,21 @@ public class AftersalesWorkOrderController extends BladeController { return R.status(aftersalesWorkOrderService.updateById(aftersalesWorkOrder)); } + /** + * 客服异常工单 钉钉流程号、审核人、审核日期,财务理赔入账日期、操作人 + */ + @PostMapping("/updateWorkList") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "修改", notes = "传入aftersalesWorkOrder") + public R getUpdateWorkList(@Valid @RequestBody AftersalesWorkOrderDTO aftersalesWorkOrder) { + log.info("修改 钉钉流程号、审核人、审核日期,财务理赔入账日期、操作人》》》{}",aftersalesWorkOrder); + if(ObjectUtils.isNull( aftersalesWorkOrder.getAssignList())){ + return R.fail("更新的异常工单不能为空!!"); + } + R r = aftersalesWorkOrderService.getUpdateWorkList(aftersalesWorkOrder); + return r; + } + /** * 客服异常工单 新增或修改 */ diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesProcessingResultsDTO.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesProcessingResultsDTO.java index 3a4ef7f9f..19e5dffbf 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesProcessingResultsDTO.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesProcessingResultsDTO.java @@ -16,10 +16,13 @@ */ package com.logpm.aftersales.dto; +import com.logpm.aftersales.entity.AftersalesProcessingMoneyEntity; import com.logpm.aftersales.entity.AftersalesProcessingResultsEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.List; + /** * 异常工单处理结果 数据传输对象实体类 * @@ -30,5 +33,10 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = true) public class AftersalesProcessingResultsDTO extends AftersalesProcessingResultsEntity { private static final long serialVersionUID = 1L; + /** + * 处理结果类型 + */ + private List processingMoneyEntityList; + } diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesProcessingResultsService.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesProcessingResultsService.java index 3c8d4163d..fbc8adae5 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesProcessingResultsService.java +++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesProcessingResultsService.java @@ -56,4 +56,11 @@ public interface IAftersalesProcessingResultsService extends BaseService implements IAftersalesExchangeService { + private final IAftersalesWorkOrderService aftersalesWorkOrderService; + private static int count=0; @Override @@ -76,6 +83,18 @@ public class AftersalesExchangeServiceImpl extends BaseServiceImpl optById = aftersalesWorkOrderService.getOptById(aftersalesExchange.getWorkOrderId()); + if(optById.isPresent()){ + AftersalesWorkOrderEntity workOrderEntity = optById.get(); + if("10".equals(workOrderEntity.getWorkOrderStatus())){ + AftersalesWorkOrderEntity aftersalesWorkOrder = new AftersalesWorkOrderEntity(); + aftersalesWorkOrder.setId(aftersalesExchange.getWorkOrderId()); + aftersalesWorkOrder.setWorkOrderStatus(WorkOrderStatusConstant.chulizhong.getValue()); + aftersalesWorkOrderService.updateById(aftersalesWorkOrder); + } + } + //添加回复处理交流数据 aftersalesExchange.setCreateTime(new Date()); aftersalesExchange.setCreateDept(Long.valueOf(user.getDeptId())); @@ -86,6 +105,7 @@ public class AftersalesExchangeServiceImpl extends BaseServiceImpl list = aftersalesProcessingMoneyService.list(Wrappers.query().lambda() + .eq(AftersalesProcessingMoneyEntity::getProcessingResultsId, aftersalesProcessingResultsEntity.getId()) + ); + List processingMoneyEntityList = new ArrayList<>(); + + list.forEach( i ->{ + String value = DictBizCache.getValue(DictBizConstant.RESULT_HANDLING, i.getResultType()); + AftersalesProcessingMoneyVO processingMoneyVO = new AftersalesProcessingMoneyVO(); + BeanUtil.copyProperties(i,processingMoneyVO); + processingMoneyVO.setResultTypeName(value); + processingMoneyEntityList.add(processingMoneyVO); + }); + AftersalesProcessingResultsVO processingResultsVO = new AftersalesProcessingResultsVO(); + BeanUtil.copyProperties(aftersalesProcessingResultsEntity,processingResultsVO); + processingResultsVO.setProcessingMoneyEntityList(processingMoneyEntityList); + return processingResultsVO; + } + } 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 acccbdb9a..d07582af0 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 @@ -25,6 +25,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.logpm.aftersales.dto.AftersalesWorkOrderDTO; import com.logpm.aftersales.entity.*; import com.logpm.aftersales.service.*; +import com.logpm.aftersales.vo.AftersalesAbnormalPackageVO; +import com.logpm.aftersales.vo.AftersalesDecreaseImageVO; +import com.logpm.aftersales.vo.AftersalesProcessorVO; import com.logpm.aftersales.vo.AftersalesWorkOrderVO; import com.logpm.aftersales.excel.AftersalesWorkOrderExcel; import com.logpm.aftersales.mapper.AftersalesWorkOrderMapper; @@ -408,7 +411,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl processorVOS = new ArrayList<>(); + List list = aftersalesProcessorService.list(Wrappers.query().lambda() + .eq(AftersalesProcessorEntity::getWorkOrderId, aftersalesWorkOrder.getId()) + ); + + List processorVOS = list.stream().map( i ->{ + AftersalesProcessorVO processorVO = new AftersalesProcessorVO(); + BeanUtil.copyProperties(i,processorVO); + return processorVO; + }).collect(Collectors.toList()); + aftersalesWorkOrderVO.setProcessorVOList(processorVOS); + + //查询包件 + + List list1 = aftersalesAbnormalPackageService.list(Wrappers.query().lambda() + .eq(AftersalesAbnormalPackageEntity::getWorkOrderId, aftersalesWorkOrder.getId()) + ); + List abnormalPackageVOS = list1.stream().map(i ->{ + AftersalesAbnormalPackageVO abnormalPackageVO = new AftersalesAbnormalPackageVO(); + BeanUtil.copyProperties(i,abnormalPackageVO); + return abnormalPackageVO; + }).collect(Collectors.toList()); + aftersalesWorkOrderVO.setAbnormalPackageVOList(abnormalPackageVOS); + //查询图片 + List list2 = aftersalesDecreaseImageService.list(Wrappers.query().lambda() + .eq(AftersalesDecreaseImageEntity::getWorkOrderId, aftersalesWorkOrder.getId()) + ); + List decreaseImageVOS = list2.stream().map( i ->{ + AftersalesDecreaseImageVO decreaseImageVO = new AftersalesDecreaseImageVO(); + BeanUtil.copyProperties(i,decreaseImageVO); + return decreaseImageVO; + }).collect(Collectors.toList()); + aftersalesWorkOrderVO.setDecreaseImageVOList(decreaseImageVOS); + + } + + + return aftersalesWorkOrderVO; + } + + /** + * 修改 钉钉流程号、审核人、审核日期,财务理赔入账日期、操作人 + * @param aftersalesWorkOrder + * @return + */ + @Override + public R getUpdateWorkList(AftersalesWorkOrderDTO aftersalesWorkOrder) { + AftersalesWorkOrderEntity aftersalesWorkOrderEntity = new AftersalesWorkOrderEntity(); + BeanUtil.copyProperties(aftersalesWorkOrder,aftersalesWorkOrderEntity); + LambdaUpdateWrapper q = new LambdaUpdateWrapper<>(); + q.in(AftersalesWorkOrderEntity::getId,aftersalesWorkOrder.getAssignList()); + + return R.data( baseMapper.update(aftersalesWorkOrderEntity,q) ); + + } + + /** + * API 添加工单记录 + * + * @param aftersalesWorkOrderDTO + * @return + */ + @Override + public Boolean addWorkOrder(AftersalesWorkOrderDTO aftersalesWorkOrderDTO) { + + return saveOrUpdateOwn(aftersalesWorkOrderDTO); + } + }