From f70799511a7ec8c3a1de0475d07f85564348f6bf Mon Sep 17 00:00:00 2001 From: bupengxiang Date: Thu, 20 Apr 2023 16:55:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9todo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../define/ActivitDefineController.java | 36 ++-- .../editor/ModelEditorJsonRestResource.java | 6 +- .../editor/ModelSaveRestResource.java | 4 +- .../editor/StencilsetRestResource.java | 2 +- .../instance/ActivitiInstanceController.java | 6 +- .../instance/InstanceImageController.java | 4 +- .../model/ActivitiModelController.java | 58 ++++++- .../model/ActivitiModelImageController.java | 5 +- .../task/TaskController.java | 14 +- .../task/TempTestController.java | 2 +- .../task/TodoTaskController.java | 158 ++++++++++++------ .../business_main/entity/BusProcessNew.java | 8 + .../mapper/BusProcessApproveMapper.java | 6 +- .../service/IBusProcessApproveService.java | 3 +- .../impl/BusProcessApproveServiceImpl.java | 10 +- 15 files changed, 221 insertions(+), 101 deletions(-) diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java index 4955875..570a213 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/define/ActivitDefineController.java @@ -3,16 +3,17 @@ package com.adc.da.wkflow.business_activiti.define; import cn.hutool.core.util.StrUtil; import com.adc.da.sys.entity.UserEO; import com.adc.da.sys.service.iservice.IUserEoService; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; - -import com.adc.da.wkflow.util.wrapper.WrapMapper; -import com.adc.da.wkflow.util.wrapper.Wrapper; -import com.adc.da.wkflow.business_main.entity.*; +import com.adc.da.wkflow.business_main.entity.BusProcessName; import com.adc.da.wkflow.business_main.service.IBusProcessNameService; import com.adc.da.wkflow.enums.SubmitStatusEnum; import com.adc.da.wkflow.util.ImpulseSenderUtils; import com.adc.da.wkflow.util.activiti.ActivitiTools; +import com.adc.da.wkflow.util.wrapper.WrapMapper; +import com.adc.da.wkflow.util.wrapper.Wrapper; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -37,9 +38,10 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -@Api(description = "流程定义管理") +@Api(tags = "流程定义管理") @RestController @Slf4j +@RequestMapping("/${restPath}") public class ActivitDefineController { @Resource @@ -172,9 +174,8 @@ public class ActivitDefineController { busProcessName.setCreatUserName(byId.getUsname()); busProcessName.setPrcNum((String) prcNameAndPrcNum.get("prcNum")); busProcessName.setPrcType(prcType); - // TODO 待处理字段 ---start -// busProcessName.setMes(JSON.toJSONString(msg, SerializerFeature.DisableCircularReferenceDetect)); - // TODO 待处理字段 ---end + String dateId = this.saveOrUpdateDate(prcType,msg); + busProcessName.setDataId(dateId); busProcessName.setPrcName((String) prcNameAndPrcNum.get("prcName")); busProcessName.setSubmitStatus(SubmitStatusEnum.SUBMIT.getValue()); ibusprocessnameService.save(busProcessName); @@ -193,9 +194,8 @@ public class ActivitDefineController { one.setPrcId(pi.getId()); one.setSubmitStatus(SubmitStatusEnum.SUBMIT.getValue()); one.setCreatTime(sdf.format(new Date())); - // TODO 待处理字段 ---start -// one.setMes(JSON.toJSONString(msg, SerializerFeature.DisableCircularReferenceDetect)); - // TODO 待处理字段 ---end + String dateId = this.saveOrUpdateDate(prcType,msg); + one.setDataId(dateId); ibusprocessnameService.save(one); } @@ -203,6 +203,16 @@ public class ActivitDefineController { return WrapMapper.ok(task.getId()); } + //保存data数据 + private String saveOrUpdateDate(String prcType, Object msg) { + String data = JSON.toJSONString(msg, SerializerFeature.DisableCircularReferenceDetect); + String dataId = ""; + if ("".equals(prcType)){ + + } + return dataId; + } + @ApiOperation(value = "判断流程定义key的唯一性") @GetMapping("/check_define_key") public Wrapper check_define_key(String modelId, String key) { diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/ModelEditorJsonRestResource.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/ModelEditorJsonRestResource.java index 2e9ecb9..594e24c 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/ModelEditorJsonRestResource.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/ModelEditorJsonRestResource.java @@ -14,7 +14,6 @@ package com.adc.da.wkflow.business_activiti.editor; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; - import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -24,7 +23,6 @@ import org.activiti.engine.ActivitiException; import org.activiti.engine.RepositoryService; import org.activiti.engine.repository.Model; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -35,9 +33,9 @@ import javax.annotation.Resource; /** * @author Tijs Rademakers */ -@Api(description = "工作流编辑器") +@Api(tags = "工作流编辑器") @RestController -@RequestMapping(value = "/service") +@RequestMapping(value = "/${restPath}/service") @Slf4j public class ModelEditorJsonRestResource implements ModelDataJsonConstants { diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/ModelSaveRestResource.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/ModelSaveRestResource.java index 5ba95de..f347fd2 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/ModelSaveRestResource.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/ModelSaveRestResource.java @@ -38,9 +38,9 @@ import java.io.InputStream; /** * @author Tijs Rademakers */ -@Api(description = "工作流编辑器") +@Api(tags = "工作流编辑器") @RestController -@RequestMapping(value = "/service") +@RequestMapping(value = "/${restPath}/service") public class ModelSaveRestResource implements ModelDataJsonConstants { protected static final Logger LOGGER = LoggerFactory.getLogger(ModelSaveRestResource.class); diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/StencilsetRestResource.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/StencilsetRestResource.java index c2deb9a..e9a50f0 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/StencilsetRestResource.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/editor/StencilsetRestResource.java @@ -28,7 +28,7 @@ import java.io.InputStream; */ @Api(description = "工作流编辑器") @RestController -@RequestMapping(value = "/service") +@RequestMapping(value = "/${restPath}/service") public class StencilsetRestResource { @ApiOperation(value = "获取模型stencilset的数据") diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/instance/ActivitiInstanceController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/instance/ActivitiInstanceController.java index 14c8c0e..99d1929 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/instance/ActivitiInstanceController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/instance/ActivitiInstanceController.java @@ -1,8 +1,8 @@ package com.adc.da.wkflow.business_activiti.instance; +import com.adc.da.wkflow.util.activiti.ActivitiTools; import com.adc.da.wkflow.util.wrapper.WrapMapper; import com.adc.da.wkflow.util.wrapper.Wrapper; -import com.adc.da.wkflow.util.activiti.ActivitiTools; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -11,13 +11,15 @@ import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.runtime.ProcessInstanceQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; -@Api(description = "流程实例管理") +@Api(tags = "流程实例管理") @RestController +@RequestMapping("/${restPath}") public class ActivitiInstanceController { @Autowired diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/instance/InstanceImageController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/instance/InstanceImageController.java index 4fdac45..84a3d70 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/instance/InstanceImageController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/instance/InstanceImageController.java @@ -13,9 +13,9 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Api(description = "流程实例图") +@Api(tags = "流程实例图") @RestController -@RequestMapping("/instance") +@RequestMapping("/${restPath}/instance") public class InstanceImageController { @Autowired diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/model/ActivitiModelController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/model/ActivitiModelController.java index 87e908c..b39dc3b 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/model/ActivitiModelController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/model/ActivitiModelController.java @@ -2,14 +2,13 @@ package com.adc.da.wkflow.business_activiti.model; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.StrUtil; +import com.adc.da.wkflow.util.CommonConstant; +import com.adc.da.wkflow.util.CreatedTools; +import com.adc.da.wkflow.util.wrapper.WrapMapper; +import com.adc.da.wkflow.util.wrapper.Wrapper; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; - -import com.adc.da.wkflow.util.wrapper.WrapMapper; -import com.adc.da.wkflow.util.wrapper.Wrapper; -import com.adc.da.wkflow.util.CommonConstant; -import com.adc.da.wkflow.util.CreatedTools; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -26,24 +25,26 @@ import org.activiti.engine.repository.Model; import org.activiti.engine.repository.ModelQuery; import org.activiti.engine.repository.NativeModelQuery; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cglib.beans.BeanMap; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static org.activiti.editor.constants.ModelDataJsonConstants.*; -@Api(description = "工作流模板管理") +@Api(tags = "工作流模板管理") @RestController @Slf4j +@RequestMapping("/${restPath}") public class ActivitiModelController { @Resource @@ -173,6 +174,49 @@ public class ActivitiModelController { return WrapMapper.ok(list); } + @ApiOperation(value = "模板列表-分页") + @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "名称"), + @ApiImplicitParam(name = "category_id", value = "类型id"), @ApiImplicitParam(name = "current", value = "当前页"), + @ApiImplicitParam(name = "size", value = "每页条数") }) + @GetMapping("/modelListPage") + public Wrapper> modelListPage(String name, int current, int size ,String order) { + if (StringUtils.isBlank(name)) { + name = ""; + } else { + current = 1; + } + ModelQuery modelQuery = repositoryService.createModelQuery(); + + modelQuery.modelNameLike("%" + name + "%").modelTenantId("子系统1"); + long total = modelQuery.count(); + if ("desc".equals(getOrder(order))) { + modelQuery.orderByCreateTime().desc(); + } else { + modelQuery.orderByCreateTime().asc(); + } + List list = modelQuery.listPage((current - 1) * size, size); + List> resultList = new ArrayList<>(); + Map map = new HashMap<>(); + for(Model model:list){ + Map resultMap = this.beanToMap(model); + resultList.add(resultMap); + } + map.put("records", resultList); + map.put("current", current); + map.put("size", size); + map.put("total", total); + return WrapMapper.ok(map); + } + + public String getOrder(String order) { + if (org.apache.commons.lang.StringUtils.isEmpty(order)) { + return "desc"; + } + if ("desc".equals(order) || "asc".equals(order) ) { + return order; + } + return "desc"; + } public static Map beanToMap(T bean) { Map map = new HashMap<>(); if (bean != null) { diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/model/ActivitiModelImageController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/model/ActivitiModelImageController.java index e51d811..c7e3b17 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/model/ActivitiModelImageController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/model/ActivitiModelImageController.java @@ -1,6 +1,5 @@ package com.adc.da.wkflow.business_activiti.model; -import cn.hutool.core.util.StrUtil; import com.adc.da.wkflow.util.wrapper.WrapMapper; import com.adc.da.wkflow.util.wrapper.Wrapper; import io.swagger.annotations.Api; @@ -18,9 +17,9 @@ import java.io.IOException; import java.io.OutputStream; import java.util.Base64; -@Api(description = "流程图片管理") +@Api(tags = "流程图片管理") @RestController -@RequestMapping("/model") +@RequestMapping("/${restPath}/model") public class ActivitiModelImageController { @Autowired diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java index a339f56..17602a6 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java @@ -1,15 +1,17 @@ package com.adc.da.wkflow.business_activiti.task; import com.adc.da.sys.entity.UserEO; -import com.adc.da.sys.service.UserEOServiceImpl; import com.adc.da.sys.service.iservice.IUserEoService; +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.entity.BusProcessName; +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.IBusProcessNameService; import com.adc.da.wkflow.business_main.service.IBusProcessNewService; +import com.adc.da.wkflow.util.activiti.ActivitiTools; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.adc.da.wkflow.business_main.entity.*; -import com.adc.da.wkflow.business_main.service.IBusProcessNameService; -import com.adc.da.wkflow.util.activiti.ActivitiTools; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -18,8 +20,6 @@ import org.activiti.engine.history.HistoricProcessInstance; import org.activiti.engine.history.HistoricTaskInstance; import org.activiti.engine.history.HistoricTaskInstanceQuery; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -32,7 +32,7 @@ import static com.adc.da.wkflow.util.date.DateTools.disposeApprovalTime; @Api(tags = "流程明细管理") @RestController -@RequestMapping("/task") +@RequestMapping("/${restPath}/task") public class TaskController { @Resource diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TempTestController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TempTestController.java index 439ee09..5094425 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TempTestController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TempTestController.java @@ -15,7 +15,7 @@ import java.util.List; @Api(tags = "临时测试接口") @RestController -@RequestMapping("/api/temp") +@RequestMapping("/${restPath}/temp") public class TempTestController { @Resource diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java index c81627a..efa3280 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java @@ -1,25 +1,32 @@ 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.sys.service.iservice.IUserEoService; import com.adc.da.sys.vo.UserVO; import com.adc.da.util.exception.AdcDaBaseException; -import com.adc.da.wkflow.business_main.vo.ApproveDataVO; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.serializer.SerializerFeature; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; - -import com.adc.da.wkflow.util.wrapper.WrapMapper; -import com.adc.da.wkflow.util.wrapper.Wrapper; -import com.adc.da.wkflow.business_activiti.dto.*; +import com.adc.da.wkflow.business_activiti.dto.Page; +import com.adc.da.wkflow.business_activiti.dto.TaskCommonQuery; import com.adc.da.wkflow.business_activiti.service.TaskTodoService; -import com.adc.da.wkflow.business_main.entity.*; -import 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.adc.da.wkflow.business_main.entity.BusProcessName; +import com.adc.da.wkflow.business_main.entity.BusProcessNew; +import com.adc.da.wkflow.business_main.mapper.BusProcessApproveMapper; +import com.adc.da.wkflow.business_main.mapper.BusProcessNameMapper; +import com.adc.da.wkflow.business_main.service.IBusProcessApproveService; +import com.adc.da.wkflow.business_main.service.IBusProcessEntrustService; +import com.adc.da.wkflow.business_main.service.IBusProcessNameService; +import com.adc.da.wkflow.business_main.service.IBusProcessNewService; +import com.adc.da.wkflow.business_main.vo.ApproveDataVO; import com.adc.da.wkflow.enums.SubmitStatusEnum; import com.adc.da.wkflow.util.activiti.ActivitiTools; import com.adc.da.wkflow.util.date.DateTools; +import com.adc.da.wkflow.util.wrapper.WrapMapper; +import com.adc.da.wkflow.util.wrapper.Wrapper; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -39,20 +46,18 @@ import org.activiti.engine.task.NativeTaskQuery; import org.activiti.engine.task.Task; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; -import java.util.stream.Collectors; import static com.adc.da.wkflow.util.date.DateTools.*; @Api(tags = "待办任务管理") @RestController +@RequestMapping("/${restPath}") @Slf4j public class TodoTaskController { @@ -72,6 +77,9 @@ public class TodoTaskController { @Resource private IBusProcessNameService iBusProcessNameService; + @Resource + private BusProcessNameMapper busProcessNameMapper; + @Resource private HistoryService historyService; @@ -81,6 +89,9 @@ public class TodoTaskController { @Resource private IBusProcessApproveService iBusProcessApproveService; + @Resource + private BusProcessApproveMapper busProcessApproveMapper; + @Resource private IUserEoService userEoService; @@ -223,14 +234,18 @@ public class TodoTaskController { if (StrUtil.isEmpty(task.getAssignee())) { taskService.claim(busMes.getTaskId(), busMes.getUserId()); } + //TODO 对 “SubmitJson” 这串json的设计 + String approve = JSON.parseObject(busMes.getSubmitJson()).getString("approve"); - // TODO 存储表单json到对应的 审批历史表(BusProcessApprove)中 --- start -// FormSubmitDto formSubmitDto = new FormSubmitDto(); -// formSubmitDto.setForm(busMes.getJson()); -// formSubmitDto.setTask_id(busMes.getTaskId()); -// -// formValsService.saveFormVals(formSubmitDto, task.getTaskDefinitionKey()); - // TODO 存储表单json到对应的 审批历史表中 --- end + BusProcessApprove busProcessApprove = new BusProcessApprove(); + busProcessApprove.setTaskId(busMes.getTaskId()); + busProcessApprove.setCreateUserId(UserUtils.getUserId()); + busProcessApprove.setPrcId(task.getProcessInstanceId()); + busProcessApprove.setCreateDate(new Date()); + busProcessApprove.setFromValsJson(approve); + iBusProcessApproveService.save(busProcessApprove); + //根据业务情况 对业务数据进行saveOrupdate + this.saveOrUpdateDate(busMes); taskService.complete(busMes.getTaskId()); } @@ -240,6 +255,21 @@ public class TodoTaskController { } } + /** + * 存储业务数据 到对应的表 + * @param busMes + */ + private String saveOrUpdateDate(ApproveDataVO busMes) { + String date = JSON.parseObject(busMes.getSubmitJson()).getString("date"); + String dateId = ""; + if ("".equals(busMes.getPrcType())){ + + } + + return dateId; + } + + @ApiOperation(value = "查询流程编号", notes = "根据流程实例ID查询流程编号") @ApiImplicitParams({@ApiImplicitParam(name = "pId", value = "流程id")}) @GetMapping("/findPrcNumByPid") @@ -328,16 +358,22 @@ public class TodoTaskController { */ @ApiOperation(value = "详情") @GetMapping("/queryDetail") - public BusProcessNew queryDetail(String taskIds) { + public BusProcessNew queryDetail(String taskIds,String prcType) { List taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(","))); List list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList); if (list.isEmpty()) { return null; } - BusProcessNew processNew = new BusProcessNew(); // TODO 去对应的业务表中找相应的ID --- start + // 查找详细业务数据 + BusProcessNew processNew = this.queryDetailDate(list,prcType); + //审批数据 + BusProcessApprove busProcessApprove = busProcessApproveMapper.selectEoByPrcIdAndTask(processNew.getPId(), + processNew.getTaskId()); + String approveJson = JSON.toJSONString(busProcessApprove); + processNew.setApproveJson(approveJson); // JSONObject object = JSONObject.parseObject(list.get(0).getMesg()); // object.put("taskId", list.get(0).getTaskId()); // BeanUtils.copyProperties(list.get(0), processNew); @@ -347,6 +383,18 @@ public class TodoTaskController { } + private BusProcessNew queryDetailDate(List list, String prcType) { + BusProcessNew busProcessNew = list.get(0); + + if ("".equals(prcType)){ + String dataId = busProcessNew.getDataId(); + //去对应的 数据表查数据 + + } + + return busProcessNew; + } + /** * 保存任务第一步 * @@ -367,32 +415,34 @@ public class TodoTaskController { if (list != null && list.size() > 0) { BusProcessName busProcessName = list.get(0); // TODO 先存到业务表单中,再存入busProcessName --start -// busProcessName.setMes(approveDataVO.getSubmitJson()); -// busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); -// iBusProcessNameService.saveOrUpdate(busProcessName); + String dataId = this.saveOrUpdateDate(approveDataVO); + busProcessName.setDataId(dataId); + busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); + iBusProcessNameService.saveOrUpdate(busProcessName); // TODO 先存到业务表单中,再存入busProcessName --end } } else { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = sdf.format(new Date()); BusProcessName busProcessName = new BusProcessName(); - // TODO 先存到业务表单中,再存入busProcessName --start -// busProcessName.setPrcType(busMes.getPrcType()); -// busProcessName.setCreatUser(busMes.getCreateUser()); -// busProcessName.setCreatTime(time); -// busProcessName.setMes(busMes.getJson()); -// busProcessName.setCreatUserName(busMes.getCreateUserName()); -// busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); -// iBusProcessNameService.save(busProcessName); -// QueryWrapper queryWrapper = new QueryWrapper<>(); -// queryWrapper.eq("CREAT_TIME", time); -// queryWrapper.eq("CREATE_USER_NAME", busMes.getCreateUserName()); -// queryWrapper.eq("PRC_TYPE", busMes.getPrcType()); -// queryWrapper.eq("CREAT_USER", busMes.getCreateUser()); -// BusProcessName one = iBusProcessNameService.getOne(queryWrapper); -// -// saveId = one.getId(); - // TODO 先存到业务表单中,再存入busProcessName --end + + String dataId = this.saveOrUpdateDate(approveDataVO); + busProcessName.setPrcType(approveDataVO.getPrcType()); + busProcessName.setCreatUser(approveDataVO.getCreateUser()); + busProcessName.setCreatTime(time); + busProcessName.setDataId(dataId); + busProcessName.setCreatUserName(approveDataVO.getCreateUserName()); + busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); + iBusProcessNameService.save(busProcessName); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("CREAT_TIME", time); + queryWrapper.eq("CREATE_USER_NAME", approveDataVO.getCreateUserName()); + queryWrapper.eq("PRC_TYPE", approveDataVO.getPrcType()); + queryWrapper.eq("CREAT_USER", approveDataVO.getCreateUser()); + BusProcessName one = iBusProcessNameService.getOne(queryWrapper); + + saveId = one.getId(); + } return WrapMapper.ok(saveId); } @@ -799,17 +849,17 @@ public class TodoTaskController { } }); + //获取 审批结果 if (StringUtils.isNotEmpty(busProcessName.getTaskId())) { - // TODO 补充审批刘中获取根据任务id获取审批结果的字段, 处理完后解开该段代码 --- start -// List datas = iBusProcessApproveService.haveFinishedFlowDetail(busProcessName.getTaskId()); -// if(CollectionUtils.isNotEmpty(datas)){ -// JSONObject dataJson = JSONObject.parseObject(datas.get(0).getFromValsJson()); -// //获取操作节点人的处理结果 flag 1通过 2驳回 解决禅道bug40164 -// if (StringUtils.isNotEmpty(dataJson.getString("flag"))) { -// busProcessName.setStatus(dataJson.getString("flag")); -// } -// } - // TODO 补充审批刘中获取根据任务id获取审批结果的字段, 处理完后解开该段代码 --- end + BusProcessApprove busProcessApprove = + iBusProcessApproveService.selectEoByPrcIdAndTask(busProcessName.getPrcId(), + busProcessName.getTaskId()); + if(busProcessApprove != null){ + JSONObject dataJson = JSONObject.parseObject(busProcessApprove.getFromValsJson()); + if (StringUtils.isNotEmpty(dataJson.getString("flag"))) { + busProcessName.setStatus(dataJson.getString("flag")); + } + } } Date createTime = null; diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessNew.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessNew.java index dc5758f..aa0148e 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessNew.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessNew.java @@ -44,6 +44,14 @@ public class BusProcessNew implements Serializable { @TableField("DATA_ID") private String dataId; + @ApiModelProperty(value = "具体的业务数据") + @TableField(exist = false) + private String dateMesg; + + @ApiModelProperty(value = "具体的审批数据") + @TableField(exist = false) + private String approveJson; + @ApiModelProperty(value = "节点信息") @TableField("TASK_INFO") private String taskInfo; diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/BusProcessApproveMapper.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/BusProcessApproveMapper.java index 05ecb47..5284af1 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/BusProcessApproveMapper.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/mapper/BusProcessApproveMapper.java @@ -1,8 +1,9 @@ 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; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** *

@@ -14,4 +15,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface BusProcessApproveMapper extends BaseMapper { + @Select("select * from bus_process_approve where prc_id = #{prcId} and task_id = #{taskId}") + BusProcessApprove selectEoByPrcIdAndTask(@Param("prcId") String prcId,@Param("taskId") String taskId); + } diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/IBusProcessApproveService.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/IBusProcessApproveService.java index 14868f9..101afa1 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/IBusProcessApproveService.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/IBusProcessApproveService.java @@ -1,7 +1,6 @@ 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; /** @@ -10,4 +9,6 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface IBusProcessApproveService extends IService { + BusProcessApprove selectEoByPrcIdAndTask(String prcId, String taskId); + } diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/impl/BusProcessApproveServiceImpl.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/impl/BusProcessApproveServiceImpl.java index 21e3bad..af37144 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/impl/BusProcessApproveServiceImpl.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/service/impl/BusProcessApproveServiceImpl.java @@ -1,11 +1,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.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; @@ -20,4 +17,11 @@ import org.springframework.stereotype.Service; @Service public class BusProcessApproveServiceImpl extends ServiceImpl implements IBusProcessApproveService { + + + @Override + public BusProcessApprove selectEoByPrcIdAndTask(String prcId, String taskId) { + + return baseMapper.selectEoByPrcIdAndTask(prcId,taskId); + } }