Commit 593ecd52 authored by kongfm's avatar kongfm

接口测试修正

parent 0fc27454
......@@ -90,4 +90,6 @@ public class RescueProcessDto extends BaseDto {
@ApiModelProperty(value = "救援反馈方式code")
private String rescueFeedbackCode;
@ApiModelProperty(value = "救援时长")
private String arriveUseTime;
}
......@@ -25,6 +25,7 @@ import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
......@@ -71,6 +72,8 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
@Autowired
RepairConsultServiceImpl repairConsultServiceImpl;
@Autowired
RescueProcessServiceImpl rescueProcessServiceImpl;
/**
* 分页查询
*/
......@@ -86,6 +89,83 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
}
@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) {
if(sendUser == null) {
throw new BadRequest("派遣任务创建人不能为空");
......@@ -175,83 +255,17 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
iAlertFormValueService.updateBatchById(dynamicFormAlert);
// 记录日志
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchTask.getAlertId(),"PQ", dispatchTask.getSequenceNbr(),sendUser);
}
return flag;
}
@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();
// 派遣后如果困人救援更新派遣过程表
if("960".equals(dispatchPaper.getAlertCode())) {
RescueProcessDto rescueProcessDto = rescueProcessServiceImpl.getProcessByAlertId(dispatchTaskDto.getAlertId());
if(rescueProcessDto.getDispatchStatus() == null && rescueProcessDto.getDispatchTime() == null) {
rescueProcessDto.setDispatchStatus(true);
rescueProcessDto.setDispatchTime(dispatchTask.getDispatchTime());
rescueProcessServiceImpl.updateByAlertId(rescueProcessDto,null);
}
}
// 电梯数据
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;
return flag;
}
}
\ No newline at end of file
......@@ -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.utils.ResponseHelper;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;
/**
* 救援过程表服务实现类
......@@ -42,7 +44,6 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
@Autowired
DispatchPaperServiceImpl dispatchPaperServiceImpl;
@Autowired
private DataDictionaryServiceImpl iDataDictionaryService;
......@@ -76,14 +77,26 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
QueryWrapper<RescueProcess> templateQueryWrapper = new QueryWrapper<>();
templateQueryWrapper.eq("alert_id",alertId);
RescueProcess rescueProcess = this.getOne(templateQueryWrapper);
if(rescueProcess != null) {
return Bean.toModel(rescueProcess, rescueProcessDto);
} else {
if(rescueProcess == null) {
rescueProcess = new RescueProcess();
rescueProcess.setAlertId(alertId);
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
......
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