Commit 7c35b6ba authored by chenzhao's avatar chenzhao

Merge remote-tracking branch 'origin/developer' into developer

parents 3f933174 84672580
...@@ -5,6 +5,8 @@ import java.util.Date; ...@@ -5,6 +5,8 @@ import java.util.Date;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -30,8 +32,12 @@ public class BaseDto implements Serializable{ ...@@ -30,8 +32,12 @@ public class BaseDto implements Serializable{
protected Date recDate; protected Date recDate;
@ExcelIgnore @ExcelIgnore
@ApiModelProperty(value = "更新人") @ApiModelProperty(value = "更新人id")
protected String recUserId; protected String recUserId;
@ExcelIgnore
@ApiModelProperty(value = "更新人")
protected String recUserName;
@ExcelIgnore @ExcelIgnore
@ApiModelProperty(value = "是否删除") @ApiModelProperty(value = "是否删除")
......
...@@ -10,6 +10,8 @@ import lombok.EqualsAndHashCode; ...@@ -10,6 +10,8 @@ import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.omg.CORBA.PRIVATE_MEMBER;
/** /**
* 联动单位 * 联动单位
* *
...@@ -98,5 +100,10 @@ public class LinkageUnitDto extends BaseDto { ...@@ -98,5 +100,10 @@ public class LinkageUnitDto extends BaseDto {
@ApiModelProperty(value = "联动单位图片") @ApiModelProperty(value = "联动单位图片")
private List<SourceFile> image; private List<SourceFile> image;
@ApiModelProperty(value = "车辆数量")
private String vehicleNumber;
@ApiModelProperty(value = "特岗人数")
private String personNumber;
} }
package com.yeejoin.amos.boot.module.common.api.dto;
import lombok.Data;
/**
* @description:
* @author: tw
* @createDate: 2021/8/9
*/
@Data
public class PageDto {
private int current;
private int size;
public PageDto(int current, int size) {
this.current = current;
this.size = size;
}
}
package com.yeejoin.amos.boot.module.common.api.feign; package com.yeejoin.amos.boot.module.common.api.feign;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.PageDto;
import com.yeejoin.amos.component.feign.config.InnerInvokException; import com.yeejoin.amos.component.feign.config.InnerInvokException;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
...@@ -130,4 +131,15 @@ public interface EquipFeignClient { ...@@ -130,4 +131,15 @@ public interface EquipFeignClient {
*/ */
@RequestMapping(value = "/building/BuildingtreeAndEquip", method = RequestMethod.GET) @RequestMapping(value = "/building/BuildingtreeAndEquip", method = RequestMethod.GET)
ResponseModel<Object> getBuildingTreeAndEquip(); ResponseModel<Object> getBuildingTreeAndEquip();
/**
*
*获取视频信息
* @param
* @return
*/
@RequestMapping(value = "//building/video/page", method = RequestMethod.GET)
ResponseModel<Page<Map<String, Object>>> getVideo( @RequestParam Page page, @RequestParam Long buildingId);
} }
package com.yeejoin.amos.boot.module.common.api.mapper; package com.yeejoin.amos.boot.module.common.api.mapper;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.common.api.dto.CompanyDto; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto;
import com.yeejoin.amos.boot.module.common.api.dto.RequestData; import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit; import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/** /**
* 联动单位 Mapper 接口 * 联动单位 Mapper 接口
...@@ -43,4 +45,22 @@ public interface LinkageUnitMapper extends BaseMapper<LinkageUnit> { ...@@ -43,4 +45,22 @@ public interface LinkageUnitMapper extends BaseMapper<LinkageUnit> {
List<LinkageUnitZhDto> listLinkageUnitZhDto(@Param("pageNum")int pageNum, @Param("pageSize")int pageSize, @Param("par") RequestData par); List<LinkageUnitZhDto> listLinkageUnitZhDto(@Param("pageNum")int pageNum, @Param("pageSize")int pageSize, @Param("par") RequestData par);
Integer listLinkageUnitZhDtoCount(@Param("par")RequestData par); Integer listLinkageUnitZhDtoCount(@Param("par")RequestData par);
/**
* 查询当前存在的联动单位及统计
* @param isDelete
* @param emergencyLinkageUnitCode
* @return
*/
List<Map<String, Object>> getEmergencyLinkageUnitCodeGroupByAndCount();
/**
* 查询包含特岗人数及的具体信息
* @return
*/
Page<List<LinkageUnitDto>> getEmergencyLinkageUnitList(IPage<LinkageUnitDto> page,String unitName,
String linkageUnitTypeCode, String emergencyLinkageUnitCode);
} }
package com.yeejoin.amos.boot.module.common.api.service; package com.yeejoin.amos.boot.module.common.api.service;
import java.util.List;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto;
import com.yeejoin.amos.boot.module.common.api.dto.RequestData; import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
import org.typroject.tyboot.core.rdbms.annotation.Condition; import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import java.util.List;
/** /**
* 联动单位接口类 * 联动单位接口类
* *
* @author system_generator * @author system_generator
* @date 2021-07-16 * @date 2021-07-16
*/ */
public interface ILinkageUnitService { public interface ILinkageUnitService {
List<LinkageUnitZhDto> listLinkageUnitZhDto(Integer pageNum, Integer pageSize, RequestData par);
List<LinkageUnitZhDto> listLinkageUnitZhDto(Integer pageNum, Integer pageSize, RequestData par);
Integer listLinkageUnitZhDtoCount(RequestData par);
Integer listLinkageUnitZhDtoCount(RequestData par);
LinkageUnitDto queryOne(Long sequenceNbr);
LinkageUnitDto queryOne(Long sequenceNbr);
/**
/** * 联动单位分页查询
* 联动单位分页查询 *
* * @param page
* @param page * @param isDelete
* @param isDelete * @param unitName 单位名称
* @param unitName 单位名称 * @param linkageUnitType 联动单位类型
* @param linkageUnitType 联动单位类型 * @param emergencyLinkageUnitCode 紧急联动单位类型code
* @param emergencyLinkageUnitCode 紧急联动单位类型code * @return
* @return */
*/ Page<LinkageUnitDto> queryForLinkageUnitPage(IPage<LinkageUnitDto> page,
Page<LinkageUnitDto> queryForLinkageUnitPage(Page<LinkageUnitDto> page, @Condition(Operator.eq) Boolean isDelete,
@Condition(Operator.eq) Boolean isDelete, @Condition(Operator.like) String unitName,
@Condition(Operator.like) String unitName, @Condition(Operator.eq) String linkageUnitTypeCode,
@Condition(Operator.eq) String linkageUnitType, @Condition(Operator.eq) String emergencyLinkageUnitCode,
@Condition(Operator.eq) String emergencyLinkageUnitCode); String inAgreement);
/**
* 获取当前存在的联动单位的类型组code
* @return
*/
public List<Menu> getEmergencyLinkageUnitCodeGroupBy(String type, String rootName) ;
} }
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.common.api.service; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.common.api.service;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto; import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -13,5 +14,14 @@ import java.util.Map; ...@@ -13,5 +14,14 @@ import java.util.Map;
* @date 2021-07-16 * @date 2021-07-16
*/ */
public interface ISourceFileService { public interface ISourceFileService {
public Map<String, List<AttachmentDto>> getAttachments(Long sourceId); Map<String, List<AttachmentDto>> getAttachments(Long sourceId);
/**
* 批量保存附件
*
* @param sequenceNbr sourceId
* @param attachmentMap
* @return
*/
void saveAttachments(Long sequenceNbr, Map<String, List<AttachmentDto>> attachmentMap);
} }
<?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.common.api.mapper.LinkageUnitMapper"> <mapper
<select id="selectOne" resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto"> namespace="com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper">
select <select id="selectOne"
d.*, resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto">
lu.* select
from d.*,
( lu.*
select from
i.INSTANCE_ID instanceId, (
i.GROUP_CODE groupCode, select
<foreach collection="fieldCodes" item="value" index="key" separator=","> i.INSTANCE_ID instanceId,
MAX(CASE WHEN i.FIELD_CODE = #{key} THEN i.FIELD_VALUE END) as ${key} i.GROUP_CODE
</foreach> groupCode,
from <foreach collection="fieldCodes" item="value" index="key"
cb_dynamic_form_instance i separator=",">
where i.GROUP_CODE = #{groupCode} MAX(CASE WHEN i.FIELD_CODE = #{key} THEN i.FIELD_VALUE END)
and is_delete = #{isDelete} as ${key}
GROUP by </foreach>
i.INSTANCE_ID ) d, from
cb_linkage_unit lu cb_dynamic_form_instance i
where where i.GROUP_CODE = #{groupCode}
d.instanceId = lu.instance_id and
and lu.sequence_nbr = #{sequenceNbr} is_delete = #{isDelete}
and is_delete = #{isDelete} GROUP by
</select> i.INSTANCE_ID ) d,
cb_linkage_unit lu
where
d.instanceId = lu.instance_id
and lu.sequence_nbr = #{sequenceNbr}
<select id="listLinkageUnitZhDto" resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto"> and is_delete = #{isDelete}
</select>
select
a.sequence_nbr sequenceNbr,
a.unit_name unitName,
a.address,
a.latitude, <select id="listLinkageUnitZhDto"
a.longitude, resultType="com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto">
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) AS distance
FROM cb_linkage_unit a select
where a.longitude is not null and a.latitude is not null a.sequence_nbr sequenceNbr,
<if test='par.distance!=null'> a.unit_name unitName,
and Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) &lt;= a.address,
#{par.distance} a.latitude,
</if> a.longitude,
ORDER BY distance limit #{pageNum},#{pageSize} Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
</select> AS distance
FROM cb_linkage_unit a
<select id="listLinkageUnitZhDtoCount" resultType="Integer"> where a.longitude is not null and
select a.latitude is not null
COUNT(a.sequence_nbr) num <if test='par.distance!=null'>
FROM cb_linkage_unit a and
where a.longitude is not null and a.latitude is not null Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
<if test='par.distance!=null'> &lt;=
and Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1) &lt;= #{par.distance}
#{par.distance} </if>
</if> ORDER BY distance limit #{pageNum},#{pageSize}
</select> </select>
<select id="listLinkageUnitZhDtoCount" resultType="Integer">
select
COUNT(a.sequence_nbr) num
FROM cb_linkage_unit a
where a.longitude
is not null and a.latitude is not null
<if test='par.distance!=null'>
and
Round(st_distance(point(a.longitude,a.latitude),point(#{par.longitude},#{par.latitude}))*111195,1)
&lt;=
#{par.distance}
</if>
</select>
<select id="getEmergencyLinkageUnitCodeGroupByAndCount"
resultType="java.util.Map">
SELECT
emergency_linkage_unit_code as
emergencyLinkageUnitCode,
COUNT(unit_code) AS count
FROM
cb_linkage_unit
WHERE
is_delete = 0
GROUP BY
emergency_linkage_unit_code
</select>
<select id="getEmergencyLinkageUnitList"
resultType="java.util.Map">
SELECT
clu.sequence_nbr as sequenceNbr,
clu.unit_name as unitName,
clu.unit_code AS unitCode,
clu.parent_id AS parentId,
clu.linkage_unit_type AS linkageUnitType,
clu.linkage_unit_type_code AS linkageUnitTypeCode,
clu.administrative_divisions AS administrativeDivisions,
clu.administrative_divisions_code AS administrativeDivisionsCode,
clu.address AS address,
clu.longitude AS longitude,
clu.latitude AS latitude,
clu.agreement_start_date AS agreementStartDate,
clu.agreement_end_date AS agreementEndDate,
clu.emergency_linkage_unit AS emergencyLinkageUnit,
clu.emergency_linkage_unit_code AS emergencyLinkageUnitCode,
clu.contact_user AS contactUser,
clu.contact_phone AS contactPhone,
clu.instance_id AS instanceId,
clu.org_code AS orgCode,
clu.rec_user_name AS recUserName,
clu.rec_user_id AS recUserId,
clu.rec_date AS recDate,
clu.is_delete AS isDelete,
cre.vehicle_number AS vehicleNumber,
csps.person_number AS personNumber
FROM
cb_linkage_unit clu
LEFT JOIN cb_rescue_equipment cre ON clu.sequence_nbr = cre.company_id
LEFT JOIN cb_special_position_staff csps ON clu.sequence_nbr =
csps.company_id
WHERE clu.is_delete=0
<if test="unitName != null and unitName != ''">
AND clu.unit_name LIKE concat(#{unitName}, '%')
</if>
<if test="linkageUnitTypeCode != null and linkageUnitTypeCode != ''">
AND clu.linkage_unit_type_code =#{linkageUnitTypeCode}
</if>
<if test="emergencyLinkageUnitCode != null and emergencyLinkageUnitCode != ''">
AND clu.emergency_linkage_unit_code =#{emergencyLinkageUnitCode}
</if>
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author litw
* @date 2021-08-09.
*/
@Data
@ApiModel(value="AlertCallInfoDto", description="初始化表单数据")
public class AlertCallInfoDto {
@ApiModelProperty(value = "警情工单编号")
private String workOrderNumber;
@ApiModelProperty(value = "接警时间")
private String callTime;
@ApiModelProperty(value = "接警人Id")
private String recUserId;
@ApiModelProperty(value = "接警人")
private String recUserName;
}
...@@ -126,4 +126,15 @@ public class AlertCalledDto extends BaseDto { ...@@ -126,4 +126,15 @@ public class AlertCalledDto extends BaseDto {
@ApiModelProperty(value = "警情地址") @ApiModelProperty(value = "警情地址")
private String alertAddress; private String alertAddress;
/**
* 工单编号
*/
@ApiModelProperty("工单编号")
private String workOrderNumber;
@ApiModelProperty(value = "接警时间str")
private String callTimeStr;
@ApiModelProperty(value = "接警人")
protected String recUserName;
} }
package com.yeejoin.amos.boot.module.tzs.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.Date;
/**
* 投诉回访DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="DispatchConsultFeedbackDto", description="投诉回访DTO")
public class DispatchConsultFeedbackDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "警情id")
private Long alertId;
@ApiModelProperty(value = "投诉人")
private String emergency;
@ApiModelProperty(value = "投诉人电话")
private String emergencyCall;
@ApiModelProperty(value = "投诉反馈方式")
private String consultFeedbackType;
@ApiModelProperty(value = "投诉反馈结果")
private String feedbackResult;
@ApiModelProperty(value = "投诉回访时间")
private Date consultFeedbackTime;
@ApiModelProperty(value = "投诉回访人")
private String consultFeedbackUname;
@ApiModelProperty(value = "投诉回访人Id")
private String consultFeedbackUid;
@ApiModelProperty(value = "响应人")
private String responseUserName;
@ApiModelProperty(value = "响应人电话")
private String responseUserTel;
@ApiModelProperty(value = "维修反馈方式Code")
private String feedbackCode;
@ApiModelProperty(value = "维修反馈方式")
private String feedbackType;
@ApiModelProperty(value = "处置结果")
private String actionResult;
@ApiModelProperty(value = "回访时间")
private Date feedbackTime;
@ApiModelProperty(value = "维保反馈人id")
private String feedbackUid;
@ApiModelProperty(value = "维保反馈人")
private String feedbackUname;
@ApiModelProperty(value = "电梯故障原因分类")
private String errorResult;
@ApiModelProperty(value = "备注")
private String Remark;
@ApiModelProperty(value = "维保反馈结果")
private String mainFeedbackResult;
@ApiModelProperty(value = "维保完成时间")
private Date feedbackFinishTime;
public DispatchConsultFeedbackDto() {
}
}
package com.yeejoin.amos.boot.module.tzs.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.Date;
/**
* 派遣单更新DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="DispatchPaperUpdateDto", description="派遣单更新DTO")
public class DispatchPaperUpdateDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "派遣单Id")
private Long pageId;
@ApiModelProperty(value = "派遣任务单Id")
private Long taskId;
@ApiModelProperty(value = "派遣单位Id")
private Long orgId;
@ApiModelProperty(value = "派遣单位类型code")
private String orgTypeCode;
@ApiModelProperty(value = "派遣单位社会信用代码")
private String orgCreditCode;
@ApiModelProperty(value = "派遣时间")
private Date dispatchTime;
public DispatchPaperUpdateDto() {
}
}
package com.yeejoin.amos.boot.module.tzs.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.Date;
/**
* 维修回访DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="DispatchRepairFeedbackDto", description="维修回访DTO")
public class DispatchRepairFeedbackDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "警情id")
private Long alertId;
@ApiModelProperty(value = "报修人")
private String emergency;
@ApiModelProperty(value = "报修人电话")
private String emergencyCall;
@ApiModelProperty(value = "报修反馈方式")
private String fixFeedbackType;
@ApiModelProperty(value = "报修反馈结果")
private String feedbackResult;
@ApiModelProperty(value = "报修回访时间")
private Date fixFeedbackTime;
@ApiModelProperty(value = "报修回访人")
private String fixFeedbackUname;
@ApiModelProperty(value = "报修回访人Id")
private String fixFeedbackUid;
@ApiModelProperty(value = "报修备注")
private String fixRemark;
@ApiModelProperty(value = "响应人")
private String responseUserName;
@ApiModelProperty(value = "响应人电话")
private String responseUserTel;
@ApiModelProperty(value = "维修反馈方式Code")
private String feedbackCode;
@ApiModelProperty(value = "维修反馈方式")
private String feedbackType;
@ApiModelProperty(value = "维修结果")
private String fixResult;
@ApiModelProperty(value = "维修完成时间")
private Date feedbackFinishTime;
@ApiModelProperty(value = "维修反馈人id")
private String feedbackUid;
@ApiModelProperty(value = "维修反馈人")
private String feedbackUname;
@ApiModelProperty(value = "电梯故障原因分类")
private String errorResult;
@ApiModelProperty(value = "备注")
private String Remark;
@ApiModelProperty(value = "回访时间")
private Date feedbackTime;
public DispatchRepairFeedbackDto() {
}
}
package com.yeejoin.amos.boot.module.tzs.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.Date;
/**
* 救援回访DTO
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="DispatchSaveFeedbackDto", description="救援回访DTO")
public class DispatchSaveFeedbackDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "警情id")
private Long alertId;
@ApiModelProperty(value = "求援人")
private String emergency;
@ApiModelProperty(value = "求援电话")
private String emergencyCall;
@ApiModelProperty(value = "救援回访时间")
private Date saveFeedbackTime;
@ApiModelProperty(value = "救援回访人")
private String saveFeedbackUser;
@ApiModelProperty(value = "救援回访人Id")
private String saveFeedbackUid;
@ApiModelProperty(value = "救援回访结果")
private String saveFeedbackResult;
@ApiModelProperty(value = "响应人")
private String responseUserName;
@ApiModelProperty(value = "响应人电话")
private String responseUserTel;
@ApiModelProperty(value = "维修反馈方式Code")
private String feedbackCode;
@ApiModelProperty(value = "维修反馈方式")
private String feedbackType;
@ApiModelProperty(value = "维修结果")
private String fixResult;
@ApiModelProperty(value = "维修完成时间")
private Date feedbackFinishTime;
@ApiModelProperty(value = "维修反馈人id")
private String feedbackUid;
@ApiModelProperty(value = "维修反馈人")
private String feedbackUname;
@ApiModelProperty(value = "电梯故障原因分类")
private String errorResult;
@ApiModelProperty(value = "备注")
private String Remark;
@ApiModelProperty(value = "回访时间")
private Date feedbackTime;
public DispatchSaveFeedbackDto() {
}
}
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.api.dto; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -9,6 +10,8 @@ import lombok.EqualsAndHashCode; ...@@ -9,6 +10,8 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.Map;
/** /**
* @author tb * @author tb
...@@ -68,9 +71,15 @@ public class ElevatorDto extends BaseDto { ...@@ -68,9 +71,15 @@ public class ElevatorDto extends BaseDto {
@ApiModelProperty(value = "设备类别") @ApiModelProperty(value = "设备类别")
private String category; private String category;
@ApiModelProperty(value = "设备类别code")
private String categoryName;
@ApiModelProperty(value = "使用场所分类") @ApiModelProperty(value = "使用场所分类")
private String useSiteCategory; private String useSiteCategory;
@ApiModelProperty(value = "使用场所分类名称")
private String useSiteCategoryName;
@ApiModelProperty(value = "电梯型号") @ApiModelProperty(value = "电梯型号")
private String model; private String model;
...@@ -98,6 +107,9 @@ public class ElevatorDto extends BaseDto { ...@@ -98,6 +107,9 @@ public class ElevatorDto extends BaseDto {
@ApiModelProperty(value = "拖动方式") @ApiModelProperty(value = "拖动方式")
private String dragMode; private String dragMode;
@ApiModelProperty(value = "拖动方式名称")
private String dragModeName;
@ApiModelProperty(value = "电梯使用状态") @ApiModelProperty(value = "电梯使用状态")
private Integer useStatus; private Integer useStatus;
...@@ -116,9 +128,15 @@ public class ElevatorDto extends BaseDto { ...@@ -116,9 +128,15 @@ public class ElevatorDto extends BaseDto {
@ApiModelProperty(value = "维保类型") @ApiModelProperty(value = "维保类型")
private String maintainType; private String maintainType;
@ApiModelProperty(value = "维保类型名称")
private String maintainTypeName;
@ApiModelProperty(value = "维护周期") @ApiModelProperty(value = "维护周期")
private String maintainPeriod; private String maintainPeriod;
@ApiModelProperty(value = "维护周期名称")
private String maintainPeriodName;
@ApiModelProperty(value = "维保单位") @ApiModelProperty(value = "维保单位")
private String maintainUnit; private String maintainUnit;
...@@ -194,10 +212,12 @@ public class ElevatorDto extends BaseDto { ...@@ -194,10 +212,12 @@ public class ElevatorDto extends BaseDto {
@ApiModelProperty(value = "原始表id(来自历史数据库)") @ApiModelProperty(value = "原始表id(来自历史数据库)")
private String originalId; private String originalId;
@ApiModelProperty(value = "附件")
private Map<String, List<AttachmentDto>> attachments;
@ApiModelProperty(value = "经度") @ApiModelProperty(value = "经度")
private String longitude; private String longitude;
@ApiModelProperty(value = "纬度") @ApiModelProperty(value = "纬度")
private String latitude; private String latitude;
} }
...@@ -27,6 +27,9 @@ public class RescueProcessDto extends BaseDto { ...@@ -27,6 +27,9 @@ public class RescueProcessDto extends BaseDto {
@ApiModelProperty(value = "是否派遣") @ApiModelProperty(value = "是否派遣")
private Boolean dispatchStatus; private Boolean dispatchStatus;
@ApiModelProperty(value = "是否手动派遣")
private Boolean dispatchByUser = false;
@ApiModelProperty(value = "派遣时间") @ApiModelProperty(value = "派遣时间")
private Date dispatchTime; private Date dispatchTime;
......
...@@ -162,6 +162,12 @@ public class AlertCalled extends BaseEntity { ...@@ -162,6 +162,12 @@ public class AlertCalled extends BaseEntity {
@TableField("org_code") @TableField("org_code")
private String orgCode; private String orgCode;
/**
* 工单编号
*/
@TableField("work_order_number")
private String workOrderNumber;
@TableField("city") @TableField("city")
@ApiModelProperty(value = "所属地市") @ApiModelProperty(value = "所属地市")
private String city; private String city;
...@@ -195,6 +201,8 @@ public class AlertCalled extends BaseEntity { ...@@ -195,6 +201,8 @@ public class AlertCalled extends BaseEntity {
@ApiModelProperty(value = "是否处警") @ApiModelProperty(value = "是否处警")
private Boolean isFatherAlert = false; private Boolean isFatherAlert = false;
@TableField(exist=false)
@ApiModelProperty(value = "接警时间str")
private String callTimeStr;
} }
...@@ -2,6 +2,9 @@ package com.yeejoin.amos.boot.module.tzs.api.mapper; ...@@ -2,6 +2,9 @@ package com.yeejoin.amos.boot.module.tzs.api.mapper;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled; import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
/** /**
* 警情接警填报记录 Mapper 接口 * 警情接警填报记录 Mapper 接口
...@@ -11,4 +14,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,4 +14,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface AlertCalledMapper extends BaseMapper<AlertCalled> { public interface AlertCalledMapper extends BaseMapper<AlertCalled> {
/**
* 接警情况统计
*
* @param beginDate
* @param endDate
* @return
*/
Map<String, Integer> queryAlertStatusCount(@Param("beginDate") String beginDate,
@Param("endDate") String endDate,
@Param("orgCode") String orgCode,
@Param("recUserId") String recUserId
);
} }
package com.yeejoin.amos.boot.module.tzs.api.service; package com.yeejoin.amos.boot.module.tzs.api.service;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchConsultFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchRepairFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchSaveFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
...@@ -14,7 +18,7 @@ public interface IDispatchPaperService { ...@@ -14,7 +18,7 @@ public interface IDispatchPaperService {
DispatchPaper selectDispatchPaperByAlertId(Long alertId); DispatchPaper selectDispatchPaperByAlertId(Long alertId);
Object selectDispatchPaperDtoByAlertId(Long alertId); DispatchPaperFormDto selectDispatchPaperDtoByAlertId(Long alertId);
/** /**
* 根据警情id 及 警情类别 派遣人 创建 派遣单 * 根据警情id 及 警情类别 派遣人 创建 派遣单
...@@ -23,5 +27,51 @@ public interface IDispatchPaperService { ...@@ -23,5 +27,51 @@ public interface IDispatchPaperService {
* @param sendUser * @param sendUser
* @return * @return
*/ */
DispatchPaper createDispatchPaper(Long alertId, String alertCode, AgencyUserModel sendUser); DispatchPaperFormDto createDispatchPaper(Long alertId, String alertCode, AgencyUserModel sendUser);
/**
* 根据警情id 返回 救援回访相关信息
* @param alertId
* @return
*/
DispatchSaveFeedbackDto getDispatchSaveFeedbackDtoByAlertId(Long alertId);
/**
* 坐席填写救援回访相关信息
* @param dispatchSaveFeedbackDto
* @return
*/
Boolean saveDispatchSaveFeedback(DispatchSaveFeedbackDto dispatchSaveFeedbackDto);
/**
* 根据警情id 返回 维修回访相关信息
* @param alertId
* @return
*/
DispatchRepairFeedbackDto getDispatchRepairFeedbackDtoByAlertId(Long alertId);
/**
* 坐席填写维修回访相关信息
* @param dispatchRepairFeedbackDto
* @return
*/
Boolean saveDispatchRepairFeedback(DispatchRepairFeedbackDto dispatchRepairFeedbackDto);
/**
* 根据警情id 返回 投诉回访相关信息
* @param alertId
* @return
*/
DispatchConsultFeedbackDto getDispatchConsultFeedbackDtoByAlertId(Long alertId);
/**
* 坐席填写投诉回访相关信息
* @param dispatchConsultFeedbackDto
* @return
*/
Boolean saveDispatchConsultFeedback(DispatchConsultFeedbackDto dispatchConsultFeedbackDto);
} }
package com.yeejoin.amos.boot.module.tzs.api.service; package com.yeejoin.amos.boot.module.tzs.api.service;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
/** /**
* 救援过程表接口类 * 救援过程表接口类
* *
...@@ -9,4 +12,18 @@ package com.yeejoin.amos.boot.module.tzs.api.service; ...@@ -9,4 +12,18 @@ package com.yeejoin.amos.boot.module.tzs.api.service;
*/ */
public interface IRescueProcessService { public interface IRescueProcessService {
/**
* 根据警情id 创建救援过程表 或者获取 救援过程表
* @param alertId
* @return
*/
RescueProcessDto getProcessByAlertId(Long alertId);
/**
* 根据警情id 更新救援过程表
* @param rescueProcessDto
* @return
*/
Boolean updateByAlertId(RescueProcessDto rescueProcessDto, AgencyUserModel sendUser);
} }
package com.yeejoin.amos.boot.module.tzs.api.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Map;
/**
* * 警情统计
* @author fengwang
* @date 2021-08-06.
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "AlarmStatisticsVo", description = "AlarmStatisticsVo")
public class AlarmStatisticsVo {
@ApiModelProperty(value = "我的待办数量")
private Integer todoNum;
@ApiModelProperty(value = "今日接警数量")
private Integer todayAlarmNum;
@ApiModelProperty(value = "今日提交数量")
private Integer submitNum;
@ApiModelProperty(value = "全部待办")
private Integer allNum;
@ApiModelProperty(value = "近七天办理数量")
private Map<String,Integer> nearlySevenDaysNum;
@ApiModelProperty(value = "故障事件数量")
private Integer faultRescue;
@ApiModelProperty(value = "困人救援数量")
private Integer sleepyIncident;
@ApiModelProperty(value = "投诉建议数量")
private Integer suggestions;
}
...@@ -204,4 +204,10 @@ public class AlertCalledVo extends BaseEntity { ...@@ -204,4 +204,10 @@ public class AlertCalledVo extends BaseEntity {
@ApiModelProperty(value = "响应级别") @ApiModelProperty(value = "响应级别")
private String responseLevel; private String responseLevel;
/**
* 工单编号
*/
@ApiModelProperty("工单编号")
private String workOrderNumber;
} }
...@@ -2,4 +2,25 @@ ...@@ -2,4 +2,25 @@
<!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.tzs.api.mapper.AlertCalledMapper"> <mapper namespace="com.yeejoin.amos.boot.module.tzs.api.mapper.AlertCalledMapper">
<select id="queryAlertStatusCount" resultType="java.util.Map">
SELECT
count( 1 ) calledCount,
sum( CASE WHEN father_alert = null THEN 1 ELSE 0 END ) majorAlertCount,
sum( CASE WHEN alarm_type_code = 'KRJY' THEN 1 ELSE 0 END ) sleepyIncidentCount,
sum( CASE WHEN alarm_type_code = 'GZWX' THEN 1 ELSE 0 END ) faultRescueCount,
sum( CASE WHEN alarm_type_code = 'TSZX' THEN 1 ELSE 0 END ) suggestionsCount
FROM
tz_alert_called
WHERE 1 = 1
<if test="beginDate != null and beginDate != ''">
and call_time >= #{beginDate}
</if>
<if test="endDate != null and endDate != ''">
and call_time <![CDATA[ <= ]]> #{endDate}
</if>
<if test="orgCode != null and orgCode != '' and recUserId != null and recUserId != ''" >
and org_code= #{orgCode}
or rec_user_id = #{recUserId}
</if>
</select>
</mapper> </mapper>
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService; import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService;
...@@ -51,10 +52,7 @@ import java.io.File; ...@@ -51,10 +52,7 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/** /**
* *指挥资源Api * *指挥资源Api
...@@ -510,7 +508,7 @@ public class CommandController extends BaseController { ...@@ -510,7 +508,7 @@ public class CommandController extends BaseController {
page.setCurrent(pageNum); page.setCurrent(pageNum);
page.setSize(pageSize); page.setSize(pageSize);
Page<LinkageUnitDto> linkageUnitDtoPage = iLinkageUnitService.queryForLinkageUnitPage(page, false, Page<LinkageUnitDto> linkageUnitDtoPage = iLinkageUnitService.queryForLinkageUnitPage(page, false,
unitName, linkageUnitType, null); unitName, linkageUnitType, null, inAgreement);
return ResponseHelper.buildResponse(linkageUnitDtoPage); return ResponseHelper.buildResponse(linkageUnitDtoPage);
} }
...@@ -803,6 +801,24 @@ public class CommandController extends BaseController { ...@@ -803,6 +801,24 @@ public class CommandController extends BaseController {
return ResponseHelper.buildResponse(li); return ResponseHelper.buildResponse(li);
} }
/**
* 分页获取视频
*
* @param
* @return
*/
@TycloudOperation( needAuth = true,ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getVideo", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "分页获取视频", notes = "分页获取视频")
public ResponseModel<Object> getVideo(long current, long size)throws Exception {
Page page = new Page(current, size);
List<OrderItem> list= OrderItem.ascs("id");
page.setOrders(list);
ResponseModel<Page<Map<String, Object>>> date= equipFeignClient.getVideo(page,0l);
return ResponseHelper.buildResponse(date!=null?date.getResult():null);
}
......
package com.yeejoin.amos.boot.module.common.biz.controller; package com.yeejoin.amos.boot.module.common.biz.controller;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.yeejoin.amos.boot.module.common.biz.service.impl.LinkageUnitServiceImpl; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import com.yeejoin.amos.boot.module.common.api.service.ILinkageUnitService;
import com.yeejoin.amos.boot.module.common.biz.service.impl.LinkageUnitServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/** /**
...@@ -37,6 +41,9 @@ public class LinkageUnitController extends BaseController { ...@@ -37,6 +41,9 @@ public class LinkageUnitController extends BaseController {
@Autowired @Autowired
LinkageUnitServiceImpl linkageUnitServiceImpl; LinkageUnitServiceImpl linkageUnitServiceImpl;
@Autowired
ILinkageUnitService linkageUnitService;
/** /**
* 新增联动单位 * 新增联动单位
...@@ -116,20 +123,12 @@ public class LinkageUnitController extends BaseController { ...@@ -116,20 +123,12 @@ public class LinkageUnitController extends BaseController {
@GetMapping(value = "/page") @GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "联动单位分页查询", notes = "联动单位分页查询") @ApiOperation(httpMethod = "GET", value = "联动单位分页查询", notes = "联动单位分页查询")
public ResponseModel<Page<LinkageUnitDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam public ResponseModel<Page<LinkageUnitDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size, String unitName, String linkageUnitType, String inAgreement, String emergencyLinkageUnitCode) { (value = "size") int size, String unitName, String linkageUnitTypeCode, String inAgreement, String emergencyLinkageUnitCode) {
Page<LinkageUnitDto> page = new Page<LinkageUnitDto>(); Page<LinkageUnitDto> page = new Page<LinkageUnitDto>();
page.setCurrent(current); page.setCurrent(current);
page.setSize(size); page.setSize(size);
Page<LinkageUnitDto> linkageUnitDtoPage = linkageUnitServiceImpl.queryForLinkageUnitPage(page, false, Page<LinkageUnitDto> linkageUnitDtoPage = linkageUnitServiceImpl.queryForLinkageUnitPage(page, false,
unitName, linkageUnitType, emergencyLinkageUnitCode); unitName, linkageUnitTypeCode, emergencyLinkageUnitCode,inAgreement);
Date now = new Date();
List<LinkageUnitDto> linkageUnitDtoList = linkageUnitDtoPage.getRecords().stream().map(item -> {
boolean isInAgreement = DateUtils.belongCalendar(now, item.getAgreementStartDate(),
item.getAgreementEndDate());
item.setInAgreement(isInAgreement ? "是" : "否");
return item;
}).filter(item -> StringUtils.isEmpty(inAgreement) || inAgreement.equals(item.getInAgreement())).collect(Collectors.toList());
linkageUnitDtoPage.setRecords(linkageUnitDtoList);
return ResponseHelper.buildResponse(linkageUnitDtoPage); return ResponseHelper.buildResponse(linkageUnitDtoPage);
} }
...@@ -144,4 +143,15 @@ public class LinkageUnitController extends BaseController { ...@@ -144,4 +143,15 @@ public class LinkageUnitController extends BaseController {
public ResponseModel<List<LinkageUnitDto>> selectForList() { public ResponseModel<List<LinkageUnitDto>> selectForList() {
return ResponseHelper.buildResponse(linkageUnitServiceImpl.queryForLinkageUnitList(false)); return ResponseHelper.buildResponse(linkageUnitServiceImpl.queryForLinkageUnitList(false));
} }
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "联动单位列表树及统计", notes = "联动单位列表树及统计")
@GetMapping(value = "/getLinkageUnitTree")
public ResponseModel<Object> getLinkageUnitTree(@RequestParam String type, @RequestParam String rootName) {
return ResponseHelper.buildResponse(linkageUnitService.getEmergencyLinkageUnitCodeGroupBy(type,rootName));
}
} }
package com.yeejoin.amos.boot.module.common.biz.service.impl; package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.Lists;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.biz.common.utils.TreeParser; import com.yeejoin.amos.boot.biz.common.utils.TreeParser;
import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto; import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto;
import com.yeejoin.amos.boot.module.common.api.dto.RequestData; import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn; import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance; import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit; import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile; import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper; import com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper;
import com.yeejoin.amos.boot.module.common.api.service.ILinkageUnitService; import com.yeejoin.amos.boot.module.common.api.service.ILinkageUnitService;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Random;
/** /**
* 联动单位服务实现类 * 联动单位服务实现类
...@@ -40,183 +46,248 @@ import java.util.Random; ...@@ -40,183 +46,248 @@ import java.util.Random;
* @date 2021-07-16 * @date 2021-07-16
*/ */
@Service @Service
public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageUnit, LinkageUnitMapper> implements ILinkageUnitService { public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageUnit, LinkageUnitMapper>
implements ILinkageUnitService {
@Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService; @Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService;
@Resource
LinkageUnitMapper linkageUnitMapper; @Resource
@Autowired LinkageUnitMapper linkageUnitMapper;
DynamicFormColumnServiceImpl dynamicFormColumnService; @Autowired
@Autowired DynamicFormColumnServiceImpl dynamicFormColumnService;
SourceFileServiceImpl sourceFileServiceImpl; @Autowired
SourceFileServiceImpl sourceFileServiceImpl;
public String getGroupCode() {
return "linkageUnit"; @Autowired
} DataDictionaryServiceImpl iDataDictionaryService;
/** public String getGroupCode() {
* 分页查询 return "linkageUnit";
*/ }
@Override
public Page<LinkageUnitDto> queryForLinkageUnitPage(Page<LinkageUnitDto> page, /**
@Condition(Operator.eq) Boolean isDelete, * 分页查询
@Condition(Operator.like) String unitName, *
@Condition(Operator.eq) String linkageUnitType, * @param inAgreement
@Condition(Operator.eq) String emergencyLinkageUnitCode) { */
return this.queryForPage(page, null, false, isDelete, unitName, linkageUnitType, emergencyLinkageUnitCode); @Override
} public Page<LinkageUnitDto> queryForLinkageUnitPage(IPage<LinkageUnitDto> page,
@Condition(Operator.eq) Boolean isDelete, @Condition(Operator.like) String unitName,
/** @Condition(Operator.eq) String linkageUnitTypeCode, @Condition(Operator.eq) String emergencyLinkageUnitCode,
* 列表查询 示例 String inAgreement) {
*/ Page<List<LinkageUnitDto>> linkageUnitList = linkageUnitMapper.getEmergencyLinkageUnitList(page,unitName, linkageUnitTypeCode, emergencyLinkageUnitCode);
public List<LinkageUnitDto> queryForLinkageUnitList(@Condition(Operator.eq) Boolean isDelete) { List<Map> linkageUnitListMap =JSONArray.parseArray(JSONArray.toJSONString(linkageUnitList.getRecords()), Map.class);
return this.queryForList("", false, isDelete);
} List<Map<String, Object>> pageList = dynamicFormInstanceService.listAll(getGroupCode());
linkageUnitListMap.forEach(i -> {
/** String mainString = i.get("instanceId").toString();
* 保存联动单位 pageList.stream().forEach(detail -> {
* if (detail.get("instanceId").toString().equals(mainString)) {
* @param linkageUnitDto 对象 i.putAll(detail);
* @return List<LinkageUnitDto> }
*/ });
@Transactional });
public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) { List<LinkageUnitDto> resultDtoList = JSONArray.parseArray(JSONArray.toJSONString(linkageUnitList.getRecords()),
LinkageUnitDto.class);
List<LinkageUnitDto> detaiList = resultDtoList.stream().map(item -> {
Date now = new Date();
if(linkageUnitDto.getAddress()!=null){ boolean isInAgreement = DateUtils.belongCalendar(now, item.getAgreementStartDate(),
String[] data= linkageUnitDto.getAddress().split("@address@"); item.getAgreementEndDate());
item.setInAgreement(isInAgreement ? "是" : "否");
List<SourceFile> sourceFiles = sourceFileServiceImpl.findBySourceId(item.getSequenceNbr());
item.setImage(sourceFiles);
return item;
}).filter(item -> StringUtils.isEmpty(inAgreement) || inAgreement.equals(item.getInAgreement()))
.collect(Collectors.toList());
Page<LinkageUnitDto> page1 = new Page<LinkageUnitDto>();
page1.setCurrent(page.getCurrent());
page1.setSize(page.getSize());
page1.setTotal(detaiList.size());
page1.setRecords(detaiList);
return page1;
}
/**
* 列表查询 示例
*/
public List<LinkageUnitDto> queryForLinkageUnitList(@Condition(Operator.eq) Boolean isDelete) {
return this.queryForList("", false, isDelete);
}
/**
* 保存联动单位
*
* @param linkageUnitDto 对象
* @return List<LinkageUnitDto>
*/
@Transactional
public LinkageUnitDto saveModel(LinkageUnitDto linkageUnitDto) {
if (linkageUnitDto.getAddress() != null) {
String[] data = linkageUnitDto.getAddress().split("@address@");
linkageUnitDto.setAddress(data[0]); linkageUnitDto.setAddress(data[0]);
if(data[1]!=null&&!"".equals(data[1])){ if (data[1] != null && !"".equals(data[1])) {
JSONObject jSONObject = JSON.parseObject(data[1]); JSONObject jSONObject = JSON.parseObject(data[1]);
if(jSONObject.getString("longitude")!=null&&!"".equals(jSONObject.getString("longitude"))) { if (jSONObject.getString("longitude") != null && !"".equals(jSONObject.getString("longitude"))) {
linkageUnitDto.setLongitude(Double.valueOf(jSONObject.getString("longitude"))); linkageUnitDto.setLongitude(Double.valueOf(jSONObject.getString("longitude")));
} }
if(jSONObject.getString("longitude")!=null&&!"".equals(jSONObject.getString("longitude"))) { if (jSONObject.getString("longitude") != null && !"".equals(jSONObject.getString("longitude"))) {
linkageUnitDto.setLatitude(Double.valueOf(jSONObject.getString("latitude"))); linkageUnitDto.setLatitude(Double.valueOf(jSONObject.getString("latitude")));
} }
} }
} }
//1.保存行数据 // 1.保存行数据
String groupCode = this.getGroupCode(); String groupCode = this.getGroupCode();
Map<String, Object> map = Bean.BeantoMap(linkageUnitDto); Map<String, Object> map = Bean.BeantoMap(linkageUnitDto);
Long instanceId = dynamicFormInstanceService.commonSave(groupCode, map); Long instanceId = dynamicFormInstanceService.commonSave(groupCode, map);
linkageUnitDto.setInstanceId(instanceId); linkageUnitDto.setInstanceId(instanceId);
//2.保存基本信息 // 2.保存基本信息
linkageUnitDto.setUnitCode(getUnitCodeStr()); linkageUnitDto.setUnitCode(getUnitCodeStr());
LinkageUnitDto model = createWithModel(linkageUnitDto); LinkageUnitDto model = createWithModel(linkageUnitDto);
//3.保存照片信息 // 3.保存照片信息
sourceFileServiceImpl.saveSourceFile(model.getSequenceNbr(), model.getImage()); sourceFileServiceImpl.saveSourceFile(model.getSequenceNbr(), model.getImage());
//3.返回保存后的数据 // 3.返回保存后的数据
return model; return model;
} }
@Override @Override
public LinkageUnitDto queryOne(Long sequenceNbr) { public LinkageUnitDto queryOne(Long sequenceNbr) {
String groupCode = getGroupCode(); String groupCode = getGroupCode();
List<DynamicFormColumn> columns = List<DynamicFormColumn> columns = dynamicFormColumnService
dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode)); .list(new LambdaQueryWrapper<DynamicFormColumn>().eq(DynamicFormColumn::getGroupCode, groupCode));
Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class); Map<String, Object> fieldCodes = Bean.listToMap(columns, "fieldCode", "queryStrategy", DynamicFormColumn.class);
LinkageUnitDto linkageUnitDto = linkageUnitMapper.selectOne(false, fieldCodes, groupCode, sequenceNbr); LinkageUnitDto linkageUnitDto = linkageUnitMapper.selectOne(false, fieldCodes, groupCode, sequenceNbr);
List<SourceFile> sourceFiles = sourceFileServiceImpl.findBySourceId(linkageUnitDto.getSequenceNbr()); List<SourceFile> sourceFiles = sourceFileServiceImpl.findBySourceId(linkageUnitDto.getSequenceNbr());
linkageUnitDto.setImage(sourceFiles); linkageUnitDto.setImage(sourceFiles);
return linkageUnitDto; return linkageUnitDto;
} }
@Transactional @Transactional
public Boolean deleteById(Long sequenceNbr) { public Boolean deleteById(Long sequenceNbr) {
// 删除基本信息 // 删除基本信息
LinkageUnit linkageUnit = getById(sequenceNbr); LinkageUnit linkageUnit = getById(sequenceNbr);
linkageUnit.setIsDelete(true); linkageUnit.setIsDelete(true);
updateById(linkageUnit); updateById(linkageUnit);
// 删除行 // 删除行
Long instanceId = linkageUnit.getInstanceId(); Long instanceId = linkageUnit.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList = List<DynamicFormInstance> dynamicFormInstanceList = dynamicFormInstanceService
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId)); .list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
dynamicFormInstanceList.forEach(item -> item.setIsDelete(true)); dynamicFormInstanceList.forEach(item -> item.setIsDelete(true));
boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
// 删除照片 // 删除照片
sourceFileServiceImpl.saveSourceFile(sequenceNbr, new ArrayList<>()); sourceFileServiceImpl.saveSourceFile(sequenceNbr, new ArrayList<>());
return update; return update;
} }
@Transactional @Transactional
public LinkageUnitDto updateById(LinkageUnitDto linkageUnitDto) { public LinkageUnitDto updateById(LinkageUnitDto linkageUnitDto) {
if(linkageUnitDto.getAddress()!=null){ if (linkageUnitDto.getAddress() != null) {
String[] data= linkageUnitDto.getAddress().split("@address@"); String[] data = linkageUnitDto.getAddress().split("@address@");
linkageUnitDto.setAddress(data[0]); linkageUnitDto.setAddress(data[0]);
if(data[1]!=null&&!"".equals(data[1])){ if (data[1] != null && !"".equals(data[1])) {
JSONObject jSONObject = JSON.parseObject(data[1]); JSONObject jSONObject = JSON.parseObject(data[1]);
if(jSONObject.getString("longitude")!=null&&!"".equals(jSONObject.getString("longitude"))) { if (jSONObject.getString("longitude") != null && !"".equals(jSONObject.getString("longitude"))) {
linkageUnitDto.setLongitude(Double.valueOf(jSONObject.getString("longitude"))); linkageUnitDto.setLongitude(Double.valueOf(jSONObject.getString("longitude")));
} }
if(jSONObject.getString("longitude")!=null&&!"".equals(jSONObject.getString("longitude"))) { if (jSONObject.getString("longitude") != null && !"".equals(jSONObject.getString("longitude"))) {
linkageUnitDto.setLatitude(Double.valueOf(jSONObject.getString("latitude"))); linkageUnitDto.setLatitude(Double.valueOf(jSONObject.getString("latitude")));
} }
} }
} }
// 修改基本信息 // 修改基本信息
updateWithModel(linkageUnitDto); updateWithModel(linkageUnitDto);
// 修改行信息 // 修改行信息
Long instanceId = linkageUnitDto.getInstanceId(); Long instanceId = linkageUnitDto.getInstanceId();
List<DynamicFormInstance> dynamicFormInstanceList = List<DynamicFormInstance> dynamicFormInstanceList = dynamicFormInstanceService
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId)); .list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, instanceId));
Map<String, Object> objectMap = Bean.BeantoMap(linkageUnitDto); Map<String, Object> objectMap = Bean.BeantoMap(linkageUnitDto);
dynamicFormInstanceList.forEach(item -> item.setFieldValue(objectMap.get(item.getFieldCode()) != null ? dynamicFormInstanceList.forEach(item -> item.setFieldValue(
objectMap.get(item.getFieldCode()).toString() : item.getFieldValue())); objectMap.get(item.getFieldCode()) != null ? objectMap.get(item.getFieldCode()).toString()
dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); : item.getFieldValue()));
// 修改照片信息 dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
sourceFileServiceImpl.saveSourceFile(linkageUnitDto.getSequenceNbr(), linkageUnitDto.getImage()); // 修改照片信息
return linkageUnitDto; sourceFileServiceImpl.saveSourceFile(linkageUnitDto.getSequenceNbr(), linkageUnitDto.getImage());
} return linkageUnitDto;
}
public static String getUnitCodeStr() {
return TreeParser.genTreeCode(); public static String getUnitCodeStr() {
} return TreeParser.genTreeCode();
}
@Override
public List<LinkageUnitZhDto> listLinkageUnitZhDto(Integer pageNum, Integer pageSize, RequestData par) { @Override
if (null == pageNum || null == pageSize) { public List<LinkageUnitZhDto> listLinkageUnitZhDto(Integer pageNum, Integer pageSize, RequestData par) {
pageNum = 1; if (null == pageNum || null == pageSize) {
pageSize = Integer.MAX_VALUE; pageNum = 1;
} else { pageSize = Integer.MAX_VALUE;
pageNum = (pageNum - 1) * pageSize; } else {
} pageNum = (pageNum - 1) * pageSize;
return linkageUnitMapper.listLinkageUnitZhDto(pageNum, pageSize, par); }
} return linkageUnitMapper.listLinkageUnitZhDto(pageNum, pageSize, par);
}
@Override
public Integer listLinkageUnitZhDtoCount(RequestData par) { @Override
return linkageUnitMapper.listLinkageUnitZhDtoCount(par); public Integer listLinkageUnitZhDtoCount(RequestData par) {
} return linkageUnitMapper.listLinkageUnitZhDtoCount(par);
}
/**
* 批量删除 /**
* * 批量删除
* @param sequenceNbrList *
* @return * @param sequenceNbrList
*/ * @return
public Boolean batchDelete(List<Long> sequenceNbrList) { */
// 删除基本信息 public Boolean batchDelete(List<Long> sequenceNbrList) {
List<LinkageUnit> linkageUnitList = list(new LambdaQueryWrapper<LinkageUnit>().in(LinkageUnit::getSequenceNbr, // 删除基本信息
sequenceNbrList)); List<LinkageUnit> linkageUnitList = list(
List<Long> instanceIdList = Lists.newArrayList(); new LambdaQueryWrapper<LinkageUnit>().in(LinkageUnit::getSequenceNbr, sequenceNbrList));
linkageUnitList.forEach(item -> { List<Long> instanceIdList = Lists.newArrayList();
instanceIdList.add(item.getInstanceId()); linkageUnitList.forEach(item -> {
item.setIsDelete(true); instanceIdList.add(item.getInstanceId());
}); item.setIsDelete(true);
updateBatchById(linkageUnitList); });
// 删除行信息 updateBatchById(linkageUnitList);
List<DynamicFormInstance> dynamicFormInstanceList = // 删除行信息
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().in(DynamicFormInstance::getInstanceId, instanceIdList)); List<DynamicFormInstance> dynamicFormInstanceList = dynamicFormInstanceService.list(
dynamicFormInstanceList.forEach(item -> item.setIsDelete(true)); new LambdaQueryWrapper<DynamicFormInstance>().in(DynamicFormInstance::getInstanceId, instanceIdList));
boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList); dynamicFormInstanceList.forEach(item -> item.setIsDelete(true));
// 删除照片 boolean update = dynamicFormInstanceService.updateBatchById(dynamicFormInstanceList);
sourceFileServiceImpl.getBaseMapper().delete(new LambdaQueryWrapper<SourceFile>().in(SourceFile::getSourceId, // 删除照片
sequenceNbrList)); sourceFileServiceImpl.getBaseMapper()
return update; .delete(new LambdaQueryWrapper<SourceFile>().in(SourceFile::getSourceId, sequenceNbrList));
} return update;
}
public List<Menu> getEmergencyLinkageUnitCodeGroupBy(String type, String rootName) {
List<Map<String, Object>> map = linkageUnitMapper.getEmergencyLinkageUnitCodeGroupByAndCount();
LambdaQueryWrapper<DataDictionary> queryWrapper = new LambdaQueryWrapper<DataDictionary>();
queryWrapper.eq(DataDictionary::getType, type);
queryWrapper.eq(DataDictionary::getIsDelete, false);
queryWrapper.orderByAsc(DataDictionary::getSortNum);
List<DataDictionary> list = iDataDictionaryService.list(queryWrapper);
List<DataDictionary> resultList = new ArrayList<DataDictionary>();
list.stream().forEach(i -> {
map.stream().forEach(m -> {
if (m.containsKey("emergencyLinkageUnitCode") && m.get("emergencyLinkageUnitCode").toString().equals(i.getCode())) {
i.setName(i.getName() + " " + m.get("count"));
resultList.add(i);
}
});
});
List<Menu> menuList = new ArrayList<Menu>();
try {
List<Menu> menus = TreeParser.getTree(null, resultList, DataDictionary.class.getName(), "getCode", 0, "getName",
"getParent", null);
Menu menu = new Menu(-1L, rootName, -1L, menus, 0);
// 挂在主节点
menuList.add(menu);
} catch (Exception e) {
log.debug("拼装tree树失败");
}
return menuList;
}
} }
\ No newline at end of file
...@@ -86,6 +86,7 @@ public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile ...@@ -86,6 +86,7 @@ public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile
/** /**
* 保存附件 * 保存附件
*/ */
@Override
public void saveAttachments(Long sequenceNbr, Map<String, List<AttachmentDto>> attachmentMap) { public void saveAttachments(Long sequenceNbr, Map<String, List<AttachmentDto>> attachmentMap) {
if (!ValidationUtil.isEmpty(attachmentMap)) { if (!ValidationUtil.isEmpty(attachmentMap)) {
List<SourceFile> sourceFiles = Lists.newArrayList(); List<SourceFile> sourceFiles = Lists.newArrayList();
......
package com.yeejoin.amos.boot.module.jcs.biz.controller; package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.ExcelDto; import com.yeejoin.amos.boot.module.common.api.dto.ExcelDto;
import com.yeejoin.amos.boot.module.common.api.dto.FormValue;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil; import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.api.feign.IotFeignClient; import com.yeejoin.amos.boot.module.common.api.feign.IotFeignClient;
import com.yeejoin.amos.boot.module.jcs.api.dto.AircraftDto; import com.yeejoin.amos.boot.module.jcs.api.dto.AircraftDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.AircraftListTreeDto; import com.yeejoin.amos.boot.module.jcs.api.dto.AircraftListTreeDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.KeyValueLabel;
import com.yeejoin.amos.boot.module.jcs.api.entity.Aircraft; import com.yeejoin.amos.boot.module.jcs.api.entity.Aircraft;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AircraftServiceImpl; import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AircraftServiceImpl;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AlertCalledServiceImpl;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AlertFormValueServiceImpl;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.DataSourcesImpl; import com.yeejoin.amos.boot.module.jcs.biz.service.impl.DataSourcesImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -28,10 +34,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper; ...@@ -28,10 +34,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Map;
/** /**
...@@ -51,6 +54,9 @@ public class AircraftController extends BaseController { ...@@ -51,6 +54,9 @@ public class AircraftController extends BaseController {
DataSourcesImpl dataSourcesImpl; DataSourcesImpl dataSourcesImpl;
@Autowired @Autowired
IotFeignClient iotFeignClient; IotFeignClient iotFeignClient;
@Autowired
private AlertFormValueServiceImpl iAlertFormValueService;
/** /**
* 新增航空器信息 * 新增航空器信息
* *
...@@ -161,14 +167,13 @@ public class AircraftController extends BaseController { ...@@ -161,14 +167,13 @@ public class AircraftController extends BaseController {
@GetMapping(value = "/getAircraftNum") @GetMapping(value = "/getAircraftNum")
@ApiOperation(httpMethod = "GET", value = "获取24小时内的航班号", notes = "获取24小时内的航班号") @ApiOperation(httpMethod = "GET", value = "获取24小时内的航班号", notes = "获取24小时内的航班号")
public ResponseModel<List<Map<String, Object>>> getAircraftNum() { public ResponseModel<List<Map<String, Object>>> getAircraftNum() {
List<Map<String, Object>> list= new ArrayList<>();
Map<String, Object> map=new HashedMap(); ResponseModel<List<Map<String, Object>>> dataModel= iotFeignClient.findImgByFileCategory();
Map<String, Object> map1=new HashedMap(); if(dataModel!=null) {
map.put("id", "1");map.put("name", "测试"); List<Map<String, Object>> listmap= dataModel.getResult();
map1.put("id", "12");map1.put("name", "测试2"); return ResponseHelper.buildResponse(listmap);
list.add(map1); }
list.add(map); return ResponseHelper.buildResponse(null);
return ResponseHelper.buildResponse(list);
} }
/** /**
...@@ -195,7 +200,37 @@ public class AircraftController extends BaseController { ...@@ -195,7 +200,37 @@ public class AircraftController extends BaseController {
} }
} }
return ResponseHelper.buildResponse(map1); return ResponseHelper.buildResponse(map1);
} }
/**
*
* 通过航班号,查询最新的航班信息
*
* **/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getAircraftDetailsByAlertId/{id}")
@ApiOperation(httpMethod = "GET", value = "根据灾情id 查询最新的航班信息", notes = "根据灾情id 查询最新的航班信息")
public ResponseModel<Map<String, Object>> getAircraftDetailsByAlertId(@PathVariable Long id) {
QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("alert_called_id", id);
// 警情动态表单数据
List<KeyValueLabel> listdate =new ArrayList<>();
List<AlertFormValue> list = iAlertFormValueService.list(queryWrapper);
String num=null;
if(list!=null&&list.size()>0) {
for (AlertFormValue alertFormValue : list) {
if("flightNumber".equals(alertFormValue.getFieldCode())){
num=alertFormValue.getFieldValue();
}
}
}
Map<String, Object> map=new HashedMap();
ResponseModel<Map<String, Object>> dataModel= iotFeignClient.getDynamicFlightInfo(num);
if(dataModel!=null) {
map= dataModel.getResult();
}
return ResponseHelper.buildResponse(map);
}
} }
package com.yeejoin.amos.patrol.common.remote; package com.yeejoin.amos.patrol.common.remote;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.yeejoin.amos.patrol.business.constants.XJConstant; import com.yeejoin.amos.patrol.business.constants.XJConstant;
import com.yeejoin.amos.patrol.business.param.LatentDangerListParam;
import com.yeejoin.amos.patrol.business.util.HttpUtil; import com.yeejoin.amos.patrol.business.util.HttpUtil;
import com.yeejoin.amos.patrol.common.enums.WorkFlowUriEnum; import com.yeejoin.amos.patrol.common.enums.WorkFlowUriEnum;
import com.yeejoin.amos.patrol.common.enums.YesOrNoEnum; import com.yeejoin.amos.patrol.common.enums.YesOrNoEnum;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.Map;
@Service("remoteWorkFlowService") @Service("remoteWorkFlowService")
public class RemoteWorkFlowService { public class RemoteWorkFlowService {
......
...@@ -3,11 +3,15 @@ package com.yeejoin.amos.boot.module.tzs.biz.controller; ...@@ -3,11 +3,15 @@ package com.yeejoin.amos.boot.module.tzs.biz.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.SystemClock;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; 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.NameUtils; import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
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.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledObjsDto; import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledObjsDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledDto; import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledDto;
...@@ -15,6 +19,7 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledRequestDto; ...@@ -15,6 +19,7 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledRequestDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled; import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue; import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.tzs.api.vo.AlarmStatisticsVo;
import com.yeejoin.amos.boot.module.tzs.api.vo.AlertCalledVo; import com.yeejoin.amos.boot.module.tzs.api.vo.AlertCalledVo;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertCalledServiceImpl; 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.AlertFormValueServiceImpl;
...@@ -41,7 +46,9 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper; ...@@ -41,7 +46,9 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.text.ParseException;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -89,6 +96,7 @@ public class AlertCalledController extends BaseController { ...@@ -89,6 +96,7 @@ public class AlertCalledController extends BaseController {
// AlertCalled alertCalled = alertCalledObjsDto.getAlertCalled(); // AlertCalled alertCalled = alertCalledObjsDto.getAlertCalled();
// alertCalled.setOrgCode(String.valueOf(code)); // alertCalled.setOrgCode(String.valueOf(code));
// alertCalledObjsDto.setAlertCalled(alertCalled); // alertCalledObjsDto.setAlertCalled(alertCalled);
alertCalledObjsDto =iAlertCalledService.createAlertCalled(alertCalledObjsDto); alertCalledObjsDto =iAlertCalledService.createAlertCalled(alertCalledObjsDto);
return ResponseHelper.buildResponse(alertCalledObjsDto.getAlertCalledDto()); return ResponseHelper.buildResponse(alertCalledObjsDto.getAlertCalledDto());
} }
...@@ -122,6 +130,7 @@ public class AlertCalledController extends BaseController { ...@@ -122,6 +130,7 @@ public class AlertCalledController extends BaseController {
} }
/** /**
* 根据id查询 * 根据id查询
* *
...@@ -136,6 +145,105 @@ public class AlertCalledController extends BaseController { ...@@ -136,6 +145,105 @@ public class AlertCalledController extends BaseController {
} }
/** /**
* 生成工单编号报警人及报警时间
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getWorkOderNumber")
@ApiOperation(httpMethod = "GET",value = "生成工单编号报警人及报警时间", notes = "生成工单编号报警人及报警时间")
public ResponseModel<AlertCallInfoDto> selectOne() throws ParseException {
String workOrderNumber = nextId();
AlertCallInfoDto alertCallInfoDto = new AlertCallInfoDto();
alertCallInfoDto.setCallTime(DateUtils.stampToDate(System.currentTimeMillis(),"yyyy-MM-dd HH:mm:ss "));
alertCallInfoDto.setWorkOrderNumber(workOrderNumber);
alertCallInfoDto.setRecUserId(getUserInfo().getUserId());
alertCallInfoDto.setRecUserName(getUserInfo().getUserName());
return ResponseHelper.buildResponse(alertCallInfoDto);
}
/**
* 获取下一个 工单编号
*
* @return 下一个 工单编号
*/
public synchronized String nextId() throws ParseException {
String number = DateUtils.stampToDate(SystemClock.now(),"yyyy-MM-dd HH:mm:ss SSS");
String newNumber = number.replace("-","").replace(" ","").replace(":","");
ReginParams reginParams =
JSONObject.parseObject(null != redisUtils.get(buildKey(getToken())) ?
redisUtils.get(buildKey(getToken())).toString() : null, ReginParams.class);
// Map<String, Object> map = iAlertCalledService.getAlertInfoList(DateUtils.dateFormat(new Date(),"")+" 00:00:00",
// DateUtils.dateFormat(new Date(),"")+" 23:59:59",reginParams.getCompany().getOrgCode(),
// reginParams.getUserModel().getUserId());
Map<String, Object> map = iAlertCalledService.getAlertInfoList(DateUtils.dateFormat(new Date(),"")+" 00:00:00",
DateUtils.dateFormat(new Date(),"")+" 23:59:59",null,
null);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(newNumber);
String workOrderNumber = stringBuilder.append(map.get("calledCount") == null ? "1" : String.valueOf(Integer.parseInt(map.get("calledCount").toString()) + 1)).toString() ;
return workOrderNumber;
}
/**
* 警情统计
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/alertStatistics")
@ApiOperation(httpMethod = "GET",value = "警情统计", notes = "警情统计")
public ResponseModel<AlarmStatisticsVo> alertStatistics() throws ParseException {
ReginParams reginParams =
JSONObject.parseObject(null != redisUtils.get(buildKey(getToken())) ?
redisUtils.get(buildKey(getToken())).toString() : null, ReginParams.class);
//我的待办数量
QueryWrapper<AlertCalled> todoNumQueryWrapper = new QueryWrapper<>();
//全部待办数量
QueryWrapper<AlertCalled> allNumQueryWrapper = new QueryWrapper<>();
AlarmStatisticsVo alarmStatisticsVo = new AlarmStatisticsVo();
todoNumQueryWrapper.eq("alert_status",false);
allNumQueryWrapper.eq("alert_status",false);
if(null != reginParams) {
todoNumQueryWrapper.eq("rec_user_id",reginParams.getUserModel().getUserId());
todoNumQueryWrapper.or(true);
todoNumQueryWrapper.eq("org_code",reginParams.getCompany().getOrgCode());
alarmStatisticsVo.setTodoNum(iAlertCalledService.list(todoNumQueryWrapper).size());
alarmStatisticsVo.setAllNum(iAlertCalledService.list(allNumQueryWrapper).size());
Map<String, Object> map = iAlertCalledService.getAlertInfoList(DateUtils.dateFormat(new Date(),"")+" 00:00:00",
DateUtils.dateFormat(new Date(),"")+" 23:59:59",reginParams.getCompany().getOrgCode(),
reginParams.getUserModel().getUserId());
// 当天接警
alarmStatisticsVo.setTodayAlarmNum(map.get("calledCount") == null ? 0 : Integer.valueOf(map.get("calledCount").toString())) ;
//当天提交
alarmStatisticsVo.setTodayAlarmNum(map.get("majorAlertCount") == null ? 0 : Integer.valueOf(map.get("majorAlertCount").toString())) ;
//投诉咨询数量
alarmStatisticsVo.setSuggestions(map.get("suggestionsCount") == null ? 0 : Integer.valueOf(map.get("suggestionsCount").toString())) ;
//故障维修数量
alarmStatisticsVo.setSuggestions(map.get("faultRescueCount") == null ? 0 : Integer.valueOf(map.get("faultRescueCount").toString())) ;
//困人救援数量
alarmStatisticsVo.setSuggestions(map.get("sleepyIncidentCount") == null ? 0 : Integer.valueOf(map.get("sleepyIncidentCount").toString())) ;
Map<String,Integer> recordMap = Maps.newHashMap();
// 近七天办理数量
for(int i = 1 ; i < 8; i++) {
Map<String, Object> nearlySevenDaysMap = iAlertCalledService.getAlertInfoList(
DateUtils.dateFormat(DateUtils.dateAddDays(new Date(), -i),"")+" 00:00:00",
DateUtils.dateFormat(DateUtils.dateAddDays(new Date(), -i),"")+" 23:59:59",reginParams.getCompany().getOrgCode(),
reginParams.getUserModel().getUserId());
recordMap.put(DateUtils.dateFormat(DateUtils.dateAddDays(new Date(), -i),""),nearlySevenDaysMap.get("calledCount") == null ? 0 : Integer.valueOf(nearlySevenDaysMap.get("calledCount").toString()));
}
alarmStatisticsVo.setNearlySevenDaysNum(recordMap);
}
return ResponseHelper.buildResponse(alarmStatisticsVo);
}
/**
* 列表分页查询 * 列表分页查询
* *
* @param pageNum 当前页 * @param pageNum 当前页
......
...@@ -4,8 +4,11 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,8 +4,11 @@ import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchConsultFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchRepairFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchSaveFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.DispatchPaperServiceImpl; import com.yeejoin.amos.boot.module.tzs.biz.service.impl.DispatchPaperServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -42,28 +45,90 @@ public class DispatchPaperController extends BaseController { ...@@ -42,28 +45,90 @@ public class DispatchPaperController extends BaseController {
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
/** /**
* 新增派遣单 * 通过警情id 获取 救援回访相关信息
* * @param alertId
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save") @GetMapping(value = "/feedback/save/{alertId}")
@ApiOperation(httpMethod = "POST", value = "新增派遣单", notes = "新增派遣单") @ApiOperation(httpMethod = "GET", value = "通过警情id 获取 救援回访相关信息", notes = "通过警情id 获取 救援回访相关信息")
public ResponseModel<DispatchPaperFormDto> save(@RequestBody DispatchPaperFormDto dispatchPaperFormDto) { public ResponseModel<DispatchSaveFeedbackDto> getSaveFeedback(@PathVariable Long alertId) {
if (ValidationUtil.isEmpty(dispatchPaperFormDto)
|| ValidationUtil.isEmpty(dispatchPaperFormDto.getDispatchPaper())) DispatchSaveFeedbackDto dispatchSaveFeedbackDto = dispatchPaperServiceImpl.getDispatchSaveFeedbackDtoByAlertId(alertId);
return ResponseHelper.buildResponse(dispatchSaveFeedbackDto);
}
/**
* 保存救援回访信息
* @param dispatchSaveFeedbackDto
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/feedback/save")
@ApiOperation(httpMethod = "POST", value = "保存救援回访信息", notes = "保存救援回访信息")
public ResponseModel<Boolean> saveSaveFeedBack(@RequestBody DispatchSaveFeedbackDto dispatchSaveFeedbackDto) {
if (ValidationUtil.isEmpty(dispatchSaveFeedbackDto)
|| ValidationUtil.isEmpty(dispatchSaveFeedbackDto.getAlertId()))
throw new BadRequest("参数校验失败.");
return ResponseHelper.buildResponse(dispatchPaperServiceImpl.saveDispatchSaveFeedback(dispatchSaveFeedbackDto));
}
/**
* 通过警情id 获取 维修回访相关信息
* @param alertId
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/feedback/repair/{alertId}")
@ApiOperation(httpMethod = "GET", value = "通过警情id 获取 维修回访相关信息", notes = "通过警情id 获取 维修回访相关信息")
public ResponseModel<DispatchRepairFeedbackDto> getRepairFeedBack(@PathVariable Long alertId) {
DispatchRepairFeedbackDto dispatchRepairFeedbackDto = dispatchPaperServiceImpl.getDispatchRepairFeedbackDtoByAlertId(alertId);
return ResponseHelper.buildResponse(dispatchRepairFeedbackDto);
}
/**
* 保存维修回访信息
* @param dispatchRepairFeedbackDto
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/feedback/repair")
@ApiOperation(httpMethod = "POST", value = "保存维修回访信息", notes = "保存维修回访信息")
public ResponseModel<Boolean> saveRepairFeedBack(@RequestBody DispatchRepairFeedbackDto dispatchRepairFeedbackDto) {
if (ValidationUtil.isEmpty(dispatchRepairFeedbackDto)
|| ValidationUtil.isEmpty(dispatchRepairFeedbackDto.getAlertId()))
throw new BadRequest("参数校验失败.");
return ResponseHelper.buildResponse(dispatchPaperServiceImpl.saveDispatchRepairFeedback(dispatchRepairFeedbackDto));
}
/**
* 通过警情id 获取 投诉回访相关信息
* @param alertId
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/feedback/consult/{alertId}")
@ApiOperation(httpMethod = "GET", value = "通过警情id 获取 投诉回访相关信息", notes = "通过警情id 获取 投诉回访相关信息")
public ResponseModel<DispatchConsultFeedbackDto> getConsultFeedBack(@PathVariable Long alertId) {
DispatchConsultFeedbackDto dispatchConsultFeedbackDto = dispatchPaperServiceImpl.getDispatchConsultFeedbackDtoByAlertId(alertId);
return ResponseHelper.buildResponse(dispatchConsultFeedbackDto);
}
/**
* 保存投诉回访信息
* @param dispatchConsultFeedbackDto
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/feedback/consult")
@ApiOperation(httpMethod = "POST", value = "保存投诉回访信息", notes = "保存投诉回访信息")
public ResponseModel<Boolean> saveConsultFeedBack(@RequestBody DispatchConsultFeedbackDto dispatchConsultFeedbackDto) {
if (ValidationUtil.isEmpty(dispatchConsultFeedbackDto)
|| ValidationUtil.isEmpty(dispatchConsultFeedbackDto.getAlertId()))
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
ReginParams reginParams = return ResponseHelper.buildResponse(dispatchPaperServiceImpl.saveDispatchConsultFeedback(dispatchConsultFeedbackDto));
JSONObject.parseObject(null != redisUtils.get(buildKey(getToken())) ?
redisUtils.get(buildKey(getToken())).toString() : null, ReginParams.class);
//获取当前登录人公司
String orgCode= reginParams.getCompany().getOrgCode();
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
dispatchPaper.setOrgCode(orgCode);
dispatchPaperFormDto.setDispatchPaper(dispatchPaper);
dispatchPaperFormDto = dispatchPaperServiceImpl.createDispatchPaper(dispatchPaperFormDto);
return ResponseHelper.buildResponse(dispatchPaperFormDto);
} }
/** /**
......
...@@ -38,7 +38,7 @@ import java.util.List; ...@@ -38,7 +38,7 @@ import java.util.List;
*/ */
@RestController @RestController
@Api(tags = "电梯Api") @Api(tags = "电梯Api")
@RequestMapping(value = "/tzs/elevator") @RequestMapping(value = "/elevator")
public class ElevatorController extends BaseController { public class ElevatorController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(ElevatorController.class); private final Logger logger = LoggerFactory.getLogger(ElevatorController.class);
...@@ -52,7 +52,7 @@ public class ElevatorController extends BaseController { ...@@ -52,7 +52,7 @@ public class ElevatorController extends BaseController {
* @param elevatorDto 新增参数 * @param elevatorDto 新增参数
* @return 返回结果 * @return 返回结果
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/save", method = RequestMethod.POST) @RequestMapping(value = "/save", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增电梯", notes = "新增电梯") @ApiOperation(httpMethod = "POST", value = "新增电梯", notes = "新增电梯")
public ResponseModel<Boolean> saveElevator(@RequestBody ElevatorDto elevatorDto) { public ResponseModel<Boolean> saveElevator(@RequestBody ElevatorDto elevatorDto) {
...@@ -67,12 +67,12 @@ public class ElevatorController extends BaseController { ...@@ -67,12 +67,12 @@ public class ElevatorController extends BaseController {
* @param id id * @param id id
* @return 返回结果 * @return 返回结果
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE) @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除") @ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public ResponseModel<Boolean> deleteById(@PathVariable Long id) { public ResponseModel<Boolean> deleteById(@PathVariable Long id) {
boolean remove = iElevatorService.removeById(id); boolean removed = iElevatorService.removeById(id);
return ResponseHelper.buildResponse(remove); return ResponseHelper.buildResponse(removed);
} }
/** /**
...@@ -81,7 +81,7 @@ public class ElevatorController extends BaseController { ...@@ -81,7 +81,7 @@ public class ElevatorController extends BaseController {
* @param elevatorDto 修改参数 * @param elevatorDto 修改参数
* @return 返回结果 * @return 返回结果
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT) @RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改电梯", notes = "修改电梯") @ApiOperation(httpMethod = "PUT", value = "修改电梯", notes = "修改电梯")
public ResponseModel<Boolean> updateByIdElevator(@RequestBody ElevatorDto elevatorDto) { public ResponseModel<Boolean> updateByIdElevator(@RequestBody ElevatorDto elevatorDto) {
...@@ -211,7 +211,7 @@ public class ElevatorController extends BaseController { ...@@ -211,7 +211,7 @@ public class ElevatorController extends BaseController {
* @param elevatorDto 查询参数 * @param elevatorDto 查询参数
* @return 查询结果 * @return 查询结果
*/ */
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/query_elevator_list", method = RequestMethod.GET) @RequestMapping(value = "/query_elevator_list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "分页查询电梯信息", notes = "分页查询电梯信息") @ApiOperation(httpMethod = "GET", value = "分页查询电梯信息", notes = "分页查询电梯信息")
public ResponseModel<IPage<ElevatorVo>> queryElevatorList(String pageNum, String pageSize, public ResponseModel<IPage<ElevatorVo>> queryElevatorList(String pageNum, String pageSize,
......
...@@ -41,7 +41,7 @@ import java.util.Arrays; ...@@ -41,7 +41,7 @@ import java.util.Arrays;
*/ */
@RestController @RestController
@Api(tags = "维保单位Api") @Api(tags = "维保单位Api")
@RequestMapping(value = "/tzs/maintenance-unit") @RequestMapping(value = "/maintenance-unit")
public class MaintenanceUnitController extends BaseController { public class MaintenanceUnitController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(MaintenanceUnitController.class); private final Logger logger = LoggerFactory.getLogger(MaintenanceUnitController.class);
......
package com.yeejoin.amos.boot.module.tzs.biz.controller; package com.yeejoin.amos.boot.module.tzs.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation;
import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.Date;
import java.util.List; import java.util.List;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.RescueProcessServiceImpl; import com.yeejoin.amos.boot.module.tzs.biz.service.impl.RescueProcessServiceImpl;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -31,57 +39,37 @@ public class RescueProcessController extends BaseController { ...@@ -31,57 +39,37 @@ public class RescueProcessController extends BaseController {
@Autowired @Autowired
RescueProcessServiceImpl rescueProcessServiceImpl; RescueProcessServiceImpl rescueProcessServiceImpl;
/**
* 新增救援过程表 @Autowired
* RedisUtils redisUtils;
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增救援过程表", notes = "新增救援过程表")
public ResponseModel<RescueProcessDto> save(@RequestBody RescueProcessDto model) {
model = rescueProcessServiceImpl.createWithModel(model);
return ResponseHelper.buildResponse(model);
}
/** /**
* 根据sequenceNbr更新 * 根据警情id 更新救援信息表
* * @param model
* @param sequenceNbr 主键 * @return
* @return */
*/
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @PostMapping(value = "/updateByAlertId")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新救援过程表", notes = "根据sequenceNbr更新救援过程表") @ApiOperation(httpMethod = "PUT", value = "根据警情id 更新救援信息表", notes = "根据警情id 更新救援信息表")
public ResponseModel<RescueProcessDto> updateBySequenceNbrRescueProcess(@RequestBody RescueProcessDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<Boolean> save(@RequestBody RescueProcessDto model) {
model.setSequenceNbr(sequenceNbr); ReginParams reginParams =
return ResponseHelper.buildResponse(rescueProcessServiceImpl.updateWithModel(model)); JSONObject.parseObject(null != redisUtils.get(buildKey(getToken())) ?
redisUtils.get(buildKey(getToken())).toString() : null, ReginParams.class);
boolean update = rescueProcessServiceImpl.updateByAlertId(model,reginParams.getUserModel());
return ResponseHelper.buildResponse(update);
} }
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除救援过程表", notes = "根据sequenceNbr删除救援过程表")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(rescueProcessServiceImpl.removeById(sequenceNbr));
}
/** /**
* 根据sequenceNbr查询 * 根据警情id 获取救援过程表
* * @param alertId
* @param sequenceNbr 主键 * @return
* @return */
*/
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/alert/{alertId}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个救援过程表", notes = "根据sequenceNbr查询单个救援过程表") @ApiOperation(httpMethod = "GET",value = "根据警情id 获取救援过程表", notes = "根据警情id 获取救援过程表")
public ResponseModel<RescueProcessDto> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<RescueProcessDto> selectOne(@PathVariable Long alertId) {
return ResponseHelper.buildResponse(rescueProcessServiceImpl.queryBySeq(sequenceNbr)); return ResponseHelper.buildResponse(rescueProcessServiceImpl.getProcessByAlertId(alertId));
} }
/** /**
......
...@@ -37,7 +37,7 @@ import java.util.Date; ...@@ -37,7 +37,7 @@ import java.util.Date;
*/ */
@RestController @RestController
@Api(tags = "救援站Api") @Api(tags = "救援站Api")
@RequestMapping(value = "/tzs/rescue-station") @RequestMapping(value = "/rescue-station")
public class RescueStationController extends BaseController { public class RescueStationController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(RescueStationController.class); private final Logger logger = LoggerFactory.getLogger(RescueStationController.class);
......
...@@ -19,7 +19,11 @@ import org.apache.commons.lang3.StringUtils; ...@@ -19,7 +19,11 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.PathVariable;
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.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
...@@ -29,6 +33,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -29,6 +33,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Arrays; import java.util.Arrays;
//import com.yeejoin.amos.boot.module.tzs.api.service.EquipFeignService;
/** /**
* 使用单位 * 使用单位
...@@ -38,7 +44,7 @@ import java.util.Arrays; ...@@ -38,7 +44,7 @@ import java.util.Arrays;
*/ */
@RestController @RestController
@Api(tags = "使用单位Api") @Api(tags = "使用单位Api")
@RequestMapping(value = "/tzs/use-unit") @RequestMapping(value = "/use-unit")
public class UseUnitController extends BaseController { public class UseUnitController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(UseUnitController.class); private final Logger logger = LoggerFactory.getLogger(UseUnitController.class);
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.biz.service.impl; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils; import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
...@@ -30,8 +31,8 @@ import org.typroject.tyboot.core.rdbms.service.BaseService; ...@@ -30,8 +31,8 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 警情接警填报记录服务实现类 * 警情接警填报记录服务实现类
...@@ -63,15 +64,22 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall ...@@ -63,15 +64,22 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
@Autowired @Autowired
private RepairConsultServiceImpl repairConsultService; private RepairConsultServiceImpl repairConsultService;
@Autowired
AlertCalledMapper alertCalledMapper;
@Autowired
RescueProcessServiceImpl rescueProcessServiceImpl;
private final Logger logger = LogManager.getLogger(AlertCalledServiceImpl.class); private final Logger logger = LogManager.getLogger(AlertCalledServiceImpl.class);
@Override @Override
public Object selectAlertCalledById(Long id) { public Object selectAlertCalledById(Long id) {
if(redisUtils.hasKey(RedisKey.ALERTCALLED_ID+id)){ /* if(redisUtils.hasKey(RedisKey.ALERTCALLED_ID+id)){
Object obj= redisUtils.get(RedisKey.ALERTCALLED_ID+id); Object obj= redisUtils.get(RedisKey.ALERTCALLED_ID+id);
return obj; return JSON.toJavaObject((JSON) obj,AlertCalledFormDto.class);
}else{ }else{*/
// 警情基本信息 // 警情基本信息
AlertCalled alertCalled = this.getById(id); AlertCalled alertCalled = this.getById(id);
QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>(); QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>();
...@@ -88,7 +96,7 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall ...@@ -88,7 +96,7 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
AlertCalledDto alertCalledDto = BeanDtoVoUtils.convert(alertCalled,AlertCalledDto.class); AlertCalledDto alertCalledDto = BeanDtoVoUtils.convert(alertCalled,AlertCalledDto.class);
AlertCalledVo alertCalledVo = AlertBeanDtoVoUtils.convertAlertCalledDtoToVo(alertCalledDto); AlertCalledVo alertCalledVo = AlertBeanDtoVoUtils.convertAlertCalledDtoToVo(alertCalledDto);
QueryWrapper<Elevator> elevatorQueryWrapper = new QueryWrapper<>(); QueryWrapper<Elevator> elevatorQueryWrapper = new QueryWrapper<>();
elevatorQueryWrapper.eq("rescue_code", Integer.parseInt(alertCalled.getDeviceId())); elevatorQueryWrapper.eq("rescue_code", alertCalled.getDeviceId());
elevatorQueryWrapper.eq("register_code", alertCalled.getRegistrationCode()); elevatorQueryWrapper.eq("register_code", alertCalled.getRegistrationCode());
Elevator elevator = iElevatorService.getOne(elevatorQueryWrapper); Elevator elevator = iElevatorService.getOne(elevatorQueryWrapper);
if(null != elevator) { if(null != elevator) {
...@@ -103,9 +111,9 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall ...@@ -103,9 +111,9 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
} }
AlertCalledFormDto alertCalledFormVo = new AlertCalledFormDto(alertCalledVo, formValue); AlertCalledFormDto alertCalledFormVo = new AlertCalledFormDto(alertCalledVo, formValue);
redisUtils.set(RedisKey.ALERTCALLED_ID+id, JSON.toJSON(alertCalledFormVo),time); //redisUtils.set(RedisKey.ALERTCALLED_ID+id, JSON.toJSON(alertCalledFormVo),time);
return alertCalledFormVo; return alertCalledFormVo;
} //}
} }
...@@ -125,7 +133,7 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall ...@@ -125,7 +133,7 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
AlertCalled alertCalled = BeanDtoVoUtils.convert(alertCalledObjsDto.getAlertCalledDto(),AlertCalled.class); AlertCalled alertCalled = BeanDtoVoUtils.convert(alertCalledObjsDto.getAlertCalledDto(),AlertCalled.class);
alertCalled.setCallTime(new Date()); alertCalled.setCallTime(DateUtils.longStr2Date(alertCalled.getCallTimeStr()));
// 判断是否归并警情 // 判断是否归并警情
if (alertCalled.getFatherAlert() != null) { if (alertCalled.getFatherAlert() != null) {
...@@ -141,18 +149,14 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall ...@@ -141,18 +149,14 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
// 填充警情主键 // 填充警情主键
alertFormValuelist.stream().forEach(alertFormValue -> { alertFormValuelist.stream().forEach(alertFormValue -> {
alertFormValue.setAlertCalledId(alertCalled.getSequenceNbr()); alertFormValue.setAlertCalledId(alertCalled.getSequenceNbr());
if(AlertStageEnums.GZWX.toString().equals(alertCalled.getAlarmTypeCode()) ){ alertFormValue.setAlertTypeCode(alertCalled.getAlarmTypeCode());
alertFormValue.setAlertTypeCode(AlertStageEnums.GZWX.getCode());
}
if(AlertStageEnums.TSZX.toString().equals(alertCalled.getAlarmTypeCode()) ) {
alertFormValue.setAlertTypeCode(AlertStageEnums.TSZX.getCode());
}
if(AlertStageEnums.KRJY.toString().equals(alertCalled.getAlarmTypeCode()) ) {
alertFormValue.setAlertTypeCode(AlertStageEnums.KRJY.getCode());
}
}); });
// 保存动态表单数据 // 保存动态表单数据
iAlertFormValueService.saveBatch(alertFormValuelist); iAlertFormValueService.saveBatch(alertFormValuelist);
// 警情基本信息
AlertCalled alertCalledFather = this.getById(alertCalled.getFatherAlert());
alertCalledObjsDto.setAlertCalledDto(BeanDtoVoUtils.convert(alertCalledFather,AlertCalledDto.class));
} else { } else {
// 警情报送 // 警情报送
// ****************************************************待确认开发 // ****************************************************待确认开发
...@@ -169,16 +173,13 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall ...@@ -169,16 +173,13 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
// 填充警情主键 // 填充警情主键
alertFormValuelist.stream().forEach(alertFormValue -> { alertFormValuelist.stream().forEach(alertFormValue -> {
alertFormValue.setAlertCalledId(alertCalled.getSequenceNbr()); alertFormValue.setAlertCalledId(alertCalled.getSequenceNbr());
if(AlertStageEnums.GZWX.toString().equals(alertCalled.getAlarmTypeCode()) ){ alertFormValue.setAlertTypeCode(alertCalled.getAlarmTypeCode());
alertFormValue.setAlertTypeCode(AlertStageEnums.GZWX.getCode());
}
if(AlertStageEnums.TSZX.toString().equals(alertCalled.getAlarmTypeCode()) ) {
alertFormValue.setAlertTypeCode(AlertStageEnums.TSZX.getCode());
}
if(AlertStageEnums.KRJY.toString().equals(alertCalled.getAlarmTypeCode()) ) {
alertFormValue.setAlertTypeCode(AlertStageEnums.KRJY.getCode());
}
}); });
if(AlertStageEnums.KRJY.getCode().equals(alertCalled.getAlarmTypeCode()) ) {
//困人救援创建警情时创建救援过程信息
rescueProcessServiceImpl.getProcessByAlertId(alertCalled.getSequenceNbr());
}
// 保存动态表单数据 // 保存动态表单数据
iAlertFormValueService.saveBatch(alertFormValuelist); iAlertFormValueService.saveBatch(alertFormValuelist);
alertCalledObjsDto.setAlertCalledDto(BeanDtoVoUtils.convert(alertCalled,AlertCalledDto.class)); alertCalledObjsDto.setAlertCalledDto(BeanDtoVoUtils.convert(alertCalled,AlertCalledDto.class));
...@@ -224,4 +225,19 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall ...@@ -224,4 +225,19 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
repairConsult.setDescription(transferDetails); repairConsult.setDescription(transferDetails);
repairConsultService.save(repairConsult); repairConsultService.save(repairConsult);
} }
public Map<String, Object> getAlertInfoList(String beginDate, String endDate,String orgCode, String recUserId) {
Map<String, Object> result = Maps.newHashMap();
Map<String, Integer> statusCountMap = alertCalledMapper.queryAlertStatusCount(beginDate, endDate,orgCode,recUserId);
result.put("calledCount",statusCountMap.get("calledCount"));
result.put("majorAlertCount",statusCountMap.get("majorAlertCount"));
result.put("sleepyIncidentCount",statusCountMap.get("sleepyIncidentCount"));
result.put("faultRescueCount",statusCountMap.get("faultRescueCount"));
result.put("suggestionsCount",statusCountMap.get("suggestionsCount"));
return result;
}
} }
\ No newline at end of file
package com.yeejoin.amos.boot.module.tzs.biz.service.impl; package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertFormInitDto; import com.yeejoin.amos.boot.module.tzs.api.dto.AlertFormInitDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchConsultFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchRepairFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchSaveFeedbackDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue; import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
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.api.enums.DispatchPaperEnums; import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.mapper.DispatchPaperMapper; import com.yeejoin.amos.boot.module.tzs.api.mapper.DispatchPaperMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchPaperService; import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchPaperService;
import com.yeejoin.amos.boot.module.tzs.api.service.IMaintenanceUnitService;
import com.yeejoin.amos.boot.module.tzs.api.vo.AlertCalledVo;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.StringUtils;
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 org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import static org.typroject.tyboot.core.foundation.context.RequestContext.getToken;
/** /**
* 派遣单服务实现类 * 派遣单服务实现类
* *
...@@ -40,6 +51,25 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -40,6 +51,25 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
@Autowired @Autowired
private AlertFormServiceImpl alertFormServiceImpl; private AlertFormServiceImpl alertFormServiceImpl;
@Autowired
private ElevatorServiceImpl elevatorServiceImpl;
@Autowired
private IMaintenanceUnitService iMaintenanceUnitService;
@Autowired
private AlertCalledServiceImpl alertCalledServiceImpl;
@Autowired
private DispatchTaskServiceImpl dispatchTaskServiceImpl;
@Autowired
private DataDictionaryServiceImpl iDataDictionaryService;
@Autowired
private RescueProcessServiceImpl rescueProcessServiceImpl;
/** /**
* 分页查询 * 分页查询
*/ */
...@@ -93,14 +123,18 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -93,14 +123,18 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
} }
@Override @Override
public Object selectDispatchPaperDtoByAlertId(Long alertId) { public DispatchPaperFormDto selectDispatchPaperDtoByAlertId(Long alertId) {
// 根据警情id 获取 派遣单信息 // 根据警情id 获取 派遣单信息
DispatchPaper dispatchPaper =selectDispatchPaperByAlertId(alertId); DispatchPaper dispatchPaper =selectDispatchPaperByAlertId(alertId);
// 封装dto // 封装dto
DispatchPaperFormDto dispatchPaperFormDto = new DispatchPaperFormDto(); DispatchPaperFormDto dispatchPaperFormDto = new DispatchPaperFormDto();
if(dispatchPaper == null) { //如果没有找到paper 返回空Dto
return dispatchPaperFormDto;
}
dispatchPaperFormDto.setDispatchPaper(dispatchPaper); dispatchPaperFormDto.setDispatchPaper(dispatchPaper);
QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>(); QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("alert_called_id", dispatchPaper.getSequenceNbr()).eq("alert_type_code",dispatchPaper.getAlertCode()); queryWrapper.eq("alert_called_id", dispatchPaper.getSequenceNbr()).eq("alert_type_code", DispatchPaperEnums.getEnum(dispatchPaper.getAlertCode()).getDynamicCode());
// 派遣单动态表单数据 // 派遣单动态表单数据
List<AlertFormValue> list = iAlertFormValueService.list(queryWrapper); List<AlertFormValue> list = iAlertFormValueService.list(queryWrapper);
dispatchPaperFormDto.setDynamicFormAlert(list); dispatchPaperFormDto.setDynamicFormAlert(list);
...@@ -110,8 +144,8 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -110,8 +144,8 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
} }
@Override @Override
public DispatchPaper createDispatchPaper(Long alertId, String alertCode, AgencyUserModel sendUser) { public DispatchPaperFormDto createDispatchPaper(Long alertId, String alertCode, AgencyUserModel sendUser) {
DispatchPaperFormDto dispatchPaperFormDto = new DispatchPaperFormDto();
// 创建基本信息 // 创建基本信息
DispatchPaper dispatchPaper = new DispatchPaper(); DispatchPaper dispatchPaper = new DispatchPaper();
dispatchPaper.setAlertCode(alertCode); dispatchPaper.setAlertCode(alertCode);
...@@ -131,6 +165,11 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -131,6 +165,11 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
dispatchPaper.setSendUserId(sendUser.getUserId()); dispatchPaper.setSendUserId(sendUser.getUserId());
dispatchPaper.setSendUserName(sendUser.getUserName()); dispatchPaper.setSendUserName(sendUser.getUserName());
// 电梯维保单位统一信用代码
Elevator elevator = elevatorServiceImpl.selectByAlertId(alertId);
MaintenanceUnit maintenanceUnit = iMaintenanceUnitService.getById(elevator.getMaintainUnitId());
dispatchPaper.setRepairOrgCreditCode(maintenanceUnit.getSocialCreditCode());
this.save(dispatchPaper); this.save(dispatchPaper);
// 根据类型创建动态表单信息 // 根据类型创建动态表单信息
...@@ -141,11 +180,550 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa ...@@ -141,11 +180,550 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
alertFormInitDtoList.stream().forEach(initDto -> { alertFormInitDtoList.stream().forEach(initDto -> {
initDto.getFormItemDescr().setAlertCalledId(dispatchPaper.getSequenceNbr()); initDto.getFormItemDescr().setAlertCalledId(dispatchPaper.getSequenceNbr());
initDto.getFormItemDescr().setAlertTypeCode(DispatchPaperEnums.getEnum(dispatchPaper.getAlertCode()).getDynamicCode()); initDto.getFormItemDescr().setAlertTypeCode(DispatchPaperEnums.getEnum(dispatchPaper.getAlertCode()).getDynamicCode());
initDto.getFormItemDescr().setFieldValue(null);
paperFormValuelist.add(initDto.getFormItemDescr()); paperFormValuelist.add(initDto.getFormItemDescr());
}); });
// 保存动态表单数据 // 保存动态表单数据
iAlertFormValueService.saveBatch(paperFormValuelist); iAlertFormValueService.saveBatch(paperFormValuelist);
return dispatchPaper; dispatchPaperFormDto.setDispatchPaper(dispatchPaper);
dispatchPaperFormDto.setDynamicFormAlert(paperFormValuelist);
if("KRJY".equals(alertCode)) {
RescueProcessDto rescueProcessDto = new RescueProcessDto();
rescueProcessDto.setAlertId(alertId);
rescueProcessDto.setDispatchStatus(true);
rescueProcessDto.setDispatchTime(dispatchPaper.getDispatchTime());
rescueProcessServiceImpl.updateByAlertId(rescueProcessDto,null);
}
return dispatchPaperFormDto;
}
@Override
public DispatchSaveFeedbackDto getDispatchSaveFeedbackDtoByAlertId(Long alertId) {
DispatchSaveFeedbackDto dispatchSaveFeedbackDto = new DispatchSaveFeedbackDto();
dispatchSaveFeedbackDto.setAlertId(alertId);
AlertCalledFormDto alertCalledFormVo = (AlertCalledFormDto) alertCalledServiceImpl.selectAlertCalledById(alertId);
// 警情信息
AlertCalledVo alertCalledVo = alertCalledFormVo.getAlertCalledVo();
dispatchSaveFeedbackDto.setEmergency(alertCalledVo.getEmergencyPerson());
dispatchSaveFeedbackDto.setEmergencyCall(alertCalledVo.getEmergencyCall());
// 派遣单信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(alertId);
if(dispatchPaperFormDto == null || dispatchPaperFormDto.getDispatchPaper() == null) {
return new DispatchSaveFeedbackDto(); // 如果没有派遣就没有派遣反馈信息
}
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
dispatchSaveFeedbackDto.setFeedbackCode(dispatchPaper.getFeedbackCode());
dispatchSaveFeedbackDto.setFeedbackType(dispatchPaper.getFeedbackType());
dispatchSaveFeedbackDto.setFeedbackFinishTime(dispatchPaper.getFeedbackFinishTime());
dispatchSaveFeedbackDto.setRemark(dispatchPaper.getRemark());
if(StringUtils.isBlank(dispatchPaper.getFeedbackUid())) {
dispatchSaveFeedbackDto.setFeedbackUid(null);
} else {
dispatchSaveFeedbackDto.setFeedbackUid(dispatchPaper.getFeedbackUid());
}
if(StringUtils.isBlank(dispatchPaper.getFeedbackUname())) {
dispatchSaveFeedbackDto.setFeedbackUname(null);
} else {
dispatchSaveFeedbackDto.setFeedbackUname(dispatchPaper.getFeedbackUname());
}
//救援响应人和维保响应人
Long useOrgTaskId = dispatchPaper.getUseOrgTaskId();
Long repairOrgTaskId = dispatchPaper.getRepairOrgTaskId();
// 如果维保单位和使用单位都下单了 默认显示维保单位
DispatchTask dispatchTask = null;
if(repairOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(repairOrgTaskId);
dispatchSaveFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchSaveFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
} else if(useOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(useOrgTaskId);
dispatchSaveFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchSaveFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
}
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
String value = null;
switch (alertFormValue.getFieldCode()) {
case "save_feedback_time":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchSaveFeedbackDto.setSaveFeedbackTime(null);
} else {
try {
dispatchSaveFeedbackDto.setSaveFeedbackTime(sdf.parse(value));
} catch (ParseException e) {
throw new BadRequest("救援时间格式错误");
}
}
break;
case "save_feedback_user":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchSaveFeedbackDto.setSaveFeedbackUser(null);
} else {
dispatchSaveFeedbackDto.setSaveFeedbackUser(value);
}
break;
case "save_feedback_uid":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchSaveFeedbackDto.setSaveFeedbackUid(null);
} else {
dispatchSaveFeedbackDto.setSaveFeedbackUid(value);
}
break;
case "save_feedback_result":
value = alertFormValue.getFieldValue();
dispatchSaveFeedbackDto.setSaveFeedbackResult(value);
break;
case "fix_result":
value = alertFormValue.getFieldValue();
dispatchSaveFeedbackDto.setFixResult(value);
break;
case "error_result":
value = alertFormValue.getFieldValue();
dispatchSaveFeedbackDto.setErrorResult(value);
break;
}
});
return dispatchSaveFeedbackDto;
}
@Override
public Boolean saveDispatchSaveFeedback(DispatchSaveFeedbackDto dispatchSaveFeedbackDto) {
Boolean flag = false;
// 保存救援回访信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(dispatchSaveFeedbackDto.getAlertId());
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
switch (alertFormValue.getFieldCode()) {
case "save_feedback_time":
if (dispatchSaveFeedbackDto.getSaveFeedbackTime() != null)
alertFormValue.setFieldValue(sdf.format(dispatchSaveFeedbackDto.getSaveFeedbackTime()));
break;
case "save_feedback_user":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getSaveFeedbackUser()))
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getSaveFeedbackUser());
break;
case "save_feedback_uid":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getSaveFeedbackUid()))
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getSaveFeedbackUid());
break;
case "save_feedback_result":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getSaveFeedbackResult()))
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getSaveFeedbackResult());
break;
case "fix_result":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getFixResult())) {
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getFixResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "WXJG").eq("name", dispatchSaveFeedbackDto.getFixResult());
DataDictionary fixResult = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(fixResult.getCode());
}
break;
case "error_result":
if (StringUtils.isNotBlank(dispatchSaveFeedbackDto.getErrorResult())) {
alertFormValue.setFieldValue(dispatchSaveFeedbackDto.getErrorResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "GZYY").eq("name", dispatchSaveFeedbackDto.getErrorResult());
DataDictionary errorResult = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(errorResult.getCode());
}
break;
}
});
dispatchPaper.setFeedbackCode(dispatchSaveFeedbackDto.getFeedbackCode());
dispatchPaper.setFeedbackType(dispatchSaveFeedbackDto.getFeedbackType());
dispatchPaper.setFeedbackFinishTime(dispatchSaveFeedbackDto.getFeedbackFinishTime());
dispatchPaper.setFeedbackUid(dispatchSaveFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchSaveFeedbackDto.getFeedbackUname());
dispatchPaper.setRemark(dispatchSaveFeedbackDto.getRemark());
dispatchPaper.setFeedbackTime(dispatchSaveFeedbackDto.getFeedbackTime());
// 保存动态表单数据
iAlertFormValueService.saveBatch(dynamicFormAlert);
// 保存派遣表
flag = this.save(dispatchPaper);
return flag;
}
@Override
public DispatchRepairFeedbackDto getDispatchRepairFeedbackDtoByAlertId(Long alertId) {
DispatchRepairFeedbackDto dispatchRepairFeedbackDto = new DispatchRepairFeedbackDto();
dispatchRepairFeedbackDto.setAlertId(alertId);
AlertCalledFormDto alertCalledFormVo = (AlertCalledFormDto) alertCalledServiceImpl.selectAlertCalledById(alertId);
// 警情信息
AlertCalledVo alertCalledVo = alertCalledFormVo.getAlertCalledVo();
dispatchRepairFeedbackDto.setEmergency(alertCalledVo.getEmergencyPerson());
dispatchRepairFeedbackDto.setEmergencyCall(alertCalledVo.getEmergencyCall());
// 派遣单信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(alertId);
if(dispatchPaperFormDto == null || dispatchPaperFormDto.getDispatchPaper() == null) {
return new DispatchRepairFeedbackDto(); // 如果没有派遣就没有派遣反馈信息
}
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
dispatchRepairFeedbackDto.setFeedbackCode(dispatchPaper.getFeedbackCode());// 维修反馈code
dispatchRepairFeedbackDto.setFeedbackType(dispatchPaper.getFeedbackType());// 维修反馈类型
dispatchRepairFeedbackDto.setFeedbackFinishTime(dispatchPaper.getFeedbackFinishTime()); //维修完成时间
dispatchRepairFeedbackDto.setRemark(dispatchPaper.getRemark()); // 维修反馈备注
if(StringUtils.isBlank(dispatchPaper.getFeedbackUid())) { //维修反馈人
dispatchRepairFeedbackDto.setFeedbackUid(null);
} else {
dispatchRepairFeedbackDto.setFeedbackUid(dispatchPaper.getFeedbackUid());
}
if(StringUtils.isBlank(dispatchPaper.getFeedbackUname())) { //维修反馈人
dispatchRepairFeedbackDto.setFeedbackUname(null);
} else {
dispatchRepairFeedbackDto.setFeedbackUname(dispatchPaper.getFeedbackUname());
}
//维保响应人
Long useOrgTaskId = dispatchPaper.getUseOrgTaskId();
Long repairOrgTaskId = dispatchPaper.getRepairOrgTaskId();
// 如果维保单位和使用单位都下单了 默认显示维保单位
DispatchTask dispatchTask = null;
if(repairOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(repairOrgTaskId);
dispatchRepairFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchRepairFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
} else if(useOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(useOrgTaskId);
dispatchRepairFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchRepairFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
}
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
String value = null;
switch (alertFormValue.getFieldCode()) {
case "fix_feedback_time": //报修反馈时间
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchRepairFeedbackDto.setFixFeedbackTime(null);
} else {
try {
dispatchRepairFeedbackDto.setFixFeedbackTime(sdf.parse(value));
} catch (ParseException e) {
throw new BadRequest("维修反馈时间格式错误");
}
}
break;
case "feedback_result"://报修结果
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setFeedbackResult(value);
break;
case "fix_feedback_type":// 保修反馈方式
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setFixFeedbackType(value);
break;
case "fix_feedback_uname":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchRepairFeedbackDto.setFixFeedbackUname(null);
} else {
dispatchRepairFeedbackDto.setFixFeedbackUname(value);
}
break;
case "fix_feedback_uid":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchRepairFeedbackDto.setFixFeedbackUid(null);
} else {
dispatchRepairFeedbackDto.setFixFeedbackUid(value);
}
break;
case "fix_result":
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setFixResult(value);
break;
case "error_result":
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setErrorResult(value);
break;
case "fix_remark":
value = alertFormValue.getFieldValue();
dispatchRepairFeedbackDto.setFixRemark(value);
break;
}
});
return dispatchRepairFeedbackDto;
}
@Override
public Boolean saveDispatchRepairFeedback(DispatchRepairFeedbackDto dispatchRepairFeedbackDto) {
Boolean flag = false;
// 保存救援回访信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(dispatchRepairFeedbackDto.getAlertId());
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
switch (alertFormValue.getFieldCode()) {
case "fix_feedback_time":
if (dispatchRepairFeedbackDto.getFixFeedbackTime() != null)
alertFormValue.setFieldValue(sdf.format(dispatchRepairFeedbackDto.getFixFeedbackTime()));
break;
case "feedback_result":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFeedbackResult())) {
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFeedbackResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "FKJG").eq("name", dispatchRepairFeedbackDto.getFeedbackResult());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
case "fix_feedback_type":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixFeedbackType())) {
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixFeedbackType());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "FKFS").eq("name", dispatchRepairFeedbackDto.getFixFeedbackType());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
case "fix_feedback_uname":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixFeedbackUname()))
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixFeedbackUname());
break;
case "fix_feedback_uid":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixFeedbackUid()))
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixFeedbackUid());
break;
case "fix_result":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixResult())) {
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "WXJG").eq("name", dispatchRepairFeedbackDto.getFixResult());
DataDictionary fixResult = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(fixResult.getCode());
}
break;
case "error_result":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getErrorResult())) {
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getErrorResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "GZYY").eq("name", dispatchRepairFeedbackDto.getErrorResult());
DataDictionary errorResult = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(errorResult.getCode());
}
break;
case "fix_remark":
if (StringUtils.isNotBlank(dispatchRepairFeedbackDto.getFixRemark()))
alertFormValue.setFieldValue(dispatchRepairFeedbackDto.getFixRemark());
break;
}
});
dispatchPaper.setFeedbackCode(dispatchRepairFeedbackDto.getFeedbackCode());
dispatchPaper.setFeedbackType(dispatchRepairFeedbackDto.getFeedbackType());
dispatchPaper.setFeedbackFinishTime(dispatchRepairFeedbackDto.getFeedbackFinishTime());
dispatchPaper.setFeedbackUid(dispatchRepairFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchRepairFeedbackDto.getFeedbackUname());
dispatchPaper.setRemark(dispatchRepairFeedbackDto.getRemark());
dispatchPaper.setFeedbackTime(dispatchRepairFeedbackDto.getFeedbackTime());
// 保存动态表单数据
iAlertFormValueService.saveBatch(dynamicFormAlert);
// 保存派遣表
flag = this.save(dispatchPaper);
return flag;
}
@Override
public DispatchConsultFeedbackDto getDispatchConsultFeedbackDtoByAlertId(Long alertId) {
DispatchConsultFeedbackDto dispatchConsultFeedbackDto = new DispatchConsultFeedbackDto();
dispatchConsultFeedbackDto.setAlertId(alertId);
AlertCalledFormDto alertCalledFormVo = (AlertCalledFormDto) alertCalledServiceImpl.selectAlertCalledById(alertId);
// 警情信息
AlertCalledVo alertCalledVo = alertCalledFormVo.getAlertCalledVo();
dispatchConsultFeedbackDto.setEmergency(alertCalledVo.getEmergencyPerson());
dispatchConsultFeedbackDto.setEmergencyCall(alertCalledVo.getEmergencyCall());
// 派遣单信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(alertId);
if(dispatchPaperFormDto == null || dispatchPaperFormDto.getDispatchPaper() == null) {
return new DispatchConsultFeedbackDto(); // 如果没有派遣就没有派遣反馈信息
}
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
dispatchConsultFeedbackDto.setFeedbackCode(dispatchPaper.getFeedbackCode());// 维修反馈code
dispatchConsultFeedbackDto.setFeedbackType(dispatchPaper.getFeedbackType());// 维修反馈类型
dispatchConsultFeedbackDto.setFeedbackTime(dispatchPaper.getFeedbackTime()); //回访时间
dispatchConsultFeedbackDto.setRemark(dispatchPaper.getRemark()); // 维修反馈备注
dispatchConsultFeedbackDto.setFeedbackFinishTime(dispatchPaper.getFeedbackFinishTime()); //维保完成时间
if(StringUtils.isBlank(dispatchPaper.getFeedbackUid())) { //维修反馈人
dispatchConsultFeedbackDto.setFeedbackUid(null);
} else {
dispatchConsultFeedbackDto.setFeedbackUid(dispatchPaper.getFeedbackUid());
}
if(StringUtils.isBlank(dispatchPaper.getFeedbackUname())) { //维修反馈人
dispatchConsultFeedbackDto.setFeedbackUname(null);
} else {
dispatchConsultFeedbackDto.setFeedbackUname(dispatchPaper.getFeedbackUname());
}
//维保响应人
Long useOrgTaskId = dispatchPaper.getUseOrgTaskId();
Long repairOrgTaskId = dispatchPaper.getRepairOrgTaskId();
// 如果维保单位和使用单位都下单了 默认显示维保单位
DispatchTask dispatchTask = null;
if(repairOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(repairOrgTaskId);
dispatchConsultFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchConsultFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
} else if(useOrgTaskId != null) {
dispatchTask = dispatchTaskServiceImpl.getById(useOrgTaskId);
dispatchConsultFeedbackDto.setResponseUserName(dispatchTask.getResponseUserName());
dispatchConsultFeedbackDto.setResponseUserTel(dispatchTask.getResponseUserTel());
}
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
String value = null;
switch (alertFormValue.getFieldCode()) {
case "consult_feedback_time": //咨询反馈时间
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchConsultFeedbackDto.setConsultFeedbackTime(null);
} else {
try {
dispatchConsultFeedbackDto.setConsultFeedbackTime(sdf.parse(value));
} catch (ParseException e) {
throw new BadRequest("咨询反馈时间格式错误");
}
}
break;
case "action_result"://处置结果
value = alertFormValue.getFieldValue();
dispatchConsultFeedbackDto.setActionResult(value);
break;
case "feedback_result"://咨询反馈结果
value = alertFormValue.getFieldValue();
dispatchConsultFeedbackDto.setFeedbackResult(value);
break;
case "consult_feedback_type":// 咨询反馈方式
value = alertFormValue.getFieldValue();
dispatchConsultFeedbackDto.setConsultFeedbackType(value);
break;
case "consult_feedback_uname":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchConsultFeedbackDto.setConsultFeedbackUname(null);
} else {
dispatchConsultFeedbackDto.setConsultFeedbackUname(value);
}
break;
case "consult_feedback_uid":
value = alertFormValue.getFieldValue();
if (StringUtils.isBlank(value)) {
dispatchConsultFeedbackDto.setConsultFeedbackUid(null);
} else {
dispatchConsultFeedbackDto.setConsultFeedbackUid(value);
}
break;
case "main_feedback_result":
value = alertFormValue.getFieldValue();
dispatchConsultFeedbackDto.setMainFeedbackResult(value);
break;
}
});
return dispatchConsultFeedbackDto;
}
@Override
public Boolean saveDispatchConsultFeedback(DispatchConsultFeedbackDto dispatchConsultFeedbackDto) {
Boolean flag = false;
// 保存救援回访信息
DispatchPaperFormDto dispatchPaperFormDto = this.selectDispatchPaperDtoByAlertId(dispatchConsultFeedbackDto.getAlertId());
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
dynamicFormAlert.stream().forEach(alertFormValue -> {
switch (alertFormValue.getFieldCode()) {
case "consult_feedback_time":
if (dispatchConsultFeedbackDto.getConsultFeedbackTime() != null)
alertFormValue.setFieldValue(sdf.format(dispatchConsultFeedbackDto.getConsultFeedbackTime()));
break;
case "action_result":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getActionResult())) {
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getActionResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "CZJG").eq("name", dispatchConsultFeedbackDto.getActionResult());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
case "consult_feedback_type":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getConsultFeedbackType())) {
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getConsultFeedbackType());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "FKFS").eq("name", dispatchConsultFeedbackDto.getConsultFeedbackType());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
case "consult_feedback_uname":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getConsultFeedbackUname()))
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getConsultFeedbackUname());
break;
case "consult_feedback_uid":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getConsultFeedbackUid()))
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getConsultFeedbackUid());
break;
case "main_feedback_result":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getMainFeedbackResult()))
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getMainFeedbackResult());
break;
case "feedback_result":
if (StringUtils.isNotBlank(dispatchConsultFeedbackDto.getFeedbackResult())) {
alertFormValue.setFieldValue(dispatchConsultFeedbackDto.getFeedbackResult());
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "FKJG").eq("name", dispatchConsultFeedbackDto.getFeedbackResult());
DataDictionary feedbackType = iDataDictionaryService.getOne(queryWrapper);
alertFormValue.setFieldValueCode(feedbackType.getCode());
}
break;
}
});
dispatchPaper.setFeedbackCode(dispatchConsultFeedbackDto.getFeedbackCode());
dispatchPaper.setFeedbackType(dispatchConsultFeedbackDto.getFeedbackType());
dispatchPaper.setFeedbackTime(dispatchConsultFeedbackDto.getFeedbackTime());
dispatchPaper.setFeedbackFinishTime(dispatchConsultFeedbackDto.getFeedbackFinishTime());
dispatchPaper.setFeedbackUid(dispatchConsultFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchConsultFeedbackDto.getFeedbackUname());
dispatchPaper.setRemark(dispatchConsultFeedbackDto.getRemark());
// 保存动态表单数据
iAlertFormValueService.saveBatch(dynamicFormAlert);
// 保存派遣表
flag = this.save(dispatchPaper);
return flag;
} }
@Override @Override
......
...@@ -3,8 +3,9 @@ package com.yeejoin.amos.boot.module.tzs.biz.service.impl; ...@@ -3,8 +3,9 @@ package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto; import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperUpdateDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto; import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue; import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask; import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
...@@ -13,7 +14,7 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.MaintenanceUnit; ...@@ -13,7 +14,7 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation; import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation;
import com.yeejoin.amos.boot.module.tzs.api.entity.Template; import com.yeejoin.amos.boot.module.tzs.api.entity.Template;
import com.yeejoin.amos.boot.module.tzs.api.entity.UseUnit; import com.yeejoin.amos.boot.module.tzs.api.entity.UseUnit;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums; import com.yeejoin.amos.boot.module.tzs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.tzs.api.mapper.DispatchTaskMapper; import com.yeejoin.amos.boot.module.tzs.api.mapper.DispatchTaskMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchTaskService; import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchTaskService;
import com.yeejoin.amos.boot.module.tzs.api.service.IMaintenanceUnitService; import com.yeejoin.amos.boot.module.tzs.api.service.IMaintenanceUnitService;
...@@ -24,6 +25,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; ...@@ -24,6 +25,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
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.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
...@@ -83,38 +85,87 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -83,38 +85,87 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) { public Boolean createDispatchTask(DispatchTaskDto dispatchTaskDto, AgencyUserModel sendUser) {
boolean flag = false; boolean flag = false;
// 判断派遣单是否存在 如果不存在先创建派遣单 // 判断派遣单是否存在 如果不存在先创建派遣单
DispatchPaper dispatchPaper = dispatchPaperServiceImpl.selectDispatchPaperByAlertId(dispatchTaskDto.getAlertId()); DispatchPaperFormDto dispatchPaperDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(dispatchTaskDto.getAlertId());
if(dispatchPaper == null) { if(dispatchPaperDto == null || dispatchPaperDto.getDispatchPaper() == null) {
dispatchPaper = dispatchPaperServiceImpl.createDispatchPaper(dispatchTaskDto.getAlertId(), dispatchTaskDto.getAlertCode(), sendUser); dispatchPaperDto = dispatchPaperServiceImpl.createDispatchPaper(dispatchTaskDto.getAlertId(), dispatchTaskDto.getAlertCode(), sendUser);
} }
DispatchPaper dispatchPaper = dispatchPaperDto.getDispatchPaper();
List<AlertFormValue> dynamicFormAlert = dispatchPaperDto.getDynamicFormAlert();
// 创建派遣单 // 创建派遣单
dispatchTaskDto.setDispatchTime(new Date()); dispatchTaskDto.setDispatchTime(new Date());
DispatchTask dispatchTask = BeanDtoVoUtils.convert(dispatchTaskDto, DispatchTask.class); DispatchTask dispatchTask = BeanDtoVoUtils.convert(dispatchTaskDto, DispatchTask.class);
dispatchTask.setPaperId(dispatchPaper.getSequenceNbr()); dispatchTask.setPaperId(dispatchPaperDto.getDispatchPaper().getSequenceNbr());
if(dispatchPaper.getRepairOrgTaskId() != null && (dispatchTask.getOrgTypeCode().equals("levelOneUnit") || dispatchTask.getOrgTypeCode().equals("levelTwoUnit"))) {
throw new BadRequest("已经派遣过其他力量调派");
}
if(dispatchPaper.getUseOrgTaskId() != null && dispatchTask.getOrgTypeCode().equals("useUnit")) {
throw new BadRequest("已经派遣过使用单位");
}
if(dispatchPaper.getRepairOrgTaskId() != null && dispatchTask.getOrgTypeCode().equals("repairUnit") ) {
throw new BadRequest("已经派遣过维修单位调派");
}
flag = this.save(dispatchTask); flag = this.save(dispatchTask);
if(flag) { // 创建好派遣任务单以后根据任务单类型修改派遣单信息 if(flag) { // 创建好派遣任务单以后根据任务单类型修改派遣单信息
DispatchPaperUpdateDto paperUpdateDto = new DispatchPaperUpdateDto();
paperUpdateDto.setPageId(dispatchPaper.getSequenceNbr());
paperUpdateDto.setTaskId(dispatchTask.getSequenceNbr());
paperUpdateDto.setOrgTypeCode(dispatchTask.getOrgTypeCode());
paperUpdateDto.setDispatchTime(dispatchTask.getDispatchTime());
paperUpdateDto.setOrgId(dispatchTask.getResponseOrgId());
// 社会信用代码 根据类型查找放入 // 社会信用代码 根据类型查找放入
MaintenanceUnit maintenanceUnit = null;
switch (dispatchTask.getOrgTypeCode()) { switch (dispatchTask.getOrgTypeCode()) {
case "useUnit": // 使用单位 case "useUnit": // 使用单位
UseUnit useUnit = iUseUnitService.getById(dispatchTask.getResponseOrgId()); UseUnit useUnit = iUseUnitService.getById(dispatchTask.getResponseOrgId());
paperUpdateDto.setOrgCreditCode(useUnit.getSocialCreditCode()); dispatchPaper.setUseOrgId(useUnit.getSequenceNbr());
dispatchPaper.setUseOrgTaskId(dispatchTask.getSequenceNbr());
if(dispatchPaper.getAlertCode().equals("KRJY")) {
dynamicFormAlert.stream().forEach(alertFormValue -> {
if(alertFormValue.getFieldCode().equals("dispatch_status")) {
alertFormValue.setFieldValue("已派遣");
alertFormValue.setFieldValueCode("hasDispatched");
}
});
}
break; break;
case "repairUnit": case "repairUnit":
maintenanceUnit = iMaintenanceUnitService.getById(dispatchTask.getResponseOrgId());
dispatchPaper.setRepairOrgId(maintenanceUnit.getSequenceNbr());
dispatchPaper.setRepairOrgTaskId(dispatchTask.getSequenceNbr());
break;
case "levelOneUnit": case "levelOneUnit":
MaintenanceUnit maintenanceUnit = iMaintenanceUnitService.getById(dispatchTask.getResponseOrgId()); maintenanceUnit = iMaintenanceUnitService.getById(dispatchTask.getResponseOrgId());
paperUpdateDto.setOrgCreditCode(maintenanceUnit.getSocialCreditCode()); String socialCreditCode = maintenanceUnit.getSocialCreditCode();
dispatchPaper.setRepairOrgId(maintenanceUnit.getSequenceNbr());
dispatchPaper.setRepairOrgTaskId(dispatchTask.getSequenceNbr());
// 修改动态字段
dynamicFormAlert.stream().forEach(alertFormValue -> {
if(alertFormValue.getFieldCode().equals("dispatch_status")) {
alertFormValue.setFieldValue("已派遣");
alertFormValue.setFieldValueCode("hasDispatched");
} else if(alertFormValue.getFieldCode().equals("response_level")) {
alertFormValue.setFieldValue("一级响应");
alertFormValue.setFieldValueCode("levelOneUnit");
} else if(alertFormValue.getFieldCode().equals("save_credit_code")) {
alertFormValue.setFieldValue(socialCreditCode);
}
});
break; break;
case "levelTwoUnit": case "levelTwoUnit":
RescueStation rescueStation = iRescueStationService.getById(dispatchTask.getResponseOrgId()); RescueStation rescueStation = iRescueStationService.getById(dispatchTask.getResponseOrgId());
dispatchPaper.setRepairOrgId(rescueStation.getSequenceNbr());
dispatchPaper.setRepairOrgTaskId(dispatchTask.getSequenceNbr());
// 修改动态字段
dynamicFormAlert.stream().forEach(alertFormValue -> {
if(alertFormValue.getFieldCode().equals("dispatch_status")) {
alertFormValue.setFieldValue("已派遣");
alertFormValue.setFieldValueCode("hasDispatched");
} else if(alertFormValue.getFieldCode().equals("response_level")) {
alertFormValue.setFieldValue("二级响应");
alertFormValue.setFieldValueCode("levelTwoUnit");
}
});
break; break;
} }
// 保存派遣单
dispatchPaperServiceImpl.updateById(dispatchPaper);
// 保存动态表单数据
iAlertFormValueService.updateBatchById(dynamicFormAlert);
} }
return flag; return flag;
} }
...@@ -126,6 +177,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -126,6 +177,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
AlertCalledDto alertCalledDto = alertCalledServiceImpl.queryBySeq(alertId); AlertCalledDto alertCalledDto = alertCalledServiceImpl.queryBySeq(alertId);
dispatchTaskDto.setOrgTypeCode(orgTypeCode); dispatchTaskDto.setOrgTypeCode(orgTypeCode);
dispatchTaskDto.setAlertId(alertId); dispatchTaskDto.setAlertId(alertId);
dispatchTaskDto.setAlertCode(alertCalledDto.getAlarmTypeCode());
// 获取模板 拼接json // 获取模板 拼接json
QueryWrapper<Template> templateQueryWrapper = new QueryWrapper<>(); QueryWrapper<Template> templateQueryWrapper = new QueryWrapper<>();
String alertTypeCode = alertCalledDto.getAlarmTypeCode(); String alertTypeCode = alertCalledDto.getAlarmTypeCode();
...@@ -145,17 +197,24 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -145,17 +197,24 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
String address = elevator.getAddress(); String address = elevator.getAddress();
String useSiteCategory = elevator.getUseSiteCategory(); String useSiteCategory = elevator.getUseSiteCategory();
String useUnit = elevator.getUseUnit(); String useUnit = elevator.getUseUnit();
content.replace("$call_time",createTime).replace("$address",address).replace("$rescue_code",rescueCode).replace("$use_site_category",useSiteCategory); content = content.replace("$call_time",createTime).replace("$address",address).replace("$rescue_code",rescueCode).replace("$use_site_category",useSiteCategory);
String typeCode = "";
if(AlertStageEnums.KRJY.toString().equals(alertTypeCode)) {
typeCode = AlertStageEnums.KRJY.getCode();
} else if(AlertStageEnums.GZWX.toString().equals(alertTypeCode)) {
typeCode = AlertStageEnums.GZWX.getCode();
} else if(AlertStageEnums.TSZX.toString().equals(alertTypeCode)) {
typeCode = AlertStageEnums.TSZX.getCode();
}
// 警情信息动态数据 // 警情信息动态数据
QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>(); QueryWrapper<AlertFormValue> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("alert_called_id", alertId).eq("alert_type_code",alertTypeCode); queryWrapper.eq("alert_called_id", alertId).eq("alert_type_code",typeCode);
// 派遣单动态表单数据 // 派遣单动态表单数据
List<AlertFormValue> list = iAlertFormValueService.list(queryWrapper); List<AlertFormValue> list = iAlertFormValueService.list(queryWrapper);
// map 存取数据 // map 存取数据
Map<String,String> dynamicParms = new HashMap<String,String> (); Map<String,String> dynamicParms = new HashMap<String,String> ();
list.stream().forEach(paperFormValue -> { list.stream().forEach(paperFormValue -> {
dynamicParms.put("field_code","field_value"); dynamicParms.put(paperFormValue.getFieldCode(),paperFormValue.getFieldValue());
}); });
String desc = ""; String desc = "";
switch(alertTypeCode) { switch(alertTypeCode) {
...@@ -164,18 +223,18 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -164,18 +223,18 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
String trappedFloorNum = dynamicParms.get("trapped_floor_num"); String trappedFloorNum = dynamicParms.get("trapped_floor_num");
String isLight = dynamicParms.get("is_light"); String isLight = dynamicParms.get("is_light");
String trappedTime = dynamicParms.get("trapped_time"); String trappedTime = dynamicParms.get("trapped_time");
content.replace("$trapped_num",trappedNum).replace("$trapped_floor_num",trappedFloorNum); content = content.replace("$trapped_num",trappedNum).replace("$trapped_floor_num",trappedFloorNum);
content.replace("$emergency_call",emergencyCall).replace("$contact_phone",contactPhone); content = content.replace("$emergency_call",emergencyCall).replace("$contact_phone",contactPhone);
content.replace("$is_light",isLight).replace("$trapped_time",trappedTime); content = content.replace("$is_light",isLight).replace("$trapped_time",trappedTime);
break; break;
case "GZWX" : // 故障维修 case "GZWX" : // 故障维修
desc = dynamicParms.get("desc"); desc = dynamicParms.get("desc");
content.replace("$use_unit",useUnit).replace("$desc",desc); content = content.replace("$use_unit",useUnit).replace("$desc",desc);
break; break;
case "TSZX" : // 投诉咨询 case "TSZX" : // 投诉咨询
desc = dynamicParms.get("desc"); desc = dynamicParms.get("desc");
content.replace("$emergency_call",emergencyCall).replace("$contact_phone",contactPhone); content = content.replace("$emergency_call",emergencyCall).replace("$contact_phone",contactPhone);
content.replace("$use_unit",useUnit).replace("$desc",desc); content = content.replace("$use_unit",useUnit).replace("$desc",desc);
break; break;
} }
dispatchTaskDto.setDispatchContext(content); dispatchTaskDto.setDispatchContext(content);
......
package com.yeejoin.amos.boot.module.tzs.biz.service.impl; package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; //import com.yeejoin.amos.boot.module.common.api.service.ISourceFileService;
import com.yeejoin.amos.boot.module.common.api.service.ISourceFileService;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto; import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ElevatorDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator; import com.yeejoin.amos.boot.module.tzs.api.entity.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorMapper; import com.yeejoin.amos.boot.module.tzs.api.mapper.ElevatorMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IElevatorService; import com.yeejoin.amos.boot.module.tzs.api.service.IElevatorService;
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.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
/** /**
...@@ -18,12 +21,42 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest; ...@@ -18,12 +21,42 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
* @date 2021-06-01 * @date 2021-06-01
*/ */
@Service @Service
public class ElevatorServiceImpl extends ServiceImpl<ElevatorMapper, Elevator> implements IElevatorService { public class ElevatorServiceImpl extends BaseService<ElevatorDto, Elevator, ElevatorMapper> implements IElevatorService {
// @Autowired
// ISourceFileService sourceFileService;
@Autowired @Autowired
AlertCalledServiceImpl alertCalledServiceImpl; AlertCalledServiceImpl alertCalledServiceImpl;
/**
* 保存电梯信息
*
* @param elevatorDto
* @return
*/
public ElevatorDto saveElevator(ElevatorDto elevatorDto) {
elevatorDto = createWithModel(elevatorDto);
// TODO 保存附件
// sourceFileService.saveAttachments(elevatorDto.getSequenceNbr(), elevatorDto.getAttachments());
return elevatorDto;
}
/**
* 更新电梯信息
*
* @param elevatorDto
* @return
*/
public ElevatorDto updateElevator(ElevatorDto elevatorDto) {
elevatorDto = updateWithModel(elevatorDto);
// TODO 保存附件
// sourceFileService.saveAttachments(elevatorDto.getSequenceNbr(), elevatorDto.getAttachments());
return elevatorDto;
}
@Override @Override
public Elevator selectByAlertId(Long alertId) { public Elevator selectByAlertId(Long alertId) {
...@@ -37,7 +70,7 @@ public class ElevatorServiceImpl extends ServiceImpl<ElevatorMapper, Elevator> i ...@@ -37,7 +70,7 @@ public class ElevatorServiceImpl extends ServiceImpl<ElevatorMapper, Elevator> i
// 目前只有电梯类型 // 目前只有电梯类型
QueryWrapper<Elevator> queryWrapper = new QueryWrapper<>(); QueryWrapper<Elevator> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("rescue_code", deviceId); queryWrapper.eq("rescue_code", deviceId);
Elevator elevator = this.getOne(queryWrapper); Elevator elevator = this.getOne(queryWrapper);
if (ValidationUtil.isEmpty(elevator)) if (ValidationUtil.isEmpty(elevator))
throw new BadRequest("设备未找到"); throw new BadRequest("设备未找到");
return elevator; return elevator;
......
package com.yeejoin.amos.boot.module.tzs.biz.service.impl; package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DispatchTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.tzs.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.tzs.api.entity.RescueProcess; import com.yeejoin.amos.boot.module.tzs.api.entity.RescueProcess;
import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation;
import com.yeejoin.amos.boot.module.tzs.api.entity.UseUnit;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.mapper.RescueProcessMapper; import com.yeejoin.amos.boot.module.tzs.api.mapper.RescueProcessMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IRescueProcessService; import com.yeejoin.amos.boot.module.tzs.api.service.IRescueProcessService;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto; import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import org.typroject.tyboot.core.rdbms.service.BaseService; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -17,6 +38,20 @@ import java.util.List; ...@@ -17,6 +38,20 @@ import java.util.List;
*/ */
@Service @Service
public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,RescueProcess,RescueProcessMapper> implements IRescueProcessService { public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,RescueProcess,RescueProcessMapper> implements IRescueProcessService {
@Autowired
DispatchPaperServiceImpl dispatchPaperServiceImpl;
@Autowired
private DataDictionaryServiceImpl iDataDictionaryService;
@Autowired
DispatchTaskServiceImpl dispatchTaskServiceImpl;
@Autowired
private AlertFormValueServiceImpl iAlertFormValueService;
/** /**
* 分页查询 * 分页查询
*/ */
...@@ -30,4 +65,82 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu ...@@ -30,4 +65,82 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
public List<RescueProcessDto> queryForRescueProcessList() { public List<RescueProcessDto> queryForRescueProcessList() {
return this.queryForList("" , false); return this.queryForList("" , false);
} }
@Override
public RescueProcessDto getProcessByAlertId(Long alertId) {
// 先通过id 查找过程表
RescueProcessDto rescueProcessDto = new RescueProcessDto();
QueryWrapper<RescueProcess> templateQueryWrapper = new QueryWrapper<>();
templateQueryWrapper.eq("alert_id",alertId);
RescueProcess rescueProcess = this.getOne(templateQueryWrapper);
if(rescueProcess != null) {
return Bean.toModel(rescueProcess, rescueProcessDto);
} else {
rescueProcess = new RescueProcess();
rescueProcess.setAlertId(alertId);
this.save(rescueProcess);
return Bean.toModel(rescueProcess, rescueProcessDto);
}
}
@Override
public Boolean updateByAlertId(RescueProcessDto rescueProcessDto, AgencyUserModel sendUser) {
QueryWrapper<RescueProcess> templateQueryWrapper = new QueryWrapper<>();
templateQueryWrapper.eq("alert_id", rescueProcessDto.getAlertId());
RescueProcess rescueProcess = this.getOne(templateQueryWrapper);
if (rescueProcess == null)
throw new BadRequest("救援过程信息未找到");
if (rescueProcessDto.getDispatchByUser()) { // 手动更新了派遣信息为三级派遣
// 判断是否存在派遣单 不存在先创建派遣单
DispatchPaperFormDto dispatchPaperDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(rescueProcessDto.getAlertId());
if (dispatchPaperDto == null || dispatchPaperDto.getDispatchPaper() == null) {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", "JQLX").eq("name", "困人救援");
DataDictionary alertCode = iDataDictionaryService.getOne(queryWrapper);
dispatchPaperDto = dispatchPaperServiceImpl.createDispatchPaper(rescueProcessDto.getAlertId(), alertCode.getCode(), sendUser);
}
DispatchPaper dispatchPaper = dispatchPaperDto.getDispatchPaper();
List<AlertFormValue> dynamicFormAlert = dispatchPaperDto.getDynamicFormAlert();
// 创建派遣单
DispatchTaskDto dispatchTaskDto = new DispatchTaskDto();
dispatchTaskDto.setDispatchTime(rescueProcessDto.getDispatchTime());
dispatchTaskDto.setOrgTypeCode(DispatchPaperEnums.getEnum("levelThreeUnit").getCode());
dispatchTaskDto.setAlertId(rescueProcessDto.getAlertId());
dispatchTaskDto.setResponseOrgName("119");
dispatchTaskDto.setResponseUserName("119");
DispatchTask dispatchTask = BeanDtoVoUtils.convert(dispatchTaskDto, DispatchTask.class);
dispatchTask.setPaperId(dispatchPaperDto.getSequenceNbr());
Boolean flag = dispatchTaskServiceImpl.save(dispatchTask);
if (flag) { // 创建好派遣任务单以后根据任务单类型修改派遣单信息
if (dispatchPaper.getRepairOrgId() != null) { // 已经派遣过调派
throw new BadRequest("已经派遣过其他力量调派");
} else {
dispatchPaper.setRepairOrgId(-1l);
dispatchPaper.setRepairOrgCreditCode("119");
dispatchPaper.setRepairOrgTaskId(dispatchTask.getSequenceNbr());
// 修改动态字段
dynamicFormAlert.stream().forEach(alertFormValue -> {
if (alertFormValue.getFieldCode().equals("dispatch_status")) {
alertFormValue.setFieldValue("已派遣");
alertFormValue.setFieldValueCode("hasDispatched");
} else if (alertFormValue.getFieldCode().equals("response_level")) {
alertFormValue.setFieldValue("三级响应");
alertFormValue.setFieldValueCode("levelThreeUnit");
}
});
}
// 保存派遣单
dispatchPaperServiceImpl.save(dispatchPaper);
// 保存动态表单数据
iAlertFormValueService.saveBatch(dynamicFormAlert);
}
}
rescueProcessDto.setSequenceNbr(rescueProcess.getSequenceNbr());
rescueProcessDto.setRecDate(rescueProcess.getRecDate());
rescueProcessDto.setRecUserId(rescueProcess.getRecUserId());
rescueProcessDto.setRecUserName(rescueProcess.getRecUserName());
rescueProcess = BeanDtoVoUtils.convert(rescueProcessDto, RescueProcess.class);
return this.updateById(rescueProcess);
}
} }
\ No newline at end of file
package com.yeejoin.amos.boot.module.tzs.biz.service.impl; package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.module.tzs.api.dto.RescueStationDto; import com.yeejoin.amos.boot.module.tzs.api.dto.RescueStationDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation; import com.yeejoin.amos.boot.module.tzs.api.entity.RescueStation;
import com.yeejoin.amos.boot.module.tzs.api.mapper.RescueStationMapper; import com.yeejoin.amos.boot.module.tzs.api.mapper.RescueStationMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IRescueStationService; import com.yeejoin.amos.boot.module.tzs.api.service.IRescueStationService;
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.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.List; import java.util.List;
...@@ -17,7 +17,7 @@ import java.util.List; ...@@ -17,7 +17,7 @@ import java.util.List;
* @date 2021-06-01 * @date 2021-06-01
*/ */
@Service @Service
public class RescueStationServiceImpl extends ServiceImpl<RescueStationMapper, RescueStation> implements IRescueStationService { public class RescueStationServiceImpl extends BaseService<RescueStationDto, RescueStation, RescueStationMapper> implements IRescueStationService {
@Autowired @Autowired
RescueStationMapper rescueStationMapper; RescueStationMapper rescueStationMapper;
......
package com.yeejoin.amos.boot.module.tzs.biz.service.impl; package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yeejoin.amos.boot.module.tzs.api.dto.UseUnitDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.UseUnit; import com.yeejoin.amos.boot.module.tzs.api.entity.UseUnit;
import com.yeejoin.amos.boot.module.tzs.api.mapper.UseUnitMapper; import com.yeejoin.amos.boot.module.tzs.api.mapper.UseUnitMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IUseUnitService; import com.yeejoin.amos.boot.module.tzs.api.service.IUseUnitService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
/** /**
* 服务实现类 * 服务实现类
...@@ -13,6 +14,6 @@ import org.springframework.stereotype.Service; ...@@ -13,6 +14,6 @@ import org.springframework.stereotype.Service;
* @date 2021-06-01 * @date 2021-06-01
*/ */
@Service @Service
public class UseUnitServiceImpl extends ServiceImpl<UseUnitMapper, UseUnit> implements IUseUnitService { public class UseUnitServiceImpl extends BaseService<UseUnitDto, UseUnit, UseUnitMapper> implements IUseUnitService {
} }
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