diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/ProcessorProcessingStatusStatusConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/ProcessorProcessingStatusStatusConstant.java index 5fafaa472..e6fe45dba 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/ProcessorProcessingStatusStatusConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/ProcessorProcessingStatusStatusConstant.java @@ -3,7 +3,9 @@ package org.springblade.common.constant.aftersales; public enum ProcessorProcessingStatusStatusConstant { daichuli("待处理","1"), yichuli("已处理","2"), - yichaoshi("已超时","3"); + yichaoshi("已超时","3"), + tijiaofang("处理结果提交方","4") + ; ProcessorProcessingStatusStatusConstant(String name, String value) { this.name = name; diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersaleSurveyRecordEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersaleSurveyRecordEntity.java index 92aec21c9..af8e51b14 100644 --- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersaleSurveyRecordEntity.java +++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersaleSurveyRecordEntity.java @@ -123,6 +123,9 @@ public class AftersaleSurveyRecordEntity extends TenantEntity { @ApiModelProperty(value = "图片路径") private String pictureUrl; - + /** + * 处理方ID + */ + private Long processorId; } 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 8b8a64850..c99a5893c 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,6 +16,7 @@ */ package com.logpm.aftersales.vo; +import com.logpm.aftersales.entity.AftersaleSurveyRecordEntity; import com.logpm.aftersales.entity.AftersalesAbnormalPackageEntity; import com.logpm.aftersales.entity.AftersalesWorkOrderEntity; import lombok.Data; @@ -71,6 +72,6 @@ public class AftersalesWorkOrderVO extends AftersalesWorkOrderEntity { */ private Long processorId; - + private List surveyRecordEntities; } 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 41966aee3..140ecdd09 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 @@ -97,11 +97,11 @@ 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) { IPage pages = aftersalesWorkOrderService.pageListOwn(aftersalesWorkOrder, Condition.getPage(query)); @@ -109,7 +109,25 @@ public class AftersalesWorkOrderController extends BladeController { } /** - * 客服异常工单 查询处理超时的数据 + * 客服异常工单 提交异常工单处理结果 + */ + @PostMapping("/addProcessingResults") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "营业部提交异常工单处理结果", notes = "传入aftersalesWorkOrder") + public R addProcessingResults(@RequestBody AftersalesWorkOrderDTO aftersalesWorkOrderDTO) { + log.info("营业部提交异常工单处理结果》》》{}",aftersalesWorkOrderDTO); + if(ObjectUtils.isNull( aftersalesWorkOrderDTO.getId())){ + throw new ServiceException("异常工单ID不能为空"); + } + if(ObjectUtils.isNull(aftersalesWorkOrderDTO.getAftersalesProcessingResultsDTO())){ + throw new ServiceException("异常工单处理结果不能为空"); + } + return R.status(aftersalesWorkOrderService.addProcessingResults(aftersalesWorkOrderDTO)); + + } + + /** + * 客服异常工单 查询处理超时的数据 待处理 */ @GetMapping("/isItTimeout") @ApiOperationSupport(order = 2) @@ -151,6 +169,22 @@ public class AftersalesWorkOrderController extends BladeController { return R.status(aftersalesWorkOrderService.savaSurveyRecord(aftersalesWorkOrderDTO)); } + /** + * 工单调查记录表 查询调查记录 + */ + @GetMapping("/getSurveyRecord") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "查询调查记录", notes = "传入aftersaleSurveyRecord") + public R getSurveyRecord(AftersalesWorkOrderDTO aftersalesWorkOrderDTO) { + log.info("查询调查记录》》》{}", aftersalesWorkOrderDTO); + + if(ObjectUtils.isNull(aftersalesWorkOrderDTO.getId())){ + throw new ServiceException("异常工单ID不能为空"); + } + AftersalesWorkOrderVO list = aftersalesWorkOrderService.getSurveyRecord(aftersalesWorkOrderDTO); + return R.data(list); + } + /** * 客服异常工单 查询营业部责任人人员信息 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 a7dcb37cf..4f351f296 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 @@ -186,4 +186,18 @@ public interface IAftersalesWorkOrderService extends BaseService> deptNames = sysClient.getDeptNames(user.getDeptId()); if(ObjectUtils.isNotNull(deptNames)){ @@ -830,7 +831,11 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl q = new LambdaUpdateWrapper<>(); + q.eq(AftersalesProcessorEntity::getBusinessName,myCurrentWarehouse.getName()); + q.eq(AftersalesProcessorEntity::getBusinessId,myCurrentWarehouse.getId()); + q.eq(AftersalesProcessorEntity::getTypesOf,ProcessorTypesOfStatusConstant.chulifang.getValue()); + q.set(AftersalesProcessorEntity::getProcessingStatus,ProcessorProcessingStatusStatusConstant.tijiaofang.getValue()); + aftersalesProcessorService.update(q); + //添加处理结果 +// AftersaleSurveyRecordDTO aftersaleSurveyRecordDTO = new AftersaleSurveyRecordDTO(); + AftersaleSurveyRecordDTO aftersaleSurveyRecordDTO = changName(aftersalesWorkOrderDTO, user); + aftersaleSurveyRecordDTO.setTypesOf("1"); +// aftersaleSurveyRecordDTO.setContent(); + aftersaleSurveyRecordDTO.setDifference("3"); + aftersaleSurveyRecordDTO.setWorkOrderId(aftersalesWorkOrderDTO.getId()); + aftersaleSurveyRecordDTO.setFollowWarehouseId(myCurrentWarehouse.getId()); + aftersaleSurveyRecordDTO.setFollowWarehouseName(myCurrentWarehouse.getName()); + aftersaleSurveyRecordService.saveOrUpdateOwn(aftersaleSurveyRecordDTO); + + return true; + } + + /** + * 查询调查数据 + * @param aftersalesWorkOrderDTO + * @return + */ + @Override + public AftersalesWorkOrderVO getSurveyRecord(AftersalesWorkOrderDTO aftersalesWorkOrderDTO) { + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + if(ObjectUtils.isNull(myCurrentWarehouse)){ + throw new ServiceException("请选择仓库信息!!"); + } + //查询是否必须回复 + AftersalesProcessorEntity one = aftersalesProcessorService.getOne(Wrappers.query().lambda(). + eq(AftersalesProcessorEntity::getWorkOrderId, aftersalesWorkOrderDTO.getId()) + .eq(AftersalesProcessorEntity::getBusinessId, myCurrentWarehouse.getId()) + .eq(AftersalesProcessorEntity::getBusinessName, myCurrentWarehouse.getName()) + .eq(AftersalesProcessorEntity::getTypesOf, ProcessorTypesOfStatusConstant.chulifang.getValue()) + ); + + //查询调查数据 + List list = aftersaleSurveyRecordService.list(Wrappers.query().lambda() + .eq(AftersaleSurveyRecordEntity::getWorkOrderId, aftersalesWorkOrderDTO.getId()) + .eq(AftersaleSurveyRecordEntity::getFollowWarehouseId, myCurrentWarehouse.getId()) + .eq(AftersaleSurveyRecordEntity::getFollowWarehouseName, myCurrentWarehouse.getName()) + .eq(AftersaleSurveyRecordEntity::getDifference, "1") + ); + AftersalesWorkOrderVO aftersalesWorkOrderVO = new AftersalesWorkOrderVO(); + List list1 = new ArrayList<>(); + if(ObjectUtils.isNotNull(one)){ + AftersalesProcessorVO processorVO = new AftersalesProcessorVO(); + BeanUtil.copyProperties(one,processorVO); + list1.add(processorVO); + } + aftersalesWorkOrderVO.setProcessorVOList(list1); + aftersalesWorkOrderVO.setSurveyRecordEntities(list); + return aftersalesWorkOrderVO; + } + /** * 添加处理处理方信息 * @param aftersalesWorkOrderDTO @@ -950,9 +1039,11 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl