Commit bc9e962f authored by zhangyingbin's avatar zhangyingbin

流程完成 及 质量问题更新接口优化

parent d6c233ef
...@@ -31,7 +31,7 @@ public class QualityProblemDto extends BaseDto { ...@@ -31,7 +31,7 @@ public class QualityProblemDto extends BaseDto {
private String generateStage; private String generateStage;
@ApiModelProperty(value = "问题描述") @ApiModelProperty(value = "问题描述")
private String desc; private String problemDescribe;
@ApiModelProperty(value = "问题等级") @ApiModelProperty(value = "问题等级")
private String level; private String level;
......
...@@ -43,8 +43,8 @@ public class QualityProblem extends BaseEntity { ...@@ -43,8 +43,8 @@ public class QualityProblem extends BaseEntity {
/** /**
* 问题描述 * 问题描述
*/ */
@TableField("desc") @TableField("problem_describe")
private String desc; private String problemDescribe;
/** /**
* 问题等级 * 问题等级
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils; 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 org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -36,6 +37,9 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType; ...@@ -36,6 +37,9 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
@RequestMapping(value = "/quality-problem") @RequestMapping(value = "/quality-problem")
public class QualityProblemController extends BaseController { public class QualityProblemController extends BaseController {
@Autowired
ProblemInitiationServiceImpl problemInitiationService;
@Autowired @Autowired
QualityProblemServiceImpl qualityProblemServiceImpl; QualityProblemServiceImpl qualityProblemServiceImpl;
...@@ -115,7 +119,7 @@ public class QualityProblemController extends BaseController { ...@@ -115,7 +119,7 @@ public class QualityProblemController extends BaseController {
* *
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@ApiOperation(httpMethod = "GET",value = "质量问题表列表全部数据查询", notes = "质量问题表列表全部数据查询") @ApiOperation(httpMethod = "GET",value = "质量问题表列表全部数据查询", notes = "质量问题表列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResponseModel<List<QualityProblemDto>> selectForList() { public ResponseModel<List<QualityProblemDto>> selectForList() {
...@@ -151,4 +155,18 @@ public class QualityProblemController extends BaseController { ...@@ -151,4 +155,18 @@ public class QualityProblemController extends BaseController {
return ResponseHelper.buildResponse(qualityProblemServiceImpl.getInfoBySequenceNbr(sequenceNbr)); return ResponseHelper.buildResponse(qualityProblemServiceImpl.getInfoBySequenceNbr(sequenceNbr));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@RequestMapping(value = "/start", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "启动流程", notes = "启动流程")
public ResponseModel<String> start(@RequestBody QualityProblem qualityProblem){
return ResponseHelper.buildResponse(problemInitiationService.start(qualityProblem));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@RequestMapping(value = "/execute", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "启动流程", notes = "启动流程")
public ResponseModel<String> execute(String instanceId,@RequestBody QualityProblem objectd, String option){
problemInitiationService.execute(instanceId,objectd,option);
return ResponseHelper.buildResponse("ok");
}
} }
...@@ -62,8 +62,8 @@ public class ProblemInitiationServiceImpl { ...@@ -62,8 +62,8 @@ public class ProblemInitiationServiceImpl {
@Value("${params.work.flow.problemDefinitionKey}") @Value("${params.work.flow.problemDefinitionKey}")
private String problemDefinitionKey; private String problemDefinitionKey;
@Transactional(rollbackFor = Exception.class)
public String start() { public String start(QualityProblem qualityProblem) {
String instanceId = null; String instanceId = null;
//启动流程 //启动流程
try { try {
...@@ -80,13 +80,14 @@ public class ProblemInitiationServiceImpl { ...@@ -80,13 +80,14 @@ public class ProblemInitiationServiceImpl {
e.printStackTrace(); e.printStackTrace();
System.out.println("流程启动失败:"+e.getMessage()); System.out.println("流程启动失败:"+e.getMessage());
} }
updateProBlemFlowStatus(instanceId); qualityProblem.setInstanceId(instanceId);
qualityProblem.setStatus(projectInitiationService.getFlowTaskName(instanceId));
qualityProblemService.updateById(qualityProblem);
return instanceId; return instanceId;
} }
@Transactional(rollbackFor = Exception.class) public void execute(String instanceId,QualityProblem objectd, String option){
public void execute(String instanceId,Object objectd, String option){
JSONObject object = JSONObject.parseObject(JSONObject.toJSONString(objectd)); JSONObject object = JSONObject.parseObject(JSONObject.toJSONString(objectd));
JSONObject jsonObject = workflowFeignService.getTask(instanceId); JSONObject jsonObject = workflowFeignService.getTask(instanceId);
ProjectInitiation projectInitiation = new ProjectInitiation(); ProjectInitiation projectInitiation = new ProjectInitiation();
...@@ -98,7 +99,7 @@ public class ProblemInitiationServiceImpl { ...@@ -98,7 +99,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); // sendSms(object);
} }
} }
...@@ -122,6 +123,8 @@ public class ProblemInitiationServiceImpl { ...@@ -122,6 +123,8 @@ public class ProblemInitiationServiceImpl {
} finally { } finally {
//更新problem中的status字段,表示当前流程下一个执行的任务 //更新problem中的status字段,表示当前流程下一个执行的任务
updateProBlemFlowStatus(instanceId); updateProBlemFlowStatus(instanceId);
QualityProblem quality = qualityProblemService.getById(objectd.getSequenceNbr());
objectd.setStatus(quality.getStatus());
} }
} }
...@@ -175,4 +178,9 @@ public class ProblemInitiationServiceImpl { ...@@ -175,4 +178,9 @@ public class ProblemInitiationServiceImpl {
qualityProblem.setStatus(projectInitiationService.getFlowTaskName(instanceId)); qualityProblem.setStatus(projectInitiationService.getFlowTaskName(instanceId));
qualityProblemService.updateById(qualityProblem); qualityProblemService.updateById(qualityProblem);
} }
public void updateProblemStatus(QualityProblem qualityProblem,Long sequenceNbr){
QualityProblem quality = qualityProblemService.getById(sequenceNbr);
qualityProblem.setStatus(quality.getStatus());
}
} }
...@@ -222,10 +222,11 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD ...@@ -222,10 +222,11 @@ public class ProjectInitiationServiceImpl extends BaseService<ProjectInitiationD
*/ */
public String getFlowTaskName(String instanceId){ public String getFlowTaskName(String instanceId){
JSONObject jsonObject = workflowFeignService.getTask(instanceId); JSONObject jsonObject = workflowFeignService.getTask(instanceId);
if (ValidationUtil.isEmpty(jsonObject)) { String taskName = "流程结束!";
return ""; try {
} taskName=jsonObject.getJSONObject("data").getString("name");
return jsonObject.getJSONObject("data").getString("name"); }catch (Exception e) {}
return taskName;
} }
public void updateProjectFlowStatus(String instanceId){ public void updateProjectFlowStatus(String instanceId){
......
...@@ -30,6 +30,9 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua ...@@ -30,6 +30,9 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua
QualityProblemMapper qualityProblemMapper; QualityProblemMapper qualityProblemMapper;
@Autowired @Autowired
ProblemInitiationServiceImpl problemInitiationService;
@Autowired
OrgServiceImpl orgService; OrgServiceImpl orgService;
/** /**
...@@ -72,43 +75,62 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua ...@@ -72,43 +75,62 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua
quality.setReformLimitDate(qualityProblem.getReformLimitDate()); quality.setReformLimitDate(qualityProblem.getReformLimitDate());
if(ProblemTypeEnum.一般问题.getCode().equals(quality.getLevel())){ if(ProblemTypeEnum.一般问题.getCode().equals(quality.getLevel())){
//流程执行一次 //流程执行一次
problemInitiationService.execute(quality.getInstanceId(),quality,"1");
} }
if(ProblemTypeEnum.重大问题.getCode().equals(quality.getLevel())){ if(ProblemTypeEnum.重大问题.getCode().equals(quality.getLevel())){
//流程执行两次 //流程执行两次
problemInitiationService.execute(quality.getInstanceId(),quality,"0");
problemInitiationService.execute(quality.getInstanceId(),quality,"1");
} }
} }else if(ProBlemProcessEnum.编制处理方案.getName().equals(quality.getStatus())) {
if(ProBlemProcessEnum.编制处理方案.getName().equals(quality.getStatus())) {
//编制处理方案 //编制处理方案
quality.setSolution(qualityProblem.getSolution()); quality.setSolution(qualityProblem.getSolution());
quality.setSolutionDesc(qualityProblem.getSolutionDesc()); quality.setSolutionDesc(qualityProblem.getSolutionDesc());
//执行一次 //执行一次
} problemInitiationService.execute(quality.getInstanceId(),quality,"1");
if(ProBlemProcessEnum.提交整改书.getName().equals(quality.getStatus())) { }else if (ProBlemProcessEnum.审查处理方案.getName().equals(quality.getStatus())){
//执行一次
problemInitiationService.execute(quality.getInstanceId(),quality,"1");
}else if(ProBlemProcessEnum.提交整改书.getName().equals(quality.getStatus())) {
//上传整改书 //上传整改书
quality.setReformDoc(qualityProblem.getReformDoc()); quality.setReformDoc(qualityProblem.getReformDoc());
quality.setReformDesc(qualityProblem.getReformDesc()); quality.setReformDesc(qualityProblem.getReformDesc());
quality.setRectifyWithinTime(quality.getReformLimitDate().after(new Date())); quality.setRectifyWithinTime(quality.getReformLimitDate().after(new Date()));
//审核通过 //审核通过
if (quality.getRectifyWithinTime()) { if (quality.getRectifyWithinTime()) {
quality.setReviewStatus(qualityProblem.getReviewStatus());
//执行流程 option=1 //执行流程 option=1
problemInitiationService.execute(quality.getInstanceId(),quality,"1");
} else { } else {
//执行两次流程 option=2 //执行两次流程 option=2
problemInitiationService.execute(quality.getInstanceId(),quality,"0");
problemInitiationService.execute(quality.getInstanceId(),quality,"1");
} }
} }else if(ProBlemProcessEnum.问题分类.getName().equals(quality.getProblemType())) {
if(ProBlemProcessEnum.问题分类.getName().equals(quality.getStatus())) {
quality.setHandingOpinion(qualityProblem.getHandingOpinion()); quality.setHandingOpinion(qualityProblem.getHandingOpinion());
quality.setHandingOpinionDesc(qualityProblem.getHandingOpinionDesc()); quality.setHandingOpinionDesc(qualityProblem.getHandingOpinionDesc());
//执行两次 //执行两次
} if(quality.getProblemType()){
if(ProBlemProcessEnum.审查整改过程.getName().equals(quality.getStatus())) { problemInitiationService.execute(quality.getInstanceId(),quality,"0");
}else {
problemInitiationService.execute(quality.getInstanceId(),quality,"1");
problemInitiationService.execute(quality.getInstanceId(),quality,"1");
}
}else if(ProBlemProcessEnum.审查整改过程.getName().equals(quality.getStatus())) {
quality.setHandingOpinion(qualityProblem.getHandingOpinion());
quality.setHandingOpinionDesc(qualityProblem.getHandingOpinionDesc());
quality.setReviewStatus(qualityProblem.getReviewStatus()); quality.setReviewStatus(qualityProblem.getReviewStatus());
if(ProblemTypeEnum.存在问题.equals(quality.getReviewStatus())){ if(ProblemTypeEnum.不存在问题.getCode().equals(quality.getReviewStatus())){
if(ProblemTypeEnum.一般问题.getName().equals(quality.getLevel())){ if(ProblemTypeEnum.一般问题.getName().equals(quality.getLevel())){
//执行一次 //执行一次
problemInitiationService.execute(quality.getInstanceId(),quality,"1");
}else { }else {
//执行两次 //执行两次
problemInitiationService.execute(quality.getInstanceId(),quality,"2");
problemInitiationService.execute(quality.getInstanceId(),quality,"1");
} }
}else {
problemInitiationService.execute(quality.getInstanceId(),quality,"0");
} }
} }
...@@ -116,6 +138,7 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua ...@@ -116,6 +138,7 @@ public class QualityProblemServiceImpl extends BaseService<QualityProblemDto,Qua
return "0k"; return "0k";
} }
@Override
public QualityProblemDto getInfoBySequenceNbr(String sequenceNbr){ public QualityProblemDto getInfoBySequenceNbr(String sequenceNbr){
return qualityProblemMapper.getInfoBySequenceNbr(sequenceNbr); return qualityProblemMapper.getInfoBySequenceNbr(sequenceNbr);
} }
......
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