修复工作流全部错误完成(都添加了TODO)

This commit is contained in:
xuetao.li
2023-04-17 17:51:27 +08:00
parent 0d878d45cb
commit 61c65f1b50
30 changed files with 368 additions and 465 deletions
@@ -3,7 +3,6 @@ package com.adc.da.sys.dao.mysql;
import java.util.List; import java.util.List;
import com.adc.da.sys.vo.UserRoleVO; import com.adc.da.sys.vo.UserRoleVO;
import com.adc.da.sys.vo.ddm.DdmRoleUserQuery;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -1,9 +1,7 @@
package com.adc.da.sys.dao.mysql; package com.adc.da.sys.dao.mysql;
import com.adc.da.base.dao.BaseDao; import com.adc.da.base.dao.BaseDao;
import com.adc.da.sys.entity.RoleEO;
import com.adc.da.sys.entity.RoleMenuEO; import com.adc.da.sys.entity.RoleMenuEO;
import com.adc.da.sys.vo.ddm.DdmMenuVO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@@ -19,5 +17,4 @@ public interface RoleMenuEODao extends BaseDao<RoleMenuEO> {
List<RoleMenuEO> getRoleMenuList(@Param("roleId") String roleId); List<RoleMenuEO> getRoleMenuList(@Param("roleId") String roleId);
List<DdmMenuVO> getRoleMenuInfoList(@Param("roleId") String roleId);
} }
@@ -4,8 +4,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import com.adc.da.sys.vo.UserVO; import com.adc.da.sys.vo.UserVO;
import com.adc.da.sys.vo.ddm.DdmUserQueryVO;
import com.adc.da.sys.vo.ddm.DdmUserVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -39,10 +37,6 @@ public interface UserEODao extends BaseMapper<UserEO> {
// 根据account获取未逻辑删除的UserEO // 根据account获取未逻辑删除的UserEO
UserEO getUserEOByAccountNotDeleted(String account); UserEO getUserEOByAccountNotDeleted(String account);
IPage<DdmUserVO> getUserPage(IPage page, @Param("userAccount") String account, @Param("userName") String userName);
Long getUserCount(DdmUserQueryVO ddmUserQueryVO);
int insertUserBatch(@Param("userEOList") List<UserEO> userEOList); int insertUserBatch(@Param("userEOList") List<UserEO> userEOList);
List<Map<String, Object>> allList( @Param("account") String account, @Param("roleName") String roleName); List<Map<String, Object>> allList( @Param("account") String account, @Param("roleName") String roleName);
@@ -2,29 +2,12 @@ package com.adc.da.sys.service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.adc.da.sys.dao.mysql.*; import com.adc.da.sys.dao.mysql.*;
import com.adc.da.sys.entity.*; import com.adc.da.sys.entity.*;
import com.adc.da.sys.vo.MenuVO;
import com.adc.da.sys.vo.UserRoleVO;
import com.adc.da.sys.vo.ddm.DdmMenuVO;
import com.adc.da.sys.vo.ddm.DdmRoleMenuCreateVO;
import com.adc.da.sys.vo.ddm.DdmRoleUserQuery;
import com.adc.da.sys.vo.ddm.DdmUserVO;
import com.adc.da.util.exception.AdcDaBaseException;
import com.adc.da.util.http.PageInfo;
import com.adc.da.util.utils.BeanMapper; import com.adc.da.util.utils.BeanMapper;
import com.adc.da.util.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.adc.da.base.service.BaseService; import com.adc.da.base.service.BaseService;
@@ -147,32 +130,6 @@ public class RoleEOService extends BaseService<RoleEO, String> {
return dao.getUserRoleListByRoleId(roleId); return dao.getUserRoleListByRoleId(roleId);
} }
/**
* 查询角色所对应的用户
*
* @param roleId 角色id
* @return 角色信息
*/
@Transactional(readOnly = true)
public List<UserRoleVO> getUserInfoListByRoleId(String roleId) {
return dao.getUserInfoListByRoleId(roleId);
}
@Transactional(readOnly = true)
public PageInfo<UserRoleVO> getUserInfoPageByRoleId(DdmRoleUserQuery query) {
IPage page = new Page();
page.setCurrent(query.getPageNum());
page.setSize(query.getPageSize());
IPage<UserRoleVO> userInfoList = dao.getUserInfoPageByRoleId(page, query.getRoleId());
Long count = dao.getUserCountByRoleId(query.getRoleId());
PageInfo<UserRoleVO> pageInfo = new PageInfo();
pageInfo.setPageSize(query.getPageSize());
pageInfo.setCount(count);
pageInfo.setList(userInfoList.getRecords());
return pageInfo;
}
/** /**
* 设置角色菜单关联 * 设置角色菜单关联
* *
@@ -10,10 +10,7 @@ import com.adc.da.sys.service.iservice.IUserEoService;
import com.adc.da.sys.util.EncryptUtil; import com.adc.da.sys.util.EncryptUtil;
import com.adc.da.sys.vo.UserImportVO; import com.adc.da.sys.vo.UserImportVO;
import com.adc.da.sys.vo.UserVO; import com.adc.da.sys.vo.UserVO;
import com.adc.da.sys.vo.ddm.DdmUserQueryVO;
import com.adc.da.sys.vo.ddm.DdmUserVO;
import com.adc.da.util.exception.AdcDaBaseException; import com.adc.da.util.exception.AdcDaBaseException;
import com.adc.da.util.http.PageInfo;
import com.adc.da.util.utils.*; import com.adc.da.util.utils.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -191,20 +188,6 @@ public class UserEOServiceImpl implements IUserEoService {
return userEO; return userEO;
} }
@Transactional(readOnly = true)
public PageInfo<DdmUserVO> getUserPage(DdmUserQueryVO query) {
IPage page = new Page();
page.setCurrent(query.getPageNum());
page.setSize(query.getPageSize());
IPage<DdmUserVO> userPage = dao.getUserPage(page,query.getUserAccount(),query.getUserName());
Long count = dao.getUserCount(query);
PageInfo<DdmUserVO> pageInfo = new PageInfo();
pageInfo.setPageSize(query.getPageSize());
pageInfo.setCount(count);
pageInfo.setList(userPage.getRecords());
return pageInfo;
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void importExcelUser(List<UserImportVO> list) { public void importExcelUser(List<UserImportVO> list) {
@@ -3,9 +3,6 @@ package com.adc.da.sys.service.iservice;
import com.adc.da.sys.entity.UserEO; import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.vo.UserImportVO; import com.adc.da.sys.vo.UserImportVO;
import com.adc.da.sys.vo.UserVO; import com.adc.da.sys.vo.UserVO;
import com.adc.da.sys.vo.ddm.DdmUserQueryVO;
import com.adc.da.sys.vo.ddm.DdmUserVO;
import com.adc.da.util.http.PageInfo;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.adc.da.sys.entity.RoleEO; import com.adc.da.sys.entity.RoleEO;
import com.adc.da.sys.vo.iam.orgsIAM;
import lombok.Data; import lombok.Data;
@@ -46,5 +47,9 @@ public class UserVO {
private List<String> roleIdList = new ArrayList<>(); private List<String> roleIdList = new ArrayList<>();
/**
* 部门列表
*/
private List<orgsIAM> orgList = new ArrayList();
} }
@@ -1,13 +0,0 @@
package com.adc.da.sys.vo.ddm;
import lombok.Data;
@Data
public class DdmMenuVO {
//菜单id
private String modelId;
//菜单父Id
private String parentModelId;
//菜单名称
private String modelName;
}
@@ -1,18 +0,0 @@
package com.adc.da.sys.vo.ddm;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class DdmRoleMenuCreateVO {
//菜单id
@NotBlank(message = "菜单id不能为空")
private String modelId;
//菜单父Id
@NotBlank(message = "菜单父id不能为空")
private String parentModelId;
//角色id
@NotBlank(message = "角色id不能为空")
private String roleId;
}
@@ -1,10 +0,0 @@
package com.adc.da.sys.vo.ddm;
import lombok.Data;
@Data
public class DdmRoleUserQuery {
private String roleId;
private Integer pageNum;
private Integer pageSize;
}
@@ -1,14 +0,0 @@
package com.adc.da.sys.vo.ddm;
import lombok.Data;
@Data
public class DdmUserQueryVO {
private String userAccount;
private String userName;
private Integer pageNum;
private Integer pageSize;
}
@@ -1,18 +0,0 @@
package com.adc.da.sys.vo.ddm;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class DdmUserVO {
private String userId;
private String userName;
private String userAccount;
}
@@ -0,0 +1,14 @@
package com.adc.da.sys.vo.iam;
import lombok.Data;
@Data
public class orgsIAM {
private String orgCode; // 组织编码
private String orgName; // 部门名称
private String orgShortName; // 部门简称
}
@@ -75,17 +75,4 @@
select role_id,menu_id from TR_ROLE_MENU where role_id=#{roleId} select role_id,menu_id from TR_ROLE_MENU where role_id=#{roleId}
</select> </select>
<select id="getRoleMenuInfoList" resultType="com.adc.da.sys.vo.ddm.DdmMenuVO">
SELECT
t1.role_id ,
t1.menu_id modelId,
t2.`NAME` modelName,
t2.PARENT_ID parentModelId
FROM
TR_ROLE_MENU t1
LEFT JOIN TS_MENU t2 ON t1.MENU_ID = t2.ID
WHERE
t1.role_id = #{roleId}
</select>
</mapper> </mapper>
@@ -19,22 +19,6 @@
</select> </select>
<select id="getUserPage" resultType="com.adc.da.sys.vo.ddm.DdmUserVO">
select t1.USID userId,t1.ACCOUNT userAccount,t1.USNAME userName,t1.CELLPHONE_NUMBER,t1.EMAIL,t1.ISUSE,t1.DEPARTMENT,
date_format(t1.UPDATE_TIME,'%Y-%m-%d %H:%i:%S')CREATEDATE from TS_USER t1
where t1.del_flag='0'
<if test="userAccount !='' and userAccount !=null">
and t1.ACCOUNT like "%"#{userAccount}"%"
</if>
<if test="userName !='' and userName !=null">
and t1.USNAME like "%"#{userName}"%"
</if>
ORDER BY t1.UPDATE_TIME DESC
</select>
<select id="getUserCount" resultType="java.lang.Long"> <select id="getUserCount" resultType="java.lang.Long">
select count(*) from TS_USER t1 select count(*) from TS_USER t1
where t1.del_flag='0' where t1.del_flag='0'
@@ -3,6 +3,7 @@ package com.adc.da.wkflow.business_activiti.task;
import com.adc.da.sys.entity.UserEO; import com.adc.da.sys.entity.UserEO;
import com.adc.da.sys.service.UserEOServiceImpl; import com.adc.da.sys.service.UserEOServiceImpl;
import com.adc.da.sys.service.iservice.IUserEoService; import com.adc.da.sys.service.iservice.IUserEoService;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.adc.da.wkflow.business_main.service.IBusProcessNewService; import com.adc.da.wkflow.business_main.service.IBusProcessNewService;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -46,6 +47,12 @@ public class TaskController {
@Autowired @Autowired
private IBusProcessNewService iBusProcessNewService; private IBusProcessNewService iBusProcessNewService;
@Autowired
private IBusProcessApproveService iBusProcessEntrustService;
@Autowired
private IBusProcessApproveService iBusProcessApproveService;
@ApiOperation(value = "流程实例明细列表") @ApiOperation(value = "流程实例明细列表")
@ApiImplicitParam(name = "prcNum", value = "流程实例id") @ApiImplicitParam(name = "prcNum", value = "流程实例id")
@GetMapping("/get_list_by_instance") @GetMapping("/get_list_by_instance")
@@ -89,37 +96,38 @@ public class TaskController {
if(assignee != null){ if(assignee != null){
historicTaskInstance.put("assignee", assignee.getUsname()); historicTaskInstance.put("assignee", assignee.getUsname());
historicTaskInstance.put("assigneeId", assignee.getUsid()); historicTaskInstance.put("assigneeId", assignee.getUsid());
historicTaskInstance.put("orgName",assignee.getData().getOrgName()); // TODO 部门同步完成后,补充部门数据
// historicTaskInstance.put("orgName",assignee.getData().getOrgName());
QueryWrapper queryWrapper2 = new QueryWrapper(); QueryWrapper queryWrapper2 = new QueryWrapper();
queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id")); queryWrapper2.eq("TASK_ID",historicTaskInstance.get("id"));
queryWrapper2.orderByAsc("CREATE_TIME"); queryWrapper2.orderByAsc("CREATE_TIME");
List<BusProcessEntrust> list1 = iBusProcessEntrustService.list(queryWrapper2); List<BusProcessEntrust> list1 = iBusProcessEntrustService.list(queryWrapper2);
String str = ""; String str = "";
if(list1.size()>0){ if(list1.size()>0){
ResponseMessage<UserVO> assignee1 = userEoService.getUserById(list1.get(0).getUserId()); UserEO assigneenActual = userEoService.getUserById(list1.get(0).getUserId());
historicTaskInstance.put("assignee", assignee.getData().getUname()+"("+assignee1.getData().getUname()+" 委托)"); historicTaskInstance.put("assignee", assignee.getUsname()+"(" + assigneenActual.getUsname() + " 委托)");
} }
} }
} }
historicTaskInstance.put("prcType",one.getPrcType()); historicTaskInstance.put("prcType",one.getPrcType());
historicTaskInstance.put("prcName",one.getPrcName()); historicTaskInstance.put("prcName",one.getPrcName());
historicTaskInstance.put("prcNum",one.getPrcNum()); historicTaskInstance.put("prcNum",one.getPrcNum());
QueryWrapper queryWrapper1 = new QueryWrapper(); // QueryWrapper queryWrapper1 = new QueryWrapper();
queryWrapper1.eq("TASK_ID",historicTaskInstance.get("id")); // queryWrapper1.eq("TASK_ID",historicTaskInstance.get("id"));
List<BusProcessNew> list1 = iBusProcessNewService.list(queryWrapper1); // List<BusProcessNew> list1 = iBusProcessNewService.list(queryWrapper1);
if(list1.size()>0){ // if(list1.size()>0){
historicTaskInstance.put("comment",list1.get(0).getCommitFlag()); // historicTaskInstance.put("comment",list1.get(0).getCommitFlag());
historicTaskInstance.put("commentText",list1.get(0).getCommitText()); // historicTaskInstance.put("commentText",list1.get(0).getCommitText());
}else{ // }else{
historicTaskInstance.put("comment",""); // historicTaskInstance.put("comment","");
historicTaskInstance.put("commentText",""); // historicTaskInstance.put("commentText","");
} // }
QueryWrapper<Datas> datasQueryWrapper = new QueryWrapper<>(); QueryWrapper<BusProcessApprove> datasQueryWrapper = new QueryWrapper<>();
datasQueryWrapper.lambda().eq(Datas::getActiTaskId,historicTaskInstance.get("id")); datasQueryWrapper.lambda().eq(BusProcessApprove::getTaskId,historicTaskInstance.get("id"));
List<Datas> datasList = iDatasService.list(datasQueryWrapper); List<BusProcessApprove> approveList = iBusProcessApproveService.list(datasQueryWrapper);
if(datasList.size()>0){ if(approveList.size()>0){
Map<String,String> formValsJsonMap = JSONObject.parseObject(datasList.get(0).getFormValsJson(),Map.class); Map<String,String> formValsJsonMap = JSONObject.parseObject(approveList.get(0).getFromValsJson(),Map.class);
historicTaskInstance.put("approvalOpinion",formValsJsonMap.get("approvalOpinion")); historicTaskInstance.put("approvalOpinion",formValsJsonMap.get("approvalOpinion"));
historicTaskInstance.put("approvalResult",formValsJsonMap.get("flag")!=null ? formValsJsonMap.get("flag"):""); historicTaskInstance.put("approvalResult",formValsJsonMap.get("flag")!=null ? formValsJsonMap.get("flag"):"");
historicTaskInstance.put("approvalFile",formValsJsonMap.get("approvalFile")!=null ? formValsJsonMap.get("approvalFile"):""); historicTaskInstance.put("approvalFile",formValsJsonMap.get("approvalFile")!=null ? formValsJsonMap.get("approvalFile"):"");
@@ -29,6 +29,7 @@ import org.activiti.engine.*;
import org.activiti.engine.history.HistoricActivityInstance; import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.HistoricIdentityLink; import org.activiti.engine.history.HistoricIdentityLink;
import org.activiti.engine.history.HistoricTaskInstance; import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.impl.RepositoryServiceImpl;
import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity; import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
import org.activiti.engine.impl.persistence.entity.TaskEntity; import org.activiti.engine.impl.persistence.entity.TaskEntity;
import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.repository.ProcessDefinition;
@@ -63,9 +64,6 @@ public class TodoTaskController extends BaseAction {
@Autowired @Autowired
private TaskTodoService taskTodoService; private TaskTodoService taskTodoService;
@Autowired
private FormValsService formValsService;
@Autowired @Autowired
private IBusProcessNewService iBusProcessNewService; private IBusProcessNewService iBusProcessNewService;
@@ -78,6 +76,9 @@ public class TodoTaskController extends BaseAction {
@Autowired @Autowired
private IBusProcessEntrustService iBusProcessEntrustService; private IBusProcessEntrustService iBusProcessEntrustService;
@Autowired
private IBusProcessApproveService iBusProcessApproveService;
@Autowired @Autowired
private IUserEoService userEoService; private IUserEoService userEoService;
@@ -145,9 +146,9 @@ public class TodoTaskController extends BaseAction {
if(StringUtils.isNotEmpty(taskIds)){ if(StringUtils.isNotEmpty(taskIds)){
taskIds = taskIds.substring(0,taskIds.length()-1); taskIds = taskIds.substring(0,taskIds.length()-1);
} }
busProcessName.setTaskIds(taskIds); // TODO 处理单个任务id的情况
busProcessName.setTaskId(taskIds);
busProcessName.setTaskInfo(entry.getValue().get(0).get("name").toString()); busProcessName.setTaskInfo(entry.getValue().get(0).get("name").toString());
busProcessName.setMes(null);
busProcessName.setTaskDefinitionKey(entry.getValue().get(0).get("taskDefinitionKey").toString()); busProcessName.setTaskDefinitionKey(entry.getValue().get(0).get("taskDefinitionKey").toString());
todoList.add(busProcessName); todoList.add(busProcessName);
} }
@@ -160,7 +161,7 @@ public class TodoTaskController extends BaseAction {
@ApiImplicitParam(name = "assignee", value = "改派人员")}) @ApiImplicitParam(name = "assignee", value = "改派人员")})
@GetMapping("/changeAssignee") @GetMapping("/changeAssignee")
public Wrapper<String> run(String taskId, String assignee) { public Wrapper<String> run(String taskId, String assignee) {
taskService.setAssignee(taskId, assignee); this.taskService.setAssignee(taskId, assignee);
logger.info("task {} find " + taskId); logger.info("task {} find " + taskId);
return WrapMapper.ok("改派成功"); return WrapMapper.ok("改派成功");
@@ -221,12 +222,13 @@ public class TodoTaskController extends BaseAction {
taskService.claim(busMes.getTaskId(), busMes.getUserId()); taskService.claim(busMes.getTaskId(), busMes.getUserId());
} }
// TODO 存储表单json到对应的 审批历史表 // TODO 存储表单json到对应的 审批历史表(BusProcessApprove)中 --- start
FormSubmitDto formSubmitDto = new FormSubmitDto(); // FormSubmitDto formSubmitDto = new FormSubmitDto();
formSubmitDto.setForm(busMes.getJson()); // formSubmitDto.setForm(busMes.getJson());
formSubmitDto.setTask_id(busMes.getTaskId()); // formSubmitDto.setTask_id(busMes.getTaskId());
//
formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); // formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey());
// TODO 存储表单json到对应的 审批历史表中 --- end
taskService.complete(busMes.getTaskId()); taskService.complete(busMes.getTaskId());
} }
@@ -333,136 +335,64 @@ public class TodoTaskController extends BaseAction {
} }
BusProcessNew processNew = new BusProcessNew(); BusProcessNew processNew = new BusProcessNew();
JSONObject object = JSONObject.parseObject(list.get(0).getMesg()); // TODO 去对应的业务表中找相应的ID --- start
object.put("taskId", list.get(0).getTaskId()); // JSONObject object = JSONObject.parseObject(list.get(0).getMesg());
BeanUtils.copyProperties(list.get(0), processNew); // object.put("taskId", list.get(0).getTaskId());
processNew.setMesg(object.toJSONString()); // BeanUtils.copyProperties(list.get(0), processNew);
// processNew.setMesg(object.toJSONString());
// TODO 去对应的业务表中找相应的ID --- end
return processNew; return processNew;
} }
@ApiOperation(value = "保存任务")
@PostMapping("/saveinboundTask")
public Wrapper<String> saveinboundTask(@RequestBody ApproveDataVO busMes) {
BusProcessNew processNew = new BusProcessNew();
if (busMes.getTaskIds() != null && !busMes.getTaskIds().equals("")) {
List<String> list = Arrays.asList(busMes.getTaskIds().split(","));
JSONObject ooo = JSONObject.parseObject(busMes.getJson());
for (String str : list) {
JSONArray taskBreak = JSONObject.parseObject(busMes.getJson()).getJSONArray("taskBreak");
int k = 0;
for (Object obj : taskBreak) {
JSONArray itemsList = ((JSONObject) obj).getJSONArray("itemsList");
if (itemsList.size() > 0) {
//有条款
JSONArray items = new JSONArray();
for (int i = 0; i < itemsList.size(); i++) {
JSONObject item = itemsList.getJSONObject(i);
if (item.getString("taskId").equals(str)) {
JSONObject data = item;
JSONArray array = new JSONArray();
array.add(data);
JSONObject.parseObject(busMes.getJson()).put("itemsList", array);
((JSONObject) obj).put("itemsList", array);
JSONArray array1 = new JSONArray();
array1.add(obj);
ooo.put("taskBreak", array1);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("task_id", str);
processNew = iBusProcessNewService.getOne(queryWrapper);
processNew.setMesg(JSON.toJSONString(ooo, SerializerFeature.DisableCircularReferenceDetect));
iBusProcessNewService.saveOrUpdate(processNew);
}
}
} else {
//没条款
Map map = ((Map) obj);
if (map.get("taskId").toString().equals(str)) {
JSONObject data = (JSONObject) map;
JSONArray array = new JSONArray();
array.add(data);
ooo.put("taskBreak", array);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("task_id", str);
processNew = iBusProcessNewService.getOne(queryWrapper);
processNew.setMesg(JSON.toJSONString(ooo, SerializerFeature.DisableCircularReferenceDetect));
iBusProcessNewService.saveOrUpdate(processNew);
}
}
k++;
}
}
}
return WrapMapper.ok("保存成功");
}
/**
* 本接口仅提供法规系统调用
*
* @param busMes
*/
@ApiOperation(value = "公共保存")
@PostMapping("/saveTaskForPub")
public Wrapper<String> saveTaskForPub(@RequestBody ApproveDataVO busMes) {
JSONObject object = JsonUtil.jsonStrToJsonObject(busMes.getJson());
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("TASK_ID", busMes.getTaskIds().substring(0, busMes.getTaskIds().length() - 1));
List<BusProcessNew> busProcessNewList = iBusProcessNewService.list(queryWrapper);
if (busProcessNewList != null && !busProcessNewList.isEmpty()) {
BusProcessNew one = busProcessNewList.get(0);
one.setMesg(object.toString());
iBusProcessNewService.saveOrUpdate(one);
return WrapMapper.ok("保存成功");
}
return WrapMapper.error("保存失败");
}
/** /**
* 保存任务第一步 * 保存任务第一步
* *
* @param busMes
*/ */
@ApiOperation(value = "保存任务第一步") @ApiOperation(value = "保存任务第一步")
@PostMapping("/saveTaskFirst") @PostMapping("/saveTaskFirst")
public Wrapper<String> saveTaskFirst(@RequestBody ApproveDataVO busMes) { public Wrapper<String> saveTaskFirst(@RequestBody ApproveDataVO approveDataVO) {
ApproveDataVO busMes1 = new ApproveDataVO(); String saveId = null;
if (busMes.getId() != null && !busMes.getId().equals("")) { if (approveDataVO.getId() != null && !approveDataVO.getId().equals("")) {
busMes1.setId(busMes.getId()); saveId = approveDataVO.getId();
QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>(); QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("CREAT_USER", busMes.getCreateUser()); queryWrapper.eq("CREAT_USER", approveDataVO.getCreateUser());
queryWrapper.eq("PRC_TYPE", busMes.getPrcType()); queryWrapper.eq("PRC_TYPE", approveDataVO.getPrcType());
queryWrapper.eq("ID", busMes.getId()); queryWrapper.eq("ID", approveDataVO.getId());
queryWrapper.isNull("PRC_ID"); queryWrapper.isNull("PRC_ID");
List<BusProcessName> list = iBusProcessNameService.list(queryWrapper); List<BusProcessName> list = iBusProcessNameService.list(queryWrapper);
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
BusProcessName busProcessName = list.get(0); BusProcessName busProcessName = list.get(0);
busProcessName.setMes(busMes.getJson()); // TODO 先存到业务表单中,再存入busProcessName --start
busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); // busProcessName.setMes(approveDataVO.getSubmitJson());
iBusProcessNameService.saveOrUpdate(busProcessName); // busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue());
// iBusProcessNameService.saveOrUpdate(busProcessName);
// TODO 先存到业务表单中,再存入busProcessName --end
} }
} else { } else {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(new Date()); String time = sdf.format(new Date());
BusProcessName busProcessName = new BusProcessName(); BusProcessName busProcessName = new BusProcessName();
busProcessName.setPrcType(busMes.getPrcType()); // TODO 先存到业务表单中,再存入busProcessName --start
busProcessName.setCreatUser(busMes.getCreateUser()); // busProcessName.setPrcType(busMes.getPrcType());
busProcessName.setCreatTime(time); // busProcessName.setCreatUser(busMes.getCreateUser());
busProcessName.setMes(busMes.getJson()); // busProcessName.setCreatTime(time);
busProcessName.setCreatUserName(busMes.getCreateUserName()); // busProcessName.setMes(busMes.getJson());
busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); // busProcessName.setCreatUserName(busMes.getCreateUserName());
iBusProcessNameService.save(busProcessName); // busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue());
QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>(); // iBusProcessNameService.save(busProcessName);
queryWrapper.eq("CREAT_TIME", time); // QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("CREATE_USER_NAME", busMes.getCreateUserName()); // queryWrapper.eq("CREAT_TIME", time);
queryWrapper.eq("PRC_TYPE", busMes.getPrcType()); // queryWrapper.eq("CREATE_USER_NAME", busMes.getCreateUserName());
queryWrapper.eq("CREAT_USER", busMes.getCreateUser()); // queryWrapper.eq("PRC_TYPE", busMes.getPrcType());
BusProcessName one = iBusProcessNameService.getOne(queryWrapper); // queryWrapper.eq("CREAT_USER", busMes.getCreateUser());
busMes1.setId(one.getId()); // BusProcessName one = iBusProcessNameService.getOne(queryWrapper);
//
// saveId = one.getId();
// TODO 先存到业务表单中,再存入busProcessName --end
} }
return WrapMapper.ok(busMes1.getId()); return WrapMapper.ok(saveId);
} }
/** /**
@@ -504,37 +434,13 @@ public class TodoTaskController extends BaseAction {
} else { } else {
queryWrapper.isNotNull("PRC_TYPE"); queryWrapper.isNotNull("PRC_TYPE");
} }
List<TaskAdvanceSearchVO> searchList = JSONObject.parseArray(taskCommonQuery.getAdvanceSearchVOStr(),TaskAdvanceSearchVO.class);
this.createAdvanceSearchCondition(searchList,queryWrapper);
// queryWrapper.isNull("PRC_ID");
queryWrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.DRAFT.getValue()); queryWrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.DRAFT.getValue());
queryWrapper.orderByDesc("CREAT_TIME"); queryWrapper.orderByDesc("CREAT_TIME");
List<BusProcessName> list = iBusProcessNameService.list(queryWrapper); List<BusProcessName> list = iBusProcessNameService.list(queryWrapper);
return list; return list;
} }
@ApiOperation(value = "自动发起流程保存第一步", notes = "自动发起流程保存第一步")
@PostMapping("/autoSaveFirst")
public Wrapper<String> autoSaveFirst(@RequestBody ApproveDataVO busMes) {
QueryWrapper<BusProcessNew> wrapper = new QueryWrapper<>();
wrapper.eq("TASK_ID", busMes.getTaskId());
BusProcessNew one = iBusProcessNewService.getOne(wrapper);
if (one != null) {
one.setMesg(busMes.getJson());
iBusProcessNewService.saveOrUpdate(one);
}
QueryWrapper<BusProcessName> wrapper1 = new QueryWrapper<>();
wrapper1.eq("PRC_ID", busMes.getpId());
BusProcessName one1 = iBusProcessNameService.getOne(wrapper1);
if (one1 != null) {
one1.setCreatUserName(busMes.getUserName());
iBusProcessNameService.saveOrUpdate(one1);
}
return WrapMapper.ok("提交成功");
}
@ApiOperation(value = "查询流程是否结束", notes = "查询流程是否结束") @ApiOperation(value = "查询流程是否结束", notes = "查询流程是否结束")
@GetMapping("/isEnd") @GetMapping("/isEnd")
public String isEnd(String pId) { public String isEnd(String pId) {
@@ -559,46 +465,6 @@ public class TodoTaskController extends BaseAction {
} }
} }
return "1"; return "1";
}else if(singleResult.getProcessDefinitionName().equals("法规技术评估流程")){
List<Task> tasksList = taskService.createTaskQuery().processInstanceId(singleResult.getProcessInstanceId()).active().list();
if(tasksList.size()==0){
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", pId);
BusProcessName one = iBusProcessNameService.getOne(queryWrapper2);
if (one != null) {
if (one.getEndTime() == null || one.getEndTime().equals("")) {
List<HistoricActivityInstance> historicActivityInstanceList = historyService
.createHistoricActivityInstanceQuery().processInstanceId(pId)
.orderByHistoricActivityInstanceEndTime().desc().list();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
one.setEndTime(sdf.format(historicActivityInstanceList.get(0).getEndTime()));
iBusProcessNameService.saveOrUpdate(one);
}
}
return "1";
}else{
return "0";
}
}else if(singleResult.getProcessDefinitionName().equals("法规入库")){
List<Task> tasksList = taskService.createTaskQuery().processInstanceId(singleResult.getProcessInstanceId()).active().list();
if(tasksList.size()==0){
QueryWrapper<BusProcessName> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("PRC_ID", pId);
BusProcessName one = iBusProcessNameService.getOne(queryWrapper2);
if (one != null) {
if (one.getEndTime() == null || one.getEndTime().equals("")) {
List<HistoricActivityInstance> historicActivityInstanceList = historyService
.createHistoricActivityInstanceQuery().processInstanceId(pId)
.orderByHistoricActivityInstanceEndTime().desc().list();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
one.setEndTime(sdf.format(historicActivityInstanceList.get(0).getEndTime()));
iBusProcessNameService.saveOrUpdate(one);
}
}
return "1";
}else{
return "0";
}
}else { }else {
return "0"; return "0";
} }
@@ -652,8 +518,7 @@ public class TodoTaskController extends BaseAction {
if (taskCommonQuery.getPrcType() != null && !taskCommonQuery.getPrcType().equals("")) { if (taskCommonQuery.getPrcType() != null && !taskCommonQuery.getPrcType().equals("")) {
queryWrapper.eq("PRC_TYPE", taskCommonQuery.getPrcType()); queryWrapper.eq("PRC_TYPE", taskCommonQuery.getPrcType());
} }
List<TaskAdvanceSearchVO> searchList = JSONObject.parseArray(taskCommonQuery.getAdvanceSearchVOStr(),TaskAdvanceSearchVO.class);
this.createAdvanceSearchCondition(searchList,queryWrapper);
queryWrapper.orderByDesc("CREAT_TIME"); queryWrapper.orderByDesc("CREAT_TIME");
queryWrapper.isNotNull("PRC_ID"); queryWrapper.isNotNull("PRC_ID");
queryWrapper.isNotNull("PRC_NUM"); queryWrapper.isNotNull("PRC_NUM");
@@ -707,7 +572,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)){ if(CollectionUtils.isNotEmpty(userVOList)){
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if(StringUtils.equals(userVO.getUsid(),task.getAssignee())){ if(StringUtils.equals(userVO.getUsid(),task.getAssignee())){
assignee += ""+((userVO.getOrgName() != null && !userVO.getOrgName().equals("")) ? userVO.getOrgName() + "-" + userVO.getUname() : userVO.getUname()) + ""; assignee += ""+userVO.getUsname() + "(" + userVO.getAccount() + ")" + "";
} }
} }
} }
@@ -720,7 +585,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)){ if(CollectionUtils.isNotEmpty(userVOList)){
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if(StringUtils.equals(userVO.getUsid(),historicIdentityLink.getUserId())){ if(StringUtils.equals(userVO.getUsid(),historicIdentityLink.getUserId())){
assignee += ""+((userVO.getOrgName() != null && !userVO.getOrgName().equals("")) ? userVO.getOrgName() + "-" + userVO.getUname() : userVO.getUname()) + ""; assignee += ""+userVO.getUsname() + "(" + userVO.getAccount() + ")" + "";
} }
} }
} }
@@ -747,7 +612,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)){ if(CollectionUtils.isNotEmpty(userVOList)){
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if(StringUtils.equals(userVO.getUsid(),userTask.get(0).getAssignee())){ if(StringUtils.equals(userVO.getUsid(),userTask.get(0).getAssignee())){
busProcessName.setTaskBackAssignee(((userVO.getOrgName() != null && !userVO.getOrgName().equals("")) ? userVO.getOrgName() + "-" + userVO.getUname() : userVO.getUname())); busProcessName.setTaskBackAssignee(userVO.getUsname() + "(" + userVO.getAccount() + ")");
} }
} }
} }
@@ -755,7 +620,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)){ if(CollectionUtils.isNotEmpty(userVOList)){
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if(StringUtils.equals(userVO.getUsid(),userTask.get(0).getAssignee())){ if(StringUtils.equals(userVO.getUsid(),userTask.get(0).getAssignee())){
busProcessName.setTaskBackAssignee(((userVO.getOrgName() != null && !userVO.getOrgName().equals("")) ? userVO.getOrgName() + "-" + userVO.getUname() : userVO.getUname())); busProcessName.setTaskBackAssignee(userVO.getUsname() + "(" + userVO.getAccount() + ")");
} }
} }
} }
@@ -875,7 +740,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)){ if(CollectionUtils.isNotEmpty(userVOList)){
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if(StringUtils.equals(task.getAssignee(),userVO.getUsid())){ if(StringUtils.equals(task.getAssignee(),userVO.getUsid())){
assignee += ""+((userVO.getDepartment() != null && !userVO.getDepartment().equals("")) ? userVO.getDepartment() + "-" + userVO.getUsname() : userVO.getUsname()) + ""; assignee += "" + userVO.getUsname() + "(" + userVO.getAccount() + ")" + "";
} }
} }
} }
@@ -900,7 +765,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)) { if(CollectionUtils.isNotEmpty(userVOList)) {
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if (StringUtils.equals(userTask.get(0).getAssignee(), userVO.getUsid())) { if (StringUtils.equals(userTask.get(0).getAssignee(), userVO.getUsid())) {
busProcessName.setTaskBackAssignee(((userVO.getDepartment() != null && !userVO.getDepartment().equals("")) ? userVO.getDepartment() + "-" + userVO.getUsname() : userVO.getUsname())); busProcessName.setTaskBackAssignee(userVO.getUsname() + "(" + userVO.getAccount() + ")");
} }
} }
} }
@@ -908,7 +773,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)) { if(CollectionUtils.isNotEmpty(userVOList)) {
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if (StringUtils.equals(userTask.get(0).getAssignee(), userVO.getUsid())) { if (StringUtils.equals(userTask.get(0).getAssignee(), userVO.getUsid())) {
busProcessName.setTaskBackAssignee(((userVO.getDepartment() != null && !userVO.getDepartment().equals("")) ? userVO.getDepartment() + "-" + userVO.getUsname() : userVO.getUsname())); busProcessName.setTaskBackAssignee(userVO.getUsname() + "(" + userVO.getAccount() + ")");
} }
} }
} }
@@ -933,14 +798,16 @@ public class TodoTaskController extends BaseAction {
}); });
if (StringUtils.isNotEmpty(busProcessName.getTaskId())) { if (StringUtils.isNotEmpty(busProcessName.getTaskId())) {
List<Datas> datas = datasService.haveFinishedFlowDetail(busProcessName.getTaskId()); // TODO 补充审批刘中获取根据任务id获取审批结果的字段, 处理完后解开该段代码 --- start
if(CollectionUtils.isNotEmpty(datas)){ // List<BusProcessApprove> datas = iBusProcessApproveService.haveFinishedFlowDetail(busProcessName.getTaskId());
JSONObject dataJson = JSONObject.parseObject(datas.get(0).getFormValsJson()); // if(CollectionUtils.isNotEmpty(datas)){
//获取操作节点人的处理结果 flag 1通过 2驳回 解决禅道bug40164 // JSONObject dataJson = JSONObject.parseObject(datas.get(0).getFromValsJson());
if (StringUtils.isNotEmpty(dataJson.getString("flag"))) { // //获取操作节点人的处理结果 flag 1通过 2驳回 解决禅道bug40164
busProcessName.setStatus(dataJson.getString("flag")); // if (StringUtils.isNotEmpty(dataJson.getString("flag"))) {
} // busProcessName.setStatus(dataJson.getString("flag"));
} // }
// }
// TODO 补充审批刘中获取根据任务id获取审批结果的字段, 处理完后解开该段代码 --- end
} }
Date createTime = null; Date createTime = null;
@@ -1051,7 +918,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)){ if(CollectionUtils.isNotEmpty(userVOList)){
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if(StringUtils.equals(userVO.getUsid(),task.getAssignee())){ if(StringUtils.equals(userVO.getUsid(),task.getAssignee())){
assignee += ""+((userVO.getDepartment() != null && !userVO.getDepartment().equals("")) ? userVO.getDepartment() + "-" + userVO.getUname() : userVO.getUname()) + ""; assignee += "" + userVO.getUsname() + "(" + userVO.getAccount() + ")" + "";
} }
} }
} }
@@ -1076,7 +943,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)){ if(CollectionUtils.isNotEmpty(userVOList)){
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if(StringUtils.equals(userVO.getUsid(),userTask.get(0).getAssignee())){ if(StringUtils.equals(userVO.getUsid(),userTask.get(0).getAssignee())){
busProcessName.setTaskBackAssignee(((userVO.getOrgName() != null && !userVO.getOrgName().equals("")) ? userVO.getOrgName() + "-" + userVO.getUname() : userVO.getUname())); busProcessName.setTaskBackAssignee(userVO.getUsname() + "(" + userVO.getAccount() + ")");
} }
} }
} }
@@ -1084,7 +951,7 @@ public class TodoTaskController extends BaseAction {
if(CollectionUtils.isNotEmpty(userVOList)){ if(CollectionUtils.isNotEmpty(userVOList)){
for (UserVO userVO : userVOList) { for (UserVO userVO : userVOList) {
if(StringUtils.equals(userVO.getUsid(),userTask.get(0).getAssignee())){ if(StringUtils.equals(userVO.getUsid(),userTask.get(0).getAssignee())){
busProcessName.setTaskBackAssignee(((userVO.getOrgName() != null && !userVO.getOrgName().equals("")) ? userVO.getOrgName() + "-" + userVO.getUname() : userVO.getUname())); busProcessName.setTaskBackAssignee(userVO.getUsname() + "(" + userVO.getAccount() + ")");
} }
} }
} }
@@ -1185,9 +1052,6 @@ public class TodoTaskController extends BaseAction {
queryWrapper.eq("PRC_ID", prcId); queryWrapper.eq("PRC_ID", prcId);
BusProcessName one = iBusProcessNameService.getOne(queryWrapper); BusProcessName one = iBusProcessNameService.getOne(queryWrapper);
iBusProcessNameService.removeById(one.getId()); iBusProcessNameService.removeById(one.getId());
// one.setPrcId(null);
// one.setPrcNum(null);
// one.setPrcName(null);
one.setOverTime(null); one.setOverTime(null);
one.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); one.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue());
iBusProcessNameService.save(one); iBusProcessNameService.save(one);
@@ -1217,9 +1081,9 @@ public class TodoTaskController extends BaseAction {
task.setAssignee(userCode); task.setAssignee(userCode);
TaskEntity taskById = findTaskById(taskId); TaskEntity taskById = findTaskById(taskId);
task.setName(taskById.getName() + "-会签"); task.setName(taskById.getName() + "-会签");
ProcessDefinitionEntity processDefinitionEntityByTaskId = findProcessDefinitionEntityByTaskId(taskId); ProcessDefinitionEntity processDefinitionEntityByTaskId = this.findProcessDefinitionEntityByTaskId(taskId);
task.setProcessDefinitionId(processDefinitionEntityByTaskId.getId()); task.setProcessDefinitionId(processDefinitionEntityByTaskId.getId());
ProcessInstance processInstanceByTaskId = findProcessInstanceByTaskId(taskId); ProcessInstance processInstanceByTaskId = this.findProcessInstanceByTaskId(taskId);
task.setProcessInstanceId(processInstanceByTaskId.getId()); task.setProcessInstanceId(processInstanceByTaskId.getId());
task.setParentTaskId(taskId); task.setParentTaskId(taskId);
task.setDescription("jointProcess"); task.setDescription("jointProcess");
@@ -1230,15 +1094,13 @@ public class TodoTaskController extends BaseAction {
QueryWrapper<BusProcessNew> queryWrapper = new QueryWrapper<>(); QueryWrapper<BusProcessNew> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("TASK_ID", taskId); queryWrapper.eq("TASK_ID", taskId);
BusProcessNew one = iBusProcessNewService.getOne(queryWrapper); BusProcessNew one = iBusProcessNewService.getOne(queryWrapper);
JSONObject object = JSONObject.parseObject(one.getMesg());
BusProcessNew busProcessNew = new BusProcessNew(); BusProcessNew busProcessNew = new BusProcessNew();
busProcessNew.setUserId(userCode); busProcessNew.setUserId(userCode);
busProcessNew.setPId(taskById.getProcessInstanceId()); busProcessNew.setPId(taskById.getProcessInstanceId());
busProcessNew.setTaskInfo(taskById.getEventName()); busProcessNew.setTaskInfo(taskById.getEventName());
busProcessNew.setMsgType(one.getMsgType());
busProcessNew.setTaskId(task.getId()); busProcessNew.setTaskId(task.getId());
busProcessNew.setMesg(JSON.toJSONString(object, SerializerFeature.DisableCircularReferenceDetect)); busProcessNew.setDataId(one.getDataId());
this.iBusProcessNewService.save(busProcessNew); this.iBusProcessNewService.save(busProcessNew);
} }
} }
@@ -1267,19 +1129,54 @@ public class TodoTaskController extends BaseAction {
List<Task> list = taskService.createTaskQuery().list(); List<Task> list = taskService.createTaskQuery().list();
} }
/**
* 根据任务ID获取流程定义
*
* @param taskId
* 任务ID
* @return
* @throws Exception
*/
private ProcessDefinitionEntity findProcessDefinitionEntityByTaskId(
String taskId) throws Exception {
// 取得流程定义
ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)
.getDeployedProcessDefinition(findTaskById(taskId)
.getProcessDefinitionId());
if (processDefinition == null) {
throw new Exception("流程定义未找到!");
}
return processDefinition;
}
/**
* 根据任务ID获取对应的流程实例
*
* @param taskId
* 任务ID
* @return
* @throws Exception
*/
private ProcessInstance findProcessInstanceByTaskId(String taskId)
throws Exception {
// 找到流程实例
ProcessInstance processInstance = runtimeService
.createProcessInstanceQuery().processInstanceId(
findTaskById(taskId).getProcessInstanceId())
.singleResult();
if (processInstance == null) {
throw new Exception("流程实例未找到!");
}
return processInstance;
}
/** /**
* 根据用户idList获取用户信息 * 根据用户idList获取用户信息
*/ */
public List<UserVO> getUserInfoByIdList(List<String> userIdList){ public List<UserVO> getUserInfoByIdList(List<String> userIdList){
userIdList = userIdList.stream().distinct().collect(Collectors.toList()); // TODO 根据用户id列表获取用户信息,不完善
JSONObject jsonObject = new JSONObject(); List<UserVO> userList = this.userEoService.getUserByIdList(userIdList);
jsonObject.put("idList",userIdList); return userList;
// TODO 根据用户id列表获取用户信息
this.userEoService.
ResponseMessage<List<UserVO>> userInfoByIdList = userInfoService.getUserInfoByIdList(jsonObject.toString());
List<UserVO> data = userInfoByIdList.getData();
return data;
} }
} }
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -16,6 +17,7 @@ import java.util.Date;
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@TableName("bus_process_approve") @TableName("bus_process_approve")
@ApiModel(value="BusProcessApprove对象", description="审批历史数据对象")
public class BusProcessApprove { public class BusProcessApprove {
@ApiModelProperty(value = "主键ID") @ApiModelProperty(value = "主键ID")
@@ -23,8 +25,12 @@ public class BusProcessApprove {
private String id; private String id;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
@TableField("CREATE_TIME") @TableField("CREATE_DATE")
private Date createTime = new Date(System.currentTimeMillis()); private Date createDate = new Date(System.currentTimeMillis());
@ApiModelProperty(value = "创建人")
@TableField("CREATE_USER_ID")
private String createUserId;
@ApiModelProperty(value = "流程实例id") @ApiModelProperty(value = "流程实例id")
@TableField("PRC_ID") @TableField("PRC_ID")
@@ -34,6 +40,8 @@ public class BusProcessApprove {
@TableField("TASK_ID") @TableField("TASK_ID")
private String taskId; private String taskId;
@ApiModelProperty(value = "表单JSON数据,包含全部审批的表单数据")
@TableField("FROM_VALS_JSON")
private String fromValsJson;
} }
@@ -0,0 +1,63 @@
package com.adc.da.wkflow.business_main.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author 冯晓东
* @since 2020-12-11
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BUS_PROCESS_ENTRUST")
@ApiModel(value="BusProcessEntrust对象", description="")
public class BusProcessEntrust implements Serializable {
private static final long serialVersionUID=1L;
@TableId(value = "ID", type = IdType.UUID)
private String id;
@ApiModelProperty(value = "委托人员")
@TableField("USER_ID")
private String userId;
@ApiModelProperty(value = "被委托人员")
@TableField("EN_USER_ID")
private String enUserId;
@TableField("TASK_ID")
private String taskId;
@TableField("PRC_ID")
private String prcId;
@TableField("TASK_NAME")
private String taskName;
@TableField("PRC_NAME")
private String prcName;
@TableField("CREATE_TIME")
private Date createTime = new Date(System.currentTimeMillis());;
@TableField("VALID_FLAG")
private String validFlag;
}
@@ -23,10 +23,10 @@ import java.io.Serializable;
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@Accessors(chain = true) @Accessors(chain = true)
@TableName("BUS_PROCESS_NAME") @TableName("BUS_PROCESS_NAME")
@ApiModel(value="BusProcessName对象", description="") @ApiModel(value="BusProcessName对象", description="工作流主表,维护主要的数据")
public class BusProcessName implements Serializable { public class BusProcessName implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=427348328492L;
@TableId(value = "ID", type = IdType.UUID) @TableId(value = "ID", type = IdType.UUID)
private String id; private String id;
@@ -37,9 +37,6 @@ public class BusProcessName implements Serializable {
@TableField("PRC_ID") @TableField("PRC_ID")
private String prcId; private String prcId;
@TableField("PRC_MES")
private String prcMes;
@TableField("OVER_TIME") @TableField("OVER_TIME")
private String overTime; private String overTime;
@@ -58,15 +55,15 @@ public class BusProcessName implements Serializable {
@TableField("CREATE_USER_NAME") @TableField("CREATE_USER_NAME")
private String creatUserName; private String creatUserName;
@TableField("MES") /**
private String mes; * 具体的数据ID,关联具体的业务表的id
*/
@TableField("DATA_ID")
private String dataId;
@TableField("END_TIME") @TableField("END_TIME")
private String endTime; private String endTime;
@TableField(exist = false)
private String taskIds;
@TableField(exist = false) @TableField(exist = false)
private String taskInfo; private String taskInfo;
@@ -24,7 +24,7 @@ import java.io.Serializable;
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@Accessors(chain = true) @Accessors(chain = true)
@TableName("BUS_PROCESS_NEW") @TableName("BUS_PROCESS_NEW")
@ApiModel(value="BusProcessNew对象", description="") @ApiModel(value="BusProcessNew对象", description="工作流待办已办表")
public class BusProcessNew implements Serializable { public class BusProcessNew implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
@@ -33,34 +33,18 @@ public class BusProcessNew implements Serializable {
@TableId(value = "ID", type = IdType.UUID) @TableId(value = "ID", type = IdType.UUID)
private String id; private String id;
@ApiModelProperty(value = "资源类型")
@TableField("MSG_TYPE")
private String msgType;
@ApiModelProperty(value = "标准id")
@TableField("STAND_ID")
private String standId;
@ApiModelProperty(value = "条款id")
@TableField("CLAUSE_ID")
private String clauseId;
@ApiModelProperty(value = "处理人") @ApiModelProperty(value = "处理人")
@TableField("USER_ID") @TableField("USER_ID")
private String userId; private String userId;
@ApiModelProperty(value = "信息") @ApiModelProperty(value = "具体的数据ID,关联具体的业务表的id")
@TableField("MESG") @TableField("DATA_ID")
private String mesg; private String dataId;
@ApiModelProperty(value = "节点信息") @ApiModelProperty(value = "节点信息")
@TableField("TASK_INFO") @TableField("TASK_INFO")
private String taskInfo; private String taskInfo;
@ApiModelProperty(value = "父级id")
@TableField("PARENT_ID")
private String parentId;
@ApiModelProperty(value = "任务id") @ApiModelProperty(value = "任务id")
@TableField("TASK_ID") @TableField("TASK_ID")
private String taskId; private String taskId;
@@ -69,19 +53,4 @@ public class BusProcessNew implements Serializable {
@TableField("P_ID") @TableField("P_ID")
private String pId; private String pId;
@ApiModelProperty(value = "完成注记")
@TableField("FINISH_FLAG")
private String finishFlag;
@ApiModelProperty(value = "审批意见")
@TableField("COMMIT_FLAG")
private String commitFlag;
@ApiModelProperty(value = "审批意见")
@TableField("COMMIT_TEXT")
private String commitText;
@ApiModelProperty(value = "子流程ID")
@TableField("SUB_ID")
private String subId;
} }
@@ -0,0 +1,17 @@
package com.adc.da.wkflow.business_main.mapper;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessEntrust;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author 冯晓东
* @since 2020-12-11
*/
public interface BusProcessApproveMapper extends BaseMapper<BusProcessApprove> {
}
@@ -0,0 +1,16 @@
package com.adc.da.wkflow.business_main.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.adc.da.wkflow.business_main.entity.BusProcessEntrust;
/**
* <p>
* Mapper 接口
* </p>
*
* @author 冯晓东
* @since 2020-12-11
*/
public interface BusProcessEntrustMapper extends BaseMapper<BusProcessEntrust> {
}
@@ -0,0 +1,13 @@
package com.adc.da.wkflow.business_main.service;
import com.adc.da.wkflow.business_main.entity.BusProcessApprove;
import com.adc.da.wkflow.business_main.entity.BusProcessEntrust;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 审批历史业务类
* 用于审批历史的查询的存取
*/
public interface IBusProcessApproveService extends IService<BusProcessApprove> {
}
@@ -0,0 +1,16 @@
package com.adc.da.wkflow.business_main.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.adc.da.wkflow.business_main.entity.BusProcessEntrust;
/**
* <p>
* 服务类
* </p>
*
* @author 冯晓东
* @since 2020-12-11
*/
public interface IBusProcessEntrustService extends IService<BusProcessEntrust> {
}
@@ -0,0 +1,23 @@
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.entity.BusProcessEntrust;
import com.adc.da.wkflow.business_main.mapper.BusProcessApproveMapper;
import com.adc.da.wkflow.business_main.mapper.BusProcessEntrustMapper;
import com.adc.da.wkflow.business_main.service.IBusProcessApproveService;
import com.adc.da.wkflow.business_main.service.IBusProcessEntrustService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author 冯晓东
* @since 2020-12-11
*/
@Service
public class BusProcessApproveServiceImpl extends ServiceImpl<BusProcessApproveMapper, BusProcessApprove> implements IBusProcessApproveService {
}
@@ -0,0 +1,20 @@
package com.adc.da.wkflow.business_main.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.adc.da.wkflow.business_main.entity.BusProcessEntrust;
import com.adc.da.wkflow.business_main.mapper.BusProcessEntrustMapper;
import com.adc.da.wkflow.business_main.service.IBusProcessEntrustService;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author 冯晓东
* @since 2020-12-11
*/
@Service
public class BusProcessEntrustServiceImpl extends ServiceImpl<BusProcessEntrustMapper, BusProcessEntrust> implements IBusProcessEntrustService {
}
@@ -8,6 +8,8 @@ import lombok.Data;
@Data @Data
public class ApproveDataVO { public class ApproveDataVO {
private String id;
private String userId; private String userId;
private String taskId; private String taskId;
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.wkflow.business_main.mapper.BusProcessApproveMapper">
</mapper>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.wkflow.business_main.mapper.BusProcessEntrustMapper">
</mapper>