Browse Source

修改工单查询数据

single_db
caoyizhong 1 year ago
parent
commit
cc9f201256
  1. 3
      blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/ProcessorProcessingStatusStatusConstant.java
  2. 12
      blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java
  3. 2
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesWorkOrderController.java
  4. 8
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
  5. 70
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java

3
blade-biz-common/src/main/java/org/springblade/common/constant/aftersales/ProcessorProcessingStatusStatusConstant.java

@ -5,7 +5,8 @@ public enum ProcessorProcessingStatusStatusConstant {
yichuli("已处理","2"),
yichaoshi("已超时","3"),
tijiaofang("处理结果提交方","4"),
qitachuli("其他处理","5")
qitachuli("其他处理","5"),
weihuifuyichuli("未回复工单已处理","6")
;
ProcessorProcessingStatusStatusConstant(String name, String value) {

12
blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java

@ -172,6 +172,18 @@ public class AftersalesWorkOrderEntity extends TenantEntity {
*/
@ApiModelProperty(value = "工单状态")
private String workOrderStatus;
/**
* 工单处理结果状态
*/
@ApiModelProperty(value = "工单处理结果状态")
@TableField(exist = false)
private String handleStatus;
/**
* 客服经理待处理 customer_service_id
*/
@ApiModelProperty(value = "客服经理待处理")
@TableField(exist = false)
private String customerServiceState;
/**
* 归属客服ID
*/

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

@ -106,7 +106,7 @@ public class AftersalesWorkOrderController extends BladeController {
@ApiOperationSupport(order = 2)
@ApiOperation(value = "查询异常工单完整数据集合", notes = "传入aftersalesWorkOrder")
public R<IPage<AftersalesWorkOrderVO>> getListOwn(@ApiIgnore @RequestParam Map<String, Object> aftersalesWorkOrder, Query query) {
log.info("异常工单查询参数》》》{}",aftersalesWorkOrder);
IPage<AftersalesWorkOrderEntity> pages = aftersalesWorkOrderService.pageListOwn(aftersalesWorkOrder, Condition.getPage(query));
return R.data(AftersalesWorkOrderWrapper.build().pageVO(pages));
}

8
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml

@ -81,7 +81,8 @@ date_format(from_unixtime(create_time),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d
<if test="param.waybillMall != null and param.waybillMall != '' ">and lawo.waybill_mall = #{param.waybillMall } </if>
<if test="param.deliveryDriver != null and param.deliveryDriver != '' ">and lawo.delivery_driver = #{param.deliveryDriver } </if>
<if test="param.workOrderStatus != null and param.workOrderStatus != '' ">and lawo.work_order_status in( #{param.workOrderStatus }) </if>
<if test="param.workOrderStatus == '30' ">and lawo.work_order_status in (21,30) </if>
<if test="param.customerServiceState != null and param.customerServiceState != '' "> and lawo.work_order_status = '40' and lawo.customer_service_id is null </if>
<if test="param.handleStatus!= null and param.handleStatus != '' ">and lawo.work_order_status in (21,30) </if>
<if test="param.customerServiceId != null and param.customerServiceId != '' ">and lawo.customer_service_id = #{param.customerServiceId } </if>
<if test="param.customerServiceName != null and param.customerServiceName != '' ">and lawo.customer_service_name = #{param.customerServiceName } </if>
<if test="param.waybillMallId != null and param.waybillMallId != '' ">and lawo.waybill_mall_id = #{param.waybillMallId } </if>
@ -96,7 +97,7 @@ date_format(from_unixtime(create_time),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d
<if test="param.investigationProcess != null and param.investigationProcess != '' ">and lawo.investigation_process = #{param.investigationProcess } </if>
<if test="param.relatedWorkOrdersId != null and param.relatedWorkOrdersId != '' ">and lawo.related_work_orders_id = #{param.relatedWorkOrdersId } </if>
<if test="param.customerIdentification != null and param.customerIdentification == 1 ">
and lawo.work_order_status in ('10','20','30','40','50','60','70','80','90') and lawo.customer_service_id is null
and lawo.work_order_status in ('10','20','30','40','50','60','70','80','90')
</if>
ORDER BY lawo.create_time DESC
</where>
@ -153,7 +154,8 @@ date_format(from_unixtime(create_time),'%Y-%m-%d') = date_format(now(),'%Y-%m-%d
</where>
</select>
<select id="getListSettlement" resultType="com.logpm.aftersales.entity.AftersalesSettlementEntity">
select las.work_order_number workOrderNumber,las.business_name businessName,las.brand_name brandName,las.mall_name mallName,las.waybill_number waybillNumber,
select las.work_order_number workOrderNumber,las.business_name businessName,las.brand_name brandName,las.mall_name mallName,
GROUP_CONCAT(DISTINCT las.waybill_number) AS waybillNumber,
las.work_order_type workOrderType,las.result_type resultType,las.laprId, las.discovery_node discoveryNode, las.result_description resultDescription,
las.vehicle_route vehicleRoute,las.indemnitor,las.reason,las.money,las.lawoId,las.create_time createTime,las.process_number processNumber,
las.work_order_status workOrderStatus

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

@ -215,7 +215,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
});
}
//添加处理结果
if(ObjectUtils.isNotNull(aftersalesWorkOrder.getAftersalesProcessingResultsDTO())){
if(ObjectUtils.isNotNull(aftersalesWorkOrder.getAftersalesProcessingResultsDTO()) && ObjectUtils.isNotNull(aftersalesWorkOrder.getAftersalesProcessingResultsDTO().getCompensationMethod())){
aftersalesWorkOrder.setWorkOrderStatus(WorkOrderStatusConstant.chulijeiguoyitianxei.getValue());
}
baseMapper.insert(aftersalesWorkOrder);
@ -563,9 +563,16 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
if(first.isPresent()){
//存在
String dictValue = first.get().getDictKey();
Object workOrderStatus = aftersalesWorkOrder.get("workOrderStatus");
switch (dictValue){
case "1": //客服经理 查询全部待处理工单
aftersalesWorkOrder.put("customerIdentification", "1");
if( ObjectUtils.isNotNull( workOrderStatus ) && "500".equals(workOrderStatus)){
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState","30");
}else{
aftersalesWorkOrder.put("customerIdentification", "1");
}
break;
case "2": // 营业部客服
@ -575,12 +582,21 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
}else{
throw new ServiceException("请选择仓库!");
}
if(ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yichuli.getValue())){
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("handleStatus","30");
}
break;
case "3": //职能客服 查询自己的待处理工单
aftersalesWorkOrder.put("customerServiceId",user.getUserId());
if( ObjectUtils.isNotNull( workOrderStatus ) && "500".equals(workOrderStatus)){
aftersalesWorkOrder.remove("workOrderStatus");
aftersalesWorkOrder.put("customerServiceState","30");
aftersalesWorkOrder.put("customerServiceId",user.getUserId());
}else{
aftersalesWorkOrder.put("customerIdentification", "1");
}
break;
}
}else{
//不存在
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
@ -589,11 +605,8 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
}else{
throw new ServiceException("请选择仓库!");
}
}
}
AftersalesWorkOrderEntity workOrderEntity = JSONObject.parseObject(JSONObject.toJSONString(aftersalesWorkOrder), AftersalesWorkOrderEntity.class);
return baseMapper.pageListOwn(page,workOrderEntity);
}
@ -1190,6 +1203,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean savaSurveyRecord(AftersalesWorkOrderDTO aftersalesWorkOrderDTO) {
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
BladeUser user = AuthUtil.getUser();
@ -1199,20 +1213,28 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
.eq(AftersalesProcessorEntity::getWorkOrderId, aftersalesWorkOrderDTO.getId())
.eq(AftersalesProcessorEntity::getTypesOf,ProcessorTypesOfStatusConstant.chulifang.getValue())
);
Optional<AftersalesProcessorEntity> one = list.stream().filter(i -> i.getBusinessId().equals(myCurrentWarehouse.getId()) && i.getBusinessName().equals(myCurrentWarehouse.getName())).findFirst();
//添加回复信息
AftersaleSurveyRecordDTO surveyRecordDTO = aftersalesWorkOrderDTO.getSurveyRecordDTO();
Optional<AftersalesProcessorEntity> one = null;
//判断是不是客服
AftersaleSurveyRecordEntity surveyRecordEntity = new AftersaleSurveyRecordEntity();
AftersaleSurveyRecordDTO surveyRecordDTO = aftersalesWorkOrderDTO.getSurveyRecordDTO();
BeanUtil.copyProperties(surveyRecordDTO,surveyRecordEntity);
if(one.isPresent()){
surveyRecordEntity.setProcessorId(one.get().getId());
if(ObjectUtils.isNotNull(myCurrentWarehouse)){
one = list.stream().filter(i -> i.getBusinessId().equals(myCurrentWarehouse.getId()) && i.getBusinessName().equals(myCurrentWarehouse.getName())).findFirst();
one.ifPresent(aftersalesProcessorEntity -> surveyRecordEntity.setProcessorId(aftersalesProcessorEntity.getId()));
surveyRecordEntity.setAddDepartment(myCurrentWarehouse.getName());
}else{
log.info("客服回复!!!{}",user.getUserName());
surveyRecordEntity.setProcessorId(user.getUserId());
R<String> deptName = sysClient.getDeptName(Long.valueOf(user.getDeptId()));
surveyRecordEntity.setAddDepartment(deptName.getData());
}
//添加回复信息
surveyRecordEntity.setDifference("1");
surveyRecordEntity.setTypesOf("1");
surveyRecordEntity.setAddPeople(user.getUserName());
surveyRecordEntity.setAddDepartment(myCurrentWarehouse.getName());
aftersaleSurveyRecordService.save(surveyRecordEntity);
//是否处理
if(!one.isPresent()){
if(ObjectUtils.isNull(one) || !one.isPresent()){
//不是处理方
if(aftersalesWorkOrderDTO.getProcessorEntityList().isEmpty()){
@ -1244,10 +1266,14 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
updateWrapper.set("processed_by_id",user.getUserId());
updateWrapper.set("processed_by_name",user.getUserName());
aftersalesReplyingPartyService.update(updateWrapper);
AftersalesWorkOrderEntity workOrderEntity = new AftersalesWorkOrderEntity();
workOrderEntity.setId(aftersalesWorkOrderDTO.getId());
workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.chulizhong.getValue());
baseMapper.updateById(workOrderEntity);
//修改工单状态
AftersalesWorkOrderEntity workOrderEntity1 = baseMapper.selectById(aftersalesWorkOrderDTO.getId());
if(workOrderEntity1.getWorkOrderStatus().equals(WorkOrderStatusConstant.daichuli.getValue())){
AftersalesWorkOrderEntity workOrderEntity = new AftersalesWorkOrderEntity();
workOrderEntity.setId(aftersalesWorkOrderDTO.getId());
workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.chulizhong.getValue());
baseMapper.updateById(workOrderEntity);
}
//添加或修改新的处理方
chuLiFang(aftersalesWorkOrderDTO, myCurrentWarehouse, user, list, surveyRecordDTO);
@ -1389,6 +1415,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
aftersaleSurveyRecordDTO.setStatus(1);
aftersaleSurveyRecordDTO.setIsDeleted(0);
aftersaleSurveyRecordDTO.setTypesOf("1");
aftersaleSurveyRecordDTO.setContent(aftersaleSurveyRecordDTO.getAddDepartment()+"提交处理结果!");
aftersaleSurveyRecordDTO.setProcessingResults(aftersaleSurveyRecordDTO.getAddDepartment()+"提交了处理结果"+aftersalesProcessingResultsDTO.getResultType());
aftersaleSurveyRecordDTO.setDifference("3");
aftersaleSurveyRecordDTO.setWorkOrderId(aftersalesWorkOrderDTO.getId());
@ -1681,6 +1708,13 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
workOrderEntity.setWorkOrderStatus(WorkOrderStatusConstant.yichuli.getValue());
}
baseMapper.updateById(workOrderEntity);
//修改未回复的处理方改为 6
UpdateWrapper<AftersalesProcessorEntity> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("work_order_id",i);
updateWrapper.apply("processing_status in (1)");
updateWrapper.apply("conditions in (1,2) ");
updateWrapper.set("processing_status",ProcessorProcessingStatusStatusConstant.weihuifuyichuli.getValue());
aftersalesProcessorService.update(updateWrapper);
});
return true;
}

Loading…
Cancel
Save