Commit 5ff596b7 authored by kongfm's avatar kongfm

困人救援/ 故障维修/ 投诉建议 反馈信息查询以及添加修改 接口

parent 537f89d5
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 投诉回访DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="DispatchConsultFeedbackDto", description="投诉回访DTO")
public class DispatchConsultFeedbackDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "警情id")
private Long alertId;
@ApiModelProperty(value = "投诉人")
private String emergency;
@ApiModelProperty(value = "投诉人电话")
private String emergencyCall;
@ApiModelProperty(value = "投诉反馈方式")
private String consultFeedbackType;
@ApiModelProperty(value = "投诉反馈结果")
private String feedbackResult;
@ApiModelProperty(value = "投诉回访时间")
private Date consultFeedbackTime;
@ApiModelProperty(value = "投诉回访人")
private String consultFeedbackUname;
@ApiModelProperty(value = "投诉回访人Id")
private String consultFeedbackUid;
@ApiModelProperty(value = "响应人")
private String responseUserName;
@ApiModelProperty(value = "响应人电话")
private String responseUserTel;
@ApiModelProperty(value = "维修反馈方式Code")
private String feedbackCode;
@ApiModelProperty(value = "维修反馈方式")
private String feedbackType;
@ApiModelProperty(value = "处置结果")
private String actionResult;
@ApiModelProperty(value = "回访时间")
private Date feedbackTime;
@ApiModelProperty(value = "维保反馈人id")
private String feedbackUid;
@ApiModelProperty(value = "维保反馈人")
private String feedbackUname;
@ApiModelProperty(value = "电梯故障原因分类")
private String errorResult;
@ApiModelProperty(value = "备注")
private String Remark;
@ApiModelProperty(value = "维保反馈结果")
private String mainFeedbackResult;
@ApiModelProperty(value = "维保完成时间")
private Date feedbackFinishTime;
public DispatchConsultFeedbackDto() {
}
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 派遣单更新DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="DispatchPaperUpdateDto", description="派遣单更新DTO")
public class DispatchPaperUpdateDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "派遣单Id")
private Long pageId;
@ApiModelProperty(value = "派遣任务单Id")
private Long taskId;
@ApiModelProperty(value = "派遣单位Id")
private Long orgId;
@ApiModelProperty(value = "派遣单位类型code")
private String orgTypeCode;
@ApiModelProperty(value = "派遣单位社会信用代码")
private String orgCreditCode;
@ApiModelProperty(value = "派遣时间")
private Date dispatchTime;
public DispatchPaperUpdateDto() {
}
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 维修回访DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="DispatchRepairFeedbackDto", description="维修回访DTO")
public class DispatchRepairFeedbackDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "警情id")
private Long alertId;
@ApiModelProperty(value = "报修人")
private String emergency;
@ApiModelProperty(value = "报修人电话")
private String emergencyCall;
@ApiModelProperty(value = "报修反馈方式")
private String fixFeedbackType;
@ApiModelProperty(value = "报修反馈结果")
private String feedbackResult;
@ApiModelProperty(value = "报修回访时间")
private Date fixFeedbackTime;
@ApiModelProperty(value = "报修回访人")
private String fixFeedbackUname;
@ApiModelProperty(value = "报修回访人Id")
private String fixFeedbackUid;
@ApiModelProperty(value = "报修备注")
private String fixRemark;
@ApiModelProperty(value = "响应人")
private String responseUserName;
@ApiModelProperty(value = "响应人电话")
private String responseUserTel;
@ApiModelProperty(value = "维修反馈方式Code")
private String feedbackCode;
@ApiModelProperty(value = "维修反馈方式")
private String feedbackType;
@ApiModelProperty(value = "维修结果")
private String fixResult;
@ApiModelProperty(value = "维修完成时间")
private Date feedbackFinishTime;
@ApiModelProperty(value = "维修反馈人id")
private String feedbackUid;
@ApiModelProperty(value = "维修反馈人")
private String feedbackUname;
@ApiModelProperty(value = "电梯故障原因分类")
private String errorResult;
@ApiModelProperty(value = "备注")
private String Remark;
@ApiModelProperty(value = "回访时间")
private Date feedbackTime;
public DispatchRepairFeedbackDto() {
}
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 救援回访DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="DispatchSaveFeedbackDto", description="救援回访DTO")
public class DispatchSaveFeedbackDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "警情id")
private Long alertId;
@ApiModelProperty(value = "求援人")
private String emergency;
@ApiModelProperty(value = "求援电话")
private String emergencyCall;
@ApiModelProperty(value = "救援回访时间")
private Date saveFeedbackTime;
@ApiModelProperty(value = "救援回访人")
private String saveFeedbackUser;
@ApiModelProperty(value = "救援回访人Id")
private String saveFeedbackUid;
@ApiModelProperty(value = "救援回访结果")
private String saveFeedbackResult;
@ApiModelProperty(value = "响应人")
private String responseUserName;
@ApiModelProperty(value = "响应人电话")
private String responseUserTel;
@ApiModelProperty(value = "维修反馈方式Code")
private String feedbackCode;
@ApiModelProperty(value = "维修反馈方式")
private String feedbackType;
@ApiModelProperty(value = "维修结果")
private String fixResult;
@ApiModelProperty(value = "维修完成时间")
private Date feedbackFinishTime;
@ApiModelProperty(value = "维修反馈人id")
private String feedbackUid;
@ApiModelProperty(value = "维修反馈人")
private String feedbackUname;
@ApiModelProperty(value = "电梯故障原因分类")
private String errorResult;
@ApiModelProperty(value = "备注")
private String Remark;
@ApiModelProperty(value = "回访时间")
private Date feedbackTime;
public DispatchSaveFeedbackDto() {
}
}
package com.yeejoin.amos.boot.module.tzs.api.service; package com.yeejoin.amos.boot.module.tzs.api.service;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchConsultFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchRepairFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchSaveFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
...@@ -14,7 +18,7 @@ public interface IDispatchPaperService { ...@@ -14,7 +18,7 @@ public interface IDispatchPaperService {
DispatchPaper selectDispatchPaperByAlertId(Long alertId); DispatchPaper selectDispatchPaperByAlertId(Long alertId);
Object selectDispatchPaperDtoByAlertId(Long alertId); DispatchPaperFormDto selectDispatchPaperDtoByAlertId(Long alertId);
/** /**
* 根据警情id 及 警情类别 派遣人 创建 派遣单 * 根据警情id 及 警情类别 派遣人 创建 派遣单
...@@ -23,5 +27,51 @@ public interface IDispatchPaperService { ...@@ -23,5 +27,51 @@ public interface IDispatchPaperService {
* @param sendUser * @param sendUser
* @return * @return
*/ */
DispatchPaper createDispatchPaper(Long alertId, String alertCode, AgencyUserModel sendUser); DispatchPaperFormDto createDispatchPaper(Long alertId, String alertCode, AgencyUserModel sendUser);
/**
* 根据警情id 返回 救援回访相关信息
* @param alertId
* @return
*/
DispatchSaveFeedbackDto getDispatchSaveFeedbackDtoByAlertId(Long alertId, AgencyUserModel feedbackUser);
/**
* 坐席填写救援回访相关信息
* @param dispatchSaveFeedbackDto
* @return
*/
Boolean saveDispatchSaveFeedback(DispatchSaveFeedbackDto dispatchSaveFeedbackDto);
/**
* 根据警情id 返回 维修回访相关信息
* @param alertId
* @return
*/
DispatchRepairFeedbackDto getDispatchRepairFeedbackDtoByAlertId(Long alertId, AgencyUserModel feedbackUser);
/**
* 坐席填写维修回访相关信息
* @param dispatchRepairFeedbackDto
* @return
*/
Boolean saveDispatchRepairFeedback(DispatchRepairFeedbackDto dispatchRepairFeedbackDto);
/**
* 根据警情id 返回 投诉回访相关信息
* @param alertId
* @return
*/
DispatchConsultFeedbackDto getDispatchConsultFeedbackDtoByAlertId(Long alertId, AgencyUserModel feedbackUser);
/**
* 坐席填写投诉回访相关信息
* @param dispatchConsultFeedbackDto
* @return
*/
Boolean saveDispatchConsultFeedback(DispatchConsultFeedbackDto dispatchConsultFeedbackDto);
} }
...@@ -4,8 +4,11 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,8 +4,11 @@ import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchConsultFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchRepairFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchSaveFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.DispatchPaperServiceImpl; import com.yeejoin.amos.boot.module.tzs.biz.service.impl.DispatchPaperServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -43,27 +46,96 @@ public class DispatchPaperController extends BaseController { ...@@ -43,27 +46,96 @@ public class DispatchPaperController extends BaseController {
RedisUtils redisUtils; RedisUtils redisUtils;
/** /**
* 新增派遣单 * 通过警情id 获取 救援回访相关信息
* * @param alertId
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/feedback/save/{alertId}")
@ApiOperation(httpMethod = "GET", value = "通过警情id 获取 救援回访相关信息", notes = "通过警情id 获取 救援回访相关信息")
public ResponseModel<DispatchSaveFeedbackDto> getSaveFeedback(@PathVariable Long alertId) {
ReginParams reginParams =
JSONObject.parseObject(null != redisUtils.get(buildKey(getToken())) ?
redisUtils.get(buildKey(getToken())).toString() : null, ReginParams.class);
DispatchSaveFeedbackDto dispatchSaveFeedbackDto = dispatchPaperServiceImpl.getDispatchSaveFeedbackDtoByAlertId(alertId,reginParams.getUserModel());
return ResponseHelper.buildResponse(dispatchSaveFeedbackDto);
}
/**
* 保存救援回访信息
* @param dispatchSaveFeedbackDto
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save") @PostMapping(value = "/feedback/save")
@ApiOperation(httpMethod = "POST", value = "新增派遣单", notes = "新增派遣单") @ApiOperation(httpMethod = "POST", value = "保存救援回访信息", notes = "保存救援回访信息")
public ResponseModel<DispatchPaperFormDto> save(@RequestBody DispatchPaperFormDto dispatchPaperFormDto) { public ResponseModel<Boolean> saveSaveFeedBack(@RequestBody DispatchSaveFeedbackDto dispatchSaveFeedbackDto) {
if (ValidationUtil.isEmpty(dispatchPaperFormDto) if (ValidationUtil.isEmpty(dispatchSaveFeedbackDto)
|| ValidationUtil.isEmpty(dispatchPaperFormDto.getDispatchPaper())) || ValidationUtil.isEmpty(dispatchSaveFeedbackDto.getAlertId()))
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
return ResponseHelper.buildResponse(dispatchPaperServiceImpl.saveDispatchSaveFeedback(dispatchSaveFeedbackDto));
}
/**
* 通过警情id 获取 维修回访相关信息
* @param alertId
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/feedback/repair/{alertId}")
@ApiOperation(httpMethod = "GET", value = "通过警情id 获取 维修回访相关信息", notes = "通过警情id 获取 维修回访相关信息")
public ResponseModel<DispatchRepairFeedbackDto> getRepairFeedBack(@PathVariable Long alertId) {
ReginParams reginParams = ReginParams reginParams =
JSONObject.parseObject(null != redisUtils.get(buildKey(getToken())) ? JSONObject.parseObject(null != redisUtils.get(buildKey(getToken())) ?
redisUtils.get(buildKey(getToken())).toString() : null, ReginParams.class); redisUtils.get(buildKey(getToken())).toString() : null, ReginParams.class);
//获取当前登录人公司 DispatchRepairFeedbackDto dispatchRepairFeedbackDto = dispatchPaperServiceImpl.getDispatchRepairFeedbackDtoByAlertId(alertId,reginParams.getUserModel());
String orgCode= reginParams.getCompany().getOrgCode(); return ResponseHelper.buildResponse(dispatchRepairFeedbackDto);
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper(); }
dispatchPaper.setOrgCode(orgCode);
dispatchPaperFormDto.setDispatchPaper(dispatchPaper); /**
dispatchPaperFormDto = dispatchPaperServiceImpl.createDispatchPaper(dispatchPaperFormDto); * 保存维修回访信息
return ResponseHelper.buildResponse(dispatchPaperFormDto); * @param dispatchRepairFeedbackDto
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/feedback/repair")
@ApiOperation(httpMethod = "POST", value = "保存维修回访信息", notes = "保存维修回访信息")
public ResponseModel<Boolean> saveRepairFeedBack(@RequestBody DispatchRepairFeedbackDto dispatchRepairFeedbackDto) {
if (ValidationUtil.isEmpty(dispatchRepairFeedbackDto)
|| ValidationUtil.isEmpty(dispatchRepairFeedbackDto.getAlertId()))
throw new BadRequest("参数校验失败.");
return ResponseHelper.buildResponse(dispatchPaperServiceImpl.saveDispatchRepairFeedback(dispatchRepairFeedbackDto));
}
/**
* 通过警情id 获取 投诉回访相关信息
* @param alertId
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/feedback/consult/{alertId}")
@ApiOperation(httpMethod = "GET", value = "通过警情id 获取 投诉回访相关信息", notes = "通过警情id 获取 投诉回访相关信息")
public ResponseModel<DispatchConsultFeedbackDto> getConsultFeedBack(@PathVariable Long alertId) {
ReginParams reginParams =
JSONObject.parseObject(null != redisUtils.get(buildKey(getToken())) ?
redisUtils.get(buildKey(getToken())).toString() : null, ReginParams.class);
DispatchConsultFeedbackDto dispatchConsultFeedbackDto = dispatchPaperServiceImpl.getDispatchConsultFeedbackDtoByAlertId(alertId,reginParams.getUserModel());
return ResponseHelper.buildResponse(dispatchConsultFeedbackDto);
}
/**
* 保存投诉回访信息
* @param dispatchConsultFeedbackDto
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/feedback/consult")
@ApiOperation(httpMethod = "POST", value = "保存投诉回访信息", notes = "保存投诉回访信息")
public ResponseModel<Boolean> saveConsultFeedBack(@RequestBody DispatchConsultFeedbackDto dispatchConsultFeedbackDto) {
if (ValidationUtil.isEmpty(dispatchConsultFeedbackDto)
|| ValidationUtil.isEmpty(dispatchConsultFeedbackDto.getAlertId()))
throw new BadRequest("参数校验失败.");
return ResponseHelper.buildResponse(dispatchPaperServiceImpl.saveDispatchConsultFeedback(dispatchConsultFeedbackDto));
} }
/** /**
......
package com.yeejoin.amos.boot.module.tzs.biz.service.impl; package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertFormInitDto; import com.yeejoin.amos.boot.module.tzs.api.dto.AlertFormInitDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchConsultFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchRepairFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchSaveFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue; import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums; import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.mapper.DispatchPaperMapper; import com.yeejoin.amos.boot.module.tzs.api.mapper.DispatchPaperMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchPaperService; import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchPaperService;
import com.yeejoin.amos.boot.module.tzs.api.service.IMaintenanceUnitService;
import com.yeejoin.amos.boot.module.tzs.api.vo.AlertCalledVo;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import static org.typroject.tyboot.core.foundation.context.RequestContext.getToken;
/** /**
* 派遣单服务实现类 * 派遣单服务实现类
* *
...@@ -40,6 +50,21 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -40,6 +50,21 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
@Autowired @Autowired
private AlertFormServiceImpl alertFormServiceImpl; private AlertFormServiceImpl alertFormServiceImpl;
@Autowired
private ElevatorServiceImpl elevatorServiceImpl;
@Autowired
private IMaintenanceUnitService iMaintenanceUnitService;
@Autowired
private AlertCalledServiceImpl alertCalledServiceImpl;
@Autowired
private DispatchTaskServiceImpl dispatchTaskServiceImpl;
@Autowired
private DataDictionaryServiceImpl iDataDictionaryService;
/** /**
* 分页查询 * 分页查询
*/ */
...@@ -93,7 +118,7 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -93,7 +118,7 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
} }
@Override @Override
public Object selectDispatchPaperDtoByAlertId(Long alertId) { public DispatchPaperFormDto selectDispatchPaperDtoByAlertId(Long alertId) {
// 根据警情id 获取 派遣单信息 // 根据警情id 获取 派遣单信息
DispatchPaper dispatchPaper =selectDispatchPaperByAlertId(alertId); DispatchPaper dispatchPaper =selectDispatchPaperByAlertId(alertId);
// 封装dto // 封装dto
...@@ -110,8 +135,8 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -110,8 +135,8 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
} }
@Override @Override
public DispatchPaper createDispatchPaper(Long alertId, String alertCode, AgencyUserModel sendUser) { public DispatchPaperFormDto createDispatchPaper(Long alertId, String alertCode, AgencyUserModel sendUser) {
DispatchPaperFormDto dispatchPaperFormDto = new DispatchPaperFormDto();
// 创建基本信息 // 创建基本信息
DispatchPaper dispatchPaper = new DispatchPaper(); DispatchPaper dispatchPaper = new DispatchPaper();
dispatchPaper.setAlertCode(alertCode); dispatchPaper.setAlertCode(alertCode);
...@@ -131,6 +156,11 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -131,6 +156,11 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
dispatchPaper.setSendUserId(sendUser.getUserId()); dispatchPaper.setSendUserId(sendUser.getUserId());
dispatchPaper.setSendUserName(sendUser.getUserName()); dispatchPaper.setSendUserName(sendUser.getUserName());
// 电梯维保单位统一信用代码
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
MaintenanceUnit maintenanceUnit = iMaintenanceUnitService.getById(elevator.getMaintainUnitId());
dispatchPaper.setRepairOrgCreditCode(maintenanceUnit.getSocialCreditCode());
this.save(dispatchPaper); this.save(dispatchPaper);
// 根据类型创建动态表单信息 // 根据类型创建动态表单信息
...@@ -145,7 +175,535 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -145,7 +175,535 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
}); });
// 保存动态表单数据 // 保存动态表单数据
iAlertFormValueService.saveBatch(paperFormValuelist); iAlertFormValueService.saveBatch(paperFormValuelist);
return dispatchPaper; dispatchPaperFormDto.setDispatchPaper(dispatchPaper);
dispatchPaperFormDto.setDynamicFormAlert(paperFormValuelist);
return dispatchPaperFormDto;
}
@Override
public DispatchSaveFeedbackDto getDispatchSaveFeedbackDtoByAlertId(Long alertId, AgencyUserModel feedbackUser) {
DispatchSaveFeedbackDto dispatchSaveFeedbackDto = new DispatchSaveFeedbackDto();
dispatchSaveFeedbackDto.setAlertId(alertId);
AlertCalledFormDto alertCalledFormVo = (AlertCalledFormDto) alertCalledServiceImpl.selectAlertCalledById(alertId);
// 警情信息
AlertCalledVo alertCalledVo = alertCalledFormVo.getAlertCalledVo();
dispatchSaveFeedbackDto.setEmergency(alertCalledVo.getEmergencyPerson());
dispatchSaveFeedbackDto.setEmergencyCall(alertCalledVo.getEmergencyCall());
// 派遣单信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(alertId);
if(dispatchPaperFormDto == null || dispatchPaperFormDto.getDispatchPaper() == null) {
return new DispatchSaveFeedbackDto(); // 如果没有派遣就没有派遣反馈信息
}
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
dispatchSaveFeedbackDto.setFeedbackCode(dispatchPaper.getFeedbackCode());
dispatchSaveFeedbackDto.setFeedbackType(dispatchPaper.getFeedbackType());
dispatchSaveFeedbackDto.setFeedbackFinishTime(dispatchPaper.getFeedbackFinishTime());
dispatchSaveFeedbackDto.setRemark(dispatchPaper.getRemark());
if(StringUtils.isBlank(dispatchPaper.getFeedbackUid())) {
dispatchSaveFeedbackDto.setFeedbackUid(feedbackUser.getUserId());
} else {
dispatchSaveFeedbackDto.setFeedbackUid(dispatchPaper.getFeedbackUid());
}
if(StringUtils.isBlank(dispatchPaper.getFeedbackUname())) {
dispatchSaveFeedbackDto.setFeedbackUname(feedbackUser.getUserName());
} else {
dispatchSaveFeedbackDto.setFeedbackUname(dispatchPaper.getFeedbackUname());
}
//救援响应人和维保响应人
Long useOrgTaskId = dispatchPaper.getUseOrgTaskId();
Long repairOrgTaskId = dispatchPaper.getRepairOrgTaskId();
// 如果维保单位和使用单位都下单了 默认显示维保单位
DispatchTask dispatchTask = null;
if(repairOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(repairOrgTaskId);
dispatchSaveFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchSaveFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
} else if(useOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(useOrgTaskId);
dispatchSaveFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchSaveFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
}
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
String value = null;
switch (alertFormValue.getFieldCode()) {
case "save_feedback_time":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchSaveFeedbackDto.setSaveFeedbackTime(null);
} else {
try {
dispatchSaveFeedbackDto.setSaveFeedbackTime(sdf.parse(value));
} catch (ParseException e) {
throw new BadRequest("救援时间格式错误");
}
}
break;
case "save_feedback_user":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchSaveFeedbackDto.setSaveFeedbackUser(feedbackUser.getUserName());
} else {
dispatchSaveFeedbackDto.setSaveFeedbackUser(value);
}
break;
case "save_feedback_uid":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchSaveFeedbackDto.setSaveFeedbackUid(feedbackUser.getUserId());
} else {
dispatchSaveFeedbackDto.setSaveFeedbackUid(value);
}
break;
case "save_feedback_result":
value = alertFormValue.getFieldValue();
dispatchSaveFeedbackDto.setSaveFeedbackResult(value);
break;
case "fix_result":
value = alertFormValue.getFieldValue();
dispatchSaveFeedbackDto.setFixResult(value);
break;
case "error_result":
value = alertFormValue.getFieldValue();
dispatchSaveFeedbackDto.setErrorResult(value);
break;
}
});
return dispatchSaveFeedbackDto;
}
@Override
public Boolean saveDispatchSaveFeedback(DispatchSaveFeedbackDto dispatchSaveFeedbackDto) {
Boolean flag = false;
// 保存救援回访信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(dispatchSaveFeedbackDto.getAlertId());
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
switch (alertFormValue.getFieldCode()) {
case "save_feedback_time":
if (dispatchSaveFeedbackDto.getSaveFeedbackTime() != null)
alertFormValue.setFieldValue(sdf.format(dispatchSaveFeedbackDto.getSaveFeedbackTime()));
break;
case "save_feedback_user":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getSaveFeedbackUser()))
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getSaveFeedbackUser());
break;
case "save_feedback_uid":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getSaveFeedbackUid()))
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getSaveFeedbackUid());
break;
case "save_feedback_result":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getSaveFeedbackResult()))
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getSaveFeedbackResult());
break;
case "fix_result":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getFixResult())) {
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getFixResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "WXJG").eq("name", dispatchSaveFeedbackDto.getFixResult());
DataDictionary fixResult = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(fixResult.getCode());
}
break;
case "error_result":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getErrorResult())) {
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getErrorResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "GZYY").eq("name", dispatchSaveFeedbackDto.getErrorResult());
DataDictionary errorResult = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(errorResult.getCode());
}
break;
}
});
dispatchPaper.setFeedbackCode(dispatchSaveFeedbackDto.getFeedbackCode());
dispatchPaper.setFeedbackType(dispatchSaveFeedbackDto.getFeedbackType());
dispatchPaper.setFeedbackFinishTime(dispatchSaveFeedbackDto.getFeedbackFinishTime());
dispatchPaper.setFeedbackUid(dispatchSaveFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchSaveFeedbackDto.getFeedbackUname());
dispatchPaper.setRemark(dispatchSaveFeedbackDto.getRemark());
dispatchPaper.setFeedbackTime(dispatchSaveFeedbackDto.getFeedbackTime());
// 保存动态表单数据
iAlertFormValueService.saveBatch(dynamicFormAlert);
// 保存派遣表
flag = this.save(dispatchPaper);
return flag;
}
@Override
public DispatchRepairFeedbackDto getDispatchRepairFeedbackDtoByAlertId(Long alertId, AgencyUserModel feedbackUser) {
DispatchRepairFeedbackDto dispatchRepairFeedbackDto = new DispatchRepairFeedbackDto();
dispatchRepairFeedbackDto.setAlertId(alertId);
AlertCalledFormDto alertCalledFormVo = (AlertCalledFormDto) alertCalledServiceImpl.selectAlertCalledById(alertId);
// 警情信息
AlertCalledVo alertCalledVo = alertCalledFormVo.getAlertCalledVo();
dispatchRepairFeedbackDto.setEmergency(alertCalledVo.getEmergencyPerson());
dispatchRepairFeedbackDto.setEmergencyCall(alertCalledVo.getEmergencyCall());
// 派遣单信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(alertId);
if(dispatchPaperFormDto == null || dispatchPaperFormDto.getDispatchPaper() == null) {
return new DispatchRepairFeedbackDto(); // 如果没有派遣就没有派遣反馈信息
}
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
dispatchRepairFeedbackDto.setFeedbackCode(dispatchPaper.getFeedbackCode());// 维修反馈code
dispatchRepairFeedbackDto.setFeedbackType(dispatchPaper.getFeedbackType());// 维修反馈类型
dispatchRepairFeedbackDto.setFeedbackFinishTime(dispatchPaper.getFeedbackFinishTime()); //维修完成时间
dispatchRepairFeedbackDto.setRemark(dispatchPaper.getRemark()); // 维修反馈备注
if(StringUtils.isBlank(dispatchPaper.getFeedbackUid())) { //维修反馈人
dispatchRepairFeedbackDto.setFeedbackUid(feedbackUser.getUserId());
} else {
dispatchRepairFeedbackDto.setFeedbackUid(dispatchPaper.getFeedbackUid());
}
if(StringUtils.isBlank(dispatchPaper.getFeedbackUname())) { //维修反馈人
dispatchRepairFeedbackDto.setFeedbackUname(feedbackUser.getUserName());
} else {
dispatchRepairFeedbackDto.setFeedbackUname(dispatchPaper.getFeedbackUname());
}
//维保响应人
Long useOrgTaskId = dispatchPaper.getUseOrgTaskId();
Long repairOrgTaskId = dispatchPaper.getRepairOrgTaskId();
// 如果维保单位和使用单位都下单了 默认显示维保单位
DispatchTask dispatchTask = null;
if(repairOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(repairOrgTaskId);
dispatchRepairFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchRepairFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
} else if(useOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(useOrgTaskId);
dispatchRepairFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchRepairFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
}
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
String value = null;
switch (alertFormValue.getFieldCode()) {
case "fix_feedback_time": //报修反馈时间
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchRepairFeedbackDto.setFixFeedbackTime(null);
} else {
try {
dispatchRepairFeedbackDto.setFixFeedbackTime(sdf.parse(value));
} catch (ParseException e) {
throw new BadRequest("维修反馈时间格式错误");
}
}
break;
case "feedback_result"://报修结果
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setFeedbackResult(value);
break;
case "fix_feedback_type":// 保修反馈方式
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setFixFeedbackType(value);
break;
case "fix_feedback_uname":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchRepairFeedbackDto.setFixFeedbackUname(feedbackUser.getUserName());
} else {
dispatchRepairFeedbackDto.setFixFeedbackUname(value);
}
break;
case "fix_feedback_uid":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchRepairFeedbackDto.setFixFeedbackUid(feedbackUser.getUserId());
} else {
dispatchRepairFeedbackDto.setFixFeedbackUid(value);
}
break;
case "fix_result":
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setFixResult(value);
break;
case "error_result":
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setErrorResult(value);
break;
case "fix_remark":
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setFixRemark(value);
break;
}
});
return dispatchRepairFeedbackDto;
}
@Override
public Boolean saveDispatchRepairFeedback(DispatchRepairFeedbackDto dispatchRepairFeedbackDto) {
Boolean flag = false;
// 保存救援回访信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(dispatchRepairFeedbackDto.getAlertId());
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
switch (alertFormValue.getFieldCode()) {
case "fix_feedback_time":
if (dispatchRepairFeedbackDto.getFixFeedbackTime() != null)
alertFormValue.setFieldValue(sdf.format(dispatchRepairFeedbackDto.getFixFeedbackTime()));
break;
case "feedback_result":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFeedbackResult())) {
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFeedbackResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "FKJG").eq("name", dispatchRepairFeedbackDto.getFeedbackResult());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
case "fix_feedback_type":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixFeedbackType())) {
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixFeedbackType());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "FKFS").eq("name", dispatchRepairFeedbackDto.getFixFeedbackType());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
case "fix_feedback_uname":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixFeedbackUname()))
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixFeedbackUname());
break;
case "fix_feedback_uid":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixFeedbackUid()))
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixFeedbackUid());
break;
case "fix_result":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixResult())) {
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "WXJG").eq("name", dispatchRepairFeedbackDto.getFixResult());
DataDictionary fixResult = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(fixResult.getCode());
}
break;
case "error_result":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getErrorResult())) {
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getErrorResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "GZYY").eq("name", dispatchRepairFeedbackDto.getErrorResult());
DataDictionary errorResult = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(errorResult.getCode());
}
break;
case "fix_remark":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixRemark()))
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixRemark());
break;
}
});
dispatchPaper.setFeedbackCode(dispatchRepairFeedbackDto.getFeedbackCode());
dispatchPaper.setFeedbackType(dispatchRepairFeedbackDto.getFeedbackType());
dispatchPaper.setFeedbackFinishTime(dispatchRepairFeedbackDto.getFeedbackFinishTime());
dispatchPaper.setFeedbackUid(dispatchRepairFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchRepairFeedbackDto.getFeedbackUname());
dispatchPaper.setRemark(dispatchRepairFeedbackDto.getRemark());
dispatchPaper.setFeedbackTime(dispatchRepairFeedbackDto.getFeedbackTime());
// 保存动态表单数据
iAlertFormValueService.saveBatch(dynamicFormAlert);
// 保存派遣表
flag = this.save(dispatchPaper);
return flag;
}
@Override
public DispatchConsultFeedbackDto getDispatchConsultFeedbackDtoByAlertId(Long alertId, AgencyUserModel feedbackUser) {
DispatchConsultFeedbackDto dispatchConsultFeedbackDto = new DispatchConsultFeedbackDto();
dispatchConsultFeedbackDto.setAlertId(alertId);
AlertCalledFormDto alertCalledFormVo = (AlertCalledFormDto) alertCalledServiceImpl.selectAlertCalledById(alertId);
// 警情信息
AlertCalledVo alertCalledVo = alertCalledFormVo.getAlertCalledVo();
dispatchConsultFeedbackDto.setEmergency(alertCalledVo.getEmergencyPerson());
dispatchConsultFeedbackDto.setEmergencyCall(alertCalledVo.getEmergencyCall());
// 派遣单信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(alertId);
if(dispatchPaperFormDto == null || dispatchPaperFormDto.getDispatchPaper() == null) {
return new DispatchConsultFeedbackDto(); // 如果没有派遣就没有派遣反馈信息
}
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
dispatchConsultFeedbackDto.setFeedbackCode(dispatchPaper.getFeedbackCode());// 维修反馈code
dispatchConsultFeedbackDto.setFeedbackType(dispatchPaper.getFeedbackType());// 维修反馈类型
dispatchConsultFeedbackDto.setFeedbackTime(dispatchPaper.getFeedbackTime()); //回访时间
dispatchConsultFeedbackDto.setRemark(dispatchPaper.getRemark()); // 维修反馈备注
dispatchConsultFeedbackDto.setFeedbackFinishTime(dispatchPaper.getFeedbackFinishTime()); //维保完成时间
if(StringUtils.isBlank(dispatchPaper.getFeedbackUid())) { //维修反馈人
dispatchConsultFeedbackDto.setFeedbackUid(feedbackUser.getUserId());
} else {
dispatchConsultFeedbackDto.setFeedbackUid(dispatchPaper.getFeedbackUid());
}
if(StringUtils.isBlank(dispatchPaper.getFeedbackUname())) { //维修反馈人
dispatchConsultFeedbackDto.setFeedbackUname(feedbackUser.getUserName());
} else {
dispatchConsultFeedbackDto.setFeedbackUname(dispatchPaper.getFeedbackUname());
}
//维保响应人
Long useOrgTaskId = dispatchPaper.getUseOrgTaskId();
Long repairOrgTaskId = dispatchPaper.getRepairOrgTaskId();
// 如果维保单位和使用单位都下单了 默认显示维保单位
DispatchTask dispatchTask = null;
if(repairOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(repairOrgTaskId);
dispatchConsultFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchConsultFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
} else if(useOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(useOrgTaskId);
dispatchConsultFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchConsultFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
}
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
String value = null;
switch (alertFormValue.getFieldCode()) {
case "consult_feedback_time": //咨询反馈时间
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchConsultFeedbackDto.setConsultFeedbackTime(null);
} else {
try {
dispatchConsultFeedbackDto.setConsultFeedbackTime(sdf.parse(value));
} catch (ParseException e) {
throw new BadRequest("咨询反馈时间格式错误");
}
}
break;
case "action_result"://处置结果
value = alertFormValue.getFieldValue();
dispatchConsultFeedbackDto.setActionResult(value);
break;
case "feedback_result"://咨询反馈结果
value = alertFormValue.getFieldValue();
dispatchConsultFeedbackDto.setFeedbackResult(value);
break;
case "consult_feedback_type":// 咨询反馈方式
value = alertFormValue.getFieldValue();
dispatchConsultFeedbackDto.setConsultFeedbackType(value);
break;
case "consult_feedback_uname":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchConsultFeedbackDto.setConsultFeedbackUname(feedbackUser.getUserName());
} else {
dispatchConsultFeedbackDto.setConsultFeedbackUname(value);
}
break;
case "consult_feedback_uid":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchConsultFeedbackDto.setConsultFeedbackUid(feedbackUser.getUserId());
} else {
dispatchConsultFeedbackDto.setConsultFeedbackUid(value);
}
break;
case "main_feedback_result":
value = alertFormValue.getFieldValue();
dispatchConsultFeedbackDto.setMainFeedbackResult(value);
break;
}
});
return dispatchConsultFeedbackDto;
}
@Override
public Boolean saveDispatchConsultFeedback(DispatchConsultFeedbackDto dispatchConsultFeedbackDto) {
Boolean flag = false;
// 保存救援回访信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(dispatchConsultFeedbackDto.getAlertId());
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
switch (alertFormValue.getFieldCode()) {
case "consult_feedback_time":
if (dispatchConsultFeedbackDto.getConsultFeedbackTime() != null)
alertFormValue.setFieldValue(sdf.format(dispatchConsultFeedbackDto.getConsultFeedbackTime()));
break;
case "action_result":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getActionResult())) {
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getActionResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "CZJG").eq("name", dispatchConsultFeedbackDto.getActionResult());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
case "consult_feedback_type":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getConsultFeedbackType())) {
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getConsultFeedbackType());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "FKFS").eq("name", dispatchConsultFeedbackDto.getConsultFeedbackType());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
case "consult_feedback_uname":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getConsultFeedbackUname()))
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getConsultFeedbackUname());
break;
case "consult_feedback_uid":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getConsultFeedbackUid()))
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getConsultFeedbackUid());
break;
case "main_feedback_result":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getMainFeedbackResult()))
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getMainFeedbackResult());
break;
case "feedback_result":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getFeedbackResult())) {
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getFeedbackResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "FKJG").eq("name", dispatchConsultFeedbackDto.getFeedbackResult());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
}
});
dispatchPaper.setFeedbackCode(dispatchConsultFeedbackDto.getFeedbackCode());
dispatchPaper.setFeedbackType(dispatchConsultFeedbackDto.getFeedbackType());
dispatchPaper.setFeedbackTime(dispatchConsultFeedbackDto.getFeedbackTime());
dispatchPaper.setFeedbackFinishTime(dispatchConsultFeedbackDto.getFeedbackFinishTime());
dispatchPaper.setFeedbackUid(dispatchConsultFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchConsultFeedbackDto.getFeedbackUname());
dispatchPaper.setRemark(dispatchConsultFeedbackDto.getRemark());
// 保存动态表单数据
iAlertFormValueService.saveBatch(dynamicFormAlert);
// 保存派遣表
flag = this.save(dispatchPaper);
return flag;
} }
@Override @Override
......
...@@ -3,7 +3,7 @@ package com.yeejoin.amos.boot.module.tzs.biz.service.impl; ...@@ -3,7 +3,7 @@ package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto; import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperUpdateDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue; import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
...@@ -13,7 +13,6 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.MaintenanceUnit; ...@@ -13,7 +13,6 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation; import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation;
import com.yeejoin.amos.boot.module.tzs.api.entity.Template; import com.yeejoin.amos.boot.module.tzs.api.entity.Template;
import com.yeejoin.amos.boot.module.tzs.api.entity.UseUnit; import com.yeejoin.amos.boot.module.tzs.api.entity.UseUnit;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.mapper.DispatchTaskMapper; import com.yeejoin.amos.boot.module.tzs.api.mapper.DispatchTaskMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchTaskService; import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchTaskService;
import com.yeejoin.amos.boot.module.tzs.api.service.IMaintenanceUnitService; import com.yeejoin.amos.boot.module.tzs.api.service.IMaintenanceUnitService;
...@@ -24,6 +23,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; ...@@ -24,6 +23,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
...@@ -83,38 +83,78 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -83,38 +83,78 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) { public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) {
boolean flag = false; boolean flag = false;
// 判断派遣单是否存在 如果不存在先创建派遣单 // 判断派遣单是否存在 如果不存在先创建派遣单
DispatchPaper dispatchPaper = dispatchPaperServiceImpl.selectDispatchPaperByAlertId(dispatchTaskDto.getAlertId()); DispatchPaperFormDto dispatchPaperDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(dispatchTaskDto.getAlertId());
if(dispatchPaper == null) { if(dispatchPaperDto == null || dispatchPaperDto.getDispatchPaper() == null) {
dispatchPaper = dispatchPaperServiceImpl.createDispatchPaper(dispatchTaskDto.getAlertId(), dispatchTaskDto.getAlertCode(), sendUser); dispatchPaperDto = dispatchPaperServiceImpl.createDispatchPaper(dispatchTaskDto.getAlertId(), dispatchTaskDto.getAlertCode(), sendUser);
} }
DispatchPaper dispatchPaper = dispatchPaperDto.getDispatchPaper();
List<AlertFormValue> dynamicFormAlert = dispatchPaperDto.getDynamicFormAlert();
// 创建派遣单 // 创建派遣单
dispatchTaskDto.setDispatchTime(new Date()); dispatchTaskDto.setDispatchTime(new Date());
DispatchTask dispatchTask = BeanDtoVoUtils.convert(dispatchTaskDto, DispatchTask.class); DispatchTask dispatchTask = BeanDtoVoUtils.convert(dispatchTaskDto, DispatchTask.class);
dispatchTask.setPaperId(dispatchPaper.getSequenceNbr()); dispatchTask.setPaperId(dispatchPaperDto.getSequenceNbr());
flag = this.save(dispatchTask); flag = this.save(dispatchTask);
if(flag) { // 创建好派遣任务单以后根据任务单类型修改派遣单信息 if(flag) { // 创建好派遣任务单以后根据任务单类型修改派遣单信息
DispatchPaperUpdateDto paperUpdateDto = new DispatchPaperUpdateDto();
paperUpdateDto.setPageId(dispatchPaper.getSequenceNbr());
paperUpdateDto.setTaskId(dispatchTask.getSequenceNbr());
paperUpdateDto.setOrgTypeCode(dispatchTask.getOrgTypeCode());
paperUpdateDto.setDispatchTime(dispatchTask.getDispatchTime());
paperUpdateDto.setOrgId(dispatchTask.getResponseOrgId());
// 社会信用代码 根据类型查找放入 // 社会信用代码 根据类型查找放入
MaintenanceUnit maintenanceUnit = null;
switch (dispatchTask.getOrgTypeCode()) { switch (dispatchTask.getOrgTypeCode()) {
case "useUnit": // 使用单位 case "useUnit": // 使用单位
UseUnit useUnit = iUseUnitService.getById(dispatchTask.getResponseOrgId()); UseUnit useUnit = iUseUnitService.getById(dispatchTask.getResponseOrgId());
paperUpdateDto.setOrgCreditCode(useUnit.getSocialCreditCode()); dispatchPaper.setUseOrgId(useUnit.getSequenceNbr());
dispatchPaper.setUseOrgTaskId(dispatchTask.getSequenceNbr());
break; break;
case "repairUnit": case "repairUnit":
maintenanceUnit = iMaintenanceUnitService.getById(dispatchTask.getResponseOrgId());
dispatchPaper.setRepairOrgId(maintenanceUnit.getSequenceNbr());
dispatchPaper.setRepairOrgTaskId(dispatchTask.getSequenceNbr());
break;
case "levelOneUnit": case "levelOneUnit":
MaintenanceUnit maintenanceUnit = iMaintenanceUnitService.getById(dispatchTask.getResponseOrgId()); if(dispatchPaper.getRepairOrgId() != null) { // 已经派遣过调派
paperUpdateDto.setOrgCreditCode(maintenanceUnit.getSocialCreditCode()); throw new BadRequest("已经派遣过其他力量调派");
} else {
maintenanceUnit = iMaintenanceUnitService.getById(dispatchTask.getResponseOrgId());
String socialCreditCode = maintenanceUnit.getSocialCreditCode();
dispatchPaper.setRepairOrgId(maintenanceUnit.getSequenceNbr());
dispatchPaper.setRepairOrgTaskId(dispatchTask.getSequenceNbr());
// 修改动态字段
dynamicFormAlert.stream().forEach(alertFormValue -> {
if(alertFormValue.getFieldCode().equals("dispatch_status")) {
alertFormValue.setFieldValue("已派遣");
alertFormValue.setFieldValueCode("hasDispatched");
} else if(alertFormValue.getFieldCode().equals("response_level")) {
alertFormValue.setFieldValue("一级响应");
alertFormValue.setFieldValueCode("levelOneUnit");
} else if(alertFormValue.getFieldCode().equals("save_credit_code")) {
alertFormValue.setFieldValue(socialCreditCode);
}
});
}
break; break;
case "levelTwoUnit": case "levelTwoUnit":
if(dispatchPaper.getRepairOrgId() != null) { // 已经派遣过调派
throw new BadRequest("已经派遣过其他力量调派");
} else {
RescueStation rescueStation = iRescueStationService.getById(dispatchTask.getResponseOrgId()); RescueStation rescueStation = iRescueStationService.getById(dispatchTask.getResponseOrgId());
dispatchPaper.setRepairOrgId(rescueStation.getSequenceNbr());
dispatchPaper.setRepairOrgTaskId(dispatchTask.getSequenceNbr());
// 修改动态字段
dynamicFormAlert.stream().forEach(alertFormValue -> {
if(alertFormValue.getFieldCode().equals("dispatch_status")) {
alertFormValue.setFieldValue("已派遣");
alertFormValue.setFieldValueCode("hasDispatched");
} else if(alertFormValue.getFieldCode().equals("response_level")) {
alertFormValue.setFieldValue("二级响应");
alertFormValue.setFieldValueCode("levelTwoUnit");
}
});
}
break; break;
} }
// 保存派遣单
dispatchPaperServiceImpl.save(dispatchPaper);
// 保存动态表单数据
iAlertFormValueService.saveBatch(dynamicFormAlert);
} }
return flag; return flag;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment