|
|
@ -42,6 +42,7 @@ import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.jetbrains.annotations.NotNull; |
|
|
|
import org.jetbrains.annotations.NotNull; |
|
|
|
import org.springblade.common.constant.DictBizConstant; |
|
|
|
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.ProcessorTypesOfStatusConstant; |
|
|
|
import org.springblade.common.constant.aftersales.WorkOrderStatusConstant; |
|
|
|
import org.springblade.common.constant.aftersales.WorkOrderStatusConstant; |
|
|
|
import org.springblade.common.constant.aftersales.WorkOrderTypesOfStatusConstant; |
|
|
|
import org.springblade.common.constant.aftersales.WorkOrderTypesOfStatusConstant; |
|
|
@ -258,25 +259,12 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo |
|
|
|
//责任方 处理方
|
|
|
|
//责任方 处理方
|
|
|
|
List<AftersalesProcessorEntity> list = new ArrayList<>(); |
|
|
|
List<AftersalesProcessorEntity> list = new ArrayList<>(); |
|
|
|
aftersalesWorkOrder.getProcessorEntityList().forEach(i ->{ |
|
|
|
aftersalesWorkOrder.getProcessorEntityList().forEach(i ->{ |
|
|
|
AftersalesProcessorEntity packageEntity = new AftersalesProcessorEntity(); |
|
|
|
AftersalesProcessorEntity processor = addProcessor(aftersalesWorkOrder, myCurrentWarehouse, i); |
|
|
|
BeanUtil.copyProperties(i,packageEntity); |
|
|
|
list.add(processor); |
|
|
|
packageEntity.setWorkOrderId(aftersalesWorkOrder.getId()); |
|
|
|
|
|
|
|
packageEntity.setConditions("1");//正常
|
|
|
|
|
|
|
|
packageEntity.setProcessingStatus("1");//待处理
|
|
|
|
|
|
|
|
packageEntity.setWarehouseId(myCurrentWarehouse.getId()); |
|
|
|
|
|
|
|
list.add(packageEntity); |
|
|
|
|
|
|
|
//添加记录
|
|
|
|
//添加记录
|
|
|
|
if(ProcessorTypesOfStatusConstant.chulifang.getValue().equals(i.getProcessingStatus())){ |
|
|
|
if(ProcessorTypesOfStatusConstant.chulifang.getValue().equals(i.getTypesOf())){ |
|
|
|
//处理方
|
|
|
|
//处理方
|
|
|
|
AftersaleSurveyRecordDTO surveyRecordDTO = changName(aftersalesWorkOrder, user); |
|
|
|
addSurveRecord(aftersalesWorkOrder, user, i); |
|
|
|
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); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
@ -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); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|