Browse Source

修改回复逻辑

newStockUp
caoyizhong 1 year ago
parent
commit
8e14b05394
  1. 7
      blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersaleSurveyRecordEntity.java
  2. 23
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java
  3. 8
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java
  4. 2
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersaleSurveyRecordServiceImpl.java
  5. 117
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java

7
blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersaleSurveyRecordEntity.java

@ -82,7 +82,7 @@ public class AftersaleSurveyRecordEntity extends TenantEntity {
@ApiModelProperty(value = "类型")
private String typesOf;
/**
* 区别
* 区别 1 调查记录 2 指定记录 3 操作记录
*/
@ApiModelProperty(value = "区别")
private String difference;
@ -117,6 +117,11 @@ public class AftersaleSurveyRecordEntity extends TenantEntity {
*/
@ApiModelProperty(value = "备注")
private String remark;
/**
* 图片路径
*/
@ApiModelProperty(value = "图片路径")
private String pictureUrl;

23
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java

@ -18,6 +18,7 @@ package com.logpm.aftersales.controller;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.logpm.aftersales.dto.AftersalesWorkOrderDTO;
import com.logpm.aftersales.entity.AftersaleSurveyRecordEntity;
import com.logpm.aftersales.excel.AftersalesWorkOrderImporter;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
@ -129,6 +130,28 @@ public class AftersalesWorkOrderController extends BladeController {
return R.data(list);
}
/**
* 工单调查记录表 新增调查记录
*/
@PostMapping("/savaSurveyRecord")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增调查记录", notes = "传入aftersaleSurveyRecord")
public R savaSurveyRecord(@Valid @RequestBody AftersalesWorkOrderDTO aftersalesWorkOrderDTO) {
log.info("回复添加接口》》》{}", aftersalesWorkOrderDTO);
if(ObjectUtils.isNull(aftersalesWorkOrderDTO.getSurveyRecordDTO())){
throw new ServiceException("调查数据不能为空");
}
if(ObjectUtils.isNull(aftersalesWorkOrderDTO.getId())){
throw new ServiceException("异常工单ID不能为空");
}
if(ObjectUtils.isNull(aftersalesWorkOrderDTO.getProcessorEntityList())){
throw new ServiceException("处理方信息不能为空");
}
return R.status(aftersalesWorkOrderService.savaSurveyRecord(aftersalesWorkOrderDTO));
}
/**
* 客服异常工单 查询营业部责任人人员信息
*/

8
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/IAftersalesWorkOrderService.java

@ -18,6 +18,7 @@ package com.logpm.aftersales.service;
import com.logpm.aftersales.dto.AftersalesPackageScanDTO;
import com.logpm.aftersales.dto.AftersalesWorkOrderDTO;
import com.logpm.aftersales.entity.AftersaleSurveyRecordEntity;
import com.logpm.aftersales.entity.AftersalesWorkOrderEntity;
import com.logpm.aftersales.vo.AftersalesAbnormalPackageVO;
import com.logpm.aftersales.vo.AftersalesWorkOrderVO;
@ -178,4 +179,11 @@ public interface IAftersalesWorkOrderService extends BaseService<AftersalesWorkO
* @return
*/
List<User> getBusinessDepartmentUser(Long warehouseId);
/**
* 添加调查结果
* @param aftersalesWorkOrderDTO
* @return
*/
boolean savaSurveyRecord(AftersalesWorkOrderDTO aftersalesWorkOrderDTO);
}

2
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersaleSurveyRecordServiceImpl.java

@ -68,7 +68,7 @@ public class AftersaleSurveyRecordServiceImpl extends BaseServiceImpl<AftersaleS
}else{
//添加
AftersaleSurveyRecordEntity surveyRecordEntity = new AftersaleSurveyRecordEntity();
BeanUtil.copyProperties(aftersaleSurveyRecord,aftersaleSurveyRecord);
BeanUtil.copyProperties(aftersaleSurveyRecord,surveyRecordEntity);
baseMapper.insert(surveyRecordEntity);
return true;
}

117
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java

@ -42,6 +42,7 @@ import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springblade.common.constant.DictBizConstant;
import org.springblade.common.constant.aftersales.ProcessorProcessingStatusStatusConstant;
import org.springblade.common.constant.aftersales.ProcessorTypesOfStatusConstant;
import org.springblade.common.constant.aftersales.WorkOrderStatusConstant;
import org.springblade.common.constant.aftersales.WorkOrderTypesOfStatusConstant;
@ -258,25 +259,12 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
//责任方 处理方
List<AftersalesProcessorEntity> list = new ArrayList<>();
aftersalesWorkOrder.getProcessorEntityList().forEach(i ->{
AftersalesProcessorEntity packageEntity = new AftersalesProcessorEntity();
BeanUtil.copyProperties(i,packageEntity);
packageEntity.setWorkOrderId(aftersalesWorkOrder.getId());
packageEntity.setConditions("1");//正常
packageEntity.setProcessingStatus("1");//待处理
packageEntity.setWarehouseId(myCurrentWarehouse.getId());
list.add(packageEntity);
AftersalesProcessorEntity processor = addProcessor(aftersalesWorkOrder, myCurrentWarehouse, i);
list.add(processor);
//添加记录
if(ProcessorTypesOfStatusConstant.chulifang.getValue().equals(i.getProcessingStatus())){
if(ProcessorTypesOfStatusConstant.chulifang.getValue().equals(i.getTypesOf())){
//处理方
AftersaleSurveyRecordDTO surveyRecordDTO = changName(aftersalesWorkOrder, user);
surveyRecordDTO.setWorkOrderId(aftersalesWorkOrder.getId());
surveyRecordDTO.setContent(aftersalesWorkOrder.getSurveyRecordDTO().getContent());//内容
surveyRecordDTO.setTypesOf("1");
surveyRecordDTO.setDifference("2");
surveyRecordDTO.setFollowWarehouseName(i.getBusinessName());
surveyRecordDTO.setFollowWarehouseId(i.getBusinessId());
aftersaleSurveyRecordService.saveOrUpdateOwn(surveyRecordDTO);
addSurveRecord(aftersalesWorkOrder, user, i);
}
});
@ -886,4 +874,99 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
}
/**
* 添加调查记录
* @param aftersalesWorkOrderDTO
* @return
*/
@Override
public boolean savaSurveyRecord(AftersalesWorkOrderDTO aftersalesWorkOrderDTO) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
BladeUser user = AuthUtil.getUser();
//修改处理方 处理状态
updateProcessor(myCurrentWarehouse);
//查询所有处理方
List<AftersalesProcessorEntity> list = aftersalesProcessorService.list(Wrappers.<AftersalesProcessorEntity>query().lambda()
.eq(AftersalesProcessorEntity::getWorkOrderId, aftersalesWorkOrderDTO.getId())
.eq(AftersalesProcessorEntity::getTypesOf,ProcessorTypesOfStatusConstant.chulifang.getValue())
);
//添加或修改新的处理方
List<AftersalesProcessorEntity> processorEntityList = new ArrayList<>();
aftersalesWorkOrderDTO.getProcessorEntityList().forEach( i ->{
Optional<AftersalesProcessorEntity> first = list.stream().filter(a -> a.getBusinessId().equals(i.getBusinessId())).findFirst();
if(first.isPresent()){
//修改处理方 处理状态
updateProcessor(myCurrentWarehouse);
}else{
//不存在 添加处理方信息
AftersalesProcessorEntity processor = addProcessor(aftersalesWorkOrderDTO, myCurrentWarehouse, i);
processorEntityList.add(processor);
}
//添加指定处理结果
//处理方
addSurveRecord(aftersalesWorkOrderDTO, user, i);
});
//添加处理方
if(!processorEntityList.isEmpty()){
aftersalesProcessorService.saveBatch(processorEntityList);
}
//添加回复信息
AftersaleSurveyRecordDTO surveyRecordDTO = aftersalesWorkOrderDTO.getSurveyRecordDTO();
AftersaleSurveyRecordEntity surveyRecordEntity = new AftersaleSurveyRecordEntity();
aftersaleSurveyRecordService.save(surveyRecordEntity);
return true;
}
/**
* 添加处理处理方信息
* @param aftersalesWorkOrderDTO
* @param myCurrentWarehouse
* @param i
*/
private AftersalesProcessorEntity addProcessor(AftersalesWorkOrderDTO aftersalesWorkOrderDTO, BasicdataWarehouseEntity myCurrentWarehouse, AftersalesProcessorEntity i) {
AftersalesProcessorEntity packageEntity = new AftersalesProcessorEntity();
BeanUtil.copyProperties(i,packageEntity);
packageEntity.setWorkOrderId(aftersalesWorkOrderDTO.getId());
packageEntity.setConditions("1");//正常
packageEntity.setProcessingStatus("1");//待处理
packageEntity.setWarehouseId(myCurrentWarehouse.getId());
return packageEntity;
}
/**
* 添加操作记录
* @param aftersalesWorkOrderDTO
* @param user
* @param i
* @return
*/
private Boolean addSurveRecord(AftersalesWorkOrderDTO aftersalesWorkOrderDTO, BladeUser user, AftersalesProcessorEntity i) {
AftersaleSurveyRecordDTO surveyRecordDTO = changName(aftersalesWorkOrderDTO, user);
surveyRecordDTO.setWorkOrderId(aftersalesWorkOrderDTO.getId());
surveyRecordDTO.setContent(aftersalesWorkOrderDTO.getSurveyRecordDTO().getContent());//内容
surveyRecordDTO.setTypesOf("1");
surveyRecordDTO.setDifference("2");
surveyRecordDTO.setFollowWarehouseName(i.getBusinessName());
surveyRecordDTO.setFollowWarehouseId(i.getBusinessId());
return aftersaleSurveyRecordService.saveOrUpdateOwn(surveyRecordDTO);
}
/**
* 修改处理方状态
* @param myCurrentWarehouse
* @return
*/
private Boolean updateProcessor(BasicdataWarehouseEntity myCurrentWarehouse) {
LambdaUpdateWrapper<AftersalesProcessorEntity> 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.yichuli.getValue());
return aftersalesProcessorService.update(q);
}
}

Loading…
Cancel
Save