Commit 593ecd52 authored by kongfm's avatar kongfm

接口测试修正

parent 0fc27454
...@@ -90,4 +90,6 @@ public class RescueProcessDto extends BaseDto { ...@@ -90,4 +90,6 @@ public class RescueProcessDto extends BaseDto {
@ApiModelProperty(value = "救援反馈方式code") @ApiModelProperty(value = "救援反馈方式code")
private String rescueFeedbackCode; private String rescueFeedbackCode;
@ApiModelProperty(value = "救援时长")
private String arriveUseTime;
} }
...@@ -25,6 +25,7 @@ import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils; ...@@ -25,6 +25,7 @@ import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; 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.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 org.typroject.tyboot.core.restful.exception.instance.BadRequest;
...@@ -71,6 +72,8 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -71,6 +72,8 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
@Autowired @Autowired
RepairConsultServiceImpl repairConsultServiceImpl; RepairConsultServiceImpl repairConsultServiceImpl;
@Autowired
RescueProcessServiceImpl rescueProcessServiceImpl;
/** /**
* 分页查询 * 分页查询
*/ */
...@@ -86,6 +89,83 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -86,6 +89,83 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
} }
@Override @Override
public DispatchTaskDto getTaskInfo(String orgTypeCode, Long alertId) {
DispatchTaskDto dispatchTaskDto = new DispatchTaskDto();
// 获取警情信息 填充模板返回
AlertCalledDto alertCalledDto = alertCalledServiceImpl.queryBySeq(alertId);
dispatchTaskDto.setOrgType(DispatchPaperEnums.getEnumByCode(orgTypeCode).getValue());
dispatchTaskDto.setOrgTypeCode(DispatchPaperEnums.getEnumByCode(orgTypeCode).getId());
dispatchTaskDto.setAlertId(alertId);
dispatchTaskDto.setAlertCode(alertCalledDto.getAlarmTypeCode());
// 获取模板 拼接json
QueryWrapper<Template> templateQueryWrapper = new QueryWrapper<>();
String alertTypeCode = AlertStageEnums.getEnumById(alertCalledDto.getAlarmTypeCode()).getCode() ;
templateQueryWrapper.eq("type_code","TASK-" + alertTypeCode);
Template template = templateServiceImpl.getOne(templateQueryWrapper);
String content = template.getContent();
// 替换模板内容
// 通用替换字段 报修时间 地址 电梯识别码 使用单位分类
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
String createTime = sdf.format(alertCalledDto.getCallTime());
String rescueCode = alertCalledDto.getDeviceId();
String emergencyCall = alertCalledDto.getEmergencyCall() == null ? "" : alertCalledDto.getEmergencyCall();
String contactPhone = alertCalledDto.getContactPhone() == null ? "" : alertCalledDto.getContactPhone();
// 电梯数据
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
String address = elevator.getAddress() == null ? "" : elevator.getAddress();
String useSiteCategory = elevator.getUseSiteCategory() == null ? "" : elevator.getUseSiteCategory() ;
String useUnit = elevator.getUseUnit();
content = content.replace("$call_time",createTime).replace("$address",address).replace("$rescue_code",rescueCode).replace("$use_site_category",useSiteCategory);
String typeCode = "";
if(AlertStageEnums.KRJY.toString().equals(alertTypeCode)) {
typeCode = AlertStageEnums.KRJY.getId();
} else if(AlertStageEnums.GZWX.toString().equals(alertTypeCode)) {
typeCode = AlertStageEnums.GZWX.getId();
} else if(AlertStageEnums.TSZX.toString().equals(alertTypeCode)) {
typeCode = AlertStageEnums.TSZX.getId();
}
// 警情信息动态数据
QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("alert_called_id", alertId).eq("alert_type_code",typeCode);
// 派遣单动态表单数据
List<AlertFormValue> list = iAlertFormValueService.list(queryWrapper);
// map 存取数据
Map<String,String> dynamicParms = new HashMap<String,String> ();
list.stream().forEach(paperFormValue -> {
dynamicParms.put(paperFormValue.getFieldCode(),paperFormValue.getFieldValue());
});
String desc = "";
switch(alertTypeCode) {
case "KRJY" : // 困人救援
dispatchTaskDto.setIsSaveTask(true);
String trappedNum = dynamicParms.get("trapped_num") == null ? "" : dynamicParms.get("trapped_num");
String trappedFloorNum = dynamicParms.get("trapped_floor_num") == null ? "" : dynamicParms.get("trapped_floor_num");
String isLight = dynamicParms.get("is_light") == null ? "" : dynamicParms.get("is_light");
String trappedTime = dynamicParms.get("trapped_time") == null ? "" : dynamicParms.get("trapped_time");
content = content.replace("$trapped_num",trappedNum).replace("$trapped_floor_num",trappedFloorNum);
content = content.replace("$emergency_call",emergencyCall).replace("$contact_phone",contactPhone);
content = content.replace("$is_light",isLight).replace("$trapped_time",trappedTime);
break;
case "GZWX" : // 故障维修
dispatchTaskDto.setIsSaveTask(false);
desc = dynamicParms.get("desc") == null ? "" : dynamicParms.get("desc");
content = content.replace("$use_unit",useUnit).replace("$desc",desc);
break;
case "TSZX" : // 投诉咨询
dispatchTaskDto.setIsSaveTask(false);
desc = dynamicParms.get("desc") == null ? "" : dynamicParms.get("desc");
content = content.replace("$emergency_call",emergencyCall).replace("$contact_phone",contactPhone);
content = content.replace("$use_unit",useUnit).replace("$desc",desc);
break;
}
dispatchTaskDto.setDispatchContext(content);
return dispatchTaskDto;
}
@Transactional
@Override
public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) { public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) {
if(sendUser == null) { if(sendUser == null) {
throw new BadRequest("派遣任务创建人不能为空"); throw new BadRequest("派遣任务创建人不能为空");
...@@ -175,83 +255,17 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -175,83 +255,17 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
iAlertFormValueService.updateBatchById(dynamicFormAlert); iAlertFormValueService.updateBatchById(dynamicFormAlert);
// 记录日志 // 记录日志
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchTask.getAlertId(),"PQ", dispatchTask.getSequenceNbr(),sendUser); repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchTask.getAlertId(),"PQ", dispatchTask.getSequenceNbr(),sendUser);
} // 派遣后如果困人救援更新派遣过程表
return flag; if("960".equals(dispatchPaper.getAlertCode())) {
} RescueProcessDto rescueProcessDto = rescueProcessServiceImpl.getProcessByAlertId(dispatchTaskDto.getAlertId());
if(rescueProcessDto.getDispatchStatus() == null && rescueProcessDto.getDispatchTime() == null) {
@Override rescueProcessDto.setDispatchStatus(true);
public DispatchTaskDto getTaskInfo(String orgTypeCode, Long alertId) { rescueProcessDto.setDispatchTime(dispatchTask.getDispatchTime());
DispatchTaskDto dispatchTaskDto = new DispatchTaskDto(); rescueProcessServiceImpl.updateByAlertId(rescueProcessDto,null);
// 获取警情信息 填充模板返回 }
AlertCalledDto alertCalledDto = alertCalledServiceImpl.queryBySeq(alertId); }
dispatchTaskDto.setOrgType(DispatchPaperEnums.getEnumByCode(orgTypeCode).getValue());
dispatchTaskDto.setOrgTypeCode(DispatchPaperEnums.getEnumByCode(orgTypeCode).getId());
dispatchTaskDto.setAlertId(alertId);
dispatchTaskDto.setAlertCode(alertCalledDto.getAlarmTypeCode());
// 获取模板 拼接json
QueryWrapper<Template> templateQueryWrapper = new QueryWrapper<>();
String alertTypeCode = AlertStageEnums.getEnumById(alertCalledDto.getAlarmTypeCode()).getCode() ;
templateQueryWrapper.eq("type_code","TASK-" + alertTypeCode);
Template template = templateServiceImpl.getOne(templateQueryWrapper);
String content = template.getContent();
// 替换模板内容
// 通用替换字段 报修时间 地址 电梯识别码 使用单位分类
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
String createTime = sdf.format(alertCalledDto.getCallTime());
String rescueCode = alertCalledDto.getDeviceId();
String emergencyCall = alertCalledDto.getEmergencyCall() == null ? "" : alertCalledDto.getEmergencyCall();
String contactPhone = alertCalledDto.getContactPhone() == null ? "" : alertCalledDto.getContactPhone();
// 电梯数据
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
String address = elevator.getAddress() == null ? "" : elevator.getAddress();
String useSiteCategory = elevator.getUseSiteCategory() == null ? "" : elevator.getUseSiteCategory() ;
String useUnit = elevator.getUseUnit();
content = content.replace("$call_time",createTime).replace("$address",address).replace("$rescue_code",rescueCode).replace("$use_site_category",useSiteCategory);
String typeCode = "";
if(AlertStageEnums.KRJY.toString().equals(alertTypeCode)) {
typeCode = AlertStageEnums.KRJY.getId();
} else if(AlertStageEnums.GZWX.toString().equals(alertTypeCode)) {
typeCode = AlertStageEnums.GZWX.getId();
} else if(AlertStageEnums.TSZX.toString().equals(alertTypeCode)) {
typeCode = AlertStageEnums.TSZX.getId();
}
// 警情信息动态数据
QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("alert_called_id", alertId).eq("alert_type_code",typeCode);
// 派遣单动态表单数据
List<AlertFormValue> list = iAlertFormValueService.list(queryWrapper);
// map 存取数据
Map<String,String> dynamicParms = new HashMap<String,String> ();
list.stream().forEach(paperFormValue -> {
dynamicParms.put(paperFormValue.getFieldCode(),paperFormValue.getFieldValue());
});
String desc = "";
switch(alertTypeCode) {
case "KRJY" : // 困人救援
dispatchTaskDto.setIsSaveTask(true);
String trappedNum = dynamicParms.get("trapped_num") == null ? "" : dynamicParms.get("trapped_num");
String trappedFloorNum = dynamicParms.get("trapped_floor_num") == null ? "" : dynamicParms.get("trapped_floor_num");
String isLight = dynamicParms.get("is_light") == null ? "" : dynamicParms.get("is_light");
String trappedTime = dynamicParms.get("trapped_time") == null ? "" : dynamicParms.get("trapped_time");
content = content.replace("$trapped_num",trappedNum).replace("$trapped_floor_num",trappedFloorNum);
content = content.replace("$emergency_call",emergencyCall).replace("$contact_phone",contactPhone);
content = content.replace("$is_light",isLight).replace("$trapped_time",trappedTime);
break;
case "GZWX" : // 故障维修
dispatchTaskDto.setIsSaveTask(false);
desc = dynamicParms.get("desc") == null ? "" : dynamicParms.get("desc");
content = content.replace("$use_unit",useUnit).replace("$desc",desc);
break;
case "TSZX" : // 投诉咨询
dispatchTaskDto.setIsSaveTask(false);
desc = dynamicParms.get("desc") == null ? "" : dynamicParms.get("desc");
content = content.replace("$emergency_call",emergencyCall).replace("$contact_phone",contactPhone);
content = content.replace("$use_unit",useUnit).replace("$desc",desc);
break;
} }
dispatchTaskDto.setDispatchContext(content); return flag;
return dispatchTaskDto;
} }
} }
\ No newline at end of file
...@@ -27,8 +27,10 @@ import org.typroject.tyboot.core.rdbms.service.BaseService; ...@@ -27,8 +27,10 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.TimeZone;
/** /**
* 救援过程表服务实现类 * 救援过程表服务实现类
...@@ -42,7 +44,6 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu ...@@ -42,7 +44,6 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
@Autowired @Autowired
DispatchPaperServiceImpl dispatchPaperServiceImpl; DispatchPaperServiceImpl dispatchPaperServiceImpl;
@Autowired @Autowired
private DataDictionaryServiceImpl iDataDictionaryService; private DataDictionaryServiceImpl iDataDictionaryService;
...@@ -76,14 +77,26 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu ...@@ -76,14 +77,26 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
QueryWrapper<RescueProcess> templateQueryWrapper = new QueryWrapper<>(); QueryWrapper<RescueProcess> templateQueryWrapper = new QueryWrapper<>();
templateQueryWrapper.eq("alert_id",alertId); templateQueryWrapper.eq("alert_id",alertId);
RescueProcess rescueProcess = this.getOne(templateQueryWrapper); RescueProcess rescueProcess = this.getOne(templateQueryWrapper);
if(rescueProcess != null) { if(rescueProcess == null) {
return Bean.toModel(rescueProcess, rescueProcessDto);
} else {
rescueProcess = new RescueProcess(); rescueProcess = new RescueProcess();
rescueProcess.setAlertId(alertId); rescueProcess.setAlertId(alertId);
this.save(rescueProcess); this.save(rescueProcess);
return Bean.toModel(rescueProcess, rescueProcessDto);
} }
Bean.toModel(rescueProcess, rescueProcessDto);
// 到达时长 不超过30分钟为否,超过为是
// 到达时长 救援响应人员到达时间—救援派遣成功时间
//判断是否存在到达时间
Date dispatchTime = rescueProcessDto.getDispatchTime();
Date arriveTime = rescueProcessDto.getArriveTime();
if(arriveTime != null && dispatchTime != null) {
Long arriveTimes = arriveTime.getTime() - dispatchTime.getTime(); // 相差毫秒数
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");//这里想要只保留分秒可以写成"mm:ss"
formatter.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));
String hms = formatter.format(arriveTimes);
rescueProcessDto.setIsTimeout(arriveTimes < 1800000 ? false : true);
rescueProcessDto.setArriveUseTime(hms);
}
return rescueProcessDto;
} }
@Override @Override
......
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