Commit bc9e962f authored by zhangyingbin's avatar zhangyingbin

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

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