Commit a10f27e1 authored by zhangyingbin's avatar zhangyingbin

修改流程 修改枚举 修改业务逻辑

parent 82b64ea0
...@@ -8,8 +8,8 @@ import lombok.Getter; ...@@ -8,8 +8,8 @@ import lombok.Getter;
public enum NoticeStatusEnum { public enum NoticeStatusEnum {
已提交("已提交","0"), 已提交("已提交","0"),
已接收("已接收","1"), 已接收("已接收","1"),
已退回("已退回","2"), 已退回("已退回","0"),
已通过("已通过","3"); 已通过("已通过","1");
String name; String name;
String statusId; String statusId;
......
...@@ -19,7 +19,8 @@ public enum ProblemProcessEnum { ...@@ -19,7 +19,8 @@ public enum ProblemProcessEnum {
超期整改发送短信("超期整改发送短信","8","CQZGFSDX"), 超期整改发送短信("超期整改发送短信","8","CQZGFSDX"),
问题分类("问题分类","9","WTFL"), 问题分类("问题分类","9","WTFL"),
转人工("转人工","10","ZRG"), 转人工("转人工","10","ZRG"),
结束("结束","11","JS"); 结束("结束","11","JS"),
重大问题整改完成发送短信("重大问题整改完成发送短信","12","ZDWTZGWCFSDX");
private String Name; private String Name;
private String key; private String key;
......
package com.yeejoin.amos.boot.module.ugp.api.Enum; package com.yeejoin.amos.boot.module.ugp.api.Enum;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@Getter
@AllArgsConstructor
public enum ProjectInitiationEnum { public enum ProjectInitiationEnum {
项目立项("1","项目立项"), 项目立项("1","项目立项","XMLX"),
平台审核("2","平台审核"), 平台审核("2","平台审核","PTSH"),
告知申请("3","告知申请"), 告知申请("3","告知申请","GZSQ"),
接受告知("4","接受告知"), 接受告知("4","接受告知","JSGZ"),
审查项目("5","审查项目"), 审查项目("5","审查项目","SCXM"),
提交资料("6","提交资料"), 提交资料("6","提交资料","TJZL"),
审批人审批("7","审批人审批"), 审批人审批("7","审批人审批","SPRSP"),
审核人审核("8","审核人审核"), 审核人审核("8","审核人审核","SHRSH"),
监检科室分配("9","监检科室分配"), 监检科室分配("9","监检科室分配","JJKSFP"),
监检员分配("10","监检员分配"), 监检员分配("10","监检员分配","JJYFP"),
监检员审核("11","监检员审核"), 监检员审核("11","监检员审核","JJYSH"),
项目关闭("12","项目关闭"), 项目关闭("12","项目关闭","XMGB"),
接受审查意见("13","接受审查意见"); 接受审查意见("13","接受审查意见","JSSCYJ");
private String status; private String status;
private String name; private String name;
private String code;
public static Map<String,String> getNameByStatusMap = new HashMap<String,String>(); public static Map<String,String> getNameByStatusMap = new HashMap<String,String>();
public static Map<String,String> getStatusByNameMap = new HashMap<String,String>(); public static Map<String,String> getStatusByNameMap = new HashMap<String,String>();
public static Map<String,String> getCodeByNameMap = new HashMap<String,String>();
static { static {
for(ProjectInitiationEnum projectInitiationEnum:ProjectInitiationEnum.values()){ for(ProjectInitiationEnum projectInitiationEnum:ProjectInitiationEnum.values()){
getNameByStatusMap.put(projectInitiationEnum.status,projectInitiationEnum.name); getNameByStatusMap.put(projectInitiationEnum.status,projectInitiationEnum.name);
getStatusByNameMap.put(projectInitiationEnum.name, projectInitiationEnum.status); getStatusByNameMap.put(projectInitiationEnum.name, projectInitiationEnum.status);
getCodeByNameMap.put(projectInitiationEnum.name,projectInitiationEnum.code);
} }
} }
ProjectInitiationEnum(String status, String name) {
this.status = status;
this.name = name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
} }
...@@ -10,7 +10,8 @@ public enum SMSEnum { ...@@ -10,7 +10,8 @@ public enum SMSEnum {
项目立项驳回短信("项目立项驳回短信","SMS_UGP_0002"), 项目立项驳回短信("项目立项驳回短信","SMS_UGP_0002"),
质量问题短信("质量问题短信","SMS_UGP_0003"), 质量问题短信("质量问题短信","SMS_UGP_0003"),
重大质量问题短信("重大质量问题短信","SMS_UGP_0004"), 重大质量问题短信("重大质量问题短信","SMS_UGP_0004"),
超期整改短信("超期整改短信","SMS_UGP_0005"); 超期整改短信("超期整改短信","SMS_UGP_0005"),
重大问题整改完成短信("重大问题整改完成短信","SMS_UGP_0006");
private String name; private String name;
......
...@@ -21,6 +21,12 @@ public class XJConstant { ...@@ -21,6 +21,12 @@ public class XJConstant {
public static final String CHECK_TYPE = "CHECK_TYPE"; public static final String CHECK_TYPE = "CHECK_TYPE";
public static final String DEPT_WF_MAP_DIC_CODE = "DEPT_WF_MAP"; public static final String DEPT_WF_MAP_DIC_CODE = "DEPT_WF_MAP";
//审核/审批状态
public static final String PROCESS_PROJECT_STATE="processProjectState";
//监管科室
public static final String INS_DEP = "insDep";
public static final String INS_PRESON = "insPerson";
/** /**
* 构造方法 * 构造方法
*/ */
......
...@@ -68,4 +68,8 @@ public class InstallNoticePageDto extends BaseDto { ...@@ -68,4 +68,8 @@ public class InstallNoticePageDto extends BaseDto {
@ApiModelProperty(value = "告知申请提交日期") @ApiModelProperty(value = "告知申请提交日期")
private String noticeDate; private String noticeDate;
private Boolean approved;
public String approvedName;
} }
package com.yeejoin.amos.boot.module.ugp.api.dto; package com.yeejoin.amos.boot.module.ugp.api.dto;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.TableField; 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;
...@@ -85,5 +86,21 @@ public class ProjectDto extends BaseDto { ...@@ -85,5 +86,21 @@ public class ProjectDto extends BaseDto {
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
private String remark; private String remark;
/**
* 监检部门
*/
private String inspectionUnit;
/**
* 监察部门
*/
private String superviseDept;
private JSONArray subForm;
private String examineProjectState;
private String processProjectState;
private String insDep;
private String insPerson;
} }
package com.yeejoin.amos.boot.module.ugp.api.mapper; package com.yeejoin.amos.boot.module.ugp.api.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectDto; import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Project; import com.yeejoin.amos.boot.module.ugp.api.entity.Project;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.Map;
/** /**
* 项目信息表 Mapper 接口 * 项目信息表 Mapper 接口
* *
...@@ -18,4 +21,6 @@ public interface ProjectMapper extends BaseMapper<Project> { ...@@ -18,4 +21,6 @@ public interface ProjectMapper extends BaseMapper<Project> {
//通过name查询一条数据 //通过name查询一条数据
ProjectDto selectOneByName(@RequestParam String name); ProjectDto selectOneByName(@RequestParam String name);
ProjectDto getDetail(Long sequenceNbr);
} }
...@@ -9,4 +9,12 @@ ...@@ -9,4 +9,12 @@
where name = #{name} where name = #{name}
</select> </select>
<select id="getDetail" resultType="com.yeejoin.amos.boot.module.ugp.api.dto.ProjectDto">
SELECT p.*,ou1.biz_org_name AS inspection_unit,ou2.biz_org_name AS supervise_dept
FROM tz_ugp_project AS p
LEFT JOIN tz_ugp_supervise_rule AS r ON r.admin_region_code = p.install_region_code
LEFT JOIN cb_org_usr AS ou1 ON ou1.sequence_nbr = r.inspection_unit_id
LEFT JOIN cb_org_usr AS ou2 ON ou2.sequence_nbr = r.supervise_dept_id
WHERE p.sequence_nbr = #{sequenceNbr}
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.ugp.biz.controller; package com.yeejoin.amos.boot.module.ugp.biz.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
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.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.api.constants.XJConstant;
import com.yeejoin.amos.boot.module.ugp.api.dto.MaterialDto; import com.yeejoin.amos.boot.module.ugp.api.dto.MaterialDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.WelderEquipmentDto; import com.yeejoin.amos.boot.module.ugp.api.dto.WelderEquipmentDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Attachment;
import com.yeejoin.amos.boot.module.ugp.api.entity.Project; import com.yeejoin.amos.boot.module.ugp.api.entity.Project;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.OrgServiceImpl; import com.yeejoin.amos.boot.module.ugp.biz.service.impl.*;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.ProjectInitiationServiceImpl;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -21,7 +26,6 @@ import java.util.Date; ...@@ -21,7 +26,6 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.ProjectServiceImpl;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
...@@ -50,6 +54,11 @@ public class ProjectController extends BaseController { ...@@ -50,6 +54,11 @@ public class ProjectController extends BaseController {
ProjectInitiationServiceImpl projectInitiationService; ProjectInitiationServiceImpl projectInitiationService;
@Autowired @Autowired
OrgServiceImpl orgServiceImpl; OrgServiceImpl orgServiceImpl;
@Autowired
EquipmentServiceImpl equipmentService;
@Autowired
AttachmentServiceImpl attachmentServiceImpl;
/** /**
* 新增项目信息表 * 新增项目信息表
...@@ -199,6 +208,63 @@ public class ProjectController extends BaseController { ...@@ -199,6 +208,63 @@ public class ProjectController extends BaseController {
return ResponseHelper.buildResponse(projectServiceImpl.list(wrapper)); return ResponseHelper.buildResponse(projectServiceImpl.list(wrapper));
} }
/**
* 项目审核
* @param sequenceNbr
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "项目审核", notes = "项目审核")
@PostMapping(value = "/processProject")
public ResponseModel<String> processProject(String sequenceNbr,@RequestBody JSONObject json){
String option = json.getString(XJConstant.PROCESS_PROJECT_STATE);
Project project = projectServiceImpl.getById(sequenceNbr);
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(project));
jsonObject.put(XJConstant.PROCESS_PROJECT_STATE,"审核不通过");
if("1".equals(option)){
jsonObject.put(XJConstant.PROCESS_PROJECT_STATE,"审核通过");
}
projectInitiationService.execute(project.getInstanceId(),jsonObject,option);
return ResponseHelper.buildResponse("ok");
}
/**
* 审核员项目审核
* @param sequenceNbr
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "审核员项目审核", notes = "审核员项目审核")
@PostMapping(value = "/insProcess")
public ResponseModel<String> insProcess(String sequenceNbr,@RequestBody JSONObject json){
String option = json.getString(XJConstant.PROCESS_PROJECT_STATE);
Project project = projectServiceImpl.getById(sequenceNbr);
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(project));
jsonObject.put(XJConstant.PROCESS_PROJECT_STATE,"符合");
if("0".equals(option)){
jsonObject.put(XJConstant.PROCESS_PROJECT_STATE,"不符合且不需要整改");
projectInitiationService.execute(project.getInstanceId(),jsonObject,option);
projectInitiationService.execute(project.getInstanceId(),jsonObject,option);
}else if("2".equals(option)){
jsonObject.put(XJConstant.PROCESS_PROJECT_STATE,"不符合且需要重新提交资料");
}
projectInitiationService.execute(project.getInstanceId(),jsonObject,option);
return ResponseHelper.buildResponse("ok");
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "POST", value = "添加附件", notes = "添加附件")
@PostMapping(value = "/saveOrUpdateFile")
public ResponseModel<String> saveOrUpdateFile(@RequestBody JSONObject jsonObject){
return ResponseHelper.buildResponse(projectServiceImpl.saveOrUpdateFile(jsonObject));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(httpMethod = "GET", value = "通过sequenceNbr查询项目详情", notes = "通过sequenceNbr查询项目详情")
@GetMapping(value = "/getDetail")
public ResponseModel<ProjectDto> getDetail(Long sequenceNbr){
return ResponseHelper.buildResponse(projectServiceImpl.getDetail(sequenceNbr));
}
} }
...@@ -18,8 +18,10 @@ import com.yeejoin.amos.boot.module.common.biz.service.impl.DynamicFormColumnSer ...@@ -18,8 +18,10 @@ import com.yeejoin.amos.boot.module.common.biz.service.impl.DynamicFormColumnSer
import com.yeejoin.amos.boot.module.common.biz.service.impl.DynamicFormInstanceServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.DynamicFormInstanceServiceImpl;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum; import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.biz.framework.BusinessIdentify;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -132,13 +134,16 @@ public class OrgServiceImpl { ...@@ -132,13 +134,16 @@ public class OrgServiceImpl {
if (OrgEnum.人员.getKey().equals(bizOrgType)){ if (OrgEnum.人员.getKey().equals(bizOrgType)){
if (1==jsonObject.getInteger("isWelder")) { if (1==jsonObject.getInteger("isWelder")) {
orgUsr.setOrgExpandAttr1(OrgEnum.焊工.getKey()); orgUsr.setOrgExpandAttr1(OrgEnum.焊工.getKey());
orgUsr.setCode(getCode());
} }
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr :: getAmosOrgId,String.valueOf(reginParams.getCompany().getSequenceNbr())); wrapper.eq(OrgUsr :: getAmosOrgId,String.valueOf(reginParams.getCompany().getSequenceNbr()));
orgUsr.setParentId(String.valueOf(orgUsrServiceImpl.getOne(wrapper).getSequenceNbr())); orgUsr.setParentId(String.valueOf(orgUsrServiceImpl.getOne(wrapper).getSequenceNbr()));
} }
if (OrgEnum.部门.getKey().equals(bizOrgType)) { if (OrgEnum.部门.getKey().equals(bizOrgType)) {
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr :: getAmosOrgId,String.valueOf(reginParams.getCompany().getSequenceNbr()));
orgUsr.setParentId(String.valueOf(orgUsrServiceImpl.getOne(wrapper).getSequenceNbr()));
} }
//设置bizOrgCode //设置bizOrgCode
if (orgUsr.getParentId() != null) { if (orgUsr.getParentId() != null) {
...@@ -154,6 +159,21 @@ public class OrgServiceImpl { ...@@ -154,6 +159,21 @@ public class OrgServiceImpl {
return orgUsr; return orgUsr;
} }
public String getCode(){
int c;
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.orderByDesc(OrgUsr::getCode).eq(OrgUsr::getOrgExpandAttr1,OrgEnum.焊工.getKey());
String code = orgUsrServiceImpl.list(wrapper).iterator().next().getCode();
if(ValidationUtil.isEmpty(code)){
c = 0001;
}else{
c = Integer.parseInt(code)+1;
}
String welderCode = OrgEnum.焊工.getKey() +"-"+ c;
return welderCode;
}
/** /**
* 用户单位信息redis获取 * 用户单位信息redis获取
**/ **/
......
...@@ -4,13 +4,16 @@ import com.alibaba.fastjson.JSON; ...@@ -4,13 +4,16 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService; import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
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.biz.service.impl.OrgUsrServiceImpl; import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.ugp.api.Enum.ProblemProcessEnum; import com.yeejoin.amos.boot.module.ugp.api.Enum.ProblemProcessEnum;
import com.yeejoin.amos.boot.module.ugp.api.Enum.SMSEnum;
import com.yeejoin.amos.boot.module.ugp.api.entity.*; import com.yeejoin.amos.boot.module.ugp.api.entity.*;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.Systemctl; import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.SmsRecordModel; import com.yeejoin.amos.feign.systemctl.model.SmsRecordModel;
import com.yeejoin.amos.feign.workflow.Workflow; import com.yeejoin.amos.feign.workflow.Workflow;
...@@ -54,11 +57,15 @@ public class ProblemInitiationServiceImpl { ...@@ -54,11 +57,15 @@ public class ProblemInitiationServiceImpl {
@Autowired @Autowired
QualityProblemServiceImpl qualityProblemService; QualityProblemServiceImpl qualityProblemService;
private static String SMSCODE = "SMS_UGP_0003";
@Value("${params.work.flow.problemDefinitionKey}") @Value("${params.work.flow.problemDefinitionKey}")
private String problemDefinitionKey; private String problemDefinitionKey;
@Value("supervisionRoleId")
private String supervisionRoleId;
@Value("installationRoleId")
private String installationRoleId;
public String start(QualityProblem qualityProblem) { public String start(QualityProblem qualityProblem) {
String instanceId = null; String instanceId = null;
...@@ -80,6 +87,7 @@ public class ProblemInitiationServiceImpl { ...@@ -80,6 +87,7 @@ public class ProblemInitiationServiceImpl {
qualityProblem.setInstanceId(instanceId); qualityProblem.setInstanceId(instanceId);
qualityProblem.setStatus(projectInitiationService.getFlowTaskName(instanceId)); qualityProblem.setStatus(projectInitiationService.getFlowTaskName(instanceId));
qualityProblemService.updateById(qualityProblem); qualityProblemService.updateById(qualityProblem);
sendSms(JSONObject.parseObject(JSONObject.toJSONString(qualityProblem)), SMSEnum.质量问题短信.getCode());
return instanceId; return instanceId;
} }
...@@ -96,7 +104,19 @@ public class ProblemInitiationServiceImpl { ...@@ -96,7 +104,19 @@ public class ProblemInitiationServiceImpl {
if (ProblemProcessEnum.重大问题发送短信.getName().equals(dataObject.getString("name"))) { if (ProblemProcessEnum.重大问题发送短信.getName().equals(dataObject.getString("name"))) {
if(!ValidationUtil.isEmpty(objectd)) { if(!ValidationUtil.isEmpty(objectd)) {
// sendSms(object); sendSms(object, SMSEnum.重大质量问题短信.getCode());
}
}
if (ProblemProcessEnum.超期整改发送短信.getName().equals(dataObject.getString("name"))) {
if(!ValidationUtil.isEmpty(objectd)) {
sendSms(object, SMSEnum.超期整改短信.getCode());
}
}
if (ProblemProcessEnum.重大问题整改完成发送短信.getName().equals(dataObject.getString("name"))) {
if(!ValidationUtil.isEmpty(objectd)) {
sendSms(object, SMSEnum.重大质量问题短信.getCode());
} }
} }
...@@ -126,33 +146,75 @@ public class ProblemInitiationServiceImpl { ...@@ -126,33 +146,75 @@ public class ProblemInitiationServiceImpl {
} }
public void sendSms(JSONObject object,String smsCode){ public void sendSms(JSONObject object, String smsCode){
//设置短信发送的基本参数 Long sequenceNbr = object.getLong("sequenceNbr");
HashMap<String, String> smsParams = new HashMap(); if(SMSEnum.项目安装告知申请.getCode().equals(smsCode)){
smsParams.put("smsCode", smsCode); //设置短信发送的基本参数
smsParams.put("companyName", object.getString("installationUnit")); HashMap<String, String> smsParams = new HashMap();
smsParams.put("projectName", object.getString("name")); smsParams.put("smsCode", smsCode);
//条件构造器 通过项目id查出来的项目详情信息中的区域代码,在监管区域规则表中拿到详细信息中的监察部门id,在使用监察部门id查找到该部门下的用户List。 smsParams.put("projectName", object.getString("projectName"));
QueryWrapper<SuperviseRule> wrapper = new QueryWrapper<>(); smsParams.put("problemDesc", object.getString("problemDesc"));
wrapper.eq("admin_region_code", projectServiceImpl.getById(object.getLong("projectId")).getInstallRegionCode()); //条件构造器 通过项目id查出来的项目详情信息中的区域代码,在监管区域规则表中拿到详细信息中的监察部门id,在使用监察部门id拿到平台的监察部门id
String noticeUnitId = orgUsrServiceImpl.getById(superviseRuleServiceImpl.getOne(wrapper).getSuperviseDeptId()).getAmosOrgId(); LambdaQueryWrapper<SuperviseRule> wrapper = new LambdaQueryWrapper<>();
List<AgencyUserModel> agencyUserModelList = Privilege.agencyUserClient.queryByDepartmentId(Long.valueOf(noticeUnitId), null, null, null).getResult(); wrapper.eq(SuperviseRule::getAdminRegionCode, projectServiceImpl.getById(object.getLong("projectId")).getInstallRegionCode());
String noticeUnitId = orgUsrServiceImpl.getById(superviseRuleServiceImpl.getOne(wrapper).getSuperviseDeptId()).getAmosOrgId();
sendMessage(sequenceNbr,noticeUnitId,smsParams,smsCode,supervisionRoleId);
}else if(SMSEnum.项目立项驳回短信.getCode().equals(smsCode)) {
//设置短信发送的基本参数
HashMap<String, String> smsParams = new HashMap();
smsParams.put("smsCode", smsCode);
smsParams.put("projectName", object.getString("projectName"));
smsParams.put("reviewInfo", object.getString("reviewInfo"));
//给监察发短信
LambdaQueryWrapper<SuperviseRule> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SuperviseRule::getAdminRegionCode, projectServiceImpl.getById(object.getLong("projectId")).getInstallRegionCode());
String supervisionUnitId = orgUsrServiceImpl.getById(superviseRuleServiceImpl.getOne(wrapper).getSuperviseDeptId()).getAmosOrgId();
sendMessage(sequenceNbr,supervisionUnitId,smsParams,smsCode,supervisionRoleId);
//给安装发短信
String installationUnitId = orgUsrServiceImpl.getById(projectServiceImpl.getById(object.getLong("projectId")).getInstallationUnitId()).getAmosOrgId();
sendMessage(sequenceNbr,installationUnitId,smsParams,smsCode,installationRoleId);
}
}
/**
* 发送短信
* @param sequenceNbr 任务id(项目/问题)
* @param noticeUnitId 平台目标企业id
* @param smsParams 短信参数
* @param smsCode 短信模板
* @param roleId 角色id
*/
public void sendMessage(Long sequenceNbr,String noticeUnitId,HashMap<String, String> smsParams,String smsCode,String roleId){
//向noticeUnitId的部门发送短信
List<AgencyUserModel> agencyUserModelList = Privilege.agencyUserClient.queryByRoleId(roleId,null).getResult();
//遍历用户List,拿到用户手机号、userId,来发短信、存短信日志。 //遍历用户List,拿到用户手机号、userId,来发短信、存短信日志。
for (AgencyUserModel agencyUserModel : agencyUserModelList) { for (AgencyUserModel agencyUserModel : agencyUserModelList) {
LambdaQueryWrapper<OrgUsr> wrapperQueryWrapper = new LambdaQueryWrapper<>(); boolean bool = false;
wrapperQueryWrapper.eq(OrgUsr::getAmosOrgCode,agencyUserModel.getUserId()); List<CompanyModel> companyModelList = agencyUserModel.getCompanys();
for (CompanyModel companyModel : companyModelList) {
SmsRecordModel smsRecordModel = sendSmsMassage(SMSCODE, agencyUserModel.getMobile(), smsParams); bool = companyModel.getSequenceNbr().equals(noticeUnitId);
RectifyMsg rectifyMsg = new RectifyMsg(); if(bool){
if (ValidationUtil.isEmpty(smsRecordModel)) { break;
continue; }
}
if (bool) {
LambdaQueryWrapper<OrgUsr> wrapperQueryWrapper = new LambdaQueryWrapper<>();
wrapperQueryWrapper.eq(OrgUsr::getAmosOrgId,agencyUserModel.getSequenceNbr());
SmsRecordModel smsRecordModel = sendSmsMassage(smsCode, agencyUserModel.getMobile(), smsParams);
RectifyMsg rectifyMsg = new RectifyMsg();
if (ValidationUtil.isEmpty(smsRecordModel)) {
continue;
}
rectifyMsg.setContent(smsRecordModel.getSmsContent());
rectifyMsg.setProblemId(sequenceNbr);
rectifyMsg.setNoticeUnitId(Long.valueOf(noticeUnitId));
rectifyMsg.setMsgReceiver(orgUsrServiceImpl.getOne(wrapperQueryWrapper).getSequenceNbr());
rectifyMsg.setSendTime(smsRecordModel.getSendTime());
rectifyMsgServiceImpl.save(rectifyMsg);
} }
rectifyMsg.setContent(smsRecordModel.getSmsContent());
rectifyMsg.setProblemId(object.getLong("sequenceNbr"));
rectifyMsg.setNoticeUnitId(Long.valueOf(noticeUnitId));
rectifyMsg.setMsgReceiver(orgUsrServiceImpl.getOne(wrapperQueryWrapper).getSequenceNbr());
rectifyMsg.setSendTime(smsRecordModel.getSendTime());
rectifyMsgServiceImpl.save(rectifyMsg);
} }
} }
...@@ -167,6 +229,7 @@ public class ProblemInitiationServiceImpl { ...@@ -167,6 +229,7 @@ public class ProblemInitiationServiceImpl {
return smsRecordModel; return smsRecordModel;
} }
public void updateProBlemFlowStatus(String instanceId){ public void updateProBlemFlowStatus(String instanceId){
LambdaQueryWrapper<QualityProblem> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<QualityProblem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(QualityProblem::getInstanceId,instanceId); wrapper.eq(QualityProblem::getInstanceId,instanceId);
......
...@@ -80,6 +80,9 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD ...@@ -80,6 +80,9 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD
@Autowired @Autowired
RectifyMsgServiceImpl rectifyMsgServiceImpl; RectifyMsgServiceImpl rectifyMsgServiceImpl;
@Autowired
ProblemInitiationServiceImpl problemInitiationService;
private final Logger logger = LoggerFactory.getLogger(ProjectInitiationServiceImpl.class); private final Logger logger = LoggerFactory.getLogger(ProjectInitiationServiceImpl.class);
@Value("${params.work.flow.processDefinitionKey}") @Value("${params.work.flow.processDefinitionKey}")
...@@ -140,22 +143,23 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD ...@@ -140,22 +143,23 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD
} }
if(ProjectInitiationEnum.接受审查意见.getName().equals(dataObject.getString("name"))){ if(ProjectInitiationEnum.接受审查意见.getName().equals(dataObject.getString("name"))){
projectInitiation.setTaskName(dataObject.getString("name")+"(流程结束!)"); projectInitiation.setTaskName(dataObject.getString("name")+"(流程结束!)");
if(!ValidationUtil.isEmpty(objectd)) {
problemInitiationService.sendSms(object, SMSEnum.项目立项驳回短信.getCode());
}
} }
if (ProjectInitiationEnum.告知申请.getName().equals(dataObject.getString("name"))) { if (ProjectInitiationEnum.告知申请.getName().equals(dataObject.getString("name"))) {
if(!ValidationUtil.isEmpty(objectd)) { if(!ValidationUtil.isEmpty(objectd)) {
sendSms(object, SMSEnum.项目安装告知申请.getCode()); problemInitiationService.sendSms(object, SMSEnum.项目安装告知申请.getCode());
} }
} }
if ("监检科室分配".equals(dataObject.getString("name"))) {
}
if ("监检员分配".equals(dataObject.getString("name"))) {
if (ProjectInitiationEnum.项目关闭.getName().equals(dataObject.getString("name"))) {
if(!ValidationUtil.isEmpty(objectd)) {
problemInitiationService.sendSms(object, SMSEnum.项目立项驳回短信.getCode());
}
} }
if ("监检员审核".equals(dataObject.getString("name"))) {
}
try { try {
//组装信息 //组装信息
...@@ -179,18 +183,6 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD ...@@ -179,18 +183,6 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD
} }
} }
@Transactional(rollbackFor = Exception.class)
public SmsRecordModel sendSmsMassage(String smsCode, String mobile, HashMap<String, String> smsParams){
SmsRecordModel smsRecordModel = new SmsRecordModel();
if(!ValidationUtil.isEmpty(mobile)){
smsParams.put("smsCode",smsCode);
smsParams.put("mobile",mobile);
smsRecordModel = Systemctl.smsClient.sendCommonSms(smsParams).getResult();
}
return smsRecordModel;
}
/** /**
* 获取流程当前任务名称 * 获取流程当前任务名称
* @param instanceId * @param instanceId
...@@ -209,37 +201,9 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD ...@@ -209,37 +201,9 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD
LambdaQueryWrapper<Project> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Project> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Project::getInstanceId,instanceId); wrapper.eq(Project::getInstanceId,instanceId);
Project project = projectService.getOne(wrapper); Project project = projectService.getOne(wrapper);
project.setStatus(getFlowTaskName(instanceId)); project.setStatus(ProjectInitiationEnum.getCodeByNameMap.get(getFlowTaskName(instanceId)));
projectService.updateById(project); projectService.updateById(project);
} }
public void sendSms(JSONObject object,String smsCode){
//设置短信发送的基本参数
HashMap<String, String> smsParams = new HashMap();
smsParams.put("smsCode", smsCode);
smsParams.put("companyName", object.getString("installationUnit"));
smsParams.put("projectName", object.getString("name"));
//条件构造器 通过项目id查出来的项目详情信息中的区域代码,在监管区域规则表中拿到详细信息中的监察部门id,在使用监察部门id查找到该部门下的用户List。
QueryWrapper<SuperviseRule> wrapper = new QueryWrapper<>();
wrapper.eq("admin_region_code", projectServiceImpl.getById(object.getLong("projectId")).getInstallRegionCode());
String noticeUnitId = orgUsrServiceImpl.getById(superviseRuleServiceImpl.getOne(wrapper).getSuperviseDeptId()).getAmosOrgId();
List<AgencyUserModel> agencyUserModelList = Privilege.agencyUserClient.queryByDepartmentId(Long.valueOf(noticeUnitId), null, null, null).getResult();
//遍历用户List,拿到用户手机号、userId,来发短信、存短信日志。
for (AgencyUserModel agencyUserModel : agencyUserModelList) {
LambdaQueryWrapper<OrgUsr> wrapperQueryWrapper = new LambdaQueryWrapper<>();
wrapperQueryWrapper.eq(OrgUsr::getAmosOrgCode,agencyUserModel.getUserId());
SmsRecordModel smsRecordModel = sendSmsMassage(smsCode, agencyUserModel.getMobile(), smsParams);
RectifyMsg rectifyMsg = new RectifyMsg();
if (ValidationUtil.isEmpty(smsRecordModel)) {
continue;
}
rectifyMsg.setContent(smsRecordModel.getSmsContent());
rectifyMsg.setProblemId(object.getLong("sequenceNbr"));
rectifyMsg.setNoticeUnitId(Long.valueOf(noticeUnitId));
rectifyMsg.setMsgReceiver(orgUsrServiceImpl.getOne(wrapperQueryWrapper).getSequenceNbr());
rectifyMsg.setSendTime(smsRecordModel.getSendTime());
rectifyMsgServiceImpl.save(rectifyMsg);
}
}
} }
package com.yeejoin.amos.boot.module.ugp.biz.service.impl; package com.yeejoin.amos.boot.module.ugp.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ugp.api.dto.MaterialDto; import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.api.constants.XJConstant;
import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectDto; import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Attachment;
import com.yeejoin.amos.boot.module.ugp.api.entity.Project; import com.yeejoin.amos.boot.module.ugp.api.entity.Project;
import com.yeejoin.amos.boot.module.ugp.api.entity.ProjectInitiation;
import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectMapper; import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectMapper;
import com.yeejoin.amos.boot.module.ugp.api.service.IProjectService; import com.yeejoin.amos.boot.module.ugp.api.service.IProjectService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -25,11 +35,45 @@ public class ProjectServiceImpl extends BaseService<ProjectDto, Project, Project ...@@ -25,11 +35,45 @@ public class ProjectServiceImpl extends BaseService<ProjectDto, Project, Project
@Autowired @Autowired
ProjectMapper projectMapper; ProjectMapper projectMapper;
@Autowired
AttachmentServiceImpl attachmentService;
@Autowired
ProjectInitiationServiceImpl projectInitiationService;
@Autowired
EquipmentServiceImpl equipmentService;
/** /**
* 分页查询 * 分页查询
*/ */
public Page<ProjectDto> queryForProjectPage(Page<ProjectDto> page ,String name,String constructionUnit) { public Page<ProjectDto> queryForProjectPage(Page<ProjectDto> page ,String name,String constructionUnit) {
return this.queryForPage(page, null, false,name,constructionUnit); Page<ProjectDto> projectDtoPage = this.queryForPage(page, null, false,name,constructionUnit);
List<ProjectDto> projects = projectDtoPage.getRecords();
for(ProjectDto project:projects){
getProjectState(project);
}
return projectDtoPage;
}
private void getProjectState(ProjectDto project) {
String state = "",insDep = "",insPerson = "";
LambdaQueryWrapper<ProjectInitiation> lambdaQueryWrap = new LambdaQueryWrapper<>();
lambdaQueryWrap.eq(ProjectInitiation::getInstanceId,project.getInstanceId())
.orderByDesc(ProjectInitiation::getSequenceNbr);
List<ProjectInitiation> projectInitiationList = projectInitiationService.list(lambdaQueryWrap);
if(!ValidationUtil.isEmpty(projectInitiationList)){
ProjectInitiation projectInitiation = projectInitiationList.iterator().next();
JSONObject jsonObject = JSON.parseObject(projectInitiation.getContext());
state = jsonObject.getString(XJConstant.PROCESS_PROJECT_STATE);
insDep = jsonObject.getString(XJConstant.INS_DEP);
insPerson = jsonObject.getString(XJConstant.INS_PRESON);
}
project.setExamineProjectState(state);
project.setInsDep(insDep);
project.setInsPerson(insPerson);
} }
...@@ -64,8 +108,61 @@ public class ProjectServiceImpl extends BaseService<ProjectDto, Project, Project ...@@ -64,8 +108,61 @@ public class ProjectServiceImpl extends BaseService<ProjectDto, Project, Project
* @return * @return
*/ */
public List<Project> selectByidList(List<Long> ids){ public List<Project> selectByidList(List<Long> ids){
return projectMapper.selectBatchIds(ids); return projectMapper.selectBatchIds(ids);
}
public ProjectDto getDetail(Long sequenceNbr){
ProjectDto project = projectMapper.getDetail(sequenceNbr);
LambdaQueryWrapper<Attachment> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Attachment::getSourceId,sequenceNbr);
try{
JSONArray jsonArray = JSON.parseArray(attachmentService.getOne(wrapper).getInfo());
project.setSubForm(jsonArray);
}catch (Exception e) {
System.out.println("该项目暂无附件");
}
project.getInstanceId();
getProjectState(project);
return project;
}
public String saveOrUpdateFile(JSONObject jsonObject){
JSONArray subForm = jsonObject.getJSONArray("subForm");
Long sequenceNbr = jsonObject.getLong("sequenceNbr");
LambdaQueryWrapper<Attachment> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Attachment::getSourceId,sequenceNbr);
Attachment attachment = attachmentService.getOne(wrapper);
if(ValidationUtil.isEmpty(attachment)){
equipmentService.saveAttachment(subForm,sequenceNbr);
}else {
attachment.setInfo(JSON.toJSONString(subForm));
attachmentService.updateById(attachment);
}
Project project = this.getById(sequenceNbr);
ProjectDto projectDto = new ProjectDto();
BeanUtils.copyProperties(project,projectDto);
projectDto.setInsDep(jsonObject.getString("insDep"));
projectDto.setInsDep(jsonObject.getString("insPerson"));
projectDto.setProcessProjectState(jsonObject.getString("processProjectState"));
boolean design=false,install=false;
for(Object object:subForm){
JSONObject jo = JSON.parseObject(JSON.toJSONString(object));
String type = jo.getString("type");
if (OrgEnum.设计单位.getKey().equals(type)){
design=true;
}
if (OrgEnum.安装单位.getKey().equals(type)){
design=true;
}
}
if(design && install){
projectInitiationService.execute(project.getInstanceId(),projectDto,"1");
}
this.updateById(project);
return "ok";
} }
} }
\ 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