Browse Source

移动端已办列表增加页面url

zhanglei
yxt_djz 3 years ago
parent
commit
2b476aba53
  1. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java
  2. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java
  3. 6
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  4. 11
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java
  5. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java
  6. 131
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  7. 10
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java

@ -73,6 +73,11 @@ public interface FlowTaskFeign {
@ResponseBody
ResultBean businessDoneList(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "业务系统查询已办任务列表_移动端")
@PostMapping("/businessDoneListForApp/{userSid}")
@ResponseBody
ResultBean businessDoneListForApp(@ApiParam(value = "当前用户sid") @PathVariable(value = "userSid")String userSid,
@RequestBody PagerQuery<BusinessTaskQuery> taskQueryPagerQuery);
@ApiOperation(value = "流程历史流转记录")
@PostMapping(value = "/flowRecord")

5
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java

@ -66,6 +66,11 @@ public class FlowTaskFeignFallBack implements FlowTaskFeign {
return null;
}
@Override
public ResultBean businessDoneListForApp(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return null;
}
@Override
public ResultBean flowRecord(RecordQuery recordQuery) {
return null;

6
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -235,6 +235,7 @@ public class FlowableRest implements FlowableFeign {
dto.setFormVariables(new HashMap<String, Object>());
Map<String, Object> formVariables = dto.getFormVariables();
formVariables.put("businessSid",dto.getBusinessSid());
String nextUserSid = dto.getNextNodeUserSids();
if(StringUtils.isBlank(nextUserSid)){
ResultBean<String> nextNodeUserSidsOfSubmit = getNextNodeUserSidsOfSubmit(dto);
@ -281,8 +282,11 @@ public class FlowableRest implements FlowableFeign {
log.error("formVariables:{}",JSON.toJSONString(formVariables));
taskService.setAssignee(taskId, userSid);
//formVariables.remove("userSid");
for(Map.Entry<String, Object> entry:formVariables.entrySet()){
taskService.setVariable(taskId,entry.getKey(),entry.getValue());
System.out.println(entry.getKey()+"--->"+entry.getValue());
}
taskService.complete(taskId, formVariables);
//根据流程实例的id取最新的待办环节,给环节设置上用户sid
ResultBean<List<LatestTaskVo>> ll = flowtaskService.getLatestTasksNew(instanceId);
if (ll.getData().size() > 0) {

11
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java

@ -151,7 +151,7 @@ public class FlowDefinitionService extends FlowServiceFactory {
if (Objects.nonNull(task)) {
taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.NORMAL.getType(), sysUser.getUserName() + "发起流程申请");
// taskService.setAssignee(task.getId(), sysUser.getUserId().toString());
taskService.complete(task.getId(), variables, true);
taskService.complete(task.getId(), variables);
}
return ResultBean.fireSuccess().setMsg("流程启动成功");
} catch (Exception e) {
@ -188,17 +188,26 @@ public class FlowDefinitionService extends FlowServiceFactory {
ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDefId, variables);
// 给第一步申请人节点设置任务执行人和意见 todo:第一个节点不设置为申请人节点有点问题?
Task task = taskService.createTaskQuery().processInstanceId(processInstance.getProcessInstanceId()).singleResult();
for(Map.Entry<String, Object> entry:variables.entrySet()){
taskService.setVariable(task.getId(),entry.getKey(),entry.getValue());
System.out.println(entry.getKey()+"--->"+entry.getValue());
}
if (Objects.nonNull(task)) {
taskService.addComment(task.getId(), processInstance.getProcessInstanceId(), FlowComment.NORMAL.getType(),
sysUser.getName() + "发起流程申请");
taskService.setAssignee(task.getId(), userSid);
taskService.complete(task.getId(), variables);
}
ResultBean<List<LatestTaskVo>> latestTasksNew = flowTaskService.getLatestTasksNew(processInstance.getId());
List<LatestTaskVo> data = latestTasksNew.getData();
LatestTaskVo latestTaskVo = data.get(0);
String id_ = latestTaskVo.getId_();
taskService.setAssignee(id_,nextNodeUserSids);
/*for(Map.Entry<String, Object> entry:variables.entrySet()){
taskService.setVariable(id_,entry.getKey(),entry.getValue());
System.out.println(entry.getKey()+"--->"+entry.getValue());
}*/
ResultBean<FlowTask> rb = new ResultBean<>();
FlowTask flowTask = new FlowTask();
flowTask.setTaskId(task.getId());

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java

@ -117,6 +117,10 @@ public class FlowTaskController implements FlowTaskFeign {
public ResultBean businessDoneList(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return flowTaskService.businessDoneListNew(userSid, taskQueryPagerQuery);
}
@Override
public ResultBean businessDoneListForApp(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
return flowTaskService.businessDoneListNewForApp(userSid, taskQueryPagerQuery);
}
@Override
public ResultBean flowRecord(RecordQuery recordQuery) {

131
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -432,6 +432,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}*/
taskQuery.active()
.includeProcessVariables()
.includeTaskLocalVariables()
.or()
//.taskCandidateGroupIn(roleSidList)
.taskAssigneeLike("%" + userSid + "%")
@ -456,7 +457,8 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
FlowTaskDto flowTask = new FlowTaskDto();
Map<String, Object> processVariables = task.getProcessVariables();
flowTask.setProcessVariables(processVariables);
Map<String, Object> taskLocalVariables= task.getTaskLocalVariables();
System.out.println(JSON.toJSONString(taskLocalVariables));
// 当前流程信息
flowTask.setTaskId(task.getId());
flowTask.setTaskDefKey(task.getTaskDefinitionKey());
@ -697,6 +699,127 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
// 设置手机端参数
// Map<String, Map<String, Object>> map = getAppOrPcVariables(flowTask);
// flowTask.setAppVariables(map.get("appVariables"));
// flowTask.setPcVariables(map.get("pcVariables"));
hisTaskList.add(flowTask);
}
page.setTotal(count);
page.setRecords(hisTaskList);
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page);
}
/**
* 已办任务列表
*
* @param pageNum 当前页码
* @param pageSize 每页条数
* @return
*/
public ResultBean<Page<FlowTaskDto>> businessFinishedListForApp(String userSid, List<BusinessTaskParam> params, Integer pageNum, Integer pageSize) {
Page<FlowTaskDto> page = new Page<>();
Map<String, Object> paraMap = new HashMap<>();
List<Map<String, Object>> ll = new ArrayList<>();
for (BusinessTaskParam btq : params) {
paraMap.put(btq.getField(), btq.getValue());
Map<String, Object> mapss = new HashMap<>();
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.EQUAL)) {
mapss.put("symbol", "=");
mapss.put("value", btq.getValue());
mapss.put("filed", btq.getField());
}
if (btq.getSqlOperationSymbol().equals(SQLOperationSymbol.LIKE)) {
mapss.put("symbol", "like");
mapss.put("value", "%" + btq.getValue() + "%");
mapss.put("filed", btq.getField());
}
/* if(btq.getSqlOperationSymbol().equals(SQLOperationSymbol.NONE)){
if("processDefinitionId".equals(btq.getField())){
taskInstanceQuery.processDefinitionId(btq.getValue());
}
}*/
ll.add(mapss);
}
paraMap.put("userSid", userSid);
paraMap.put("list", ll);
paraMap.put("page", (pageNum - 1) * pageSize);
paraMap.put("size", pageSize);
// List<Map<String, Object>> maps = baseMapper.finishedList(userSid, ll ,(pageNum-1)*pageSize,pageSize);
List<Map<String, Object>> maps = baseMapper.finishedList1(paraMap);
int count = baseMapper.finishedListCount(paraMap);
List<FlowTaskDto> hisTaskList = new ArrayList();
for (Map<String, Object> histTask : maps) {
FlowTaskDto flowTask = new FlowTaskDto();
// 当前流程信息
flowTask.setTaskId(histTask.get("ID_").toString());
// 审批人员信息
Timestamp start_time_ = (Timestamp) histTask.get("START_TIME_");
long time = start_time_.getTime();
Date date = new Date(time);
flowTask.setCreateTime(date);
flowTask.setAssigneeSid(histTask.get("ASSIGNEE_") == null ? "" : histTask.get("ASSIGNEE_").toString());
if (histTask.get("ASSIGNEE_") != null && StringUtils.isNotBlank(histTask.get("ASSIGNEE_").toString())) {
ResultBean<List<SysUserVo>> assignee_ = sysUserFeign.fetchBySids(histTask.get("ASSIGNEE_").toString());
StringBuilder userName=new StringBuilder();
List<SysUserVo> data1 = assignee_.getData();
for( SysUserVo data:data1){
userName.append(data.getName()).append(",");
}
String userName_str="";
userName_str=userName.substring(0,userName.length()-1);
flowTask.setAssigneeName(userName_str);
}
flowTask.setHasRevokeButton(userSid.equals(flowTask.getAssigneeSid()) ? true : false);
flowTask.setProcDefId(histTask.get("PROC_DEF_ID_") == null ? "" : histTask.get("PROC_DEF_ID_").toString());
flowTask.setTaskDefKey(histTask.get("taskDefKey") == null ? "" : histTask.get("taskDefKey").toString());
flowTask.setTaskName(histTask.get("NAME_") == null ? "" : histTask.get("NAME_").toString());
// 判断是否办结
/*Object end_act_id_ = histTask.get("END_ACT_ID_");
if (end_act_id_ != null) {
flowTask.setTaskName(ProcessStateEnum.FINISHED.getStateName());
}*/
// 流程定义信息
// ProcessDefinition pd = repositoryService.createProcessDefinitionQuery()
// .processDefinitionId(histTask.get("PROC_DEF_ID_").toString())
// .singleResult();
flowTask.setDeployId(histTask.get("DEPLOYMENT_ID_") == null ? "" : histTask.get("DEPLOYMENT_ID_").toString());
flowTask.setProcDefName(histTask.get("PROC_DEF_NAME_") == null ? "" : histTask.get("PROC_DEF_NAME_").toString());
flowTask.setProcDefVersion(histTask.get("PROC_DEF_VERSION_") == null ? 0 : Integer.parseInt(histTask.get("PROC_DEF_VERSION_").toString()));
flowTask.setProcInsId(histTask.get("PROC_INST_ID_").toString());
flowTask.setHisProcInsId(histTask.get("PROC_INST_ID_").toString());
// 流程发起人信息
// HistoricProcessInstance hi = historyService.createHistoricProcessInstanceQuery()
// .processInstanceId(histTask.get("PROC_INST_ID_").toString())
// .singleResult();
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString());
flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid());
flowTask.setStartUserName(sysUserVoResultBean.getData().getName());
flowTask.setStartDeptName(sysUserVoResultBean.getData().getOrganizationName());
HistoricTaskInstance historicTaskInstance = historyService.createHistoricTaskInstanceQuery().includeProcessVariables().taskId(flowTask.getTaskId()).singleResult();
flowTask.setProcessVariables(historicTaskInstance.getProcessVariables());
Object end_act_id = histTask.get("end_act_id_");
if (end_act_id != null) {
flowTask.setEndActId((String) end_act_id);
}
Object end_time = histTask.get("END_TIME_");
if (end_time != null) {
Timestamp end_time_t = (Timestamp) end_time;
long end_time_t_l = end_time_t.getTime();
flowTask.setEndTime(new Date(end_time_t_l));
}
flowTask.setProcessVariables(historicTaskInstance.getProcessVariables());
ResultBean<List<SysProUrlVo>> listResultBean = sysProUrlService.selectUrlByKey(flowTask.getProcDefId(), flowTask.getTaskDefKey(), "2", "2");
flowTask.setSysProUrlVo(listResultBean.getData().get(0));
// 设置手机端参数
// Map<String, Map<String, Object>> map = getAppOrPcVariables(flowTask);
// flowTask.setAppVariables(map.get("appVariables"));
// flowTask.setPcVariables(map.get("pcVariables"));
hisTaskList.add(flowTask);
@ -1515,6 +1638,12 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
List<BusinessTaskParam> fields = taskQueryPagerQuery.getParams().getFields();
return businessFinishedList(userSid, fields, current, size);
}
public ResultBean businessDoneListNewForApp(String userSid, PagerQuery<BusinessTaskQuery> taskQueryPagerQuery) {
int size = Integer.valueOf(taskQueryPagerQuery.getSize() + "");
int current = Integer.valueOf(taskQueryPagerQuery.getCurrent() + "");
List<BusinessTaskParam> fields = taskQueryPagerQuery.getParams().getFields();
return businessFinishedListForApp(userSid, fields, current, size);
}
public ResultBean stopProcessNew(String userSid, FlowTaskVo flowTaskVo) {
stopProcess(userSid, flowTaskVo);

10
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -5,20 +5,14 @@ import cn.hutool.core.date.DateUtil;
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.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.SubmitBaseOutSourcingApplicationDto;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcessStateEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
@ -27,17 +21,13 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmapplyinbound.*;
import com.yxt.anrui.scm.api.scmapplyinbound.flow.GetNodeQuery;
import com.yxt.anrui.scm.api.scmapplyinbound.flow.ScmApplyInBoundCompleteDto;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicle;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleDto;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleVo;
import com.yxt.anrui.scm.api.scmfile.ScmFileDto;
import com.yxt.anrui.scm.api.scmfile.ScmFileVo;
import com.yxt.anrui.scm.api.scmvehicleexamine.AppScmVehicleExamineDto;
import com.yxt.anrui.scm.api.scmvehicleexamine.ScmEntryVehicleExamineDto;
import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnDto;
import com.yxt.anrui.scm.api.scmvehinspectitem.ScmVehinspectItemDto;
import com.yxt.anrui.scm.biz.flow.FlowableService;
import com.yxt.anrui.scm.biz.scmapplyinboundvehicle.ScmApplyInboundVehicleService;
import com.yxt.anrui.scm.biz.scmfile.ScmFileService;
import com.yxt.anrui.scm.biz.scmvehicleexamine.ScmVehicleExamineService;

Loading…
Cancel
Save