Commit 080b68b5 authored by zhangyingbin's avatar zhangyingbin

修改质量问题闭环处理流程

parent ca1acbf2
...@@ -122,8 +122,6 @@ public class EquipmentController extends BaseController { ...@@ -122,8 +122,6 @@ public class EquipmentController extends BaseController {
} }
} }
return ResponseHelper.buildResponse(equipmentServiceImpl.removeByIds(sequenceNbr)); return ResponseHelper.buildResponse(equipmentServiceImpl.removeByIds(sequenceNbr));
} }
/** /**
......
...@@ -6,6 +6,7 @@ import com.yeejoin.amos.boot.biz.common.utils.NameUtils; ...@@ -6,6 +6,7 @@ import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.ugp.api.entity.QualityProblem; import com.yeejoin.amos.boot.module.ugp.api.entity.QualityProblem;
import com.yeejoin.amos.boot.module.ugp.biz.service.impl.ProblemInitiationServiceImpl; import com.yeejoin.amos.boot.module.ugp.biz.service.impl.ProblemInitiationServiceImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
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;
...@@ -53,6 +54,9 @@ public class QualityProblemController extends BaseController { ...@@ -53,6 +54,9 @@ public class QualityProblemController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "新增质量问题表", notes = "新增质量问题表") @ApiOperation(httpMethod = "POST", value = "新增质量问题表", notes = "新增质量问题表")
public ResponseModel<QualityProblemDto> save(@RequestBody QualityProblemDto model) { public ResponseModel<QualityProblemDto> save(@RequestBody QualityProblemDto model) {
model = qualityProblemServiceImpl.createWithModel(model); model = qualityProblemServiceImpl.createWithModel(model);
QualityProblem qualityProblem = new QualityProblem();
BeanUtils.copyProperties(model, qualityProblem);
problemInitiationService.start(qualityProblem);
return ResponseHelper.buildResponse(model); return ResponseHelper.buildResponse(model);
} }
......
...@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams; ...@@ -8,6 +8,7 @@ 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.OrgEnum;
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.Enum.SMSEnum;
import com.yeejoin.amos.boot.module.ugp.api.entity.*; import com.yeejoin.amos.boot.module.ugp.api.entity.*;
...@@ -70,6 +71,12 @@ public class ProblemInitiationServiceImpl { ...@@ -70,6 +71,12 @@ public class ProblemInitiationServiceImpl {
@Value("${installationRoleId}") @Value("${installationRoleId}")
private String installationRoleId; private String installationRoleId;
@Value("${monitoringRoleId}")
private String monitoringRoleId;
@Value("${constructionRoleId}")
private String constructionRoleId;
public String start(QualityProblem qualityProblem) { public String start(QualityProblem qualityProblem) {
String instanceId = null; String instanceId = null;
//启动流程 //启动流程
...@@ -119,7 +126,7 @@ public class ProblemInitiationServiceImpl { ...@@ -119,7 +126,7 @@ 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, SMSEnum.重大质量问题短信.getCode()); sendSms(object, SMSEnum.重大问题整改完成短信.getCode());
} }
} }
...@@ -142,45 +149,92 @@ public class ProblemInitiationServiceImpl { ...@@ -142,45 +149,92 @@ public class ProblemInitiationServiceImpl {
System.out.println("任务完成失败:"+e.getMessage()); System.out.println("任务完成失败:"+e.getMessage());
} finally { } finally {
//更新problem中的status字段,表示当前流程下一个执行的任务 //更新problem中的status字段,表示当前流程下一个执行的任务
qualityProblemService.updateById(objectd);
updateProBlemFlowStatus(instanceId); updateProBlemFlowStatus(instanceId);
QualityProblem quality = qualityProblemService.getById(objectd.getSequenceNbr()); QualityProblem quality = qualityProblemService.getById(objectd.getSequenceNbr());
objectd.setStatus(quality.getStatus()); objectd.setStatus(quality.getStatus());
} }
} }
/**
* 项目立项及质量问题闭环处理 发送短信具体模板
* @param object
* @param smsCode
*/
public void sendSms(JSONObject object, String smsCode){ public void sendSms(JSONObject object, String smsCode){
Long sequenceNbr = object.getLong("sequenceNbr"); Long sequenceNbr = object.getLong("sequenceNbr");
//设置短信发送的基本参数
HashMap<String, String> smsParams = new HashMap();
smsParams.put("smsCode", smsCode);
smsParams.put("projectName", object.getString("projectName"));
smsParams.put("problemDescribe", object.getString("problemDescribe"));
smsParams.put("CompanyName", object.getString("CompanyName"));
if(SMSEnum.项目安装告知申请.getCode().equals(smsCode)){ if(SMSEnum.项目安装告知申请.getCode().equals(smsCode)){
//设置短信发送的基本参数 //给监察发短信
HashMap<String, String> smsParams = new HashMap(); sendTo(OrgEnum.监察部门.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
smsParams.put("smsCode", smsCode);
smsParams.put("projectName", object.getString("projectName"));
smsParams.put("CompanyName", object.getString("CompanyName"));
//条件构造器 通过项目id查出来的项目详情信息中的区域代码,在监管区域规则表中拿到详细信息中的监察部门id,在使用监察部门id拿到平台的监察部门id
LambdaQueryWrapper<SuperviseRule> wrapper = new LambdaQueryWrapper<>();
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,object);
}else if(SMSEnum.项目立项驳回短信.getCode().equals(smsCode)) { }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"));
//给监察发短信 //给监察发短信
sendTo(OrgEnum.监察部门.getKey(),object.getLong("sequenceNbr"),sequenceNbr,smsParams,smsCode,object);
//给安装发短信
sendTo(OrgEnum.安装单位.getKey(),object.getLong("sequenceNbr"),sequenceNbr,smsParams,smsCode,object);
}else if(SMSEnum.重大质量问题短信.getCode().equals(smsCode)){
//给监察发短信
sendTo(OrgEnum.监察部门.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
}else if(SMSEnum.超期整改短信.getCode().equals(smsCode)){
//给安装发短信
sendTo(OrgEnum.建设单位.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
//给安装发短信
sendTo(OrgEnum.监检机构.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
//给安装发短信
sendTo(OrgEnum.安装单位.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
//给监察发短信
sendTo(OrgEnum.监察部门.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
}else if(SMSEnum.重大问题整改完成短信.getCode().equals(smsCode)){
//给监察发短信
sendTo(OrgEnum.监察部门.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
}else if (SMSEnum.质量问题短信.getCode().equals(smsCode)) {
//给安装发短信
sendTo(OrgEnum.建设单位.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
//给安装发短信
sendTo(OrgEnum.监检机构.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
//给安装发短信
sendTo(OrgEnum.安装单位.getKey(),object.getLong("projectId"),sequenceNbr,smsParams,smsCode,object);
}
}
/**
* 发送短信给监检/安装/监察/建设
* @param nameKey
* @param projectId
* @param sequenceNbr
* @param smsParams
* @param smsCode
* @param object
*/
public void sendTo(String nameKey,Long projectId,Long sequenceNbr,HashMap<String, String> smsParams,String smsCode,JSONObject object){
if(OrgEnum.监检机构.getKey().equals(nameKey)){
LambdaQueryWrapper<SuperviseRule> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SuperviseRule> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SuperviseRule::getAdminRegionCode, projectServiceImpl.getById(object.getLong("sequenceNbr")).getInstallRegionCode()); wrapper.eq(SuperviseRule::getAdminRegionCode, projectServiceImpl.getById(projectId).getInstallRegionCode());
String supervisionUnitId = orgUsrServiceImpl.getById(superviseRuleServiceImpl.getOne(wrapper).getSuperviseDeptId()).getAmosOrgId(); String MonitoringUnitId = orgUsrServiceImpl.getById(superviseRuleServiceImpl.getOne(wrapper).getInspectionUnitId()).getAmosOrgId();
sendMessage(sequenceNbr,supervisionUnitId,smsParams,smsCode,supervisionRoleId,object); sendMessage(sequenceNbr,MonitoringUnitId,smsParams,smsCode,monitoringRoleId,object);
} else if (OrgEnum.安装单位.getKey().equals(nameKey)){
//给安装发短信 //给安装发短信
String installationUnitId = orgUsrServiceImpl.getById(projectServiceImpl.getById(object.getLong("sequenceNbr")).getInstallationUnitId()).getAmosOrgId(); String installationUnitId = orgUsrServiceImpl.getById(projectServiceImpl.getById(projectId).getInstallationUnitId()).getAmosOrgId();
sendMessage(sequenceNbr,installationUnitId,smsParams,smsCode,installationRoleId,object); sendMessage(sequenceNbr,installationUnitId,smsParams,smsCode,installationRoleId,object);
} else if (OrgEnum.监察部门.getKey().equals(nameKey)){
//给监察发短信
LambdaQueryWrapper<SuperviseRule> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SuperviseRule::getAdminRegionCode, projectServiceImpl.getById(projectId).getInstallRegionCode());
String supervisionUnitId = orgUsrServiceImpl.getById(superviseRuleServiceImpl.getOne(wrapper).getSuperviseDeptId()).getAmosOrgId();
sendMessage(sequenceNbr,supervisionUnitId,smsParams,smsCode,supervisionRoleId,object);
} else if (OrgEnum.建设单位.getKey().equals(nameKey)){
//给建设发短信
String installationUnitId = orgUsrServiceImpl.getById(projectServiceImpl.getById(projectId).getConstructionUnitId()).getAmosOrgId();
sendMessage(sequenceNbr,installationUnitId,smsParams,smsCode,constructionRoleId,object);
} }
} }
/** /**
* 发送短信 * 发送短信
* @param sequenceNbr 任务id(项目/问题) * @param sequenceNbr 任务id(项目/问题)
...@@ -213,13 +267,22 @@ public class ProblemInitiationServiceImpl { ...@@ -213,13 +267,22 @@ public class ProblemInitiationServiceImpl {
if(SMSEnum.项目安装告知申请.getCode().equals(smsCode) || SMSEnum.项目立项驳回短信.getCode().equals(smsCode)){ if(SMSEnum.项目安装告知申请.getCode().equals(smsCode) || SMSEnum.项目立项驳回短信.getCode().equals(smsCode)){
saveProjectSmsLog(smsRecordModel,sequenceNbr,noticeUnitId,agencyUserModel,object,smsCode); saveProjectSmsLog(smsRecordModel,sequenceNbr,noticeUnitId,agencyUserModel,object,smsCode);
}else { }else {
saveProblemSmsLog(smsRecordModel,sequenceNbr,noticeUnitId,agencyUserModel); saveProblemSmsLog(smsRecordModel,sequenceNbr,noticeUnitId,agencyUserModel,object,smsCode);
} }
} }
} }
} }
/**
* 存 项目立项流程中 发送的短信信息
* @param smsRecordModel
* @param sequenceNbr
* @param noticeUnitId
* @param agencyUserModel
* @param object
* @param smsCode
*/
public void saveProjectSmsLog(SmsRecordModel smsRecordModel,Long sequenceNbr,String noticeUnitId,AgencyUserModel agencyUserModel,JSONObject object,String smsCode){ public void saveProjectSmsLog(SmsRecordModel smsRecordModel,Long sequenceNbr,String noticeUnitId,AgencyUserModel agencyUserModel,JSONObject object,String smsCode){
String content = Systemctl.smsTemplateClient.seleteOne(smsCode).getResult().getSmsContent(); String content = Systemctl.smsTemplateClient.seleteOne(smsCode).getResult().getSmsContent();
String projectName = object.getString("projectName"); String projectName = object.getString("projectName");
...@@ -253,7 +316,31 @@ public class ProblemInitiationServiceImpl { ...@@ -253,7 +316,31 @@ public class ProblemInitiationServiceImpl {
installNoticeMsgService.save(installNoticeMsg); installNoticeMsgService.save(installNoticeMsg);
} }
public void saveProblemSmsLog(SmsRecordModel smsRecordModel,Long sequenceNbr,String noticeUnitId,AgencyUserModel agencyUserModel){ /**
* 存 质量问题闭环处理流程中 发送的短信信息
* @param smsRecordModel
* @param sequenceNbr
* @param noticeUnitId
* @param agencyUserModel
* @param object
* @param smsCode
*/
public void saveProblemSmsLog(SmsRecordModel smsRecordModel,Long sequenceNbr,String noticeUnitId,AgencyUserModel agencyUserModel,JSONObject object,String smsCode){
String content = Systemctl.smsTemplateClient.seleteOne(smsCode).getResult().getSmsContent();
String projectName = object.getString("projectName");
String problemDescribe = object.getString("problemDescribe");
if(!ValidationUtil.isEmpty(projectName)){
if(content.contains("${projectName}")) {
content = content.replace("${projectName}", projectName);
}
}
if(!ValidationUtil.isEmpty(problemDescribe)){
if(content.contains("${problemDescribe}")){
content = content.replace("${problemDescribe}",problemDescribe);
}
}
LambdaQueryWrapper<OrgUsr> wrapperQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrgUsr> wrapperQueryWrapper = new LambdaQueryWrapper<>();
wrapperQueryWrapper.eq(OrgUsr::getAmosOrgId,agencyUserModel.getSequenceNbr()); wrapperQueryWrapper.eq(OrgUsr::getAmosOrgId,agencyUserModel.getSequenceNbr());
RectifyMsg rectifyMsg = new RectifyMsg(); RectifyMsg rectifyMsg = new RectifyMsg();
...@@ -265,7 +352,13 @@ public class ProblemInitiationServiceImpl { ...@@ -265,7 +352,13 @@ public class ProblemInitiationServiceImpl {
rectifyMsgServiceImpl.save(rectifyMsg); rectifyMsgServiceImpl.save(rectifyMsg);
} }
/**
* 发送短信公用模板
* @param smsCode
* @param mobile
* @param smsParams
* @return
*/
public SmsRecordModel sendSmsMassage(String smsCode, String mobile, HashMap<String, String> smsParams){ public SmsRecordModel sendSmsMassage(String smsCode, String mobile, HashMap<String, String> smsParams){
SmsRecordModel smsRecordModel = new SmsRecordModel(); SmsRecordModel smsRecordModel = new SmsRecordModel();
......
...@@ -132,8 +132,6 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua ...@@ -132,8 +132,6 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua
} }
} }
this.updateById(quality);
return "0k"; return "0k";
} }
......
...@@ -44,4 +44,6 @@ amos.system.user.product=AMOS_STUDIO_WEB ...@@ -44,4 +44,6 @@ amos.system.user.product=AMOS_STUDIO_WEB
amos.system.user.app-key=AMOS_STUDIO amos.system.user.app-key=AMOS_STUDIO
supervisionRoleId=1582983768581369857 supervisionRoleId=1582983768581369857
installationRoleId=1585099284334800898 installationRoleId=1585099284334800898
\ No newline at end of file monitoringRoleId=1585099377079250946
constructionRoleId=1585099241989107713
\ 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