Commit 45e70369 authored by 付培阳's avatar 付培阳

获取警情续报模板

parent 5e33acae
......@@ -12,20 +12,23 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
/**
* 模板表
*
* @author tb
* @date 2021-06-17
*/
* 模板表
*
* @author tb
* @date 2021-06-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("jc_template")
@ApiModel(value="TemplateDto", description="模板表")
@ApiModel(value = "TemplateDto", description = "模板表")
public class TemplateDto extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "模板类型code")
private String typeCode;
@ApiModelProperty(value = "模板类型")
private String type;
......
......@@ -25,12 +25,14 @@ import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@ApiModel(value="Template对象", description="模板表")
public class Template extends BaseEntity {
@ApiModelProperty(value = "模板类型")
private String type;
@ApiModelProperty(value = "模板类型code")
private String typeCode;
@ApiModelProperty(value = "模板类型")
private String type;
@ApiModelProperty(value = "模板内容")
private String content;
......
......@@ -2,6 +2,7 @@ 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.PowerTransferCompanyResourcesVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo;
import java.util.List;
......@@ -13,5 +14,5 @@ import java.util.List;
* @date 2021-06-17
*/
public interface PowerTransferMapper extends BaseMapper<PowerTransfer> {
List<PowerTransferVo> getPowerTransferList(Long alertCalledId);
List<PowerTransferCompanyResourcesVo> getPowerTransferList(Long alertCalledId);
}
......@@ -3,6 +3,8 @@ 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.entity.PowerTransferCompanyResources;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferCompanyResourcesVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo;
import java.util.List;
......@@ -15,7 +17,7 @@ import java.util.List;
*/
public interface IPowerTransferService extends IService<PowerTransfer> {
List<PowerTransferVo> getPowerTransferList(Long alertCalledId);
PowerTransferVo getPowerTransferList(Long alertCalledId);
boolean createPowerTransfer(PowerTransferDto powerTransferDto);
}
package com.yeejoin.amos.boot.module.jcs.api.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -13,23 +15,26 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
/**
* 消防队伍
*
* @author tb
* @date 2021-06-07
*/
* 消防队伍
*
* @author tb
* @date 2021-06-07
*/
@Data
@ApiModel(value="FireTeamVo", description="消防队伍")
public class FireTeamVo{
@ApiModel(value = "FireTeamVo", description = "消防队伍")
public class FireTeamVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "消防队伍图片")
private String img;
@ApiModelProperty(value = "单位名称")
@ApiModelProperty(value = "队伍名称")
private String name;
@ApiModelProperty(value = "队伍类型")
private String type;
@ApiModelProperty(value = "联系人")
private String contactUser;
@ApiModelProperty(value = "联系电话")
......@@ -39,9 +44,13 @@ public class FireTeamVo{
@ApiModelProperty(value = "队伍id")
private Long sequenceNbr;
@ApiModelProperty(value = "队伍车数量")
private Double carNum=0D;
private Double carNum = 0D;
@ApiModelProperty(value = "队伍装备数量")
private Double eqNum=0D;
private Double eqNum = 0D;
@ApiModelProperty(value = "出动数量")
private Integer dispatchNum;
@ApiModelProperty(value = "执勤数量")
private Integer onDutyNum;
}
......@@ -5,20 +5,26 @@ 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_company_resources")
@ApiModel(value="PowerTransferCompanyResourcesVo", description="调派单位资源")
public class PowerTransferCompanyResourcesVo{
@ApiModel(value = "PowerTransferCompanyResourcesVo", description = "调派单位资源")
public class PowerTransferCompanyResourcesVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "编号")
private Long sequenceNbr;
@ApiModelProperty(value = "所属队伍")
private String companyName;
@ApiModelProperty(value = "资源类型")
private String type;
......
......@@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 力量调派
*
......@@ -20,13 +22,16 @@ public class PowerTransferVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = " 单位名称")
private String companyName;
@ApiModelProperty(value = "调派资源数量")
private Integer resourcesCount;
@ApiModelProperty(value = "到达资源数量")
private Integer arriveCount;
@ApiModelProperty(value = "资源类型")
private String type;
@ApiModelProperty(value = "撤离资源数量")
private Integer evacuateCount;
@ApiModelProperty(value = "资源编号(如车牌号)")
private String resourcesNum;
@ApiModelProperty(value = "调派资源列表")
private List<PowerTransferCompanyResourcesVo> resourcesList;
}
package com.yeejoin.amos.boot.module.jcs.api.vo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.util.Map;
/**
* 模板表
*
* @author tb
* @date 2021-06-17
*/
* 模板表
*
* @author tb
* @date 2021-06-17
*/
@Data
@Accessors(chain = true)
@TableName("jc_template")
@ApiModel(value="TemplateVo", description="模板表")
public class TemplateVo{
@ApiModel(value = "TemplateVo", description = "模板表")
public class TemplateVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "模板类型code")
private String typeCode;
@ApiModelProperty(value = "模板类型")
private String type;
......@@ -36,7 +34,7 @@ public class TemplateVo{
@ApiModelProperty(value = "格式(0--json 1: 富文本)")
private Boolean format;
@ApiModelProperty(value = "操作人名称")
private String recUserName;
@ApiModelProperty(value = "模板填充数据")
private Map data;
}
<?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
<select id="getPowerTransferList"
resultType="com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferCompanyResourcesVo">
select sequence_nbr,company_name, type, resources_num
from (
select ptc.company_name, ptcr.type, ptcr.resources_num, ptcr.rec_date
select ptcr.sequence_nbr, 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
......@@ -12,7 +13,7 @@
where pt.alert_called_id = #{alertCalledId}
and ptc.is_distribution_agencies = 0
union all
select ptc.company_name, "" type, "" resources_num, ptc.rec_date
select ptc.sequence_nbr, 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}
......
......@@ -7,12 +7,18 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertSubmittedDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertSubmitted;
import com.yeejoin.amos.boot.module.jcs.api.entity.*;
import com.yeejoin.amos.boot.module.jcs.api.enums.SubmissionMethodEnum;
import com.yeejoin.amos.boot.module.jcs.api.service.IAlertCalledService;
import com.yeejoin.amos.boot.module.jcs.api.service.IAlertSubmittedService;
import com.yeejoin.amos.boot.module.jcs.api.service.ITemplateService;
import com.yeejoin.amos.boot.module.jcs.api.vo.AlertSubmittedObjectVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.FormValue;
import com.yeejoin.amos.boot.module.jcs.api.vo.TemplateVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -24,15 +30,16 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.lang.reflect.Field;
import java.util.*;
/**
* 警情报送记录
*
* @author tb
* @date 2021-06-17
*/
* 警情报送记录
*
* @author tb
* @date 2021-06-17
*/
@RestController
@Api(tags = "警情报送记录Api")
@RequestMapping(value = "/alert-submitted")
......@@ -41,49 +48,61 @@ public class AlertSubmittedController extends BaseController {
@Autowired
IAlertSubmittedService iAlertSubmittedService;
@Autowired
ITemplateService iTemplateService;
@Autowired
IAlertCalledService iAlertCalledService;
/**
* 新增警情报送记录
* @return
*/
* 新增警情报送记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/save", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增警情报送记录", notes = "新增警情报送记录")
public ResponseModel saveAlertSubmitted(HttpServletRequest request, @RequestBody AlertSubmittedDto alertSubmittedDto) {
public ResponseModel saveAlertSubmitted(HttpServletRequest request,
@RequestBody AlertSubmittedDto alertSubmittedDto) {
return CommonResponseUtil.success(iAlertSubmittedService.save(alertSubmittedDto));
}
/**
* 根据id删除
* @param id
* @return
*/
* 根据id删除
*
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public ResponseModel deleteById(HttpServletRequest request, @PathVariable Long id){
public ResponseModel deleteById(HttpServletRequest request, @PathVariable Long id) {
return CommonResponseUtil.success(iAlertSubmittedService.removeById(id));
}
/**
* 修改警情报送记录
* @return
*/
* 修改警情报送记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改警情报送记录", notes = "修改警情报送记录")
public ResponseModel updateByIdAlertSubmitted(HttpServletRequest request, @RequestBody AlertSubmitted alertSubmitted){
public ResponseModel updateByIdAlertSubmitted(HttpServletRequest request,
@RequestBody AlertSubmitted alertSubmitted) {
return CommonResponseUtil.success(iAlertSubmittedService.updateById(alertSubmitted));
}
/**
* 根据id查询
* @param id
* @return
*/
* 根据id查询
*
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel selectById(HttpServletRequest request, @PathVariable Long id){
public ResponseModel selectById(HttpServletRequest request, @PathVariable Long id) {
return CommonResponseUtil.success(iAlertSubmittedService.getById(id));
}
......@@ -104,9 +123,10 @@ public class AlertSubmittedController extends BaseController {
}
/**
* 列表分页查询
* @return
*/
* 列表分页查询
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
......@@ -140,7 +160,7 @@ public class AlertSubmittedController extends BaseController {
}
}
} catch (Exception e) {
throw new RuntimeException("系统异常");
throw new RuntimeException("系统异常");
}
});
IPage<AlertSubmitted> page;
......@@ -150,7 +170,78 @@ public class AlertSubmittedController extends BaseController {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iAlertSubmittedService.page(pageBean, alertSubmittedQueryWrapper);
return page;
return page;
}
/**
* 获取警情续报内容
*
* @param alertCalledId
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{alertCalledId}/alert_submitted", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取警情续报内容", notes = "获取警情续报内容")
public ResponseModel getAlertSubmittedContent(@PathVariable Long alertCalledId) {
ArrayList<TemplateVo> templateVos = new ArrayList<>();
try {
// 获取警情详情
String companyName = getSelectedOrgInfo().getCompany().getCompanyName();
AlertCalled alertCalled = iAlertCalledService.getById(alertCalledId);
Map<String, Object> map = objectToMap(alertCalled);
map.put("companyName", companyName);
// 获取模板内容
// 警情续报
Template template = iTemplateService.getOne(new QueryWrapper<Template>().eq("type_code", "alert_submitted"));
TemplateVo templateVo = new TemplateVo();
BeanUtils.copyProperties(template, templateVo);
templateVo.setData(map);
templateVos.add(templateVo);
// 非警情确认
template = iTemplateService.getOne(new QueryWrapper<Template>().eq("type_code", "not_alert"));
templateVo = new TemplateVo();
BeanUtils.copyProperties(template, templateVo);
templateVo.setData(map);
templateVos.add(templateVo);
// 警情结案
template = iTemplateService.getOne(new QueryWrapper<Template>().eq("type_code", "alert_close"));
templateVo = new TemplateVo();
BeanUtils.copyProperties(template, templateVo);
templateVo.setData(map);
templateVos.add(templateVo);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return CommonResponseUtil.success(templateVos);
}
/**
* 将Object对象里面的属性和值转化成Map对象
*
* @param obj
* @return
* @throws IllegalAccessException
*/
public static Map<String, Object> objectToMap(Object obj) throws IllegalAccessException {
Map<String, Object> map = new HashMap<>();
Class<?> clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
String fieldName = field.getName();
if ("dynamicFormAlert".equalsIgnoreCase(fieldName)) {
List<FormValue> dynamicFormAlert = (List) field.get(obj);
for (FormValue formValue : dynamicFormAlert) {
map.put(formValue.getLabel(), formValue.getValue());
}
} else {
Object value = field.get(obj);
map.put(fieldName, value);
}
}
return map;
}
}
......@@ -2,6 +2,8 @@ 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.entity.PowerTransferCompanyResources;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferCompanyResourcesVo;
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;
......@@ -149,11 +151,8 @@ public class PowerTransferController extends BaseController {
@RequestMapping(value = "/list/{alert_called_id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据警情id获取力量调派列表", notes = "根据警情id获取力量调派列表")
public ResponseModel<Object> list(@PathVariable String alert_called_id) {
List<PowerTransferVo> powerTransferList =
iPowerTransferService.getPowerTransferList(Long.parseLong(alert_called_id));
return CommonResponseUtil.success(powerTransferList);
PowerTransferVo powerTransferVo = iPowerTransferService.getPowerTransferList(Long.parseLong(alert_called_id));
return CommonResponseUtil.success(powerTransferVo);
}
/**
......
......@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.*;
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.PowerTransferCompanyResourcesVo;
import com.yeejoin.amos.boot.module.jcs.api.vo.PowerTransferVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
......@@ -45,8 +46,14 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P
@Autowired
IAlertFormValueService iAlertFormValueService;
public List<PowerTransferVo> getPowerTransferList(Long alertCalledId) {
return powerTransferMapper.getPowerTransferList(alertCalledId);
public PowerTransferVo getPowerTransferList(Long alertCalledId) {
List<PowerTransferCompanyResourcesVo> powerTransferList =
powerTransferMapper.getPowerTransferList(alertCalledId);
PowerTransferVo powerTransferVo = new PowerTransferVo();
int resourcesCount = powerTransferList.size();
powerTransferVo.setResourcesCount(resourcesCount);
powerTransferVo.setResourcesList(powerTransferList);
return powerTransferVo;
}
@Override
......@@ -71,7 +78,8 @@ public class PowerTransferServiceImpl extends ServiceImpl<PowerTransferMapper, P
Long powerTransferSequenceNbr = powerTransfer.getSequenceNbr();
// 获取任务派发模板
Template template = iTemplateService.getOne(new QueryWrapper<Template>().eq("type", "ptransfer"));
Template template = iTemplateService.getOne(new QueryWrapper<Template>().eq("type",
alertCalled.getAlertType()));
String content = template.getContent();
Map<String, String> definitions = new HashMap<>();
initDefinitions(definitions, alertCalled, powerTransferDto);
......
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