Commit 3d1dd82e authored by chenhao's avatar chenhao

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

parents dfe06c68 145a5829
......@@ -16,14 +16,14 @@ public enum DispatchPaperEnums {
receivedAlert("860","receivedAlert","已接警"),
dispatched("861","dispatched", "已派遣"),
rescueArrived("862","rescueArrived", "救援已到达"),
rescueArrived("862","rescueArrived", "已到达"),
repaireArrived("863","repaireArrived", "维保已到达"),
rescued("864","rescued", "救援完成"),
rescueBack("865","rescueBack", "救援回访"),
repaired("866","repaired", "维修完成"),
reportorBack("867","reportorBack", "报修人已反馈"),
disposed("868","disposed", "维保已处置"),
complainantBack("869","complainantBack", "投诉人已回访"),
complainantBack("869","complainantBack", "投诉人已反馈"),
// 警情类型 JJLX
......
package com.yeejoin.amos.boot.module.tzs.api.service;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledQueryDto;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import java.util.List;
......@@ -36,10 +38,10 @@ public interface IAlertCalledService {
List<AlertCalledQueryDto> queryAlertListByQueryDto(AlertCalledQueryDto alertCalledQueryDto);
/**
* 根据警情id 更新警情状态
* @param alertId
* @param alertStage
* 更新警情阶段信息
* @param alertCalledVo
* @param stage
* @return
*/
Boolean updateAlertStageByAlertId(Long alertId, String alertStage);
Boolean updateAlertStage(AlertCalledDto alertCalledVo, DispatchPaperEnums stage);
}
......@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlarmStatisticsDto;
......@@ -45,14 +44,11 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Field;
import java.text.ParseException;
import java.util.Arrays;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
/**
* 警情接警填报记录
......@@ -257,64 +253,22 @@ public class AlertCalledController extends BaseController {
}
page = iAlertCalledService.page(pageBean, alertCalledQueryWrapper);
IPage<AlertCalledDto> calledVoIPage = AlertBeanDtoVoUtils.alertCalledIPageDto(page);
calledVoIPage.getRecords().stream().forEach(e->{
//e.setAlertAddress(e.getAddress());
});
return ResponseHelper.buildResponse(calledVoIPage);
}
private QueryWrapper<AlertCalled> setQueryWrapper(QueryWrapper<AlertCalled> queryWrapper, AlertCalled alertCalled,String sort){
Class<? extends AlertCalled> aClass = alertCalled.getClass();
queryWrapper.eq("is_delete", 0);
if(sort!=null) {
// String[] date= sort.split(",");
// if(date[1].equals("ascend")) {
// queryWrapper.orderByAsc(RedisKey.humpToLine(date[0]));
// }else {
// queryWrapper.orderByDesc(RedisKey.humpToLine(date[0]));
// }
}else {
queryWrapper.orderByDesc("call_time");
}
queryWrapper.orderByDesc("call_time");
if (alertCalled.getCallTimeStart() != null && alertCalled.getCallTimeEnd() != null) {
queryWrapper.between("call_time", alertCalled.getCallTimeStart(), alertCalled.getCallTimeEnd());
queryWrapper.between("call_time", DateUtils.stampToDate(System.currentTimeMillis(),DateUtils.DATE_PATTERN),
DateUtils.stampToDate(DateUtils.dateAddDays(new Date(),1).getTime(),DateUtils.DATE_PATTERN));
}
if (alertCalled.getIsFatherAlert()) { // 0:接警;1:处警
queryWrapper.isNull("father_alert");
}
Stream<Field> fieldStream = Arrays.stream(aClass.getDeclaredFields()).filter(field -> {
String name = NameUtils.camel2Underline(field.getName());
return !("IS_FATHER_ALERT".equals(name));
});
fieldStream.forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(alertCalled);
if (o != null && !"serialVersionUID".equals(field.getName())) {
Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(alertCalled);
queryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) {
String fileValue = (String) field.get(alertCalled);
queryWrapper.eq(name, fileValue);
} else if (type.equals(Boolean.class)) {
Boolean fileValue = (Boolean) field.get(alertCalled);
queryWrapper.eq(name, fileValue);
}else if (type.equals(Long.class) || "long".equals(type.toString())) {
Long fileValue = (Long) field.get(alertCalled);
queryWrapper.eq(name, fileValue);
}
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常");
}
});
return queryWrapper;
}
......@@ -358,7 +312,7 @@ public class AlertCalledController extends BaseController {
}
LambdaUpdateWrapper<AlertCalled> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(AlertCalled::getForzenResult,alertCalledDto.getForzenResult());
updateWrapper.set(AlertCalled::getAlertStage,1);
updateWrapper.set(AlertCalled::getAlertStatus,true);
updateWrapper.eq(AlertCalled::getSequenceNbr,alertCalledDto.getSequenceNbr());
return ResponseHelper.buildResponse(iAlertCalledService.update(updateWrapper));
}
......@@ -377,7 +331,7 @@ public class AlertCalledController extends BaseController {
}
LambdaUpdateWrapper<AlertCalled> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(AlertCalled::getFinalReason,alertCalledDto.getFinalReason());
updateWrapper.set(AlertCalled::getAlertStage,1);
updateWrapper.set(AlertCalled::getAlertStatus,true);
updateWrapper.eq(AlertCalled::getSequenceNbr,alertCalledDto.getSequenceNbr());
return ResponseHelper.buildResponse(iAlertCalledService.update(updateWrapper));
}
......
......@@ -16,6 +16,7 @@ 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.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.mapper.AlertCalledMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IAlertCalledService;
import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
......@@ -153,12 +154,16 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
}
@Override
public Boolean updateAlertStageByAlertId(Long alertId, String alertStage) {
public Boolean updateAlertStage(AlertCalledDto alertCalledVo, DispatchPaperEnums stage) {
LambdaUpdateWrapper<AlertCalled> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(AlertCalled::getSequenceNbr,alertId);
AlertStageEnums stage = AlertStageEnums.getEnumByCode(alertStage);
updateWrapper.eq(AlertCalled::getSequenceNbr,alertCalledVo.getSequenceNbr());
updateWrapper.set(AlertCalled::getAlertStageCode,stage.getId());
updateWrapper.set(AlertCalled::getAlertStage,stage.getValue());
if(stage == DispatchPaperEnums.reportorBack || stage == DispatchPaperEnums.complainantBack) {
updateWrapper.set(AlertCalled::getAlertStatus,true);
} else if(stage == DispatchPaperEnums.repaired && alertCalledVo.getAlarmTypeCode().equals(AlertStageEnums.KRJY.getId())) {
updateWrapper.set(AlertCalled::getAlertStatus,true);
}
return this.update(updateWrapper);
}
......
......@@ -201,9 +201,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
rescueProcessDto.setDispatchTime(dispatchPaper.getDispatchTime());
rescueProcessServiceImpl.updateByAlertId(rescueProcessDto,null);
}
// 修改警情到派遣阶段
alertCalledServiceImpl.updateAlertStageByAlertId(alertId,TzsCommonParam.PQ);
return dispatchPaperFormDto;
}
......@@ -323,8 +320,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
if(alertFormValue.getFieldValue() == null ) {
// 坐席回访
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchSaveFeedbackDto.getAlertId(),TzsCommonParam.JYHF,null,user);
// 修改警情到救援反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchSaveFeedbackDto.getAlertId(),TzsCommonParam.JYHF);
}
alertFormValue.setFieldValue(DateUtils.date2LongStr(dispatchSaveFeedbackDto.getSaveFeedbackTime()));
}
......@@ -379,9 +374,7 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
throw new BadRequest("未找到反馈任务单");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchSaveFeedbackDto.getAlertId(),TzsCommonParam.WXFK,taskId,user);
// 修改警情到维修反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchSaveFeedbackDto.getAlertId(),TzsCommonParam.WXFK);
dispatchPaper.setFeedbackTime(dispatchSaveFeedbackDto.getFeedbackFinishTime()); // 没有回访时间只有维修完成时间
dispatchPaper.setFeedbackTime(dispatchSaveFeedbackDto.getFeedbackFinishTime()); // 没有回访时间只有维修完成时间 2021.8.18 演示沟通 维修完成时间即为 反馈时间
}
// 保存动态表单数据
iAlertFormValueService.updateBatchById(dynamicFormAlert);
......@@ -592,8 +585,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
if(taskId == null) {
throw new BadRequest("未找到反馈任务单");
}
// 修改警情到维修反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchRepairFeedbackDto.getAlertId(),TzsCommonParam.WXFK);
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchRepairFeedbackDto.getAlertId(),TzsCommonParam.WXFK,taskId,user);
}
if(tempMap.get("BXFK") != null) {
......@@ -603,8 +594,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
throw new BadRequest("未找到反馈任务单");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchRepairFeedbackDto.getAlertId(),TzsCommonParam.BXFK,taskId,user);
// 修改警情到报修反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchRepairFeedbackDto.getAlertId(),TzsCommonParam.BXFK);
}
return flag;
}
......@@ -799,7 +788,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
throw new BadRequest("未找到反馈任务单");
}
// 修改警情到维修反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchConsultFeedbackDto.getAlertId(),TzsCommonParam.WXFK);
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchConsultFeedbackDto.getAlertId(),TzsCommonParam.WXFK_TS,taskId,user);
}
if(tempMap.get("TSRFK") != null) {
......@@ -810,7 +798,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
throw new BadRequest("未找到反馈任务单");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchConsultFeedbackDto.getAlertId(),TzsCommonParam.TSRFK,taskId,user);
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchConsultFeedbackDto.getAlertId(),TzsCommonParam.TSRFK);
}
return flag;
}
......
......@@ -185,6 +185,9 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
// 创建派遣单
dispatchTaskDto.setDispatchTime(new Date());
DispatchTask dispatchTask = BeanDtoVoUtils.convert(dispatchTaskDto, DispatchTask.class);
if(AlertStageEnums.KRJY.getId().equals(dispatchTaskDto.getAlertCode())) {
dispatchTask.setIsSaveTask(true);
}
dispatchTask.setPaperId(dispatchPaperDto.getDispatchPaper().getSequenceNbr());
if(dispatchPaper.getRepairOrgTaskId() != null && (dispatchTask.getOrgTypeCode().equals(DispatchPaperEnums.levelOneUnit.getCode()) || dispatchTask.getOrgTypeCode().equals(DispatchPaperEnums.levelTwoUnit.getCode()))) {
throw new BadRequest("已经派遣过其他力量调派");
......
......@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.tzs.api.entity.RepairConsult;
import com.yeejoin.amos.boot.module.tzs.api.entity.Template;
import com.yeejoin.amos.boot.module.tzs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.TzsCommonParam;
import com.yeejoin.amos.boot.module.tzs.api.mapper.RepairConsultMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IRepairConsultService;
......@@ -56,6 +57,14 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
@Autowired
RescueProcessServiceImpl rescueProcessServiceImpl;
/**
* 记录处置日志同时修改案件的状态
* @param alertId
* @param type
* @param taskId
* @param user
* @return
*/
@Transactional
@Override
public Boolean saveRepairConsultByAlertIdType(Long alertId, String type, Long taskId,AgencyUserModel user) {
......@@ -77,7 +86,10 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
Template template = templateServiceImpl.getOne(templateQueryWrapper);
String content = template.getContent();
String createTime = DateUtils.getDateNowString();
DispatchPaperEnums CZHJ = null;
if(AlertStageEnums.JJ.getCode().equals(type)) {
// 接警的处置环节为已接警
CZHJ = DispatchPaperEnums.receivedAlert;
String createUser = user.getRealName();
String emergency_call = alertCalledVo.getEmergencyCall();
String area = alertCalledVo.getAddress();
......@@ -93,6 +105,8 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
content = content.replace("$createTime",createTime).replace("$createUser",createUser).replace("$call",emergency_call);
content = content.replace("$area",area).replace("$alertType",alertType);
} else if(TzsCommonParam.PQ.equals(type)) {
// 派遣的处置环节为已派遣
CZHJ = DispatchPaperEnums.dispatched;
String createUser = user.getRealName();
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String unit = dispatchTask.getResponseOrgName();
......@@ -115,13 +129,22 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
content = content.replace("$createTime",createTime).replace("$createUser",createUser).replace("$unit",unit);
content = content.replace("$person",person).replace("$phone",phone).replace("$taskType",taskType);
} else if(TzsCommonParam.DD.equals(type)) {
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
RescueProcessDto rescueProcessDto = rescueProcessServiceImpl.getProcessByAlertId(alertId);
String FKFS = rescueProcessDto.getArriveFeedbackType();
content = content.replace("$FKFS",FKFS);
if(true == dispatchTask.getIsSaveTask()) {
// 到达的处置环节为维保已到达或者 已到达
CZHJ = DispatchPaperEnums.rescueArrived;
} else {
CZHJ = DispatchPaperEnums.repaireArrived;
}
} else if(TzsCommonParam.JC.equals(type)) {
//救出为救援完成
CZHJ = DispatchPaperEnums.rescued;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -129,10 +152,14 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
String FKFS = rescueProcessDto.getArriveFeedbackType();
content = content.replace("$FKFS",FKFS);
} else if(TzsCommonParam.JYHF.equals(type)) {
//救援回访
CZHJ = DispatchPaperEnums.rescueBack;
String createUser = user.getRealName();
String create = alertCalledVo.getEmergencyPerson();
content = content.replace("$createTime",createTime).replace("$createUser",createUser).replace("$create",create);
} else if(TzsCommonParam.WXFK.equals(type)) { //从派遣单获取数据
//维修反馈修改到维修完成
CZHJ = DispatchPaperEnums.repaired;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -147,6 +174,8 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
});
content = content.replace("$FKFS",dispatchPaper.getFeedbackType()).replace("$fixResult",tempMap.get("fixResult"));
} else if(TzsCommonParam.WXFK_TS.equals(type)) { //从派遣单获取数据
//投诉的维修反馈修改成维保已处置
CZHJ = DispatchPaperEnums.disposed;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -162,6 +191,8 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
content = content.replace("$FKFS",dispatchPaper.getFeedbackType()).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();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -177,6 +208,8 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
});
content = content.replace("$FKFS",tempMap.get(TzsCommonParam.FKFS)).replace("$feedbackResult",tempMap.get("fixResult"));
} else if(TzsCommonParam.TSRFK.equals(type)) {
//投诉人已反馈
CZHJ = DispatchPaperEnums.complainantBack;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -192,11 +225,16 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
});
content = content.replace("$FKFS",tempMap.get(TzsCommonParam.FKFS)).replace("$feedbackResult",tempMap.get("action_result"));
}
repairConsult.setType(AlertStageEnums.getEnumByCode(type).getId());
repairConsult.setAlertStageCode(AlertStageEnums.getEnumByCode(type).getId());
repairConsult.setAlertStatus(AlertStageEnums.getEnumByCode(type).getValue());
AlertStageEnums RZHJ = AlertStageEnums.getEnumByCode(type);
repairConsult.setType(RZHJ.getCode());
repairConsult.setAlertStageCode(RZHJ.getId());
repairConsult.setAlertStatus(RZHJ.getValue());
repairConsult.setDescription(content);
flag = this.save(repairConsult);
if(flag) {
// 记录处置记录后修改 案件状态
alertCalledServiceImpl.updateAlertStage(alertCalledVo,CZHJ);
}
return flag;
}
......
......@@ -138,6 +138,7 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
dispatchTaskDto.setResponseOrgName("119");
dispatchTaskDto.setResponseUserName("119");
dispatchTaskDto.setResponseUserTel("119");
dispatchTaskDto.setIsSaveTask(true);
DispatchTask dispatchTask = BeanDtoVoUtils.convert(dispatchTaskDto, DispatchTask.class);
dispatchTask.setPaperId(dispatchPaper.getSequenceNbr());
Boolean flag = dispatchTaskServiceImpl.save(dispatchTask);
......@@ -215,8 +216,6 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
throw new BadRequest("派遣任务单信息未找到");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType( rescueProcessDto.getAlertId(),"DD",taskId,sendUser); //保存接警日志
// 修改警情到抵达
iAlertCalledService.updateAlertStageByAlertId(rescueProcessDto.getAlertId(),"DD");
}
if(saveByUser) { // 手动救援
DispatchPaperFormDto dispatchPaperDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(rescueProcessDto.getAlertId());
......@@ -232,8 +231,6 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
throw new BadRequest("派遣任务单信息未找到");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(rescueProcessDto.getAlertId(),"JC",taskId,sendUser); //保存接警日志
// 修改警情到抵达
iAlertCalledService.updateAlertStageByAlertId(rescueProcessDto.getAlertId(),"JC");
}
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