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; ...@@ -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.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo;
import java.util.List;
/** /**
* 力量调派 Mapper 接口 * 力量调派 Mapper 接口
* *
* @author tb * @author tb
* @date 2021-06-17 * @date 2021-06-17
*/ */
public interface PowerTransferMapper extends BaseMapper<PowerTransfer> { public interface PowerTransferMapper extends BaseMapper<PowerTransfer> {
List<PowerTransferVo> getPowerTransferList(Long alertCalledId);
} }
...@@ -3,19 +3,19 @@ package com.yeejoin.amos.boot.module.jcs.api.service; ...@@ -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.dto.PowerTransferDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer; import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import com.baomidou.mybatisplus.extension.service.IService; 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; import java.util.List;
/** /**
* 力量调派 服务类 * 力量调派 服务类
* *
* @author tb * @author tb
* @date 2021-06-17 * @date 2021-06-17
*/ */
public interface IPowerTransferService extends IService<PowerTransfer> { public interface IPowerTransferService extends IService<PowerTransfer> {
List<PowerTransferListVo> getPowerTransferList(Long alertCalledId); List<PowerTransferVo> getPowerTransferList(Long alertCalledId);
boolean createPowerTransfer(PowerTransferDto powerTransferDto); 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; ...@@ -5,58 +5,28 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
/** /**
* 力量调派 * 力量调派
* *
* @author tb * @author tb
* @date 2021-06-17 * @date 2021-06-17
*/ */
@Data @Data
@Accessors(chain = true) @Accessors(chain = true)
@TableName("jc_power_transfer") @TableName("jc_power_transfer")
@ApiModel(value="PowerTransferVo", description="力量调派") @ApiModel(value = "PowerTransferVo", description = "力量调派")
public class PowerTransferVo{ public class PowerTransferVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = " 单位名称")
private String companyName;
@ApiModelProperty(value = "警情id") @ApiModelProperty(value = "资源类型")
private Long alertCalledId; private String type;
@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 = "操作人名称") @ApiModelProperty(value = "资源编号(如车牌号)")
private String recUserName; 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"?> <?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"> <!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"> <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> </mapper>
...@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.jcs.biz.controller; ...@@ -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.biz.common.utils.CommonResponseUtil;
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.vo.PowerTransferListVo; import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -150,7 +150,7 @@ public class PowerTransferController extends BaseController { ...@@ -150,7 +150,7 @@ public class PowerTransferController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "根据警情id获取力量调派列表", notes = "根据警情id获取力量调派列表") @ApiOperation(httpMethod = "GET", value = "根据警情id获取力量调派列表", notes = "根据警情id获取力量调派列表")
public ResponseModel<Object> list(@PathVariable String alert_called_id) { public ResponseModel<Object> list(@PathVariable String alert_called_id) {
List<PowerTransferListVo> powerTransferList = List<PowerTransferVo> powerTransferList =
iPowerTransferService.getPowerTransferList(Long.parseLong(alert_called_id)); iPowerTransferService.getPowerTransferList(Long.parseLong(alert_called_id));
return CommonResponseUtil.success(powerTransferList); return CommonResponseUtil.success(powerTransferList);
......
...@@ -5,17 +5,17 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.PowerTransferCompanyDto; ...@@ -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.PowerTransferCompanyResourcesDto;
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.entity.*; 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.mapper.PowerTransferMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.*; import com.yeejoin.amos.boot.module.jcs.api.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*; import java.util.*;
/** /**
...@@ -27,8 +27,8 @@ import java.util.*; ...@@ -27,8 +27,8 @@ import java.util.*;
@Service @Service
public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, PowerTransfer> implements IPowerTransferService { public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, PowerTransfer> implements IPowerTransferService {
@Autowired @Resource
PowerTransferListMapper powerTransferListMapper; PowerTransferMapper powerTransferMapper;
@Autowired @Autowired
IAlertCalledService iAlertCalledService; IAlertCalledService iAlertCalledService;
...@@ -45,8 +45,8 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P ...@@ -45,8 +45,8 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P
@Autowired @Autowired
IAlertFormValueService iAlertFormValueService; IAlertFormValueService iAlertFormValueService;
public List<PowerTransferListVo> getPowerTransferList(Long alertCalledId) { public List<PowerTransferVo> getPowerTransferList(Long alertCalledId) {
return powerTransferListMapper.getPowerTransferList(alertCalledId); return powerTransferMapper.getPowerTransferList(alertCalledId);
} }
@Override @Override
...@@ -59,51 +59,68 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P ...@@ -59,51 +59,68 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P
// 获取警情详情 // 获取警情详情
AlertCalled alertCalled = iAlertCalledService.getById(alertCalledId); 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 powerTransfer = new PowerTransfer();
powerTransfer.setAlertCalledId(alertCalledId); BeanUtils.copyProperties(powerTransferDto, powerTransfer);
BeanUtils.copyProperties(alertCalled, powerTransfer);
powerTransfer.setDispatchNum(dispatch_num); powerTransfer.setDispatchNum(dispatch_num);
powerTransfer.setDispatchType(powerTransferDto.getDispatchType()); powerTransfer.setSequenceNbr(null);
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);
save(powerTransfer); save(powerTransfer);
Long powerTransferSequenceNbr = powerTransfer.getSequenceNbr(); 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")); Template template = iTemplateService.getOne(new QueryWrapper<Template>().eq("type", "ptransfer"));
String content = template.getContent(); String content = template.getContent();
Map<String, String> definitions = new HashMap<>(); Map<String, String> definitions = new HashMap<>();
definitions.put("rescueGrid", rescueGrid); initDefinitions(definitions, alertCalled, powerTransferDto);
definitions.put("alertType", alertType);
definitions.put("address", address); // 创建力量调派单位
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("trappedNum", alertCalled.getTrappedNum().toString());
definitions.put("casualtiesNum", alertCalled.getCasualtiesNum().toString()); definitions.put("casualtiesNum", alertCalled.getCasualtiesNum().toString());
definitions.put("companyName", powerTransferDto.getCompanyName()); definitions.put("companyName", powerTransferDto.getCompanyName());
for (AlertFormValue formValue : alertFormValue) { 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) { for (PowerTransferCompanyDto powerTransferCompanyDto : powerTransferCompanyDotList) {
powerTransferCompany = new PowerTransferCompany(); powerTransferCompany = new PowerTransferCompany();
BeanUtils.copyProperties(powerTransferCompanyDto, powerTransferCompany); BeanUtils.copyProperties(powerTransferCompanyDto, powerTransferCompany);
...@@ -134,25 +151,5 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P ...@@ -134,25 +151,5 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P
iPowerTransferCompanyResourcesService.saveBatch(powerTransferCompanyResourcesList); 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