Commit 93e99161 authored by 李成龙's avatar 李成龙

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

parents 64a9506e 357d7de7
package com.yeejoin.amos.boot.biz.common.feign;
import com.yeejoin.amos.boot.biz.common.dto.OptionDto;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.client.AgencyUserClient;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import org.apache.logging.log4j.LogManager;
......@@ -76,4 +80,20 @@ public class AmosFeignService {
);
return optionsMoList;
}
/**
* 根据用户id查询指定平台用户信息.
*
* @param userId
* @return
*/
public AgencyUserModel queryAgencyUserByUserId(String userId) {
AgencyUserModel userModel = null;
try {
userModel = FeignUtil.remoteCall(() -> Privilege.agencyUserClient.queryByUserId(userId));
return userModel;
} catch (Exception e) {
throw new RuntimeException("获取平台用户数据出错");
}
}
}
package com.yeejoin.amos.boot.module.common.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -36,7 +37,7 @@ public class FailureAuditDto extends BaseDto {
private String auditOpinion;
@ApiModelProperty(value = "审核结果")
private Integer auditResult;
private int auditResult;
@ApiModelProperty(value = "设备故障报修单id")
private Long faultId;
......
......@@ -21,10 +21,6 @@ public class FailureRepairlogDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "流程处理人")
private String processAuditor;
@ApiModelProperty(value = "流程处理人Id")
private Integer processAuditorId;
......@@ -44,7 +40,7 @@ public class FailureRepairlogDto extends BaseDto {
@ApiModelProperty(value = "设备故障报修主表ID")
private Long faultId;
@ApiModelProperty(value = "操作人中文名称")
@ApiModelProperty(value = "流程处理人")
private String processAuditorCid;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 故障报修验收记录
*
* @author system_generator
* @date 2021-08-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="FailureVerifyDto", description="故障报修验收记录")
public class FailureVerifyDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "验收人")
private String acceptor;
@ApiModelProperty(value = "验收部门")
private String verifyDepartment;
@ApiModelProperty(value = "验收部门的id")
private Long verifyDepartmentId;
@ApiModelProperty(value = "审核结果 0:同意 1:拒绝 ")
private Integer verifyResult;
@ApiModelProperty(value = "验收时间")
private Date verifyTime;
@ApiModelProperty(value = "验收意见")
private String verifyOpinion;
@ApiModelProperty(value = "设备故障报修单id")
private Long faultId;
@ApiModelProperty(value = "审核结果条件判断,0同意,1拒绝")
private String condition;
}
......@@ -34,7 +34,9 @@ public class FailureAudit extends BaseEntity {
*/
@TableField("audit_department")
private String auditDepartment;
/**
* 审核部门id
*/
@TableField("audit_department_id")
private Long auditDepartmentId;
......@@ -61,6 +63,12 @@ public class FailureAudit extends BaseEntity {
*/
@TableField("fault_id")
private Long faultId;
/**
* 审核结果
*/
@TableField("audit_result")
private int auditResult;
......
......@@ -27,11 +27,7 @@ public class FailureRepairlog extends BaseEntity {
*/
@TableField("process_auditor_id")
private Integer processAuditorId;
/**
* 流程处理人
*/
@TableField("process_auditor")
private String processAuditor;
/**
* 流程处理人
*/
......@@ -66,10 +62,6 @@ public class FailureRepairlog extends BaseEntity {
@TableField("fault_id")
private Long faultId;
/**
* 操作人中文名称
*/
@TableField("process_auditor_name")
private String processAuditorCid;
}
package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 故障报修验收记录
*
* @author system_generator
* @date 2021-08-18
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cb_failure_verify")
public class FailureVerify extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 验收人
*/
@TableField("acceptor")
private String acceptor;
/**
* 验收部门
*/
@TableField("verify_department")
private String verifyDepartment;
/**
* 验收部门的id
*/
@TableField("verify_department_id")
private Long verifyDepartmentId;
/**
* 审核结果 0:同意 1:拒绝
*/
@TableField("verify_result")
private Integer verifyResult;
/**
* 验收时间
*/
@TableField("verify_time")
private Date verifyTime;
/**
* 验收意见
*/
@TableField("verify_opinion")
private String verifyOpinion;
/**
* 设备故障报修单id
*/
@TableField("fault_id")
private Long faultId;
}
package com.yeejoin.amos.boot.module.common.api.feign;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
*
* <pre>
* 设备联动服务(车库门、广播、警铃)
* </pre>
*
* @author gwb
* @version $Id: JcsControlServerClient.java, v 0.1 2021年8月19日 上午9:41:10 gwb Exp $
*/
@FeignClient(name = "${control.fegin.name}", configuration = {MultipartSupportConfig.class})
public interface JcsControlServerClient {
/**
*
* <pre>
* 打开/关闭消防警铃
* </pre>
*
* @param areasStr
* @param type(1 为开启 0为关闭)
* @return
*/
@GetMapping(value = "/v1/wksendbell/{codestr}/{type}")
FeignClientResult<String> sendBellAction(@PathVariable("codestr") String areasStr, @PathVariable("type") String type);
/**
*
* <pre>
* 播放广播
* </pre>
*
* @param areasStr
* @param fileUrlsStr
* @return
*/
@GetMapping(value = "/v1/wksend/{codestr}/{urlstr}")
FeignClientResult<String> sendFileAction(@PathVariable("codestr") String areasStr,@PathVariable("urlstr") String fileUrlsStr);
/**
*
* <pre>
* 获取单个设备状态(车库门)
* </pre>
*
* @param ip
* @param port
* @param whichone
* @return
*/
@GetMapping(value = "/v1/controlequip/kndread/{ip}/{port}/{num}")
FeignClientResult<String> readStateAction(@PathVariable("ip") String ip, @PathVariable("port") int port,
@PathVariable("num") int whichone);
/**
*
* <pre>
* 获取连续设备状态(车库门)
* </pre>
*
* @param ip
* @param port
* @param whichone
* @param count
* @return
*/
@GetMapping(value = "/v1/controlequip/kndread/{ip}/{port}/{num}/{count}")
FeignClientResult<String> readMoreStateAction(@PathVariable("ip") String ip,@PathVariable("port") int port,
@PathVariable("num") int whichone, @PathVariable("count") int count);
/**
*
* <pre>
* 设置设备状态(车库门)
* </pre>
*
* @param ip
* @param port
* @param whichone
* @param stateStr
* @return
*/
@GetMapping(value = "/v1/controlequip/kndwrite/{ip}/{port}/{num}/{result}")
FeignClientResult<String> writeStateAction(@PathVariable("ip") String ip,@PathVariable("port") int port,
@PathVariable("num") int whichone, @PathVariable("result") String stateStr);
}
package com.yeejoin.amos.boot.module.common.api.feign;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrFormDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
// 消防监督调用
@FeignClient(name = "${supervision.feign.name}", path = "supervision", configuration = {MultipartSupportConfig.class})
public interface SupervisionFeign {
@RequestMapping(value = "/api/point/teamInput", method = RequestMethod.POST, consumes = "application/json")
ResponseModel asyncOwner(@RequestBody OrgUsrFormDto orgUsrFormDto);
@RequestMapping(value = "/api/point/delete", method = RequestMethod.POST, consumes = "application/json")
ResponseModel deleteOwner(@RequestBody Long id);
}
package com.yeejoin.amos.boot.module.common.api.mapper;
import com.yeejoin.amos.boot.module.common.api.entity.FailureVerify;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* 故障报修验收记录 Mapper 接口
*
* @author system_generator
* @date 2021-08-18
*/
public interface FailureVerifyMapper extends BaseMapper<FailureVerify> {
}
package com.yeejoin.amos.boot.module.common.api.service;
/**
* 故障报修验收记录接口类
*
* @author system_generator
* @date 2021-08-18
*/
public interface IFailureVerifyService {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.common.api.mapper.FailureVerifyMapper">
</mapper>
......@@ -17,7 +17,11 @@ public enum DictTypeEnum {
EQUIPTYPE("设备类型","EQUIP_TYPE"),
DANGERLEVEL("隐患等级", "DANGER_LEVEL"),
OUTERPOINTTYPE("导入外部安全检查表分类", "OUTER_POINT_TYPE"),
MAINTENANCE_CLASSIFY("维保项分类","MAINTENANCE_CLASSIFY");
MAINTENANCE_CLASSIFY("维保项分类","MAINTENANCE_CLASSIFY"),
CHECK_ITEM_CLASSIFY("消防监督检查项分类","CHECK_ITEM_CLASSIFY"),
CHECK_ITEM_TYPE("消防监督检查类别","CHECK_ITEM_TYPE"),
CHECK_ITEM_LEVEL("消防监督检查项等级","CHECK_ITEM_LEVEL"),
CHECK_ITEM_CONTENT("消防监督检查类型","CHECK_ITEM_CONTENT");
/**
* 名称,描述
......
......@@ -182,6 +182,90 @@ public class InputItem extends BasicEntity {
@Column(name = "test_requirement")
private String testRequirement;
/**
* 检查类型
*/
@Column(name="check_type")
private String checkType;
/**
* 父类检查项id
*/
@Column(name="item_parent")
private String itemParent;
/**
* 检查项分类
*/
@Column(name="item_classify")
private String itemClassify;
/**
* 适用检查类别
*/
@Column(name="item_type_classify")
private String itemTypeClassify;
/**
* 检查项等级
*/
@Column(name="item_level")
private String itemLevel;
/**
* 检查项启用
*/
@Column(name="item_start")
private String itemStart;
public String getItemStart() {
return itemStart;
}
public void setItemStart(String itemStart) {
this.itemStart = itemStart;
}
public String getItemParent() {
return itemParent;
}
public void setItemParent(String itemParent) {
this.itemParent = itemParent;
}
public String getItemClassify() {
return itemClassify;
}
public void setItemClassify(String itemClassify) {
this.itemClassify = itemClassify;
}
public String getItemTypeClassify() {
return itemTypeClassify;
}
public void setItemTypeClassify(String itemTypeClassify) {
this.itemTypeClassify = itemTypeClassify;
}
public String getItemLevel() {
return itemLevel;
}
public void setItemLevel(String itemLevel) {
this.itemLevel = itemLevel;
}
public String getCheckType() {
return checkType;
}
public void setCheckType(String checkType) {
this.checkType = checkType;
}
public void setMaintenanceContent(String maintenanceContent) {
this.maintenanceContent = maintenanceContent;
}
......
......@@ -268,6 +268,34 @@ public class Point extends BasicEntity {
private String riskSourceId;
/**
* 所在建筑名称
*/
@Column(name="building_name")
private String buildingName;
public String getBuildingName() {
return buildingName;
}
public void setBuildingName(String buildingName) {
this.buildingName = buildingName;
}
public String getBuildingId() {
return buildingId;
}
public void setBuildingId(String buildingId) {
this.buildingId = buildingId;
}
/**
* 所在建筑Id
*/
@Column(name="building_id")
private String buildingId;
/**
* ue4位置
*/
......
......@@ -16,14 +16,14 @@ public enum DispatchPaperEnums {
receivedAlert("860","receivedAlert","已接警"),
dispatched("861","dispatched", "已派遣"),
rescueArrived("862","rescueArrived", "救援已到达"),
rescueArrived("862","rescueArrived", "已到达"),
repaireArrived("863","repaireArrived", "维保已到达"),
rescued("864","rescued", "救援完成"),
rescueBack("865","rescueBack", "救援回访"),
repaired("866","repaired", "维修完成"),
reportorBack("867","reportorBack", "报修人已反馈"),
disposed("868","disposed", "维保已处置"),
complainantBack("869","complainantBack", "投诉人已回访"),
complainantBack("869","complainantBack", "投诉人已反馈"),
// 警情类型 JJLX
......
package com.yeejoin.amos.boot.module.tzs.api.service;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledQueryDto;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import java.util.List;
......@@ -36,10 +38,10 @@ public interface IAlertCalledService {
List<AlertCalledQueryDto> queryAlertListByQueryDto(AlertCalledQueryDto alertCalledQueryDto);
/**
* 根据警情id 更新警情状态
* @param alertId
* @param alertStage
* 更新警情阶段信息
* @param alertCalledVo
* @param stage
* @return
*/
Boolean updateAlertStageByAlertId(Long alertId, String alertStage);
Boolean updateAlertStage(AlertCalledDto alertCalledVo, DispatchPaperEnums stage);
}
......@@ -40,8 +40,13 @@ public class FailureAuditController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<Object> save(@RequestBody FailureAuditDto model) throws Exception {
return ResponseHelper.buildResponse(failureAuditServiceImpl.savemodel(model,getSelectedOrgInfo()));
public ResponseModel<Object> save(@RequestBody FailureAuditDto model) {
try {
return ResponseHelper.buildResponse(failureAuditServiceImpl.savemodel(model,getSelectedOrgInfo()));
} catch (Exception e) {
e.printStackTrace();
return ResponseHelper.buildResponse(false);
}
}
......@@ -97,7 +102,7 @@ public class FailureAuditController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "审核列表记录查询", notes = "审核列表记录查询")
@GetMapping(value = "/list/{faultId}")
public ResponseModel<List<FailureAudit>> findByFaultIDFotList(@RequestParam long faultId) {
public ResponseModel<List<FailureAudit>> findByFaultIDFotList(@PathVariable long faultId) {
return ResponseHelper.buildResponse(failureAuditServiceImpl.findByfaultId(faultId));
}
......
......@@ -5,6 +5,7 @@ import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
......@@ -62,8 +63,13 @@ public class FailureDetailsController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<Object> save(@RequestBody FailureDetailsDto model ) throws Exception {
return ResponseHelper.buildResponse( failureDetailsServiceImpl.savemodel(model,getSelectedOrgInfo()));
public ResponseModel<Object> save(@RequestBody FailureDetailsDto model ) {
try {
return ResponseHelper.buildResponse( failureDetailsServiceImpl.savemodel(model,getSelectedOrgInfo()));
} catch (Exception e) {
e.printStackTrace();
return ResponseHelper.buildResponse( false);
}
}
......@@ -123,7 +129,7 @@ public class FailureDetailsController extends BaseController {
Page<FailureDetails> page = new Page<FailureDetails>();
page.setCurrent(current);
page.setSize(size);
final AgencyUserModel userInfo = getUserInfo();
ReginParams userInfo = getSelectedOrgInfo();
IPage<FailureDetailsDto> failureDetailDTOsIPage = new Page<>();
IPage<FailureDetails> failureDetailsIPage = failureDetailsServiceImpl.queryForFailureDetailsPage(page, userInfo, type);
BeanUtils.copyProperties(failureDetailsIPage,FailureDetailsDto.class);
......
......@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.common.biz.controller;
import java.util.List;
import com.yeejoin.amos.boot.module.common.api.entity.FailureAudit;
import com.yeejoin.amos.boot.module.common.api.entity.FailureMaintain;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
......@@ -46,70 +48,60 @@ public class FailureMaintainController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<Object> save(@RequestBody FailureMaintainDto model) {
return ResponseHelper.buildResponse(failureMaintainServiceImpl.savemodel(model,getSelectedOrgInfo()));
public ResponseModel<Object> save(@RequestBody FailureMaintainDto model) {
try {
return ResponseHelper.buildResponse(failureMaintainServiceImpl.savemodel(model,getSelectedOrgInfo()));
} catch (Exception e) {
e.printStackTrace();
return ResponseHelper.buildResponse(false);
}
}
/**
* 根据sequenceNbr更新
* 根据传递的Status状态确认验收状态
*
* @param sequenceNbr 主键
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@PutMapping(value = "/verify")
@ApiOperation(httpMethod = "PUT", value = "验收操作", notes = "根据sequenceNbr更新")
public Object updateBySequenceNbrFailureMaintain(@RequestBody FailureMaintainDto model,Integer status,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(failureMaintainServiceImpl.updateModel(model,status,getSelectedOrgInfo()));
public Object updateBySequenceNbrFailureMaintain(@RequestBody FailureMaintainDto model) {
try {
return ResponseHelper.buildResponse(failureMaintainServiceImpl.updateModel(model,getSelectedOrgInfo()));
} catch (Exception e) {
e.printStackTrace();
return ResponseHelper.buildResponse(false);
}
}
/**
/*
*/
/**
* 根据sequenceNbr更新
* 根据传递的Status状态确认验收状态
*
* @param sequenceNbr 主键
* @return
*/
*//*
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/update/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "维修完成", notes = "根据sequenceNbr更新")
public Object updateByFailureMaintain(@RequestBody FailureMaintainDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
public Object updateByFailureMaintain(@RequestBody FailureMaintainDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(failureMaintainServiceImpl.updateStatus(model,getSelectedOrgInfo()));
try {
return ResponseHelper.buildResponse(failureMaintainServiceImpl.updateStatus(model,getSelectedOrgInfo()));
} catch (Exception e) {
return ResponseHelper.buildResponse(false);
}
}
/*
*/
/**
* 根据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(failureMaintainServiceImpl.removeById(sequenceNbr));
}
*/
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<FailureMaintainDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(failureMaintainServiceImpl.queryBySeq(sequenceNbr));
}
/**
......@@ -130,18 +122,22 @@ public class FailureMaintainController extends BaseController {
return ResponseHelper.buildResponse(failureMaintainServiceImpl.queryForFailureMaintainPage(page));
}
/**
* 列表全部数据查询
*
* 维修列表记录查询
*根据关联主表faultId查询
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<FailureMaintainDto>> selectForList() {
return ResponseHelper.buildResponse(failureMaintainServiceImpl.queryForFailureMaintainList());
@ApiOperation(httpMethod = "GET",value = "维修列表记录查询", notes = "维修列表记录查询")
@GetMapping(value = "/list/{faultId}")
public ResponseModel<List<FailureMaintain>> findByFaultIDFotList(@PathVariable long faultId) {
return ResponseHelper.buildResponse(failureMaintainServiceImpl.findByfaultId(faultId));
}
/**
* 查询历史流程审核信息记录
*
......
package com.yeejoin.amos.boot.module.common.biz.controller;
import com.yeejoin.amos.boot.module.common.api.dto.FailureAuditDto;
import com.yeejoin.amos.boot.module.common.api.entity.FailureAudit;
import com.yeejoin.amos.boot.module.common.api.entity.FailureVerify;
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.List;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FailureVerifyServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.FailureVerifyDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
* 故障报修验收记录
*
* @author system_generator
* @date 2021-08-18
*/
@RestController
@Api(tags = "故障报修验收记录Api")
@RequestMapping(value = "/common/failure-verify")
public class FailureVerifyController extends BaseController {
@Autowired
FailureVerifyServiceImpl failureVerifyServiceImpl;
/**
* 新增故障报修验收记录
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<Object> save(@RequestBody FailureVerifyDto model) {
try {
return ResponseHelper.buildResponse(failureVerifyServiceImpl.savemodel(model,getSelectedOrgInfo()));
} catch (Exception e) {
e.printStackTrace();
return ResponseHelper.buildResponse(false);
}
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新故障报修验收记录", notes = "根据sequenceNbr更新故障报修验收记录")
public ResponseModel<FailureVerifyDto> updateBySequenceNbrFailureVerify(@RequestBody FailureVerifyDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(failureVerifyServiceImpl.updateWithModel(model));
}
/*
*/
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*//*
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个故障报修验收记录", notes = "根据sequenceNbr查询单个故障报修验收记录")
public ResponseModel<FailureVerifyDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(failureVerifyServiceImpl.queryBySeq(sequenceNbr));
}
*/
/* *//**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*//*
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "故障报修验收记录分页查询", notes = "故障报修验收记录分页查询")
public ResponseModel<Page<FailureVerifyDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<FailureVerifyDto> page = new Page<FailureVerifyDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(failureVerifyServiceImpl.queryForFailureVerifyPage(page));
}*/
/*
*/
/**
* 列表全部数据查询
*
* @return
*//*
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "故障报修验收记录列表全部数据查询", notes = "故障报修验收记录列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<FailureVerifyDto>> selectForList() {
return ResponseHelper.buildResponse(failureVerifyServiceImpl.queryForFailureVerifyList());
}
*/
/**
* 审核列表记录查询
*根据关联主表faultId查询
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "审核列表记录查询", notes = "审核列表记录查询")
@GetMapping(value = "/list/{faultId}")
public ResponseModel<List<FailureVerify>> findByFaultIDFotList(@PathVariable long faultId) {
return ResponseHelper.buildResponse(failureVerifyServiceImpl.findByfaultId(faultId));
}
}
......@@ -5,6 +5,7 @@ import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.api.feign.SupervisionFeign;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -34,6 +35,8 @@ import java.util.Map;
public class OrgPersonController {
@Autowired
OrgUsrServiceImpl iOrgUsrService;
@Autowired
SupervisionFeign supervisionFeign;
/**
......@@ -63,6 +66,7 @@ public class OrgPersonController {
// 删除时,只作逻辑删除
iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", id).set("is_delete",
CommonConstant.IS_DELETE_01));
supervisionFeign.deleteOwner(id);
return ResponseHelper.buildResponse(null);
}
......
......@@ -64,7 +64,7 @@ public class FailureAuditServiceImpl extends BaseService<FailureAuditDto, Failur
* 发起审核
*/
@Transactional
public Object savemodel(FailureAuditDto model, ReginParams userInfo) {
public Object savemodel(FailureAuditDto model, ReginParams userInfo) throws Exception {
int condition = Integer.parseInt(model.getCondition());
model.setAuditTime(new Date());
......@@ -73,86 +73,88 @@ public class FailureAuditServiceImpl extends BaseService<FailureAuditDto, Failur
model.setAuditDepartment(userInfo.getDepartment().getDepartmentName());
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(model.getFaultId());
try {
//根据审核的结果进行业务操作
if (condition == AuditResultEnum.AGREE.getCode() && userInfo.getDepartment().getSequenceNbr().equals(failureDetailsDto.getBizCode())) {
updateStatus(model, FailureStatuEnum.WAITING_AUDIT, userInfo,condition);
} else if (condition == (AuditResultEnum.REFUSE.getCode())) {
updateStatus(model, FailureStatuEnum.REFUSE, userInfo,condition);
} else if (condition == (AuditResultEnum.SEND_BACK.getCode())) {
updateStatus(model, FailureStatuEnum.WAITING_SUBMIT, userInfo,condition);
} else if (condition == AuditResultEnum.AGREE.getCode() ) {
updateStatus(model, FailureStatuEnum.WAITING_MAINTAIN, userInfo,condition);
}
FailureAuditDto withModel = this.createWithModel(model);
}catch (Exception e){
e.printStackTrace();
e.printStackTrace();
logger.info("添加故障审核信息到数据库失败");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false ;
int auditResult = 0;
//根据审核的结果进行业务操作
if (condition == AuditResultEnum.AGREE.getCode() && userInfo.getDepartment().getSequenceNbr().equals(failureDetailsDto.getBizCode())) {
auditResult = AuditResultEnum.AGREE.getCode();
Boolean repairResult = updateStatus(model, FailureStatuEnum.WAITING_AUDIT, userInfo, condition);
} else if (condition == (AuditResultEnum.REFUSE.getCode())) {
auditResult = AuditResultEnum.REFUSE.getCode();
Boolean repairResult = updateStatus(model, FailureStatuEnum.REFUSE, userInfo, condition);
} else if (condition == (AuditResultEnum.SEND_BACK.getCode())) {
auditResult = AuditResultEnum.SEND_BACK.getCode();
Boolean repairResult = updateStatus(model, FailureStatuEnum.WAITING_SUBMIT, userInfo, condition);
} else if (condition == AuditResultEnum.AGREE.getCode()) {
auditResult = AuditResultEnum.AGREE.getCode();
Boolean repairResult = updateStatus(model, FailureStatuEnum.WAITING_MAINTAIN, userInfo, condition);
}
if (ObjectUtils.isEmpty(auditResult)) {
throw new Exception("添加报修日志失败");
}
model.setAuditResult(auditResult);
FailureAuditDto failureAuditDto = this.createWithModel(model);
if (ObjectUtils.isEmpty(failureAuditDto)){
return false;
}
return true;
}
}
/**
* 修改故障保修单任务状态
*/
@Transactional
public Boolean updateStatus(FailureAuditDto model, FailureStatuEnum status, ReginParams userInfo,int condition) throws Exception {
public Boolean updateStatus(FailureAuditDto model, FailureStatuEnum status, ReginParams userInfo, int condition) throws Exception {
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(model.getFaultId());
//当前角色部门id为应急指挥科的时候 并且同意时 不修改主表状态 依然为待审核
//当前角色部门id为维修部门的时候 修改状态
/*Map<String, Object> stringObjectMap = failureDetailsService.checkExcuteTaskAuthMap(failureDetailsDto.getSequenceNbr(), userInfo);
String name = stringObjectMap.get("name").toString();
if (name.contains(EMERGENCY_COMMAND)) {
failureDetailsDto.setCurrentStatus(failureDetailsDto.getCurrentStatus());
}*/
failureDetailsDto.setCurrentStatus(status.getCode());
failureDetailsDto.setSequenceNbr(model.getFaultId());
FailureDetailsDto failureDetailsDtos = failureDetailsService.updateWithModel(failureDetailsDto);
System.out.println(failureDetailsDtos);
String conditionText;
boolean result = failureDetailsService.checkExcuteTaskAuth(failureDetailsDto.getSequenceNbr(), userInfo);
if (result){
if (result) {
//添加报修日志
Long faultId = model.getFaultId();
Date processTime = model.getAuditTime();
String processDepartment = model.getAuditDepartment();
String processAuditor = model.getAuditor();
Integer processAuditorId =Integer.parseInt(userInfo.getUserModel().getUserId()) ;
String processAuditorCid = userInfo.getUserModel().getUserName();
// String processAuditor = model.getAuditor();
Integer processAuditorId = Integer.parseInt(userInfo.getUserModel().getUserId());
String processAuditorCid = userInfo.getRole().getRoleName();
Long auditDepartmentId = (userInfo.getDepartment().getSequenceNbr());
if (condition == AuditResultEnum.AGREE.getCode() ) {
if (condition == AuditResultEnum.AGREE.getCode()) {
conditionText = AuditResultEnum.AGREE.getName();
repairlog(faultId,processAuditor,processAuditorId,auditDepartmentId,processTime,processDepartment,conditionText,processAuditorCid);
repairlog(faultId, processAuditorId, auditDepartmentId, processTime, processDepartment, conditionText, processAuditorCid);
} else if (condition == AuditResultEnum.SEND_BACK.getCode()) {
conditionText = AuditResultEnum.SEND_BACK.getName();
repairlog(faultId,processAuditor,processAuditorId,auditDepartmentId,processTime,processDepartment,conditionText,processAuditorCid);
} else if (condition == AuditResultEnum.REFUSE.getCode()){
repairlog(faultId, processAuditorId, auditDepartmentId, processTime, processDepartment, conditionText, processAuditorCid);
} else if (condition == AuditResultEnum.REFUSE.getCode()) {
conditionText = AuditResultEnum.REFUSE.getName();
repairlog(faultId,processAuditor,processAuditorId,auditDepartmentId,processTime,processDepartment,conditionText,processAuditorCid);
repairlog(faultId, processAuditorId, auditDepartmentId, processTime, processDepartment, conditionText, processAuditorCid);
}
if (failureDetailsService.excuteTask(failureDetailsDto.getProcessId(), userInfo, condition + "")){
return true;
}else {
throw new Exception("执行流程失败");
}
failureDetailsService.excuteTask(failureDetailsDto.getProcessId(), userInfo,condition+"");
return true;
}
return false;
return false;
}
/**
* 添加报修日志
*/
@Transactional
public Boolean repairlog(Long faultId, String processAuditor,Integer processAuditorId,Long departmentId,Date processTime,
String processDepartment, String processResult,String processAuditorCid) {
public Boolean repairlog(Long faultId, Integer processAuditorId, Long departmentId, Date processTime,
String processDepartment, String processResult, String processAuditorCid) {
FailureRepairlogDto failureRepairlogDto = new FailureRepairlogDto();
failureRepairlogDto.setFaultId(faultId);
failureRepairlogDto.setProcessAuditor(processAuditor);
failureRepairlogDto.setProcessAuditorId(processAuditorId);
failureRepairlogDto.setProcessDepartmentId(departmentId);
failureRepairlogDto.setProcessTime(processTime);
......@@ -160,7 +162,7 @@ public class FailureAuditServiceImpl extends BaseService<FailureAuditDto, Failur
failureRepairlogDto.setProcessResult(processResult);
failureRepairlogDto.setProcessAuditorCid(processAuditorCid);
failureRepairlogService.createWithModel(failureRepairlogDto);
if (ObjectUtils.isNotEmpty(failureRepairlogDto)){
if (ObjectUtils.isNotEmpty(failureRepairlogDto)) {
return true;
}
return false;
......@@ -172,7 +174,7 @@ public class FailureAuditServiceImpl extends BaseService<FailureAuditDto, Failur
public List<FailureAudit> findByfaultId(Long faultId) {
Page<FailureAudit> page = new Page<>();
QueryWrapper<FailureAudit> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("fault_id", faultId).orderByDesc("submission_time");
queryWrapper.eq("fault_id", faultId).orderByDesc("audit_time");
return baseMapper.selectList(queryWrapper);
}
......
......@@ -85,25 +85,30 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
* 分页查询
*/
public IPage<FailureDetails> queryAllPage(long size, long current) {
QueryWrapper<FailureDetails> wrapper = new QueryWrapper<>();
/*QueryWrapper<FailureDetails> wrapper = new QueryWrapper<>();
wrapper.orderByDesc("submission_time");
IPage<FailureDetails> page = new Page<>(current, size);
return baseMapper.selectPage(page, wrapper);
return baseMapper.selectPage(page, wrapper);*/
Page pages = new Page<>(current,size);
LambdaQueryWrapper<FailureDetails> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.orderByDesc(FailureDetails::getSubmissionTime);
IPage iPage = page(pages, lambdaQueryWrapper);
Page<FailureDetails> page = new Page();
page.setCurrent(current);
page.setSize(size);
page.setRecords(iPage.getRecords());
return page;
}
public IPage<FailureDetails> queryForFailureDetailsPage(Page<FailureDetails> page, AgencyUserModel userInfo,
public IPage<FailureDetails> queryForFailureDetailsPage(Page<FailureDetails> page, ReginParams userInfo,
Integer type) {
if (type.equals(SELECY_ALL)) {
return this.queryAllPage(page.getSize(), page.getCurrent());
}
if (type.equals(SELECY_ISUBMIT)) {
return queryForPage(page, userInfo.getUserId());
return queryForPage(page, userInfo.getUserModel().getUserId());
}
return this.queryForWaitManage(page, userInfo.getUserId());
return this.queryForWaitManage(page, userInfo.getUserModel().getUserId());
}
/**
......@@ -113,11 +118,17 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
if (submissionPid == null) {
return null;
}
QueryWrapper<FailureDetails> wrapper = new QueryWrapper<>();
/* QueryWrapper<FailureDetails> wrapper = new QueryWrapper<>();
wrapper.eq("submission_pid", submissionPid);
wrapper.orderByDesc("submission_time");
IPage<FailureDetails> failureDetailsPage = new Page<>(page.getCurrent(), page.getSize());
return baseMapper.selectPage(failureDetailsPage, wrapper);
return baseMapper.selectPage(failureDetailsPage, wrapper);*/
Page pages = new Page<>(page.getCurrent(),page.getSize());
LambdaQueryWrapper<FailureDetails> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.eq(FailureDetails::getSubmissionPid,submissionPid);
lambdaQueryWrapper.orderByDesc(FailureDetails::getSubmissionTime);
return page(pages, lambdaQueryWrapper);
}
/**
......@@ -127,15 +138,19 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
if (submissionPid == null) {
return null;
}
QueryWrapper<FailureDetails> wrapper = new QueryWrapper<>();
LambdaQueryWrapper<FailureDetails> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.notIn(FailureDetails::getCurrentStatus,FailureStatuEnum.REFUSE.getCode(), FailureStatuEnum.FINISH.getCode()
).orderByDesc(FailureDetails::getSubmissionTime);
/*QueryWrapper<FailureDetails> wrapper = new QueryWrapper<>();
wrapper.eq("submission_pid", submissionPid);
wrapper.notIn("current_status", FailureStatuEnum.REFUSE.getCode(), FailureStatuEnum.FINISH.getCode(),
FailureStatuEnum.WAITING_AUDIT.getCode());
wrapper.orderByDesc("submission_time");
wrapper.orderByDesc("submission_time");*/
IPage<FailureDetails> failureDetailsPage = new Page<>(page.getCurrent(), page.getSize());
return baseMapper.selectPage(failureDetailsPage, wrapper);
return baseMapper.selectPage(failureDetailsPage, lambdaQueryWrapper);
}
/**
* 列表查询 示例
*/
......@@ -181,6 +196,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
}
/**
* 查询任务状态数量
*/
......@@ -201,7 +217,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
int inMaintenance = 0;
List<FailureStatusCountDto> list = new ArrayList<>();
// String[] statusName = new String[]{"待审核", "待提交", "待维修", "待验收", "已拒绝", "已完结"};
// String[] statusName = new String[]{"待审核", "待提交", "待维修", "待验收", "已拒绝", "已完结"};
List<String> statusName = new ArrayList<>();
Collections.addAll(statusName, FailureStatuEnum.WAITING_AUDIT.getName(),
FailureStatuEnum.WAITING_SUBMIT.getName(), FailureStatuEnum.WAITING_MAINTAIN.getName(),
......@@ -249,7 +265,8 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
*
* @throws Exception
*/
public Object savemodel(FailureDetailsDto failureDetailsDto, ReginParams userInfo) {
@Transactional
public Object savemodel(FailureDetailsDto failureDetailsDto, ReginParams userInfo) throws Exception {
String businessKey = buildOrderNo();
JSONObject body = new JSONObject();
body.put("businessKey", businessKey);
......@@ -267,7 +284,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
// 拿到流程processId
failureDetailsDto.setProcessId(instance.getString("id"));
FailureDetailsDto model = null;
try {
// 发起主表流程 并添加至报修日志
failureDetailsDto.setSubmissionTime(new Date());
failureDetailsDto.setFailureCode(buildOrderNo());
......@@ -280,50 +297,32 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
failureDetailsDto.getAttachment());
}
// 添加至报修日志
try {
Long faultId = model.getSequenceNbr();
String processAuditor = model.getRecUserName();
Integer processAuditorId = model.getSubmissionPid();
String processResult = "提交报修单";
String processDepartment = userInfo.getDepartment().getDepartmentName();
Long departmentId = userInfo.getDepartment().getSequenceNbr();
Date processTime = model.getSubmissionTime();
String processAuditorCid = userInfo.getUserModel().getUserName();
repairlog(faultId, processAuditor, processAuditorId, departmentId, processTime, processDepartment,
processResult, processAuditorCid);
} catch (Exception e) {
e.printStackTrace();
logger.info("添加流程日志到数据库失败");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
} catch (Exception e) {
e.printStackTrace();
logger.info("添加故障维修信息到数据库失败");
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
// return CommonResponseUtil.failure("添加失败");
}
try {
if (ObjectUtils.isNotEmpty(model)) {
excuteTask(instance.getString("id"), userInfo, null);
}
} catch (Exception e) {
return false;
}
String processAuditorCid = userInfo.getRole().getRoleName();
repairlog(faultId,processAuditorId,departmentId, processTime, processDepartment, processResult,processAuditorCid);
if (excuteTask(instance.getString("id"), userInfo, null)){
return true;
}else {
throw new Exception("执行流程失败");
}
return true;
}
/**
* 添加报修日志
*/
@Transactional
public Boolean repairlog(Long faultId, String processAuditor, Integer processAuditorId, Long departmentId,
public Boolean repairlog(Long faultId, Integer processAuditorId, Long departmentId,
Date processTime, String processDepartment, String processResult, String processAuditorCid) {
FailureRepairlogDto failureRepairlogDto = new FailureRepairlogDto();
failureRepairlogDto.setFaultId(faultId);
failureRepairlogDto.setProcessAuditor(processAuditor);
failureRepairlogDto.setProcessAuditorId(processAuditorId);
failureRepairlogDto.setProcessDepartmentId(departmentId);
failureRepairlogDto.setProcessTime(processTime);
......@@ -349,6 +348,11 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
} else {
workflowFeignService.pickupAndCompleteTask(map.get("taskId").toString(), conditionMap);
}
// 判断下一个节点是不是维修中,如果是则添加当前任务的执行人
String nextTaskId = checkIsInMaintenance(sequenceNbr);
if (nextTaskId != null) {
workflowFeignService.pickuptask(nextTaskId);
}
}
return true;
}
......@@ -358,7 +362,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
*
* @param sequenceNbr
* @param userInfo
* @param condition
* @return
*/
public boolean excuteTaskOnlyOperation(Long sequenceNbr, ReginParams userInfo) {
......@@ -509,13 +513,13 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
Long auditDepartmentId = failureRepairlog.getProcessDepartmentId();
if (auditDepartmentId.intValue() == seq.intValue()) {
countNum++;
continue;
break;
}
} else {
// 判断当前节点任务属于送达部门节点时需要判断当前登录人所在的部门id是否与表单发起时设置的送达部门一致
if (failureDetails.getFailureEquipmentId().intValue() == seq.intValue()) {
countNum++;
continue;
break;
}
}
}
......
......@@ -51,10 +51,11 @@ public class FailureRepairlogServiceImpl extends BaseService<FailureRepairlogDto
public FailureRepairlog findByprocessAuditor(String userId) {
LambdaQueryWrapper<FailureRepairlog> queryWrapper = new LambdaQueryWrapper<FailureRepairlog>();
queryWrapper.eq(FailureRepairlog::getProcessAuditor, userId);
queryWrapper.eq(FailureRepairlog::getProcessAuditorName, userId);
queryWrapper.last("LIMIT 1");
return baseMapper.selectOne(queryWrapper);
}
public FailureRepairlog findByFaultId(Long faultId) {
LambdaQueryWrapper<FailureRepairlog> wrapper = new LambdaQueryWrapper<FailureRepairlog>();
wrapper.eq(FailureRepairlog::getIsDelete, false);
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.common.api.dto.FailureVerifyDto;
import com.yeejoin.amos.boot.module.common.api.dto.FailureDetailsDto;
import com.yeejoin.amos.boot.module.common.api.dto.FailureRepairlogDto;
import com.yeejoin.amos.boot.module.common.api.entity.FailureVerify;
import com.yeejoin.amos.boot.module.common.api.enums.AuditResultEnum;
import com.yeejoin.amos.boot.module.common.api.enums.FailureStatuEnum;
import com.yeejoin.amos.boot.module.common.api.mapper.FailureVerifyMapper;
import com.yeejoin.amos.boot.module.common.api.service.IFailureVerifyService;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.Date;
import java.util.List;
/**
* 故障报修验收记录服务实现类
*
* @author system_generator
* @date 2021-08-18
*/
@Service
public class FailureVerifyServiceImpl extends BaseService<FailureVerifyDto, FailureVerify, FailureVerifyMapper> implements IFailureVerifyService {
@Autowired
FailureDetailsServiceImpl failureDetailsService;
@Autowired
FailureRepairlogServiceImpl failureRepairlogService;
/**
* 分页查询
*/
public Page<FailureVerifyDto> queryForFailureVerifyPage(Page<FailureVerifyDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<FailureVerifyDto> queryForFailureVerifyList() {
return this.queryForList("", false);
}
@Transactional
public Object savemodel(FailureVerifyDto model, ReginParams userInfo) throws Exception {
int condition = Integer.parseInt(model.getCondition());
model.setVerifyTime(new Date());
model.setVerifyDepartmentId(userInfo.getDepartment().getSequenceNbr());
model.setAcceptor(userInfo.getUserModel().getUserName());
model.setVerifyDepartment(userInfo.getDepartment().getDepartmentName());
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(model.getFaultId());
int verifyResult = 0;
boolean result = failureDetailsService.checkExcuteTaskAuth(failureDetailsDto.getSequenceNbr(), userInfo);
if (!result) {
return new RuntimeException("无权限");
}
Boolean repairResult = null;
//根据验收的结果进行业务操作
/* if (condition == AuditResultEnum.AGREE.getCode() ) {
verifyResult = AuditResultEnum.AGREE.getCode();
Boolean repairResult = updateStatus(model, FailureStatuEnum.WAITING_ACCEPTANCE, userInfo, condition);
} else*/
if (condition == (AuditResultEnum.REFUSE.getCode())) {
verifyResult = AuditResultEnum.REFUSE.getCode();
repairResult = updateStatus(model, FailureStatuEnum.REFUSE, userInfo, condition);
} /*else if (condition == (AuditResultEnum.SEND_BACK.getCode())) {
verifyResult = AuditResultEnum.SEND_BACK.getCode();
Boolean repairResult = updateStatus(model, FailureStatuEnum.WAITING_SUBMIT, userInfo, condition);
} */ else if (condition == AuditResultEnum.AGREE.getCode()) {
verifyResult = AuditResultEnum.AGREE.getCode();
repairResult = updateStatus(model, FailureStatuEnum.FINISH, userInfo, condition);
}
model.setVerifyResult(verifyResult);
List<FailureVerify> byfaultId = findByfaultId(failureDetailsDto.getSequenceNbr());
/* if (byfaultId.size() == 0) {
this.createWithModel(model);
} else {*/
this.createWithModel(model);
if (!failureDetailsService.excuteTask(failureDetailsDto.getSequenceNbr(), userInfo, condition + "")) {
throw new Exception("执行流程失败");
}
/* }*/
return true;
}
/**
* 修改故障保修单任务状态
*/
@Transactional
public Boolean updateStatus(FailureVerifyDto model, FailureStatuEnum status, ReginParams userInfo, int condition) throws Exception {
FailureDetailsDto failureDetailsDto = failureDetailsService.queryBySeq(model.getFaultId());
//当前角色部门id为应急指挥科的时候 并且同意时 不修改主表状态 依然为待验收
//当前角色部门id为维修部门的时候 修改状态
List<FailureVerify> byfaultId = findByfaultId(failureDetailsDto.getSequenceNbr());
if (byfaultId.size() != 0) {
failureDetailsDto.setCurrentStatus(status.getCode());
}
failureDetailsDto.setSequenceNbr(model.getFaultId());
failureDetailsService.updateWithModel(failureDetailsDto);
String conditionText;
//添加报修日志
Long faultId = model.getFaultId();
Date processTime = model.getVerifyTime();
String processDepartment = model.getVerifyDepartment();
Integer processAuditorId = Integer.parseInt(userInfo.getUserModel().getUserId());
String processAuditorCid = userInfo.getRole().getRoleName();
Long auditDepartmentId = (userInfo.getDepartment().getSequenceNbr());
Boolean repairlog = null;
if (condition == AuditResultEnum.AGREE.getCode()) {
conditionText = AuditResultEnum.AGREE.getName();
repairlog = repairlog(faultId, processAuditorId, auditDepartmentId, processTime, processDepartment, conditionText, processAuditorCid);
} else if (condition == AuditResultEnum.REFUSE.getCode()) {
conditionText = AuditResultEnum.REFUSE.getName();
repairlog = repairlog(faultId, processAuditorId, auditDepartmentId, processTime, processDepartment, conditionText, processAuditorCid);
}
if (!repairlog) {
throw new Exception("执行流程失败");
} else {
return true;
}
}
/**
* 添加报修日志
*/
@Transactional
public Boolean repairlog(Long faultId, Integer processAuditorId, Long departmentId, Date processTime,
String processDepartment, String processResult, String processVerifyorCid) {
FailureRepairlogDto failureRepairlogDto = new FailureRepairlogDto();
failureRepairlogDto.setFaultId(faultId);
failureRepairlogDto.setProcessAuditorId(processAuditorId);
failureRepairlogDto.setProcessDepartmentId(departmentId);
failureRepairlogDto.setProcessTime(processTime);
failureRepairlogDto.setProcessDepartment(processDepartment);
failureRepairlogDto.setProcessResult(processResult);
failureRepairlogDto.setProcessAuditorCid(processVerifyorCid);
failureRepairlogService.createWithModel(failureRepairlogDto);
if (ObjectUtils.isNotEmpty(failureRepairlogDto)) {
return true;
}
return false;
}
/**
* 根据FaultId查询
*/
public List<FailureVerify> findByfaultId(Long faultId) {
Page<FailureVerify> page = new Page<>();
QueryWrapper<FailureVerify> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("fault_id", faultId).orderByDesc("verify_time");
return baseMapper.selectList(queryWrapper);
}
public FailureVerify findByFaultId(Long faultId) {
LambdaQueryWrapper<FailureVerify> wrapper = new LambdaQueryWrapper<FailureVerify>();
wrapper.eq(FailureVerify::getIsDelete, false);
wrapper.eq(FailureVerify::getFaultId, faultId);
wrapper.orderByAsc(FailureVerify::getVerifyTime);
wrapper.last("LIMIT 1");
return this.baseMapper.selectOne(wrapper);
}
}
\ No newline at end of file
......@@ -11,6 +11,7 @@ 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.OrgUsr;
import com.yeejoin.amos.boot.module.common.api.enums.OrgPersonEnum;
import com.yeejoin.amos.boot.module.common.api.feign.SupervisionFeign;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
import com.yeejoin.amos.feign.privilege.Privilege;
......@@ -50,7 +51,8 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
DynamicFormColumnServiceImpl alertFormServiceImpl;
@Resource
OrgUsrMapper orgUsrMapper;
@Autowired
SupervisionFeign supervisionFeign;
@Autowired
ESOrgUsrService eSOrgUsrService;
@Override
......@@ -399,7 +401,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
}
@Override
public void saveOrgUsrDynamicFormInstance(OrgUsr orgUsr, List<DynamicFormInstance> alertFromValuelist) {
public void saveOrgUsrDynamicFormInstance(OrgUsr orgUsr, List<DynamicFormInstance> alertFromValuelist) throws Exception {
orgUsr.setRecDate(new Date());
AgencyUserModel user = Privilege.agencyUserClient.getme().getResult();
orgUsr.setRecUserName(user.getRealName());
......@@ -417,6 +419,10 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
});
// 保存动态表单数据
alertFormValueServiceImpl.saveBatch(alertFromValuelist);
OrgUsrFormDto formDto = this.selectCompanyById(orgUsr.getSequenceNbr());
if (OrgPersonEnum.公司.getKey().equals(orgUsr.getBizOrgType())) {
supervisionFeign.asyncOwner(formDto);
}
}
@Override
......
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
......@@ -22,14 +21,12 @@ 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.foundation.utils.CommonUtil;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -39,13 +36,10 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.FormValue;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCalledObjsDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.ESAlertCalledDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.ESAlertCalledRequestDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertCalled;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertFormValue;
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.ESAlertCalledService;
......@@ -285,4 +279,23 @@ public class AlertCalledController extends BaseController {
@RequestParam("endDate") String endDate) {
return ResponseHelper.buildResponse(iAlertCalledService.getAlertInfoList(beginDate, endDate));
}
/**
*
* <pre>
* 设备联动紧急响应
* 启动所有消防队伍的警铃、广播,并自动开启所有车库门
* </pre>
*
* @return
* @throws Exception
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/billsend")
@ApiOperation(httpMethod = "POST", value = "设备联动紧急响应", notes = "启动所有消防队伍的警铃、广播,并自动开启所有车库门")
@Transactional
public ResponseModel<Boolean> controlEquip() throws Exception{
return ResponseHelper.buildResponse(iAlertCalledService.controlEquip());
}
}
\ No newline at end of file
......@@ -14,6 +14,7 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.FormValue;
import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
import com.yeejoin.amos.boot.module.common.api.feign.JcsControlServerClient;
import com.yeejoin.amos.boot.module.common.biz.service.impl.WaterResourceServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCalledFormDto;
......@@ -73,6 +74,8 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal
@Autowired
AlertSubmittedMapper alertSubmittedMapper;
@Autowired
private JcsControlServerClient jcsControlServerClient;
@Autowired
private AlertFormValueServiceImpl iAlertFormValueService;
@Autowired
private ESAlertCalledService eSAlertCalledService;
......@@ -428,5 +431,22 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal
return alertCalledMapper.getTodayAlertCalled();
}
@Transactional(rollbackFor = RuntimeException.class)
public Boolean controlEquip() throws Exception
{
//打开消防警铃
jcsControlServerClient.sendBellAction("204,205,206", "1");
//播放广播
jcsControlServerClient.sendFileAction("201,202,203", "1490075199246.mp3");
//打开北站车库门
jcsControlServerClient.writeStateAction("172.19.111.153", 502, 100, "1,1,1,1");
//打开北站车库门弱电警铃
jcsControlServerClient.writeStateAction("172.19.111.153", 502, 107, "1");
//打开南站车库门
jcsControlServerClient.writeStateAction("172.19.111.163", 502, 100, "1");
//打开南站车库门弱电警铃
jcsControlServerClient.writeStateAction("172.19.111.163", 502, 107, "1");
return true;
}
}
......@@ -135,7 +135,9 @@ public class FireTeamServiceImpl extends BaseService<FireTeamDto, FireTeam, Fire
public List<MenuFrom> getCompanyTeamTree() throws Exception {
MenuFrom root = new MenuFrom("-1", "消防队伍", null, null);
// 机场单位
List<OrgUsr> companyDeptList = orgUsrService.selectCompanyDepartmentMsg();
//bug:2457需求要求不显示部门,因此更换方法 by 陈浩 2021-08-18
// List<OrgUsr> companyDeptList = orgUsrService.selectCompanyDepartmentMsg();
List<OrgUsr> companyDeptList = orgUsrService.selectCompanyList();
List<MenuFrom> companyDeptMenuList = Lists.newArrayList();
companyDeptList.forEach(o -> {
if (ValidationUtil.isEmpty(o.getParentId())) {
......
......@@ -186,27 +186,6 @@ public class PlanTaskController extends AbstractBaseController {
}
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "维保设施分页列表-mobile", notes = "维保设施分页列表-mobile")
@RequestMapping(value = "/point/{planTaskId}/list", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
public CommonResponse qryPlanTaskById(
@ApiParam(value = "巡检计划任务ID", required = true) @PathVariable Long planTaskId,
@ApiParam(value = "建筑id", required = true) @RequestParam(value = "buildingId", required = false) String buildingId,
@ApiParam(value = "维保状态", required = true) @RequestParam(value = "isFinish", required = false) String isFinish,
@ApiParam(value = "消防系统id", required = true) @RequestParam(value = "systemId", required = false) String systemId,
@ApiParam(value = "设备编号", required = true) @RequestParam(value = "pointNo", required = false) String pointNo,
@ApiParam(value = "设备名称", required = true) @RequestParam(value = "pointName", required = false) String pointName
) {
Map<String, Object> param = new HashMap<>();
param.put("planTaskId", planTaskId);
param.put("buildingId", buildingId);
param.put("isFinish", isFinish);
param.put("systemId", systemId);
param.put("pointNo", pointNo);
param.put("pointName", pointName);
return CommonResponseUtil.success(planTaskService.getPlanTaskPoints(param));
}
/**
* 查询任务列表
*
......@@ -243,6 +222,27 @@ public class PlanTaskController extends AbstractBaseController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "维保设施分页列表-mobile", notes = "维保设施分页列表-mobile")
@RequestMapping(value = "/point/{planTaskId}/list", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
public CommonResponse qryPlanTaskById(
@ApiParam(value = "巡检计划任务ID", required = true) @PathVariable Long planTaskId,
@ApiParam(value = "建筑id", required = true) @RequestParam(value = "buildingId", required = false) String buildingId,
@ApiParam(value = "维保状态", required = true) @RequestParam(value = "isFinish", required = false) String isFinish,
@ApiParam(value = "消防系统id", required = true) @RequestParam(value = "systemId", required = false) String systemId,
@ApiParam(value = "设备编号", required = true) @RequestParam(value = "pointNo", required = false) String pointNo,
@ApiParam(value = "设备名称", required = true) @RequestParam(value = "pointName", required = false) String pointName
) {
Map<String, Object> param = new HashMap<>();
param.put("planTaskId", planTaskId);
param.put("buildingId", buildingId);
param.put("isFinish", isFinish);
param.put("systemId", systemId);
param.put("pointNo", pointNo);
param.put("pointName", pointName);
return CommonResponseUtil.success(planTaskService.getPlanTaskPoints(param));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "查询维保设施,检查内容详情")
@GetMapping(value = "/task-point-detail")
public CommonResponse planTaskPointDetail(
......
......@@ -5,8 +5,6 @@ import com.yeejoin.amos.maintenance.business.util.CommonResponseUtil;
import com.yeejoin.amos.maintenance.core.framework.PersonIdentify;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -22,7 +20,6 @@ import org.typroject.tyboot.core.restful.doc.TycloudOperation;
@RequestMapping(value = "/api/user")
@Api(tags = "用户信息api")
public class UserController extends AbstractBaseController {
private final Logger logger = LoggerFactory.getLogger(UserController.class);
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PersonIdentify
......
......@@ -9,4 +9,6 @@ public interface PlanTaskDetailMapper extends BaseMapper {
, @Param(value="executorId") String executorId);
Map findPlanTaskByTaskIdAndPointId(@Param(value="planTaskId") long planTaskId,@Param(value="pointId") long pointId);
void deleteByPointIdAndRouteId(@Param("pointId") long pointId, @Param("routeId") long routeId);
}
......@@ -56,4 +56,6 @@ public interface IPlanTaskDao extends BaseDao<PlanTask, Long> {
List<PlanTask> findByPlanId(Long planId);
PlanTask findByUserIdAndBeginTimeAndEndTimeAndPlanIdAndRouteId(String userId, String startTime, String endTime, long id, long routeId);
List<PlanTask> findByRouteId(long pointId);
}
package com.yeejoin.amos.maintenance.business.dao.repository;
import java.util.List;
import com.yeejoin.amos.maintenance.dao.entity.PlanTaskDetail;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import com.yeejoin.amos.maintenance.dao.entity.PlanTaskDetail;
import java.util.List;
@Repository("planTaskDetail")
public interface IPlanTaskDetailDao extends BaseDao<PlanTaskDetail, Long> {
@Modifying
@Transactional
@Query(value = "DELETE FROM p_plan_task_detail WHERE point_id IN (?1)", nativeQuery = true)
void deletePlanTaskDetailByPointId(List<Long> pointIds);
/**
* 根据任务id获取任务详情
* @param planTaskId
* @return
*/
public List<PlanTaskDetail> findAllByTaskNo(Long planTaskId);
/**
* 根据任务id及状态获取计划详情
* @param planTaskId
* @return
*/
public List<PlanTaskDetail> findAllByTaskNoAndStatus(Long planTaskId,String status);
int countByIsFinish(int status);
int countByIsFinishAndTaskNo(int status,Long taskNo);
@Modifying
@Transactional
@Query(value = "DELETE FROM p_plan_task_detail WHERE task_no IN (?1)", nativeQuery = true)
void deletePlanTaskDetailByTaskNo(List<Long> planTaskNo);
@Query(value = "select * FROM p_plan_task_detail WHERE point_id IN (?1)", nativeQuery = true)
@Modifying
@Transactional
@Query(value = "DELETE FROM p_plan_task_detail WHERE point_id IN (?1)", nativeQuery = true)
void deletePlanTaskDetailByPointId(List<Long> pointIds);
/**
* 根据任务id及状态获取计划详情
*
* @param planTaskId
* @return
*/
List<PlanTaskDetail> findAllByTaskNoAndStatus(Long planTaskId, String status);
int countByIsFinishAndTaskNo(int status, Long taskNo);
@Modifying
@Transactional
@Query(value = "DELETE FROM p_plan_task_detail WHERE task_no IN (?1)", nativeQuery = true)
void deletePlanTaskDetailByTaskNo(List<Long> planTaskNo);
@Query(value = "select * FROM p_plan_task_detail WHERE point_id IN (?1)", nativeQuery = true)
List<PlanTaskDetail> findALLByPointId(Long pointId);
}
List<PlanTaskDetail> findByPointId(long pointId);
}
\ No newline at end of file
......@@ -12,7 +12,7 @@ import java.util.Map;
/**
* @author DELL
*/ //装备
@FeignClient(name = "${equip.feign.name}")
@FeignClient(name = "${equip.feign.name}",configuration = FeignConfiguration.class)
public interface EquipFeignClient {
String PREFIX = "${equip.feign.prefix}";
......
......@@ -21,9 +21,12 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor {
}
ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes;
HttpServletRequest request = attributes.getRequest();
//设置header
String token = request.getHeader("X-Access-Token");
String token = request.getHeader("token");
if (token == null) {
token = request.getHeader("X-Access-Token");
}
String product = request.getHeader("product");
String appKey = request.getHeader("appKey");
template.header("token", token);
......
package com.yeejoin.amos.maintenance.business.feign;
import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder;
import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.cloud.openfeign.support.SpringEncoder;
import org.springframework.context.annotation.Bean;
import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder;
public class FeignConfiguration {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
@Bean
public FeignBasicAuthRequestInterceptor basicAuthRequestInterceptor() {
return new FeignBasicAuthRequestInterceptor();
}
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
@Bean
public FeignBasicAuthRequestInterceptor basicAuthRequestInterceptor() {
return new FeignBasicAuthRequestInterceptor();
}
}
......@@ -64,9 +64,6 @@ public class PointServiceImpl implements IPointService {
private IPointInputItemDao iPointInputItemDao;
@Autowired
private IPointPhotoDao iPointPhotoDao;
@Autowired
private IRoutePointDao iRoutePointDao;
@Autowired
......
package com.yeejoin.amos.maintenance.business.service.impl;
import com.yeejoin.amos.maintenance.business.constants.XJConstant;
import com.yeejoin.amos.maintenance.business.dao.mapper.InputItemMapper;
import com.yeejoin.amos.maintenance.business.dao.mapper.PointMapper;
import com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskDetailMapper;
import com.yeejoin.amos.maintenance.business.dao.mapper.RouteMapper;
import com.yeejoin.amos.maintenance.business.dao.mapper.RoutePointItemMapper;
import com.yeejoin.amos.maintenance.business.dao.repository.*;
import com.yeejoin.amos.maintenance.business.param.RoutePageParam;
import com.yeejoin.amos.maintenance.business.service.intfc.IPlanService;
......@@ -18,7 +16,6 @@ import com.yeejoin.amos.maintenance.core.common.response.RoutePointRespone;
import com.yeejoin.amos.maintenance.core.util.query.BaseQuerySpecification;
import com.yeejoin.amos.maintenance.dao.entity.*;
import com.yeejoin.amos.maintenance.exception.YeeException;
import com.yeejoin.amos.maintenance.feign.RemoteSecurityService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
......@@ -29,6 +26,8 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service("routeService")
public class RouteServiceImpl implements IRouteService {
......@@ -53,15 +52,6 @@ public class RouteServiceImpl implements IRouteService {
@Resource
private RouteMapper routeMapper;
@Resource
private PointMapper pointMapper;
@Resource
private InputItemMapper inputItemMapper;
@Resource
private RoutePointItemMapper routePointItemMapper;
@Autowired
private IPointInputItemDao iPointInputItemDao;
......@@ -72,9 +62,17 @@ public class RouteServiceImpl implements IRouteService {
private IPlanTaskService planTaskService;
@Autowired
PlanTaskDetailMapper planTaskDetailMapper;
@Autowired
private IRoutePointItemDao iRoutePointItemDao;
@Autowired
private RemoteSecurityService remoteSecurityService;
private IPlanTaskDetailDao iPlanTaskDetailDao;
@Autowired
IPlanTaskDao planTaskDao;
@Override
@Transactional
......@@ -119,6 +117,7 @@ public class RouteServiceImpl implements IRouteService {
Long routeId = route.getId();
String orgCode = route.getOrgCode();
String creatorId = route.getCreatorId();
Route finalRoute = route;
routePoints.forEach(rp -> {
rp.setOrgCode(orgCode);
rp.setRouteId(routeId);
......@@ -126,6 +125,8 @@ public class RouteServiceImpl implements IRouteService {
if (rp.getIsDelete()) {
iRoutePointItemDao.delRoutePointItem(rp.getId());
iRoutePointDao.deleteById(rp.getId());
//删除p_plan_task_detail 对应点、更新p_plan_task点数量、完成数量
this.updatePlanTask(rp.getPointId(),finalRoute.getId());
} else {
List<RoutePointItem> routePointItems = rp.getRoutePointItem();
iRoutePointDao.saveAndFlush(rp);
......@@ -151,7 +152,26 @@ public class RouteServiceImpl implements IRouteService {
}
}
});
return iRouteDao.save(route);
return route;
}
private void updatePlanTask(long pointId, long routeId) {
List<PlanTask> planTaskList = planTaskDao.findByRouteId(routeId);
List<PlanTaskDetail> planTaskDetailList = iPlanTaskDetailDao.findByPointId(pointId);
Map<Long,PlanTask> planTaskMap = planTaskList.stream().collect(Collectors.toMap(BasicEntity::getId, Function.identity()));
for (PlanTaskDetail planTaskDetail : planTaskDetailList) {
PlanTask planTask = planTaskMap.get(planTaskDetail.getTaskNo());
if (1 == planTaskDetail.getIsFinish()) {
planTask.setFinishNum(planTask.getFinishNum() - 1);
planTask.setPointNum(planTask.getPointNum() - 1);
} else {
planTask.setPointNum(planTask.getPointNum() - 1);
}
}
//更新主表完成数量,点数量
planTaskDao.saveAll(planTaskList);
//删除路线下的维保点
planTaskDetailMapper.deleteByPointIdAndRouteId(pointId, routeId);
}
......
......@@ -402,4 +402,18 @@ public class InputItemController extends AbstractBaseController {
List<InputItemTemplateVo> itemTemplateVoList = ExcelUtils.importExcel(file, 1, 1, InputItemTemplateVo.class);
return CommonResponseUtil.success(inputItemService.uploadListByTemplate(itemTemplateVoList, orgCode, userId));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "获取字典值", notes = "获取字典值")
@GetMapping(value = "/diction")
public CommonResponse getCheckItemClassify() {
return CommonResponseUtil.success(inputItemService.generateDictionaryValue());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "获取上一级", notes = "获取上一级")
@GetMapping(value = "/parent/item")
public CommonResponse getItemParent(@ApiParam(value = "检查项id") @RequestParam(required = false) String id) {
return CommonResponseUtil.success(inputItemService.getItemParent(id));
}
}
......@@ -11,6 +11,7 @@ import java.util.Set;
import javax.servlet.http.HttpServletResponse;
import com.yeejoin.amos.supervision.business.dto.OrgUsrFormDto;
import com.yeejoin.amos.supervision.business.vo.MaintenanceResourceData;
import com.yeejoin.amos.supervision.business.vo.PointClassifyVo;
import com.yeejoin.amos.supervision.business.vo.PointInputItemVo;
......@@ -216,7 +217,7 @@ public class PointController extends AbstractBaseController {
/**
* 查询巡检点信息
*
* @param point
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -270,7 +271,7 @@ public class PointController extends AbstractBaseController {
/**
* 查询巡检点信息
*
* @param point
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -499,7 +500,7 @@ public class PointController extends AbstractBaseController {
/**
* 查询巡检点的巡检项
*
* @param id
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -518,7 +519,7 @@ public class PointController extends AbstractBaseController {
/**
* 查询巡检点的巡检项
*
* @param id
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -537,7 +538,7 @@ public class PointController extends AbstractBaseController {
/**
* 查询巡检点的分类
*
* @param id
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -556,7 +557,7 @@ public class PointController extends AbstractBaseController {
/**
* 根据分类id查询对应项
*
* @param id
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -576,7 +577,7 @@ public class PointController extends AbstractBaseController {
/**
* 根据点id查询点的分类及对应项
*
* @param id
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -672,7 +673,7 @@ public class PointController extends AbstractBaseController {
/**
* 查询巡检点信息
*
* @param point
* @param
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
......@@ -808,15 +809,34 @@ public class PointController extends AbstractBaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "装备维保项", notes = "装备维保项")
@RequestMapping(value = "/equipmentInput", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
@ApiOperation(value = "机场单位同步", notes = "机场单位同步")
@RequestMapping(value = "/teamInput", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse syncSavePoint(
@ApiParam(value = "同步请求参数") @RequestBody() List<MaintenanceResourceData> list) {
@ApiParam(value = "同步请求参数") @RequestBody OrgUsrFormDto orgUsrFormDto) {
ReginParams reginParams = getSelectedOrgInfo();
AgencyUserModel model = getUserInfo();
String orgCode = getOrgCode(reginParams);
iPointService.syncSavePoint(list, orgCode, model.getUserId());
iPointService.syncSavePoint(orgUsrFormDto, orgCode, model.getUserId());
return CommonResponseUtil.success();
}
/**
* 删除巡检点
*
* @param id
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "同步删除机场单位", notes = "同步删除机场单位")
@PostMapping(value = "/delete", produces = "application/json;charset=UTF-8")
public CommonResponse deleteOwner(@ApiParam(value = "巡检点ID", required = true) @RequestBody Long id) {
try {
iPointService.delPointByPointNo(id);
return CommonResponseUtil.success();
} catch (Exception e) {
log.error(e.getMessage(), e);
return CommonResponseUtil.failure("删除检查点失败");
}
}
}
......@@ -32,4 +32,6 @@ public interface InputItemMapper {
List<PointInputItemVo> queryCustomInputItemByPointId(@Param("pointId") Long pointId, @Param("equipmentId") String equipmentName);
Integer insertList(List<InputItem> list);
List<InputItemVo> getInputItemParent(@Param("id") String id);
}
......@@ -36,4 +36,12 @@ public interface IPointDao extends BaseDao<Point, Long> {
void delPointBIds(Long id);
List<Point> findAllByOriginalId(String relationId);
@Modifying
@Transactional
@Query(value = "UPDATE p_point SET is_delete = 1 WHERE point_no IN (?1)", nativeQuery = true)
void delPointByPointNo(Long id);
@Query(value = "SELECT id FROM p_point p WHERE is_delete = 0 AND p.point_no = (?1)", nativeQuery = true)
List<Long> findPointByPointNo(String pointNo);
}
package com.yeejoin.amos.supervision.business.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
*
* @return
* <PRE>
* author tw
* date 2021/6/21
* </PRE>
* 动态表单值
*/
@Data
@ApiModel(value="FormValue", description="动态表单值")
public class FormValue implements Serializable{
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "key")
private String key;
@ApiModelProperty(value = "label")
private String label;
@ApiModelProperty(value = "type")
private String type;
@ApiModelProperty(value = "value")
private String value;
@ApiModelProperty(value = "是否一行显示")
private boolean block;
public FormValue() {
}
public FormValue(String key, String label, String type, String value, boolean block) {
super();
this.key = key;
this.label = label;
this.type = type;
this.value = value;
this.block = block;
}
}
package com.yeejoin.amos.supervision.business.dto;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.List;
/**
* 机构/部门/人员表
*
* @author tb
* @date 2021-06-18
*/
@Data
@Accessors(chain = true)
@TableName("cb_org_usr")
@ApiModel(value="OrgUsrVo", description="人员信息")
public class OrgPersonFormDto extends BaseEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "机构/部门id")
private Long id;
@ApiModelProperty(value = "机构/部门名称")
private String bizOrgName;
@ApiModelProperty(value = "机构编码")
private String bizOrgCode;
@ApiModelProperty(value = "amos中公司/部门ID")
private String amosOrgId;
@ApiModelProperty(value = "amos中公司/部门编码")
private String amosOrgCode;
@ApiModelProperty(value = "机构类型`")
private String bizOrgType;
@ApiModelProperty(value = "所属建筑名称")
private String buildName;
@ApiModelProperty(value = "所属建筑ID")
private String buildId;
@ApiModelProperty(value = "归属机构/部门/人员")
private String parentId;
@ApiModelProperty(value = "归属机构/部门/人员")
private String parentName;
@ApiModelProperty(value = "动态表单值")
private List<FormValue> dynamicFormAlert;
public OrgPersonFormDto() {
}
public OrgPersonFormDto(List<FormValue> dynamicFormAlert) {
this.dynamicFormAlert = dynamicFormAlert;
}
}
package com.yeejoin.amos.supervision.business.dto;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 机构/部门/人员表
*
* @author tb
* @date 2021-06-18
*/
@Data
@Accessors(chain = true)
@TableName("cb_org_usr")
@ApiModel(value="OrgUsrVo", description="机构/部门/人员表")
public class OrgUsrFormDto implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "单位id")
private Long id;
@ApiModelProperty(value = "单位id")
protected Long sequenceNbr;
@ApiModelProperty(value = "单位名称")
private String currentUnit;
@ApiModelProperty(value = "归属机构/部门")
private String parentId;
@ApiModelProperty(value = "机构/部门名称")
private String bizOrgName;
@ApiModelProperty(value = "机构编码")
private String bizOrgCode;
@ApiModelProperty(value = "amos中公司/部门ID")
private String amosOrgId;
@ApiModelProperty(value = "amos中公司/部门编码")
private String amosOrgCode;
@ApiModelProperty(value = "机构类型`")
private String bizOrgType;
@ApiModelProperty(value = "所属建筑名称")
private String buildName;
@ApiModelProperty(value = "所属建筑ID")
private String buildId;
private Integer personNum;
@ApiModelProperty(value = "动态表单值")
private List<FormValue> dynamicFormAlert;
@ApiModelProperty(value = "单位人员信息值")
private List<OrgPersonFormDto> children;
public List<FormValue> getDynamicFormAlert() {
return dynamicFormAlert;
}
@ApiModelProperty(value = "转换动态表单")
private Map<String,Object> map=new HashMap<>();;
public void setDynamicFormAlert(List<FormValue> dynamicFormAlert) {
if(dynamicFormAlert!=null) {
dynamicFormAlert.forEach(formValue->{
this.map.put(formValue.getKey(), formValue.getValue());
});
}
this.dynamicFormAlert=dynamicFormAlert;
}
public OrgUsrFormDto() {
}
}
......@@ -10,9 +10,11 @@ import com.yeejoin.amos.supervision.business.param.InputItemPageParam;
import com.yeejoin.amos.supervision.business.service.intfc.ICatalogTreeService;
import com.yeejoin.amos.supervision.business.service.intfc.IInputItemService;
import com.yeejoin.amos.supervision.business.util.DaoCriteria;
import com.yeejoin.amos.supervision.business.util.StringUtil;
import com.yeejoin.amos.supervision.business.vo.InputItemTemplateVo;
import com.yeejoin.amos.supervision.business.vo.InputItemVo;
import com.yeejoin.amos.supervision.business.vo.PointInputItemVo;
import com.yeejoin.amos.supervision.common.enums.DictTypeEnum;
import com.yeejoin.amos.supervision.core.util.query.BaseQuerySpecification;
import com.yeejoin.amos.supervision.dao.entity.InputItem;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
......@@ -25,6 +27,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.*;
......@@ -93,6 +96,46 @@ public class InputItemServiceImpl implements IInputItemService {
}
@Override
public List<Map<String, Object>> generateDictionaryValue() {
List<Map<String, Object>> list = new ArrayList<>();
for (Map<String, String> map : DictTypeEnum.getEnumList()) {
JSONArray jsonArray = remoteSecurityService.listDictionaryByDictCode(RequestContext.getToken(),
RequestContext.getProduct(), RequestContext.getAppKey(), map.get("code"));
Map<String, Object> map1 = new HashMap<>();
List lists = new LinkedList();
for (int i = 0, size = jsonArray.size(); i < size; i++) {
Map<String, String> m = new HashMap<>();
JSONObject jsonObject = jsonArray.getJSONObject(i);
m.put("id", jsonObject.get("dictDataKey").toString());
m.put("name", jsonObject.get("dictDataValue").toString());
lists.add(m);
}
if ("itemClassify".equals(map.get("code"))) {
map1.put("CHECK_ITEM_CLASSIFY", lists);
list.add(map1);
}
if ("itemType".equals(map.get("code"))) {
map1.put("CHECK_ITEM_TYPE", lists);
list.add(map1);
}
if ("itemLevel".equals(map.get("code"))) {
map1.put("CHECK_ITEM_LEVEL", lists);
list.add(map1);
}
if ("checkType".equals(map.get("code"))) {
map1.put("CHECK_ITEM_CONTENT", lists);
list.add(map1);
}
}
return list;
}
@Override
public List getItemParent(String id) {
return inputItemMapper.getInputItemParent(id);
}
@Override
public List<InputItem> queryInputItemByCondition(List<DaoCriteria> criterias) {
BaseQuerySpecification<InputItem> specification = new BaseQuerySpecification<>(criterias);
return inputItemDao.findAll(specification);
......
package com.yeejoin.amos.supervision.business.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
......@@ -20,6 +21,8 @@ import com.yeejoin.amos.supervision.business.dao.repository.IPointInputItemDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPointPhotoDao;
import com.yeejoin.amos.supervision.business.dao.repository.IRoutePointDao;
import com.yeejoin.amos.supervision.business.dao.repository.IRoutePointItemDao;
import com.yeejoin.amos.supervision.business.dto.FormValue;
import com.yeejoin.amos.supervision.business.dto.OrgUsrFormDto;
import com.yeejoin.amos.supervision.business.dto.PointDto;
import com.yeejoin.amos.supervision.business.entity.mybatis.CheckPtListBo;
import com.yeejoin.amos.supervision.business.feign.EquipFeign;
......@@ -1118,45 +1121,53 @@ public class PointServiceImpl implements IPointService {
}
@Override
public void syncSavePoint(List<MaintenanceResourceData> list, String orgCode, String userId) {
public void syncSavePoint(OrgUsrFormDto orgUsrFormDto, String orgCode, String userId) {
List<Point> points = new ArrayList<>();
List<PointInputItem> inputItems = new ArrayList<>();
List<Long> ids = new ArrayList<Long>();
for (MaintenanceResourceData x : list) {
Point point = new Point();
String pointNo = StringUtil.isNotEmpty(x.getFireFacilityCode()) ? x.getFireFacilityCode() : String.valueOf(sequence.nextId());
String originalId = String.valueOf(x.getFireFacilityId());
point.setOriginalId(originalId);
point.setName(x.getFireFacilityName());
point.setPointNo(pointNo);
point.setEquipmentId(x.getClassifyId() == null ? "" : x.getClassifyId().toString());
point.setEquipmentName(x.getClassifyName());
point.setBelongSystemId(x.getFireFightSysId() == null ? "" : x.getFireFightSysId().toString());
point.setBelongSystemName(x.getFireFightSysName());
point.setOwnerId(String.valueOf(x.getOwnerUnitId()));
point.setOwnerName(x.getOwnerUnitName());
point.setAddress(x.getLocation());
point.setLevel("");
point.setCreatorId(userId);
point.setOrgCode(orgCode);
points.add(point);
Long id = iPointDao.findPointByEquipmentIdAndFireFacilityId(pointNo, originalId);
if (null != id) {
ids.add(id);
iPointDao.delPointBIds(id);
}
iPointDao.save(point);
List<InputItem> inputItemVos = inputItemMapper.getInputItemByEquipmentName(x.getClassifyName(), orgCode);
if (0 < inputItemVos.size()) {
inputItemVos.forEach(y -> {
PointInputItem inputItem = new PointInputItem();
inputItem.setPointId(point.getId());
inputItem.setOrderNo(y.getOrderNo());
inputItem.setInputItemId(y.getId());
inputItems.add(inputItem);
});
Point point = new Point();
String pointNo = StringUtil.isNotEmpty(orgUsrFormDto.getSequenceNbr()) ? String.valueOf(orgUsrFormDto.getSequenceNbr()) : String.valueOf(sequence.nextId());
point.setName(orgUsrFormDto.getBizOrgName());
point.setPointNo(pointNo);
point.setOrgCode(orgUsrFormDto.getBizOrgCode());
point.setBuildingId(orgUsrFormDto.getBuildId());
point.setBuildingName(orgUsrFormDto.getBuildName());
point.setOriginalId(orgUsrFormDto.getParentId());
String data = JSON.toJSONString(orgUsrFormDto.getMap());
point.setExtendJson(data);
point.setOwnerId(pointNo);
point.setOwnerName(orgUsrFormDto.getBizOrgName());
if (0 < orgUsrFormDto.getDynamicFormAlert().size()) {
for (FormValue formValue : orgUsrFormDto.getDynamicFormAlert()) {
if ("longitude".equals(formValue.getKey())) {
point.setLongitude(formValue.getValue());
}
if ("latitude".equals(formValue.getKey())) {
point.setLatitude(formValue.getValue());
}
if ("companyLocation".equals(formValue.getKey())) {
point.setAddress(formValue.getValue());
}
}
}
point.setOrgCode(orgUsrFormDto.getAmosOrgCode());
points.add(point);
Long id = iPointDao.findPointByEquipmentIdAndFireFacilityId(pointNo, point.getOriginalId());
if (null != id) {
ids.add(id);
iPointDao.delPointBIds(id);
}
iPointDao.save(point);
List<InputItem> inputItemVos = inputItemMapper.getInputItemByEquipmentName(point.getName(), orgCode);
if (0 < inputItemVos.size()) {
inputItemVos.forEach(y -> {
PointInputItem inputItem = new PointInputItem();
inputItem.setPointId(point.getId());
inputItem.setOrderNo(y.getOrderNo());
inputItem.setInputItemId(y.getId());
inputItems.add(inputItem);
});
}
if (0 < ids.size()) {
iPointInputItemDao.deleteByPointId(ids);
}
......@@ -1183,4 +1194,12 @@ public class PointServiceImpl implements IPointService {
Pageable pageable = new CommonPageable(pointPage.getNumber(), pointPage.getSize(), pointPage.getSort());
return new PageImpl<>(pointDtos, pageable, pointPage.getTotalElements());
}
@Override
public void delPointByPointNo(Long id) {
List<Long> idLists = new ArrayList<>();
idLists = iPointDao.findPointByPointNo(String.valueOf(id));
iPointInputItemDao.deleteByPointId(idLists);
iPointDao.delPointByPointNo(id);
}
}
......@@ -112,4 +112,8 @@ public interface IInputItemService {
Boolean uploadListByTemplate(List<InputItemTemplateVo> itemTemplateVoList, String orgCode, String userId) throws Exception;
Integer insertList(List<InputItem> list);
List generateDictionaryValue();
List getItemParent(String id);
}
package com.yeejoin.amos.supervision.business.service.intfc;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.supervision.business.dto.OrgUsrFormDto;
import com.yeejoin.amos.supervision.business.dto.PointDto;
import com.yeejoin.amos.supervision.business.param.*;
import com.yeejoin.amos.supervision.business.param.CheckPtListPageParam;
......@@ -309,7 +310,7 @@ public interface IPointService {
LinkedHashMap<String,Object> getRegionTress ();
void syncSavePoint(List<MaintenanceResourceData> list, String orgCode, String userId);
void syncSavePoint(OrgUsrFormDto orgUsrFormDto, String orgCode, String userId);
/**
* 查询巡检点及点及点的项
* @param queryRequests 请求参数
......@@ -319,4 +320,11 @@ public interface IPointService {
*/
Page<PointDto> queryPointInfoWithItem(List<DaoCriteria> queryRequests, CommonPageable commonPageable, Long ownerId);
/**
* 删除巡检点
*
* @param ids
*/
void delPointByPointNo(Long id);
}
......@@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlarmStatisticsDto;
......@@ -45,14 +44,11 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Field;
import java.text.ParseException;
import java.util.Arrays;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
/**
* 警情接警填报记录
......@@ -257,64 +253,21 @@ public class AlertCalledController extends BaseController {
}
page = iAlertCalledService.page(pageBean, alertCalledQueryWrapper);
IPage<AlertCalledDto> calledVoIPage = AlertBeanDtoVoUtils.alertCalledIPageDto(page);
calledVoIPage.getRecords().stream().forEach(e->{
//e.setAlertAddress(e.getAddress());
});
return ResponseHelper.buildResponse(calledVoIPage);
}
private QueryWrapper<AlertCalled> setQueryWrapper(QueryWrapper<AlertCalled> queryWrapper, AlertCalled alertCalled,String sort){
Class<? extends AlertCalled> aClass = alertCalled.getClass();
queryWrapper.eq("is_delete", 0);
if(sort!=null) {
// String[] date= sort.split(",");
// if(date[1].equals("ascend")) {
// queryWrapper.orderByAsc(RedisKey.humpToLine(date[0]));
// }else {
// queryWrapper.orderByDesc(RedisKey.humpToLine(date[0]));
// }
}else {
queryWrapper.orderByDesc("call_time");
}
queryWrapper.orderByDesc("call_time");
queryWrapper.between("call_time", DateUtils.stampToDate(System.currentTimeMillis(),DateUtils.DATE_PATTERN),
DateUtils.stampToDate(DateUtils.dateAddDays(new Date(),1).getTime(),DateUtils.DATE_PATTERN));
if (alertCalled.getCallTimeStart() != null && alertCalled.getCallTimeEnd() != null) {
queryWrapper.between("call_time", alertCalled.getCallTimeStart(), alertCalled.getCallTimeEnd());
}
if (alertCalled.getIsFatherAlert()) { // 0:接警;1:处警
queryWrapper.isNull("father_alert");
}
Stream<Field> fieldStream = Arrays.stream(aClass.getDeclaredFields()).filter(field -> {
String name = NameUtils.camel2Underline(field.getName());
return !("IS_FATHER_ALERT".equals(name));
});
fieldStream.forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(alertCalled);
if (o != null && !"serialVersionUID".equals(field.getName())) {
Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(alertCalled);
queryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) {
String fileValue = (String) field.get(alertCalled);
queryWrapper.eq(name, fileValue);
} else if (type.equals(Boolean.class)) {
Boolean fileValue = (Boolean) field.get(alertCalled);
queryWrapper.eq(name, fileValue);
}else if (type.equals(Long.class) || "long".equals(type.toString())) {
Long fileValue = (Long) field.get(alertCalled);
queryWrapper.eq(name, fileValue);
}
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常");
}
});
return queryWrapper;
}
......@@ -358,7 +311,7 @@ public class AlertCalledController extends BaseController {
}
LambdaUpdateWrapper<AlertCalled> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(AlertCalled::getForzenResult,alertCalledDto.getForzenResult());
updateWrapper.set(AlertCalled::getAlertStage,1);
updateWrapper.set(AlertCalled::getAlertStatus,true);
updateWrapper.eq(AlertCalled::getSequenceNbr,alertCalledDto.getSequenceNbr());
return ResponseHelper.buildResponse(iAlertCalledService.update(updateWrapper));
}
......@@ -377,7 +330,7 @@ public class AlertCalledController extends BaseController {
}
LambdaUpdateWrapper<AlertCalled> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(AlertCalled::getFinalReason,alertCalledDto.getFinalReason());
updateWrapper.set(AlertCalled::getAlertStage,1);
updateWrapper.set(AlertCalled::getAlertStatus,true);
updateWrapper.eq(AlertCalled::getSequenceNbr,alertCalledDto.getSequenceNbr());
return ResponseHelper.buildResponse(iAlertCalledService.update(updateWrapper));
}
......
......@@ -5,12 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.DutyPersonDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.MaintenanceUnitDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.MaintenanceUnitNameDto;
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.service.IMaintenanceUnitService;
import com.yeejoin.amos.boot.module.tzs.api.dto.MaintenanceUnitNameDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.DutyPersonDto;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.ElevatorServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
import io.swagger.annotations.Api;
......@@ -19,7 +19,11 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......
......@@ -16,6 +16,7 @@ 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.Elevator;
import com.yeejoin.amos.boot.module.tzs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.mapper.AlertCalledMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IAlertCalledService;
import com.yeejoin.amos.boot.module.tzs.biz.utils.BeanDtoVoUtils;
......@@ -153,12 +154,35 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
}
@Override
public Boolean updateAlertStageByAlertId(Long alertId, String alertStage) {
public Boolean updateAlertStage(AlertCalledDto alertCalledVo, DispatchPaperEnums stage) {
LambdaUpdateWrapper<AlertCalled> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(AlertCalled::getSequenceNbr,alertId);
AlertStageEnums stage = AlertStageEnums.getEnumByCode(alertStage);
updateWrapper.eq(AlertCalled::getSequenceNbr,alertCalledVo.getSequenceNbr());
updateWrapper.set(AlertCalled::getAlertStageCode,stage.getId());
alertCalledVo.setAlertStage(stage.getValue());
alertCalledVo.setAlertStageCode(stage.getId());
updateWrapper.set(AlertCalled::getAlertStage,stage.getValue());
if(stage == DispatchPaperEnums.reportorBack || stage == DispatchPaperEnums.complainantBack) {
updateWrapper.set(AlertCalled::getAlertStatus,true);
alertCalledVo.setAlertStatus(true);
} else if(stage == DispatchPaperEnums.repaired && alertCalledVo.getAlarmTypeCode().equals(AlertStageEnums.KRJY.getId())) {
updateWrapper.set(AlertCalled::getAlertStatus,true);
alertCalledVo.setAlertStatus(true);
}
Boolean flag = this.update(updateWrapper);
if(flag) { //更新redis 和 es 信息
try {
redisUtils.del(RedisKey.TZS_ALERTCALLED_ID+alertCalledVo.getSequenceNbr());
} catch (Exception e) {
e.printStackTrace();
logger.error("删除redis失败:" + e.getMessage());
}
try {
eSAlertCalledService.updateEsAlertCalled(alertCalledVo);
} catch (Exception e) {
e.printStackTrace();
logger.error("更新es失败:" + e.getMessage());
}
}
return this.update(updateWrapper);
}
......
......@@ -201,9 +201,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
rescueProcessDto.setDispatchTime(dispatchPaper.getDispatchTime());
rescueProcessServiceImpl.updateByAlertId(rescueProcessDto,null);
}
// 修改警情到派遣阶段
alertCalledServiceImpl.updateAlertStageByAlertId(alertId,TzsCommonParam.PQ);
return dispatchPaperFormDto;
}
......@@ -316,15 +313,13 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
DispatchPaper dispatchPaper = dispatchPaperFormDto.getDispatchPaper();
// 动态字段
List<AlertFormValue> dynamicFormAlert = dispatchPaperFormDto.getDynamicFormAlert();
Map<String,Boolean> tempMap = new HashMap<String,Boolean>();
dynamicFormAlert.stream().forEach(alertFormValue -> {
switch (alertFormValue.getFieldCode()) {
case TzsCommonParam.SAVE_FEEDBACK_TIME:
if (dispatchSaveFeedbackDto.getSaveFeedbackTime() != null) {
if(alertFormValue.getFieldValue() == null ) {
// 坐席回访
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchSaveFeedbackDto.getAlertId(),TzsCommonParam.JYHF,null,user);
// 修改警情到救援反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchSaveFeedbackDto.getAlertId(),TzsCommonParam.JYHF);
tempMap.put(TzsCommonParam.BXFK,true);
}
alertFormValue.setFieldValue(DateUtils.date2LongStr(dispatchSaveFeedbackDto.getSaveFeedbackTime()));
}
......@@ -373,20 +368,25 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
dispatchPaper.setFeedbackUid(dispatchSaveFeedbackDto.getFeedbackUid());
dispatchPaper.setFeedbackUname(dispatchSaveFeedbackDto.getFeedbackUname());
if(dispatchPaper.getFeedbackTime() == null && dispatchSaveFeedbackDto.getFeedbackFinishTime() != null) {
tempMap.put("FEEDBACK",true);
}
// 保存派遣表
flag = this.updateById(dispatchPaper);
// 保存动态表单数据
iAlertFormValueService.updateBatchById(dynamicFormAlert);
if(tempMap.get("BXFK") != null) {
// 救援回访
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchSaveFeedbackDto.getAlertId(),TzsCommonParam.JYHF,null,user);
}
if(tempMap.get("FEEDBACK") != null) {
// 维修反馈
Long taskId = dispatchPaper.getRepairOrgTaskId() != null ? dispatchPaper.getRepairOrgTaskId() : dispatchPaper.getUseOrgTaskId();
if(taskId == null) {
throw new BadRequest("未找到反馈任务单");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchSaveFeedbackDto.getAlertId(),TzsCommonParam.WXFK,taskId,user);
// 修改警情到维修反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchSaveFeedbackDto.getAlertId(),TzsCommonParam.WXFK);
dispatchPaper.setFeedbackTime(dispatchSaveFeedbackDto.getFeedbackFinishTime()); // 没有回访时间只有维修完成时间
dispatchPaper.setFeedbackTime(dispatchSaveFeedbackDto.getFeedbackFinishTime()); // 没有回访时间只有维修完成时间 2021.8.18 演示沟通 维修完成时间即为 反馈时间
}
// 保存动态表单数据
iAlertFormValueService.updateBatchById(dynamicFormAlert);
// 保存派遣表
flag = this.updateById(dispatchPaper);
return flag;
}
......@@ -592,8 +592,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
if(taskId == null) {
throw new BadRequest("未找到反馈任务单");
}
// 修改警情到维修反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchRepairFeedbackDto.getAlertId(),TzsCommonParam.WXFK);
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchRepairFeedbackDto.getAlertId(),TzsCommonParam.WXFK,taskId,user);
}
if(tempMap.get("BXFK") != null) {
......@@ -603,8 +601,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
throw new BadRequest("未找到反馈任务单");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchRepairFeedbackDto.getAlertId(),TzsCommonParam.BXFK,taskId,user);
// 修改警情到报修反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchRepairFeedbackDto.getAlertId(),TzsCommonParam.BXFK);
}
return flag;
}
......@@ -799,7 +795,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
throw new BadRequest("未找到反馈任务单");
}
// 修改警情到维修反馈
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchConsultFeedbackDto.getAlertId(),TzsCommonParam.WXFK);
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchConsultFeedbackDto.getAlertId(),TzsCommonParam.WXFK_TS,taskId,user);
}
if(tempMap.get("TSRFK") != null) {
......@@ -810,7 +805,6 @@ public class DispatchPaperServiceImpl extends BaseService<DispatchPaperDto,Dispa
throw new BadRequest("未找到反馈任务单");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(dispatchConsultFeedbackDto.getAlertId(),TzsCommonParam.TSRFK,taskId,user);
alertCalledServiceImpl.updateAlertStageByAlertId(dispatchConsultFeedbackDto.getAlertId(),TzsCommonParam.TSRFK);
}
return flag;
}
......
......@@ -185,6 +185,9 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
// 创建派遣单
dispatchTaskDto.setDispatchTime(new Date());
DispatchTask dispatchTask = BeanDtoVoUtils.convert(dispatchTaskDto, DispatchTask.class);
if(AlertStageEnums.KRJY.getId().equals(dispatchTaskDto.getAlertCode())) {
dispatchTask.setIsSaveTask(true);
}
dispatchTask.setPaperId(dispatchPaperDto.getDispatchPaper().getSequenceNbr());
if(dispatchPaper.getRepairOrgTaskId() != null && (dispatchTask.getOrgTypeCode().equals(DispatchPaperEnums.levelOneUnit.getCode()) || dispatchTask.getOrgTypeCode().equals(DispatchPaperEnums.levelTwoUnit.getCode()))) {
throw new BadRequest("已经派遣过其他力量调派");
......@@ -275,7 +278,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
if(rescueProcessDto.getDispatchStatus() == null && rescueProcessDto.getDispatchTime() == null) {
rescueProcessDto.setDispatchStatus(true);
rescueProcessDto.setDispatchTime(dispatchTask.getDispatchTime());
rescueProcessDto.setDispatchUserName(dispatchTask.getRecUserName());
rescueProcessDto.setDispatchUserName(sendUser.getRealName());
rescueProcessDto.setDispatchUserId(dispatchTask.getRecUserId());
rescueProcessServiceImpl.updateByAlertId(rescueProcessDto);
}
......
......@@ -3,6 +3,7 @@ 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.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledRequestDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled;
......@@ -243,4 +244,32 @@ public class ESAlertCalledService {
return result;
}
/**
* 更新索引
*/
public ESAlertCalled updateEsAlertCalled(AlertCalledDto alertCalled) throws Exception {
esAlertCalledRepository.deleteById(alertCalled.getSequenceNbr());
ESAlertCalled esAlertCalled = new ESAlertCalled();
esAlertCalled.setSequenceNbr(alertCalled.getSequenceNbr());
esAlertCalled.setAlarmType(alertCalled.getAlarmType());
esAlertCalled.setAlarmTypeCode(alertCalled.getAlarmTypeCode());
esAlertCalled.setCallTime(alertCalled.getCallTime());
esAlertCalled.setCallTimeLong(alertCalled.getCallTime()!=null?alertCalled.getCallTime().getTime():null);
esAlertCalled.setContactPhone(alertCalled.getContactPhone());
esAlertCalled.setAddress(alertCalled.getAddress());
esAlertCalled.setAlertStage(alertCalled.getAlertStage());
esAlertCalled.setAlertStatus(alertCalled.getAlertStatus());
esAlertCalled.setEmergencyCall(alertCalled.getEmergencyCall());
esAlertCalled.setDeviceId(alertCalled.getDeviceId());
if (alertCalled.getAlertStatus())
{
esAlertCalled.setAlertStatusStr(AlertStatusEnum.CLOSED.getCode());
}else
{
esAlertCalled.setAlertStatusStr(AlertStatusEnum.UNCLOSED.getCode());
}
esAlertCalledRepository.save(esAlertCalled);
return esAlertCalled;
}
}
......@@ -15,6 +15,7 @@ import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.tzs.api.entity.RepairConsult;
import com.yeejoin.amos.boot.module.tzs.api.entity.Template;
import com.yeejoin.amos.boot.module.tzs.api.enums.AlertStageEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.DispatchPaperEnums;
import com.yeejoin.amos.boot.module.tzs.api.enums.TzsCommonParam;
import com.yeejoin.amos.boot.module.tzs.api.mapper.RepairConsultMapper;
import com.yeejoin.amos.boot.module.tzs.api.service.IRepairConsultService;
......@@ -56,6 +57,14 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
@Autowired
RescueProcessServiceImpl rescueProcessServiceImpl;
/**
* 记录处置日志同时修改案件的状态
* @param alertId
* @param type
* @param taskId
* @param user
* @return
*/
@Transactional
@Override
public Boolean saveRepairConsultByAlertIdType(Long alertId, String type, Long taskId,AgencyUserModel user) {
......@@ -77,7 +86,10 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
Template template = templateServiceImpl.getOne(templateQueryWrapper);
String content = template.getContent();
String createTime = DateUtils.getDateNowString();
DispatchPaperEnums CZHJ = null;
if(AlertStageEnums.JJ.getCode().equals(type)) {
// 接警的处置环节为已接警
CZHJ = DispatchPaperEnums.receivedAlert;
String createUser = user.getRealName();
String emergency_call = alertCalledVo.getEmergencyCall();
String area = alertCalledVo.getAddress();
......@@ -93,6 +105,8 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
content = content.replace("$createTime",createTime).replace("$createUser",createUser).replace("$call",emergency_call);
content = content.replace("$area",area).replace("$alertType",alertType);
} else if(TzsCommonParam.PQ.equals(type)) {
// 派遣的处置环节为已派遣
CZHJ = DispatchPaperEnums.dispatched;
String createUser = user.getRealName();
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String unit = dispatchTask.getResponseOrgName();
......@@ -115,13 +129,22 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
content = content.replace("$createTime",createTime).replace("$createUser",createUser).replace("$unit",unit);
content = content.replace("$person",person).replace("$phone",phone).replace("$taskType",taskType);
} else if(TzsCommonParam.DD.equals(type)) {
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
RescueProcessDto rescueProcessDto = rescueProcessServiceImpl.getProcessByAlertId(alertId);
String FKFS = rescueProcessDto.getArriveFeedbackType();
content = content.replace("$FKFS",FKFS);
if(true == dispatchTask.getIsSaveTask()) {
// 到达的处置环节为维保已到达或者 已到达
CZHJ = DispatchPaperEnums.rescueArrived;
} else {
CZHJ = DispatchPaperEnums.repaireArrived;
}
} else if(TzsCommonParam.JC.equals(type)) {
//救出为救援完成
CZHJ = DispatchPaperEnums.rescued;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -129,10 +152,14 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
String FKFS = rescueProcessDto.getArriveFeedbackType();
content = content.replace("$FKFS",FKFS);
} else if(TzsCommonParam.JYHF.equals(type)) {
//救援回访
CZHJ = DispatchPaperEnums.rescueBack;
String createUser = user.getRealName();
String create = alertCalledVo.getEmergencyPerson();
content = content.replace("$createTime",createTime).replace("$createUser",createUser).replace("$create",create);
} else if(TzsCommonParam.WXFK.equals(type)) { //从派遣单获取数据
//维修反馈修改到维修完成
CZHJ = DispatchPaperEnums.repaired;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -147,6 +174,8 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
});
content = content.replace("$FKFS",dispatchPaper.getFeedbackType()).replace("$fixResult",tempMap.get("fixResult"));
} else if(TzsCommonParam.WXFK_TS.equals(type)) { //从派遣单获取数据
//投诉的维修反馈修改成维保已处置
CZHJ = DispatchPaperEnums.disposed;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -162,6 +191,8 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
content = content.replace("$FKFS",dispatchPaper.getFeedbackType()).replace("$fixResult",tempMap.get("fixResult"));
type = TzsCommonParam.WXFK;
} else if(TzsCommonParam.BXFK.equals(type)) {
//报修反馈
CZHJ = DispatchPaperEnums.reportorBack;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -177,6 +208,8 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
});
content = content.replace("$FKFS",tempMap.get(TzsCommonParam.FKFS)).replace("$feedbackResult",tempMap.get("fixResult"));
} else if(TzsCommonParam.TSRFK.equals(type)) {
//投诉人已反馈
CZHJ = DispatchPaperEnums.complainantBack;
DispatchTask dispatchTask = dispatchTaskServiceImpl.getById(taskId);
String person = dispatchTask.getResponseUserName();
content = content.replace("$createTime",createTime).replace("$person",person);
......@@ -192,11 +225,16 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
});
content = content.replace("$FKFS",tempMap.get(TzsCommonParam.FKFS)).replace("$feedbackResult",tempMap.get("action_result"));
}
repairConsult.setType(AlertStageEnums.getEnumByCode(type).getId());
repairConsult.setAlertStageCode(AlertStageEnums.getEnumByCode(type).getId());
repairConsult.setAlertStatus(AlertStageEnums.getEnumByCode(type).getValue());
AlertStageEnums RZHJ = AlertStageEnums.getEnumByCode(type);
repairConsult.setType(RZHJ.getCode());
repairConsult.setAlertStageCode(RZHJ.getId());
repairConsult.setAlertStatus(RZHJ.getValue());
repairConsult.setDescription(content);
flag = this.save(repairConsult);
if(flag) {
// 记录处置记录后修改 案件状态
alertCalledServiceImpl.updateAlertStage(alertCalledVo,CZHJ);
}
return flag;
}
......
......@@ -138,6 +138,7 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
dispatchTaskDto.setResponseOrgName("119");
dispatchTaskDto.setResponseUserName("119");
dispatchTaskDto.setResponseUserTel("119");
dispatchTaskDto.setIsSaveTask(true);
DispatchTask dispatchTask = BeanDtoVoUtils.convert(dispatchTaskDto, DispatchTask.class);
dispatchTask.setPaperId(dispatchPaper.getSequenceNbr());
Boolean flag = dispatchTaskServiceImpl.save(dispatchTask);
......@@ -215,8 +216,6 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
throw new BadRequest("派遣任务单信息未找到");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType( rescueProcessDto.getAlertId(),"DD",taskId,sendUser); //保存接警日志
// 修改警情到抵达
iAlertCalledService.updateAlertStageByAlertId(rescueProcessDto.getAlertId(),"DD");
}
if(saveByUser) { // 手动救援
DispatchPaperFormDto dispatchPaperDto = dispatchPaperServiceImpl.selectDispatchPaperDtoByAlertId(rescueProcessDto.getAlertId());
......@@ -232,8 +231,6 @@ public class RescueProcessServiceImpl extends BaseService<RescueProcessDto,Rescu
throw new BadRequest("派遣任务单信息未找到");
}
repairConsultServiceImpl.saveRepairConsultByAlertIdType(rescueProcessDto.getAlertId(),"JC",taskId,sendUser); //保存接警日志
// 修改警情到抵达
iAlertCalledService.updateAlertStageByAlertId(rescueProcessDto.getAlertId(),"JC");
}
return flag;
......
spring.application.name=JCS
spring.application.name=JCS_chenhao
server.servlet.context-path=/jcs
server.port=11100
spring.profiles.active=dev
......@@ -50,7 +50,7 @@ spring.redis.expire.time=300
## mqtt-警情初报消息主题
mqtt.topic.alert.reporting=alertReporting
## 实战指挥新警情?报主题
## 实战指挥新警情�?�报主题
mqtt.topic.command.alert.notice=alertNotice
## 跑马灯地震,天气预警信息
......@@ -60,6 +60,11 @@ mqtt.topic.command.power.deployment=power
security.systemctl.name=AMOS-API-SYSTEMCTL
supervision.feign.name = AMOS-SUPERVISION-API
iot.fegin.name=AMOS-API-IOT
equip.fegin.name=AMOS-EQUIPMANAGE
\ No newline at end of file
equip.fegin.name=AMOS-EQUIPMANAGE
## 设备联动服务(车库门、广播、警铃)
control.fegin.name=JCS-API-CONTROL
\ No newline at end of file
......@@ -31,7 +31,7 @@ spring.liquibase.enabled=true
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
equip.feign.name=AMOS-EQUIPMANAGE-SHG
equip.feign.name=AMOS-EQUIPMANAGE
equip.feign.prefix=/equip
input.custom.prefix = QYZD
input.statute.prefix = FG
......
......@@ -205,6 +205,7 @@
p_plan_task pt
INNER JOIN p_plan p ON pt.plan_id = p.id
INNER JOIN p_route r on r.id = pt.route_id
where pt.status = 0
) a
<include refid="mobile-plan-task-where" />
<if test="orderBy != null and orderBy != ''"> order by ${orderBy}</if>
......@@ -263,6 +264,7 @@
p_plan_task pt
INNER JOIN p_plan p ON pt.plan_id = p.id
INNER JOIN p_route r on r.id = pt.route_id
where pt.status = 0
) a
<include refid="mobile-plan-task-where" />
</select>
......
......@@ -5,8 +5,13 @@
<update id="finishTaskDetail">
call updatePlanTask(#{planTaskId}, #{pointId}, #{planTaskDetailId} ,#{executorId})
</update>
<select id="findPlanTaskByTaskIdAndPointId" resultType="Map">
<delete id="deleteByPointIdAndRouteId">
delete FROM `p_plan_task_detail`
where
point_id = #{pointId}
and task_no in (select id from p_plan_task t where t.route_id = #{routeId}) ;
</delete>
<select id="findPlanTaskByTaskIdAndPointId" resultType="Map">
SELECT
p.name planName, pt.begin_time beginTime, pt.end_time endTime, pp.name pointName, pp.point_no pointNo, ptd.id planTaskDetailId, pt.route_id routeId, pr.name routeName
FROM
......
......@@ -16,4 +16,76 @@
ALTER TABLE p_point ADD COLUMN `last_check_id` varchar(32) DEFAULT NULL COMMENT '最近检查记录(漏检不算)' AFTER `original_id`;
</sql>
</changeSet>
<changeSet author="keyong" id="1629261435-1" runOnChange="true">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_input_item" columnName="check_type"/>
</not>
</preConditions>
<comment>p_input_item ADD COLUMN check_type</comment>
<sql>
ALTER TABLE p_input_item ADD COLUMN `check_type` varchar(32) DEFAULT NULL COMMENT '检查类别' AFTER `test_requirement`;
</sql>
</changeSet>
<changeSet author="keyong" id="1629261435-2" runOnChange="true">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_input_item" columnName="item_parent"/>
</not>
</preConditions>
<comment>p_input_item ADD COLUMN item_parent</comment>
<sql>
ALTER TABLE p_input_item ADD COLUMN `item_parent` varchar(50) DEFAULT NULL COMMENT '父类检查项id' AFTER `check_type`;
</sql>
</changeSet>
<changeSet author="keyong" id="1629261435-3" runOnChange="true">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_input_item" columnName="item_classify"/>
</not>
</preConditions>
<comment>p_input_item ADD COLUMN item_classify</comment>
<sql>
ALTER TABLE p_input_item ADD COLUMN `item_classify` varchar(50) DEFAULT NULL COMMENT '检查项分类' AFTER `item_parent`;
</sql>
</changeSet>
<changeSet author="keyong" id="1629261435-4" runOnChange="true">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_input_item" columnName="item_type_classify"/>
</not>
</preConditions>
<comment>p_input_item ADD COLUMN item_type_classify</comment>
<sql>
ALTER TABLE p_input_item ADD COLUMN `item_type_classify` varchar(50) DEFAULT NULL COMMENT '适用检查类别' AFTER `item_classify`;
</sql>
</changeSet>
<changeSet author="keyong" id="1629261435-5" runOnChange="true">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_input_item" columnName="item_level"/>
</not>
</preConditions>
<comment>p_input_item ADD COLUMN item_level</comment>
<sql>
ALTER TABLE p_input_item ADD COLUMN `item_level` varchar(50) DEFAULT NULL COMMENT '检查项等级' AFTER `item_type_classify`;
</sql>
</changeSet>
<changeSet author="keyong" id="1629261435-6" runOnChange="true">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_input_item" columnName="item_start"/>
</not>
</preConditions>
<comment>p_input_item ADD COLUMN item_start</comment>
<sql>
ALTER TABLE p_input_item ADD COLUMN `item_start` bit(1) DEFAULT b'0' COMMENT '检查项状态' AFTER `item_level`;
</sql>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -94,7 +94,8 @@
a.test_requirement,
a.check_method,
a.create_date,
a.input_classify
a.input_classify,
a.check_type
from
p_input_item a left join p_catalog_tree b on a.catalog_id = b.id
where a.is_delete = '0'
......@@ -226,9 +227,9 @@
from
p_input_item pii
where is_delete = '0' and input_type = 1 and equipment_name=#{equipmentName}
<if test="orgCode!=null and orgCode !=''">
and org_Code = #{orgCode}
</if>
<!-- <if test="orgCode!=null and orgCode !=''">-->
<!-- and org_Code = #{orgCode}-->
<!-- </if>-->
</select>
<insert id="insertList" parameterType="java.util.List">
INSERT INTO p_input_item (
......@@ -260,4 +261,18 @@
)
</foreach>
</insert>
<select id="getInputItemParent" resultType="com.yeejoin.amos.supervision.business.vo.InputItemVo">
SELECT
pii.id AS id,
pii.name AS name
FROM
p_input_item pii
WHERE
1=1
<if test="id !=null and id !=''">
AND pii.id != #{id}
</if>
ORDER BY create_date DESC;
</select>
</mapper>
\ No newline at end of file
spring.application.name=TZS
server.servlet.context-path=/tzs
server.port=10000
server.port=11000
spring.profiles.active=dev
spring.jackson.time-zone=GMT+8
......@@ -20,4 +20,8 @@ spring.datasource.hikari.connection-test-query=SELECT 1
iot.fegin.name=AMOS-API-IOT
equip.fegin.name=AMOS-EQUIPMANAGE
\ No newline at end of file
equip.fegin.name=AMOS-EQUIPMANAGE
supervision.feign.name = AMOS-SUPERVISION-API
security.systemctl.name=AMOS-API-SYSTEMCTL
\ No newline at end of file
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