From 41a9e1ea61bf600dc48bc648a16c7934ad366906 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Thu, 30 Nov 2023 09:22:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=9D=83=E9=99=90=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E6=B5=81=E7=A8=8B):=20=E5=9F=BA=E7=A1=80=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EsInspectFlowServiceImpl.java | 2 + .../EsInspectRectifyFlowController.java | 32 -- .../ProcessEsInspectRectifyController.java | 8 +- .../IProcessEsInspectRectifyService.java | 2 +- .../ProcessEsInspectRectifyServiceImpl.java | 37 +-- .../vo/ProcessEsInspectRectifyVO.java | 8 +- .../ProcessEsPermissionApplyCommon.java | 14 + .../EsPermissionApplyFlowController.java | 126 ++++++++ .../ProcessEsPermissionApplyController.java | 195 ++++++++++++ .../entity/ProcessEsPermissionApply.java | 51 ++++ .../ProcessEsPermissionApplyMapper.java | 14 + .../xml/ProcessEsPermissionApplyMapper.xml | 5 + .../service/EsPermissionApplyFlowService.java | 45 +++ .../IProcessEsPermissionApplyService.java | 85 ++++++ .../EsPermissionApplyFlowServiceImpl.java | 280 ++++++++++++++++++ .../ProcessEsPermissionApplyServiceImpl.java | 154 ++++++++++ .../vo/EsPermissionApplyFlowVO.java | 33 +++ .../vo/ProcessEsPermissionApplyVO.java | 22 ++ .../EnterpriseStandardAuthUserService.java | 6 + ...EnterpriseStandardAuthUserServiceImpl.java | 31 +- 20 files changed, 1080 insertions(+), 70 deletions(-) create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/common/ProcessEsPermissionApplyCommon.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/controller/EsPermissionApplyFlowController.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/controller/ProcessEsPermissionApplyController.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/entity/ProcessEsPermissionApply.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/mapper/ProcessEsPermissionApplyMapper.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/mapper/xml/ProcessEsPermissionApplyMapper.xml create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/EsPermissionApplyFlowService.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/IProcessEsPermissionApplyService.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/impl/EsPermissionApplyFlowServiceImpl.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/impl/ProcessEsPermissionApplyServiceImpl.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/vo/EsPermissionApplyFlowVO.java create mode 100644 laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/vo/ProcessEsPermissionApplyVO.java diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspect/service/impl/EsInspectFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspect/service/impl/EsInspectFlowServiceImpl.java index 7e1f7a65..baa20e81 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspect/service/impl/EsInspectFlowServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspect/service/impl/EsInspectFlowServiceImpl.java @@ -393,6 +393,8 @@ public class EsInspectFlowServiceImpl implements IEsInspectFlowService { // 处理人员信息 Map map = new HashMap<>(); map.put("responsible", enterpriseStandardInspectRectifyPlan.getResponseUser()); + map.put("leader", ""); + map.put("responsibleApproval", ""); esInspectReportFlowVO.setMap(map); esInspectReportFlowService.createReportFlow(esInspectReportFlowVO); } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/controller/EsInspectRectifyFlowController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/controller/EsInspectRectifyFlowController.java index f7f3849d..2ef52008 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/controller/EsInspectRectifyFlowController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/controller/EsInspectRectifyFlowController.java @@ -5,9 +5,6 @@ import com.jero.common.api.vo.ResultCommon; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.aspect.annotation.Translation; import com.jero.common.util.MessageUtils; -import com.jero.common.util.SnowflakeUtils; -import com.jero.modules.activiti.entity.ProcessAll; -import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.process.esinspectrectify.service.IEsInspectRectifyFlowService; import com.jero.modules.activiti.process.esinspectrectify.vo.EsInspectRectifyFlowVO; import io.swagger.annotations.Api; @@ -17,9 +14,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.Map; - /** * @ClassName: 企标稽查整改 * @Description: @@ -39,32 +33,6 @@ public class EsInspectRectifyFlowController { this.esInspectReportFlowService = esInspectReportFlowService; } - @GetMapping("/demo") - public void demo(){ - // 自动生成企标稽查整改 - EsInspectRectifyFlowVO esInspectReportFlowVO = new EsInspectRectifyFlowVO(); - // 处理流程信息 - ProcessAll processAll = new ProcessAll(); - processAll.setProjectId(String.valueOf(SnowflakeUtils.snowflake())); - // 生成流程名称 - String prcName = "测试生成-稽查整改"; - processAll.setPrcName(prcName); - esInspectReportFlowVO.setProcessAll(processAll); - - // 处理流程审批信息 - ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord(); - processApprovalRecord.setProjectId(processAll.getProjectId()); - esInspectReportFlowVO.setProcessApprovalRecord(processApprovalRecord); - - // 处理人员信息 - Map map = new HashMap<>(); - map.put("responsible", "1727493356924907522"); - map.put("leader", "1727493530325823489"); - map.put("responsibleApproval", "1727493623724584961"); - esInspectReportFlowVO.setMap(map); - esInspectReportFlowService.createReportFlow(esInspectReportFlowVO); - } - /** * 企标稽查整改-流程保存 * @param esInspectReportFlowVO 企标稽查整改VO对象 diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/controller/ProcessEsInspectRectifyController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/controller/ProcessEsInspectRectifyController.java index 0b54f57c..3c3b98e6 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/controller/ProcessEsInspectRectifyController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/controller/ProcessEsInspectRectifyController.java @@ -143,12 +143,12 @@ public class ProcessEsInspectRectifyController extends JeroController queryById(@RequestParam(name="id",required=true) String id) { - ProcessEsInspectRectifyVO esInspectReportVO = processEsInspectReportService.queryById(id); - if(esInspectReportVO==null) { + public Result queryById(@RequestParam(name="id",required=true) String id) { + ProcessEsInspectRectify esInspectReport = processEsInspectReportService.queryById(id); + if(esInspectReport==null) { return Result.error("未找到对应数据"); } - return Result.OK(esInspectReportVO); + return Result.OK(esInspectReport); } /** diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/service/IProcessEsInspectRectifyService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/service/IProcessEsInspectRectifyService.java index 5d266528..135bf702 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/service/IProcessEsInspectRectifyService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/service/IProcessEsInspectRectifyService.java @@ -74,7 +74,7 @@ public interface IProcessEsInspectRectifyService extends IService implements IProcessEsInspectRectifyService { - private final EnterpriseStandardInspectReportService EnterpriseStandardInspectReportService; + private final EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService; private final IProcessEsInspectService processEsInspectService; - public ProcessEsInspectRectifyServiceImpl(EnterpriseStandardInspectReportService enterpriseStandardInspectReportService, + public ProcessEsInspectRectifyServiceImpl(EnterpriseStandardInspectRectifyPlanService enterpriseStandardInspectRectifyPlanService, IProcessEsInspectService processEsInspectService) { - EnterpriseStandardInspectReportService = enterpriseStandardInspectReportService; + this.enterpriseStandardInspectRectifyPlanService = enterpriseStandardInspectRectifyPlanService; this.processEsInspectService = processEsInspectService; } @@ -127,34 +127,21 @@ public class ProcessEsInspectRectifyServiceImpl extends ServiceImpl processEsInspectVOList = processEsInspectService.queryByList(processEsInspectVO); - if (!processEsInspectVOList.isEmpty()){ - esInspectReportVO.setStandardName(processEsInspectVOList.get(0).getInspectName()); - } - return esInspectReportVO; + public ProcessEsInspectRectify queryById(String id) { + return getById(id); } @Override public ProcessEsInspectRectifyVO queryByProjectId(String projectId) { ProcessEsInspectRectifyVO esInspectReportVO = new ProcessEsInspectRectifyVO(); - ProcessEsInspectRectify processEsInspectReport = getOne( + ProcessEsInspectRectify processEsInspectRectify = getOne( new LambdaQueryWrapper() .eq(ProcessEsInspectRectify::getProjectId, projectId)); - // 查询稽查整改信息 - EnterpriseStandardInspectReport enterpriseStandardInspectReport = EnterpriseStandardInspectReportService.queryById(processEsInspectReport.getInspectRectifyPlanId()); - esInspectReportVO.setEnterpriseStandardInspectReport(enterpriseStandardInspectReport); + // 查询企业标准稽查整改计划 + EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan = enterpriseStandardInspectRectifyPlanService.queryById(processEsInspectRectify.getInspectRectifyPlanId()); + esInspectReportVO.setEnterpriseStandardInspectRectifyPlan(enterpriseStandardInspectRectifyPlan); // 稽查依据 - String processEsInspectId = enterpriseStandardInspectReport.getProcessEsInspectId(); + String processEsInspectId = enterpriseStandardInspectRectifyPlan.getProcessEsInspectId(); ProcessEsInspectVO processEsInspectVO = new ProcessEsInspectVO(); processEsInspectVO.setId(processEsInspectId); List processEsInspectVOList = processEsInspectService.queryByList(processEsInspectVO); diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/vo/ProcessEsInspectRectifyVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/vo/ProcessEsInspectRectifyVO.java index a639bc2a..6dfff70c 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/vo/ProcessEsInspectRectifyVO.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/esinspectrectify/vo/ProcessEsInspectRectifyVO.java @@ -1,7 +1,7 @@ package com.jero.modules.activiti.process.esinspectrectify.vo; import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify; -import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectReport; +import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -17,7 +17,7 @@ public class ProcessEsInspectRectifyVO extends ProcessEsInspectRectify { /**稽查依据*/ @ApiModelProperty(value = "稽查依据") private String standardName; - /**企业标准检查报告*/ - @ApiModelProperty(value = "企业标准检查报告") - private EnterpriseStandardInspectReport enterpriseStandardInspectReport; + /**企业标准稽查整改计划*/ + @ApiModelProperty(value = "企业标准稽查整改计划") + private EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan; } diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/common/ProcessEsPermissionApplyCommon.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/common/ProcessEsPermissionApplyCommon.java new file mode 100644 index 00000000..834449b4 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/common/ProcessEsPermissionApplyCommon.java @@ -0,0 +1,14 @@ +package com.jero.modules.activiti.process.espermissionapply.common; + +/** + * @ClassName: ProcessEsPermissionApplyCommon + * @Description: + * @Author: yjz + * @Date: 2023-11-29 18:41 + * @Version: 1.0 + **/ +public class ProcessEsPermissionApplyCommon { + private ProcessEsPermissionApplyCommon(){ + + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/controller/EsPermissionApplyFlowController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/controller/EsPermissionApplyFlowController.java new file mode 100644 index 00000000..1d4ba6cc --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/controller/EsPermissionApplyFlowController.java @@ -0,0 +1,126 @@ +package com.jero.modules.activiti.process.espermissionapply.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.aspect.annotation.Translation; +import com.jero.common.util.MessageUtils; +import com.jero.common.util.SnowflakeUtils; +import com.jero.modules.activiti.process.espermissionapply.service.EsPermissionApplyFlowService; +import com.jero.modules.activiti.process.espermissionapply.vo.EsPermissionApplyFlowVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; +import org.springframework.context.annotation.Lazy; +import org.springframework.web.bind.annotation.*; + +/** + * @ClassName: EsPermissionApplyFlowController + * @Description: + * @Author: yjz + * @Date: 2023-11-29 18:42 + * @Version: 1.0 + **/ +@Api(tags="权限申请流程") +@RestController +@RequestMapping("/process/esPermissionApplyFlow") +@Slf4j +public class EsPermissionApplyFlowController { + private final EsPermissionApplyFlowService esPermissionApplyFlowService; + + public EsPermissionApplyFlowController(@Lazy EsPermissionApplyFlowService esPermissionApplyFlowService) { + this.esPermissionApplyFlowService = esPermissionApplyFlowService; + } + + /** + * 权限申请流程-生成项目id + * @return 项目id + */ + @AutoLog(value = "权限申请流程-生成项目id") + @ApiOperation(value="权限申请流程-生成项目id", notes="权限申请流程-生成项目id") + @GetMapping(value = "/getProjectId") + public String getProjectId() { + return String.valueOf(SnowflakeUtils.snowflake()); + } + + /** + * 权限申请流程-流程发起 + * @param esPermissionApplyFlowVO 权限申请流程VO对象 + * @return 结果对象 + */ + @AutoLog(value = "权限申请流程-流程发起") + @ApiOperation(value="权限申请流程-流程发起", notes="权限申请流程-流程发起") + @PostMapping(value = "/flowStart") + public Result flowStart(@RequestBody EsPermissionApplyFlowVO esPermissionApplyFlowVO) { + esPermissionApplyFlowService.flowStart(esPermissionApplyFlowVO); + return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + } + + /** + * 权限申请流程-流程保存 + * @param esPermissionApplyFlowVO 权限申请流程VO对象 + * @return 结果对象 + */ + @AutoLog(value = "权限申请流程-流程保存") + @ApiOperation(value="权限申请流程-流程保存", notes="权限申请流程-流程保存") + @PostMapping(value = "/flowSave") + public Result flowSave(@RequestBody EsPermissionApplyFlowVO esPermissionApplyFlowVO) { + esPermissionApplyFlowService.flowSave(esPermissionApplyFlowVO); + return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + } + + + /** + * 权限申请流程-办理详情 + * @param projectId 项目id + * @return 结果对象 + */ + @AutoLog(value = "权限申请流程-办理详情") + @ApiOperation(value="权限申请流程-办理详情", notes="权限申请流程-办理详情") + @GetMapping(value = "/queryDetailByProjectId") + @Translation + public Result queryDetailByProjectId(@ApiParam("项目id") String projectId, @ApiParam("任务id") String taskId) { + return Result.OK(esPermissionApplyFlowService.queryDetailByProjectId(projectId, taskId)); + } + + /** + * 权限申请流程-流程审批 + * @param esPermissionApplyFlowVO 权限申请流程VO对象 + * @return 结果对象 + */ + @AutoLog(value = "权限申请流程-流程审批") + @ApiOperation(value="权限申请流程-流程审批", notes="权限申请流程-流程审批") + @PostMapping(value = "/flowApproval") + public Result flowApproval(@RequestBody EsPermissionApplyFlowVO esPermissionApplyFlowVO) { + esPermissionApplyFlowService.flowApproval(esPermissionApplyFlowVO); + return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + } + + /** + * 权限申请流程-驳回 + * @param esPermissionApplyFlowVO 权限申请流程VO对象 + * @return 结果对象 + */ + @AutoLog(value = "权限申请流程-驳回") + @ApiOperation(value="权限申请流程-驳回", notes="权限申请流程-驳回") + @PostMapping(value = "/flowReject") + public Result flowReject(@RequestBody EsPermissionApplyFlowVO esPermissionApplyFlowVO) { + log.info(""); + esPermissionApplyFlowService.flowApproval(esPermissionApplyFlowVO); + return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + } + + /** + * 权限申请流程-流程转办 + * @return 结果对象 + */ + @AutoLog(value = "权限申请流程-流程转办") + @ApiOperation(value="权限申请流程-流程转办", notes="权限申请流程-流程转办") + @GetMapping(value = "/flowTransfer") + public Result flowTransfer(@ApiParam("任务id") String taskId, @ApiParam("用户id") String userId) { + esPermissionApplyFlowService.flowTransfer(taskId, userId); + return Result.OK(MessageUtils.getMessage(ResultCommon.OK)); + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/controller/ProcessEsPermissionApplyController.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/controller/ProcessEsPermissionApplyController.java new file mode 100644 index 00000000..c6d080cd --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/controller/ProcessEsPermissionApplyController.java @@ -0,0 +1,195 @@ +package com.jero.modules.activiti.process.espermissionapply.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.espermissionapply.entity.ProcessEsPermissionApply; +import com.jero.modules.activiti.process.espermissionapply.service.IProcessEsPermissionApplyService; +import com.jero.modules.activiti.process.espermissionapply.vo.ProcessEsPermissionApplyVO; +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-29 + * @Version: V1.0 + */ +@Api(tags="权限申请流程业务表") +@RestController +@RequestMapping("/espermissionapply/processEsPermissionApply") +@Slf4j +public class ProcessEsPermissionApplyController extends JeroController { + @Autowired + private IProcessEsPermissionApplyService processEsPermissionApplyService; + + /** + * 分页列表查询 + * + * @param processEsPermissionApply + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "权限申请流程业务表-分页列表查询") + @ApiOperation(value="权限申请流程业务表-分页列表查询", notes="权限申请流程业务表-分页列表查询") + @GetMapping(value = "/page") + public Result> queryPageList(ProcessEsPermissionApply processEsPermissionApply, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + IPage pageList = processEsPermissionApplyService.queryPage(processEsPermissionApply, pageNo, pageSize, req); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @param processEsPermissionApply + * @param req + * @return + */ + @AutoLog(value = "权限申请流程业务表-列表查询") + @ApiOperation(value="权限申请流程业务表-列表查询", notes="权限申请流程业务表-列表查询") + @GetMapping(value = "/list") + public Result> queryList(ProcessEsPermissionApply processEsPermissionApply, HttpServletRequest req) { + List list = processEsPermissionApplyService.queryList(processEsPermissionApply, req); + return Result.OK(list); + } + + /** + * 添加 + * + * @param processEsPermissionApply + * @return + */ + @AutoLog(value = "权限申请流程业务表-添加") + @ApiOperation(value="权限申请流程业务表-添加", notes="权限申请流程业务表-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody ProcessEsPermissionApply processEsPermissionApply) { + processEsPermissionApplyService.add(processEsPermissionApply); + return Result.OK("操作成功!"); + } + + /** + * 编辑 + * + * @param processEsPermissionApply + * @return + */ + @AutoLog(value = "权限申请流程业务表-编辑") + @ApiOperation(value="权限申请流程业务表-编辑", notes="权限申请流程业务表-编辑") + @PostMapping(value = "/edit") + public Result edit(@Validated @RequestBody ProcessEsPermissionApply processEsPermissionApply) { + processEsPermissionApplyService.editById(processEsPermissionApply); + return Result.OK("操作成功!"); + } + + /** + * 通过id删除 + * + * @param map + * @return + */ + @AutoLog(value = "权限申请流程业务表-通过id删除") + @ApiOperation(value="权限申请流程业务表-通过id删除", notes="权限申请流程业务表-通过id删除") + @PostMapping(value = "/delete") + public Result delete(@RequestBody Map map) { + if(!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))){ + return Result.error("请选择数据!"); + } + processEsPermissionApplyService.deleteById(map.get("id")); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param map + * @return + */ + @AutoLog(value = "权限申请流程业务表-批量删除") + @ApiOperation(value="权限申请流程业务表-批量删除", notes="权限申请流程业务表-批量删除") + @PostMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestBody Map map) { + if(!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))){ + return Result.error("请选择数据!"); + } + this.processEsPermissionApplyService.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 queryById(@RequestParam(name="id",required=true) String id) { + ProcessEsPermissionApply processEsPermissionApply = processEsPermissionApplyService.queryById(id); + if(processEsPermissionApply==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(processEsPermissionApply); + } + + /** + * 通过项目id查询 + * + * @param projectId + * @return + */ + @AutoLog(value = "权限申请流程业务表-通过项目id查询") + @ApiOperation(value="权限申请流程业务表-通过项目id查询", notes="权限申请流程业务表-通过项目id查询") + @GetMapping(value = "/queryByProjectId") + public Result queryByProjectId(String projectId) { + ProcessEsPermissionApplyVO processEsPermissionApplyVO = processEsPermissionApplyService.queryByProjectId(projectId); + if(processEsPermissionApplyVO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(processEsPermissionApplyVO); + } + + /** + * 导出excel + * + * @param request + * @param processEsPermissionApply + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, ProcessEsPermissionApply processEsPermissionApply) { + return super.exportXls(request, processEsPermissionApply, ProcessEsPermissionApply.class, "权限申请流程业务表"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, ProcessEsPermissionApply.class); + } + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/entity/ProcessEsPermissionApply.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/entity/ProcessEsPermissionApply.java new file mode 100644 index 00000000..937c5ae7 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/entity/ProcessEsPermissionApply.java @@ -0,0 +1,51 @@ +package com.jero.modules.activiti.process.espermissionapply.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +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; + +import java.util.Date; + + +/** + * @Description: 权限申请流程 + * @Author: jero-boot + * @Date: 2023-11-29 + * @Version: V1.0 + */ +@Data +@TableName("process_es_permission_apply") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="process_es_permission_apply对象", description="权限申请流程") +public class ProcessEsPermissionApply extends BaseEntity { + /**项目id*/ + @Excel(name = "项目id", width = 15) + @ApiModelProperty(value = "项目id") + private String projectId; + /**标准编号*/ + @Excel(name = "标准编号", width = 15) + @ApiModelProperty(value = "标准编号") + private String standardNumbers; + /**授权到期日期*/ + @Excel(name = "授权到期日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "授权到期日期") + private Date expirationDate; + /**申请说明*/ + @Excel(name = "申请说明", width = 15) + @ApiModelProperty(value = "申请说明") + private String applyDetail; + /**用户id*/ + @Excel(name = "用户id", width = 15) + @ApiModelProperty(value = "用户id") + private String userId; +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/mapper/ProcessEsPermissionApplyMapper.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/mapper/ProcessEsPermissionApplyMapper.java new file mode 100644 index 00000000..40b7ee16 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/mapper/ProcessEsPermissionApplyMapper.java @@ -0,0 +1,14 @@ +package com.jero.modules.activiti.process.espermissionapply.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply; + +/** + * @Description: 权限申请流程 + * @Author: jero-boot + * @Date: 2023-11-29 + * @Version: V1.0 + */ +public interface ProcessEsPermissionApplyMapper extends BaseMapper { + +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/mapper/xml/ProcessEsPermissionApplyMapper.xml b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/mapper/xml/ProcessEsPermissionApplyMapper.xml new file mode 100644 index 00000000..2d44f086 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/mapper/xml/ProcessEsPermissionApplyMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/EsPermissionApplyFlowService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/EsPermissionApplyFlowService.java new file mode 100644 index 00000000..372e113a --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/EsPermissionApplyFlowService.java @@ -0,0 +1,45 @@ +package com.jero.modules.activiti.process.espermissionapply.service; + +import com.jero.modules.activiti.process.espermissionapply.vo.EsPermissionApplyFlowVO; + +/** + * @InterfaceName: EsPermissionApplyFlowService + * @Description: + * @Author: yjz + * @Date: 2023-11-29 18:42 + * @Version: 1.0 + **/ +public interface EsPermissionApplyFlowService { + /** + * 权限申请流程-流程发起 + * @param esPermissionApplyFlowVO + */ + void flowStart(EsPermissionApplyFlowVO esPermissionApplyFlowVO); + + /** + * 权限申请流程-流程保存 + * @param esPermissionApplyFlowVO + */ + void flowSave(EsPermissionApplyFlowVO esPermissionApplyFlowVO); + + /** + * 权限申请流程-办理详情 + * @param projectId + * @param taskId + * @return + */ + EsPermissionApplyFlowVO queryDetailByProjectId(String projectId, String taskId); + + /** + * 权限申请流程-审批 + * @param esPermissionApplyFlowVO + */ + void flowApproval(EsPermissionApplyFlowVO esPermissionApplyFlowVO); + + /** + * 权限申请流程-流程转办 + * @param taskId + * @param userId + */ + void flowTransfer(String taskId, String userId); +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/IProcessEsPermissionApplyService.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/IProcessEsPermissionApplyService.java new file mode 100644 index 00000000..4c11a161 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/IProcessEsPermissionApplyService.java @@ -0,0 +1,85 @@ +package com.jero.modules.activiti.process.espermissionapply.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply; +import com.jero.modules.activiti.process.espermissionapply.vo.ProcessEsPermissionApplyVO; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @Description: 权限申请流程 + * @Author: jero-boot + * @Date: 2023-11-29 + * @Version: V1.0 + */ +public interface IProcessEsPermissionApplyService extends IService { + + /** + * 分页查询 + * + * @param processEsPermissionApply + * @param pageNo + * @param pageSize + * @param req + * @return + */ + IPage queryPage(ProcessEsPermissionApply processEsPermissionApply, Integer pageNo, Integer pageSize, HttpServletRequest req); + + /** + * 列表查询 + * + * @param processEsPermissionApply + * @param req + * @return + */ + List queryList(ProcessEsPermissionApply processEsPermissionApply, HttpServletRequest req); + + /** + * 保存 + * + * @param processEsPermissionApply + * @return + */ + void add(ProcessEsPermissionApply processEsPermissionApply); + + /** + * 更新 + * + * @param processEsPermissionApply + * @return + */ + void editById(ProcessEsPermissionApply processEsPermissionApply); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + ProcessEsPermissionApply queryById(String id); + + /** + * 权限申请流程业务表-通过项目id查询 + * @param projectId + * @return + */ + ProcessEsPermissionApplyVO queryByProjectId(String projectId); +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/impl/EsPermissionApplyFlowServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/impl/EsPermissionApplyFlowServiceImpl.java new file mode 100644 index 00000000..8e362fec --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/impl/EsPermissionApplyFlowServiceImpl.java @@ -0,0 +1,280 @@ +package com.jero.modules.activiti.process.espermissionapply.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.common.util.SnowflakeUtils; +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.esinspectplan.common.EsInspectPlanCommon; +import com.jero.modules.activiti.process.espermissionapply.service.EsPermissionApplyFlowService; +import com.jero.modules.activiti.process.espermissionapply.service.IProcessEsPermissionApplyService; +import com.jero.modules.activiti.process.espermissionapply.vo.EsPermissionApplyFlowVO; +import com.jero.modules.activiti.process.espermissionapply.vo.ProcessEsPermissionApplyVO; +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.service.EnterpriseStandardAuthUserService; +import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import com.jero.modules.laws.standard.entity.LawsStandardTempPermission; +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.Date; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @ClassName: EsPermissionApplyFlowServiceImpl + * @Description: + * @Author: yjz + * @Date: 2023-11-29 18:42 + * @Version: 1.0 + **/ +@Service +@Transactional(rollbackFor = JeroBootException.class) +public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowService { + private final ProcessAllService processAllService; + private final ProcessApprovalRecordService processApprovalRecordService; + private final ProcessDraftService processDraftService; + private final ProcessNodeLinkService processNodeLinkService; + private final EnterpriseStandardAuthUserService enterpriseStandardAuthUserService; + private final IProcessEsPermissionApplyService processEsPermissionApplyService; + public EsPermissionApplyFlowServiceImpl(ProcessAllService processAllService, + ProcessApprovalRecordService processApprovalRecordService, + ProcessDraftService processDraftService, + ProcessNodeLinkService processNodeLinkService, + EnterpriseStandardAuthUserService enterpriseStandardAuthUserService, + IProcessEsPermissionApplyService processEsPermissionApplyService) { + this.processAllService = processAllService; + this.processApprovalRecordService = processApprovalRecordService; + this.processDraftService = processDraftService; + this.processNodeLinkService = processNodeLinkService; + this.enterpriseStandardAuthUserService = enterpriseStandardAuthUserService; + this.processEsPermissionApplyService = processEsPermissionApplyService; + } + + ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); + RuntimeService runtimeService = processEngine.getRuntimeService(); + @Resource + private TaskService taskService; + + @Override + public void flowStart(EsPermissionApplyFlowVO esPermissionApplyFlowVO) { + // 流程信息 + ProcessAll processAll = esPermissionApplyFlowVO.getProcessAll(); + // 流程审批信息 + ProcessApprovalRecord processApprovalRecord = esPermissionApplyFlowVO.getProcessApprovalRecord(); + // map(参数) + Map map = esPermissionApplyFlowVO.getMap(); + + // 根据流程key启动流程 同时 设置审批人员参数 + ProcessInstance processInstance = runtimeService + .startProcessInstanceByKey(EsInspectPlanCommon.KEY, map); + + // 再次设置map + runtimeService.setVariables(processInstance.getId(), map); + + // 更新流程总表信息 + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_PLAN.getValue())); + processAll.setCreateUserId(loginUser.getId()); + processAllService.update(processAll, + new LambdaUpdateWrapper() + .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() + .eq(ProcessApprovalRecord::getTaskId, task.getId())); + + // 新增流程实例节点关联用户表 + processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map)); + + // 自动完成第一个节点 + taskService.complete(task.getId()); + + // 删除草稿 + processDraftService.remove(new LambdaQueryWrapper() + .eq(ProcessDraft::getProjectId, processAll.getProjectId()) + .eq(ProcessDraft::getUserId, loginUser.getId())); + } + + private Map listToString(Map map) { + Map stringObjectHashMap; + stringObjectHashMap = map.entrySet().stream().map(v -> { + if (v.getValue() instanceof List) { + List list = (List)v.getValue(); + v.setValue(String.join(",", list)); + } + return v; + }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); + return stringObjectHashMap; + } + + @Override + public void flowSave(EsPermissionApplyFlowVO esPermissionApplyFlowVO) { + // 流程信息 + ProcessAll processAll = esPermissionApplyFlowVO.getProcessAll(); + // 流程审批信息 + ProcessApprovalRecord processApprovalRecord = esPermissionApplyFlowVO.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() + .eq(ProcessDraft::getProjectId, processAll.getProjectId()) + .eq(ProcessDraft::getUserId, loginUser.getId())); + // 保存新草稿 + processDraftService.save(processDraft); + } + + @Override + public EsPermissionApplyFlowVO queryDetailByProjectId(String projectId, String taskId) { + EsPermissionApplyFlowVO esPermissionApplyFlowVO = new EsPermissionApplyFlowVO(); + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper() + .eq(ProcessAll::getProjectId, projectId), false); + ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord(); + + // 是否存在草稿 + List processDraftList = processDraftService.list(new LambdaQueryWrapper() + .eq(ProcessDraft::getProjectId, projectId) + .eq(ProcessDraft::getUserId, loginUser.getId())); + if (!processDraftList.isEmpty()){ + String id = ""; + if(Objects.isNull(processAll)){ + processAll = new ProcessAll(); + id = String.valueOf(SnowflakeUtils.snowflake()); + }else { + id = processAll.getId(); + } + // 存在草稿 + ProcessDraft processDraft = processDraftList.get(0); + // 属性拷贝 + BeanUtils.copyProperties(processDraft, processAll); + processAll.setId(id); + if (StringUtils.isNotBlank(processDraft.getHandleFile())){ + processApprovalRecord.setCommitFile(processDraft.getHandleFile()); + } + if (StringUtils.isNotBlank(processDraft.getHandleText())){ + processApprovalRecord.setCommitText(processDraft.getHandleText()); + } + }else { + // 不存在草稿 + processApprovalRecord = processApprovalRecordService.getOne(new LambdaQueryWrapper() + .eq(ProcessApprovalRecord::getProjectId, projectId) + .eq(ProcessApprovalRecord::getUserId, loginUser.getId()) + .eq(StringUtils.isNotBlank(taskId), ProcessApprovalRecord::getTaskId, taskId) + , false); + } + esPermissionApplyFlowVO.setProcessAll(processAll); + esPermissionApplyFlowVO.setProcessApprovalRecord(processApprovalRecord); + return esPermissionApplyFlowVO; + + } + + @Override + public void flowApproval(EsPermissionApplyFlowVO esPermissionApplyFlowVO) { + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + // 流程信息 + ProcessAll processAll = esPermissionApplyFlowVO.getProcessAll(); + // 流程审批信息 + ProcessApprovalRecord processApprovalRecord = esPermissionApplyFlowVO.getProcessApprovalRecord(); + // map(参数) + Map map = esPermissionApplyFlowVO.getMap(); + + // 更新流程审批信息 + processApprovalRecordService.update( + new LambdaUpdateWrapper() + .eq(ProcessApprovalRecord::getUserId, loginUser.getId()) + .eq(ProcessApprovalRecord::getTaskId, processAll.getTaskId()) + .set(StringUtils.isNotBlank(processApprovalRecord.getCommitText()), + ProcessApprovalRecord::getCommitText, processApprovalRecord.getCommitText()) + .set(ProcessApprovalRecord::getCommitFlag, processApprovalRecord.getCommitFlag()) + .set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue())); + + Task task = taskService.createTaskQuery().taskId(processAll.getTaskId()).singleResult(); + if (task!= null) { + // 完成任务 + taskService.complete(task.getId(), map); + // 判断是否是最后一个节点 + if (isLastNode(processAll.getProcessInstanceId()) + && map.containsKey("pass") && (boolean) map.get("pass")){ + // 临时权限设置 + ProcessEsPermissionApplyVO processEsPermissionApplyVO = processEsPermissionApplyService.queryByProjectId(processAll.getProjectId()); + List lawsEnterpriseStandardList = processEsPermissionApplyVO.getLawsEnterpriseStandardList(); + List idList = lawsEnterpriseStandardList.stream().map(LawsEnterpriseStandard::getId).collect(Collectors.toList()); + LawsStandardTempPermission lawsStandardTempPermission = new LawsStandardTempPermission(); + lawsStandardTempPermission.setStandardIds(String.join(",", idList)); + lawsStandardTempPermission.setUserIds(processEsPermissionApplyVO.getUserId()); + enterpriseStandardAuthUserService.saveTempPermissionTwo(lawsStandardTempPermission); + } + } + + } + + @Override + public void flowTransfer(String taskId, String userId) { + // 更新流程审批信息 + processApprovalRecordService.update(new LambdaUpdateWrapper() + .eq(ProcessApprovalRecord::getTaskId, taskId) + .set(ProcessApprovalRecord::getTransferBy, userId) + .set(ProcessApprovalRecord::getUserId, userId)); + // 转办 + taskService.setAssignee(taskId, userId); + } + + public boolean isLastNode(String processInstanceId) { + // 查询流程实例状态 + ProcessInstance processInstance = runtimeService.createProcessInstanceQuery() + .processInstanceId(processInstanceId) + .singleResult(); + + // 如果流程实例为null,表示流程已结束 + return processInstance == null; + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/impl/ProcessEsPermissionApplyServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/impl/ProcessEsPermissionApplyServiceImpl.java new file mode 100644 index 00000000..981ef59d --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/service/impl/ProcessEsPermissionApplyServiceImpl.java @@ -0,0 +1,154 @@ +package com.jero.modules.activiti.process.espermissionapply.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.espermissionapply.entity.ProcessEsPermissionApply; +import com.jero.modules.activiti.process.espermissionapply.mapper.ProcessEsPermissionApplyMapper; +import com.jero.modules.activiti.process.espermissionapply.service.IProcessEsPermissionApplyService; +import com.jero.modules.activiti.process.espermissionapply.vo.ProcessEsPermissionApplyVO; +import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletRequest; +import java.util.*; + + +/** + * @Description: 权限申请流程 + * @Author: jero-boot + * @Date: 2023-11-29 + * @Version: V1.0 + */ +@Service +@Transactional(rollbackFor = JeroBootException.class) +public class ProcessEsPermissionApplyServiceImpl extends ServiceImpl implements IProcessEsPermissionApplyService { + + private final ILawsEnterpriseStandardService lawsEnterpriseStandardService; + + public ProcessEsPermissionApplyServiceImpl(ILawsEnterpriseStandardService lawsEnterpriseStandardService) { + this.lawsEnterpriseStandardService = lawsEnterpriseStandardService; + } + + /** + * 分页查询 + * + * @param processEsPermissionApply + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @Override + public IPage queryPage(ProcessEsPermissionApply processEsPermissionApply, Integer pageNo, Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(processEsPermissionApply, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + return page(page, queryWrapper); + } + + /** + * 列表查询 + * + * @param processEsPermissionApply + * @param req + * @return + */ + @Override + public List queryList(ProcessEsPermissionApply processEsPermissionApply, HttpServletRequest req) { + return list(QueryGenerator.initQueryWrapper(processEsPermissionApply, req.getParameterMap())); + } + + /** + * 保存 + * + * @param processEsPermissionApply + * @return + */ + @Override + public void add(ProcessEsPermissionApply processEsPermissionApply) { + Date now = new Date(); + processEsPermissionApply.setCreateTime(now); + processEsPermissionApply.setUpdateTime(now); + save(processEsPermissionApply); + } + + /** + * 更新 + * + * @param processEsPermissionApply + * @return + */ + @Override + public void editById(ProcessEsPermissionApply processEsPermissionApply) { + Date now = new Date(); + processEsPermissionApply.setUpdateTime(now); + saveOrUpdate(processEsPermissionApply); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public ProcessEsPermissionApply queryById(String id) { + return getById(id); + } + + @Override + public ProcessEsPermissionApplyVO queryByProjectId(String projectId) { + ProcessEsPermissionApplyVO processEsPermissionApplyVO = new ProcessEsPermissionApplyVO(); + // 通过项目id查询 + ProcessEsPermissionApply processEsPermissionApply = getOne( + new LambdaQueryWrapper() + .eq(ProcessEsPermissionApply::getProjectId, projectId)); + BeanUtils.copyProperties(processEsPermissionApply, processEsPermissionApplyVO); + + if (StringUtils.isNotBlank(processEsPermissionApply.getStandardNumbers())){ + List standardNumberList = Arrays.asList(processEsPermissionApply.getStandardNumbers().split(",")); + List list = lawsEnterpriseStandardService.list( + new LambdaQueryWrapper() + .in(LawsEnterpriseStandard::getStandardNumber, standardNumberList)); + // 排序 + List newList = new ArrayList<>(); + for (String standardNumber : standardNumberList) { + Optional optionalLawsEnterpriseStandard = list.stream().filter(lawsEnterpriseStandard -> standardNumber.equals(lawsEnterpriseStandard.getStandardNumber())).findFirst(); + optionalLawsEnterpriseStandard.ifPresent(newList::add); + } + processEsPermissionApplyVO.setLawsEnterpriseStandardList(newList); + } + return processEsPermissionApplyVO; + } +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/vo/EsPermissionApplyFlowVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/vo/EsPermissionApplyFlowVO.java new file mode 100644 index 00000000..2cd534b7 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/vo/EsPermissionApplyFlowVO.java @@ -0,0 +1,33 @@ +package com.jero.modules.activiti.process.espermissionapply.vo; + +import com.jero.modules.activiti.entity.ProcessAll; +import com.jero.modules.activiti.entity.ProcessApprovalRecord; +import com.jero.modules.activiti.process.esinspectplan.entity.ProcessEsInspectPlan; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; +import java.util.Map; + +/** + * @ClassName: EsPermissionApplyFlowVO + * @Description: + * @Author: yjz + * @Date: 2023-11-29 18:47 + * @Version: 1.0 + **/ +@Data +public class EsPermissionApplyFlowVO { + /**流程信息*/ + @ApiModelProperty(value = "流程信息") + private ProcessAll processAll; + /**流程审批信息*/ + @ApiModelProperty(value = "流程审批信息") + private ProcessApprovalRecord processApprovalRecord; + /**业务基本信息*/ + @ApiModelProperty(value = "业务基本信息") + private List processEsInspectPlanList; + /**map*/ + @ApiModelProperty(value = "map") + private Map map; +} diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/vo/ProcessEsPermissionApplyVO.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/vo/ProcessEsPermissionApplyVO.java new file mode 100644 index 00000000..d02bd588 --- /dev/null +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/espermissionapply/vo/ProcessEsPermissionApplyVO.java @@ -0,0 +1,22 @@ +package com.jero.modules.activiti.process.espermissionapply.vo; + +import com.jero.modules.activiti.process.espermissionapply.entity.ProcessEsPermissionApply; +import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @ClassName: ProcessEsPermissionApplyVO + * @Description: + * @Author: yjz + * @Date: 2023-11-29 18:49 + * @Version: 1.0 + **/ +@Data +public class ProcessEsPermissionApplyVO extends ProcessEsPermissionApply { + /**企业标准*/ + @ApiModelProperty(value = "企业标准") + private List lawsEnterpriseStandardList; +} diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardAuthUserService.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardAuthUserService.java index cb9eb66a..275c70cd 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardAuthUserService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/EnterpriseStandardAuthUserService.java @@ -16,6 +16,12 @@ public interface EnterpriseStandardAuthUserService extends IService esAuthUsers = new ArrayList<>(); + + for (String standardId : lawsStandardTempPermission.getStandardIdList()) { + for (String userId : lawsStandardTempPermission.getUserIdList()) { + EnterpriseStandardAuthUser enterpriseStandardAuthUser = new EnterpriseStandardAuthUser(); + enterpriseStandardAuthUser.setAuthUser(userId); + enterpriseStandardAuthUser.setStandardId(standardId); + if (lawsStandardTempPermission.getAuthDate() != null) { + Date authDate = lawsStandardTempPermission.getAuthDate(); + // 对authDate加一天 + Calendar c = Calendar.getInstance(); + c.setTime(authDate); + c.add(Calendar.DATE, 1); + authDate = c.getTime(); + enterpriseStandardAuthUser.setAuthExpireDate(authDate); + } + esAuthUsers.add(enterpriseStandardAuthUser); + } + } + saveBatch(esAuthUsers); + } + @Override public void detailFlagSet(List> records) { records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, false));