feat(标准宣贯流程): 基础模块
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.common;
|
||||
|
||||
/**
|
||||
* @ClassName: EsDeclareCommon
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 09:56
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public class EsDeclareCommon {
|
||||
private EsDeclareCommon(){
|
||||
|
||||
}
|
||||
}
|
||||
+71
@@ -0,0 +1,71 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.api.vo.ResultCommon;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.common.util.SnowflakeUtils;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IEsDeclareFlowService;
|
||||
import com.jero.modules.activiti.process.esdeclare.vo.EsDeclareFlowVO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @ClassName: EsDeclareController
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 09:58
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Api(tags="标准宣贯流程")
|
||||
@RestController
|
||||
@RequestMapping("/esinspect/esDeclareFlowController")
|
||||
@Slf4j
|
||||
public class EsDeclareFlowController {
|
||||
private final IEsDeclareFlowService esDeclareFlowService;
|
||||
|
||||
public EsDeclareFlowController(IEsDeclareFlowService esDeclareFlowService) {
|
||||
this.esDeclareFlowService = esDeclareFlowService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-生成项目id
|
||||
* @return 项目id
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯流程-生成项目id")
|
||||
@ApiOperation(value="标准宣贯流程-生成项目id", notes="标准宣贯流程-生成项目id")
|
||||
@GetMapping(value = "/getProjectId")
|
||||
public String getProjectId() {
|
||||
return String.valueOf(SnowflakeUtils.snowflake());
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-流程发起
|
||||
* @param esDeclareFlowVO 标准宣贯流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯流程-流程发起")
|
||||
@ApiOperation(value="标准宣贯流程-流程发起", notes="标准宣贯流程-流程发起")
|
||||
@PostMapping(value = "/flowStart")
|
||||
public Result<T> flowStart(@RequestBody EsDeclareFlowVO esDeclareFlowVO) {
|
||||
esDeclareFlowService.flowStart(esDeclareFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-流程保存
|
||||
* @param esDeclareFlowVO 标准宣贯流程VO对象
|
||||
* @return 结果对象
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯流程-流程保存")
|
||||
@ApiOperation(value="标准宣贯流程-流程保存", notes="标准宣贯流程-流程保存")
|
||||
@PostMapping(value = "/flowSave")
|
||||
public Result<T> flowSave(@RequestBody EsDeclareFlowVO esDeclareFlowVO) {
|
||||
esDeclareFlowService.flowSave(esDeclareFlowVO);
|
||||
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
|
||||
}
|
||||
|
||||
}
|
||||
+194
@@ -0,0 +1,194 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IProcessEsDeclareService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 标准宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="标准宣贯业务表")
|
||||
@RestController
|
||||
@RequestMapping("/esdeclare/processEsDeclare")
|
||||
@Slf4j
|
||||
public class ProcessEsDeclareController extends JeroController<ProcessEsDeclare, IProcessEsDeclareService> {
|
||||
@Autowired
|
||||
private IProcessEsDeclareService processEsDeclareService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-分页列表查询")
|
||||
@ApiOperation(value="标准宣贯业务表-分页列表查询", notes="标准宣贯业务表-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<ProcessEsDeclare>> queryPageList(ProcessEsDeclare processEsDeclare,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
IPage<ProcessEsDeclare> pageList = processEsDeclareService.queryPage(processEsDeclare, pageNo, pageSize, req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-列表查询")
|
||||
@ApiOperation(value="标准宣贯业务表-列表查询", notes="标准宣贯业务表-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<ProcessEsDeclare>> queryList(ProcessEsDeclare processEsDeclare, HttpServletRequest req) {
|
||||
List<ProcessEsDeclare> list = processEsDeclareService.queryList(processEsDeclare, req);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-添加")
|
||||
@ApiOperation(value="标准宣贯业务表-添加", notes="标准宣贯业务表-添加")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<T> add(@Validated @RequestBody ProcessEsDeclare processEsDeclare) {
|
||||
processEsDeclareService.add(processEsDeclare);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-编辑")
|
||||
@ApiOperation(value="标准宣贯业务表-编辑", notes="标准宣贯业务表-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<T> edit(@Validated @RequestBody ProcessEsDeclare processEsDeclare) {
|
||||
processEsDeclareService.editById(processEsDeclare);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-通过id删除")
|
||||
@ApiOperation(value="标准宣贯业务表-通过id删除", notes="标准宣贯业务表-通过id删除")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<T> delete(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
processEsDeclareService.deleteById(map.get("id"));
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param map
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-批量删除")
|
||||
@ApiOperation(value="标准宣贯业务表-批量删除", notes="标准宣贯业务表-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result<T> deleteBatch(@RequestBody Map<String, String> map) {
|
||||
if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){
|
||||
return Result.error("请选择数据!");
|
||||
}
|
||||
this.processEsDeclareService.deleteByIds(Arrays.asList(map.get("ids").split(",")));
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-通过id查询")
|
||||
@ApiOperation(value="标准宣贯业务表-通过id查询", notes="标准宣贯业务表-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<ProcessEsDeclare> queryById(@RequestParam(name="id",required=true) String id) {
|
||||
ProcessEsDeclare processEsDeclare = processEsDeclareService.queryById(id);
|
||||
if(processEsDeclare==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsDeclare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过项目id查询
|
||||
*
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "标准宣贯业务表-通过项目id查询")
|
||||
@ApiOperation(value="标准宣贯业务表-通过项目id查询", notes="标准宣贯业务表-通过项目id查询")
|
||||
@GetMapping(value = "/queryByProjectId")
|
||||
public Result<ProcessEsDeclare> queryByProjectId(String projectId) {
|
||||
ProcessEsDeclare processEsDeclare = processEsDeclareService.queryByProjectId(projectId);
|
||||
if(processEsDeclare==null) {
|
||||
return Result.error("未找到对应数据");
|
||||
}
|
||||
return Result.OK(processEsDeclare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出excel
|
||||
*
|
||||
* @param request
|
||||
* @param processEsDeclare
|
||||
*/
|
||||
@RequestMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, ProcessEsDeclare processEsDeclare) {
|
||||
return super.exportXls(request, processEsDeclare, ProcessEsDeclare.class, "标准宣贯业务表");
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过excel导入数据
|
||||
*
|
||||
* @param request
|
||||
* @param response
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||
public Result<ProcessEsDeclare> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||
return super.importExcel(request, response, ProcessEsDeclare.class);
|
||||
}
|
||||
|
||||
}
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.laws.documenttool.entity.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("process_es_declare")
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_es_declare对象", description="企标宣贯业务表")
|
||||
public class ProcessEsDeclare extends BaseEntity {
|
||||
/**企标id*/
|
||||
@Excel(name = "企标id", width = 15)
|
||||
@ApiModelProperty(value = "企标id")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String standardId;
|
||||
/**企标编号*/
|
||||
@Excel(name = "企标编号", width = 15)
|
||||
@ApiModelProperty(value = "企标编号")
|
||||
private java.lang.String standardNo;
|
||||
/**企标名称*/
|
||||
@Excel(name = "企标名称", width = 15)
|
||||
@ApiModelProperty(value = "企标名称")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String standardName;
|
||||
/**宣贯日期*/
|
||||
@Excel(name = "宣贯日期", width = 15, format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
@ApiModelProperty(value = "宣贯日期")
|
||||
private java.util.Date declareDate;
|
||||
/**宣贯人*/
|
||||
@Excel(name = "宣贯人", width = 15)
|
||||
@ApiModelProperty(value = "宣贯人")
|
||||
private java.lang.String declareUser;
|
||||
/**主题*/
|
||||
@Excel(name = "主题", width = 15)
|
||||
@ApiModelProperty(value = "主题")
|
||||
private java.lang.String declareTopic;
|
||||
/**相关材料*/
|
||||
@Excel(name = "相关材料", width = 15)
|
||||
@ApiModelProperty(value = "相关材料")
|
||||
private java.lang.String declareFile;
|
||||
/**内容*/
|
||||
@Excel(name = "内容", width = 15)
|
||||
@ApiModelProperty(value = "内容")
|
||||
private java.lang.String declareContent;
|
||||
/**主送部门*/
|
||||
@Excel(name = "主送部门", width = 15)
|
||||
@ApiModelProperty(value = "主送部门")
|
||||
private java.lang.String mainDepart;
|
||||
/**参宣单位*/
|
||||
@Excel(name = "参宣单位", width = 15)
|
||||
@ApiModelProperty(value = "参宣单位")
|
||||
private java.lang.String attendUnit;
|
||||
/**联络人*/
|
||||
@ApiModelProperty(value = "联络人")
|
||||
@TableField(exist = false)
|
||||
private java.lang.String initiator;
|
||||
/**紧急程度(1:一般 2:急)*/
|
||||
@Excel(name = "紧急程度(1:一般 2:急)", width = 15)
|
||||
@ApiModelProperty(value = "紧急程度(1:一般 2:急)")
|
||||
@Dict(dicCode = "emergency_degree")
|
||||
private java.lang.String emergencyDegree;
|
||||
/**项目id*/
|
||||
@Excel(name = "项目id", width = 15)
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private java.lang.String projectId;
|
||||
}
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
|
||||
/**
|
||||
* @Description: 企标宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface ProcessEsDeclareMapper extends BaseMapper<ProcessEsDeclare> {
|
||||
|
||||
}
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
<?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.jero.modules.activiti.process.esdeclare.mapper.ProcessEsDeclareMapper">
|
||||
</mapper>
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service;
|
||||
|
||||
import com.jero.modules.activiti.process.esdeclare.vo.EsDeclareFlowVO;
|
||||
|
||||
/**
|
||||
* @InterfaceName: IEsDeclareService
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 10:11
|
||||
* @Version: 1.0
|
||||
**/
|
||||
public interface IEsDeclareFlowService {
|
||||
/**
|
||||
* 标准宣贯流程-流程发起
|
||||
* @param esDeclareFlowVO
|
||||
*/
|
||||
void flowStart(EsDeclareFlowVO esDeclareFlowVO);
|
||||
|
||||
/**
|
||||
* 标准宣贯流程-流程保存
|
||||
* @param esDeclareFlowVO
|
||||
*/
|
||||
void flowSave(EsDeclareFlowVO esDeclareFlowVO);
|
||||
}
|
||||
+84
@@ -0,0 +1,84 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 企标宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
public interface IProcessEsDeclareService extends IService<ProcessEsDeclare> {
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
IPage<ProcessEsDeclare> queryPage(ProcessEsDeclare processEsDeclare, Integer pageNo, Integer pageSize, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
List<ProcessEsDeclare> queryList(ProcessEsDeclare processEsDeclare, HttpServletRequest req);
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
void add(ProcessEsDeclare processEsDeclare);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
void editById(ProcessEsDeclare processEsDeclare);
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
void deleteById(String id);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
ProcessEsDeclare queryById(String id);
|
||||
|
||||
/**
|
||||
* 标准宣贯业务表-通过项目id查询
|
||||
* @param projectId
|
||||
* @return
|
||||
*/
|
||||
ProcessEsDeclare queryByProjectId(String projectId);
|
||||
}
|
||||
+195
@@ -0,0 +1,195 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IEsDeclareFlowService;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IProcessEsDeclareService;
|
||||
import com.jero.modules.activiti.process.esdeclare.vo.EsDeclareFlowVO;
|
||||
import com.jero.modules.activiti.process.esinspect.common.EsInspectCommon;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardDeclare;
|
||||
import com.jero.modules.laws.enterprise.service.EnterpriseStandardDeclareService;
|
||||
import com.jero.modules.oss.entity.OSSFile;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import org.activiti.engine.ProcessEngine;
|
||||
import org.activiti.engine.ProcessEngines;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName: EsDeclareServiceImpl
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 10:11
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class EsDeclareFlowServiceImpl implements IEsDeclareFlowService {
|
||||
private final ProcessAllService processAllService;
|
||||
private final ProcessApprovalRecordService processApprovalRecordService;
|
||||
private final ProcessDraftService processDraftService;
|
||||
private final ProcessNodeLinkService processNodeLinkService;
|
||||
private final IProcessEsDeclareService processEsDeclareService;
|
||||
private final EnterpriseStandardDeclareService enterpriseStandardDeclareService;
|
||||
private final IOSSFileService ossFileService;
|
||||
|
||||
public EsDeclareFlowServiceImpl(ProcessAllService processAllService,
|
||||
ProcessApprovalRecordService processApprovalRecordService,
|
||||
ProcessDraftService processDraftService,
|
||||
ProcessNodeLinkService processNodeLinkService,
|
||||
IProcessEsDeclareService processEsDeclareService,
|
||||
EnterpriseStandardDeclareService enterpriseStandardDeclareService,
|
||||
IOSSFileService ossFileService) {
|
||||
this.processAllService = processAllService;
|
||||
this.processApprovalRecordService = processApprovalRecordService;
|
||||
this.processDraftService = processDraftService;
|
||||
this.processNodeLinkService = processNodeLinkService;
|
||||
this.processEsDeclareService = processEsDeclareService;
|
||||
this.enterpriseStandardDeclareService = enterpriseStandardDeclareService;
|
||||
this.ossFileService = ossFileService;
|
||||
}
|
||||
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
RuntimeService runtimeService = processEngine.getRuntimeService();
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
@Override
|
||||
public void flowStart(EsDeclareFlowVO esDeclareFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esDeclareFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esDeclareFlowVO.getProcessApprovalRecord();
|
||||
// map(参数)
|
||||
Map<String, Object> map = esDeclareFlowVO.getMap();
|
||||
|
||||
// 根据流程key启动流程 同时 设置审批人员参数
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(EsInspectCommon.KEY, map);
|
||||
|
||||
// 再次设置map
|
||||
runtimeService.setVariables(processInstance.getId(), map);
|
||||
|
||||
// 更新流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT.getValue()));
|
||||
processAll.setCreateUserId(loginUser.getId());
|
||||
processAllService.update(processAll,
|
||||
new LambdaUpdateWrapper<ProcessAll>()
|
||||
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
|
||||
|
||||
// 根据流程实例id查询
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processInstanceId(processInstance.getId())
|
||||
.singleResult();
|
||||
|
||||
// 更新流程审批信息
|
||||
processApprovalRecord.setUserId(loginUser.getId());
|
||||
processApprovalRecord.setProjectId(processAll.getProjectId());
|
||||
processApprovalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
processApprovalRecordService.update(processApprovalRecord,
|
||||
new LambdaUpdateWrapper<ProcessApprovalRecord>()
|
||||
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
|
||||
|
||||
// 新增流程实例节点关联用户表
|
||||
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
|
||||
|
||||
// 自动完成第一个节点
|
||||
taskService.complete(task.getId());
|
||||
|
||||
// 删除草稿
|
||||
processDraftService.remove(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, processAll.getProjectId())
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId()));
|
||||
|
||||
// 发起即结束
|
||||
ProcessEsDeclare processEsDeclare = processEsDeclareService.queryByProjectId(processAll.getProjectId());
|
||||
// 保存数据至企标宣贯
|
||||
EnterpriseStandardDeclare enterpriseStandardDeclare = new EnterpriseStandardDeclare();
|
||||
BeanUtils.copyProperties(processEsDeclare, enterpriseStandardDeclare);
|
||||
enterpriseStandardDeclare.setCreateTime(null);
|
||||
enterpriseStandardDeclare.setUpdateTime(null);
|
||||
enterpriseStandardDeclareService.save(enterpriseStandardDeclare);
|
||||
// 保存企标关联文件
|
||||
if (!Objects.isNull(processEsDeclare.getDeclareFile()) && StringUtils.isNotBlank(enterpriseStandardDeclare.getStandardId())){
|
||||
List<String> list = Arrays.asList(processEsDeclare.getDeclareFile().split(","));
|
||||
ossFileService.update(
|
||||
new LambdaUpdateWrapper<OSSFile>()
|
||||
.in(OSSFile::getId, list)
|
||||
.set(OSSFile::getStandardId, enterpriseStandardDeclare.getStandardId())
|
||||
.set(OSSFile::getStandardNumber, enterpriseStandardDeclare.getStandardNo())
|
||||
.set(OSSFile::getStandardFileType, "associated_file"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowSave(EsDeclareFlowVO esDeclareFlowVO) {
|
||||
// 流程信息
|
||||
ProcessAll processAll = esDeclareFlowVO.getProcessAll();
|
||||
// 流程审批信息
|
||||
ProcessApprovalRecord processApprovalRecord = esDeclareFlowVO.getProcessApprovalRecord();
|
||||
|
||||
// 流程总表信息
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_PLAN.getValue()));
|
||||
ProcessDraft processDraft = new ProcessDraft();
|
||||
// 属性拷贝
|
||||
BeanUtils.copyProperties(processAll, processDraft);
|
||||
processDraft.setId("");
|
||||
processDraft.setUpdateBy("");
|
||||
Date date = new Date();
|
||||
processDraft.setCreateTime(date);
|
||||
processDraft.setUpdateBy("");
|
||||
processDraft.setUpdateTime(date);
|
||||
// 保存草稿表
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getCommitFile())){
|
||||
processDraft.setHandleFile(processApprovalRecord.getCommitFile());
|
||||
}
|
||||
if (StringUtils.isNotBlank(processApprovalRecord.getCommitText())){
|
||||
processDraft.setHandleText(processApprovalRecord.getCommitText());
|
||||
}
|
||||
processDraft.setUserId(loginUser.getId());
|
||||
// 删除旧草稿
|
||||
processDraftService.remove(new LambdaQueryWrapper<ProcessDraft>()
|
||||
.eq(ProcessDraft::getProjectId, processAll.getProjectId())
|
||||
.eq(ProcessDraft::getUserId, loginUser.getId()));
|
||||
// 保存新草稿
|
||||
processDraftService.save(processDraft);
|
||||
}
|
||||
|
||||
private Map<String, Object> listToString(Map<String, Object> map) {
|
||||
Map<String, Object> stringObjectHashMap;
|
||||
stringObjectHashMap = map.entrySet().stream().map(v -> {
|
||||
if (v.getValue() instanceof List) {
|
||||
List<String> list = (List<String>)v.getValue();
|
||||
v.setValue(String.join(",", list));
|
||||
}
|
||||
return v;
|
||||
}).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
|
||||
return stringObjectHashMap;
|
||||
}
|
||||
}
|
||||
+159
@@ -0,0 +1,159 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
import com.jero.modules.activiti.process.esdeclare.mapper.ProcessEsDeclareMapper;
|
||||
import com.jero.modules.activiti.process.esdeclare.service.IProcessEsDeclareService;
|
||||
import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard;
|
||||
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 企标宣贯业务表
|
||||
* @Author: jero-boot
|
||||
* @Date: 2023-11-30
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public class ProcessEsDeclareServiceImpl extends ServiceImpl<ProcessEsDeclareMapper, ProcessEsDeclare> implements IProcessEsDeclareService {
|
||||
|
||||
private final ISysUserService sysUserService;
|
||||
private final ILawsEnterpriseStandardService lawsEnterpriseStandardService;
|
||||
|
||||
public ProcessEsDeclareServiceImpl(ISysUserService sysUserService,
|
||||
ILawsEnterpriseStandardService lawsEnterpriseStandardService) {
|
||||
this.sysUserService = sysUserService;
|
||||
this.lawsEnterpriseStandardService = lawsEnterpriseStandardService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param pageNo
|
||||
* @param pageSize
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage<ProcessEsDeclare> queryPage(ProcessEsDeclare processEsDeclare, Integer pageNo, Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessEsDeclare> queryWrapper = QueryGenerator.initQueryWrapper(processEsDeclare, req.getParameterMap());
|
||||
Page<ProcessEsDeclare> page = new Page<>(pageNo, pageSize);
|
||||
return page(page, queryWrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ProcessEsDeclare> queryList(ProcessEsDeclare processEsDeclare, HttpServletRequest req) {
|
||||
return list(QueryGenerator.initQueryWrapper(processEsDeclare, req.getParameterMap()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void add(ProcessEsDeclare processEsDeclare) {
|
||||
Date now = new Date();
|
||||
processEsDeclare.setCreateTime(now);
|
||||
processEsDeclare.setUpdateTime(now);
|
||||
save(processEsDeclare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param processEsDeclare
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void editById(ProcessEsDeclare processEsDeclare) {
|
||||
Date now = new Date();
|
||||
processEsDeclare.setUpdateTime(now);
|
||||
saveOrUpdate(processEsDeclare);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteById(String id) {
|
||||
removeById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void deleteByIds(List<String> ids) {
|
||||
removeByIds(ids);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProcessEsDeclare queryById(String id) {
|
||||
return getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessEsDeclare queryByProjectId(String projectId) {
|
||||
ProcessEsDeclare processEsDeclare = getOne(new LambdaQueryWrapper<ProcessEsDeclare>().eq(ProcessEsDeclare::getProjectId, projectId), false);
|
||||
if (!Objects.isNull(processEsDeclare)){
|
||||
// 标准名称
|
||||
LawsEnterpriseStandard lawsEnterpriseStandard = lawsEnterpriseStandardService.getOne(
|
||||
new LambdaQueryWrapper<LawsEnterpriseStandard>()
|
||||
.eq(LawsEnterpriseStandard::getStandardNumber, processEsDeclare.getStandardNo()), false);
|
||||
if (!Objects.isNull(lawsEnterpriseStandard)){
|
||||
processEsDeclare.setStandardId(lawsEnterpriseStandard.getId());
|
||||
processEsDeclare.setStandardName(lawsEnterpriseStandard.getStandardName());
|
||||
}
|
||||
// 联络人
|
||||
List<String> list = Arrays.asList(processEsDeclare.getAttendUnit().split(","));
|
||||
List<SysUser> userByDepIds = sysUserService.getUserByDepIds(list, "");
|
||||
if (!userByDepIds.isEmpty()){
|
||||
String userIds = userByDepIds.stream().map(SysUser::getId).collect(Collectors.joining(","));
|
||||
// 翻译
|
||||
processEsDeclare.setInitiator(sysUserService.dictByIdsOrUserNames(userIds, ""));
|
||||
}
|
||||
}
|
||||
return processEsDeclare;
|
||||
}
|
||||
}
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.jero.modules.activiti.process.esdeclare.vo;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.process.esdeclare.entity.ProcessEsDeclare;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @ClassName: EsDEclareFlowVO
|
||||
* @Description:
|
||||
* @Author: yjz
|
||||
* @Date: 2023-11-30 09:57
|
||||
* @Version: 1.0
|
||||
**/
|
||||
@Data
|
||||
public class EsDeclareFlowVO {
|
||||
/**流程信息*/
|
||||
@ApiModelProperty(value = "流程信息")
|
||||
private ProcessAll processAll;
|
||||
/**流程审批信息*/
|
||||
@ApiModelProperty(value = "流程审批信息")
|
||||
private ProcessApprovalRecord processApprovalRecord;
|
||||
/**业务基本信息*/
|
||||
@ApiModelProperty(value = "业务基本信息")
|
||||
private ProcessEsDeclare processEsDeclare;
|
||||
/**map*/
|
||||
@ApiModelProperty(value = "map")
|
||||
private Map<String, Object> map;
|
||||
}
|
||||
+2
-2
@@ -31,7 +31,7 @@ public class BaseEntity implements Serializable {
|
||||
/** 创建人 */
|
||||
@ApiModelProperty(value = "创建人")
|
||||
// @Excel(name = "创建人", width = 15)
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private java.lang.String createBy;
|
||||
/** 创建人 翻译 */
|
||||
@ApiModelProperty(value = "创建人 翻译")
|
||||
@@ -46,7 +46,7 @@ public class BaseEntity implements Serializable {
|
||||
/** 更新人 */
|
||||
@ApiModelProperty(value = "更新人")
|
||||
// @Excel(name = "更新人", width = 15)
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
|
||||
@Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
|
||||
private java.lang.String updateBy;
|
||||
/** 更新人 翻译 */
|
||||
@ApiModelProperty(value = "更新人 翻译")
|
||||
|
||||
Reference in New Issue
Block a user