Commit 9fd75ac4 authored by chenhao's avatar chenhao

解决代码冲突

parent f15e4593
...@@ -10,7 +10,9 @@ import org.typroject.tyboot.core.rdbms.annotation.Condition; ...@@ -10,7 +10,9 @@ import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator; import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl; import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.Menu; import com.yeejoin.amos.boot.biz.common.utils.Menu;
...@@ -131,5 +133,32 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi ...@@ -131,5 +133,32 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
return firefightersMapper.getFirefightersName(); return firefightersMapper.getFirefightersName();
} }
/**
* 获取指定岗位名称下的队伍人员电话号码信息
* @param teamId
* @param jobTitleArray
* @return
*/
public List<Map<String, Object>> getDetailByTeamIdAndJobTitle(Long teamId,List<String> jobTitleArray) {
LambdaQueryWrapper<Firefighters> wrapper = new LambdaQueryWrapper<Firefighters>();
wrapper.in(Firefighters::getJobTitle, jobTitleArray);
wrapper.eq(Firefighters::getIsDelete, false);
wrapper.eq(Firefighters::getFireTeamId, teamId);
wrapper.select(Firefighters::getMobilePhone);
return this.baseMapper.selectMaps(wrapper);
}
/**
* 获取指定用户ID下的队伍人员电话号码信息
* @param teamId
* @param jobTitleArray
* @return
*/
public List<Map<String, Object>> getDetailByIds(List<Long> ids) {
LambdaQueryWrapper<Firefighters> wrapper = new LambdaQueryWrapper<Firefighters>();
wrapper.in(Firefighters::getSequenceNbr, ids);
wrapper.eq(Firefighters::getIsDelete, false);
wrapper.select(Firefighters::getMobilePhone);
return this.baseMapper.selectMaps(wrapper);
}
} }
...@@ -10,13 +10,16 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils; ...@@ -10,13 +10,16 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.FireBrigadeResourceDto; import com.yeejoin.amos.boot.module.common.api.dto.FireBrigadeResourceDto;
import com.yeejoin.amos.boot.module.common.api.entity.FireTeam; import com.yeejoin.amos.boot.module.common.api.entity.FireTeam;
import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient; import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.biz.service.impl.DutyCarServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.DutyCarServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.dto.CarStatusInfoDto; import com.yeejoin.amos.boot.module.jcs.api.dto.CarStatusInfoDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerCarCountDto; import com.yeejoin.amos.boot.module.jcs.api.dto.PowerCarCountDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerCompanyCountDto; import com.yeejoin.amos.boot.module.jcs.api.dto.PowerCompanyCountDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyDto; import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyResourcesDto; import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyResourcesDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDetailParamDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto; import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferParamDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto; import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferSimpleDto; import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferSimpleDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.ResourceStatisticsDto; import com.yeejoin.amos.boot.module.jcs.api.dto.ResourceStatisticsDto;
...@@ -54,117 +57,124 @@ import java.util.stream.Collectors; ...@@ -54,117 +57,124 @@ import java.util.stream.Collectors;
* @date 2021-06-17 * @date 2021-06-17
*/ */
@Service @Service
public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, PowerTransfer, PowerTransferMapper> implements IPowerTransferService { public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, PowerTransfer, PowerTransferMapper>
implements IPowerTransferService {
@Autowired
AlertCalledServiceImpl alertCalledService; @Autowired
AlertCalledServiceImpl alertCalledService;
@Autowired
PowerTransferCompanyServiceImpl powerTransferCompanyService; @Autowired
PowerTransferCompanyServiceImpl powerTransferCompanyService;
@Autowired
PowerTransferCompanyResourcesServiceImpl powerTransferCompanyResourcesService; @Autowired
PowerTransferCompanyResourcesServiceImpl powerTransferCompanyResourcesService;
@Autowired
TemplateServiceImpl templateService; @Autowired
TemplateServiceImpl templateService;
@Autowired
AlertFormValueServiceImpl alertFormValueService; @Autowired
AlertFormValueServiceImpl alertFormValueService;
@Autowired
EquipFeignClient equipFeignService; @Autowired
EquipFeignClient equipFeignService;
@Autowired
FireTeamServiceImpl fireTeamService; @Autowired
FireTeamServiceImpl fireTeamService;
@Autowired
PowerTransferMapper powerTransferMapper; @Autowired
PowerTransferMapper powerTransferMapper;
@Autowired
EquipFeignClient equipFeignClient; @Autowired
EquipFeignClient equipFeignClient;
@Autowired
private EmqKeeper emqKeeper; @Autowired
private EmqKeeper emqKeeper;
@Value("${mqtt.topic.command.power.deployment}")
private String topic; @Value("${mqtt.topic.command.power.deployment}")
private String topic;
@Autowired
private DutyCarServiceImpl dutyCarService; @Autowired
private DutyCarServiceImpl dutyCarService;
@Override
public PowerTransferSimpleDto getPowerTransferList(Long alertCalledId) { @Autowired
List<PowerTransferCompanyResourcesDto> powerTransferList = DynamicFormInstanceMapper dynamicFormInstanceMapper;
this.baseMapper.getPowerTransferList(alertCalledId);
PowerTransferSimpleDto powerTransferSimpleDto = new PowerTransferSimpleDto(); @Autowired
int resourcesCount = powerTransferList.size(); FireTeamServiceImpl iFireTeamService;
powerTransferSimpleDto.setResourcesCount(resourcesCount);
powerTransferSimpleDto.setResourcesList(powerTransferList); @Override
return powerTransferSimpleDto; public PowerTransferSimpleDto getPowerTransferList(Long alertCalledId) {
} List<PowerTransferCompanyResourcesDto> powerTransferList = this.baseMapper.getPowerTransferList(alertCalledId);
PowerTransferSimpleDto powerTransferSimpleDto = new PowerTransferSimpleDto();
@Override int resourcesCount = powerTransferList.size();
@Transactional(rollbackFor = Exception.class) powerTransferSimpleDto.setResourcesCount(resourcesCount);
public boolean createPowerTransfer(PowerTransferDto powerTransferDto) { powerTransferSimpleDto.setResourcesList(powerTransferList);
try { return powerTransferSimpleDto;
// 获取调派ID }
Long alertCalledId = powerTransferDto.getAlertCalledId();
int count = count(new QueryWrapper<PowerTransfer>().eq("alert_called_id", alertCalledId)); @Override
String dispatch_num = alertCalledId.toString() + (count + 1); @Transactional(rollbackFor = Exception.class)
public boolean createPowerTransfer(PowerTransferDto powerTransferDto) {
// 获取警情详情 try {
AlertCalled alertCalled = alertCalledService.getById(alertCalledId); // 获取调派ID
Long alertCalledId = powerTransferDto.getAlertCalledId();
// 创建力量调派 int count = count(new QueryWrapper<PowerTransfer>().eq("alert_called_id", alertCalledId));
PowerTransfer powerTransfer = new PowerTransfer(); String dispatch_num = alertCalledId.toString() + (count + 1);
BeanUtils.copyProperties(powerTransferDto, powerTransfer);
BeanUtils.copyProperties(alertCalled, powerTransfer); // 获取警情详情
powerTransfer.setDispatchNum(dispatch_num); AlertCalled alertCalled = alertCalledService.getById(alertCalledId);
powerTransfer.setSequenceNbr(null);
// 创建力量调派
save(powerTransfer); PowerTransfer powerTransfer = new PowerTransfer();
Long powerTransferSequenceNbr = powerTransfer.getSequenceNbr(); BeanUtils.copyProperties(powerTransferDto, powerTransfer);
BeanUtils.copyProperties(alertCalled, powerTransfer);
// 获取任务派发模板 powerTransfer.setDispatchNum(dispatch_num);
Template template = templateService.getOne(new QueryWrapper<Template>().eq("type", powerTransfer.setSequenceNbr(null);
alertCalled.getAlertType()).eq("format", false));
String content = template.getContent(); save(powerTransfer);
Map<String, String> definitions = new HashMap<>(); Long powerTransferSequenceNbr = powerTransfer.getSequenceNbr();
initDefinitions(definitions, alertCalled, powerTransferDto);
// 获取任务派发模板
// 创建力量调派单位 Template template = templateService
createPowerTransferCompany(powerTransferDto, powerTransferSequenceNbr, definitions, content); .getOne(new QueryWrapper<Template>().eq("type", alertCalled.getAlertType()).eq("format", false));
String content = template.getContent();
//发送调派通知 Map<String, String> definitions = new HashMap<>();
//通知实战指挥页面发送mqtt 默认发送 String 类型 0, 新警情 1 警情状态变化 initDefinitions(definitions, alertCalled, powerTransferDto);
emqKeeper.getMqttClient().publish(topic, "0".getBytes(), RuleConfig.DEFAULT_QOS, true);
} catch (MqttException e) { // 创建力量调派单位
throw new RuntimeException(); createPowerTransferCompany(powerTransferDto, powerTransferSequenceNbr, definitions, content);
}
// 发送调派通知
return true; // 通知实战指挥页面发送mqtt 默认发送 String 类型 0, 新警情 1 警情状态变化
} emqKeeper.getMqttClient().publish(topic, "0".getBytes(), RuleConfig.DEFAULT_QOS, true);
} catch (MqttException e) {
@Override throw new RuntimeException();
public List<FireBrigadeResourceDto> getPowerTree(String type) { }
List<FireBrigadeResourceDto> fireBrigadeResourceList = Lists.newArrayList();
return true;
if(type!=null&&!"".equals(type)){ }
// 3.消防队伍-监控大队
List<FireBrigadeResourceDto> monitorFireBrigadeList1 = fireTeamService.listMonitorFireBrigade(FireBrigadeTypeEnum.医疗救援队.getCode()); @Override
FireBrigadeResourceDto monitorResourceDto1 = new FireBrigadeResourceDto(); public List<FireBrigadeResourceDto> getPowerTree(String type) {
monitorResourceDto1.setId("-1"); List<FireBrigadeResourceDto> fireBrigadeResourceList = Lists.newArrayList();
monitorResourceDto1.setName(FireBrigadeTypeEnum.医疗救援队.getName());
monitorResourceDto1.setType(FireBrigadeTypeEnum.医疗救援队.getKey()); if (type != null && !"".equals(type)) {
monitorResourceDto1.setChildren(monitorFireBrigadeList1); // 3.消防队伍-监控大队
if (!CollectionUtils.isEmpty(monitorFireBrigadeList1)) { List<FireBrigadeResourceDto> monitorFireBrigadeList1 = fireTeamService
fireBrigadeResourceList.add(monitorResourceDto1); .listMonitorFireBrigade(FireBrigadeTypeEnum.医疗救援队.getCode());
} FireBrigadeResourceDto monitorResourceDto1 = new FireBrigadeResourceDto();
} monitorResourceDto1.setId("-1");
monitorResourceDto1.setName(FireBrigadeTypeEnum.医疗救援队.getName());
// 1.调用装备服务接口查询车辆列表 monitorResourceDto1.setType(FireBrigadeTypeEnum.医疗救援队.getKey());
List<FireBrigadeResourceDto> fireCarDtoList = Lists.newArrayList(); monitorResourceDto1.setChildren(monitorFireBrigadeList1);
ResponseModel<Object> result = equipFeignService.getFireCarListAll(); if (!CollectionUtils.isEmpty(monitorFireBrigadeList1)) {
fireBrigadeResourceList.add(monitorResourceDto1);
}
}
// 1.调用装备服务接口查询车辆列表
List<FireBrigadeResourceDto> fireCarDtoList = Lists.newArrayList();
ResponseModel<Object> result = equipFeignService.getFireCarListAll();
// if (!ObjectUtils.isEmpty(result)) { // if (!ObjectUtils.isEmpty(result)) {
// List<Map<String, Object>> fireCarListMapList = (List<Map<String, Object>>) result.getResult(); // List<Map<String, Object>> fireCarListMapList = (List<Map<String, Object>>) result.getResult();
// if (!ValidationUtil.isEmpty(fireCarListMapList)) { // if (!ValidationUtil.isEmpty(fireCarListMapList)) {
...@@ -185,68 +195,76 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe ...@@ -185,68 +195,76 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
// } // }
// } // }
// 查询车辆当前任务状态
//查询车辆当前任务状态 QueryWrapper<PowerTransferCompanyResources> queryWrapper = new QueryWrapper<>();
QueryWrapper<PowerTransferCompanyResources> queryWrapper = new QueryWrapper<>(); // queryWrapper.notIn("car_status",
// queryWrapper.notIn("car_status", FireCarStatusEnum.返队.getCode(),FireCarStatusEnum.加油.getCode(),FireCarStatusEnum.演练.getCode(),FireCarStatusEnum.训练.getCode(),FireCarStatusEnum.试车.getCode()); // FireCarStatusEnum.返队.getCode(),FireCarStatusEnum.加油.getCode(),FireCarStatusEnum.演练.getCode(),FireCarStatusEnum.训练.getCode(),FireCarStatusEnum.试车.getCode());
queryWrapper.eq("status",FireCarStatusEnum.执行中.getCode() ); queryWrapper.eq("status", FireCarStatusEnum.执行中.getCode());
List<PowerTransferCompanyResources> alertFormValue = powerTransferCompanyResourcesService.list(queryWrapper); List<PowerTransferCompanyResources> alertFormValue = powerTransferCompanyResourcesService.list(queryWrapper);
Map<String, String> appleMap = alertFormValue!=null&&alertFormValue.size()>0?alertFormValue.stream().collect(Collectors.toMap(PowerTransferCompanyResources::getResourcesId, PowerTransferCompanyResources::getCarStatus)):null; Map<String, String> appleMap = alertFormValue != null && alertFormValue.size() > 0
if (!ObjectUtils.isEmpty(result)) { ? alertFormValue.stream().collect(Collectors.toMap(PowerTransferCompanyResources::getResourcesId,
List<Map<String, Object>> fireCarListMapList = (List<Map<String, Object>>) result.getResult(); PowerTransferCompanyResources::getCarStatus))
if (!ValidationUtil.isEmpty(fireCarListMapList)) { : null;
fireCarListMapList.stream().filter(car -> ObjectUtils.isNotEmpty(car.get("teamId"))).forEach(car -> { if (!ObjectUtils.isEmpty(result)) {
List<Map<String, Object>> fireCarListMapList = (List<Map<String, Object>>) result.getResult();
FireBrigadeResourceDto fireCarDto = (FireBrigadeResourceDto) Bean.mapToBean(car, FireBrigadeResourceDto.class); if (!ValidationUtil.isEmpty(fireCarListMapList)) {
// TODO 后期根据车物联状态来返回,现在为"(装备)在位=执勤","(装备)执勤=出动" fireCarListMapList.stream().filter(car -> ObjectUtils.isNotEmpty(car.get("teamId"))).forEach(car -> {
if (FireCarStatusEnum.执勤.getCode().equals(fireCarDto.getCarState())) {
fireCarDto.setCarStateDesc(FireCarStatusEnum.执勤.getName()); FireBrigadeResourceDto fireCarDto = (FireBrigadeResourceDto) Bean.mapToBean(car,
} else { FireBrigadeResourceDto.class);
if(appleMap!=null){ // TODO 后期根据车物联状态来返回,现在为"(装备)在位=执勤","(装备)执勤=出动"
String state= appleMap.containsKey(car.get("id"))?appleMap.get(car.get("id")):null; if (FireCarStatusEnum.执勤.getCode().equals(fireCarDto.getCarState())) {
fireCarDto.setCarState(state); fireCarDto.setCarStateDesc(FireCarStatusEnum.执勤.getName());
fireCarDto.setCarStateDesc(state!=null?FireCarStatusEnum.getEnum(state).getName():null); } else {
}else{ if (appleMap != null) {
fireCarDto.setCarState(null); String state = appleMap.containsKey(car.get("id")) ? appleMap.get(car.get("id")) : null;
fireCarDto.setCarStateDesc(null); fireCarDto.setCarState(state);
} fireCarDto
} .setCarStateDesc(state != null ? FireCarStatusEnum.getEnum(state).getName() : null);
fireCarDtoList.add(fireCarDto); } else {
}); fireCarDto.setCarState(null);
} fireCarDto.setCarStateDesc(null);
} }
}
fireCarDtoList.add(fireCarDto);
// 2.查询消防队伍列表 });
List<FireTeam> fullTimeFireBrigadeList = fireTeamService.list(new QueryWrapper<FireTeam>().eq("type_code", FireBrigadeTypeEnum.专职消防队.getCode()).eq("is_delete", 0)); }
if (!CollectionUtils.isEmpty(fullTimeFireBrigadeList)) { }
Map<String, List<FireBrigadeResourceDto>> resultMap = fireCarDtoList.stream().collect(Collectors.groupingBy(FireBrigadeResourceDto::getTeamId));
if (!ValidationUtil.isEmpty(fullTimeFireBrigadeList)) { // 2.查询消防队伍列表
fullTimeFireBrigadeList.forEach(brigade -> { List<FireTeam> fullTimeFireBrigadeList = fireTeamService.list(
if (!CollectionUtils.isEmpty(resultMap.get(brigade.getSequenceNbr().toString()))) { new QueryWrapper<FireTeam>().eq("type_code", FireBrigadeTypeEnum.专职消防队.getCode()).eq("is_delete", 0));
FireBrigadeResourceDto fireCarResourceDto = new FireBrigadeResourceDto(); if (!CollectionUtils.isEmpty(fullTimeFireBrigadeList)) {
List<FireBrigadeResourceDto> fireBrigadeResourceDtoList = Map<String, List<FireBrigadeResourceDto>> resultMap = fireCarDtoList.stream()
resultMap.get(brigade.getSequenceNbr().toString()); .collect(Collectors.groupingBy(FireBrigadeResourceDto::getTeamId));
long onDutyCarCount = if (!ValidationUtil.isEmpty(fullTimeFireBrigadeList)) {
fireBrigadeResourceDtoList.stream().filter(car -> FireCarStatusEnum.执勤.getCode().equals(car.getCarState())).count(); fullTimeFireBrigadeList.forEach(brigade -> {
long outCarCount = fireBrigadeResourceDtoList.size() - onDutyCarCount; if (!CollectionUtils.isEmpty(resultMap.get(brigade.getSequenceNbr().toString()))) {
fireCarResourceDto.setId(brigade.getSequenceNbr().toString()); FireBrigadeResourceDto fireCarResourceDto = new FireBrigadeResourceDto();
fireCarResourceDto.setType(FireBrigadeTypeEnum.专职消防队.getKey()); List<FireBrigadeResourceDto> fireBrigadeResourceDtoList = resultMap
fireCarResourceDto.setName(brigade.getName()); .get(brigade.getSequenceNbr().toString());
fireCarResourceDto.getChildren().addAll(fireBrigadeResourceDtoList); long onDutyCarCount = fireBrigadeResourceDtoList.stream()
fireCarResourceDto.setOutCount((int) outCarCount); .filter(car -> FireCarStatusEnum.执勤.getCode().equals(car.getCarState())).count();
fireCarResourceDto.setOnDutyCount((int) onDutyCarCount); long outCarCount = fireBrigadeResourceDtoList.size() - onDutyCarCount;
fireBrigadeResourceList.add(fireCarResourceDto); fireCarResourceDto.setId(brigade.getSequenceNbr().toString());
} fireCarResourceDto.setType(FireBrigadeTypeEnum.专职消防队.getKey());
}); fireCarResourceDto.setName(brigade.getName());
} fireCarResourceDto.getChildren().addAll(fireBrigadeResourceDtoList);
} fireCarResourceDto.setOutCount((int) outCarCount);
fireCarResourceDto.setOnDutyCount((int) onDutyCarCount);
// 3.消防队伍-监控大队 fireBrigadeResourceList.add(fireCarResourceDto);
List<FireBrigadeResourceDto> monitorFireBrigadeList = fireTeamService.listMonitorFireBrigade(FireBrigadeTypeEnum.监控大队.getCode()); }
// List<FireBrigadeResourceDto> monitorFireBrigadeList = fireTeamService.listMonitorFireBrigade(); });
/*bug 2403 队伍未显示图片 2021-09-23 陈召开始 */ }
}
// 3.消防队伍-监控大队
List<FireBrigadeResourceDto> monitorFireBrigadeList = fireTeamService
.listMonitorFireBrigade(FireBrigadeTypeEnum.监控大队.getCode());
// List<FireBrigadeResourceDto> monitorFireBrigadeList =
// fireTeamService.listMonitorFireBrigade();
/* bug 2403 队伍未显示图片 2021-09-23 陈召开始 */
// for (FireBrigadeResourceDto fireBrigadeResourceDto : monitorFireBrigadeList) { // for (FireBrigadeResourceDto fireBrigadeResourceDto : monitorFireBrigadeList) {
// if (fireBrigadeResourceDto.getPic() != null) { // if (fireBrigadeResourceDto.getPic() != null) {
// String[] split = fireBrigadeResourceDto.getPic().split(","); // String[] split = fireBrigadeResourceDto.getPic().split(",");
...@@ -259,387 +277,479 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe ...@@ -259,387 +277,479 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
// } // }
// } // }
// } // }
/*bug 2403 队伍未显示图片 2021-09-23 陈召结束 */ /* bug 2403 队伍未显示图片 2021-09-23 陈召结束 */
FireBrigadeResourceDto monitorResourceDto = new FireBrigadeResourceDto(); FireBrigadeResourceDto monitorResourceDto = new FireBrigadeResourceDto();
monitorResourceDto.setId("0"); monitorResourceDto.setId("0");
monitorResourceDto.setName(FireBrigadeTypeEnum.监控大队.getName()); monitorResourceDto.setName(FireBrigadeTypeEnum.监控大队.getName());
monitorResourceDto.setType(FireBrigadeTypeEnum.监控大队.getKey()); monitorResourceDto.setType(FireBrigadeTypeEnum.监控大队.getKey());
monitorResourceDto.setChildren(monitorFireBrigadeList); monitorResourceDto.setChildren(monitorFireBrigadeList);
if (!CollectionUtils.isEmpty(monitorFireBrigadeList)) { if (!CollectionUtils.isEmpty(monitorFireBrigadeList)) {
fireBrigadeResourceList.add(monitorResourceDto); fireBrigadeResourceList.add(monitorResourceDto);
} }
return fireBrigadeResourceList;
}
return fireBrigadeResourceList; private List<PowerTransferCompanyResources> DtoEntityBatchConvert(
} List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesDtoList,
Long powerTransferCompanySequenceNbr) {
ArrayList<PowerTransferCompanyResources> powerTransferCompanyResourcesList = new ArrayList<>();
private List<PowerTransferCompanyResources> DtoEntityBatchConvert(List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesDtoList, Long powerTransferCompanySequenceNbr) { PowerTransferCompanyResources powerTransferCompanyResources;
ArrayList<PowerTransferCompanyResources> powerTransferCompanyResourcesList = new ArrayList<>(); List idList = powerTransferCompanyResourcesDtoList.stream()
PowerTransferCompanyResources powerTransferCompanyResources; .map(PowerTransferCompanyResourcesDto::getResourcesId).collect(Collectors.toList());
List idList=powerTransferCompanyResourcesDtoList.stream().map(PowerTransferCompanyResourcesDto::getResourcesId).collect(Collectors.toList()); QueryWrapper<PowerTransferCompanyResources> queryWrapper = new QueryWrapper<>();
QueryWrapper<PowerTransferCompanyResources> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("status", FireCarStatusEnum.执行中.getCode());
queryWrapper.eq("status",FireCarStatusEnum.执行中.getCode() ); queryWrapper.in("resources_id", idList);
queryWrapper.in("resources_id", idList); List<PowerTransferCompanyResources> alertFormValue = powerTransferCompanyResourcesService.list(queryWrapper);
List<PowerTransferCompanyResources> alertFormValue = powerTransferCompanyResourcesService.list(queryWrapper); if (alertFormValue != null && alertFormValue.size() > 0) {
if(alertFormValue!=null&&alertFormValue.size()>0){ throw new RuntimeException("已选车辆有已调派车辆!");
throw new RuntimeException("已选车辆有已调派车辆!"); } else {
}else{ for (PowerTransferCompanyResourcesDto powerTransferCompanyResourcesDto : powerTransferCompanyResourcesDtoList) {
for (PowerTransferCompanyResourcesDto powerTransferCompanyResourcesDto : powerTransferCompanyResourcesDtoList) {
powerTransferCompanyResources = new PowerTransferCompanyResources();
powerTransferCompanyResources = new PowerTransferCompanyResources(); BeanUtils.copyProperties(powerTransferCompanyResourcesDto, powerTransferCompanyResources);
BeanUtils.copyProperties(powerTransferCompanyResourcesDto, powerTransferCompanyResources); powerTransferCompanyResources.setPowerTransferCompanyId(powerTransferCompanySequenceNbr);
powerTransferCompanyResources.setPowerTransferCompanyId(powerTransferCompanySequenceNbr); // 资源状态
//资源状态 powerTransferCompanyResources.setStatus(FireCarStatusEnum.执行中.getCode());
powerTransferCompanyResources.setStatus(FireCarStatusEnum.执行中.getCode()); // 资源状态
//资源状态 powerTransferCompanyResources.setCarStatus(FireCarStatusEnum.出动.getCode());
powerTransferCompanyResources.setCarStatus(FireCarStatusEnum.出动.getCode()); powerTransferCompanyResourcesList.add(powerTransferCompanyResources);
powerTransferCompanyResourcesList.add(powerTransferCompanyResources); }
} return powerTransferCompanyResourcesList;
return powerTransferCompanyResourcesList; }
}
}
} private void initDefinitions(Map<String, String> definitions, AlertCalled alertCalled,
PowerTransferDto powerTransferDto) {
private void initDefinitions(Map<String, String> definitions, List<AlertFormValue> alertFormValue = alertFormValueService
AlertCalled alertCalled, PowerTransferDto powerTransferDto) { .list(new QueryWrapper<AlertFormValue>().eq("alert_called_id", alertCalled.getSequenceNbr()));
List<AlertFormValue> alertFormValue = alertFormValueService.list(new QueryWrapper<AlertFormValue>().eq( definitions.put("rescueGrid", alertCalled.getRescueGrid());
"alert_called_id", alertCalled.getSequenceNbr())); definitions.put("alertType", alertCalled.getAlertType());
definitions.put("rescueGrid", alertCalled.getRescueGrid()); definitions.put("address", alertCalled.getAddress());
definitions.put("alertType", alertCalled.getAlertType()); definitions.put("trappedNum", alertCalled.getTrappedNum().toString());
definitions.put("address", alertCalled.getAddress()); definitions.put("casualtiesNum", alertCalled.getCasualtiesNum().toString());
definitions.put("trappedNum", alertCalled.getTrappedNum().toString()); definitions.put("companyName", powerTransferDto.getCompanyName());
definitions.put("casualtiesNum", alertCalled.getCasualtiesNum().toString());
definitions.put("companyName", powerTransferDto.getCompanyName()); for (AlertFormValue formValue : alertFormValue) {
definitions.put(formValue.getFieldCode(), formValue.getFieldValue());
for (AlertFormValue formValue : alertFormValue) { }
definitions.put(formValue.getFieldCode(), formValue.getFieldValue()); }
}
} private String getTaskInformation(String content, Map<String, String> definitions) {
int size = definitions.size();
private String getTaskInformation(String content, Map<String, String> definitions) { String[] keys = definitions.keySet().toArray(new String[size]);
int size = definitions.size(); String[] values = definitions.values().toArray(new String[size]);
String[] keys = definitions.keySet().toArray(new String[size]); return StringUtils.replaceEach(content, keys, values);
String[] values = definitions.values().toArray(new String[size]); }
return StringUtils.replaceEach(content, keys, values);
} private void createPowerTransferCompany(PowerTransferDto powerTransferDto, Long powerTransferSequenceNbr,
Map<String, String> definitions, String content) {
private void createPowerTransferCompany(PowerTransferDto powerTransferDto, Long powerTransferSequenceNbr, List<PowerTransferCompanyDto> powerTransferCompanyDotList = powerTransferDto.getPowerTransferCompanyDotList();
Map<String, String> definitions, String content) { PowerTransferCompany powerTransferCompany;
List<PowerTransferCompanyDto> powerTransferCompanyDotList = powerTransferDto.getPowerTransferCompanyDotList();
PowerTransferCompany powerTransferCompany; List<Object> carStatusInfoDtoList = Lists.newArrayList();
List<Object> carStatusInfoDtoList = Lists.newArrayList(); for (PowerTransferCompanyDto powerTransferCompanyDto : powerTransferCompanyDotList) {
powerTransferCompany = new PowerTransferCompany();
for (PowerTransferCompanyDto powerTransferCompanyDto : powerTransferCompanyDotList) { BeanUtils.copyProperties(powerTransferCompanyDto, powerTransferCompany);
powerTransferCompany = new PowerTransferCompany(); powerTransferCompany.setPowerTransferId(powerTransferSequenceNbr);
BeanUtils.copyProperties(powerTransferCompanyDto, powerTransferCompany); List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesDtoList = powerTransferCompanyDto
powerTransferCompany.setPowerTransferId(powerTransferSequenceNbr); .getPowerTransferCompanyResourcesDtoList();
List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesDtoList = if (powerTransferCompanyResourcesDtoList.size() == 0) {
powerTransferCompanyDto.getPowerTransferCompanyResourcesDtoList(); powerTransferCompany.setIsDistributionAgencies(true);
if (powerTransferCompanyResourcesDtoList.size() == 0) { definitions.put("type", "");
powerTransferCompany.setIsDistributionAgencies(true); definitions.put("resourcesNum", "");
definitions.put("type", ""); powerTransferCompany.setTaskInformation(getTaskInformation(content, definitions));
definitions.put("resourcesNum", ""); powerTransferCompanyService.save(powerTransferCompany);
powerTransferCompany.setTaskInformation(getTaskInformation(content, definitions)); } else {
powerTransferCompanyService.save(powerTransferCompany); powerTransferCompany.setIsDistributionAgencies(false);
} else { StringBuilder taskInformation = new StringBuilder();
powerTransferCompany.setIsDistributionAgencies(false); for (PowerTransferCompanyResourcesDto powerTransferCompanyResourcesDto : powerTransferCompanyResourcesDtoList) {
StringBuilder taskInformation = new StringBuilder(); definitions.put("type", powerTransferCompanyResourcesDto.getType());
for (PowerTransferCompanyResourcesDto powerTransferCompanyResourcesDto : definitions.put("resourcesNum", powerTransferCompanyResourcesDto.getResourcesNum());
powerTransferCompanyResourcesDtoList) { String information = getTaskInformation(content, definitions);
definitions.put("type", powerTransferCompanyResourcesDto.getType()); taskInformation.append(information).append(";");
definitions.put("resourcesNum", powerTransferCompanyResourcesDto.getResourcesNum());
String information = getTaskInformation(content, definitions); CarStatusInfoDto carStatusInfoDto = new CarStatusInfoDto();
taskInformation.append(information).append(";"); carStatusInfoDto.setSequenceNbr(powerTransferCompanyResourcesDto.getResourcesId());
carStatusInfoDto.setStatus(FireCarStatusEnum.出动.getCode());
CarStatusInfoDto carStatusInfoDto = new CarStatusInfoDto(); carStatusInfoDtoList.add(carStatusInfoDto);
carStatusInfoDto.setSequenceNbr(powerTransferCompanyResourcesDto.getResourcesId()); }
carStatusInfoDto.setStatus(FireCarStatusEnum.出动.getCode()); powerTransferCompany.setTaskInformation(taskInformation.toString());
carStatusInfoDtoList.add(carStatusInfoDto); powerTransferCompanyService.save(powerTransferCompany);
} Long powerTransferCompanySequenceNbr = powerTransferCompany.getSequenceNbr();
powerTransferCompany.setTaskInformation(taskInformation.toString()); List<PowerTransferCompanyResources> powerTransferCompanyResourcesList = DtoEntityBatchConvert(
powerTransferCompanyService.save(powerTransferCompany); powerTransferCompanyResourcesDtoList, powerTransferCompanySequenceNbr);
Long powerTransferCompanySequenceNbr = powerTransferCompany.getSequenceNbr(); powerTransferCompanyResourcesService.saveBatch(powerTransferCompanyResourcesList);
List<PowerTransferCompanyResources> powerTransferCompanyResourcesList =
DtoEntityBatchConvert(powerTransferCompanyResourcesDtoList, powerTransferCompanySequenceNbr); // 更新车辆状态
powerTransferCompanyResourcesService.saveBatch(powerTransferCompanyResourcesList); equipFeignService.updateCarStatus(carStatusInfoDtoList);
}
// 更新车辆状态 }
equipFeignService.updateCarStatus(carStatusInfoDtoList); }
}
} @Override
} public List<PowerTransferCompanyDto> getLastPowerTransferCompany(Long alertCalledId) {
return this.baseMapper.getLastPowerTransferCompany(alertCalledId);
@Override }
public List<PowerTransferCompanyDto> getLastPowerTransferCompany(Long alertCalledId) {
return this.baseMapper.getLastPowerTransferCompany(alertCalledId); public List<String> queryTransferCarIdsByAlertCalledId(Long alertCalledId) {
} return this.baseMapper.queryTransferCarIdsByAlertCalledId(alertCalledId);
}
public List<String> queryTransferCarIdsByAlertCalledId(Long alertCalledId) {
return this.baseMapper.queryTransferCarIdsByAlertCalledId(alertCalledId); public Map<String, Object> getPowerTransferList(String beginDate, String endDate) {
} // 获取力量调派信息
List<PowerTransferDto> powerTransferInfo = this.baseMapper.getPowerTransferInfo(beginDate, endDate);
public Map<String, Object> getPowerTransferList(String beginDate, String endDate) { List<PowerTransferCompanyDto> powerTransferCompanyInfo = this.baseMapper.getPowerTransferCompanyInfo(beginDate,
// 获取力量调派信息 endDate);
List<PowerTransferDto> powerTransferInfo = this.baseMapper.getPowerTransferInfo(beginDate, endDate); List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesInfo = this.baseMapper
List<PowerTransferCompanyDto> powerTransferCompanyInfo = .getPowerTransferCompanyResourcesInfo(beginDate, endDate);
this.baseMapper.getPowerTransferCompanyInfo(beginDate, endDate); Map<String, Object> transferInfo = this.baseMapper.getPowerTransferInfoCount(beginDate, endDate);
List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesInfo =
this.baseMapper.getPowerTransferCompanyResourcesInfo(beginDate, endDate); // 获取力量出动模板
Map<String, Object> transferInfo = this.baseMapper.getPowerTransferInfoCount(beginDate, endDate); Template template = templateService
.getOne(new QueryWrapper<Template>().eq("type_code", DutyInfoEnum.力量出动.getKey()).eq("format", false));
// 获取力量出动模板 String templateContent = template.getContent();
Template template = templateService.getOne(new QueryWrapper<Template>().eq("type_code", List<String> transferContent = new ArrayList<>();
DutyInfoEnum.力量出动.getKey()).eq("format", false)); powerTransferInfo.forEach(pt -> {
String templateContent = template.getContent(); StringBuilder transferDetail = new StringBuilder();
List<String> transferContent = new ArrayList<>(); Long powerTransferId = pt.getSequenceNbr();
powerTransferInfo.forEach(pt -> { String rescueGrid = pt.getRescueGrid();
StringBuilder transferDetail = new StringBuilder(); powerTransferCompanyInfo.forEach(ptc -> {
Long powerTransferId = pt.getSequenceNbr(); if (powerTransferId.equals(ptc.getPowerTransferId())) {
String rescueGrid = pt.getRescueGrid(); transferDetail.append(ptc.getCompanyName());
powerTransferCompanyInfo.forEach(ptc -> { if (!ptc.getIsDistributionAgencies()) {
if (powerTransferId.equals(ptc.getPowerTransferId())) { Long powerTransferCompanyId = ptc.getSequenceNbr();
transferDetail.append(ptc.getCompanyName()); transferDetail.append("车辆车牌号");
if (!ptc.getIsDistributionAgencies()) { powerTransferCompanyResourcesInfo.forEach(ptcr -> {
Long powerTransferCompanyId = ptc.getSequenceNbr(); if (powerTransferCompanyId.equals(ptcr.getPowerTransferCompanyId())) {
transferDetail.append("车辆车牌号"); transferDetail.append(ptcr.getResourcesNum()).append("、");
powerTransferCompanyResourcesInfo.forEach(ptcr -> { transferDetail.append(ptcr.getStatus()).append("、");
if (powerTransferCompanyId.equals(ptcr.getPowerTransferCompanyId())) { }
transferDetail.append(ptcr.getResourcesNum()).append("、"); });
transferDetail.append(ptcr.getStatus()).append("、"); transferDetail.deleteCharAt(transferDetail.length() - 1);
} }
}); transferDetail.append(";");
transferDetail.deleteCharAt(transferDetail.length() - 1); }
} });
transferDetail.append(";"); transferDetail.deleteCharAt(transferDetail.length() - 1);
} if (transferDetail.toString().contains("、")) {
}); String transfer = null;
transferDetail.deleteCharAt(transferDetail.length() - 1); String taskStatus = null;
if (transferDetail.toString().contains("、")){ String[] split = transferDetail.toString().split("、");
String transfer = null ; if (split.length > 1) {
String taskStatus = null ; transfer = split[0];
String[] split = transferDetail.toString().split("、"); taskStatus = split[1];
if (split.length > 1 ){ }
transfer = split[0]; String transferDetails = templateContent.replace("departmentName-type-resourcesNum", transfer)
taskStatus = split[1]; .replace("rescueGrid", rescueGrid == null ? "" : rescueGrid).replace("taskStatus",
} taskStatus != null ? FireCarStatusEnum.getEnum(taskStatus).getName() : null);
String transferDetails = templateContent.replace("departmentName-type-resourcesNum", transferContent.add(transferDetails);
transfer).replace("rescueGrid", rescueGrid == null ? "" : rescueGrid).replace( } else {
"taskStatus",taskStatus!=null?FireCarStatusEnum.getEnum(taskStatus).getName():null); String transferDetails = templateContent
transferContent.add(transferDetails); .replace("departmentName-type-resourcesNum", transferDetail.toString())
}else { .replace("rescueGrid", rescueGrid == null ? "" : rescueGrid).replace("taskStatus", "");
String transferDetails = templateContent.replace("departmentName-type-resourcesNum", transferContent.add(transferDetails);
transferDetail.toString()).replace("rescueGrid", rescueGrid == null ? "" : rescueGrid).replace( }
"taskStatus", ""); });
transferContent.add(transferDetails); transferInfo.put("transferContent", transferContent);
}
}); return transferInfo;
transferInfo.put("transferContent", transferContent); }
return transferInfo; @Override
} public List<PowerCompanyCountDto> getPowerCompanyCountDtocount(Long id) {
List<PowerCompanyCountDto> list = powerTransferMapper.getPowerCompanyCountDtocount(id);
@Override if (list != null && list.size() > 0) {
public List<PowerCompanyCountDto> getPowerCompanyCountDtocount(Long id) { list.stream().forEach(powerCompanyCountDto -> {
List<PowerCompanyCountDto> list = powerTransferMapper.getPowerCompanyCountDtocount(id); List<PowerCarCountDto> li = powerTransferMapper.getPowerCarCountDtocount(id,
if (list != null && list.size() > 0) { powerCompanyCountDto.getCompanyId());
list.stream().forEach(powerCompanyCountDto -> { powerCompanyCountDto.setPowerCarCountDto(li);
List<PowerCarCountDto> li = powerTransferMapper.getPowerCarCountDtocount(id, powerCompanyCountDto.getCompanyId()); });
powerCompanyCountDto.setPowerCarCountDto(li); }
}); return list;
} }
return list;
} @Override
public IPage<PowerTransferResourceDto> getPowerTransferPageByParam(Long alertCalledId, String type,
@Override Page<PowerTransferResourceDto> page) {
public IPage<PowerTransferResourceDto> getPowerTransferPageByParam(Long alertCalledId, String type, Page<PowerTransferResourceDto> page) { if (ValidationUtil.isEmpty(alertCalledId)) {
if (ValidationUtil.isEmpty(alertCalledId)) { throw new BaseException("警情id为空", "", "警情id为空");
throw new BaseException("警情id为空", "", "警情id为空"); }
} IPage<PowerTransferResourceDto> resultPage = null;
IPage<PowerTransferResourceDto> resultPage = null; switch (type) {
switch (type) { case "team":
case "team": resultPage = getPowerTransferTeamResource(page, alertCalledId);
resultPage = getPowerTransferTeamResource(page, alertCalledId); break;
break; case "car":
case "car": resultPage = getPowerTransferCarResource(page, alertCalledId);
resultPage = getPowerTransferCarResource(page, alertCalledId); break;
break; case "person":
case "person": // TODO 暂时没有调度人员
// TODO 暂时没有调度人员 resultPage = new Page<>();
resultPage = new Page<>(); break;
break; default:
default: break;
break; }
} return resultPage;
return resultPage; }
}
@Override
@Override public List<ResourceStatisticsDto> getPowerTransferStatistics(Long alertCalledId, String type) {
public List<ResourceStatisticsDto> getPowerTransferStatistics(Long alertCalledId, String type) { List<ResourceStatisticsDto> result;
List<ResourceStatisticsDto> result; result = powerTransferMapper.getPowerTransferTeamResourceCount(alertCalledId, type);
result = powerTransferMapper.getPowerTransferTeamResourceCount(alertCalledId, type); if (ValidationUtil.isEmpty(result)) {
if (ValidationUtil.isEmpty(result)) { ResourceStatisticsDto team = new ResourceStatisticsDto("team", 0, 0, 0);
ResourceStatisticsDto team = new ResourceStatisticsDto("team", 0, 0, 0); ResourceStatisticsDto car = new ResourceStatisticsDto("car", 0, 0, 0);
ResourceStatisticsDto car = new ResourceStatisticsDto("car", 0, 0, 0); ResourceStatisticsDto person = new ResourceStatisticsDto("person", 0, 0, 0);
ResourceStatisticsDto person = new ResourceStatisticsDto("person", 0, 0, 0); result.add(team);
result.add(team); result.add(car);
result.add(car); result.add(person);
result.add(person); }
} return result;
return result; }
}
public IPage<PowerTransferResourceDto> getPowerTransferTeamResource(Page<PowerTransferResourceDto> page,
public IPage<PowerTransferResourceDto> getPowerTransferTeamResource(Page<PowerTransferResourceDto> page, Long alertCalledId) {
Long alertCalledId) { return powerTransferMapper.getPowerTransferTeamResource(page, alertCalledId);
return powerTransferMapper.getPowerTransferTeamResource(page, alertCalledId); }
}
private IPage<PowerTransferResourceDto> getPowerTransferCarResource(Page<PowerTransferResourceDto> page,
private IPage<PowerTransferResourceDto> getPowerTransferCarResource(Page<PowerTransferResourceDto> page, Long alertCalledId) {
Long alertCalledId) { Map<String, List<Map<String, Object>>> carInfoMap = getCarListMap();
Map<String, List<Map<String, Object>>> carInfoMap = getCarListMap();
IPage<PowerTransferResourceDto> carResourcePage = powerTransferMapper.getPowerTransferCarResource(page,
IPage<PowerTransferResourceDto> carResourcePage = powerTransferMapper.getPowerTransferCarResource(page, alertCalledId); alertCalledId);
Map<String, List<Map<String, Object>>> finalCarInfoMap = carInfoMap; Map<String, List<Map<String, Object>>> finalCarInfoMap = carInfoMap;
carResourcePage.getRecords().forEach(car -> { carResourcePage.getRecords().forEach(car -> {
String seq = car.getSequenceNbr().toString(); String seq = car.getSequenceNbr().toString();
car.setName((String) finalCarInfoMap.get(seq).get(0).get("name")); car.setName((String) finalCarInfoMap.get(seq).get(0).get("name"));
String carStateCode = (String) finalCarInfoMap.get(seq).get(0).get("carState"); String carStateCode = (String) finalCarInfoMap.get(seq).get(0).get("carState");
car.setCarState(!ValidationUtil.isEmpty(FireCarStatusEnum.getEnum(carStateCode)) ? car.setCarState(!ValidationUtil.isEmpty(FireCarStatusEnum.getEnum(carStateCode))
FireCarStatusEnum.getEnum(carStateCode).getName() : ""); ? FireCarStatusEnum.getEnum(carStateCode).getName()
List<String> images = (List<String>) finalCarInfoMap.get(seq).get(0).get("image"); : "");
car.setImg(!ValidationUtil.isEmpty(images) ? images.get(0) : ""); List<String> images = (List<String>) finalCarInfoMap.get(seq).get(0).get("image");
}); car.setImg(!ValidationUtil.isEmpty(images) ? images.get(0) : "");
return carResourcePage; });
} return carResourcePage;
}
private Map<String, List<Map<String, Object>>> getCarListMap() {
ResponseModel<Object> result = equipFeignClient.getFireCarListAll(); private Map<String, List<Map<String, Object>>> getCarListMap() {
Map<String, List<Map<String, Object>>> carInfoMap = Maps.newConcurrentMap(); ResponseModel<Object> result = equipFeignClient.getFireCarListAll();
if (!ValidationUtil.isEmpty(result)) { Map<String, List<Map<String, Object>>> carInfoMap = Maps.newConcurrentMap();
List<Map<String, Object>> fireCarListMapList = (List<Map<String, Object>>) result.getResult(); if (!ValidationUtil.isEmpty(result)) {
if (!ValidationUtil.isEmpty(fireCarListMapList)) { List<Map<String, Object>> fireCarListMapList = (List<Map<String, Object>>) result.getResult();
carInfoMap = if (!ValidationUtil.isEmpty(fireCarListMapList)) {
fireCarListMapList.stream().collect(Collectors.groupingBy(car -> car.get("id").toString())); carInfoMap = fireCarListMapList.stream()
} .collect(Collectors.groupingBy(car -> car.get("id").toString()));
} }
return carInfoMap; }
} return carInfoMap;
}
private List<Map<String, Object>> getCarList() {
ResponseModel<Object> result = equipFeignClient.getFireCarListAll(); private List<Map<String, Object>> getCarList() {
List<Map<String, Object>> fireCarListMapList = Lists.newArrayList(); ResponseModel<Object> result = equipFeignClient.getFireCarListAll();
if (!ValidationUtil.isEmpty(result)) { List<Map<String, Object>> fireCarListMapList = Lists.newArrayList();
fireCarListMapList = (List<Map<String, Object>>) result.getResult(); if (!ValidationUtil.isEmpty(result)) {
} fireCarListMapList = (List<Map<String, Object>>) result.getResult();
return fireCarListMapList; }
} return fireCarListMapList;
}
@Override
public JSONObject getPowerTransferCarResourceStatistics(Long alertCalledId) { @Override
// 所有车辆 public JSONObject getPowerTransferCarResourceStatistics(Long alertCalledId) {
List<Map<String, Object>> carList = getCarList(); // 所有车辆
List<Map<String, Object>> carList = getCarList();
IPage<PowerTransferResourceDto> carResourcePage =
powerTransferMapper.getPowerTransferCarResource(new Page<>(1L, Long.MAX_VALUE), IPage<PowerTransferResourceDto> carResourcePage = powerTransferMapper
alertCalledId); .getPowerTransferCarResource(new Page<>(1L, Long.MAX_VALUE), alertCalledId);
// 调派的车辆id列表 // 调派的车辆id列表
List<Long> carIdList = Lists.transform(carResourcePage.getRecords(), PowerTransferResourceDto::getSequenceNbr); List<Long> carIdList = Lists.transform(carResourcePage.getRecords(), PowerTransferResourceDto::getSequenceNbr);
// 调派的车辆信息列表 // 调派的车辆信息列表
List<Map<String, Object>> totalCarList = List<Map<String, Object>> totalCarList = carList.stream()
carList.stream().filter(c -> carIdList.contains(Long.valueOf((String) c.get("id")))).collect(Collectors.toList()); .filter(c -> carIdList.contains(Long.valueOf((String) c.get("id")))).collect(Collectors.toList());
// TODO 车辆枚举后期修改为已到达状态车辆 // TODO 车辆枚举后期修改为已到达状态车辆
List<Map<String, Object>> arrivedCarList = List<Map<String, Object>> arrivedCarList = carList.stream()
carList.stream().filter(c -> carIdList.contains(Long.valueOf((String) c.get("id"))) && FireCarStatusEnum.出动.getCode().equals(c.get( .filter(c -> carIdList.contains(Long.valueOf((String) c.get("id")))
"carState"))).collect(Collectors.toList()); && FireCarStatusEnum.出动.getCode().equals(c.get("carState")))
// 调派-已到达车辆id列表 .collect(Collectors.toList());
List<Long> arrivedCarIdList = Lists.newArrayList(); // 调派-已到达车辆id列表
arrivedCarList.forEach(c -> { List<Long> arrivedCarIdList = Lists.newArrayList();
if (FireCarStatusEnum.出动.getCode().equals(c.get("carState"))) { arrivedCarList.forEach(c -> {
arrivedCarIdList.add(Long.valueOf((String) c.get("id"))); if (FireCarStatusEnum.出动.getCode().equals(c.get("carState"))) {
} arrivedCarIdList.add(Long.valueOf((String) c.get("id")));
}); }
});
JSONObject resourceStatistics = new JSONObject();
double carTotal = carResourcePage.getTotal(); JSONObject resourceStatistics = new JSONObject();
double carTotal = carResourcePage.getTotal();
// 车辆统计
carCount(arrivedCarList, resourceStatistics, carTotal, "car"); // 车辆统计
carCount(arrivedCarList, resourceStatistics, carTotal, "car");
// 车辆人员统计
dutyPersonCount(carIdList, arrivedCarIdList, resourceStatistics); // 车辆人员统计
dutyPersonCount(carIdList, arrivedCarIdList, resourceStatistics);
// 车载器材统计
fireAgentOnCarCount(totalCarList, arrivedCarList, resourceStatistics, "equipment", "equip"); // 车载器材统计
fireAgentOnCarCount(totalCarList, arrivedCarList, resourceStatistics, "equipment", "equip");
// TODO 车载水量统计
carCount(arrivedCarList, resourceStatistics, carTotal, "water"); // TODO 车载水量统计
carCount(arrivedCarList, resourceStatistics, carTotal, "water");
// 车载药剂统计
fireAgentOnCarCount(totalCarList, arrivedCarList, resourceStatistics, "fireAgent", "medicament"); // 车载药剂统计
return resourceStatistics; fireAgentOnCarCount(totalCarList, arrivedCarList, resourceStatistics, "fireAgent", "medicament");
} return resourceStatistics;
}
public void carCount(List<Map<String, Object>> arrivedCarList, JSONObject resourceStatistics, double carTotal, String jsoKey) {
JSONObject car = new JSONObject(); public void carCount(List<Map<String, Object>> arrivedCarList, JSONObject resourceStatistics, double carTotal,
car.put("total", carTotal); String jsoKey) {
car.put("count", arrivedCarList.size()); JSONObject car = new JSONObject();
resourceStatistics.put(jsoKey, car); car.put("total", carTotal);
} car.put("count", arrivedCarList.size());
resourceStatistics.put(jsoKey, car);
public void dutyPersonCount(List<Long> carIdList, List<Long> arrivedCarIdList, JSONObject resourceStatistics) { }
// 当前时间所在班次
List<Long> shiftIdList = dutyCarService.getDutyShiftIdList(); public void dutyPersonCount(List<Long> carIdList, List<Long> arrivedCarIdList, JSONObject resourceStatistics) {
List<Map<String, Object>> allDutyPersonList = Lists.newArrayList(); // 当前时间所在班次
if (!ValidationUtil.isEmpty(shiftIdList)) { List<Long> shiftIdList = dutyCarService.getDutyShiftIdList();
// 当前值班车辆-人 List<Map<String, Object>> allDutyPersonList = Lists.newArrayList();
allDutyPersonList = dutyCarService.dayDutyPersonList(DateUtils.getDateNowShortStr(), if (!ValidationUtil.isEmpty(shiftIdList)) {
shiftIdList.get(0), null); // 当前值班车辆-人
} allDutyPersonList = dutyCarService.dayDutyPersonList(DateUtils.getDateNowShortStr(), shiftIdList.get(0),
// 当前车辆执勤人员 null);
List<Map<String, Object>> allTransferDutyPerson = }
allDutyPersonList.stream().filter(c -> carIdList.contains(Long.valueOf((String) c.get("carId")))).collect(Collectors.toList()); // 当前车辆执勤人员
// 当前已到达车辆执勤人员 List<Map<String, Object>> allTransferDutyPerson = allDutyPersonList.stream()
List<Map<String, Object>> allArrivedTransferDutyPerson = .filter(c -> carIdList.contains(Long.valueOf((String) c.get("carId")))).collect(Collectors.toList());
allDutyPersonList.stream().filter(c -> arrivedCarIdList.contains(Long.valueOf((String) c.get("carId")))).collect(Collectors.toList()); // 当前已到达车辆执勤人员
JSONObject person = new JSONObject(); List<Map<String, Object>> allArrivedTransferDutyPerson = allDutyPersonList.stream()
person.put("total", allTransferDutyPerson.size()); .filter(c -> arrivedCarIdList.contains(Long.valueOf((String) c.get("carId"))))
person.put("count", allArrivedTransferDutyPerson.size()); .collect(Collectors.toList());
resourceStatistics.put("person", person); JSONObject person = new JSONObject();
} person.put("total", allTransferDutyPerson.size());
person.put("count", allArrivedTransferDutyPerson.size());
public void fireAgentOnCarCount(List<Map<String, Object>> totalCarList, List<Map<String, Object>> arrivedCarList, resourceStatistics.put("person", person);
JSONObject resourceStatistics, String equipType, String jsonKey) { }
double agentCountAll = totalCarList.stream().mapToDouble(car -> car.get(
"resourceList")!=null?((List<Map<String, Object>>) car.get( public void fireAgentOnCarCount(List<Map<String, Object>> totalCarList, List<Map<String, Object>> arrivedCarList,
"resourceList")).stream().filter(res -> equipType.equals(res.get( JSONObject resourceStatistics, String equipType, String jsonKey) {
"equipType"))).mapToDouble(c -> (double) c.get("equipCount")).sum():0).sum(); double agentCountAll = totalCarList.stream().mapToDouble(
car -> car.get("resourceList") != null ? ((List<Map<String, Object>>) car.get("resourceList")).stream()
.filter(res -> equipType.equals(res.get("equipType")))
.mapToDouble(c -> (double) c.get("equipCount")).sum() : 0)
double agentCountArrived = arrivedCarList.stream().mapToDouble(car ->car.get("resourceList")!=null? ((List<Map<String, Object>>) car.get( .sum();
"resourceList")).stream().filter(res -> equipType.equals(res.get(
"equipType"))).mapToDouble(c -> (double) c.get("equipCount")).sum():0).sum(); double agentCountArrived = arrivedCarList.stream().mapToDouble(
car -> car.get("resourceList") != null ? ((List<Map<String, Object>>) car.get("resourceList")).stream()
.filter(res -> equipType.equals(res.get("equipType")))
.mapToDouble(c -> (double) c.get("equipCount")).sum() : 0)
JSONObject jsonObject = new JSONObject(); .sum();
jsonObject.put("total", agentCountAll);
jsonObject.put("count", agentCountArrived); JSONObject jsonObject = new JSONObject();
resourceStatistics.put(jsonKey, jsonObject); jsonObject.put("total", agentCountAll);
} jsonObject.put("count", agentCountArrived);
resourceStatistics.put(jsonKey, jsonObject);
@Override }
public List<Map<String, String>> getFireCarStatusList() {
return FireCarStatusEnum.toList(); @Override
} public List<Map<String, String>> getFireCarStatusList() {
return FireCarStatusEnum.toList();
@Override }
public List<Map<String, String>> getDispatchTaskStatusList() {
return AlertFeedbackStatusEnum.toList(); @Override
} public List<Map<String, String>> getDispatchTaskStatusList() {
return AlertFeedbackStatusEnum.toList();
}
public Object forceDispatchTaskDispatch(){
// for (PowerTransferParamDto powerTransferParamDto : params) {
// if("car".equals(powerTransferParamDto.getType())) {
// forceDispatchTaskDispatchOnCar(powerTransferParamDto);
// }else if("monitor".equals(powerTransferParamDto.getType())) {
// forceDispatchTaskDispatchOnMonitor(powerTransferParamDto);
// }else if("fristAid".equals(powerTransferParamDto.getType())) {
// forceDispatchTaskDispatchOnFristAid(powerTransferParamDto);
// }
// }
return null;
}
public Object forceDispatchTaskDispatchOnMonitor(PowerTransferParamDto params) {
return params;
}
public Object forceDispatchTaskDispatchOnFristAid(PowerTransferParamDto params) {
return params;
}
public Object forceDispatchTaskDispatchOnCar(PowerTransferParamDto params) {
//获取车辆的id
String[] isdStrings = params.getIdValue().split(",");
List<Long> idsList = new ArrayList<Long>();
for (String carId : isdStrings) {
ResponseModel<Map<String, Object>> carResponseModel = equipFeignClient.selectOneById(Long.parseLong(carId));
Map<String, Object> carResultMap = carResponseModel.getResult();
if (carResultMap == null || carResultMap.isEmpty() || !carResultMap.containsKey("teamId")) {
continue;
}
String teamId = carResultMap.get("teamId").toString();
List<PowerTransferDetailParamDto> detailParamDtos=params.getDetail();
for (PowerTransferDetailParamDto dto : detailParamDtos) {
if("DD".equals(dto.getType())) {
}
}
// 首先判斷当前的队伍是支队还是大队
FireTeam fireTeam = iFireTeamService.getById(Long.parseLong(teamId));
Long parentTeamId = fireTeam.getParent();
if (parentTeamId !=null) {//父级节点的team存在,说明当前team是大队,不是支队
//大队岗位
//获取总队的人员信息
String parentTeamIdString = Long.toString(parentTeamId);
List<Map<String, Object>> parentUserIdsList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId("carId",
"teamId", "userId", DateUtils.getDateNowShortStr(), "dutyCar", carId, parentTeamIdString);
parentUserIdsList.stream().forEach(i->{
String userId = i.get("userId").toString();
idsList.add(Long.parseLong(userId));
});
//获取支队的人员信息
List<Map<String, Object>> userIdsList = dynamicFormInstanceMapper.getDutyPersonByTeamIdAndCarId("carId",
"teamId", "userId", DateUtils.getDateNowShortStr(), "dutyCar", carId, teamId);
userIdsList.stream().forEach(i->{
String userId = i.get("userId").toString();
idsList.add(Long.parseLong(userId));
});
}else {
//支队岗位
}
}
return params;
}
} }
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