Commit 6b28e49a authored by tianbo's avatar tianbo

1、去掉不可用仓库;2、指挥增加根据警情id查询调派力量接口;3、jcs服务增加liquibase依赖

parent fd8af58b
package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 调派资源dto
*
* @author tb
* @date 2021-08-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="PowerTransferResourceDto", description="调派资源dto")
public class PowerTransferResourceDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "资源名称")
private String name;
@ApiModelProperty(value = "资源类型(中队:company,车辆:car,人员:person)")
private String type;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "图片")
private String img;
@ApiModelProperty(value = "联系电话")
private String tel;
@ApiModelProperty(value = "负责人")
private String chargePerson;
@ApiModelProperty(value = "驾驶员")
private String driver;
@ApiModelProperty(value = "车辆状态")
private String carState;
@ApiModelProperty(value = "岗位")
private String post;
@ApiModelProperty(value = "性别")
private String gender;
}
......@@ -23,4 +23,13 @@ public enum FireCarStatusEnum {
private String key;
private String code;
private String name;
public static FireCarStatusEnum getEnum(String code) {
for (FireCarStatusEnum status : FireCarStatusEnum.values()) {
if (status.getCode().equals(code)) {
return status;
}
}
return null;
}
}
package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jcs.api.dto.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.PowerData;
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.PowerTransferDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import org.apache.ibatis.annotations.Param;
......@@ -76,4 +84,24 @@ public interface PowerTransferMapper extends BaseMapper<PowerTransfer> {
List<PowerCompanyCountDto> getPowerCompanyCountDtocount(@Param("id") Long id);
List<PowerCarCountDto> getPowerCarCountDtocount(@Param("alertCalledId") Long alertCalledId,@Param("companyId") Long companyId);
/**
* 根据参数获取警情当前已调派队伍资源列表信息
*
* @param alertCalledId 警情id
* @param page 分页参数
* @return
*/
IPage<PowerTransferResourceDto> getPowerTransferTeamResource(Page<PowerTransferResourceDto> page,
@Param("alertCalledId") Long alertCalledId);
/**
* 根据参数获取警情当前已调派车辆资源列表信息
*
* @param alertCalledId 警情id
* @param page 分页参数
* @return
*/
IPage<PowerTransferResourceDto> getPowerTransferCarResource(Page<PowerTransferResourceDto> page,
@Param("alertCalledId") Long alertCalledId);
}
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.common.api.dto.FireBrigadeResourceDto;
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.PowerTransferDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferSimpleDto;
......@@ -30,4 +33,14 @@ public interface IPowerTransferService extends IService<PowerTransfer> {
*/
List<FireBrigadeResourceDto> getPowerTree();
List<PowerCompanyCountDto> getPowerCompanyCountDtocount( Long id);
/**
* 根据参数查询力量调派资源列表
*
* @param alertCalledId 警情id
* @param type 查询类型
* @param page 分页参数
* @return
*/
IPage<PowerTransferResourceDto> getPowerTransferPageByParam(Long alertCalledId, String type, Page<PowerTransferResourceDto> page);
}
......@@ -192,21 +192,38 @@
GROUP BY
c.resources_name ) m where m.carNum>0
</select>
<select id="getPowerTransferTeamResource"
resultType="com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto">
SELECT distinct
company.company_id sequenceNbr,
company.company_name NAME,
'company' type,
team.address,
team.contact_user chargePerson,
team.contact_phone tel,
team.img
FROM
jc_power_transfer_company company
LEFT JOIN jc_power_transfer transfer ON transfer.sequence_nbr = company.power_transfer_id
LEFT JOIN cb_fire_team team ON team.sequence_nbr = company.company_id
WHERE
transfer.alert_called_id = #{alertCalledId}
AND is_distribution_agencies = 0
</select>
<select id="getPowerTransferCarResource"
resultType="com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferResourceDto">
SELECT DISTINCT
car.resources_id sequenceNbr,
car.resources_name,
'car' type
FROM
jc_power_transfer_company_resources car
LEFT JOIN jc_power_transfer_company company ON company.sequence_nbr = car.power_transfer_company_id
LEFT JOIN jc_power_transfer transfer ON transfer.sequence_nbr = company.power_transfer_id
WHERE
transfer.alert_called_id = #{alertCalledId}
AND is_distribution_agencies = 0
</select>
</mapper>
......@@ -118,9 +118,11 @@ public class CommandController extends BaseController {
@Value("${video.url}")
private String videoUrl;
@Autowired
IDutyPersonService iDutyPersonService;
/**
* 警情列表
*
......@@ -938,5 +940,17 @@ public class CommandController extends BaseController {
}
return ResponseHelper.buildResponse(dto);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "app-根据警情id查询力量调派列表", notes = "app-根据警情id查询力量调派列表")
@GetMapping(value = "/app/transferList")
public ResponseModel getPowerTransferList(@RequestParam String alertId,
@RequestParam(defaultValue = "company") String type,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page page = new Page();
page.setSize(size);
page.setCurrent(current);
return ResponseHelper.buildResponse(powerTransferService.getPowerTransferPageByParam(Long.valueOf(alertId), type, page));
}
}
\ No newline at end of file
......@@ -227,7 +227,7 @@ public class MaintenanceCompanyServiceImpl
@Override
public List<Map<String, Object>> getMaintenanceCompanyDropDownList() {
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<MaintenanceCompany>();
wrapper.select(MaintenanceCompany::getCode, MaintenanceCompany::getName);
wrapper.select(MaintenanceCompany::getCode, MaintenanceCompany::getName, MaintenanceCompany::getSequenceNbr);
wrapper.eq(MaintenanceCompany::getType, COMPANY);
wrapper.eq(MaintenanceCompany::getIsDelete, false);
return maintenanceCompanyMapper.selectMaps(wrapper);
......
......@@ -125,7 +125,6 @@ public class AlertSubmittedController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/reporting/list", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "根据警情id查询警情报送列表", notes = "根据警情id查询警情报送列表")
public ResponseModel<SchedulingReportingDto> listReportingByParam(@RequestBody AlertSubmittedDto queryParam) {
queryParam.setSubmissionMethodCode(SubmissionMethodEnum.SMS.getCode());
return ResponseHelper.buildResponse(alertSubmittedService.listReportingByParam(queryParam));
......
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
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.feign.EquipFeignClient;
import com.yeejoin.amos.boot.module.jcs.api.dto.*;
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.PowerCompanyCountDto;
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.PowerTransferDto;
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.entity.AlertCalled;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompany;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompanyResources;
import com.yeejoin.amos.boot.module.jcs.api.entity.Template;
import com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireCarStatusEnum;
import com.yeejoin.amos.boot.module.jcs.api.mapper.PowerTransferMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IPowerTransferService;
import com.yeejoin.amos.component.rule.config.RuleConfig;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -21,25 +38,17 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.exception.BaseException;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Lists;
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.jcs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompany;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompanyResources;
import com.yeejoin.amos.boot.module.jcs.api.entity.Template;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireCarStatusEnum;
import com.yeejoin.amos.boot.module.jcs.api.mapper.PowerTransferMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IPowerTransferService;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 力量调派 服务实现类
......@@ -75,6 +84,9 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
PowerTransferMapper powerTransferMapper;
@Autowired
EquipFeignClient equipFeignClient;
@Autowired
private EmqKeeper emqKeeper;
@Value("${mqtt.topic.command.power.deployment}")
......@@ -148,7 +160,7 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
|| FireCarStatusEnum.出动.getCode().equals(car.get("carState"))).forEach(car -> {
FireBrigadeResourceDto fireCarDto = (FireBrigadeResourceDto) Bean.mapToBean(car,
FireBrigadeResourceDto.class);
// TODO 后期根据车物联状态来返回,现在为"在位=执勤","执勤=出动"
// TODO 后期根据车物联状态来返回,现在为"(装备)在位=执勤","(装备)执勤=出动"
if (FireCarStatusEnum.执勤.getCode().equals(fireCarDto.getCarState())) {
fireCarDto.setCarStateDesc(FireCarStatusEnum.执勤.getName());
} else {
......@@ -352,4 +364,53 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
}
return list;
}
@Override
public IPage<PowerTransferResourceDto> getPowerTransferPageByParam(Long alertCalledId, String type, Page<PowerTransferResourceDto> page) {
if (ValidationUtil.isEmpty(alertCalledId)) {
throw new BaseException("警情id为空", "", "警情id为空");
}
IPage<PowerTransferResourceDto> resultPage = null;
switch (type) {
case "company":
resultPage = powerTransferMapper.getPowerTransferTeamResource(page, alertCalledId);
break;
case "car":
resultPage = getPowerTransferCarResource(page, alertCalledId);
break;
case "person":
// TODO 暂时没有调度人员
resultPage = new Page<>();
break;
default:
break;
}
return resultPage;
}
private IPage<PowerTransferResourceDto> getPowerTransferCarResource(Page<PowerTransferResourceDto> page, Long alertCalledId) {
ResponseModel<Object> result = equipFeignClient.getFireCarListAll();
Map<String, List<Map<String, Object>>> carInfoMap = Maps.newConcurrentMap();
if (!ValidationUtil.isEmpty(result)) {
List<Map<String, Object>> fireCarListMapList = (List<Map<String, Object>>) result.getResult();
if (!ValidationUtil.isEmpty(fireCarListMapList)) {
carInfoMap =
fireCarListMapList.stream().collect(Collectors.groupingBy(car -> car.get("id").toString()));
}
}
IPage<PowerTransferResourceDto> carResourcePage = powerTransferMapper.getPowerTransferCarResource(page, alertCalledId);
Map<String, List<Map<String, Object>>> finalCarInfoMap = carInfoMap;
carResourcePage.getRecords().forEach(car -> {
String seq = car.getSequenceNbr().toString();
car.setName((String) finalCarInfoMap.get(seq).get(0).get("name"));
String carStateCode = (String) finalCarInfoMap.get(seq).get(0).get("carState");
FireCarStatusEnum.getEnum(carStateCode);
car.setCarState(!ValidationUtil.isEmpty(FireCarStatusEnum.getEnum(carStateCode)) ?
FireCarStatusEnum.getEnum(carStateCode).getName() : "");
List<String> images = (List<String>) finalCarInfoMap.get(seq).get(0).get("image");
car.setImg(!ValidationUtil.isEmpty(images) ? images.get(0) : "");
});
return carResourcePage;
}
}
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.tzs.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
import com.baomidou.mybatisplus.core.toolkit.SystemClock;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -10,18 +11,24 @@ 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.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.biz.service.impl.MaintenanceCompanyServiceImpl;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlarmStatisticsDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCallInfoDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledObjsDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledQueryDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DutyPersonDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledRequestDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.MaintenanceUnitDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertCalledServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertFormValueServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.DispatchPaperServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.ESAlertCalledService;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.ElevatorServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.utils.AlertBeanDtoVoUtils;
import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
......@@ -34,6 +41,7 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
......@@ -45,6 +53,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
......@@ -63,14 +72,25 @@ public class AlertCalledController extends BaseController {
@Autowired
RedisUtils redisUtils;
@Autowired
AlertCalledServiceImpl iAlertCalledService;
@Autowired
private ESAlertCalledService eSAlertCalledService;
ESAlertCalledService eSAlertCalledService;
@Autowired
DispatchPaperServiceImpl dispatchPaperServiceImpl;
@Autowired
AlertFormValueServiceImpl iAlertFormValueService;
@Autowired
ElevatorServiceImpl elevatorServiceImpl;
@Autowired
MaintenanceCompanyServiceImpl maintenanceCompanyService;
/**
* 新增警情接警填报记录
*
......@@ -89,7 +109,6 @@ public class AlertCalledController extends BaseController {
return ResponseHelper.buildResponse(alertCalledObjsDto.getAlertCalledDto());
}
/**
*
* <pre>
......@@ -114,8 +133,6 @@ public class AlertCalledController extends BaseController {
return ResponseHelper.buildResponse(esAlertCalledDtoPage);
}
/**
* 根据id查询
*
......@@ -147,7 +164,6 @@ public class AlertCalledController extends BaseController {
return ResponseHelper.buildResponse(alertCallInfoDto);
}
/**
* 获取下一个 工单编号
*
......@@ -271,9 +287,6 @@ public class AlertCalledController extends BaseController {
return queryWrapper;
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "查询警情事件记录", notes = "查询警情事件记录")
@PostMapping("/selectRecord")
......@@ -296,7 +309,6 @@ public class AlertCalledController extends BaseController {
AlertCalledQueryDto.class, null, false);
}
/**
* 冻结工单-维修
* @return
......
......@@ -22,6 +22,10 @@
<artifactId>amos-boot-module-command-biz</artifactId>
<version>${amos-biz-boot.version}</version>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
</dependencies>
<build>
......
......@@ -308,16 +308,16 @@
<name>maven-public</name>
<url>http://172.16.1.6:8081/nexus/content/repositories/maven-public/</url>
</repository>
<repository>
<id>maven-public1</id>
<name>maven-public</name>
<url>http://repo.typroject.org:8081/repository/maven-public/</url>
</repository>
<repository>
<id>maven-snapshot</id>
<name>maven-snapshot</name>
<url>http://repo.typroject.org:8081/repository/maven-snapshots/</url>
</repository>
<!-- <repository>-->
<!-- <id>maven-public1</id>-->
<!-- <name>maven-public</name>-->
<!-- <url>http://repo.typroject.org:8081/repository/maven-public/</url>-->
<!-- </repository>-->
<!-- <repository>-->
<!-- <id>maven-snapshot</id>-->
<!-- <name>maven-snapshot</name>-->
<!-- <url>http://repo.typroject.org:8081/repository/maven-snapshots/</url>-->
<!-- </repository>-->
</repositories>
<modules>
......
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