Commit 9679e4ca authored by 付培阳's avatar 付培阳

力量出动接口

parent b1c76b4b
......@@ -35,4 +35,7 @@ public class PowerTransferCompanyResourcesDto extends BaseDto {
@ApiModelProperty(value = "操作人名称")
private String recUserName;
@ApiModelProperty(value = "调派关联部门id")
protected Long powerTransferCompanyId;
}
......@@ -3,10 +3,12 @@ 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.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.entity.PowerTransfer;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 力量调派 Mapper 接口
......@@ -26,4 +28,35 @@ public interface PowerTransferMapper extends BaseMapper<PowerTransfer> {
* @return
*/
List<String> queryTransferCarIdsByAlertCalledId(@Param("alertCalledId") Long alertCalledId);
/**
* 根据起止时间获取力量调派信息
*
* @param beginDate
* @param endDate
* @return
*/
List<PowerTransferDto> getPowerTransferInfo(@Param("beginDate") String beginDate, @Param("endDate") String endDate);
/**
* 根据起止时间获取力量调派单位信息
*
* @param beginDate
* @param endDate
* @return
*/
List<PowerTransferCompanyDto> getPowerTransferCompanyInfo(@Param("beginDate") String beginDate,
@Param("endDate") String endDate);
/**
*
* @param beginDate
* @param endDate
* @return
*/
List<PowerTransferCompanyResourcesDto> getPowerTransferCompanyResourcesInfo(@Param("beginDate") String beginDate,
@Param("endDate") String endDate);
Map<String, Object> getPowerTransferInfoCount(@Param("beginDate") String beginDate,
@Param("endDate") String endDate);
}
......@@ -36,13 +36,44 @@
having rec_date = (select rec_date from jc_power_transfer_company_resources order by rec_date desc limit 1)
</select>
<select id="queryTransferCarIdsByAlertCalledId" resultType="java.lang.String">
SELECT
ptcr.resources_id carId
FROM
`jc_power_transfer` pt
LEFT JOIN jc_power_transfer_company ptc ON ptc.power_transfer_id = pt.sequence_nbr
LEFT JOIN jc_power_transfer_company_resources ptcr ON ptcr.power_transfer_company_id = ptc.sequence_nbr
WHERE
pt.alert_called_id = #{alertCalledId}
SELECT ptcr.resources_id carId
FROM `jc_power_transfer` pt
LEFT JOIN jc_power_transfer_company ptc ON ptc.power_transfer_id = pt.sequence_nbr
LEFT JOIN jc_power_transfer_company_resources ptcr ON ptcr.power_transfer_company_id = ptc.sequence_nbr
WHERE pt.alert_called_id = #{alertCalledId}
</select>
<select id="getPowerTransferInfoCount" resultType="java.util.Map">
select count(distinct pt.sequence_nbr) transfer_count, count(distinct resources_id) car_count, 0 end_count, 0 no_return_car_count
from jc_power_transfer pt
left join jc_power_transfer_company ptc on pt.sequence_nbr = ptc.power_transfer_id
left join jc_power_transfer_company_resources ptcr on ptc.sequence_nbr = ptcr.power_transfer_company_id
where pt.rec_date BETWEEN #{beginDate} AND #{endDate}
order by pt.rec_date asc
</select>
<select id="getPowerTransferInfo" resultType="com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto">
select sequence_nbr, rescue_grid
from jc_power_transfer pt
where pt.rec_date BETWEEN #{beginDate} AND #{endDate}
order by pt.rec_date asc
</select>
<select id="getPowerTransferCompanyInfo"
resultType="com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyDto">
select ptc.sequence_nbr, ptc.company_name, ptc.is_distribution_agencies, ptc.power_transfer_id
from jc_power_transfer pt
left join jc_power_transfer_company ptc on pt.sequence_nbr = ptc.power_transfer_id
where pt.rec_date BETWEEN #{beginDate} AND #{endDate}
order by pt.rec_date asc
</select>
<select id="getPowerTransferCompanyResourcesInfo"
resultType="com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyResourcesDto">
select ptcr.power_transfer_company_id, ptcr.type, ptcr.resources_num, ptcr.resources_id
from jc_power_transfer pt
left join jc_power_transfer_company ptc on pt.sequence_nbr = ptc.power_transfer_id
left join jc_power_transfer_company_resources ptcr on ptc.sequence_nbr = ptcr.power_transfer_company_id
where pt.rec_date BETWEEN #{beginDate} AND #{endDate}
and ptc.is_distribution_agencies = 0
order by pt.rec_date asc
</select>
</mapper>
......@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
......@@ -274,8 +275,48 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
}
public Map<String, Object> getPowerTransferList(String beginDate, String endDate) {
// 获取力量调派信息
List<PowerTransferDto> powerTransferInfo = this.baseMapper.getPowerTransferInfo(beginDate, endDate);
List<PowerTransferCompanyDto> powerTransferCompanyInfo =
this.baseMapper.getPowerTransferCompanyInfo(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();
List<String> transferContent = new ArrayList<>();
powerTransferInfo.forEach(pt -> {
StringBuilder transferDetail = new StringBuilder();
Long powerTransferId = pt.getSequenceNbr();
String rescueGrid = pt.getRescueGrid();
powerTransferCompanyInfo.forEach(ptc -> {
if (powerTransferId.equals(ptc.getPowerTransferId())) {
transferDetail.append(ptc.getCompanyName());
if (!ptc.getIsDistributionAgencies()) {
Long powerTransferCompanyId = ptc.getSequenceNbr();
transferDetail.append("车辆车牌号");
powerTransferCompanyResourcesInfo.forEach(ptcr -> {
if (powerTransferCompanyId.equals(ptcr.getPowerTransferCompanyId())) {
transferDetail.append(ptcr.getResourcesNum()).append("、");
}
});
transferDetail.deleteCharAt(transferDetail.length() - 1);
}
transferDetail.append(";");
}
});
transferDetail.deleteCharAt(transferDetail.length() - 1);
String transferDetails = templateContent.replace("departmentName-type-resourcesNum",
transferDetail.toString()).replace("rescueGrid", rescueGrid == null ? "" : rescueGrid).replace(
"taskStatus", "");
transferContent.add(transferDetails);
});
transferInfo.put("transferContent", transferContent);
return null;
return transferInfo;
}
}
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