Commit 1c733588 by 赵剑炜

联调工作流

parent ba297766
...@@ -81,6 +81,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl ...@@ -81,6 +81,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
@Override @Override
public PageResult<Product> findPage(ProductReq req) { public PageResult<Product> findPage(ProductReq req) {
LambdaQueryWrapper<Product> wrapper = createWrapper(req); LambdaQueryWrapper<Product> wrapper = createWrapper(req);
Page<Product> page = this.page(PageFactory.getDefaultPage(), wrapper); Page<Product> page = this.page(PageFactory.getDefaultPage(), wrapper);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
......
...@@ -37,6 +37,7 @@ public class ClearLogAction implements JobAction { ...@@ -37,6 +37,7 @@ public class ClearLogAction implements JobAction {
@Override @Override
public void action() { public void action() {
//获取两月前的日期 //获取两月前的日期
// ConfigExpander.getClearLogOffsetValue()
Integer offset = 60; Integer offset = 60;
//Date maxTime = DateUtil.offsetMonth(new Date(), offset); //Date maxTime = DateUtil.offsetMonth(new Date(), offset);
Date maxTime = DateUtil.offsetDay(new Date(),offset); Date maxTime = DateUtil.offsetDay(new Date(),offset);
......
...@@ -12,9 +12,8 @@ public interface CommonConstants { ...@@ -12,9 +12,8 @@ public interface CommonConstants {
String FORM_VAR="formData"; String FORM_VAR="formData";
String PROCESS_STATUS="processStatus"; String PROCESS_STATUS="processStatus";
String START_USER_INFO="startUser"; String START_USER_INFO="startUser";
String BUSINESS_STATUS_1="1"; //正在处理 String BUSINESS_STATUS_1="正在处理"; //正在处理
String BUSINESS_STATUS_2="2";//撤销 String BUSINESS_STATUS_2="撤销";//撤销
String BUSINESS_STATUS_3="3";//驳回 String BUSINESS_STATUS_3="驳回";//驳回
String BUSINESS_STATUS_4="4";//已结束 String BUSINESS_STATUS_4="已结束";//已结束
} }
...@@ -20,10 +20,17 @@ import com.junmp.junmpProcess.entity.ProcessTemplates; ...@@ -20,10 +20,17 @@ import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.exception.WorkFlowException; import com.junmp.junmpProcess.exception.WorkFlowException;
import com.junmp.junmpProcess.service.Repository.ProcessTemplateService; import com.junmp.junmpProcess.service.Repository.ProcessTemplateService;
import com.junmp.junmpProcess.utils.BpmnConvert; import com.junmp.junmpProcess.utils.BpmnConvert;
import com.junmp.junmpProcess.utils.FormAndOrder;
import com.junmp.junmpProcess.vo.*; import com.junmp.junmpProcess.vo.*;
import com.junmp.jyzb.api.bean.req.ProductSkuReq;
import com.junmp.jyzb.api.bean.vo.TagInfoVo;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.utils.HttpStatus; import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.jyzb.utils.ReturnMsg; import com.junmp.jyzb.utils.ReturnMsg;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows; import lombok.SneakyThrows;
...@@ -93,13 +100,13 @@ public class BpmnController { ...@@ -93,13 +100,13 @@ public class BpmnController {
} }
@ApiOperation("查看我发起的流程") @ApiOperation("查看我发起的流程")
@PostMapping("applyList") @PostMapping("applyList")
public ResponseResult applyList(@RequestBody ApplyDTO ApplyDTO) { public PageResult<HistoryProcessInstanceVO> applyList(@RequestBody ApplyDTO ApplyDTO) {
return WorkProcessService.applyList(ApplyDTO); return WorkProcessService.applyList(ApplyDTO);
} }
@ApiOperation("查看我的待办") @ApiOperation("查看我的待办")
@PostMapping("toDoList") @PostMapping("toDoList")
public ResponseResult toDoList(@RequestBody TaskDTO taskDTO){ public PageResult<TaskVO> toDoList(@RequestBody TaskDTO taskDTO){
return WorkProcessService.toDoList(taskDTO); return WorkProcessService.toDoList(taskDTO);
} }
@ApiOperation("同意按钮") @ApiOperation("同意按钮")
...@@ -107,6 +114,12 @@ public class BpmnController { ...@@ -107,6 +114,12 @@ public class BpmnController {
public ResponseResult agree(@RequestBody HandleDataDTO handleDataDTO){ public ResponseResult agree(@RequestBody HandleDataDTO handleDataDTO){
return WorkProcessService.agree(handleDataDTO); return WorkProcessService.agree(handleDataDTO);
} }
@ApiOperation("撤销按钮")
@PostMapping("revoke")
public ResponseResult revoke(@RequestBody HandleDataDTO handleDataDTO){
return WorkProcessService.revoke(handleDataDTO);
}
@ApiOperation("拒绝按钮") @ApiOperation("拒绝按钮")
@PostMapping("refuse") @PostMapping("refuse")
public ResponseResult refuse(@RequestBody HandleDataDTO handleDataDTO){ public ResponseResult refuse(@RequestBody HandleDataDTO handleDataDTO){
...@@ -120,32 +133,19 @@ public class BpmnController { ...@@ -120,32 +133,19 @@ public class BpmnController {
*/ */
@ApiOperation("根据ID获取表单信息") @ApiOperation("根据ID获取表单信息")
@PostMapping(value = "getFormTemplateById") @PostMapping(value = "getFormTemplateById")
public ResponseResult getFormTemplateById(String templateId) { public ResponseResult getFormTemplateById(@RequestBody Map<String,Object> templateId) {
ProcessTemplates processTemplates = processTemplateService.getById(templateId); String temp= templateId.get("templateId").toString();
ProcessTemplates processTemplates = processTemplateService.getById(temp);
processTemplates.setFormId(processTemplates.getTemplateId()); processTemplates.setFormId(processTemplates.getTemplateId());
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,processTemplates); return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,processTemplates);
} }
/**
* 查询表单模板数据
*
* @return 模板详情数据
*/
@ApiOperation("获取全部可用的表单和审核流") @ApiOperation("获取全部可用的表单和审核流")
@GetMapping(value = "getFormList") @GetMapping(value = "getFormList")
public ResponseResult getFormList( ) { public ApiRes<PageResult<TemplateGroupVo>> getFormList(BaseRequest br) {
return WorkProcessService.getFormList(); return ApiRes.success(WorkProcessService.getFormList(br));
} }
/**
* 查询表单模板数据
*
* @param templateId 模板id
* @return 模板详情数据
*/
@ApiOperation("通过模板id查看流程信息")
@GetMapping("getFormDetail")
public ResponseResult getFormDetail(@RequestParam("templateId") String templateId){
return WorkProcessService.getFormDetail(templateId);
}
} }
...@@ -10,6 +10,7 @@ import lombok.Data; ...@@ -10,6 +10,7 @@ import lombok.Data;
@Data @Data
public class UserInfo { public class UserInfo {
private String id; private String id;
private String userId;
private String name; private String name;
private String type; private String type;
private String sex; private String sex;
......
...@@ -2,28 +2,23 @@ package com.junmp.junmpProcess.entity; ...@@ -2,28 +2,23 @@ package com.junmp.junmpProcess.entity;
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 lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** /**
* (ProcessTemplates)实体类 * @author : willian fu
* * @date : 2020/9/21
* @author makejava
* @since 2020-09-21 22:50:29
*/ */
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "process_templates")
@Builder @Builder
public class ProcessTemplates implements Serializable { @NoArgsConstructor
@AllArgsConstructor
public class ProcessTemplates {
private static final long serialVersionUID = -95829441258242072L; private static final long serialVersionUID = -95829441258242072L;
@TableId @TableId
...@@ -33,9 +28,9 @@ public class ProcessTemplates implements Serializable { ...@@ -33,9 +28,9 @@ public class ProcessTemplates implements Serializable {
private String templateId; private String templateId;
@TableField(exist = false) @TableField(exist = false)
private String formId; private String formId;
private String formName; private String formName;
private String orgId;
@TableField(exist = false)
private Integer groupId; private Integer groupId;
/** /**
* 摸板表单 * 摸板表单
...@@ -53,22 +48,13 @@ public class ProcessTemplates implements Serializable { ...@@ -53,22 +48,13 @@ public class ProcessTemplates implements Serializable {
* 图标背景色 * 图标背景色
*/ */
private String background; private String background;
private String notify;
/**
* 谁能提交
*/
private String whoCommit;
/**
* 谁能编辑
*/
private String whoEdit;
/** /**
* 谁能导出数据 * 图标背景色
*/ */
private String whoExport;
private String remark; private String remark;
private String notify;
/** /**
* 是否已停用 * 是否已停用
*/ */
......
package com.junmp.junmpProcess.entity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author : willian fu
* @date : 2020/9/21
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TemplateGroupBo {
private Integer id;
private Integer groupId;
private String groupName;
private String templateId;
private String formName;
private String icon;
private Boolean isStop;
private String remark;
private Date updated;
private String background;
}
package com.junmp.junmpProcess.mapper; package com.junmp.junmpProcess.mapper;
import com.junmp.junmpProcess.dto.UserListDTO; import com.junmp.junmpProcess.dto.UserListDTO;
import com.junmp.junmpProcess.entity.TemplateGroupBo;
import com.junmp.v2.sys.api.UserServiceApi;
import com.junmp.v2.sys.api.bean.user.dto.RoleUserDto;
import com.junmp.v2.sys.api.bean.user.vo.QueryUserInfoVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
......
...@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import com.junmp.junmpProcess.entity.TemplateGroup; import com.junmp.junmpProcess.entity.TemplateGroup;
import com.junmp.junmpProcess.entity.TemplateGroupBo; import com.junmp.junmpProcess.entity.ProcessTemplates;
import java.util.List; import java.util.List;
...@@ -23,5 +23,5 @@ public interface TemplateGroupMapper extends BaseMapper<TemplateGroup> { ...@@ -23,5 +23,5 @@ public interface TemplateGroupMapper extends BaseMapper<TemplateGroup> {
*/ */
@Select("SELECT pt.template_id, pt.remark, pt.is_stop, pt.updated, pt.form_name, \n" + @Select("SELECT pt.template_id, pt.remark, pt.is_stop, pt.updated, pt.form_name, \n" +
" pt.icon, pt.background FROM process_templates pt ORDER BY updated desc") " pt.icon, pt.background FROM process_templates pt ORDER BY updated desc")
List<TemplateGroupBo> getAllFormAndGroups(); List<ProcessTemplates> getAllFormAndGroups();
} }
...@@ -10,7 +10,10 @@ import com.junmp.junmpProcess.dto.StartProcessInstanceDTO; ...@@ -10,7 +10,10 @@ import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.junmpProcess.dto.TaskDTO; import com.junmp.junmpProcess.dto.TaskDTO;
import com.junmp.junmpProcess.entity.ProcessTemplates; import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.vo.*; import com.junmp.junmpProcess.vo.*;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.db.api.page.PageResult;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
...@@ -46,7 +49,7 @@ public interface WorkProcessService { ...@@ -46,7 +49,7 @@ public interface WorkProcessService {
* *
* @return * @return
*/ */
ResponseResult getFormList(); PageResult<TemplateGroupVo> getFormList(BaseRequest br);
/** /**
...@@ -68,14 +71,14 @@ public interface WorkProcessService { ...@@ -68,14 +71,14 @@ public interface WorkProcessService {
* *
* @return * @return
*/ */
ResponseResult applyList(ApplyDTO applyDTO); PageResult<HistoryProcessInstanceVO> applyList(ApplyDTO applyDTO);
/** /**
* 查看我的待办 * 查看我的待办
* *
* @return * @return
*/ */
ResponseResult toDoList(TaskDTO taskDTO); PageResult<TaskVO> toDoList(TaskDTO taskDTO);
/** /**
* 查看我的已办 * 查看我的已办
...@@ -92,6 +95,12 @@ public interface WorkProcessService { ...@@ -92,6 +95,12 @@ public interface WorkProcessService {
ResponseResult agree(HandleDataDTO handleDataDTO); ResponseResult agree(HandleDataDTO handleDataDTO);
/** /**
* 同意
*
* @return
*/
ResponseResult revoke(HandleDataDTO handleDataDTO);
/**
* 委派 * 委派
* *
* @return * @return
...@@ -112,12 +121,7 @@ public interface WorkProcessService { ...@@ -112,12 +121,7 @@ public interface WorkProcessService {
*/ */
ResponseResult refuse(HandleDataDTO handleDataDTO); ResponseResult refuse(HandleDataDTO handleDataDTO);
/**
* 撤销按钮
*
* @return
*/
Result revoke(HandleDataDTO handleDataDTO);
/** /**
* 转办按钮 * 转办按钮
......
...@@ -2,22 +2,23 @@ package com.junmp.junmpProcess.service.Bussiness.impl; ...@@ -2,22 +2,23 @@ package com.junmp.junmpProcess.service.Bussiness.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.PageUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.junmp.junmpProcess.common.R;
import com.junmp.junmpProcess.dto.*; import com.junmp.junmpProcess.dto.*;
import com.junmp.junmpProcess.dto.json.*; import com.junmp.junmpProcess.dto.json.*;
import com.junmp.junmpProcess.entity.TemplateGroupBo; import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.exception.WorkFlowException; import com.junmp.junmpProcess.exception.WorkFlowException;
import com.junmp.junmpProcess.mapper.ProcessTemplatesMapper;
import com.junmp.junmpProcess.mapper.TemplateGroupMapper; import com.junmp.junmpProcess.mapper.TemplateGroupMapper;
import com.junmp.junmpProcess.service.Bussiness.WorkProcessService; import com.junmp.junmpProcess.service.Bussiness.WorkProcessService;
import com.junmp.junmpProcess.service.Repository.ProcessTemplateService; import com.junmp.junmpProcess.service.Repository.ProcessTemplateService;
...@@ -27,10 +28,13 @@ import com.junmp.junmpProcess.vo.*; ...@@ -27,10 +28,13 @@ import com.junmp.junmpProcess.vo.*;
import com.junmp.jyzb.utils.HttpStatus; import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.jyzb.utils.ReturnMsg; import com.junmp.jyzb.utils.ReturnMsg;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
import org.flowable.bpmn.BpmnAutoLayout; import org.flowable.bpmn.BpmnAutoLayout;
import org.flowable.bpmn.converter.BpmnXMLConverter;
import org.flowable.bpmn.model.*; import org.flowable.bpmn.model.*;
import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.Process;
import org.flowable.common.engine.impl.identity.Authentication; import org.flowable.common.engine.impl.identity.Authentication;
...@@ -56,13 +60,11 @@ import com.junmp.junmpProcess.common.Result; ...@@ -56,13 +60,11 @@ import com.junmp.junmpProcess.common.Result;
import com.junmp.junmpProcess.common.WorkFlowConstants; import com.junmp.junmpProcess.common.WorkFlowConstants;
import com.junmp.junmpProcess.dto.json.flowJson.FlowChildNode; import com.junmp.junmpProcess.dto.json.flowJson.FlowChildNode;
import com.junmp.junmpProcess.dto.json.flowJson.Inout; import com.junmp.junmpProcess.dto.json.flowJson.Inout;
import com.junmp.junmpProcess.entity.ProcessTemplates;
import org.flowable.task.service.impl.persistence.entity.TaskEntity; import org.flowable.task.service.impl.persistence.entity.TaskEntity;
import org.flowable.task.service.impl.persistence.entity.TaskEntityImpl; import org.flowable.task.service.impl.persistence.entity.TaskEntityImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.junmp.junmpProcess.utils.BpmnConvert;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.*;
...@@ -75,13 +77,15 @@ import static com.junmp.junmpProcess.utils.BpmnModelUtils.*; ...@@ -75,13 +77,15 @@ import static com.junmp.junmpProcess.utils.BpmnModelUtils.*;
@Service @Service
public class WorkProcessServiceImpl implements WorkProcessService { public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper, ProcessTemplates> implements WorkProcessService {
@Autowired @Autowired
private ProcessTemplateService processTemplateService; private ProcessTemplateService processTemplateService;
@Resource @Resource
private RepositoryService repositoryService; private RepositoryService repositoryService;
@Resource @Resource
private RuntimeService runtimeService; private RuntimeService runtimeService;
@Resource @Resource
...@@ -146,24 +150,26 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -146,24 +150,26 @@ public class WorkProcessServiceImpl implements WorkProcessService {
} }
} }
public ResponseResult getFormList() public PageResult<TemplateGroupVo> getFormList(BaseRequest br)
{ {
TemplateGroupMapper templateGroupMapper = SpringContextHolder.getBean(TemplateGroupMapper.class); TemplateGroupMapper templateGroupMapper = SpringContextHolder.getBean(TemplateGroupMapper.class);
List<TemplateGroupBo> allformAndGroups = templateGroupMapper.getAllFormAndGroups(); Page<ProcessTemplates> allformAndGroups =this.page(PageFactory.getDefaultPage());
Map<Integer, List<TemplateGroupBo>> coverMap = new LinkedHashMap<>(); templateGroupMapper.getAllFormAndGroups();
allformAndGroups.forEach(fg -> { Map<Integer, List<ProcessTemplates>> coverMap = new LinkedHashMap<>();
List<TemplateGroupBo> bos = coverMap.get(fg.getGroupId()); allformAndGroups.getRecords().forEach(fg -> {
List<ProcessTemplates> bos = coverMap.get(fg.getGroupId());
if (CollectionUtil.isEmpty(bos)) { if (CollectionUtil.isEmpty(bos)) {
List<TemplateGroupBo> list = new ArrayList<>(); List<ProcessTemplates> list = new ArrayList<>();
list.add(fg); list.add(fg);
coverMap.put(fg.getGroupId(), list); coverMap.put(fg.getGroupId(), list);
} else { } else {
bos.add(fg); bos.add(fg);
} }
}); });
List<TemplateGroupVo> results = new ArrayList<>(); PageResult<TemplateGroupVo> pageResult=new PageResult<TemplateGroupVo>();
coverMap.forEach((key, val) -> { coverMap.forEach((key, val) -> {
List<TemplateGroupVo.Template> templates = new ArrayList<>(); List<TemplateGroupVo> templates = new ArrayList<>();
val.forEach(v -> { val.forEach(v -> {
if (ObjectUtil.isNotNull(v.getTemplateId())) { if (ObjectUtil.isNotNull(v.getTemplateId())) {
String defId=""; String defId="";
...@@ -175,7 +181,7 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -175,7 +181,7 @@ public class WorkProcessServiceImpl implements WorkProcessService {
{ {
defId=ProDef.getId(); defId=ProDef.getId();
} }
templates.add(TemplateGroupVo.Template.builder() templates.add(TemplateGroupVo.builder()
.formId(v.getTemplateId()) .formId(v.getTemplateId())
.remark(v.getRemark()) .remark(v.getRemark())
.formName(v.getFormName()) .formName(v.getFormName())
...@@ -186,9 +192,13 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -186,9 +192,13 @@ public class WorkProcessServiceImpl implements WorkProcessService {
.build()); .build());
} }
}); });
results.add(TemplateGroupVo.builder().items(templates).build()); pageResult.setRecords( templates);
}); });
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,results.get(0)); pageResult.setPageSize(allformAndGroups.getSize());
pageResult.setTotalRows( allformAndGroups.getTotal());
pageResult.setPageNo(allformAndGroups.getPages());
pageResult.setTotalPage(PageUtil.totalPage(Convert.toInt(pageResult.getTotalRows()), Convert.toInt(pageResult.getPageSize())));
return pageResult;
} }
public ResponseResult createBpmn(ProcessVO processVO) throws JsonProcessingException { public ResponseResult createBpmn(ProcessVO processVO) throws JsonProcessingException {
//流程定义 //流程定义
...@@ -205,7 +215,7 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -205,7 +215,7 @@ public class WorkProcessServiceImpl implements WorkProcessService {
processTemplates.setFormName(processVO.getFormName()); processTemplates.setFormName(processVO.getFormName());
processTemplates.setIsStop(false); processTemplates.setIsStop(false);
Date date= new Date(); Date date= new Date();
processTemplates.setCreated(date);
processTemplates.setUpdated(date); processTemplates.setUpdated(date);
processTemplateService.save(processTemplates); processTemplateService.save(processTemplates);
//将json转换为bpmn //将json转换为bpmn
...@@ -253,8 +263,8 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -253,8 +263,8 @@ public class WorkProcessServiceImpl implements WorkProcessService {
@Override @Override
public ResponseResult getFormDetail(String templateId) { public ResponseResult getFormDetail(String templateId) {
ProcessTemplates processTemplates = processTemplateService.getById(templateId); ProcessTemplates processTemplates = processTemplateService.getById(templateId);
processTemplates.setLogo(processTemplates.getIcon()); processTemplates.setIcon(processTemplates.getIcon());
processTemplates.setFormId(processTemplates.getTemplateId()); processTemplates.setTemplateId(processTemplates.getTemplateId());
processTemplates.setFormName(processTemplates.getFormName()); processTemplates.setFormName(processTemplates.getFormName());
Object aa= repositoryService.createProcessDefinitionQuery(); Object aa= repositoryService.createProcessDefinitionQuery();
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("Process_"+templateId).latestVersion().singleResult(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey("Process_"+templateId).latestVersion().singleResult();
...@@ -498,11 +508,15 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -498,11 +508,15 @@ public class WorkProcessServiceImpl implements WorkProcessService {
JSONObject formData = processInstanceDto.getFormData(); JSONObject formData = processInstanceDto.getFormData();
JunmpUserInfo startUserInfo = processInstanceDto.getStartUserInfo(); JunmpUserInfo startUserInfo = processInstanceDto.getStartUserInfo();
Authentication.setAuthenticatedUserId(startUserInfo.getUserId());
Map<String,Object> processVariables= new HashMap<>(); Map<String,Object> processVariables= new HashMap<>();
processVariables.put(FORM_VAR,formData); processVariables.put(FORM_VAR,formData);
processVariables.put(START_USER_INFO,JSONObject.toJSONString(startUserInfo)); processVariables.put(START_USER_INFO,JSONObject.toJSONString(startUserInfo));
processVariables.put(PROCESS_STATUS,BUSINESS_STATUS_1);
// processVariables.put("initiator",JSONObject.toJSONString(startUserInfo));
ArrayList<JunmpUserInfo> userInfos = CollUtil.newArrayList(startUserInfo); ArrayList<JunmpUserInfo> userInfos = CollUtil.newArrayList(startUserInfo);
Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() { Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() {
}); });
...@@ -515,6 +529,7 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -515,6 +529,7 @@ public class WorkProcessServiceImpl implements WorkProcessService {
.variable("initiator",startUserInfo.getUserId()) .variable("initiator",startUserInfo.getUserId())
.variables(processVariables) .variables(processVariables)
.businessStatus(BUSINESS_STATUS_1) .businessStatus(BUSINESS_STATUS_1)
.start(); .start();
//手动完成第一个任务 //手动完成第一个任务
...@@ -546,7 +561,12 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -546,7 +561,12 @@ public class WorkProcessServiceImpl implements WorkProcessService {
* @return * @return
*/ */
@Override @Override
public ResponseResult applyList(ApplyDTO applyDTO) { public PageResult<HistoryProcessInstanceVO> applyList(ApplyDTO applyDTO) {
PageResult<HistoryProcessInstanceVO> pageResult=new PageResult<HistoryProcessInstanceVO>();
// List<Task> tasks = taskService.createTaskQuery()
// .taskCandidateOrAssigned(applyDTO.getCurrentUserInfo().getId())
// .list();
// List<Task> list = taskService.createTaskQuery().processInstanceId(processInstanceId).list();
List<HistoricProcessInstance> historicProcessInstances = List<HistoricProcessInstance> historicProcessInstances =
historyService.createHistoricProcessInstanceQuery() historyService.createHistoricProcessInstanceQuery()
.includeProcessVariables() .includeProcessVariables()
...@@ -570,7 +590,6 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -570,7 +590,6 @@ public class WorkProcessServiceImpl implements WorkProcessService {
historyProcessInstanceVO.setCurrentActivityName(getCurrentName(historicProcessInstance.getId(), flag, historicProcessInstance.getProcessDefinitionId())); historyProcessInstanceVO.setCurrentActivityName(getCurrentName(historicProcessInstance.getId(), flag, historicProcessInstance.getProcessDefinitionId()));
historyProcessInstanceVO.setBusinessStatus(MapUtil.getStr(processVariables, PROCESS_STATUS)); historyProcessInstanceVO.setBusinessStatus(MapUtil.getStr(processVariables, PROCESS_STATUS));
long totalTimes = historicProcessInstance.getEndTime() == null ? long totalTimes = historicProcessInstance.getEndTime() == null ?
(Calendar.getInstance().getTimeInMillis() - historicProcessInstance.getStartTime().getTime()) : (Calendar.getInstance().getTimeInMillis() - historicProcessInstance.getStartTime().getTime()) :
(historicProcessInstance.getEndTime().getTime() - historicProcessInstance.getStartTime().getTime()); (historicProcessInstance.getEndTime().getTime() - historicProcessInstance.getStartTime().getTime());
...@@ -584,11 +603,12 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -584,11 +603,12 @@ public class WorkProcessServiceImpl implements WorkProcessService {
historyProcessInstanceVO.setDuration(spendTimes); historyProcessInstanceVO.setDuration(spendTimes);
historyProcessInstanceVOS.add(historyProcessInstanceVO); historyProcessInstanceVOS.add(historyProcessInstanceVO);
} }
page.setRecords(historyProcessInstanceVOS); pageResult.setRecords(historyProcessInstanceVOS);
page.setCurrent(applyDTO.getPageNo()); pageResult.setTotalRows(Long.valueOf(applyDTO.getPageNo()));
page.setSize(applyDTO.getPageSize()); pageResult.setTotalPage(PageUtil.totalPage((int) count, Convert.toInt(pageResult.getPageSize())));
page.setTotal(count); pageResult.setPageSize(Long.valueOf(applyDTO.getPageSize()));
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,page); pageResult.setPageNo(Long.valueOf(applyDTO.getPageNo()));
return pageResult;
} }
/** /**
...@@ -597,7 +617,7 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -597,7 +617,7 @@ public class WorkProcessServiceImpl implements WorkProcessService {
* @return * @return
*/ */
@Override @Override
public ResponseResult toDoList(TaskDTO taskDTO) { public PageResult<TaskVO> toDoList(TaskDTO taskDTO) {
List<Task> tasks = taskService.createTaskQuery().taskAssignee(taskDTO.getCurrentUserInfo().getUserId()) List<Task> tasks = taskService.createTaskQuery().taskAssignee(taskDTO.getCurrentUserInfo().getUserId())
.includeProcessVariables() .includeProcessVariables()
.orderByTaskCreateTime().desc() .orderByTaskCreateTime().desc()
...@@ -605,24 +625,21 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -605,24 +625,21 @@ public class WorkProcessServiceImpl implements WorkProcessService {
long count = taskService.createTaskQuery().taskAssignee(taskDTO.getCurrentUserInfo().getUserId()).count(); long count = taskService.createTaskQuery().taskAssignee(taskDTO.getCurrentUserInfo().getUserId()).count();
List<TaskVO> taskVOS= new ArrayList<>(); List<TaskVO> taskVOS= new ArrayList<>();
Page<TaskVO> page =new Page<>(); Page<TaskVO> page =new Page<>();
for (Task task : tasks) {
// List<String> taskIds= new ArrayList<>();
// for (Task task : tasks) {
// Map<String, Object> processVariables = task.getProcessVariables();
// }
// Map<Long, JunmpUserInfo> collect=new HashMap<>();
for (Task task : tasks) {
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult(); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
String startUserId = processInstance.getStartUserId();
BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId()); BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());
Map<String, Object> processVariables = task.getProcessVariables(); Map<String, Object> processVariables = task.getProcessVariables();
TaskVO taskVO=new TaskVO(); TaskVO taskVO=new TaskVO();
taskVO.setTaskId(task.getId()); taskVO.setTaskId(task.getId());
taskVO.setProcessInstanceId(task.getProcessInstanceId()); taskVO.setProcessInstanceId(task.getProcessInstanceId());
taskVO.setProcessDefinitionName(bpmnModel.getMainProcess().getName()); taskVO.setProcessDefinitionName(bpmnModel.getMainProcess().getName());
taskVO.setStartUser(JSONObject.parseObject(MapUtil.getStr(processVariables,START_USER_INFO),new TypeReference<UserInfo>(){})); UserInfo user=new UserInfo();
user.setId(startUserId);
taskVO.setStartUser(user);
taskVO.setStartTime(processInstance.getStartTime()); taskVO.setStartTime(processInstance.getStartTime());
taskVO.setCurrentActivityName(getCurrentName(processInstance.getId(),false,processInstance.getProcessDefinitionId())); taskVO.setCurrentActivityName(getCurrentName(processInstance.getId(),false,processInstance.getProcessDefinitionId()));
...@@ -634,11 +651,10 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -634,11 +651,10 @@ public class WorkProcessServiceImpl implements WorkProcessService {
} }
taskVOS.add(taskVO); taskVOS.add(taskVO);
} }
page.setRecords(taskVOS); page.setRecords(taskVOS);
page.setCurrent(taskDTO.getPageNo()); return PageResultFactory.createPageResult(page);
page.setSize(taskDTO.getPageSize());
page.setTotal(count);
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,page);
} }
...@@ -695,6 +711,40 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -695,6 +711,40 @@ public class WorkProcessServiceImpl implements WorkProcessService {
return Result.OK(page); return Result.OK(page);
} }
@Override
public ResponseResult revoke(HandleDataDTO handleDataDTO) {
UserInfo currentUserInfo = handleDataDTO.getCurrentUserInfo();
Authentication.setAuthenticatedUserId(currentUserInfo.getId());
List<AttachmentDTO> attachments = handleDataDTO.getAttachments();
String comments = handleDataDTO.getComments();
JSONObject formData = handleDataDTO.getFormData();
String taskId = handleDataDTO.getTaskId();
HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult();
Map<String,Object> map=new HashMap<>();
if(formData!=null &&formData.size()>0){
Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() {
});
map.putAll(formValue);
map.put(FORM_VAR,formData);
}
map.put(PROCESS_STATUS,BUSINESS_STATUS_2);
runtimeService.setVariables(task.getProcessInstanceId(),map);
if(StringUtils.isNotBlank(comments)){
taskService.addComment(task.getId(),task.getProcessInstanceId(),"opinion",comments);
}
if(attachments!=null && attachments.size()>0){
for (AttachmentDTO attachment : attachments) {
taskService.createAttachment("option",taskId,task.getProcessInstanceId(),attachment.getName(),attachment.getName(),attachment.getUrl());
}
}
if(StringUtils.isNotBlank(handleDataDTO.getSignInfo())){
taskService.addComment(task.getId(),task.getProcessInstanceId(),"sign",handleDataDTO.getSignInfo());
}
runtimeService.deleteProcessInstance(task.getProcessInstanceId(),"撤销");
return new ResponseResult(HttpStatus.SUCCESS,ReturnMsg.PASS,"");
}
@Override @Override
public ResponseResult agree(HandleDataDTO handleDataDTO) { public ResponseResult agree(HandleDataDTO handleDataDTO) {
UserInfo currentUserInfo = handleDataDTO.getCurrentUserInfo(); UserInfo currentUserInfo = handleDataDTO.getCurrentUserInfo();
...@@ -755,10 +805,6 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -755,10 +805,6 @@ public class WorkProcessServiceImpl implements WorkProcessService {
} }
} }
@Override @Override
...@@ -867,39 +913,6 @@ public class WorkProcessServiceImpl implements WorkProcessService { ...@@ -867,39 +913,6 @@ public class WorkProcessServiceImpl implements WorkProcessService {
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,""); return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,"");
} }
@Override
public Result revoke(HandleDataDTO handleDataDTO) {
UserInfo currentUserInfo = handleDataDTO.getCurrentUserInfo();
Authentication.setAuthenticatedUserId(currentUserInfo.getId());
List<AttachmentDTO> attachments = handleDataDTO.getAttachments();
String comments = handleDataDTO.getComments();
JSONObject formData = handleDataDTO.getFormData();
String taskId = handleDataDTO.getTaskId();
HistoricTaskInstance task = historyService.createHistoricTaskInstanceQuery().taskId(taskId).singleResult();
Map<String, Object> map = new HashMap<>();
if (formData != null && formData.size() > 0) {
Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() {
});
map.putAll(formValue);
map.put(FORM_VAR, formData);
}
map.put(PROCESS_STATUS, BUSINESS_STATUS_2);
runtimeService.setVariables(task.getProcessInstanceId(), map);
if (StringUtils.isNotBlank(comments)) {
taskService.addComment(task.getId(), task.getProcessInstanceId(), "opinion", comments);
}
if (attachments != null && attachments.size() > 0) {
for (AttachmentDTO attachment : attachments) {
taskService.createAttachment("option", taskId, task.getProcessInstanceId(), attachment.getName(), attachment.getName(), attachment.getUrl());
}
}
if (StringUtils.isNotBlank(handleDataDTO.getSignInfo())) {
taskService.addComment(task.getId(), task.getProcessInstanceId(), "sign", handleDataDTO.getSignInfo());
}
runtimeService.deleteProcessInstance(task.getProcessInstanceId(), "撤销");
return Result.OK();
}
@Override @Override
public Result assignee(HandleDataDTO handleDataDTO) { public Result assignee(HandleDataDTO handleDataDTO) {
......
package com.junmp.junmpProcess.utils;
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 lombok.Data;
import java.io.Serializable;
import java.sql.Time;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/29 16:19
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
public class FormAndOrder {
private Long formId;
/**
* 号型代码
*/
private String processDefinitionId;
/**
*
*/
@TableField(value = "sku_code")
private String formName;
/**
*
*/
private String isStop;
/**
*
*/
private String remark;
/**
*
*/
private Time updated;
/**
*
*/
private String templateId;
}
...@@ -17,23 +17,13 @@ import java.util.List; ...@@ -17,23 +17,13 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class TemplateGroupVo { public class TemplateGroupVo {
private String formId;
private List<Template> items; private String processDefinitionId;
private String formName;
@Data private Boolean isStop;
@Builder private String remark;
@AllArgsConstructor private String updated;
@NoArgsConstructor private String templateId;
public static class Template {
private String formId;
private String processDefinitionId;
private String formName;
private Boolean isStop;
private String remark;
private String updated;
private String templateId;
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论