[新增] 上传报告流程开发

This commit is contained in:
bupengxiang
2023-05-04 16:30:42 +08:00
parent 6ed1a2d061
commit 9ba6760fef
16 changed files with 923 additions and 7 deletions
@@ -1,14 +1,19 @@
package com.adc.da.wkflow.business_activiti.service;
import com.adc.da.report.dao.mysql.PowerApplyActDao;
import com.adc.da.report.dao.mysql.TtReportManageActDao;
import com.adc.da.report.eo.PowerApplyAct;
import com.adc.da.report.eo.TtReportManageAct;
import com.adc.da.report.service.IPowerApplyActService;
import com.adc.da.report.service.ITtReportManageActService;
import com.adc.da.util.utils.StringUtils;
import com.alibaba.fastjson.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@@ -23,14 +28,18 @@ public class ActivitDefineService {
@Autowired
PowerApplyActDao powerApplyActDao;
@Autowired
TtReportManageActDao ttReportManageActDao;
@Autowired
ITtReportManageActService ttReportManageActService;
//保存data数据
public String saveOrUpdateDate(String prcType, String dataJson,String taskId,String prcId) {
String dataId = UUID.randomUUID().toString().replaceAll("-","");
if ("1".equals(prcType)){
List<PowerApplyAct> powerApplyActs = JSONObject.parseArray(dataJson, PowerApplyAct.class);
// LambdaQueryWrapper<PowerApplyAct> powerWrapper = new LambdaQueryWrapper<>();
// powerWrapper.eq(PowerApplyAct::getPrcId,prcId);
// powerApplyActDao.delete(powerWrapper);
for (PowerApplyAct powerApplyAct : powerApplyActs) {
powerApplyAct.setId(UUID.randomUUID().toString().replaceAll("-",""));
powerApplyAct.setDataId(dataId);
@@ -40,6 +49,29 @@ public class ActivitDefineService {
powerApplyAct.setCreateDate(new Date());
}
powerApplyActDao.batchInsert(powerApplyActs);
}else if ("2".equals(prcType)){
TtReportManageAct ttReportManageAct = JSONObject.parseObject(dataJson, TtReportManageAct.class);
ttReportManageAct.setDataId(dataId);
ttReportManageAct.setTaskId(taskId);
ttReportManageAct.setPrcId(prcId);
ttReportManageAct.setDelFlag(0);
ttReportManageAct.setCreateDate(new Date());
ttReportManageActService.saveOrUpdateSingle(ttReportManageAct);
//权限
List<PowerApplyAct> powerApplyActs = new ArrayList<>();
List<PowerApplyAct> powerList = ttReportManageAct.getPowerList();
for (PowerApplyAct powerApplyAct : powerList) {
if (StringUtils.isNotEmpty(powerApplyAct.getId())){
powerApplyAct.setId(UUID.randomUUID().toString().replaceAll("-",""));
powerApplyAct.setDataId(dataId);
powerApplyAct.setTaskId(taskId);
powerApplyAct.setPrcId(prcId);
powerApplyAct.setDelFlag(0);
powerApplyAct.setCreateDate(new Date());
powerApplyActs.add(powerApplyAct);
}
}
powerApplyActDao.batchInsert(powerApplyActs);
}
return dataId;
}
@@ -3,7 +3,9 @@ package com.adc.da.wkflow.business_activiti.task;
import cn.hutool.core.util.StrUtil;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.dao.mysql.PowerApplyActDao;
import com.adc.da.report.dao.mysql.TtReportManageActDao;
import com.adc.da.report.vo.PowerApplyActPageVO;
import com.adc.da.report.vo.TtReportManageActPageVO;
import com.adc.da.sys.service.iservice.IUserEoService;
import com.adc.da.sys.vo.UserVO;
import com.adc.da.util.exception.AdcDaBaseException;
@@ -109,6 +111,9 @@ public class TodoTaskController {
@Autowired
private PowerApplyActDao powerApplyActDao;
@Autowired
private TtReportManageActDao ttReportManageActDao;
@ApiOperation(value = "我的待办任务列表")
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"),
@ApiImplicitParam(name = "current", value = "当前页"),
@@ -393,6 +398,13 @@ public class TodoTaskController {
String string = JSONArray.toJSONString(powerApplyActs);
//去对应的 数据表查数据
busProcessNewVO.setDataJson(string);
}else if("2".equals(prcType)){
TtReportManageActPageVO ttReportManageActPageVO = ttReportManageActDao.selectByDataId(dataId);
List<PowerApplyActPageVO> powerApplyActs = powerApplyActDao.selectListBydataId(dataId);
ttReportManageActPageVO.setPowerList(powerApplyActs);
String string = JSONArray.toJSONString(ttReportManageActPageVO);
//去对应的 数据表查数据
busProcessNewVO.setDataJson(string);
}
return busProcessNewVO;
@@ -1,13 +1,12 @@
package com.adc.da.wkflow.enums;
import org.apache.commons.codec.binary.StringUtils;
/**
* 流程类型枚举类
*/
public enum FlowTypeEnum {
BGQXSQLC("1","报告权限申请流程","QXSQ","报告权限申请流程",""),
SCBGLC("2","上传报告流程","SCBG","上传报告流程",""),
;
private String value;
@@ -0,0 +1,57 @@
package com.adc.da.wkflow.listener.SCBG;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.dao.mysql.TtReportManageActDao;
import com.adc.da.report.eo.TtReportManageAct;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.adc.da.wkflow.business_main.service.IBusProcessNewService;
import com.adc.da.wkflow.util.SpringContextUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 上传报告 发起流程
*/
public class aid1 implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
TtReportManageActDao ttReportManageActDao = SpringContextUtil.getBean(TtReportManageActDao.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessApproveService approveService = SpringContextUtil.getBean(IBusProcessApproveService.class);
//查询task任务
LambdaQueryWrapper<TtReportManageAct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TtReportManageAct::getTaskId, delegateTask.getId());
List<TtReportManageAct> ttReportManageActs = ttReportManageActDao.selectList(queryWrapper);
TtReportManageAct ttReportManageAct = new TtReportManageAct();
if (ttReportManageActs.size()>0){
ttReportManageAct = ttReportManageActs.get(0);
}
//构建工作流代办
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setUserId(UserUtils.getUserId());
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setTaskInfo(delegateTask.getEventName());
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setDataId(ttReportManageAct.getDataId());
busBean.save(busProcessNew);
//审批结果
LambdaQueryWrapper<BusProcessApprove> approveWrapper = new LambdaQueryWrapper<>();
approveWrapper.eq(BusProcessApprove::getTaskId, delegateTask.getId());
List<BusProcessApprove> list = approveService.list(approveWrapper);
String fromValsJson = list.get(0).getFromValsJson();
JSONObject object = JSONObject.parseObject(fromValsJson);
//审批人
delegateTask.setVariable("oneApprove",object.getString("oneApprove"));
delegateTask.setVariable("twoApprove",object.getString("twoApprove"));
//发起人
delegateTask.setVariable("userId",object.getString("userId"));
}
}
@@ -0,0 +1,57 @@
package com.adc.da.wkflow.listener.SCBG;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.dao.mysql.TtReportManageActDao;
import com.adc.da.report.eo.TtReportManageAct;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.adc.da.wkflow.business_main.service.IBusProcessNewService;
import com.adc.da.wkflow.listener.FlagEnum;
import com.adc.da.wkflow.util.SpringContextUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 上传报告 发起流程
*/
public class aid2 implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
TtReportManageActDao ttReportManageActDao = SpringContextUtil.getBean(TtReportManageActDao.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessApproveService approveService = SpringContextUtil.getBean(IBusProcessApproveService.class);
//查询task任务
LambdaQueryWrapper<TtReportManageAct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TtReportManageAct::getTaskId, delegateTask.getId());
List<TtReportManageAct> ttReportManageActs = ttReportManageActDao.selectList(queryWrapper);
TtReportManageAct ttReportManageAct = new TtReportManageAct();
if (ttReportManageActs.size()>0){
ttReportManageAct = ttReportManageActs.get(0);
}
//构建工作流代办
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setUserId(UserUtils.getUserId());
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setTaskInfo(delegateTask.getEventName());
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setDataId(ttReportManageAct.getDataId());
busBean.save(busProcessNew);
//审批结果
LambdaQueryWrapper<BusProcessApprove> approveWrapper = new LambdaQueryWrapper<>();
approveWrapper.eq(BusProcessApprove::getTaskId, delegateTask.getId());
List<BusProcessApprove> list = approveService.list(approveWrapper);
String fromValsJson = list.get(0).getFromValsJson();
JSONObject object = JSONObject.parseObject(fromValsJson);
String s = object.getString("flag") == "" || object.getString("flag") == null ? FlagEnum.AGREE.getValue() : object.getString("flag");
// 1: 同意 2:退回
delegateTask.setVariable("flag",s);
}
}
@@ -0,0 +1,61 @@
package com.adc.da.wkflow.listener.SCBG;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.dao.mysql.TtReportManageActDao;
import com.adc.da.report.eo.TtReportManageAct;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.adc.da.wkflow.business_main.service.IBusProcessNewService;
import com.adc.da.wkflow.listener.FlagEnum;
import com.adc.da.wkflow.util.SpringContextUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 上传报告 发起流程
*/
public class aid3 implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
TtReportManageActDao ttReportManageActDao = SpringContextUtil.getBean(TtReportManageActDao.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessApproveService approveService = SpringContextUtil.getBean(IBusProcessApproveService.class);
//查询task任务
LambdaQueryWrapper<TtReportManageAct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TtReportManageAct::getTaskId, delegateTask.getId());
List<TtReportManageAct> ttReportManageActs = ttReportManageActDao.selectList(queryWrapper);
TtReportManageAct ttReportManageAct = new TtReportManageAct();
if (ttReportManageActs.size()>0){
ttReportManageAct = ttReportManageActs.get(0);
}
//构建工作流代办
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setUserId(UserUtils.getUserId());
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setTaskInfo(delegateTask.getEventName());
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setDataId(ttReportManageAct.getDataId());
busBean.save(busProcessNew);
//审批结果
LambdaQueryWrapper<BusProcessApprove> approveWrapper = new LambdaQueryWrapper<>();
approveWrapper.eq(BusProcessApprove::getTaskId, delegateTask.getId());
List<BusProcessApprove> list = approveService.list(approveWrapper);
String fromValsJson = list.get(0).getFromValsJson();
JSONObject object = JSONObject.parseObject(fromValsJson);
String s = object.getString("flag") == "" || object.getString("flag") == null ? FlagEnum.AGREE.getValue() : object.getString("flag");
// 1: 同意 2:退回
delegateTask.setVariable("flag",s);
if ("1".equals(s)){
//todo
// ttReportManageActDao.saveBatch(powerApplyActs);
}
}
}
@@ -0,0 +1,55 @@
package com.adc.da.wkflow.listener.SCBG;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.dao.mysql.TtReportManageActDao;
import com.adc.da.report.eo.TtReportManageAct;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.adc.da.wkflow.business_main.service.IBusProcessNewService;
import com.adc.da.wkflow.util.SpringContextUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import java.util.List;
/**
* 上传报告 发起流程
*/
public class aid4 implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
TtReportManageActDao ttReportManageActDao = SpringContextUtil.getBean(TtReportManageActDao.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessApproveService approveService = SpringContextUtil.getBean(IBusProcessApproveService.class);
//查询task任务
LambdaQueryWrapper<TtReportManageAct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TtReportManageAct::getTaskId, delegateTask.getId());
List<TtReportManageAct> ttReportManageActs = ttReportManageActDao.selectList(queryWrapper);
TtReportManageAct ttReportManageAct = new TtReportManageAct();
if (ttReportManageActs.size()>0){
ttReportManageAct = ttReportManageActs.get(0);
}
//构建工作流代办
BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setUserId(UserUtils.getUserId());
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setTaskInfo(delegateTask.getEventName());
busProcessNew.setTaskId(delegateTask.getId());
busProcessNew.setDataId(ttReportManageAct.getDataId());
busBean.save(busProcessNew);
//审批结果
LambdaQueryWrapper<BusProcessApprove> approveWrapper = new LambdaQueryWrapper<>();
approveWrapper.eq(BusProcessApprove::getTaskId, delegateTask.getId());
List<BusProcessApprove> list = approveService.list(approveWrapper);
String fromValsJson = list.get(0).getFromValsJson();
JSONObject object = JSONObject.parseObject(fromValsJson);
delegateTask.setVariable("oneApprove",object.getString("oneApprove"));
delegateTask.setVariable("twoApprove",object.getString("twoApprove"));
}
}
@@ -7,6 +7,7 @@ import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessNew;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.adc.da.wkflow.business_main.service.IBusProcessNewService;
import com.adc.da.wkflow.enums.FlowTypeEnum;
import com.adc.da.wkflow.util.SpringContextUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -35,12 +36,11 @@ public class aid1 implements TaskListener {
}
//构建工作流代办
BusProcessNew busProcessNew = new BusProcessNew();
// busProcessNew.setUserId(powerApplyAct.getUpdateUserId());
busProcessNew.setUserId(UserUtils.getUserId());
busProcessNew.setPId(delegateTask.getProcessInstanceId());
busProcessNew.setTaskInfo(delegateTask.getEventName());
busProcessNew.setTaskId(delegateTask.getId());
// busProcessNew.set(FlowTypeEnum.BGQXSQLC.getValue());
busProcessNew.set(FlowTypeEnum.BGQXSQLC.getValue());
busProcessNew.setDataId(powerApplyAct.getDataId());
busBean.save(busProcessNew);