Commit d1569044 authored by 付培阳's avatar 付培阳

修改优化力量调派列表查询接口和任务派发接口

parent 316b2127
package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferListVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @title: PowerTransferListMapper
* @Author fpy
* @Date: 2021/6/18 13:48
* @Version 1.0
*/
@Mapper
public interface PowerTransferListMapper extends BaseMapper<PowerTransferListVo> {
List<PowerTransferListVo> getPowerTransferList(Long alertCalledId);
}
\ No newline at end of file
......@@ -2,13 +2,16 @@ package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo;
import java.util.List;
/**
* 力量调派 Mapper 接口
*
* @author tb
* @date 2021-06-17
*/
* 力量调派 Mapper 接口
*
* @author tb
* @date 2021-06-17
*/
public interface PowerTransferMapper extends BaseMapper<PowerTransfer> {
List<PowerTransferVo> getPowerTransferList(Long alertCalledId);
}
......@@ -3,19 +3,19 @@ package com.yeejoin.amos.boot.module.jcs.api.service;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferListVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo;
import java.util.List;
/**
* 力量调派 服务类
*
* @author tb
* @date 2021-06-17
*/
* 力量调派 服务类
*
* @author tb
* @date 2021-06-17
*/
public interface IPowerTransferService extends IService<PowerTransfer> {
List<PowerTransferListVo> getPowerTransferList(Long alertCalledId);
List<PowerTransferVo> getPowerTransferList(Long alertCalledId);
boolean createPowerTransfer(PowerTransferDto powerTransferDto);
}
package com.yeejoin.amos.boot.module.jcs.api.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @title: PowerTransferListVo
* @Author fpy
* @Date: 2021/6/18 12:01
* @Version 1.0
*/
@Data
@EqualsAndHashCode()
@Accessors(chain = true)
@ApiModel(value="PowerTransfer对象", description="力量调派")
public class PowerTransferListVo {
@ApiModelProperty(value = " 单位名称")
private String companyName;
@ApiModelProperty(value = "资源类型")
private String type;
@ApiModelProperty(value = "资源编号(如车牌号)")
private String resourcesNum;
}
\ No newline at end of file
......@@ -5,58 +5,28 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 力量调派
*
* @author tb
* @date 2021-06-17
*/
* 力量调派
*
* @author tb
* @date 2021-06-17
*/
@Data
@Accessors(chain = true)
@TableName("jc_power_transfer")
@ApiModel(value="PowerTransferVo", description="力量调派")
public class PowerTransferVo{
@ApiModel(value = "PowerTransferVo", description = "力量调派")
public class PowerTransferVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = " 单位名称")
private String companyName;
@ApiModelProperty(value = "警情id")
private Long alertCalledId;
@ApiModelProperty(value = "调派单号")
private String dispatchNum;
@ApiModelProperty(value = "调派类型")
private String dispatchType;
@ApiModelProperty(value = "发送者")
private String taskSenderName;
@ApiModelProperty(value = "发送者id")
private Long taskSenderId;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "坐标x")
private String coordinateX;
@ApiModelProperty(value = "坐标y")
private String coordinateY;
@ApiModelProperty(value = "救援方格")
private String rescueGrid;
@ApiModelProperty(value = "车地址")
private String carAddress;
@ApiModelProperty(value = "车坐标x")
private String carCoordinateX;
@ApiModelProperty(value = "车坐标y")
private String carCoordinateY;
@ApiModelProperty(value = "资源类型")
private String type;
@ApiModelProperty(value = "操作人名称")
private String recUserName;
@ApiModelProperty(value = "资源编号(如车牌号)")
private String resourcesNum;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jcs.api.mapper.PowerTransferListMapper">
<select id="getPowerTransferList" resultType="com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferListVo">
select company_name,type,resources_num
from (
select ptc.company_name, ptcr.type, ptcr.resources_num, ptcr.rec_date
from jc_power_transfer_company ptc
left join jc_power_transfer pt on ptc.power_transfer_id = pt.sequence_nbr
right join jc_power_transfer_company_resources ptcr
on ptcr.power_transfer_company_id = ptc.sequence_nbr
where pt.alert_called_id = #{alertCalledId}
and ptc.is_distribution_agencies = 0
union all
select ptc.company_name, "" type, "" resources_num, ptc.rec_date
from jc_power_transfer_company ptc
left join jc_power_transfer pt on ptc.power_transfer_id = pt.sequence_nbr
where pt.alert_called_id = #{alertCalledId}
and ptc.is_distribution_agencies = 1
) jcpt
order by rec_date desc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jcs.api.mapper.PowerTransferMapper">
<select id="getPowerTransferList" resultType="com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo">
select company_name, type, resources_num
from (
select ptc.company_name, ptcr.type, ptcr.resources_num, ptcr.rec_date
from jc_power_transfer_company ptc
left join jc_power_transfer pt on ptc.power_transfer_id = pt.sequence_nbr
right join jc_power_transfer_company_resources ptcr
on ptcr.power_transfer_company_id = ptc.sequence_nbr
where pt.alert_called_id = #{alertCalledId}
and ptc.is_distribution_agencies = 0
union all
select ptc.company_name, "" type, "" resources_num, ptc.rec_date
from jc_power_transfer_company ptc
left join jc_power_transfer pt on ptc.power_transfer_id = pt.sequence_nbr
where pt.alert_called_id = #{alertCalledId}
and ptc.is_distribution_agencies = 1
) jcpt
order by rec_date desc
</select>
</mapper>
......@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.yeejoin.amos.boot.biz.common.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferDto;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferListVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
......@@ -150,7 +150,7 @@ public class PowerTransferController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "根据警情id获取力量调派列表", notes = "根据警情id获取力量调派列表")
public ResponseModel<Object> list(@PathVariable String alert_called_id) {
List<PowerTransferListVo> powerTransferList =
List<PowerTransferVo> powerTransferList =
iPowerTransferService.getPowerTransferList(Long.parseLong(alert_called_id));
return CommonResponseUtil.success(powerTransferList);
......
......@@ -5,17 +5,17 @@ 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.*;
import com.yeejoin.amos.boot.module.jcs.api.mapper.PowerTransferListMapper;
import com.yeejoin.amos.boot.module.jcs.api.mapper.PowerTransferMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferListVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
/**
......@@ -27,8 +27,8 @@ import java.util.*;
@Service
public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, PowerTransfer> implements IPowerTransferService {
@Autowired
PowerTransferListMapper powerTransferListMapper;
@Resource
PowerTransferMapper powerTransferMapper;
@Autowired
IAlertCalledService iAlertCalledService;
......@@ -45,8 +45,8 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P
@Autowired
IAlertFormValueService iAlertFormValueService;
public List<PowerTransferListVo> getPowerTransferList(Long alertCalledId) {
return powerTransferListMapper.getPowerTransferList(alertCalledId);
public List<PowerTransferVo> getPowerTransferList(Long alertCalledId) {
return powerTransferMapper.getPowerTransferList(alertCalledId);
}
@Override
......@@ -59,51 +59,68 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P
// 获取警情详情
AlertCalled alertCalled = iAlertCalledService.getById(alertCalledId);
String rescueGrid = StringUtils.isEmpty(alertCalled.getRescueGrid()) ? "" : alertCalled.getRescueGrid();
String alertType = StringUtils.isEmpty(alertCalled.getAlertType()) ? "" : alertCalled.getAlertType();
String address = StringUtils.isEmpty(alertCalled.getAddress()) ? "" : alertCalled.getAddress();
String coordinateX = alertCalled.getCoordinateX();
String coordinateY = alertCalled.getCoordinateY();
// 创建力量调派
PowerTransfer powerTransfer = new PowerTransfer();
powerTransfer.setAlertCalledId(alertCalledId);
BeanUtils.copyProperties(powerTransferDto, powerTransfer);
BeanUtils.copyProperties(alertCalled, powerTransfer);
powerTransfer.setDispatchNum(dispatch_num);
powerTransfer.setDispatchType(powerTransferDto.getDispatchType());
powerTransfer.setTaskSenderName(powerTransferDto.getTaskSenderName());
powerTransfer.setTaskSenderId(powerTransferDto.getTaskSenderId());
powerTransfer.setAddress(address);
powerTransfer.setCoordinateX(coordinateX);
powerTransfer.setCoordinateY(coordinateY);
powerTransfer.setRescueGrid(rescueGrid);
powerTransfer.setCarAddress(address);
powerTransfer.setCarCoordinateX(coordinateX);
powerTransfer.setCarCoordinateY(coordinateY);
powerTransfer.setSequenceNbr(null);
save(powerTransfer);
Long powerTransferSequenceNbr = powerTransfer.getSequenceNbr();
// 创建力量调派单位
List<PowerTransferCompanyDto> powerTransferCompanyDotList = powerTransferDto.getPowerTransferCompanyDotList();
PowerTransferCompany powerTransferCompany;
List<AlertFormValue> alertFormValue = iAlertFormValueService.list(new QueryWrapper<AlertFormValue>().eq(
"alert_called_id", alertCalledId));
// 获取任务派发模板
Template template = iTemplateService.getOne(new QueryWrapper<Template>().eq("type", "ptransfer"));
String content = template.getContent();
Map<String, String> definitions = new HashMap<>();
definitions.put("rescueGrid", rescueGrid);
definitions.put("alertType", alertType);
definitions.put("address", address);
initDefinitions(definitions, alertCalled, powerTransferDto);
// 创建力量调派单位
createPowerTransferCompany(powerTransferDto, powerTransferSequenceNbr, definitions, content);
return true;
}
private List<PowerTransferCompanyResources> DtoEntityBatchConvert(List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesDtoList, Long powerTransferCompanySequenceNbr) {
ArrayList<PowerTransferCompanyResources> powerTransferCompanyResourcesList = new ArrayList<>();
PowerTransferCompanyResources powerTransferCompanyResources;
for (PowerTransferCompanyResourcesDto powerTransferCompanyResourcesDto : powerTransferCompanyResourcesDtoList) {
powerTransferCompanyResources = new PowerTransferCompanyResources();
BeanUtils.copyProperties(powerTransferCompanyResourcesDto, powerTransferCompanyResources);
powerTransferCompanyResources.setPowerTransferCompanyId(powerTransferCompanySequenceNbr);
powerTransferCompanyResourcesList.add(powerTransferCompanyResources);
}
return powerTransferCompanyResourcesList;
}
private void initDefinitions(Map<String, String> definitions,
AlertCalled alertCalled, PowerTransferDto powerTransferDto) {
List<AlertFormValue> alertFormValue = iAlertFormValueService.list(new QueryWrapper<AlertFormValue>().eq(
"alert_called_id", alertCalled.getSequenceNbr()));
definitions.put("rescueGrid", alertCalled.getRescueGrid());
definitions.put("alertType", alertCalled.getAlertType());
definitions.put("address", alertCalled.getAddress());
definitions.put("trappedNum", alertCalled.getTrappedNum().toString());
definitions.put("casualtiesNum", alertCalled.getCasualtiesNum().toString());
definitions.put("companyName", powerTransferDto.getCompanyName());
for (AlertFormValue formValue : alertFormValue) {
content = StringUtils.replaceOnce(content, formValue.getFieldCode(), formValue.getFieldValue());
definitions.put(formValue.getFieldCode(), formValue.getFieldValue());
}
}
private String getTaskInformation(String content, Map<String, String> definitions) {
int size = definitions.size();
String[] keys = definitions.keySet().toArray(new String[size]);
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) {
List<PowerTransferCompanyDto> powerTransferCompanyDotList = powerTransferDto.getPowerTransferCompanyDotList();
PowerTransferCompany powerTransferCompany;
for (PowerTransferCompanyDto powerTransferCompanyDto : powerTransferCompanyDotList) {
powerTransferCompany = new PowerTransferCompany();
BeanUtils.copyProperties(powerTransferCompanyDto, powerTransferCompany);
......@@ -134,25 +151,5 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P
iPowerTransferCompanyResourcesService.saveBatch(powerTransferCompanyResourcesList);
}
}
return true;
}
private List<PowerTransferCompanyResources> DtoEntityBatchConvert(List<PowerTransferCompanyResourcesDto> powerTransferCompanyResourcesDtoList, Long powerTransferCompanySequenceNbr) {
ArrayList<PowerTransferCompanyResources> powerTransferCompanyResourcesList = new ArrayList<>();
PowerTransferCompanyResources powerTransferCompanyResources;
for (PowerTransferCompanyResourcesDto powerTransferCompanyResourcesDto : powerTransferCompanyResourcesDtoList) {
powerTransferCompanyResources = new PowerTransferCompanyResources();
BeanUtils.copyProperties(powerTransferCompanyResourcesDto, powerTransferCompanyResources);
powerTransferCompanyResources.setPowerTransferCompanyId(powerTransferCompanySequenceNbr);
powerTransferCompanyResourcesList.add(powerTransferCompanyResources);
}
return powerTransferCompanyResourcesList;
}
private String getTaskInformation(String taskInformation, Map<String, String> definitions) {
int size = definitions.size();
String[] keys = definitions.keySet().toArray(new String[size]);
String[] values = definitions.values().toArray(new String[size]);
return StringUtils.replaceEach(taskInformation, keys, values);
}
}
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