Merge branch 'master' into lixuetao

# Conflicts:
#	adc-da-report/src/main/java/com/adc/da/report/dao/mysql/PowerApplyActDao.java
This commit is contained in:
bupengxiang
2023-05-04 16:34:39 +08:00
47 changed files with 1119 additions and 487 deletions
@@ -5,7 +5,6 @@ import com.adc.da.login.util.UserUtils;
import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.service.iservice.IUserEoService;
import com.adc.da.wkflow.business_activiti.service.ActivitDefineService;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessName;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.adc.da.wkflow.business_main.service.IBusProcessNameService;
@@ -217,13 +216,13 @@ public class ActivitDefineController {
ibusprocessnameService.save(one);
}
BusProcessApprove busProcessApprove = new BusProcessApprove();
busProcessApprove.setFromValsJson(JSON.toJSONString(approveData));
busProcessApprove.setTaskId(task.getId());
busProcessApprove.setCreateDate(new Date());
busProcessApprove.setPrcId(pi.getId());
busProcessApprove.setCreateUserId(UserUtils.getUserId());
ibusProcessApproveService.save(busProcessApprove);
// BusProcessApprove busProcessApprove = new BusProcessApprove();
// busProcessApprove.setFromValsJson(JSON.toJSONString(approveData));
// busProcessApprove.setTaskId(task.getId());
// busProcessApprove.setCreateDate(new Date());
// busProcessApprove.setPrcId(pi.getId());
// busProcessApprove.setCreateUserId(UserUtils.getUserId());
// ibusProcessApproveService.save(busProcessApprove);
log.info("启动流程实例,获取id-->{},实例名称-->{}", pi.getId(), pd.getName());
return WrapMapper.ok(task.getId());
}
@@ -83,7 +83,7 @@ public class TaskController {
BusProcessNew processNew = iBusProcessNewService.getOne(processNewQueryWrapper);
if(processNew!=null){
UserEO assignee = userEoService.getUserById(processNew.getUserId());
UserEO assignee = userEoService.getUserByIdNodel(processNew.getUserId());
if(assignee != null){
historicTaskInstance.put("assignee", assignee.getUsname());
historicTaskInstance.put("assigneeId", assignee.getUsid());
@@ -91,7 +91,7 @@ public class TaskController {
}
}else{
String assigneeId = historicTaskInstance.get("assignee").toString();
List<UserVO> userByIdList = userEoService.getUserByIdList(Arrays.asList(assigneeId));
List<UserVO> userByIdList = userEoService.getUserByIdListNodel(Arrays.asList(assigneeId));
if(userByIdList.size()>0){
UserVO assignee = userByIdList.get(0);
historicTaskInstance.put("assignee", assignee.getUsname());
@@ -97,7 +97,7 @@ public class TodoTaskController {
private IBusProcessEntrustService iBusProcessEntrustService;
@Resource
private IBusProcessApproveService iBusProcessApproveService;
private IBusProcessApproveService ibusProcessApproveService;
@Resource
private BusProcessApproveMapper busProcessApproveMapper;
@@ -209,12 +209,21 @@ public class TodoTaskController {
return WrapMapper.ok("改派成功");
}
/**
* 转办
* @param taskId
* @param assignee
* @param userId
* @param pId
* @return
*/
@ApiOperation(value = "新改派任务")
@ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"),
@ApiImplicitParam(name = "assignee", value = "被改派人员"), @ApiImplicitParam(name = "userId", value = "改派人员"),
@ApiImplicitParam(name = "pId", value = "流程实例ID")})
@GetMapping("/changeAssigneeNew")
public Wrapper<String> changeAssigneeNew(String taskId, String assignee, String userId, String pId) {
public Wrapper<String> changeAssigneeNew(String taskId, String assignee, String userId, String pId,
@RequestParam(required = false,value = "replaceMap")String replaceMap) {
List<String> list = Arrays.asList(taskId.split(","));
for (String str : list) {
@@ -235,21 +244,36 @@ public class TodoTaskController {
iBusProcessNewService.saveOrUpdate(busProcessNew);
}
}
BusProcessEntrust busProcessEntrust = new BusProcessEntrust();
busProcessEntrust.setEnUserId(assignee);
busProcessEntrust.setUserId(userId);
busProcessEntrust.setValidFlag("0");
busProcessEntrust.setPrcId(pId);
busProcessEntrust.setPrcName(one.getPrcName());
busProcessEntrust.setTaskId(str);
iBusProcessEntrustService.save(busProcessEntrust);
if (replaceMap == null) {
BusProcessEntrust busProcessEntrust = new BusProcessEntrust();
busProcessEntrust.setEnUserId(assignee);
busProcessEntrust.setUserId(userId);
busProcessEntrust.setValidFlag("0");
busProcessEntrust.setPrcId(pId);
busProcessEntrust.setPrcName(one.getPrcName());
busProcessEntrust.setTaskId(str);
iBusProcessEntrustService.save(busProcessEntrust);
}
}
}
//监控流程中 变更处理人为永久变更
if (replaceMap != null){
ibusProcessApproveService.changeAssignee(replaceMap,pId);
}
log.info("task {} find " + taskId);
return WrapMapper.ok("改派成功");
}
@ApiOperation(value = "查询当前任务", notes = "查询当前任务")
@ApiImplicitParams(@ApiImplicitParam(name = "taskId", value = "任务id"))
@GetMapping("/selectTask")
public ResponseMessage completeTaskByUserId(String taskId) {
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
HashMap<String, String> reMap = new HashMap<>();
reMap.put("taskId",task.getId());
reMap.put("assignee",task.getAssignee());
return Result.success(reMap);
}
@ApiOperation(value = "完成任务", notes = "流程单个节点任务,直接完成任务")
@ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"),
@@ -270,7 +294,7 @@ public class TodoTaskController {
busProcessApprove.setPrcId(task.getProcessInstanceId());
busProcessApprove.setCreateDate(new Date());
busProcessApprove.setFromValsJson(busMes.getSubmitJson());
iBusProcessApproveService.save(busProcessApprove);
ibusProcessApproveService.save(busProcessApprove);
if (StringUtils.isNotEmpty(dataJson)){
//根据业务情况 对业务数据进行saveOrupdate
activitDefineService.saveOrUpdateDate(busMes.getPrcType(),dataJson, task.getId(),task.getProcessInstanceId());
@@ -372,14 +396,15 @@ public class TodoTaskController {
*/
@ApiOperation(value = "详情")
@GetMapping("/queryDetail")
public ResponseMessage queryDetail(@RequestParam("prcId") String prcId,@RequestParam("prcType")String prcType) {
public ResponseMessage queryDetail(@RequestParam("prcId") String prcId, @RequestParam("prcType")String prcType,
@RequestParam("tag") Integer tag) {
List<BusProcessNew> busProcessNews = iBusProcessNewService.selectEOByTaskId(prcId);
if (busProcessNews.size() == 0) {
return null;
}
BusProcessNew busProcessNew = busProcessNews.get(0);
// 查找详细业务数据
BusProcessNewVO busProcessNewVO = this.queryDetailDate(busProcessNew, prcType);
BusProcessNewVO busProcessNewVO = this.queryDetailDate(busProcessNew, prcType,tag);
//审批数据
List<BusProcessApprove> busProcessApproves =
busProcessApproveMapper.selectEoByPrcIdAndTask(busProcessNewVO.getPId());
@@ -389,12 +414,52 @@ public class TodoTaskController {
return Result.success(busProcessNewVO);
}
private BusProcessNewVO queryDetailDate(BusProcessNew busProcessNew, String prcType) {
/**
* @param dataId
* @param prcType
*/
@ApiOperation(value = "草稿详情")
@GetMapping("/queryDetailByDataId")
public ResponseMessage queryDetailByDataId(@RequestParam("dataId") String dataId,
@RequestParam("prcType")String prcType,
@RequestParam(value = "prcId",required = false)String prcId) {
// 查找详细业务数据
BusProcessNewVO busProcessNewVO = this.queryDetailDateByDataId(dataId, prcType);
//审批数据
BusProcessApprove busProcessApprove = new BusProcessApprove();
if(StringUtils.isNotEmpty(prcId)){
List<BusProcessApprove> busProcessApproves = busProcessApproveMapper.selectEoByPrcIdAndTask(prcId);
busProcessApprove = busProcessApproves.get(0);
}else {
busProcessApprove = busProcessApproveMapper.selectEoByDataId(dataId);
}
busProcessNewVO.setSubmitJson(busProcessApprove.getFromValsJson());
return Result.success(busProcessNewVO);
}
private BusProcessNewVO queryDetailDateByDataId(String dataId, String prcType) {
BusProcessNewVO busProcessNewVO = new BusProcessNewVO();
if ("1".equals(prcType)){
List<PowerApplyActPageVO> powerApplyActs = powerApplyActDao.selectListBydataId(dataId);
String string = JSONArray.toJSONString(powerApplyActs);
//去对应的 数据表查数据
busProcessNewVO.setDataJson(string);
}
return busProcessNewVO;
}
private BusProcessNewVO queryDetailDate(BusProcessNew busProcessNew, String prcType, Integer tag) {
BusProcessNewVO busProcessNewVO = new BusProcessNewVO();
BeanUtils.copyProperties(busProcessNew,busProcessNewVO);
String dataId = busProcessNew.getDataId();
if ("1".equals(prcType)){
List<PowerApplyActPageVO> powerApplyActs = powerApplyActDao.selectListBydataId(dataId);
List<PowerApplyActPageVO> powerApplyActs = new ArrayList<>();
if (tag == 1){
//代办查看详情
powerApplyActs = powerApplyActDao.selectListBydataIdNodel(dataId);
}else {
powerApplyActs = powerApplyActDao.selectListBydataId(dataId);
}
String string = JSONArray.toJSONString(powerApplyActs);
//去对应的 数据表查数据
busProcessNewVO.setDataJson(string);
@@ -418,7 +483,9 @@ public class TodoTaskController {
@PostMapping("/saveTaskFirst")
public Wrapper<String> saveTaskFirst(@RequestBody ApproveDataVO approveDataVO) {
String dataJson = approveDataVO.getDataJson();
String submitJson = approveDataVO.getSubmitJson();
String saveId = null;
String dataId = null;
if (approveDataVO.getId() != null && !approveDataVO.getId().equals("")) {
saveId = approveDataVO.getId();
@@ -430,8 +497,14 @@ public class TodoTaskController {
List<BusProcessName> list = iBusProcessNameService.list(queryWrapper);
if (list != null && list.size() > 0) {
BusProcessName busProcessName = list.get(0);
busProcessName.setPrcName(approveDataVO.getPrcName());
busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue());
if (StringUtils.isNotEmpty(dataJson)){
//根据业务情况 对业务数据进行saveOrupdate
dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson, null,
null);
busProcessName.setDataId(dataId);
}
iBusProcessNameService.saveOrUpdate(busProcessName);
}
} else {
@@ -440,11 +513,12 @@ public class TodoTaskController {
BusProcessName busProcessName = new BusProcessName();
if (StringUtils.isNotEmpty(dataJson)) {
//根据业务情况 对业务数据进行saveOrupdate
String dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson,
dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson,
approveDataVO.getTaskId(),"");
busProcessName.setDataId(dataId);
}
busProcessName.setPrcType(approveDataVO.getPrcType());
busProcessName.setPrcName(approveDataVO.getPrcName());
busProcessName.setCreatUser(approveDataVO.getCreateUser());
busProcessName.setCreatTime(time);
busProcessName.setCreatUserName(approveDataVO.getCreateUserName());
@@ -456,10 +530,21 @@ public class TodoTaskController {
queryWrapper.eq("PRC_TYPE", approveDataVO.getPrcType());
queryWrapper.eq("CREAT_USER", approveDataVO.getCreateUser());
BusProcessName one = iBusProcessNameService.getOne(queryWrapper);
saveId = one.getId();
}
//存储审批数据
if (StringUtils.isNotEmpty(submitJson)){
BusProcessApprove busProcessApprove = busProcessApproveMapper.selectEoByDataId(dataId);
if (busProcessApprove == null){
busProcessApprove = new BusProcessApprove();
busProcessApprove.setDataId(dataId);
busProcessApprove.setCreateDate(new Date());
busProcessApprove.setCreateUserId(approveDataVO.getCreateUser());
}
busProcessApprove.setFromValsJson(submitJson);
ibusProcessApproveService.saveOrUpdate(busProcessApprove);
}
return WrapMapper.ok(saveId);
}
@@ -488,7 +573,7 @@ public class TodoTaskController {
*/
@ApiOperation(value = "查询草稿")
@PostMapping("/queryTaskDraft")
public List<BusProcessName> queryTaskDraft(@RequestBody TaskCommonQuery taskCommonQuery) {
public ResponseMessage queryTaskDraft(@RequestBody TaskCommonQuery taskCommonQuery) {
QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("CREAT_USER", taskCommonQuery.getUserId());
if (taskCommonQuery.getPrcNum() != null && !taskCommonQuery.getPrcNum().equals("")) {
@@ -505,8 +590,14 @@ public class TodoTaskController {
queryWrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.DRAFT.getValue());
queryWrapper.orderByDesc("CREAT_TIME");
Page page = new Page();
List<BusProcessName> list = iBusProcessNameService.list(queryWrapper);
return list;
List<BusProcessName> reList = this.startPage(list, taskCommonQuery.getCurrent(), taskCommonQuery.getSize());
page.setList(reList);
page.setPageNo(taskCommonQuery.getCurrent());
page.setPageSize(taskCommonQuery.getSize());
page.setCount((long) list.size());
return Result.success(page);
}
@ApiOperation(value = "查询流程是否结束", notes = "查询流程是否结束")
@@ -44,4 +44,7 @@ public class BusProcessApprove {
@TableField("FROM_VALS_JSON")
private String fromValsJson;
@TableField("DATA_ID")
private String dataId;
}
@@ -19,4 +19,7 @@ public interface BusProcessApproveMapper extends BaseMapper<BusProcessApprove> {
List<BusProcessApprove> selectEoByPrcIdAndTask(@Param("prcId") String prcId);
BusProcessApprove selectEoByDataId(@Param("dataId") String dataId);
BusProcessApprove selectEoByTask(@Param("taskId")String taskId);
}
@@ -4,6 +4,7 @@ import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* 审批历史业务类
* 用于审批历史的查询的存取
@@ -12,4 +13,10 @@ public interface IBusProcessApproveService extends IService<BusProcessApprove> {
List<BusProcessApprove> selectEoByPrcIdAndTask(String prcId);
/**
* 监控流程中 变更处理人为永久变更
* @param replaceMap
* @param pId
*/
void changeAssignee(String replaceMap,String pId);
}
@@ -3,6 +3,8 @@ package com.adc.da.wkflow.business_main.service.impl;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.mapper.BusProcessApproveMapper;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@@ -26,4 +28,19 @@ public class BusProcessApproveServiceImpl extends ServiceImpl<BusProcessApproveM
return baseMapper.selectEoByPrcIdAndTask(prcId);
}
@Override
public void changeAssignee(String replaceMap,String prcId) {
List<BusProcessApprove> busProcessApproves = baseMapper.selectEoByPrcIdAndTask(prcId);
BusProcessApprove busProcessApprove = busProcessApproves.get(0);
String fromValsJson = busProcessApprove.getFromValsJson();
JSONObject jsonObject = JSON.parseObject(fromValsJson);
String[] split = replaceMap.split(",");
String[] split1 = split[0].split(":");
String[] split2 = split[1].split(":");
jsonObject.replace(split1[0],split1[1]);
jsonObject.replace(split2[0],split2[1]);
busProcessApprove.setFromValsJson(jsonObject.toJSONString());
baseMapper.updateById(busProcessApprove);
}
}
@@ -32,4 +32,6 @@ public class ApproveDataVO {
private String dept;
private String prcName;
}
@@ -29,6 +29,7 @@ public class aid1 implements TaskListener {
//查询task任务
LambdaQueryWrapper<PowerApplyAct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PowerApplyAct::getTaskId, delegateTask.getId());
queryWrapper.eq(PowerApplyAct::getDelFlag, 0);
List<PowerApplyAct> powerApplyActs = powerApplyActDao.selectList(queryWrapper);
PowerApplyAct powerApplyAct = new PowerApplyAct();
if (powerApplyActs.size()>0){
@@ -29,6 +29,7 @@ public class aid2 implements TaskListener {
//查询task任务
LambdaQueryWrapper<PowerApplyAct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PowerApplyAct::getTaskId, delegateTask.getId());
queryWrapper.eq(PowerApplyAct::getDelFlag, 0);
List<PowerApplyAct> powerApplyActs = powerApplyActDao.selectList(queryWrapper);
PowerApplyAct powerApplyAct = new PowerApplyAct();
if (powerApplyActs.size()>0){
@@ -54,5 +55,8 @@ public class aid2 implements TaskListener {
String s = object.getString("flag") == "" || object.getString("flag") == null ? FlagEnum.AGREE.getValue() : object.getString("flag");
// 1: 同意 2:退回
delegateTask.setVariable("flag",s);
//审批人
delegateTask.setVariable("oneApprove",object.getString("oneApprove"));
delegateTask.setVariable("twoApprove",object.getString("twoApprove"));
}
}
@@ -2,8 +2,8 @@ package com.adc.da.wkflow.listener.powerApply;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.dao.mysql.PowerApplyActDao;
import com.adc.da.report.dao.mysql.PowerApplyDao;
import com.adc.da.report.eo.PowerApplyAct;
import com.adc.da.report.service.IPowerApplyService;
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;
@@ -25,12 +25,13 @@ public class aid3 implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
PowerApplyActDao powerApplyActDao = SpringContextUtil.getBean(PowerApplyActDao.class);
PowerApplyDao powerApplyDao = SpringContextUtil.getBean(PowerApplyDao.class);
IPowerApplyService iPowerApplyService = SpringContextUtil.getBean(IPowerApplyService.class);
IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class);
IBusProcessApproveService approveService = SpringContextUtil.getBean(IBusProcessApproveService.class);
//查询task任务
LambdaQueryWrapper<PowerApplyAct> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PowerApplyAct::getTaskId, delegateTask.getId());
queryWrapper.eq(PowerApplyAct::getDelFlag, 0);
List<PowerApplyAct> powerApplyActs = powerApplyActDao.selectList(queryWrapper);
PowerApplyAct powerApplyAct = new PowerApplyAct();
if (powerApplyActs.size()>0){
@@ -54,10 +55,13 @@ public class aid3 implements TaskListener {
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");
//审批人
delegateTask.setVariable("oneApprove",object.getString("oneApprove"));
delegateTask.setVariable("twoApprove",object.getString("twoApprove"));
// 1: 同意 2:退回
delegateTask.setVariable("flag",s);
if ("1".equals(s)){
powerApplyDao.saveBatch(powerApplyActs);
iPowerApplyService.saveBatch(powerApplyActs);
}
}
@@ -6,4 +6,10 @@
select * from bus_process_approve where prc_id = #{prcId}
Order by CREATE_DATE desc
</select>
<select id="selectEoByDataId" resultType="com.adc.da.wkflow.business_main.entity.BusProcessApprove">
select * from bus_process_approve where data_id =#{dataId}
</select>
<select id="selectEoByTask" resultType="com.adc.da.wkflow.business_main.entity.BusProcessApprove">
select * from bus_process_approve where task_id =#{taskId}
</select>
</mapper>