Commit 424fed44 authored by kongfm's avatar kongfm

TZS我的业务相关代码

parent 73283447
......@@ -28,7 +28,7 @@ public class DispatchConsultFeedbackDto extends BaseDto {
private String emergencyCall;
@ApiModelProperty(value = "投诉反馈方式")
private String consultFeedbackType;
private String consultFeedbackCode;
@ApiModelProperty(value = "投诉反馈结果")
private String feedbackResult;
......
......@@ -28,7 +28,7 @@ public class DispatchRepairFeedbackDto extends BaseDto {
private String emergencyCall;
@ApiModelProperty(value = "报修反馈方式")
private String fixFeedbackType;
private String fixFeedbackCode;
@ApiModelProperty(value = "报修反馈结果")
private String feedbackResult;
......
package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 微信公众号维修反馈dto 类
*/
@Data
@ApiModel(value="WechatUserFeedbackDto", description="微信公众号上报人反馈DTO")
public class WechatUserFeedbackDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "警情id")
private Long alertId;
@ApiModelProperty(value = "结果评价")
private String feedBackResult;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "现场照片")
private List<AttachmentDto> imgs;
}
......@@ -19,9 +19,9 @@ public enum AlertStageEnums {
TSZX("962","TSZX", "投诉咨询"),
// 来源类型JQLYLX
DHBJ("963","233","电话报警"),
// 来源类型JQLYLX
GZHSB("972","APPJJ","移动端上报"),
DHBJ("963","96333","电话报警"),
WLJR("1014","WLJR","物联接入"),
APPJJ("1015","APPJJ","移动端上报"),
// 警情阶段 JQJD
JJ("964","JJ","接警"),
......
......@@ -5,8 +5,10 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.MainPersonDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatDispatchFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyBussinessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatUserFeedbackDto;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.ibatis.annotations.Param;
......@@ -46,5 +48,7 @@ public interface IDispatchTaskService {
List<MainPersonDto> todayTaskPerson();
WechatMyBussinessDto saveUserFeed(WechatUserFeedbackDto wechatUserFeedbackDto);
}
package com.yeejoin.amos.boot.module.tzs.biz.controller;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.service.ISourceFileService;
import com.yeejoin.amos.boot.module.tzs.api.dto.MainPersonDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatDispatchFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatUserFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyBussinessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchTaskService;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertCalledServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertFormValueServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
......@@ -14,7 +25,9 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
......@@ -46,6 +59,15 @@ public class DispatchTaskController extends BaseController {
@Autowired
RedisUtils redisUtils;
@Autowired
ISourceFileService sourceFileService;
@Autowired
IDispatchTaskService dispatchTaskService;
@Autowired
AlertFormValueServiceImpl iAlertFormValueService;
/**
* 根据派遣单位类型和警情id 获取任务模板
* @param orgTypeCode
......@@ -111,4 +133,206 @@ public class DispatchTaskController extends BaseController {
List<MainPersonDto> list = dispatchTaskServiceImpl.todayTaskPerson();
return ResponseHelper.buildResponse(list);
}
/**
* 微信公众号维修反馈接口
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/saveUserFeed")
@ApiOperation(httpMethod = "POST", value = "微信公众号上报人反馈接口", notes = "微信公众号上报人反馈接口")
public ResponseModel<WechatMyBussinessDto> saveUserFeed(@RequestBody WechatUserFeedbackDto model) {
return ResponseHelper.buildResponse(dispatchTaskServiceImpl.saveUserFeed(model));
}
/**
* 点击到达触发事件
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/taskArrive/{taskId}")
@ApiOperation(httpMethod = "GET", value = "点击到达触发事件", notes = "点击到达触发事件")
public ResponseModel<WechatMyTaskDto> taskArrive(@PathVariable Long taskId) {
if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败.");
}
if(dispatchTaskServiceImpl.taskArrive(taskId)) {
return ResponseHelper.buildResponse(getTaskDtoByTaskId(taskId));
} else {
return ResponseHelper.buildResponse(new WechatMyTaskDto());
}
}
/**
* 点击救援完成触发事件
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/saveFinish/{taskId}")
@ApiOperation(httpMethod = "GET", value = "点击救援完成触发事件", notes = "点击救援完成触发事件")
public ResponseModel<WechatMyTaskDto> saveFinish(@PathVariable Long taskId) {
if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败.");
}
if(dispatchTaskServiceImpl.saveFinish(taskId)) {
return ResponseHelper.buildResponse(getTaskDtoByTaskId(taskId));
} else {
return ResponseHelper.buildResponse(new WechatMyTaskDto());
}
}
/**
* 获取任务详情
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getTaskInfo/{taskId}")
@ApiOperation(httpMethod = "GET", value = "获取任务详情", notes = "获取任务详情")
public ResponseModel<WechatMyTaskDto> getTaskInfo(@PathVariable Long taskId) {
if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败.");
}
return ResponseHelper.buildResponse(getTaskDtoByTaskId(taskId));
}
private WechatMyTaskDto getTaskDtoByTaskId(Long taskId) {
WechatMyTaskDto temp = dispatchTaskService.getTaskInfoByTaskId(taskId);
List<AlertFormValue> paperList = null;
Map<String, List<AttachmentDto>> imgMap = null;
List<AttachmentDto> imgDtos = null;
Map<String, List<AttachmentDto>> errorImgMap = null;
List<AttachmentDto> errorImgDtos = null;
List<AttachmentDto> feedbackDtos = null;
LambdaQueryWrapper<AlertFormValue> queryWrapper = new LambdaQueryWrapper<>();
switch (temp.getTaskTypeCode()) {
case "960" : // 困人救援
temp.setHasDeadHurt("无");
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getAlertId());
// 警情动态表单数据
List<AlertFormValue> alertList = iAlertFormValueService.list(queryWrapper);
alertList.stream().forEach(t -> {
String value = t.getFieldValue();
if("trapped_floor_num".equals(t.getFieldCode())) {
// 被困楼层
temp.setTrappedFloorNum(value);
} else if("trapped_num".equals(t.getFieldCode())) {
// 被困人数
temp.setTrappedNum(value);
} else if("injured_num".equals(t.getFieldCode())) {
// 受伤人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
} else if("die_num".equals(t.getFieldCode())) {
// 死亡人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
}
});
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
}
});
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
errorImgMap = sourceFileService.getAttachments(temp.getAlertId());
feedbackDtos = errorImgMap.get("feedbacks");
temp.setFeedBackImgs(feedbackDtos);
break;
case "961" : // 故障维修
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
} else if("feedback_result".equals(t.getFieldCode())) {
// 反馈结果
temp.setFeedbackResult(value);
}
});
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
errorImgMap = sourceFileService.getAttachments(temp.getAlertId());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
feedbackDtos = errorImgMap.get("feedbacks");
temp.setFeedBackImgs(feedbackDtos);
break;
case "962" : // 投诉建议
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) {
// 处置结果
temp.setActionResult(value);
}
});
errorImgMap = sourceFileService.getAttachments(temp.getAlertId());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
feedbackDtos = errorImgMap.get("feedbacks");
temp.setFeedBackImgs(feedbackDtos);
break;
}
return temp;
}
}
......@@ -125,6 +125,7 @@ public class WechatController extends BaseController {
@Autowired
ISourceFileService sourceFileService;
/**
* 获取微信回调信息返回验证是否通过
* @param signature
......@@ -426,20 +427,6 @@ public class WechatController extends BaseController {
}
/**
* 获取任务详情
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/getTaskInfo/{taskId}")
@ApiOperation(httpMethod = "GET", value = "获取任务详情", notes = "获取任务详情")
public ResponseModel<WechatMyTaskDto> getTaskInfo(@PathVariable Long taskId) {
if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败.");
}
return ResponseHelper.buildResponse(getTaskDtoByTaskId(taskId));
}
/**
* 获取业务详情
......@@ -456,45 +443,6 @@ public class WechatController extends BaseController {
return ResponseHelper.buildResponse(getBussinessDtoById(bussinessId));
}
/**
* 点击到达触发事件
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/taskArrive/{taskId}")
@ApiOperation(httpMethod = "GET", value = "点击到达触发事件", notes = "点击到达触发事件")
public ResponseModel<WechatMyTaskDto> taskArrive(@PathVariable Long taskId) {
if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败.");
}
if(dispatchTaskService.taskArrive(taskId)) {
return ResponseHelper.buildResponse(getTaskDtoByTaskId(taskId));
} else {
return ResponseHelper.buildResponse(new WechatMyTaskDto());
}
}
/**
* 点击救援完成触发事件
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/saveFinish/{taskId}")
@ApiOperation(httpMethod = "GET", value = "点击救援完成触发事件", notes = "点击救援完成触发事件")
public ResponseModel<WechatMyTaskDto> saveFinish(@PathVariable Long taskId) {
if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败.");
}
if(dispatchTaskService.saveFinish(taskId)) {
return ResponseHelper.buildResponse(getTaskDtoByTaskId(taskId));
} else {
return ResponseHelper.buildResponse(new WechatMyTaskDto());
}
}
/**
* 获取任务列表
......@@ -561,122 +509,7 @@ public class WechatController extends BaseController {
return ResponseHelper.buildResponse(urlString);
}
private WechatMyTaskDto getTaskDtoByTaskId(Long taskId) {
WechatMyTaskDto temp = dispatchTaskService.getTaskInfoByTaskId(taskId);
List<AlertFormValue> paperList = null;
Map<String, List<AttachmentDto>> imgMap = null;
List<AttachmentDto> imgDtos = null;
Map<String, List<AttachmentDto>> errorImgMap = null;
List<AttachmentDto> errorImgDtos = null;
LambdaQueryWrapper<AlertFormValue> queryWrapper = new LambdaQueryWrapper<>();
switch (temp.getTaskTypeCode()) {
case "960" : // 困人救援
temp.setHasDeadHurt("无");
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getAlertId());
// 警情动态表单数据
List<AlertFormValue> alertList = iAlertFormValueService.list(queryWrapper);
alertList.stream().forEach(t -> {
String value = t.getFieldValue();
if("trapped_floor_num".equals(t.getFieldCode())) {
// 被困楼层
temp.setTrappedFloorNum(value);
} else if("trapped_num".equals(t.getFieldCode())) {
// 被困人数
temp.setTrappedNum(value);
} else if("injured_num".equals(t.getFieldCode())) {
// 受伤人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
} else if("die_num".equals(t.getFieldCode())) {
// 死亡人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
}
});
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
}
});
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
break;
case "961" : // 故障维修
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
} else if("feedback_result".equals(t.getFieldCode())) {
// 反馈结果
temp.setFeedbackResult(value);
}
});
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
errorImgMap = sourceFileService.getAttachments(temp.getAlertId());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
break;
case "962" : // 投诉建议
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) {
// 处置结果
temp.setActionResult(value);
}
});
break;
}
return temp;
}
private WechatMyBussinessDto getBussinessDtoById(Long alertId) {
......@@ -688,6 +521,7 @@ public class WechatController extends BaseController {
List<AttachmentDto> imgDtos = null;
Map<String, List<AttachmentDto>> errorImgMap = null;
List<AttachmentDto> errorImgDtos = null;
List<AttachmentDto> feedbackDtos = null;
LambdaQueryWrapper<AlertFormValue> queryWrapper = new LambdaQueryWrapper<>();
switch (temp.getTaskTypeCode()) {
case "960" : // 困人救援
......@@ -775,11 +609,11 @@ public class WechatController extends BaseController {
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
errorImgMap = sourceFileService.getAttachments(temp.getSequenceNbr());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
feedbackDtos = errorImgMap.get("feedbacks");
temp.setFeedBackImgs(feedbackDtos);
break;
case "962" : // 投诉建议
queryWrapper = new LambdaQueryWrapper<>();
......@@ -793,6 +627,11 @@ public class WechatController extends BaseController {
temp.setActionResult(value);
}
});
errorImgMap = sourceFileService.getAttachments(temp.getSequenceNbr());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
feedbackDtos = errorImgMap.get("feedbacks");
temp.setFeedBackImgs(feedbackDtos);
break;
}
return temp;
......
......@@ -465,8 +465,8 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
// 警情报送
alertCalled.setAlertStatus(false);
alertCalled.setAlertSource(AlertStageEnums.GZHSB.getValue());
alertCalled.setAlertSourceCode(AlertStageEnums.GZHSB.getCode());
alertCalled.setAlertSource(AlertStageEnums.APPJJ.getValue());
alertCalled.setAlertSourceCode(AlertStageEnums.APPJJ.getCode());
alertCalled.setIsDelete(false);
alertCalled.setAlertStage(AlertStageEnums.JJ.getValue());
alertCalled.setAlertStageCode(AlertStageEnums.JJ.getId());
......
......@@ -219,8 +219,8 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
return new DispatchSaveFeedbackDto(); // 如果没有派遣就没有派遣反馈信息
}
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
dispatchSaveFeedbackDto.setFeedbackCode(dispatchPaper.getFeedbackCode());
dispatchSaveFeedbackDto.setFeedbackType(dispatchPaper.getFeedbackType());
// dispatchSaveFeedbackDto.setFeedbackCode(dispatchPaper.getFeedbackCode());
// dispatchSaveFeedbackDto.setFeedbackType(dispatchPaper.getFeedbackType());
dispatchSaveFeedbackDto.setFeedbackFinishTime(dispatchPaper.getFeedbackFinishTime());
if(StringUtils.isBlank(dispatchPaper.getFeedbackUid())) {
dispatchSaveFeedbackDto.setFeedbackUid(null);
......@@ -297,6 +297,11 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
value = alertFormValue.getFieldValue();
dispatchSaveFeedbackDto.setFixRemark(value);
break;
case TzsCommonParam.FIX_FEEDBACK_TYPE:// 保修反馈方式
value = alertFormValue.getFieldValueCode();
dispatchSaveFeedbackDto.setFeedbackCode(value);
dispatchSaveFeedbackDto.setFeedbackType(alertFormValue.getFieldValue());
break;
}
});
......@@ -358,12 +363,21 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
alertFormValue.setFieldValueCode(errorResult.getCode());
}
break;
case TzsCommonParam.FIX_FEEDBACK_TYPE:
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getFeedbackCode())) {
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DataDictionary::getType, TzsCommonParam.FKFS).eq(DataDictionary::getCode, dispatchSaveFeedbackDto.getFeedbackCode());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValue(feedbackType.getName());
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
}
});
if(StringUtils.isNotBlank(dispatchSaveFeedbackDto.getFeedbackCode())) {
dispatchPaper.setFeedbackCode(dispatchSaveFeedbackDto.getFeedbackCode());
dispatchPaper.setFeedbackType(DispatchPaperEnums.getEnumById(dispatchSaveFeedbackDto.getFeedbackCode()).getValue());
}
// if(StringUtils.isNotBlank(dispatchSaveFeedbackDto.getFeedbackCode())) {
// dispatchPaper.setFeedbackCode(dispatchSaveFeedbackDto.getFeedbackCode());
// dispatchPaper.setFeedbackType(DispatchPaperEnums.getEnumById(dispatchSaveFeedbackDto.getFeedbackCode()).getValue());
// }
dispatchPaper.setFeedbackFinishTime(dispatchSaveFeedbackDto.getFeedbackFinishTime());
dispatchPaper.setFeedbackUid(dispatchSaveFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchSaveFeedbackDto.getFeedbackUname());
......@@ -407,9 +421,8 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
}
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
dispatchRepairFeedbackDto.setFeedbackCode(dispatchPaper.getFeedbackCode());// 维修反馈code
dispatchRepairFeedbackDto.setFeedbackType(dispatchPaper.getFeedbackType());// 维修反馈类型
dispatchRepairFeedbackDto.setFeedbackFinishTime(dispatchPaper.getFeedbackFinishTime()); //维修完成时间
dispatchRepairFeedbackDto.setFixFeedbackCode(dispatchPaper.getFeedbackCode());// 维修反馈code
dispatchRepairFeedbackDto.setFixFeedbackTime(dispatchPaper.getFeedbackTime()); //报修人反馈时间
dispatchRepairFeedbackDto.setRemark(dispatchPaper.getRemark()); // 维修反馈备注
if(StringUtils.isBlank(dispatchPaper.getFeedbackUid())) { //维修反馈人
dispatchRepairFeedbackDto.setFeedbackUid(null);
......@@ -448,10 +461,10 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
case TzsCommonParam.FIX_FEEDBACK_TIME: //报修反馈时间
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchRepairFeedbackDto.setFixFeedbackTime(null);
dispatchRepairFeedbackDto.setFeedbackFinishTime(null);
} else {
try {
dispatchRepairFeedbackDto.setFixFeedbackTime(DateUtils.longStr2Date(value));
dispatchRepairFeedbackDto.setFeedbackFinishTime(DateUtils.longStr2Date(value));
} catch (Exception e) {
throw new BadRequest("维修反馈时间格式错误");
}
......@@ -463,7 +476,7 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
break;
case TzsCommonParam.FIX_FEEDBACK_TYPE:// 保修反馈方式
value = alertFormValue.getFieldValueCode();
dispatchRepairFeedbackDto.setFixFeedbackType(value);
dispatchRepairFeedbackDto.setFeedbackCode(value);
break;
case TzsCommonParam.FIX_FEEDBACK_UNAME:
value = alertFormValue.getFieldValue();
......@@ -504,7 +517,7 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
@Override
public Boolean saveDispatchRepairFeedback(DispatchRepairFeedbackDto dispatchRepairFeedbackDto, AgencyUserModel user) {
Boolean flag = false;
// 保存救援回访信息
// 保存维修回访信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(dispatchRepairFeedbackDto.getAlertId());
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
// 动态字段
......@@ -513,26 +526,26 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
dynamicFormAlert.stream().forEach(alertFormValue -> {
switch (alertFormValue.getFieldCode()) {
case TzsCommonParam.FIX_FEEDBACK_TIME:
if (dispatchRepairFeedbackDto.getFixFeedbackTime() != null) {
if(alertFormValue.getFieldValue() == null) {
tempMap.put(TzsCommonParam.BXFK,true);
if (dispatchRepairFeedbackDto.getFeedbackFinishTime() != null) {
if(alertFormValue.getFieldValue() == null) {// 维修人员反馈
tempMap.put("WXFK",true);
}
alertFormValue.setFieldValue(DateUtils.date2LongStr(dispatchRepairFeedbackDto.getFixFeedbackTime()));
alertFormValue.setFieldValue(DateUtils.date2LongStr(dispatchRepairFeedbackDto.getFeedbackFinishTime()));
}
break;
case TzsCommonParam.FEEDBACK_RESULT:
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFeedbackResult())) {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", TzsCommonParam.WXJG).eq("code", dispatchRepairFeedbackDto.getFeedbackResult());
queryWrapper.eq("type", TzsCommonParam.FKJG).eq("code", dispatchRepairFeedbackDto.getFeedbackResult());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValue(feedbackType.getName());
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
case TzsCommonParam.FIX_FEEDBACK_TYPE:
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixFeedbackType())) {
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFeedbackCode())) {
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DataDictionary::getType, TzsCommonParam.FKFS).eq(DataDictionary::getCode, dispatchRepairFeedbackDto.getFixFeedbackType());
queryWrapper.eq(DataDictionary::getType, TzsCommonParam.FKFS).eq(DataDictionary::getCode, dispatchRepairFeedbackDto.getFeedbackCode());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValue(feedbackType.getName());
alertFormValue.setFieldValueCode(feedbackType.getCode());
......@@ -570,23 +583,25 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
break;
}
});
if(StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFeedbackCode())) {
dispatchPaper.setFeedbackCode(dispatchRepairFeedbackDto.getFeedbackCode());
dispatchPaper.setFeedbackType(DispatchPaperEnums.getEnumById(dispatchRepairFeedbackDto.getFeedbackCode()).getValue());
if(StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixFeedbackCode())) {
dispatchPaper.setFeedbackCode(dispatchRepairFeedbackDto.getFixFeedbackCode());
dispatchPaper.setFeedbackType(DispatchPaperEnums.getEnumById(dispatchRepairFeedbackDto.getFixFeedbackCode()).getValue());
}
dispatchPaper.setFeedbackFinishTime(dispatchRepairFeedbackDto.getFeedbackFinishTime());
dispatchPaper.setFeedbackUid(dispatchRepairFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchRepairFeedbackDto.getFeedbackUname());
dispatchPaper.setRepairUser(dispatchRepairFeedbackDto.getFeedbackUname());
dispatchPaper.setRemark(dispatchRepairFeedbackDto.getRemark());
if(dispatchPaper.getFeedbackTime() == null && dispatchRepairFeedbackDto.getFeedbackTime() != null) {
tempMap.put("FEEDBACK",true);
dispatchPaper.setFeedbackFinishTime(dispatchRepairFeedbackDto.getFixFeedbackTime());
if(dispatchPaper.getFeedbackTime() == null && dispatchRepairFeedbackDto.getFixFeedbackTime() != null) { // 上报人反馈
tempMap.put("BXFK",true);
}
dispatchPaper.setFeedbackTime(dispatchRepairFeedbackDto.getFeedbackTime());
dispatchPaper.setFeedbackTime(dispatchRepairFeedbackDto.getFixFeedbackTime());
// 保存动态表单数据
iAlertFormValueService.updateBatchById(dynamicFormAlert);
// 保存派遣表
flag = this.updateById(dispatchPaper);
if(tempMap.get("FEEDBACK") != null) {
if(tempMap.get("WXFK") != null) {
// 维修反馈
Long taskId = dispatchPaper.getRepairOrgTaskId() != null ? dispatchPaper.getRepairOrgTaskId() : dispatchPaper.getUseOrgTaskId();
if(taskId == null) {
......@@ -683,7 +698,7 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
break;
case TzsCommonParam.CONSULT_FEEDBACK_TYPE:// 咨询反馈方式
value = alertFormValue.getFieldValueCode();
dispatchConsultFeedbackDto.setConsultFeedbackType(value);
dispatchConsultFeedbackDto.setConsultFeedbackCode(value);
break;
case TzsCommonParam.CONSULT_FEEDBACK_UNAME:
value = alertFormValue.getFieldValue();
......@@ -726,7 +741,7 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
case TzsCommonParam.CONSULT_FEEDBACK_TIME:
if (dispatchConsultFeedbackDto.getConsultFeedbackTime() != null) {
if(alertFormValue.getFieldValue() == null ) {
tempMap.put(TzsCommonParam.TSRFK,true);
tempMap.put("FEEDBACK",true);
}
alertFormValue.setFieldValue(DateUtils.date2LongStr(dispatchConsultFeedbackDto.getConsultFeedbackTime()));
}
......@@ -741,9 +756,9 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
}
break;
case TzsCommonParam.CONSULT_FEEDBACK_TYPE:
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getConsultFeedbackType())) {
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getConsultFeedbackCode())) {
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DataDictionary::getType, TzsCommonParam.FKFS).eq(DataDictionary::getCode, dispatchConsultFeedbackDto.getConsultFeedbackType());
queryWrapper.eq(DataDictionary::getType, TzsCommonParam.FKFS).eq(DataDictionary::getCode, dispatchConsultFeedbackDto.getConsultFeedbackCode());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValue(feedbackType.getName());
alertFormValue.setFieldValueCode(feedbackType.getCode());
......@@ -777,12 +792,13 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
dispatchPaper.setFeedbackType(DispatchPaperEnums.getEnumById(dispatchConsultFeedbackDto.getFeedbackCode()).getValue());
}
if(dispatchPaper.getFeedbackTime() == null && dispatchConsultFeedbackDto.getFeedbackTime() != null) {
tempMap.put("FEEDBACK",true);
tempMap.put("TSRFK",true);
}
dispatchPaper.setFeedbackTime(dispatchConsultFeedbackDto.getFeedbackTime());
dispatchPaper.setFeedbackFinishTime(dispatchConsultFeedbackDto.getFeedbackFinishTime());
dispatchPaper.setFeedbackUid(dispatchConsultFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchConsultFeedbackDto.getFeedbackUname());
dispatchPaper.setDealUser(dispatchConsultFeedbackDto.getFeedbackUname());
dispatchPaper.setRemark(dispatchConsultFeedbackDto.getRemark());
// 保存动态表单数据
iAlertFormValueService.updateBatchById(dynamicFormAlert);
......
......@@ -17,8 +17,10 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.MainPersonDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatDispatchFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyBussinessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatUserFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
......@@ -116,6 +118,10 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
@Autowired
private EmqKeeper emqKeeper;
@Autowired
ISourceFileService sourceFileService;
@Value("${tzs.wechat.tempId.kr}")
private String KRJY_TEMPID;
......@@ -310,15 +316,67 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
DispatchTask task = this.getById(wechatDispatchFeedbackDto.getTaskId());
DispatchPaper dispatchPaper = dispatchPaperServiceImpl.getById(task.getPaperId());
Date now = new Date();
// 反馈方式
dispatchPaper.setFeedbackCode("856");
dispatchPaper.setFeedbackType("主动反馈");
AlertCalled alertCalled = alertCalledServiceImpl.getById(task.getAlertId());
// 反馈方式 -- 根据类型保存到动态表中
if(alertCalled.getAlarmTypeCode().equals(AlertStageEnums.KRJY.getId())) { // 困人救援
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,"主动反馈").
set(AlertFormValue::getFieldValueCode,"856").
eq(AlertFormValue::getFieldCode,"fix_feedback_type").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,task.getResponseUserName()).
eq(AlertFormValue::getFieldCode,"fix_feedback_uname").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,task.getResponseUserId() + "").
eq(AlertFormValue::getFieldCode,"fix_feedback_uid").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,wechatDispatchFeedbackDto.getRemark()).
eq(AlertFormValue::getFieldCode,"fix_remark").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
} else if(alertCalled.getAlarmTypeCode().equals(AlertStageEnums.GZWX.getId())) { // 故障维修
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,"主动反馈").
set(AlertFormValue::getFieldValueCode,"856").
eq(AlertFormValue::getFieldCode,"fix_feedback_type").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,task.getResponseUserName()).
eq(AlertFormValue::getFieldCode,"fix_feedback_uname").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,task.getResponseUserId() + "").
eq(AlertFormValue::getFieldCode,"fix_feedback_uid").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,wechatDispatchFeedbackDto.getRemark()).
eq(AlertFormValue::getFieldCode,"fix_remark").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
} else if(alertCalled.getAlarmTypeCode().equals(AlertStageEnums.TSZX.getId())) {// 投诉建议
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,"主动反馈").
set(AlertFormValue::getFieldValueCode,"856").
eq(AlertFormValue::getFieldCode,"consult_feedback_type").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,task.getResponseUserName()).
eq(AlertFormValue::getFieldCode,"consult_feedback_uname").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,task.getResponseUserId() + "").
eq(AlertFormValue::getFieldCode,"consult_feedback_uid").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,wechatDispatchFeedbackDto.getRemark()).
eq(AlertFormValue::getFieldCode,"main_feedback_result").
eq(AlertFormValue::getAlertCalledId,task.getPaperId()));
}
// 反馈时间
dispatchPaper.setFeedbackFinishTime(now);
dispatchPaper.setFeedbackTime(now);
// 反馈人信息
dispatchPaper.setFeedbackUid(task.getResponseUserId() + "");
dispatchPaper.setFeedbackUname(task.getResponseUserName());
dispatchPaper.setRepairUser(task.getResponseUserName());
// 保存照片
......@@ -361,6 +419,11 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
WechatMyTaskDto temp = this.getTaskInfoByTaskId(wechatDispatchFeedbackDto.getTaskId());
List<AlertFormValue> paperList = null;
Map<String, List<AttachmentDto>> imgMap = null;
List<AttachmentDto> imgDtos = null;
Map<String, List<AttachmentDto>> errorImgMap = null;
List<AttachmentDto> errorImgDtos = null;
List<AttachmentDto> feedbackDtos = null;
LambdaQueryWrapper<AlertFormValue> queryWrapper = new LambdaQueryWrapper<>();
switch (temp.getTaskTypeCode()) {
case "960" : // 困人救援
......@@ -411,7 +474,11 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
}
});
// 预留照片处理
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
break;
case "961" : // 故障维修
queryWrapper = new LambdaQueryWrapper<>();
......@@ -440,6 +507,12 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
}
});
errorImgMap = sourceFileService.getAttachments(temp.getAlertId());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
feedbackDtos = errorImgMap.get("feedbacks");
temp.setFeedBackImgs(feedbackDtos);
break;
case "962" : // 投诉建议
queryWrapper = new LambdaQueryWrapper<>();
......@@ -449,12 +522,18 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) {
// 处置结果get
// 处置结果
temp.setActionResult(value);
}
});
errorImgMap = sourceFileService.getAttachments(temp.getAlertId());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
feedbackDtos = errorImgMap.get("feedbacks");
temp.setFeedBackImgs(feedbackDtos);
break;
}
return temp;
}
......@@ -500,6 +579,182 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
@Transactional
@Override
public WechatMyBussinessDto saveUserFeed(WechatUserFeedbackDto wechatUserFeedbackDto) {
AlertCalled alertCalled = alertCalledServiceImpl.getById(wechatUserFeedbackDto.getAlertId());
DispatchPaper dispatchPaper = dispatchPaperServiceImpl.getOne(new LambdaQueryWrapper<DispatchPaper>().eq(DispatchPaper::getIsDelete,0).eq(DispatchPaper::getAlertId,wechatUserFeedbackDto.getAlertId()));
Date now = new Date();
dispatchPaper.setFeedbackCode("856");
dispatchPaper.setFeedbackType("主动反馈");
// 反馈时间
dispatchPaper.setFeedbackFinishTime(now);
dispatchPaper.setFeedbackTime(now);
// 反馈人信息
dispatchPaper.setFeedbackUid(alertCalled.getEmergencyCall());
dispatchPaper.setFeedbackUname(alertCalled.getEmergencyCall() + alertCalled.getEmergencyPerson());
// 保存照片
Map<String, List<AttachmentDto>> attachmentMap = new HashMap<>();
attachmentMap.put("feedbacks",wechatUserFeedbackDto.getImgs());
ISourceFileService.saveAttachments(alertCalled.getSequenceNbr(),attachmentMap);
// 备注
dispatchPaper.setRemark(wechatUserFeedbackDto.getRemark());
dispatchPaperServiceImpl.updateById(dispatchPaper);
if(alertCalled.getAlarmTypeCode().equals(AlertStageEnums.KRJY.getId())) { // 困人救援
} else if(alertCalled.getAlarmTypeCode().equals(AlertStageEnums.GZWX.getId())) { // 故障维修
if (StringUtils.isNotBlank(wechatUserFeedbackDto.getFeedBackResult())) {
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DataDictionary::getType, TzsCommonParam.FKJG).eq(DataDictionary::getCode, wechatUserFeedbackDto.getFeedBackResult());
DataDictionary feedbackResult = iDataDictionaryService.getOne(queryWrapper);
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,feedbackResult.getName()).
set(AlertFormValue::getFieldValueCode,feedbackResult.getCode()).
eq(AlertFormValue::getFieldCode,"feedback_result").
eq(AlertFormValue::getAlertCalledId,dispatchPaper.getSequenceNbr()));
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(alertCalled.getSequenceNbr(),TzsCommonParam.BXFK,null,null);
} else if(alertCalled.getAlarmTypeCode().equals(AlertStageEnums.TSZX.getId())) {// 投诉建议
if (StringUtils.isNotBlank(wechatUserFeedbackDto.getFeedBackResult())) {
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DataDictionary::getType, TzsCommonParam.FKJG).eq(DataDictionary::getCode, wechatUserFeedbackDto.getFeedBackResult());
DataDictionary feedbackResult = iDataDictionaryService.getOne(queryWrapper);
iAlertFormValueService.update(new LambdaUpdateWrapper<AlertFormValue>().
set(AlertFormValue::getFieldValue,feedbackResult.getName()).
set(AlertFormValue::getFieldValueCode,feedbackResult.getCode()).
eq(AlertFormValue::getFieldCode,"feedback_result").
eq(AlertFormValue::getAlertCalledId,dispatchPaper.getSequenceNbr()));
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(alertCalled.getSequenceNbr(),TzsCommonParam.TSRFK,null,null);
}
WechatMyBussinessDto temp = alertCalledServiceImpl.getBussinessInfoById(alertCalled.getSequenceNbr());
List<AlertFormValue> paperList = null;
Map<String, List<AttachmentDto>> imgMap = null;
List<AttachmentDto> imgDtos = null;
Map<String, List<AttachmentDto>> errorImgMap = null;
List<AttachmentDto> errorImgDtos = null;
List<AttachmentDto> feedbackDtos = null;
LambdaQueryWrapper<AlertFormValue> queryWrapper = new LambdaQueryWrapper<>();
switch (temp.getTaskTypeCode()) {
case "960" : // 困人救援
temp.setHasDeadHurt("无");
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getSequenceNbr());
// 警情动态表单数据
List<AlertFormValue> alertList = iAlertFormValueService.list(queryWrapper);
alertList.stream().forEach(t -> {
String value = t.getFieldValue();
if("trapped_floor_num".equals(t.getFieldCode())) {
// 被困楼层
temp.setTrappedFloorNum(value);
} else if("trapped_num".equals(t.getFieldCode())) {
// 被困人数
temp.setTrappedNum(value);
} else if("injured_num".equals(t.getFieldCode())) {
// 受伤人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
} else if("die_num".equals(t.getFieldCode())) {
// 死亡人数
if(StringUtils.isNotEmpty(value)) {
temp.setHasDeadHurt("有");
}
}
});
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
}
});
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
break;
case "961" : // 故障维修
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("save_time".equals(t.getFieldCode())) {
// 救援完成时间
if(StringUtils.isNotBlank(value)) {
temp.setSaveTime(DateUtils.longStr2Date(value));
}
} else if("error_result".equals(t.getFieldCode())) {
// 故障原因
temp.setErrorResult(value);
} else if("fix_result".equals(t.getFieldCode())) {
// 维修结果
temp.setFixResult(value);
} else if("fix_remark".equals(t.getFieldCode())) {
// 维修备注
temp.setRemark(value);
} else if("feedback_result".equals(t.getFieldCode())) {
// 反馈结果
temp.setFeedbackResult(value);
}
});
imgMap = sourceFileService.getAttachments(temp.getPaperId());
imgDtos = imgMap.get("imgs");
temp.setFixImgs(imgDtos);
errorImgMap = sourceFileService.getAttachments(temp.getSequenceNbr());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
feedbackDtos = errorImgMap.get("feedbacks");
temp.setFeedBackImgs(feedbackDtos);
break;
case "962" : // 投诉建议
queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AlertFormValue::getAlertCalledId, temp.getPaperId());
// 派遣动态表单
paperList = iAlertFormValueService.list(queryWrapper);
paperList.stream().forEach(t -> {
String value = t.getFieldValue();
if("action_result".equals(t.getFieldCode())) {
// 处置结果
temp.setActionResult(value);
}
});
errorImgMap = sourceFileService.getAttachments(temp.getSequenceNbr());
errorImgDtos = errorImgMap.get("imgs");
temp.setErrorImgs(errorImgDtos);
feedbackDtos = errorImgMap.get("feedbacks");
temp.setFeedBackImgs(feedbackDtos);
break;
}
return temp;
}
@Transactional
@Override
public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) {
if(sendUser == null) {
throw new BadRequest("派遣任务创建人不能为空");
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
......@@ -64,6 +65,10 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
@Autowired
RescueProcessServiceImpl rescueProcessServiceImpl;
@Autowired
AlertFormValueServiceImpl iAlertFormValueService;
@Autowired
private EmqKeeper emqKeeper;
......@@ -197,15 +202,19 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
DispatchPaperFormDto dispatchPaperFormDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(alertId);
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
List<AlertFormValue> dynamicForm = dispatchPaperFormDto.getDynamicFormAlert();
Map<String,String> tempMap = new HashMap<String,String>();
dynamicForm.stream().forEach(alertFormValue -> {
if(TzsCommonParam.FIX_RESULT.equals(alertFormValue.getFieldCode())) {
tempMap.put("fixResult",alertFormValue.getFieldValue());
}
if(TzsCommonParam.FIX_FEEDBACK_TYPE.equals(alertFormValue.getFieldCode())) {
tempMap.put("FKFS",alertFormValue.getFieldValue());
}
});
content = content.replace("$FKFS",dispatchPaper.getFeedbackType()).replace("$fixResult",tempMap.get("fixResult"));
// 反馈方式从动态表单中取得
String FKFS = tempMap.get("FKFS") == null ? "" : tempMap.get("FKFS");
content = content.replace("$FKFS",FKFS).replace("$fixResult",tempMap.get("fixResult"));
} else if(TzsCommonParam.WXFK_TS.equals(type)) { //从派遣单获取数据
//投诉的维修反馈修改成维保已处置
CZHJ = DispatchPaperEnums.disposed;
......@@ -219,44 +228,40 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
dynamicForm.stream().forEach(alertFormValue -> {
if(TzsCommonParam.ACTION_RESULT.equals(alertFormValue.getFieldCode())) {
tempMap.put("fixResult",alertFormValue.getFieldValue());
} else if(TzsCommonParam.CONSULT_FEEDBACK_TYPE.equals(alertFormValue.getFieldCode())) {
tempMap.put(TzsCommonParam.FKFS,alertFormValue.getFieldValue());
}
});
content = content.replace("$FKFS",dispatchPaper.getFeedbackType()).replace("$fixResult",tempMap.get("fixResult"));
content = content.replace("$FKFS",tempMap.get(TzsCommonParam.FKFS)).replace("$fixResult",tempMap.get("fixResult"));
type = TzsCommonParam.WXFK;
} else if(TzsCommonParam.BXFK.equals(type)) {
//报修反馈
CZHJ = DispatchPaperEnums.reportorBack;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
String person = alertCalledVo.getEmergencyPerson() + "(" + alertCalledVo.getEmergencyCall() + ")";
content = content.replace("$createTime",createTime).replace("$person",person);
DispatchPaperFormDto dispatchPaperFormDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(alertId);
List<AlertFormValue> dynamicForm = dispatchPaperFormDto.getDynamicFormAlert();
Map<String,String> tempMap = new HashMap<String,String>();
dynamicForm.stream().forEach(alertFormValue -> {
if(TzsCommonParam.FIX_FEEDBACK_TYPE.equals(alertFormValue.getFieldCode())) {
tempMap.put(TzsCommonParam.FKFS,alertFormValue.getFieldValue());
} else if(TzsCommonParam.FIX_RESULT.equals(alertFormValue.getFieldCode())) {
tempMap.put("fixResult",alertFormValue.getFieldValue());
if(TzsCommonParam.FEEDBACK_RESULT.equals(alertFormValue.getFieldCode())) {
tempMap.put("feedbackResult",alertFormValue.getFieldValue());
}
});
content = content.replace("$FKFS",tempMap.get(TzsCommonParam.FKFS)).replace("$feedbackResult",tempMap.get("fixResult"));
content = content.replace("$FKFS",dispatchPaperFormDto.getDispatchPaper().getFeedbackType()).replace("$feedbackResult",tempMap.get("feedbackResult"));
} else if(TzsCommonParam.TSRFK.equals(type)) {
//投诉人已反馈
CZHJ = DispatchPaperEnums.complainantBack;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
String person = alertCalledVo.getEmergencyPerson() + "(" + alertCalledVo.getEmergencyCall() + ")";
content = content.replace("$createTime",createTime).replace("$person",person);
DispatchPaperFormDto dispatchPaperFormDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(alertId);
List<AlertFormValue> dynamicForm = dispatchPaperFormDto.getDynamicFormAlert();
Map<String,String> tempMap = new HashMap<String,String>();
dynamicForm.stream().forEach(alertFormValue -> {
if(TzsCommonParam.CONSULT_FEEDBACK_TYPE.equals(alertFormValue.getFieldCode())) {
tempMap.put(TzsCommonParam.FKFS,alertFormValue.getFieldValue());
} else if(TzsCommonParam.ACTION_RESULT.equals(alertFormValue.getFieldCode())) {
tempMap.put("action_result",alertFormValue.getFieldValue());
if(TzsCommonParam.FEEDBACK_RESULT.equals(alertFormValue.getFieldCode())) {
tempMap.put("feedbackResult",alertFormValue.getFieldValue());
}
});
content = content.replace("$FKFS",tempMap.get(TzsCommonParam.FKFS)).replace("$feedbackResult",tempMap.get("action_result"));
content = content.replace("$FKFS",dispatchPaperFormDto.getDispatchPaper().getFeedbackType()).replace("$feedbackResult",tempMap.get("feedbackResult"));
}
AlertStageEnums RZHJ = AlertStageEnums.getEnumByCode(type);
repairConsult.setType(RZHJ.getCode());
......
......@@ -42,9 +42,9 @@ tzs.cti.secretkey=7bd29115-99ee-4f7d-1fb1-7c4719d5f43a
tzs.cti.url=http://36.46.151.113:8000
tzs.wechat.url=https://api.weixin.qq.com
##wechatAPPID wx79aca5bb1cb4af92 wx8918c1aaad956617
tzs.wechat.appid=wx79aca5bb1cb4af92
##wechatSECRET 337c3d8f3e749140d4f9aedc8311033b f3a12323ba731d282c3d4698c27c3e97
##wechatAPPID wx79aca5bb1cb4af92 uat-wx8918c1aaad956617
tzs.wechat.appid=wx8918c1aaad956617
##wechatSECRET f3a12323ba731d282c3d4698c27c3e97 uat-337c3d8f3e749140d4f9aedc8311033b
tzs.wechat.secret=337c3d8f3e749140d4f9aedc8311033b
##wechatToken
......
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