Commit 9a36750d authored by tangwei's avatar tangwei

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

parents eb086901 e9ff571e
...@@ -30,7 +30,6 @@ import org.typroject.tyboot.core.foundation.utils.Bean; ...@@ -30,7 +30,6 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -107,10 +106,10 @@ public class ControllerAop { ...@@ -107,10 +106,10 @@ public class ControllerAop {
CompanyBo company = new CompanyBo(); CompanyBo company = new CompanyBo();
DepartmentBo department = new DepartmentBo(); DepartmentBo department = new DepartmentBo();
RoleBo role = new RoleBo(); RoleBo role = new RoleBo();
CompanyModel companyM = user.getCompanys().get(0); CompanyModel companyM = user.getCompanys() != null ? user.getCompanys().get(0) : null ;
Bean.copyExistPropertis(companyM, company); Bean.copyExistPropertis(companyM, company);
Map<Long, List<DepartmentModel>> mapDepartments = user.getCompanyDepartments(); Map<Long, List<DepartmentModel>> mapDepartments = user.getCompanyDepartments();
DepartmentModel departmentM = mapDepartments.get(companyM.getSequenceNbr()).get(0); DepartmentModel departmentM = companyM != null ? mapDepartments.get(companyM.getSequenceNbr()).get(0) : null ;
Bean.copyExistPropertis(departmentM, department); Bean.copyExistPropertis(departmentM, department);
Map<Long, List<RoleModel>> roles = user.getOrgRoles(); Map<Long, List<RoleModel>> roles = user.getOrgRoles();
Long sequenceNbr; Long sequenceNbr;
...@@ -121,7 +120,7 @@ public class ControllerAop { ...@@ -121,7 +120,7 @@ public class ControllerAop {
} }
RoleModel roleM = null; RoleModel roleM = null;
if (sequenceNbr == null) { if (sequenceNbr == null) {
roleM = roles.get(companyM.getSequenceNbr()).get(0); roleM = companyM != null ?roles.get(companyM.getSequenceNbr()).get(0) : null;
} else { } else {
roleM = roles.get(sequenceNbr).get(0); roleM = roles.get(sequenceNbr).get(0);
} }
......
package com.yeejoin.amos.boot.biz.common.enums;
import lombok.AllArgsConstructor;
@AllArgsConstructor
public enum WorkFlowEnum {
BUSINESSKEY("businessKey","自动生成的ID"),
processDefinitionKey("processDefinitionKey","流程定义的KEY"),
制定计划内容("制定计划+内容","流程节点的特殊值"),
现场确认("现场确认","流程节点的特殊值"),
CONDITION("condition",""),
DATA("data","data"),
ID("id","id"),
CHECKFLAG("checkFlag","自定义是否具有执行权限的标识符"),
TASKID("taskId","可执行任务的主键"),
GROUP("group","角色组"),
GROUPID("groupId","角色组的key"),
GROUPNAME("groupName","角色组的key"),
NAME("name","任务节点的key"),
ASSIGN("assign","角色执行人key");
private String code;//对应菜单组件名称
private String desc;//描述
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
...@@ -191,6 +191,16 @@ public interface WorkflowFeignService { ...@@ -191,6 +191,16 @@ public interface WorkflowFeignService {
* @return * @return
* @throws ParseException * @throws ParseException
*/ */
@RequestMapping(value = "/activitiHistory/processes/historytasks/getGroupNamelist/{processInstanceId}",method = RequestMethod.GET) @RequestMapping(value = "/activitiHistory/processes/historytasks/getGroupNamelist/{taskId}",method = RequestMethod.GET)
JSONObject getHistoricIdentityLinksForProcessInstance(@PathVariable("processInstanceId") String processInstanceId) throws ParseException; JSONObject getHistoricIdentityLinksForTask(@PathVariable("taskId") String taskId) throws ParseException;
/**
*获取指定流程定义下所有的历史流程任务任务执行信息 --获取historytask表数据
* @param processInstanceId
* @return
* @throws ParseException
*/
@RequestMapping(value = "/activitiHistory/processes/historytasks/getHistoricTaskForProcessInstanceId/{processInstanceId}",method = RequestMethod.GET)
JSONObject getHistoricTaskForProcessInstanceId(@PathVariable("processInstanceId") String processInstanceId) throws ParseException;
} }
...@@ -68,14 +68,25 @@ public class FireExpertsDto extends BaseDto { ...@@ -68,14 +68,25 @@ public class FireExpertsDto extends BaseDto {
private String politicalOutlook; private String politicalOutlook;
// @ExplicitConstraint(indexNum = 9, sourceClass = RoleNameExplicitConstraint.class, method = "getAdministrativeDivisions") //固定下拉内容 // @ExplicitConstraint(indexNum = 9, sourceClass = RoleNameExplicitConstraint.class, method = "getAdministrativeDivisions") //固定下拉内容
@ExcelProperty(value = "现居住地", index = 9)
@ExplicitConstraint(indexNum = 9,sourceClass = CommonExplicitConstraint.class,method ="getCitys")
@ApiModelProperty(value = "现居住地") @ApiModelProperty(value = "现居住地")
@ExcelProperty(value = "现居住地", index = 9)
private String residence; private String residence;
@ExcelProperty(value = "居住地详情", index = 10) @ExcelProperty(value = "籍贯/户口所在地详细地址", index = 17)
@ApiModelProperty(value = "籍贯/户口所在地详细地址")
private String nativePlaceVal;
@ExplicitConstraint(indexNum =10,sourceClass = CommonExplicitConstraint.class,method ="getCitys")
@ExcelProperty(value = "现居住地", index = 10)
@ApiModelProperty(value = "居住地详情") @ApiModelProperty(value = "居住地详情")
private String residenceDetails; private String residenceDetails;
@ExcelProperty(value = "现居住地详细地址", index = 18)
@ApiModelProperty(value = "现居住地详细地址")
private String residenceDetailVal;
@ExcelProperty(value = "办公电话", index = 11) @ExcelProperty(value = "办公电话", index = 11)
@ApiModelProperty(value = "办公电话") @ApiModelProperty(value = "办公电话")
private String officePhone; private String officePhone;
......
...@@ -106,4 +106,10 @@ public class FireExperts extends BaseEntity { ...@@ -106,4 +106,10 @@ public class FireExperts extends BaseEntity {
@ApiModelProperty(value = "出生日期") @ApiModelProperty(value = "出生日期")
private Date birthdayTime; private Date birthdayTime;
@ApiModelProperty(value = "现居住地详细地址")
private String residenceDetailVal;
@ApiModelProperty(value = "户籍所在地详细地址")
private String nativePlaceVal;
} }
...@@ -128,10 +128,16 @@ ...@@ -128,10 +128,16 @@
<if test="alertSourceCode!= null "> <if test="alertSourceCode!= null ">
and alert_source_code = #{alertSourceCode} and alert_source_code = #{alertSourceCode}
</if> </if>
<if test="data != null and lift == 'ascend'"> <if test="data == 'address' and data != null and lift == 'ascend'">
order by CONVERT(address USING 'gbk') ASC limit #{current},#{size}
</if>
<if test="data == 'address' and data != null and lift == 'descend'">
order by CONVERT(address USING 'gbk') DESC limit #{current},#{size}
</if>
<if test="data != null and data != 'address' and lift == 'ascend'">
order by #{data} ASC limit #{current},#{size} order by #{data} ASC limit #{current},#{size}
</if> </if>
<if test="data != null and lift == 'descend'"> <if test="data != null and data != 'address' and lift == 'descend'">
order by #{data} DESC limit #{current},#{size} order by #{data} DESC limit #{current},#{size}
</if> </if>
<if test="data == null "> <if test="data == null ">
......
...@@ -11,8 +11,9 @@ public enum CheckTypeSuEnum { ...@@ -11,8 +11,9 @@ public enum CheckTypeSuEnum {
/** /**
* 检查类型枚举 * 检查类型枚举
*/ */
SUPERVISED("日常检查", "1", "supervised"), DAILY("日常检查", "1", "daily"),
DAILY("专项检查", "2", "daily"); SPECIAL_RQ("燃气专项", "2", "special"),
SPECIAL_GW("高温专项", "3", "special");
/** /**
* 名字 * 名字
...@@ -37,7 +38,8 @@ public enum CheckTypeSuEnum { ...@@ -37,7 +38,8 @@ public enum CheckTypeSuEnum {
public static List<Map<String, Object>> getEnumList() { public static List<Map<String, Object>> getEnumList() {
return Arrays.stream(CheckTypeSuEnum.values()).map(e -> { return Arrays.stream(CheckTypeSuEnum.values()).map(e -> {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put(e.getCode(), e.getName()); map.put("code", e.getCode());
map.put("name", e.getName());
return map; return map;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
......
package com.yeejoin.amos.supervision.common.enums;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author DELL
*/
public enum DangerCheckTypeLevelEnum {
DEPARTMENT("单位级", "1", "department"),
COMPANY("公司级", "2", "company"),
EXTERNAL("外部消防单位", "3", "external"),
OTHER("其他", "4", "external");
/**
* 名称,描述
*/
private String name;
/**
* 编码
*/
private String code;
/**
* 执行控制条件
*/
private String condition;
DangerCheckTypeLevelEnum(String name, String code, String condition) {
this.name = name;
this.code = code;
this.condition = condition;
}
/**
* 获取枚举
* @param code 编号
* @return DangerCheckTypeLevelEnum
* @throws Exception
*/
public static DangerCheckTypeLevelEnum getEumByCode(String code) throws Exception {
Optional<DangerCheckTypeLevelEnum> op = Arrays.stream(DangerCheckTypeLevelEnum.values()).filter(e->e.code.equals(code)).findFirst();
return op.orElseThrow(()->new Exception("不存在"));
}
public static List<Map<String, Object>> getEnumList() {
return Arrays.stream(DangerCheckTypeLevelEnum.values()).map(e -> {
Map<String, Object> map = new HashMap<>();
map.put("code", e.getCode());
map.put("name", e.getName());
return map;
}).collect(Collectors.toList());
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCondition(String condition) {
this.condition = condition;
}
public String getCondition() {
return condition;
}
}
package com.yeejoin.amos.supervision.common.enums;
/**
* @author DELL
*/
public enum DangerHandleTypeEnum {
SUPERVISION("防火监督检查", "2"),
SELF("自行检查", "1");
/**
* 名称,描述
*/
private String name;
/**
* 编码
*/
private String code;
DangerHandleTypeEnum(String name, String code) {
this.name = name;
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
package com.yeejoin.amos.supervision.common.enums;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author DELL
*/
public enum WorkFlowBranchEnum {
DAILY("日常检查", "company", "daily", "daily"),
SPECIAL_C("专项检查", "company", "special", "special"),
SPECIAL_E("专项检查", "external", "special", "special"),
SUPERVISED_DW("单位级审核", "department", "special-daily", "supervised");
/**
* 名称,描述
*/
private String name;
/**
* 隐患类型级别
*/
private String dangerCheckTypeLevel;
/**
* 计划检查类型
*/
private String checkType;
/**
* 工作流分支
*/
private String workFlowBranch;
public String getName() {
return name;
}
public String getDangerCheckTypeLevel() {
return dangerCheckTypeLevel;
}
public String getCheckType() {
return checkType;
}
public String getWorkFlowBranch() {
return workFlowBranch;
}
WorkFlowBranchEnum(String name, String dangerCheckTypeLevel, String checkType, String workFlowBranch) {
this.name = name;
this.dangerCheckTypeLevel = dangerCheckTypeLevel;
this.checkType = checkType;
this.workFlowBranch = workFlowBranch;
}
public static List<Map<String,String>> getEnumList() {
List<Map<String,String>> list = new ArrayList<>();
for(WorkFlowBranchEnum e : WorkFlowBranchEnum.values()) {
Map<String, String> map = new HashMap<String, String>();
map.put("dangerCheckTypeLevel", e.getDangerCheckTypeLevel());
map.put("name", e.getName());
map.put("checkType", e.getCheckType());
map.put("workFlowBranch", e.getWorkFlowBranch());
list.add(map);
}
return list;
}
}
package com.yeejoin.amos.supervision.core.common.dto; package com.yeejoin.amos.supervision.core.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -56,6 +57,7 @@ public class DangerDto implements Serializable { ...@@ -56,6 +57,7 @@ public class DangerDto implements Serializable {
/** /**
* 整改期限 * 整改期限
*/ */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date reformLimitDate; private Date reformLimitDate;
......
...@@ -56,7 +56,7 @@ public class PlanAuditLog extends BasicEntity { ...@@ -56,7 +56,7 @@ public class PlanAuditLog extends BasicEntity {
@Column(name = "excute_user_name") @Column(name = "excute_user_name")
private String excuteUserName; private String excuteUserName;
/** /**
* 执行状态(1:不通过;2:通过) * 执行状态(1:不通过;0:通过)
*/ */
@Column(name = "excute_state") @Column(name = "excute_state")
private Integer excuteState; private Integer excuteState;
......
package com.yeejoin.amos.boot.module.tzs.api.dto; package com.yeejoin.amos.boot.module.tzs.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
...@@ -75,4 +76,8 @@ public class DispatchTaskDto extends BaseDto { ...@@ -75,4 +76,8 @@ public class DispatchTaskDto extends BaseDto {
@ApiModelProperty(value = "警情类型code") @ApiModelProperty(value = "警情类型code")
private String alertCode; private String alertCode;
@ApiModelProperty(value = "救援完成时间")
private Date saveTime;
} }
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* 微信公众号模板dto
*/
@Data
@ApiModel(value="WechatMessageDto", description="微信公众号模板消息dto类")
public class WechatMessageDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "模板id")
private String templateId;
@ApiModelProperty(value = "跳转地址")
private String url;
@ApiModelProperty(value = "数据")
private Map<String, String> data;
}
package com.yeejoin.amos.boot.module.tzs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 微信公众号任务id 和经纬度接受dto类
*
* @author system_generator
* @date 2021-09-22
*/
@Data
@ApiModel(value="WechatTaskLatLonDto", description="微信公众号任务id 和经纬度接受dto类")
public class WechatTaskLatLonDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "任务id")
private Long taskId;
@ApiModelProperty(value = "经度")
private String longitude;
@ApiModelProperty(value = "纬度")
private String latitude;
}
...@@ -124,4 +124,11 @@ public class DispatchTask extends BaseEntity { ...@@ -124,4 +124,11 @@ public class DispatchTask extends BaseEntity {
@TableField("task_status") @TableField("task_status")
private String taskStatus; private String taskStatus;
/**
* 救援完成时间
*/
@TableField("save_time")
private Date saveTime;
} }
...@@ -51,3 +51,4 @@ public enum AlertStatusEnum { ...@@ -51,3 +51,4 @@ public enum AlertStatusEnum {
return null; return null;
} }
} }
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.api.service; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tzs.api.service;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
/** /**
* 微信公众号服务类 * 微信公众号服务类
...@@ -26,4 +27,11 @@ public interface IWechatService { ...@@ -26,4 +27,11 @@ public interface IWechatService {
* @return * @return
*/ */
JSONObject getUserInfo(String openId); JSONObject getUserInfo(String openId);
/**
* 发送微信模板消息
* @param openId
* @return
*/
JSONObject sendWechatModelMessage(String openId, WechatMessageDto wechatMessageDto);
} }
...@@ -4,6 +4,7 @@ import java.util.List; ...@@ -4,6 +4,7 @@ import java.util.List;
import com.yeejoin.amos.boot.module.common.api.entity.FailureMaintain; import com.yeejoin.amos.boot.module.common.api.entity.FailureMaintain;
import com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
...@@ -62,7 +63,7 @@ public class FailureMaintainController extends BaseController { ...@@ -62,7 +63,7 @@ public class FailureMaintainController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "维修列表记录查询", notes = "维修列表记录查询") @ApiOperation(httpMethod = "GET",value = "维修列表记录查询", notes = "维修列表记录查询")
@GetMapping(value = "/list/{faultId}") @GetMapping(value = "/list/{faultId}")
public ResponseModel<List<FailureMaintain>> findByFaultIDFotList(@PathVariable long faultId) { public ResponseModel<List<FailureMaintainDto>> findByFaultIDFotList(@PathVariable long faultId) {
return ResponseHelper.buildResponse(failureMaintainServiceImpl.findByfaultId(faultId)); return ResponseHelper.buildResponse(failureMaintainServiceImpl.findByfaultId(faultId));
} }
......
...@@ -92,6 +92,14 @@ public class OrgUsrController extends BaseController { ...@@ -92,6 +92,14 @@ public class OrgUsrController extends BaseController {
return ResponseHelper.buildResponse("-1"); return ResponseHelper.buildResponse("-1");
} }
} }
//bug 2882 判断是否为部门 如果部门底下有人员不可直接删除 chenzhao 2021-09-27 start
if(tempOrg.getBizOrgType().equals("DEPARTMENT")) {
List<OrgUsr> tempList = iOrgUsrService.list(new LambdaQueryWrapper<OrgUsr>().eq(OrgUsr::getParentId,id).eq(OrgUsr::getIsDelete,false));
if(tempList.size() > 0) {
return ResponseHelper.buildResponse("-1");
}
}
//bug 2882 判断是否为部门 如果部门底下有人员不可直接删除 chenzhao 2021-09-27 end
// iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", id).set("is_delete", CommonConstant.IS_DELETE_01)); // iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", id).set("is_delete", CommonConstant.IS_DELETE_01));
/*bug 2812 一次删除多条数据 传入类型修改为string 问题解决 2021-09-09 陈召 开始*/ /*bug 2812 一次删除多条数据 传入类型修改为string 问题解决 2021-09-09 陈召 开始*/
iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", String.valueOf(id)).set("is_delete", CommonConstant.IS_DELETE_01)); iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", String.valueOf(id)).set("is_delete", CommonConstant.IS_DELETE_01));
...@@ -422,9 +430,9 @@ public class OrgUsrController extends BaseController { ...@@ -422,9 +430,9 @@ public class OrgUsrController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getLoginUserDetails/{userId}", method = RequestMethod.GET) @RequestMapping(value = {"/getLoginUserDetails/{userId}", "/getLoginUserDetails"}, method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取登陆人绑定的人员关系", notes = "获取登陆人绑定的人员关系") @ApiOperation(httpMethod = "GET", value = "获取登陆人绑定的人员关系", notes = "获取登陆人绑定的人员关系")
public ResponseModel<List<Map<String, Object>>> getLoginUserDetails(@PathVariable String userId) { public ResponseModel<List<Map<String, Object>>> getLoginUserDetails(@PathVariable(required=false) String userId) {
AgencyUserModel user = getUserInfo(); AgencyUserModel user = getUserInfo();
String userIds = userId; String userIds = userId;
if (StringUtils.isEmpty(userIds)) { if (StringUtils.isEmpty(userIds)) {
......
package com.yeejoin.amos.boot.module.common.biz.service.impl; package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -7,9 +8,11 @@ import java.util.List; ...@@ -7,9 +8,11 @@ import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr; import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -175,10 +178,19 @@ public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto, ...@@ -175,10 +178,19 @@ public class FailureMaintainServiceImpl extends BaseService<FailureMaintainDto,
/** /**
* 根据FaultId查询 * 根据FaultId查询
*/ */
public List<FailureMaintain> findByfaultId(Long faultId) { public List<FailureMaintainDto> findByfaultId(Long faultId) {
LambdaQueryWrapper<FailureMaintain> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<FailureMaintain> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(FailureMaintain::getFaultId, faultId).orderByDesc(FailureMaintain::getMaintainTime); lambdaQueryWrapper.eq(FailureMaintain::getFaultId, faultId).orderByDesc(FailureMaintain::getMaintainTime);
return baseMapper.selectList(lambdaQueryWrapper); List<FailureMaintain> failureMaintains = baseMapper.selectList(lambdaQueryWrapper);
List<FailureMaintainDto> failureMaintainDtos = new ArrayList<>();
for (FailureMaintain failureMaintain : failureMaintains) {
FailureMaintainDto failureMaintainDto = new FailureMaintainDto();
BeanUtils.copyProperties(failureMaintain,failureMaintainDto);
List<SourceFile> attachment = sourceFileServiceImpl.findBySourceId(failureMaintain.getSequenceNbr());
failureMaintainDto.setAttachment(attachment);
failureMaintainDtos.add(failureMaintainDto);
}
return failureMaintainDtos;
} }
/** /**
......
...@@ -705,6 +705,13 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -705,6 +705,13 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
OrgUsr orgUsr = getById(id); OrgUsr orgUsr = getById(id);
// 动态表单数据 // 动态表单数据
List<FormValue> formValue = getFormValue(id); List<FormValue> formValue = getFormValue(id);
//bug 2580 返回值改为具体名称 chenzhao 2021-09-27 start
for (FormValue value : formValue) {
if (value.getValueName() != null && !value.getValueName() .equals(" ")){
value.setValue(value.getValueName());
}
}
//bug 2580 返回值改为具体名称 chenzhao 2021-09-27 end
OrgUsrFormDto orgUsrFormVo = new OrgUsrFormDto(); OrgUsrFormDto orgUsrFormVo = new OrgUsrFormDto();
orgUsrFormVo.setDynamicFormAlert(formValue); orgUsrFormVo.setDynamicFormAlert(formValue);
BeanUtils.copyProperties(orgUsr, orgUsrFormVo); BeanUtils.copyProperties(orgUsr, orgUsrFormVo);
......
...@@ -14,6 +14,7 @@ import org.aspectj.lang.annotation.Aspect; ...@@ -14,6 +14,7 @@ import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Before;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
...@@ -36,7 +37,6 @@ public class PersonIdentifyAspect { ...@@ -36,7 +37,6 @@ public class PersonIdentifyAspect {
@Autowired @Autowired
JCSFeignClient jcsFeignClient; JCSFeignClient jcsFeignClient;
final int HTTP_OK_STATUS = 200;
@Before(value = "@annotation(com.yeejoin.amos.maintenance.core.framework.PersonIdentify) && @annotation(permission)") @Before(value = "@annotation(com.yeejoin.amos.maintenance.core.framework.PersonIdentify) && @annotation(permission)")
public void personIdentity(JoinPoint joinPoint, PersonIdentify permission) throws PermissionException { public void personIdentity(JoinPoint joinPoint, PersonIdentify permission) throws PermissionException {
...@@ -45,7 +45,7 @@ public class PersonIdentifyAspect { ...@@ -45,7 +45,7 @@ public class PersonIdentifyAspect {
//调用jcs,进行人员身份判断,是维保公司人员还是业主单位人员 //调用jcs,进行人员身份判断,是维保公司人员还是业主单位人员
String userId = reginParam.getUserModel().getUserId(); String userId = reginParam.getUserModel().getUserId();
FeignClientResult responseModel = jcsFeignClient.getUserUnit(userId); FeignClientResult responseModel = jcsFeignClient.getUserUnit(userId);
if (ObjectUtils.isEmpty(responseModel.getResult()) || responseModel.getStatus() != HTTP_OK_STATUS) { if (ObjectUtils.isEmpty(responseModel.getResult()) || responseModel.getStatus() != HttpStatus.OK.value()) {
throw new RuntimeException(responseModel.getDevMessage()); throw new RuntimeException(responseModel.getDevMessage());
} }
ReginParams.PersonIdentity personIdentity = (ReginParams.PersonIdentity) Bean.mapToBean((Map<String, Object>) responseModel.getResult(), ReginParams.PersonIdentity.class); ReginParams.PersonIdentity personIdentity = (ReginParams.PersonIdentity) Bean.mapToBean((Map<String, Object>) responseModel.getResult(), ReginParams.PersonIdentity.class);
......
...@@ -208,8 +208,8 @@ public class PlanTaskController extends AbstractBaseController { ...@@ -208,8 +208,8 @@ public class PlanTaskController extends AbstractBaseController {
@RequestMapping(value = "/queryOmission", method = RequestMethod.GET, produces = "application/json;charset=UTF-8") @RequestMapping(value = "/queryOmission", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
public CommonResponse pushCarData() { public CommonResponse pushCarData() {
try { try {
RequestAttributes reqs = RequestContextHolder.getRequestAttributes(); RequestAttributes reqs = RequestContextHolder.getRequestAttributes();
RequestContextHolder.setRequestAttributes(reqs, true); RequestContextHolder.setRequestAttributes(reqs, true);
planTaskService.taskExecution(null); planTaskService.taskExecution(null);
return CommonResponseUtil.success(); return CommonResponseUtil.success();
} catch (Exception e) { } catch (Exception e) {
...@@ -250,19 +250,14 @@ public class PlanTaskController extends AbstractBaseController { ...@@ -250,19 +250,14 @@ public class PlanTaskController extends AbstractBaseController {
@ApiOperation(value = "根据点查询用户权限所有巡检执行计划(<font color='blue'>手机app</font>)", notes = "根据点查询用户权限所有巡检执行计划(<font color='blue'>手机app</font>)") @ApiOperation(value = "根据点查询用户权限所有巡检执行计划(<font color='blue'>手机app</font>)", notes = "根据点查询用户权限所有巡检执行计划(<font color='blue'>手机app</font>)")
@RequestMapping(value = "/queryPlanTaskBySerial", produces = "application/json;charset=UTF-8", method = RequestMethod.GET) @RequestMapping(value = "/queryPlanTaskBySerial", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
public CommonResponse qryPlanTaskByPoint( public CommonResponse qryPlanTaskByPoint(
@ApiParam(value = "数据类型", required = false) @RequestParam(required = true) int dataType, @ApiParam(value = "数据类型") @RequestParam int dataType,
@ApiParam(value = "巡检点编号", required = true) @RequestParam(required = true) String serial, @ApiParam(value = "巡检点编号", required = true) @RequestParam(value = "serial") String pointNo,
@ApiParam(value = "参数", required = false) @RequestParam(required = false) Long planTaskId) { @ApiParam(value = "参数") @RequestParam(required = false) Long planTaskId) {
try { try {
HashMap<String, Object> params = new HashMap<String, Object>(); HashMap<String, Object> params = new HashMap<String, Object>();
//LoginUserParam loginParam = CurUserCompanyCache.getInstance().getCurCompany(getUserId(), getToken());
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
String loginOrgCode = getOrgCode(reginParams); String loginOrgCode = getOrgCode(reginParams);
/* if (ObjectUtils.isEmpty(loginParam)) {
return CommonResponseUtil.failure("公司选择失效");
}*/
params.put("orgCode", loginOrgCode); params.put("orgCode", loginOrgCode);
String pointNo = serial;
params.put("pointNo", pointNo); params.put("pointNo", pointNo);
Point point = pointService.queryPointByPointNo(params); Point point = pointService.queryPointByPointNo(params);
// 1.通用校验 // 1.通用校验
......
...@@ -971,22 +971,17 @@ public class PointServiceImpl implements IPointService { ...@@ -971,22 +971,17 @@ public class PointServiceImpl implements IPointService {
@Override @Override
public Point queryPointByPointNo(HashMap<String, Object> params) { public Point queryPointByPointNo(HashMap<String, Object> params) {
return iPointDao.findOne((Specification<Point>) (root, query, cb) -> {
return iPointDao.findOne(new Specification<Point>() { List<Predicate> predicate = new ArrayList<>();
if (!ObjectUtils.isEmpty(params.get("pointNo"))) {
@Override predicate.add(cb.equal(root.get("pointNo").as(String.class), params.get("pointNo")));
public Predicate toPredicate(Root<Point> root, CriteriaQuery<?> query, CriteriaBuilder cb) { }
List<Predicate> predicate = new ArrayList<>(); if (!ObjectUtils.isEmpty(params.get("orgCode"))) {
if (!ObjectUtils.isEmpty(params.get("pointNo"))) { predicate.add(cb.equal(root.get("orgCode").as(String.class), params.get("orgCode").toString()));
predicate.add(cb.equal(root.get("pointNo").as(String.class), params.get("pointNo")));
}
if (!ObjectUtils.isEmpty(params.get("orgCode"))) {
predicate.add(cb.equal(root.get("orgCode").as(String.class), params.get("orgCode").toString()));
}
Predicate[] pre = new Predicate[predicate.size()];
return query.where(predicate.toArray(pre)).getRestriction();
} }
}).get(); Predicate[] pre = new Predicate[predicate.size()];
return query.where(predicate.toArray(pre)).getRestriction();
}).orElse(null);
} }
@Override @Override
......
...@@ -6,6 +6,7 @@ import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto; ...@@ -6,6 +6,7 @@ import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto;
import com.yeejoin.amos.supervision.business.service.intfc.IHiddenDangerService; import com.yeejoin.amos.supervision.business.service.intfc.IHiddenDangerService;
import com.yeejoin.amos.supervision.business.util.FileHelper; import com.yeejoin.amos.supervision.business.util.FileHelper;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto; import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import com.yeejoin.amos.supervision.core.framework.PersonIdentify;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
...@@ -79,13 +80,14 @@ public class HiddenDangerController extends AbstractBaseController { ...@@ -79,13 +80,14 @@ public class HiddenDangerController extends AbstractBaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PersonIdentify
@ApiOperation(value = "导入隐患", notes = "导入隐患") @ApiOperation(value = "导入隐患", notes = "导入隐患")
@RequestMapping(value = "/import", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) @RequestMapping(value = "/import", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public ResponseModel importDanger( public ResponseModel importDanger(
@RequestParam(value = "planId") Long planId, @RequestParam(value = "planId") Long planId,
@ApiParam(value = "导入数据文件", required = true) @RequestBody MultipartFile file) { @ApiParam(value = "导入数据文件", required = true) @RequestBody MultipartFile file) {
List<HiddenDangerImportDto> list = FileHelper.importExcel(file, 0, 1, HiddenDangerImportDto.class); List<HiddenDangerImportDto> list = FileHelper.importExcel(file, 0, 1, HiddenDangerImportDto.class);
iHiddenDangerService.importDanger(planId, list); iHiddenDangerService.importDanger(getSelectedOrgInfo(),planId, list);
return ResponseHelper.buildResponse("导入成功"); return ResponseHelper.buildResponse("导入成功");
} }
......
...@@ -2,8 +2,6 @@ package com.yeejoin.amos.supervision.business.controller; ...@@ -2,8 +2,6 @@ package com.yeejoin.amos.supervision.business.controller;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.supervision.business.service.intfc.IPlanAuditService; import com.yeejoin.amos.supervision.business.service.intfc.IPlanAuditService;
import com.yeejoin.amos.supervision.business.util.CommonResponse;
import com.yeejoin.amos.supervision.business.util.CommonResponseUtil;
import com.yeejoin.amos.supervision.core.framework.PersonIdentify; import com.yeejoin.amos.supervision.core.framework.PersonIdentify;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog; import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -15,6 +13,8 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -15,6 +13,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
@RestController @RestController
@RequestMapping(value = "/api/planAudit") @RequestMapping(value = "/api/planAudit")
...@@ -30,17 +30,19 @@ public class PlanAuditController extends AbstractBaseController { ...@@ -30,17 +30,19 @@ public class PlanAuditController extends AbstractBaseController {
@PersonIdentify @PersonIdentify
@ApiOperation(value = "计划工作流审核", notes = "计划工作流审核") @ApiOperation(value = "计划工作流审核", notes = "计划工作流审核")
@RequestMapping(value = "/auditWorkFlow", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) @RequestMapping(value = "/auditWorkFlow", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse auditWorkFlow( public ResponseModel auditWorkFlow(
@ApiParam(value = "工作流流水实例", required = true) @RequestBody PlanAuditLog planAuditLog, @ApiParam(value = "工作流流水实例", required = true) @RequestBody PlanAuditLog planAuditLog,
@ApiParam(value = "工作流流水实例", required = true) @RequestBody Integer status, @ApiParam(value = "当前计划状态", required = true) @RequestParam Integer status,
@ApiParam(value = "执行控制条件", required = true) @RequestParam String condition) { @ApiParam(value = "执行控制条件", required = true) @RequestParam String condition) {
try { ReginParams reginParams = getSelectedOrgInfo();
ReginParams reginParams = getSelectedOrgInfo(); return ResponseHelper.buildResponse(planAuditService.auditWorkFlow(planAuditLog, status, condition, reginParams));
return CommonResponseUtil.success(planAuditService.auditWorkFlow(planAuditLog, status, condition, reginParams)); }
} catch (Exception e) {
log.error(e.getMessage(), e); @TycloudOperation(ApiLevel = UserType.AGENCY)
return CommonResponseUtil.failure("计划工作流审核失败!"); @ApiOperation(value = "指定计划的执行日志")
} @GetMapping(value = "/{planId}/timeLine")
public ResponseModel timeLineLog(@PathVariable Long planId) {
return ResponseHelper.buildResponse(planAuditService.listByPlanId(planId));
} }
} }
...@@ -4,6 +4,8 @@ import java.util.HashMap; ...@@ -4,6 +4,8 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.supervision.common.enums.CheckTypeSuEnum;
import com.yeejoin.amos.supervision.common.enums.DangerCheckTypeLevelEnum;
import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum; import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum;
import com.yeejoin.amos.supervision.core.common.request.AddPlanRequest; import com.yeejoin.amos.supervision.core.common.request.AddPlanRequest;
import com.yeejoin.amos.supervision.core.common.response.PlanPointRespone; import com.yeejoin.amos.supervision.core.common.response.PlanPointRespone;
...@@ -227,4 +229,17 @@ public class PlanController extends AbstractBaseController { ...@@ -227,4 +229,17 @@ public class PlanController extends AbstractBaseController {
return ResponseHelper.buildResponse(PlanStatusEnum.getEnumList()); return ResponseHelper.buildResponse(PlanStatusEnum.getEnumList());
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "计划检查类型", notes = "计划检查类型")
@RequestMapping(value = "/checkTypeSuEnum/list", method = RequestMethod.GET)
public ResponseModel getCheckTypeSuEnumList() {
return ResponseHelper.buildResponse(CheckTypeSuEnum.getEnumList());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "检查级别", notes = "检查级别")
@RequestMapping(value = "/checkTypeLevelEnum/list", method = RequestMethod.GET)
public ResponseModel getCheckTypeLevelEnumList() {
return ResponseHelper.buildResponse(DangerCheckTypeLevelEnum.getEnumList());
}
} }
...@@ -811,8 +811,9 @@ public class PointController extends AbstractBaseController { ...@@ -811,8 +811,9 @@ public class PointController extends AbstractBaseController {
@GetMapping(value = "/detail/item", produces = "application/json;charset=UTF-8") @GetMapping(value = "/detail/item", produces = "application/json;charset=UTF-8")
public ResponseModel queryItemDetailByPointId( public ResponseModel queryItemDetailByPointId(
@ApiParam(value = "路线id", required = true) @RequestParam(name = "routeId") Long routeId, @ApiParam(value = "路线id", required = true) @RequestParam(name = "routeId") Long routeId,
@ApiParam(value = "巡检点id", required = true) @RequestParam(name = "pointId") Long id) { @ApiParam(value = "巡检点id", required = true) @RequestParam(name = "pointId") Long id,
return ResponseHelper.buildResponse(iPointService.queryItemDetailByPointId(id, routeId)); @ApiParam(value = "计划id", required = true) @RequestParam(name = "planId") Long planId) {
return ResponseHelper.buildResponse(iPointService.queryItemDetailByPointId(id, routeId, planId));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
......
package com.yeejoin.amos.supervision.business.dao.repository; package com.yeejoin.amos.supervision.business.dao.repository;
import com.yeejoin.amos.supervision.dao.entity.HiddenDanger; import com.yeejoin.amos.supervision.dao.entity.HiddenDanger;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
...@@ -21,4 +24,21 @@ public interface IHiddenDangerDao extends BaseDao<HiddenDanger, Long> { ...@@ -21,4 +24,21 @@ public interface IHiddenDangerDao extends BaseDao<HiddenDanger, Long> {
* @return List<HiddenDanger> * @return List<HiddenDanger>
*/ */
List<HiddenDanger> findByLatentDangerIdIn(List<Long> ids); List<HiddenDanger> findByLatentDangerIdIn(List<Long> ids);
/**
* 根据ids删除
* @param ids
*/
@Modifying
@Transactional
@Query(value="DELETE FROM p_hidden_danger WHERE latent_danger_id IN (?1)", nativeQuery = true)
void deleteByDangerIdIn(List<Long> ids);
/**
* 根据计划id获取列表
* @param planId 计划id
* @return 隐患关系列表
*/
List<HiddenDanger> findByPlanId(Long planId);
} }
package com.yeejoin.amos.supervision.business.dao.repository; package com.yeejoin.amos.supervision.business.dao.repository;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog; import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
@Repository("planAuditLogDao") @Repository("planAuditLogDao")
public interface IPlanAuditLogDao extends BaseDao<PlanAuditLog, Long> { public interface IPlanAuditLogDao extends BaseDao<PlanAuditLog, Long> {
/**
* 指定计划的审核日志
* @param planId 计划id
* @param sort 排序条件
* @return List<PlanAuditLog>
*/
List<PlanAuditLog> findAllByPlanId(Long planId, Sort sort);
} }
\ No newline at end of file
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Sequence; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.excel.DataSources; import com.yeejoin.amos.boot.biz.common.excel.DataSources;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil; import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
...@@ -22,7 +23,6 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -22,7 +23,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.restful.exception.instance.DataNotFound; import org.typroject.tyboot.core.restful.exception.instance.DataNotFound;
...@@ -60,7 +60,7 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService { ...@@ -60,7 +60,7 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService {
//1.查询指定计划和公司的关联隐患数据 //1.查询指定计划和公司的关联隐患数据
List<HiddenDangerDto> hiddenDangers = hiddenDangerMapper.listByCondition(planId, pointId); List<HiddenDangerDto> hiddenDangers = hiddenDangerMapper.listByCondition(planId, pointId);
List<Long> dangerIds = Lists.transform(hiddenDangers, HiddenDangerDto::getLatentDangerId); List<Long> dangerIds = Lists.transform(hiddenDangers, HiddenDangerDto::getLatentDangerId);
String dangerIdsStr = Joiner.on(",").join(dangerIds); String dangerIdsStr = "".equals(Joiner.on(",").join(dangerIds)) ? "-1" : Joiner.on(",").join(dangerIds);
//2.调用隐患模块查询关联隐患的具体数据(业务系统直落关系,具体隐患数据再隐患服务进行储存) //2.调用隐患模块查询关联隐患的具体数据(业务系统直落关系,具体隐患数据再隐患服务进行储存)
Map<String, Object> param = new HashMap<>(); Map<String, Object> param = new HashMap<>();
param.put("dangerIds", dangerIdsStr); param.put("dangerIds", dangerIdsStr);
...@@ -114,7 +114,7 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService { ...@@ -114,7 +114,7 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService {
public IPage pageList(Page page, String planId, Long pointId, String level, String status) { public IPage pageList(Page page, String planId, Long pointId, String level, String status) {
List<HiddenDangerDto> dangers = hiddenDangerMapper.listByCondition(planId, pointId); List<HiddenDangerDto> dangers = hiddenDangerMapper.listByCondition(planId, pointId);
List<Long> dangerIds = Lists.transform(dangers, HiddenDangerDto::getLatentDangerId); List<Long> dangerIds = Lists.transform(dangers, HiddenDangerDto::getLatentDangerId);
String dangerIdsStr = Joiner.on(",").join(dangerIds); String dangerIdsStr = "".equals(Joiner.on(",").join(dangerIds)) ? "-1" : Joiner.on(",").join(dangerIds);
Map<String, Object> param = buildRequestBody(page, level, status, dangerIdsStr); Map<String, Object> param = buildRequestBody(page, level, status, dangerIdsStr);
FeignClientResult<Page<DangerDto>> feignClientResult = feignClient.pageList(param); FeignClientResult<Page<DangerDto>> feignClientResult = feignClient.pageList(param);
Page<DangerDto> dangerDtoIPage = feignClientResult.getResult(); Page<DangerDto> dangerDtoIPage = feignClientResult.getResult();
...@@ -142,8 +142,9 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService { ...@@ -142,8 +142,9 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService {
} }
@Override @Override
public void importDanger(Long planId, List<HiddenDangerImportDto> list) { public void importDanger(ReginParams reginParams, Long planId, List<HiddenDangerImportDto> list) {
//1.调用创建隐患 //1.调用创建隐患
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
List<DangerDto> dtoList = list.stream().map(s -> { List<DangerDto> dtoList = list.stream().map(s -> {
String[] dangerArray = s.getDangerLevelName().split("@"); String[] dangerArray = s.getDangerLevelName().split("@");
String[] reformTypeArray = s.getReformTypeName().split("@"); String[] reformTypeArray = s.getReformTypeName().split("@");
...@@ -164,7 +165,7 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService { ...@@ -164,7 +165,7 @@ public class HiddenDangerServiceImpl implements IHiddenDangerService {
//2.保存隐患关系表 //2.保存隐患关系表
List<HiddenDanger> hiddenDangers = dangerDbs.stream().map(d -> { List<HiddenDanger> hiddenDangers = dangerDbs.stream().map(d -> {
HiddenDanger hiddenDanger = new HiddenDanger(); HiddenDanger hiddenDanger = new HiddenDanger();
hiddenDanger.setCreateBy(RequestContext.getExeUserId()); hiddenDanger.setCreateBy(personIdentity.getPersonSeq());
hiddenDanger.setPlanId(planId); hiddenDanger.setPlanId(planId);
hiddenDanger.setLatentDangerId(d.getId()); hiddenDanger.setLatentDangerId(d.getId());
hiddenDanger.setCheckInputId(d.getBizId()); hiddenDanger.setCheckInputId(d.getBizId());
......
...@@ -2,7 +2,6 @@ package com.yeejoin.amos.supervision.business.service.impl; ...@@ -2,7 +2,6 @@ package com.yeejoin.amos.supervision.business.service.impl;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.service.IWorkflowExcuteService; import com.yeejoin.amos.boot.biz.common.service.IWorkflowExcuteService;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanAuditDao; import com.yeejoin.amos.supervision.business.dao.repository.IPlanAuditDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanAuditLogDao; import com.yeejoin.amos.supervision.business.dao.repository.IPlanAuditLogDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanDao; import com.yeejoin.amos.supervision.business.dao.repository.IPlanDao;
...@@ -12,9 +11,12 @@ import com.yeejoin.amos.supervision.dao.entity.PlanAudit; ...@@ -12,9 +11,12 @@ import com.yeejoin.amos.supervision.dao.entity.PlanAudit;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog; import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
@Service("planAuditService") @Service("planAuditService")
...@@ -30,9 +32,6 @@ public class PlanAuditServiceImpl implements IPlanAuditService { ...@@ -30,9 +32,6 @@ public class PlanAuditServiceImpl implements IPlanAuditService {
private IPlanAuditLogDao planAuditLogDao; private IPlanAuditLogDao planAuditLogDao;
@Autowired @Autowired
private WorkflowFeignService workflowFeignService;
@Autowired
private IPlanDao planDao; private IPlanDao planDao;
@Override @Override
...@@ -51,9 +50,9 @@ public class PlanAuditServiceImpl implements IPlanAuditService { ...@@ -51,9 +50,9 @@ public class PlanAuditServiceImpl implements IPlanAuditService {
workflowExcuteService.setTaskAssign(instanceId, personIdentity.getPersonSeq()); workflowExcuteService.setTaskAssign(instanceId, personIdentity.getPersonSeq());
if (b) { if (b) {
PlanStatusEnum statusEnum = PlanStatusEnum.getEnum(status); PlanStatusEnum statusEnum = PlanStatusEnum.getEnum(status);
planDao.updatePlanStatus(statusEnum.getNextStatus(), planAuditLog.getPlanAuditId()); planDao.updatePlanStatus(statusEnum != null ? statusEnum.getNextStatus() : PlanStatusEnum.DRAFT.getValue(), planAuditLog.getPlanId());
} else { } else {
planDao.updatePlanStatus(PlanStatusEnum.DRAFT.getValue(), planAuditLog.getPlanAuditId()); planDao.updatePlanStatus(PlanStatusEnum.DRAFT.getValue(), planAuditLog.getPlanId());
} }
planAuditLog.setPlanId(planAudit.getPlanId()); planAuditLog.setPlanId(planAudit.getPlanId());
planAuditLog.setPlanAuditId(planAudit.getId()); planAuditLog.setPlanAuditId(planAudit.getId());
...@@ -70,6 +69,15 @@ public class PlanAuditServiceImpl implements IPlanAuditService { ...@@ -70,6 +69,15 @@ public class PlanAuditServiceImpl implements IPlanAuditService {
return Boolean.FALSE; return Boolean.FALSE;
} }
@Override
public List<PlanAuditLog> listByPlanId(Long planId) {
Sort.Order idOrder = new Sort.Order(Sort.Direction.ASC, "createDate");
List<Sort.Order> orders = new ArrayList<Sort.Order>();
orders.add(idOrder);
Sort sort = Sort.by(orders);
return planAuditLogDao.findAllByPlanId(planId, sort);
}
// @Override // @Override
// @Transactional // @Transactional
// public Boolean auditWorkFlow(PlanAuditLog planAuditLog, String condition, ReginParams reginParams) { // public Boolean auditWorkFlow(PlanAuditLog planAuditLog, String condition, ReginParams reginParams) {
......
...@@ -12,7 +12,9 @@ import com.yeejoin.amos.supervision.business.dao.repository.*; ...@@ -12,7 +12,9 @@ import com.yeejoin.amos.supervision.business.dao.repository.*;
import com.yeejoin.amos.supervision.business.param.PlanInfoPageParam; import com.yeejoin.amos.supervision.business.param.PlanInfoPageParam;
import com.yeejoin.amos.supervision.business.service.intfc.IPlanService; import com.yeejoin.amos.supervision.business.service.intfc.IPlanService;
import com.yeejoin.amos.supervision.common.enums.CheckTypeSuEnum; import com.yeejoin.amos.supervision.common.enums.CheckTypeSuEnum;
import com.yeejoin.amos.supervision.common.enums.DangerCheckTypeLevelEnum;
import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum; import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum;
import com.yeejoin.amos.supervision.common.enums.WorkFlowBranchEnum;
import com.yeejoin.amos.supervision.core.common.request.AddPlanRequest; import com.yeejoin.amos.supervision.core.common.request.AddPlanRequest;
import com.yeejoin.amos.supervision.core.common.response.PlanPointRespone; import com.yeejoin.amos.supervision.core.common.response.PlanPointRespone;
import com.yeejoin.amos.supervision.core.util.DateUtil; import com.yeejoin.amos.supervision.core.util.DateUtil;
...@@ -150,13 +152,15 @@ public class PlanServiceImpl implements IPlanService { ...@@ -150,13 +152,15 @@ public class PlanServiceImpl implements IPlanService {
Integer status = param.getStatus(); Integer status = param.getStatus();
if (status != null && status == 1) { if (status != null && status == 1) {
CheckTypeSuEnum checkTypeSuEnum = CheckTypeSuEnum.getEumByCode(param.getCheckTypeId()); CheckTypeSuEnum checkTypeSuEnum = CheckTypeSuEnum.getEumByCode(param.getCheckTypeId());
DangerCheckTypeLevelEnum levelEnum = DangerCheckTypeLevelEnum.getEumByCode(param.getCheckLevel());
String branch = workFlowExcuteBranch(levelEnum.getCondition(), checkTypeSuEnum.getCondition());
try { try {
String processInstanceId; String processInstanceId;
PlanAudit audit = planAuditDao.findByPlanId(param.getId()); PlanAudit audit = planAuditDao.findByPlanId(param.getId());
if (audit != null) { if (audit != null) {
//执行一步 //执行一步
processInstanceId = audit.getProcessInstanceId(); processInstanceId = audit.getProcessInstanceId();
workflowExcuteService.excuteTask(processInstanceId, checkTypeSuEnum.getCondition()); workflowExcuteService.excuteTask(processInstanceId, branch);
//更新时间 //更新时间
audit.setUpdateDate(new Date()); audit.setUpdateDate(new Date());
planAuditDao.save(audit); planAuditDao.save(audit);
...@@ -164,7 +168,7 @@ public class PlanServiceImpl implements IPlanService { ...@@ -164,7 +168,7 @@ public class PlanServiceImpl implements IPlanService {
insertAuditLog(reginParams, param, personIdentity, audit); insertAuditLog(reginParams, param, personIdentity, audit);
} else { } else {
//启动 //启动
processInstanceId = workflowExcuteService.startAndComplete(processDefinitionKey, checkTypeSuEnum.getCondition()); processInstanceId = workflowExcuteService.startAndComplete(processDefinitionKey, branch);
audit = new PlanAudit(); audit = new PlanAudit();
audit.setPlanId(param.getId()); audit.setPlanId(param.getId());
audit.setBusinessKey(String.valueOf(sequence.nextId())); audit.setBusinessKey(String.valueOf(sequence.nextId()));
...@@ -195,6 +199,24 @@ public class PlanServiceImpl implements IPlanService { ...@@ -195,6 +199,24 @@ public class PlanServiceImpl implements IPlanService {
} }
/** /**
* 判断走哪一种工作流WorkFlowBranchEnum
*/
public String workFlowExcuteBranch (String dangerCheckTypeLevel, String checkType) {
String branch = "";
List<Map<String, String>> enumList = WorkFlowBranchEnum.getEnumList();
if (!ObjectUtils.isEmpty(enumList)){
List<Map<String, String>> list = enumList.stream().filter(map ->
(dangerCheckTypeLevel.equals(map.get("dangerCheckTypeLevel")) && map.get("checkType").contains(checkType)
)).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(list)) {
branch = list.get(0).get("workFlowBranch");
}
}
return branch;
}
/**
* 默认新增路线 * 默认新增路线
*/ */
public Route save(AddPlanRequest addPlanRequest) { public Route save(AddPlanRequest addPlanRequest) {
......
...@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Sequence; import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.safety.common.cache.PointStatusCache; import com.yeejoin.amos.safety.common.cache.PointStatusCache;
import com.yeejoin.amos.supervision.business.constants.XJConstant; import com.yeejoin.amos.supervision.business.constants.XJConstant;
...@@ -17,12 +18,14 @@ import com.yeejoin.amos.supervision.business.dto.FormValue; ...@@ -17,12 +18,14 @@ import com.yeejoin.amos.supervision.business.dto.FormValue;
import com.yeejoin.amos.supervision.business.dto.OrgUsrFormDto; import com.yeejoin.amos.supervision.business.dto.OrgUsrFormDto;
import com.yeejoin.amos.supervision.business.dto.PointDto; import com.yeejoin.amos.supervision.business.dto.PointDto;
import com.yeejoin.amos.supervision.business.entity.mybatis.CheckPtListBo; import com.yeejoin.amos.supervision.business.entity.mybatis.CheckPtListBo;
import com.yeejoin.amos.supervision.business.feign.DangerFeignClient;
import com.yeejoin.amos.supervision.business.feign.EquipFeign; import com.yeejoin.amos.supervision.business.feign.EquipFeign;
import com.yeejoin.amos.supervision.business.param.*; import com.yeejoin.amos.supervision.business.param.*;
import com.yeejoin.amos.supervision.business.service.intfc.IPointService; import com.yeejoin.amos.supervision.business.service.intfc.IPointService;
import com.yeejoin.amos.supervision.business.util.DaoCriteria; import com.yeejoin.amos.supervision.business.util.DaoCriteria;
import com.yeejoin.amos.supervision.business.vo.*; import com.yeejoin.amos.supervision.business.vo.*;
import com.yeejoin.amos.supervision.common.enums.PointStatusEnum; import com.yeejoin.amos.supervision.common.enums.PointStatusEnum;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import com.yeejoin.amos.supervision.core.common.request.CommonPageable; import com.yeejoin.amos.supervision.core.common.request.CommonPageable;
import com.yeejoin.amos.supervision.core.common.response.PointResponse; import com.yeejoin.amos.supervision.core.common.response.PointResponse;
import com.yeejoin.amos.supervision.core.util.StringUtil; import com.yeejoin.amos.supervision.core.util.StringUtil;
...@@ -102,6 +105,14 @@ public class PointServiceImpl implements IPointService { ...@@ -102,6 +105,14 @@ public class PointServiceImpl implements IPointService {
@Value("${file.url}") @Value("${file.url}")
private String fileUrl; private String fileUrl;
@Autowired
private IHiddenDangerDao hiddenDangerDao;
@Autowired
private DangerFeignClient dangerFeignClient;
private final int HTTP_OK_STATUS = 200;
@Override @Override
@Transactional @Transactional
public Point addPoint(PointParam pointParam) { public Point addPoint(PointParam pointParam) {
...@@ -249,8 +260,9 @@ public class PointServiceImpl implements IPointService { ...@@ -249,8 +260,9 @@ public class PointServiceImpl implements IPointService {
iPointClassifyDao.deleteByPointId(idList); // 物理删除点的分类 iPointClassifyDao.deleteByPointId(idList); // 物理删除点的分类
List<PointInputItem> pointInputItem = iPointInputItemDao.findAllById(idList); List<PointInputItem> pointInputItem = iPointInputItemDao.findAllById(idList);
List<Long> pointInputItemIds = Lists.transform(pointInputItem, PointInputItem::getId); List<Long> pointInputItemIds = Lists.transform(pointInputItem, PointInputItem::getId);
if (pointInputItemIds.size() > 0) if (pointInputItemIds.size() > 0) {
iPointInputItemDao.deleteFmeaRelationByPointInputItemIds(pointInputItemIds);//物理删除fmea关联巡检点项 iPointInputItemDao.deleteFmeaRelationByPointInputItemIds(pointInputItemIds);//物理删除fmea关联巡检点项
}
iPointInputItemDao.deleteByPointId(idList); // 物理删除p_point_inputitem表对应行 iPointInputItemDao.deleteByPointId(idList); // 物理删除p_point_inputitem表对应行
iPointPhotoDao.deleteByPointId(idList); // 物理删除点的图片信息 iPointPhotoDao.deleteByPointId(idList); // 物理删除点的图片信息
// iRoutePointDao.delRoutePointByPointId(idList); // // iRoutePointDao.delRoutePointByPointId(idList); //
...@@ -1183,13 +1195,39 @@ public class PointServiceImpl implements IPointService { ...@@ -1183,13 +1195,39 @@ public class PointServiceImpl implements IPointService {
} }
@Override @Override
public List<Map<String, Object>> queryItemDetailByPointId(Long id, Long routeId) { public List<Map<String, Object>> queryItemDetailByPointId(Long id, Long routeId, Long planId) {
// 获取所有检查项
List<Map<String, Object>> list = pointMapper.queryItemsByPointId(id, routeId); List<Map<String, Object>> list = pointMapper.queryItemsByPointId(id, routeId);
Map<Long, List<DangerDto>> collect = new HashMap<>();
// 根据计划id获取隐患关系
List<HiddenDanger> hiddenDangerList = hiddenDangerDao.findByPlanId(planId);
if (!ObjectUtils.isEmpty(hiddenDangerList)) {
String ids = Joiner.on(",").join(hiddenDangerList.stream().map(HiddenDanger::getLatentDangerId).collect(Collectors.toList()));
Map<String, String> map = new HashMap<>();
map.put("ids", ids);
FeignClientResult<List<DangerDto>> listFeignClientResult = dangerFeignClient.listAll(map);
if (ObjectUtils.isEmpty(listFeignClientResult.getResult()) || listFeignClientResult.getStatus() != HTTP_OK_STATUS) {
throw new RuntimeException(listFeignClientResult.getDevMessage());
}
List<DangerDto> dangerDtoList = listFeignClientResult.getResult();
if (!ObjectUtils.isEmpty(dangerDtoList)) {
collect = dangerDtoList.stream().collect(Collectors.groupingBy(DangerDto::getBizId, Collectors.toList()));
}
}
if (0 < list.size()) { if (0 < list.size()) {
for (Map<String, Object> map : list) { for (Map<String, Object> map : list) {
if (map.containsKey("picJson") && !ObjectUtils.isEmpty(map.get("picJson"))) { if (map.containsKey("picJson") && !ObjectUtils.isEmpty(map.get("picJson"))) {
map.put("remark", fileUrl + map.get("remark")); map.put("remark", fileUrl + map.get("remark"));
} }
if (map.containsKey("inputId") && !ObjectUtils.isEmpty(map.get("inputId"))) {
String inputId = map.get("inputId").toString();
if (!"0".equals(inputId) && !ObjectUtils.isEmpty(collect)) {
List<DangerDto> dangerDtoList = collect.get(Long.parseLong(inputId));
map.put("dangerList", dangerDtoList);
}
}
} }
} }
return list; return list;
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.supervision.business.service.intfc; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.supervision.business.service.intfc;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerExportDataDto; import com.yeejoin.amos.supervision.business.dto.HiddenDangerExportDataDto;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto; import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto; import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
...@@ -56,10 +57,11 @@ public interface IHiddenDangerService { ...@@ -56,10 +57,11 @@ public interface IHiddenDangerService {
/** /**
* 导入 * 导入
* @param selectedOrgInfo 用户信息
* @param planId 计划id * @param planId 计划id
* @param list 数据 * @param list 数据
*/ */
void importDanger(Long planId, List<HiddenDangerImportDto> list); void importDanger(ReginParams selectedOrgInfo, Long planId, List<HiddenDangerImportDto> list);
/** /**
* 下载模板 * 下载模板
......
...@@ -3,6 +3,15 @@ package com.yeejoin.amos.supervision.business.service.intfc; ...@@ -3,6 +3,15 @@ package com.yeejoin.amos.supervision.business.service.intfc;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog; import com.yeejoin.amos.supervision.dao.entity.PlanAuditLog;
import java.util.List;
public interface IPlanAuditService { public interface IPlanAuditService {
Boolean auditWorkFlow(PlanAuditLog planAuditLog, Integer status, String condition, ReginParams reginParams); Boolean auditWorkFlow(PlanAuditLog planAuditLog, Integer status, String condition, ReginParams reginParams);
/**
* 查询指定计划的审批日志
* @param planId 计划id
* @return List<PlanAuditLog>
*/
List<PlanAuditLog> listByPlanId(Long planId);
} }
...@@ -327,7 +327,7 @@ public interface IPointService { ...@@ -327,7 +327,7 @@ public interface IPointService {
*/ */
void delPointByPointNo(Long id); void delPointByPointNo(Long id);
List<Map<String, Object>> queryItemDetailByPointId(Long id, Long routeId); List<Map<String, Object>> queryItemDetailByPointId(Long id, Long routeId, Long planId);
List<Map<String, Object>> getPlanExecuteTeams(); List<Map<String, Object>> getPlanExecuteTeams();
......
...@@ -11,7 +11,7 @@ import java.lang.annotation.*; ...@@ -11,7 +11,7 @@ import java.lang.annotation.*;
public @interface PersonIdentify { public @interface PersonIdentify {
/** /**
* 是否进行人员校验 * 是否进行人员校验
* @return * @return boolean
*/ */
boolean isNeedIdentity() default true; boolean isNeedIdentity() default true;
} }
......
...@@ -14,11 +14,11 @@ import org.aspectj.lang.annotation.Aspect; ...@@ -14,11 +14,11 @@ import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Before;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -37,8 +37,6 @@ public class PersonIdentifyAspect { ...@@ -37,8 +37,6 @@ public class PersonIdentifyAspect {
@Autowired @Autowired
JCSFeignClient jcsFeignClient; JCSFeignClient jcsFeignClient;
final int HTTP_OK_STATUS = 200;
@Before(value = "@annotation(com.yeejoin.amos.supervision.core.framework.PersonIdentify) && @annotation(permission)") @Before(value = "@annotation(com.yeejoin.amos.supervision.core.framework.PersonIdentify) && @annotation(permission)")
public void personIdentity(JoinPoint joinPoint, PersonIdentify permission) throws PermissionException { public void personIdentity(JoinPoint joinPoint, PersonIdentify permission) throws PermissionException {
ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
...@@ -46,15 +44,15 @@ public class PersonIdentifyAspect { ...@@ -46,15 +44,15 @@ public class PersonIdentifyAspect {
//调用jcs,进行人员身份判断,是维保公司人员还是业主单位人员 //调用jcs,进行人员身份判断,是维保公司人员还是业主单位人员
String userId = reginParam.getUserModel().getUserId(); String userId = reginParam.getUserModel().getUserId();
FeignClientResult responseModel = jcsFeignClient.getUserUnit(userId); FeignClientResult responseModel = jcsFeignClient.getUserUnit(userId);
if (ObjectUtils.isEmpty(responseModel.getResult()) || responseModel.getStatus() != HTTP_OK_STATUS) { if (ObjectUtils.isEmpty(responseModel.getResult()) || responseModel.getStatus() != HttpStatus.OK.value()) {
throw new RuntimeException(responseModel.getDevMessage()); throw new RuntimeException(responseModel.getDevMessage());
} }
List result = (List)responseModel.getResult(); List result = (List) responseModel.getResult();
ReginParams.PersonIdentity personIdentity = new ReginParams.PersonIdentity(); ReginParams.PersonIdentity personIdentity = new ReginParams.PersonIdentity();
if (!ObjectUtils.isEmpty(result)) { if (!ObjectUtils.isEmpty(result)) {
Map map = (Map)result.get(0); Map map = (Map) result.get(0);
Map other = (Map)map.get("DEPARTMENT"); Map other = (Map) map.get("DEPARTMENT");
Map person = (Map)map.get("PERSON"); Map person = (Map) map.get("PERSON");
if (!ObjectUtils.isEmpty(person)) { if (!ObjectUtils.isEmpty(person)) {
personIdentity.setPersonSeq((String) person.get("sequenceNbr")); personIdentity.setPersonSeq((String) person.get("sequenceNbr"));
personIdentity.setPersonName((String) person.get("recUserName")); personIdentity.setPersonName((String) person.get("recUserName"));
......
...@@ -6,15 +6,21 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController; ...@@ -6,15 +6,21 @@ 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.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledFormDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatAccessDto; import com.yeejoin.amos.boot.module.tzs.api.dto.WechatAccessDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto; import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto; import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMyTaskListDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatRelationDto; import com.yeejoin.amos.boot.module.tzs.api.dto.WechatRelationDto;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatTaskLatLonDto;
import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue; import com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue;
import com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask;
import com.yeejoin.amos.boot.module.tzs.api.entity.WechatRelation; import com.yeejoin.amos.boot.module.tzs.api.entity.WechatRelation;
import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchTaskService; import com.yeejoin.amos.boot.module.tzs.api.service.IDispatchTaskService;
import com.yeejoin.amos.boot.module.tzs.api.service.IWechatService; import com.yeejoin.amos.boot.module.tzs.api.service.IWechatService;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertCalledServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertFormValueServiceImpl; import com.yeejoin.amos.boot.module.tzs.biz.service.impl.AlertFormValueServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.DispatchTaskServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.service.impl.WechatRelationServiceImpl; import com.yeejoin.amos.boot.module.tzs.biz.service.impl.WechatRelationServiceImpl;
import com.yeejoin.amos.boot.module.tzs.biz.utils.HttpUtils; import com.yeejoin.amos.boot.module.tzs.biz.utils.HttpUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
...@@ -88,9 +94,13 @@ public class WechatController extends BaseController { ...@@ -88,9 +94,13 @@ public class WechatController extends BaseController {
IDispatchTaskService dispatchTaskService; IDispatchTaskService dispatchTaskService;
@Autowired @Autowired
private AlertFormValueServiceImpl iAlertFormValueService; AlertFormValueServiceImpl iAlertFormValueService;
@Autowired
DispatchTaskServiceImpl dispatchTaskServiceImpl;
@Autowired
AlertCalledServiceImpl iAlertCalledService;
/** /**
* 获取微信回调信息返回验证是否通过 * 获取微信回调信息返回验证是否通过
...@@ -334,15 +344,14 @@ public class WechatController extends BaseController { ...@@ -334,15 +344,14 @@ public class WechatController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/returnDistance") @PostMapping(value = "/returnDistance")
@ApiOperation(httpMethod = "POST", value = "根据任务id 经纬度 返回现在距离任务距离", notes = "根据任务id 经纬度 返回现在距离任务距离") @ApiOperation(httpMethod = "POST", value = "根据任务id 经纬度 返回现在距离任务距离", notes = "根据任务id 经纬度 返回现在距离任务距离")
public ResponseModel<String> returnDistance(@ApiParam(value = "任务id", required = true) @RequestParam(name = "taskId") Long taskId, public ResponseModel<String> returnDistance(@RequestBody WechatTaskLatLonDto dto ) {
@ApiParam(value = "经度", required = true) @RequestParam(name = "longitude") String longitude, if (ValidationUtil.isEmpty(dto)
@ApiParam(value = "纬度", required = true) @RequestParam(name = "latitude") String latitude) { || ValidationUtil.isEmpty(dto.getTaskId())
if (ValidationUtil.isEmpty(taskId) || ValidationUtil.isEmpty(dto.getLatitude())
|| ValidationUtil.isEmpty(longitude) || ValidationUtil.isEmpty(dto.getLongitude())){
|| ValidationUtil.isEmpty(latitude)){
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
} }
String distance = dispatchTaskService.returnDistanceByTaskId(taskId,longitude,latitude); String distance = dispatchTaskService.returnDistanceByTaskId(dto.getTaskId(),dto.getLongitude(),dto.getLatitude());
return ResponseHelper.buildResponse(distance); return ResponseHelper.buildResponse(distance);
} }
...@@ -464,9 +473,9 @@ public class WechatController extends BaseController { ...@@ -464,9 +473,9 @@ public class WechatController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/taskArrive") @GetMapping(value = "/taskArrive/{taskId}")
@ApiOperation(httpMethod = "POST", value = "点击到达触发事件", notes = "点击到达触发事件") @ApiOperation(httpMethod = "GET", value = "点击到达触发事件", notes = "点击到达触发事件")
public ResponseModel<WechatMyTaskDto> taskArrive(@RequestParam Long taskId) { public ResponseModel<WechatMyTaskDto> taskArrive(@PathVariable Long taskId) {
if (ValidationUtil.isEmpty(taskId)){ if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
} }
...@@ -580,9 +589,9 @@ public class WechatController extends BaseController { ...@@ -580,9 +589,9 @@ public class WechatController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@PostMapping(value = "/saveFinish") @GetMapping(value = "/saveFinish/{taskId}")
@ApiOperation(httpMethod = "POST", value = "点击救援完成触发事件", notes = "点击救援完成触发事件") @ApiOperation(httpMethod = "GET", value = "点击救援完成触发事件", notes = "点击救援完成触发事件")
public ResponseModel<WechatMyTaskDto> saveFinish(@RequestParam Long taskId) { public ResponseModel<WechatMyTaskDto> saveFinish(@PathVariable Long taskId) {
if (ValidationUtil.isEmpty(taskId)){ if (ValidationUtil.isEmpty(taskId)){
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
} }
...@@ -749,4 +758,35 @@ public class WechatController extends BaseController { ...@@ -749,4 +758,35 @@ public class WechatController extends BaseController {
} }
return ResponseHelper.buildResponse(urlString); return ResponseHelper.buildResponse(urlString);
} }
/**
* 测试模板消息
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/testDispatch/{taskId}")
@ApiOperation(httpMethod = "GET", value = "测试模板消息", notes = "测试模板消息")
public ResponseModel<JSONObject> testDispatch(@PathVariable Long taskId) {
DispatchTask task = dispatchTaskServiceImpl.getById(taskId);
String tel = task.getResponseUserTel();
tel = "15353367807";
// 获取openId
WechatRelation relation = wechatRelationServiceImpl.getOne(new LambdaQueryWrapper<WechatRelation>().eq(WechatRelation::getPhone,tel));
if(relation == null ) {
throw new BadRequest("该用户未在系统中注册,无法发送模板消息"); // 接口迁移到服务中时改成日志形式;
}
WechatMessageDto test = new WechatMessageDto();
Map<String, String> data = new HashMap<>();
data.put("dispatchTime", DateUtils.date2LongStr(task.getDispatchTime()));
AlertCalledFormDto dto = iAlertCalledService.selectAlertCalledByIdNoCache(task.getAlertId());
data.put("address",dto.getAlertCalledDto().getAddress());
test.setUrl("www.baidu.com");
test.setTemplateId("SLjmNJoCNLC3FBcYzWzR-u3el0kqXf8WMTmzw8dAQm4");
test.setData(data);
JSONObject result = wechatService.sendWechatModelMessage(relation.getOpenId(),test);
return ResponseHelper.buildResponse(result);
}
} }
...@@ -209,7 +209,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -209,7 +209,7 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
set(DispatchPaper::getSaveOrgName,task.getResponseOrgName()). set(DispatchPaper::getSaveOrgName,task.getResponseOrgName()).
eq(DispatchPaper::getSequenceNbr,task.getPaperId())); eq(DispatchPaper::getSequenceNbr,task.getPaperId()));
// 如果存在救援过程表更新救援过程表中信息 // 如果存在救援过程表更新救援过程表中信息
if(task.getIsSaveTask()) { if(task.getIsSaveTask() != null && task.getIsSaveTask()) {
rescueProcessServiceImpl.update(new LambdaUpdateWrapper<RescueProcess>(). rescueProcessServiceImpl.update(new LambdaUpdateWrapper<RescueProcess>().
set(RescueProcess::getArriveTime,now). set(RescueProcess::getArriveTime,now).
set(RescueProcess::getArriveStatus,true). set(RescueProcess::getArriveStatus,true).
...@@ -243,6 +243,8 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -243,6 +243,8 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
set(RescueProcess::getRescueFeedbackType,"主动反馈"). set(RescueProcess::getRescueFeedbackType,"主动反馈").
set(RescueProcess::getRescueFeedbackCode,"856"). set(RescueProcess::getRescueFeedbackCode,"856").
eq(RescueProcess::getAlertId,task.getAlertId())); eq(RescueProcess::getAlertId,task.getAlertId()));
task.setSaveTime(now);
this.updateById(task);
} }
// 更新到达日志 // 更新到达日志
repairConsultServiceImpl.saveRepairConsultByAlertIdType( task.getAlertId(),"JC",taskId,null); repairConsultServiceImpl.saveRepairConsultByAlertIdType( task.getAlertId(),"JC",taskId,null);
...@@ -263,12 +265,13 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc ...@@ -263,12 +265,13 @@ public class DispatchTaskServiceImpl extends BaseService<DispatchTaskDto,Dispatc
// 更新反馈信息 // 更新反馈信息
DispatchTask task = this.getById(wechatDispatchFeedbackDto.getTaskId()); DispatchTask task = this.getById(wechatDispatchFeedbackDto.getTaskId());
DispatchPaper dispatchPaper = dispatchPaperServiceImpl.getById(task.getPaperId()); DispatchPaper dispatchPaper = dispatchPaperServiceImpl.getById(task.getPaperId());
Date now = new Date();
// 反馈方式 // 反馈方式
dispatchPaper.setFeedbackCode("856"); dispatchPaper.setFeedbackCode("856");
dispatchPaper.setFeedbackType("主动反馈"); dispatchPaper.setFeedbackType("主动反馈");
// 反馈时间 // 反馈时间
dispatchPaper.setFeedbackFinishTime(new Date()); dispatchPaper.setFeedbackFinishTime(now);
dispatchPaper.setFeedbackTime(new Date()); dispatchPaper.setFeedbackTime(now);
// 反馈人信息 // 反馈人信息
dispatchPaper.setFeedbackUid(task.getResponseUserId() + ""); dispatchPaper.setFeedbackUid(task.getResponseUserId() + "");
dispatchPaper.setFeedbackUname(task.getResponseUserName()); dispatchPaper.setFeedbackUname(task.getResponseUserName());
......
package com.yeejoin.amos.boot.module.tzs.biz.service.impl; package com.yeejoin.amos.boot.module.tzs.biz.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tzs.api.service.IWechatService; import com.yeejoin.amos.boot.module.tzs.api.service.IWechatService;
import com.yeejoin.amos.boot.module.tzs.biz.utils.HttpUtils; import com.yeejoin.amos.boot.module.tzs.biz.utils.HttpUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -113,4 +115,35 @@ public class WechatServiceImpl implements IWechatService { ...@@ -113,4 +115,35 @@ public class WechatServiceImpl implements IWechatService {
} }
} }
@Override
public JSONObject sendWechatModelMessage(String openId, WechatMessageDto wechatMessageDto) {
String accessToken = this.getAccessToken();
String modelMessageUrl = wechatUrl + "/cgi-bin/message/template/send?access_token=" + accessToken;
JSONObject messageBody = new JSONObject();
messageBody.put("touser",openId);
messageBody.put("template_id",wechatMessageDto.getTemplateId());
if(wechatMessageDto.getUrl() != null) {
messageBody.put("url",wechatMessageDto.getUrl());
}
JSONObject data = new JSONObject();
Map<String, String> datas = wechatMessageDto.getData();
for(Map.Entry<String, String> temp : datas.entrySet()) {
JSONObject tempObj = new JSONObject();
tempObj.put("value",temp.getValue());
data.put(temp.getKey(),tempObj);
}
messageBody.put("data",data);
System.out.println(messageBody.toJSONString());
String responseStr = HttpUtils.doPost(modelMessageUrl, messageBody.toJSONString());
JSONObject response = null;
try {
response = JSONObject.parseObject(responseStr);
} catch (Exception e) {
throw new BadRequest("发送模板消息出错:" + e.getMessage());
}
return response;
}
} }
\ No newline at end of file
...@@ -1546,4 +1546,32 @@ ...@@ -1546,4 +1546,32 @@
update cb_data_dictionary set type_desc = null where sequence_nbr = 1188 ; update cb_data_dictionary set type_desc = null where sequence_nbr = 1188 ;
</sql> </sql>
</changeSet> </changeSet>
<changeSet id="2021-09-272" author="chenzhao">
<preConditions onFail="MARK_RAN">
<tableExists tableName="cb_data_dictionary"/>
</preConditions>
<comment>删除无用数据</comment>
<sql>
update cb_data_dictionary set parent = null where sequence_nbr = 1237 ;
update cb_data_dictionary set parent = null where sequence_nbr = 1238 ;
update cb_data_dictionary set parent = null where sequence_nbr = 1239 ;
update cb_data_dictionary set parent = null where sequence_nbr = 1240 ;
update cb_data_dictionary set parent = null where sequence_nbr = 1241 ;
</sql>
</changeSet>
<changeSet author="chenzhao" id="2021-09-27-cz-1">
<preConditions onFail="MARK_RAN">
<tableExists tableName="cb_fire_experts"/>
</preConditions>
<comment>BUG 2928 表中新增两个字段用来保存详细地址值 </comment>
<sql>
ALTER TABLE `cb_fire_experts` add native_place_val varchar(255) COMMENT '户籍所在地详细地址';
ALTER TABLE `cb_fire_experts` add residence_detail_val varchar(255) COMMENT '现居住地详细地址';
</sql>
</changeSet>
</databaseChangeLog> </databaseChangeLog>
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