feat(会后管理流程): 基础模块

This commit is contained in:
yjz
2023-11-30 18:31:18 +08:00
parent fc78c3c01f
commit 01ef005ef9
26 changed files with 1495 additions and 12 deletions
@@ -384,11 +384,11 @@ public class EsInspectFlowServiceImpl implements IEsInspectFlowService {
esInspectReportFlowVO.setProcessApprovalRecord(processApprovalRecord);
// 处理业务表数据
ProcessEsInspectRectify processEsInspectReport = new ProcessEsInspectRectify();
processEsInspectReport.setProjectId(processAll.getProjectId());
processEsInspectReport.setInspectRectifyPlanId(enterpriseStandardInspectRectifyPlan.getId());
esInspectReportFlowVO.setProcessEsInspectReport(processEsInspectReport);
processEsInspectReportService.save(processEsInspectReport);
ProcessEsInspectRectify processEsInspectRectify = new ProcessEsInspectRectify();
processEsInspectRectify.setProjectId(processAll.getProjectId());
processEsInspectRectify.setInspectRectifyPlanId(enterpriseStandardInspectRectifyPlan.getId());
esInspectReportFlowVO.setProcessEsInspectRectify(processEsInspectRectify);
processEsInspectReportService.save(processEsInspectRectify);
// 处理人员信息
Map<String, Object> map = new HashMap<>();
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.process.esinspectrectify.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.aspect.annotation.Translation;
import com.jero.common.system.base.controller.JeroController;
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
import com.jero.modules.activiti.process.esinspectrectify.service.IProcessEsInspectRectifyService;
@@ -160,6 +161,7 @@ public class ProcessEsInspectRectifyController extends JeroController<ProcessEsI
@AutoLog(value = "企标稽查整改业务表-通过项目id查询")
@ApiOperation(value="企标稽查整改业务表-通过项目id查询", notes="企标稽查整改业务表-通过项目id查询")
@GetMapping(value = "/queryByProjectId")
@Translation
public Result<ProcessEsInspectRectifyVO> queryByProjectId(String projectId) {
ProcessEsInspectRectifyVO esInspectReportVO = processEsInspectReportService.queryByProjectId(projectId);
if(esInspectReportVO==null) {
@@ -8,15 +8,18 @@ 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.entity.ProcessNodeLink;
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.esinspectrectify.common.EsInspectRectifyCommon;
import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspectRectify;
import com.jero.modules.activiti.process.esinspectrectify.service.IEsInspectRectifyFlowService;
import com.jero.modules.activiti.process.esinspectrectify.service.IProcessEsInspectRectifyService;
import com.jero.modules.activiti.process.esinspectrectify.vo.EsInspectRectifyFlowVO;
import com.jero.modules.activiti.process.esinspectrectify.vo.ProcessEsInspectRectifyVO;
import com.jero.modules.activiti.process.esinspectrectify.vo.UserInfo;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.ProcessNodeLinkService;
@@ -125,7 +128,7 @@ public class EsInspectRectifyFlowServiceImpl implements IEsInspectRectifyFlowSer
// 流程总表信息
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_PLAN.getValue()));
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_REPORT.getValue()));
ProcessDraft processDraft = new ProcessDraft();
// 属性拷贝
BeanUtils.copyProperties(processAll, processDraft);
@@ -149,6 +152,10 @@ public class EsInspectRectifyFlowServiceImpl implements IEsInspectRectifyFlowSer
.eq(ProcessDraft::getUserId, loginUser.getId()));
// 保存新草稿
processDraftService.save(processDraft);
// 保存业务表信息
ProcessEsInspectRectify processEsInspectReport = esInspectReportFlowVO.getProcessEsInspectRectify();
processEsInspectReportService.updateById(processEsInspectReport);
}
@Override
@@ -205,6 +212,21 @@ public class EsInspectRectifyFlowServiceImpl implements IEsInspectRectifyFlowSer
// map(参数)
Map<String, Object> map = esInspectReportFlowVO.getMap();
// 更新流程总表信息
processAllService.updateById(processAll);
//更新人员信息
List<UserInfo> userInfoList = esInspectReportFlowVO.getUserInfo();
for (UserInfo userInfo : userInfoList) {
processNodeLinkService.update(new LambdaUpdateWrapper<ProcessNodeLink>()
.eq(ProcessNodeLink::getProcessNodeId, userInfo.getId())
.set(ProcessNodeLink::getUserId, userInfo.getLinkUserIds()));
}
// 保存业务表信息
ProcessEsInspectRectify processEsInspectReport = esInspectReportFlowVO.getProcessEsInspectRectify();
processEsInspectReportService.updateById(processEsInspectReport);
// 更新流程审批信息
processApprovalRecordService.update(
new LambdaUpdateWrapper<ProcessApprovalRecord>()
@@ -15,6 +15,7 @@ import com.jero.modules.activiti.process.esinspectrectify.service.IProcessEsInsp
import com.jero.modules.activiti.process.esinspectrectify.vo.ProcessEsInspectRectifyVO;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectRectifyPlanService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -137,6 +138,7 @@ public class ProcessEsInspectRectifyServiceImpl extends ServiceImpl<ProcessEsIns
ProcessEsInspectRectify processEsInspectRectify = getOne(
new LambdaQueryWrapper<ProcessEsInspectRectify>()
.eq(ProcessEsInspectRectify::getProjectId, projectId));
BeanUtils.copyProperties(processEsInspectRectify, esInspectReportVO);
// 查询企业标准稽查整改计划
EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan = enterpriseStandardInspectRectifyPlanService.queryById(processEsInspectRectify.getInspectRectifyPlanId());
esInspectReportVO.setEnterpriseStandardInspectRectifyPlan(enterpriseStandardInspectRectifyPlan);
@@ -6,6 +6,7 @@ import com.jero.modules.activiti.process.esinspectrectify.entity.ProcessEsInspec
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
@@ -25,8 +26,11 @@ public class EsInspectRectifyFlowVO {
private ProcessApprovalRecord processApprovalRecord;
/**业务基本信息*/
@ApiModelProperty(value = "业务基本信息")
private ProcessEsInspectRectify processEsInspectReport;
private ProcessEsInspectRectify processEsInspectRectify;
/**map*/
@ApiModelProperty(value = "map")
private Map<String, Object> map;
/**人员信息*/
@ApiModelProperty(value = "人员信息")
private List<UserInfo> userInfo;
}
@@ -0,0 +1,16 @@
package com.jero.modules.activiti.process.esinspectrectify.vo;
import lombok.Data;
/**
* @ClassName: UserInfo
* @Description:
* @Author: yjz
* @Date: 2023-11-30 15:41
* @Version: 1.0
**/
@Data
public class UserInfo {
private String id;
private String linkUserIds;
}
@@ -214,7 +214,6 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
esPermissionApplyFlowVO.setProcessAll(processAll);
esPermissionApplyFlowVO.setProcessApprovalRecord(processApprovalRecord);
return esPermissionApplyFlowVO;
}
@Override
@@ -254,7 +253,6 @@ public class EsPermissionApplyFlowServiceImpl implements EsPermissionApplyFlowSe
enterpriseStandardAuthUserService.saveTempPermissionTwo(lawsStandardTempPermission);
}
}
}
@Override
@@ -0,0 +1,14 @@
package com.jero.modules.activiti.process.meetingmanage.common;
/**
* @ClassName: processMeetingManageCommon
* @Description:
* @Author: yjz
* @Date: 2023-11-30 17:06
* @Version: 1.0
**/
public class processMeetingManageCommon {
private processMeetingManageCommon(){
}
}
@@ -0,0 +1,111 @@
package com.jero.modules.activiti.process.meetingmanage.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.meetingmanage.service.IMeetingManageFlowService;
import com.jero.modules.activiti.process.meetingmanage.vo.MeetingManageFlowVO;
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.web.bind.annotation.*;
/**
* @ClassName: MeetingManageFlowController
* @Description:
* @Author: yjz
* @Date: 2023-11-30 17:09
* @Version: 1.0
**/
@Api(tags="会后管理流程")
@RestController
@RequestMapping("/process/meetingManageFlow")
@Slf4j
public class MeetingManageFlowController {
private final IMeetingManageFlowService meetingManageFlowService;
public MeetingManageFlowController(IMeetingManageFlowService meetingManageFlowService) {
this.meetingManageFlowService = meetingManageFlowService;
}
/**
* 会后管理流程-生成项目id
* @return 项目id
*/
@AutoLog(value = "会后管理流程-生成项目id")
@ApiOperation(value="会后管理流程-生成项目id", notes="会后管理流程-生成项目id")
@GetMapping(value = "/getProjectId")
public String getProjectId() {
return String.valueOf(SnowflakeUtils.snowflake());
}
/**
* 会后管理流程-流程发起
* @param meetingManageFlowVO 会后管理流程VO对象
* @return 结果对象
*/
@AutoLog(value = "会后管理流程-流程发起")
@ApiOperation(value="会后管理流程-流程发起", notes="会后管理流程-流程发起")
@PostMapping(value = "/flowStart")
public Result<T> flowStart(@RequestBody MeetingManageFlowVO meetingManageFlowVO) {
meetingManageFlowService.flowStart(meetingManageFlowVO);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
/**
* 会后管理流程-流程保存
* @param meetingManageFlowVO 会后管理流程VO对象
* @return 结果对象
*/
@AutoLog(value = "会后管理流程-流程保存")
@ApiOperation(value="会后管理流程-流程保存", notes="会后管理流程-流程保存")
@PostMapping(value = "/flowSave")
public Result<T> flowSave(@RequestBody MeetingManageFlowVO meetingManageFlowVO) {
meetingManageFlowService.flowSave(meetingManageFlowVO);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
/**
* 会后管理流程-办理详情
* @param projectId 项目id
* @return 结果对象
*/
@AutoLog(value = "会后管理流程-办理详情")
@ApiOperation(value="会后管理流程-办理详情", notes="会后管理流程-办理详情")
@GetMapping(value = "/queryDetailByProjectId")
@Translation
public Result<MeetingManageFlowVO> queryDetailByProjectId(@ApiParam("项目id") String projectId, @ApiParam("任务id") String taskId) {
return Result.OK(meetingManageFlowService.queryDetailByProjectId(projectId, taskId));
}
/**
* 会后管理流程-流程审批
* @param meetingManageFlowVO 会后管理流程VO对象
* @return 结果对象
*/
@AutoLog(value = "会后管理流程-流程审批")
@ApiOperation(value="会后管理流程-流程审批", notes="会后管理流程-流程审批")
@PostMapping(value = "/flowApproval")
public Result<T> flowApproval(@RequestBody MeetingManageFlowVO meetingManageFlowVO) {
meetingManageFlowService.flowApproval(meetingManageFlowVO);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
/**
* 会后管理流程-流程转办
* @return 结果对象
*/
@AutoLog(value = "会后管理流程-流程转办")
@ApiOperation(value="会后管理流程-流程转办", notes="会后管理流程-流程转办")
@GetMapping(value = "/flowTransfer")
public Result<T> flowTransfer(@ApiParam("任务id") String taskId, @ApiParam("用户id") String userId) {
meetingManageFlowService.flowTransfer(taskId, userId);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
}
@@ -0,0 +1,163 @@
package com.jero.modules.activiti.process.meetingmanage.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.meetingmanage.entity.ProcessMeetingManage;
import com.jero.modules.activiti.process.meetingmanage.service.IProcessMeetingManageService;
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 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("/meetingmanage/processMeetingManage")
@Slf4j
public class ProcessMeetingManageController extends JeroController<ProcessMeetingManage, IProcessMeetingManageService> {
@Autowired
private IProcessMeetingManageService processMeetingManageService;
/**
* 分页列表查询
*
* @param processMeetingManage
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "会后管理流程业务表-分页列表查询")
@ApiOperation(value="会后管理流程业务表-分页列表查询", notes="会后管理流程业务表-分页列表查询")
@GetMapping(value = "/page")
public Result<IPage<ProcessMeetingManage>> queryPageList(ProcessMeetingManage processMeetingManage,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
IPage<ProcessMeetingManage> pageList = processMeetingManageService.queryPage(processMeetingManage, pageNo, pageSize, req);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @param processMeetingManage
* @param req
* @return
*/
@AutoLog(value = "会后管理流程业务表-列表查询")
@ApiOperation(value="会后管理流程业务表-列表查询", notes="会后管理流程业务表-列表查询")
@GetMapping(value = "/list")
public Result<List<ProcessMeetingManage>> queryList(ProcessMeetingManage processMeetingManage, HttpServletRequest req) {
List<ProcessMeetingManage> list = processMeetingManageService.queryList(processMeetingManage, req);
return Result.OK(list);
}
/**
* 添加
*
* @param processMeetingManage
* @return
*/
@AutoLog(value = "会后管理流程业务表-添加")
@ApiOperation(value="会后管理流程业务表-添加", notes="会后管理流程业务表-添加")
@PostMapping(value = "/add")
public Result<T> add(@Validated @RequestBody ProcessMeetingManage processMeetingManage) {
processMeetingManageService.add(processMeetingManage);
return Result.OK("操作成功!");
}
/**
* 编辑
*
* @param processMeetingManage
* @return
*/
@AutoLog(value = "会后管理流程业务表-编辑")
@ApiOperation(value="会后管理流程业务表-编辑", notes="会后管理流程业务表-编辑")
@PostMapping(value = "/edit")
public Result<T> edit(@Validated @RequestBody ProcessMeetingManage processMeetingManage) {
processMeetingManageService.editById(processMeetingManage);
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("请选择数据!");
}
processMeetingManageService.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.processMeetingManageService.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<ProcessMeetingManage> queryById(@RequestParam(name="id",required=true) String id) {
ProcessMeetingManage processMeetingManage = processMeetingManageService.queryById(id);
if(processMeetingManage==null) {
return Result.error("未找到对应数据");
}
return Result.OK(processMeetingManage);
}
/**
* 导出excel
*
* @param request
* @param processMeetingManage
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProcessMeetingManage processMeetingManage) {
return super.exportXls(request, processMeetingManage, ProcessMeetingManage.class, "会后管理流程业务表");
}
}
@@ -0,0 +1,163 @@
package com.jero.modules.activiti.process.meetingmanage.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.meetingmanage.entity.ProcessMeetingManagePersonnel;
import com.jero.modules.activiti.process.meetingmanage.service.IProcessMeetingManagePersonnelService;
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 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("/meetingmanage/processMeetingManagePersonnel")
@Slf4j
public class ProcessMeetingManagePersonnelController extends JeroController<ProcessMeetingManagePersonnel, IProcessMeetingManagePersonnelService> {
@Autowired
private IProcessMeetingManagePersonnelService processMeetingManagePersonnelService;
/**
* 分页列表查询
*
* @param processMeetingManagePersonnel
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "会后管理流程_参会人员业务表-分页列表查询")
@ApiOperation(value="会后管理流程_参会人员业务表-分页列表查询", notes="会后管理流程_参会人员业务表-分页列表查询")
@GetMapping(value = "/page")
public Result<IPage<ProcessMeetingManagePersonnel>> queryPageList(ProcessMeetingManagePersonnel processMeetingManagePersonnel,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
IPage<ProcessMeetingManagePersonnel> pageList = processMeetingManagePersonnelService.queryPage(processMeetingManagePersonnel, pageNo, pageSize, req);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @param processMeetingManagePersonnel
* @param req
* @return
*/
@AutoLog(value = "会后管理流程_参会人员业务表-列表查询")
@ApiOperation(value="会后管理流程_参会人员业务表-列表查询", notes="会后管理流程_参会人员业务表-列表查询")
@GetMapping(value = "/list")
public Result<List<ProcessMeetingManagePersonnel>> queryList(ProcessMeetingManagePersonnel processMeetingManagePersonnel, HttpServletRequest req) {
List<ProcessMeetingManagePersonnel> list = processMeetingManagePersonnelService.queryList(processMeetingManagePersonnel, req);
return Result.OK(list);
}
/**
* 添加
*
* @param processMeetingManagePersonnel
* @return
*/
@AutoLog(value = "会后管理流程_参会人员业务表-添加")
@ApiOperation(value="会后管理流程_参会人员业务表-添加", notes="会后管理流程_参会人员业务表-添加")
@PostMapping(value = "/add")
public Result<T> add(@Validated @RequestBody ProcessMeetingManagePersonnel processMeetingManagePersonnel) {
processMeetingManagePersonnelService.add(processMeetingManagePersonnel);
return Result.OK("操作成功!");
}
/**
* 编辑
*
* @param processMeetingManagePersonnel
* @return
*/
@AutoLog(value = "会后管理流程_参会人员业务表-编辑")
@ApiOperation(value="会后管理流程_参会人员业务表-编辑", notes="会后管理流程_参会人员业务表-编辑")
@PostMapping(value = "/edit")
public Result<T> edit(@Validated @RequestBody ProcessMeetingManagePersonnel processMeetingManagePersonnel) {
processMeetingManagePersonnelService.editById(processMeetingManagePersonnel);
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("请选择数据!");
}
processMeetingManagePersonnelService.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.processMeetingManagePersonnelService.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<ProcessMeetingManagePersonnel> queryById(@RequestParam(name="id",required=true) String id) {
ProcessMeetingManagePersonnel processMeetingManagePersonnel = processMeetingManagePersonnelService.queryById(id);
if(processMeetingManagePersonnel==null) {
return Result.error("未找到对应数据");
}
return Result.OK(processMeetingManagePersonnel);
}
/**
* 导出excel
*
* @param request
* @param processMeetingManagePersonnel
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProcessMeetingManagePersonnel processMeetingManagePersonnel) {
return super.exportXls(request, processMeetingManagePersonnel, ProcessMeetingManagePersonnel.class, "会后管理流程_参会人员业务表");
}
}
@@ -0,0 +1,61 @@
package com.jero.modules.activiti.process.meetingmanage.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;
/**
* @Description: 会后管理流程业务表
* @Author: jero-boot
* @Date: 2023-11-30
* @Version: V1.0
*/
@Data
@TableName("process_meeting_manage")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="process_meeting_manage对象", description="会后管理流程业务表")
public class ProcessMeetingManage extends BaseEntity {
/**参会日期*/
@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 participationTime;
/**会议名称*/
@Excel(name = "会议名称", width = 15)
@ApiModelProperty(value = "会议名称")
private java.lang.String name;
/**来源(1:新增 2:会后管理流程)*/
@Excel(name = "来源(1:新增 2:会后管理流程)", width = 15)
@ApiModelProperty(value = "来源(1:新增 2:会后管理流程)")
private java.lang.String source;
/**分标委id(标准化活动树结构一级id)*/
@Excel(name = "分标委id(标准化活动树结构一级id)", width = 15)
@ApiModelProperty(value = "分标委id(标准化活动树结构一级id)")
private java.lang.String standardizationFirstId;
/**工作组id(标准化活动树结构二级id)*/
@Excel(name = "工作组id(标准化活动树结构二级id)", width = 15)
@ApiModelProperty(value = "工作组id(标准化活动树结构二级id)")
private java.lang.String standardizationSecondId;
/**标准编号*/
@Excel(name = "标准编号", width = 15)
@ApiModelProperty(value = "标准编号")
private java.lang.String standardNo;
/**标准名称*/
@Excel(name = "标准名称", width = 15)
@ApiModelProperty(value = "标准名称")
private java.lang.String standardName;
/**项目id*/
@Excel(name = "项目id", width = 15)
@ApiModelProperty(value = "项目id")
private java.lang.String projectId;
}
@@ -0,0 +1,45 @@
package com.jero.modules.activiti.process.meetingmanage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
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 java.io.Serializable;
/**
* @Description: 会后管理流程_参会人员业务表
* @Author: jero-boot
* @Date: 2023-11-30
* @Version: V1.0
*/
@Data
@TableName("process_meeting_manage_personnel")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="process_meeting_manage_personnel对象", description="会后管理流程_参会人员业务表")
public class ProcessMeetingManagePersonnel implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**会后管理流程id*/
@ApiModelProperty(value = "会后管理流程id")
private java.lang.String processMeetingManageId;
/**参会人员id*/
@Excel(name = "参会人员id", width = 15)
@ApiModelProperty(value = "参会人员id")
private java.lang.String personnelId;
/**相关资料*/
@Excel(name = "相关资料", width = 15)
@ApiModelProperty(value = "相关资料")
private java.lang.String fileId;
}
@@ -0,0 +1,14 @@
package com.jero.modules.activiti.process.meetingmanage.mapper;
import com.jero.modules.activiti.process.meetingmanage.entity.ProcessMeetingManage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 会后管理流程业务表
* @Author: jero-boot
* @Date: 2023-11-30
* @Version: V1.0
*/
public interface ProcessMeetingManageMapper extends BaseMapper<ProcessMeetingManage> {
}
@@ -0,0 +1,14 @@
package com.jero.modules.activiti.process.meetingmanage.mapper;
import com.jero.modules.activiti.process.meetingmanage.entity.ProcessMeetingManagePersonnel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 会后管理流程_参会人员业务表
* @Author: jero-boot
* @Date: 2023-11-30
* @Version: V1.0
*/
public interface ProcessMeetingManagePersonnelMapper extends BaseMapper<ProcessMeetingManagePersonnel> {
}
@@ -0,0 +1,20 @@
<?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.meetingmanage.mapper.ProcessMeetingManageMapper">
<resultMap id="ProcessMeetingManageResultMap" type="com.jero.modules.activiti.process.meetingmanage.entity.ProcessMeetingManage">
<id column="id" property="id" />
<result column="participation_time" property="participationTime" />
<result column="name" property="name" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="del_flag" property="delFlag" />
<result column="source" property="source" />
<result column="standardization_first_id" property="standardizationFirstId" />
<result column="standardization_second_id" property="standardizationSecondId" />
<result column="standard_no" property="standardNo" />
<result column="standard_name" property="standardName" />
<result column="project_id" property="projectId" />
</resultMap>
</mapper>
@@ -0,0 +1,9 @@
<?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.meetingmanage.mapper.ProcessMeetingManagePersonnelMapper">
<resultMap id="ProcessMeetingManagePersonnelResultMap" type="com.jero.modules.activiti.process.meetingmanage.entity.ProcessMeetingManagePersonnel">
<id column="id" property="id" />
<result column="personnel_id" property="personnelId" />
<result column="file_id" property="fileId" />
</resultMap>
</mapper>
@@ -0,0 +1,45 @@
package com.jero.modules.activiti.process.meetingmanage.service;
import com.jero.modules.activiti.process.meetingmanage.vo.MeetingManageFlowVO;
/**
* @ClassName: MeetingManageFlowService
* @Description:
* @Author: yjz
* @Date: 2023-11-30 17:10
* @Version: 1.0
**/
public interface IMeetingManageFlowService {
/**
* 会后管理流程-流程发起
* @param meetingManageFlowVO
*/
void flowStart(MeetingManageFlowVO meetingManageFlowVO);
/**
* 会后管理流程-流程保存
* @param meetingManageFlowVO
*/
void flowSave(MeetingManageFlowVO meetingManageFlowVO);
/**
* 会后管理流程-办理详情
* @param projectId
* @param taskId
* @return
*/
MeetingManageFlowVO queryDetailByProjectId(String projectId, String taskId);
/**
* 会后管理流程-流程审批
* @param meetingManageFlowVO
*/
void flowApproval(MeetingManageFlowVO meetingManageFlowVO);
/**
* 会后管理流程-流程转办
* @param taskId
* @param userId
*/
void flowTransfer(String taskId, String userId);
}
@@ -0,0 +1,77 @@
package com.jero.modules.activiti.process.meetingmanage.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.activiti.process.meetingmanage.entity.ProcessMeetingManagePersonnel;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @Description: 会后管理流程_参会人员业务表
* @Author: jero-boot
* @Date: 2023-11-30
* @Version: V1.0
*/
public interface IProcessMeetingManagePersonnelService extends IService<ProcessMeetingManagePersonnel> {
/**
* 分页查询
*
* @param processMeetingManagePersonnel
* @param pageNo
* @param pageSize
* @param req
* @return
*/
IPage<ProcessMeetingManagePersonnel> queryPage(ProcessMeetingManagePersonnel processMeetingManagePersonnel, Integer pageNo, Integer pageSize, HttpServletRequest req);
/**
* 列表查询
*
* @param processMeetingManagePersonnel
* @param req
* @return
*/
List<ProcessMeetingManagePersonnel> queryList(ProcessMeetingManagePersonnel processMeetingManagePersonnel, HttpServletRequest req);
/**
* 保存
*
* @param processMeetingManagePersonnel
* @return
*/
void add(ProcessMeetingManagePersonnel processMeetingManagePersonnel);
/**
* 更新
*
* @param processMeetingManagePersonnel
* @return
*/
void editById(ProcessMeetingManagePersonnel processMeetingManagePersonnel);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
ProcessMeetingManagePersonnel queryById(String id);
}
@@ -0,0 +1,77 @@
package com.jero.modules.activiti.process.meetingmanage.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.activiti.process.meetingmanage.entity.ProcessMeetingManage;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @Description: 会后管理流程业务表
* @Author: jero-boot
* @Date: 2023-11-30
* @Version: V1.0
*/
public interface IProcessMeetingManageService extends IService<ProcessMeetingManage> {
/**
* 分页查询
*
* @param processMeetingManage
* @param pageNo
* @param pageSize
* @param req
* @return
*/
IPage<ProcessMeetingManage> queryPage(ProcessMeetingManage processMeetingManage, Integer pageNo, Integer pageSize, HttpServletRequest req);
/**
* 列表查询
*
* @param processMeetingManage
* @param req
* @return
*/
List<ProcessMeetingManage> queryList(ProcessMeetingManage processMeetingManage, HttpServletRequest req);
/**
* 保存
*
* @param processMeetingManage
* @return
*/
void add(ProcessMeetingManage processMeetingManage);
/**
* 更新
*
* @param processMeetingManage
* @return
*/
void editById(ProcessMeetingManage processMeetingManage);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
ProcessMeetingManage queryById(String id);
}
@@ -0,0 +1,336 @@
package com.jero.modules.activiti.process.meetingmanage.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.meetingmanage.entity.ProcessMeetingManage;
import com.jero.modules.activiti.process.meetingmanage.entity.ProcessMeetingManagePersonnel;
import com.jero.modules.activiti.process.meetingmanage.service.IMeetingManageFlowService;
import com.jero.modules.activiti.process.meetingmanage.service.IProcessMeetingManagePersonnelService;
import com.jero.modules.activiti.process.meetingmanage.service.IProcessMeetingManageService;
import com.jero.modules.activiti.process.meetingmanage.vo.MeetingManageFlowVO;
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.standardization.entity.LawsStandardization;
import com.jero.modules.laws.standardization.entity.LawsStandardizationMeeting;
import com.jero.modules.laws.standardization.service.ILawsStandardizationService;
import com.jero.modules.laws.standardization.vo.StandardizationVO;
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: MeetingManageFlowServiceImpl
* @Description:
* @Author: yjz
* @Date: 2023-11-30 17:11
* @Version: 1.0
**/
@Service
@Transactional(rollbackFor = JeroBootException.class)
public class MeetingManageFlowServiceImpl implements IMeetingManageFlowService {
private final ProcessAllService processAllService;
private final ProcessApprovalRecordService processApprovalRecordService;
private final ProcessDraftService processDraftService;
private final ProcessNodeLinkService processNodeLinkService;
private final IProcessMeetingManageService processMeetingManageService;
private final IProcessMeetingManagePersonnelService processMeetingManagePersonnelService;
private final ILawsStandardizationService lawsStandardizationService;
public MeetingManageFlowServiceImpl(ProcessAllService processAllService,
ProcessApprovalRecordService processApprovalRecordService,
ProcessDraftService processDraftService,
ProcessNodeLinkService processNodeLinkService,
IProcessMeetingManageService processMeetingManageService,
IProcessMeetingManagePersonnelService processMeetingManagePersonnelService,
ILawsStandardizationService lawsStandardizationService) {
this.processAllService = processAllService;
this.processApprovalRecordService = processApprovalRecordService;
this.processDraftService = processDraftService;
this.processNodeLinkService = processNodeLinkService;
this.processMeetingManageService = processMeetingManageService;
this.processMeetingManagePersonnelService = processMeetingManagePersonnelService;
this.lawsStandardizationService = lawsStandardizationService;
}
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService();
@Resource
private TaskService taskService;
@Override
public void flowStart(MeetingManageFlowVO meetingManageFlowVO) {
// 流程信息
ProcessAll processAll = meetingManageFlowVO.getProcessAll();
// 流程审批信息
ProcessApprovalRecord processApprovalRecord = meetingManageFlowVO.getProcessApprovalRecord();
// map(参数)
Map<String, Object> map = meetingManageFlowVO.getMap();
// 根据流程key启动流程 同时 设置审批人员参数
ProcessInstance processInstance = runtimeService
.startProcessInstanceByKey(EsInspectPlanCommon.KEY, map);
// 再次设置map
runtimeService.setVariables(processInstance.getId(), map);
// 保存业务表
ProcessMeetingManage processMeetingManage = meetingManageFlowVO.getProcessMeetingManage();
processMeetingManageService.save(processMeetingManage);
// 更新流程总表信息
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT_PLAN.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()));
}
@Override
public void flowSave(MeetingManageFlowVO meetingManageFlowVO) {
// 流程信息
ProcessAll processAll = meetingManageFlowVO.getProcessAll();
// 流程审批信息
ProcessApprovalRecord processApprovalRecord = meetingManageFlowVO.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);
// 保存业务表
ProcessMeetingManage processMeetingManage = meetingManageFlowVO.getProcessMeetingManage();
processMeetingManageService.saveOrUpdate(processMeetingManage);
// 更新参会人
processMeetingManagePersonnelService.remove(
new LambdaQueryWrapper<ProcessMeetingManagePersonnel>()
.eq(ProcessMeetingManagePersonnel::getProcessMeetingManageId, processMeetingManage.getId()));
if (StringUtils.isNotBlank(meetingManageFlowVO.getFileIds())){
String[] idArr = meetingManageFlowVO.getFileIds().split(",");
for (String id : idArr) {
ProcessMeetingManagePersonnel processMeetingManagePersonnel = new ProcessMeetingManagePersonnel();
processMeetingManagePersonnel.setProcessMeetingManageId(processMeetingManage.getId());
processMeetingManagePersonnel.setFileId(id);
processMeetingManagePersonnelService.save(processMeetingManagePersonnel);
}
}
}
@Override
public MeetingManageFlowVO queryDetailByProjectId(String projectId, String taskId) {
MeetingManageFlowVO meetingManageFlowVO = new MeetingManageFlowVO();
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
ProcessAll processAll = processAllService.getOne(new LambdaQueryWrapper<ProcessAll>()
.eq(ProcessAll::getProjectId, projectId), false);
ProcessApprovalRecord processApprovalRecord = new ProcessApprovalRecord();
// 是否存在草稿
List<ProcessDraft> processDraftList = processDraftService.list(new LambdaQueryWrapper<ProcessDraft>()
.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<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getProjectId, projectId)
.eq(ProcessApprovalRecord::getUserId, loginUser.getId())
.eq(StringUtils.isNotBlank(taskId), ProcessApprovalRecord::getTaskId, taskId)
, false);
}
meetingManageFlowVO.setProcessAll(processAll);
meetingManageFlowVO.setProcessApprovalRecord(processApprovalRecord);
return meetingManageFlowVO;
}
@Override
public void flowApproval(MeetingManageFlowVO meetingManageFlowVO) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 流程信息
ProcessAll processAll = meetingManageFlowVO.getProcessAll();
// 流程审批信息
ProcessApprovalRecord processApprovalRecord = meetingManageFlowVO.getProcessApprovalRecord();
// map(参数)
Map<String, Object> map = meetingManageFlowVO.getMap();
// 更新流程审批信息
processApprovalRecordService.update(
new LambdaUpdateWrapper<ProcessApprovalRecord>()
.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);
// 保存参会人员
ProcessMeetingManagePersonnel processMeetingManagePersonnel = new ProcessMeetingManagePersonnel();
processMeetingManagePersonnel.setPersonnelId(loginUser.getId());
processMeetingManagePersonnel.setFileId(meetingManageFlowVO.getFileIds());
processMeetingManagePersonnelService.save(processMeetingManagePersonnel);
// 流程结束
if (isLastNode(processAll.getProcessInstanceId())){
// 保存到标准化活动
ProcessMeetingManage processMeetingManage = processMeetingManageService.getOne(
new LambdaQueryWrapper<ProcessMeetingManage>()
.eq(ProcessMeetingManage::getProjectId, processAll.getProjectId()), false);
// 查询参会人员信息
List<ProcessMeetingManagePersonnel> processMeetingManagePersonnelList = processMeetingManagePersonnelService.list(
new LambdaQueryWrapper<ProcessMeetingManagePersonnel>()
.eq(ProcessMeetingManagePersonnel::getProcessMeetingManageId, processMeetingManage.getId()));
// 处理数据
StandardizationVO standardizationVO = new StandardizationVO();
// 标准化活动
LawsStandardization lawsStandardization = new LawsStandardization();
lawsStandardization.setId(processMeetingManage.getStandardizationSecondId());
lawsStandardization.setPid(processMeetingManage.getStandardizationFirstId());
// 参会记录
ArrayList<LawsStandardizationMeeting> lawsStandardizationMeetingList = new ArrayList<>();
for (ProcessMeetingManagePersonnel meetingManagePersonnel : processMeetingManagePersonnelList) {
LawsStandardizationMeeting lawsStandardizationMeeting = new LawsStandardizationMeeting();
lawsStandardizationMeeting.setParticipationTime(processMeetingManage.getParticipationTime());
lawsStandardizationMeeting.setName(processMeetingManage.getName());
lawsStandardizationMeeting.setPersonnelId(meetingManagePersonnel.getPersonnelId());
lawsStandardizationMeeting.setMeetingData(meetingManagePersonnel.getFileId());
lawsStandardizationMeeting.setSource("2");
lawsStandardizationMeetingList.add(lawsStandardizationMeeting);
}
// 保存到标准化活动
standardizationVO.setLawsStandardization(lawsStandardization);
standardizationVO.setStandardizationMeetings(lawsStandardizationMeetingList);
standardizationVO.setStandardizationPayments(Collections.emptyList());
standardizationVO.setStandardizationGroupList(Collections.emptyList());
standardizationVO.setStandardizationLiaisonList(Collections.emptyList());
lawsStandardizationService.addOrUpdateStandardization(standardizationVO);
}
}
}
@Override
public void flowTransfer(String taskId, String userId) {
// 更新流程审批信息
processApprovalRecordService.update(new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getTaskId, taskId)
.set(ProcessApprovalRecord::getTransferBy, userId)
.set(ProcessApprovalRecord::getUserId, userId));
// 转办
taskService.setAssignee(taskId, userId);
}
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;
}
public boolean isLastNode(String processInstanceId) {
// 查询流程实例状态
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
// 如果流程实例为null,表示流程已结束
return processInstance == null;
}
}
@@ -0,0 +1,113 @@
package com.jero.modules.activiti.process.meetingmanage.service.impl;
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.meetingmanage.entity.ProcessMeetingManagePersonnel;
import com.jero.modules.activiti.process.meetingmanage.mapper.ProcessMeetingManagePersonnelMapper;
import com.jero.modules.activiti.process.meetingmanage.service.IProcessMeetingManagePersonnelService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* @Description: 会后管理流程_参会人员业务表
* @Author: jero-boot
* @Date: 2023-11-30
* @Version: V1.0
*/
@Service
@Transactional(rollbackFor = JeroBootException.class)
public class ProcessMeetingManagePersonnelServiceImpl extends ServiceImpl<ProcessMeetingManagePersonnelMapper, ProcessMeetingManagePersonnel> implements IProcessMeetingManagePersonnelService {
/**
* 分页查询
*
* @param processMeetingManagePersonnel
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@Override
public IPage<ProcessMeetingManagePersonnel> queryPage(ProcessMeetingManagePersonnel processMeetingManagePersonnel, Integer pageNo, Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProcessMeetingManagePersonnel> queryWrapper = QueryGenerator.initQueryWrapper(processMeetingManagePersonnel, req.getParameterMap());
Page<ProcessMeetingManagePersonnel> page = new Page<>(pageNo, pageSize);
return page(page, queryWrapper);
}
/**
* 列表查询
*
* @param processMeetingManagePersonnel
* @param req
* @return
*/
@Override
public List<ProcessMeetingManagePersonnel> queryList(ProcessMeetingManagePersonnel processMeetingManagePersonnel, HttpServletRequest req) {
return list(QueryGenerator.initQueryWrapper(processMeetingManagePersonnel, req.getParameterMap()));
}
/**
* 保存
*
* @param processMeetingManagePersonnel
* @return
*/
@Override
public void add(ProcessMeetingManagePersonnel processMeetingManagePersonnel) {
save(processMeetingManagePersonnel);
}
/**
* 更新
*
* @param processMeetingManagePersonnel
* @return
*/
@Override
public void editById(ProcessMeetingManagePersonnel processMeetingManagePersonnel) {
saveOrUpdate(processMeetingManagePersonnel);
}
/**
* 通过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 ProcessMeetingManagePersonnel queryById(String id) {
return getById(id);
}
}
@@ -0,0 +1,119 @@
package com.jero.modules.activiti.process.meetingmanage.service.impl;
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.meetingmanage.entity.ProcessMeetingManage;
import com.jero.modules.activiti.process.meetingmanage.mapper.ProcessMeetingManageMapper;
import com.jero.modules.activiti.process.meetingmanage.service.IProcessMeetingManageService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
/**
* @Description: 会后管理流程业务表
* @Author: jero-boot
* @Date: 2023-11-30
* @Version: V1.0
*/
@Service
@Transactional(rollbackFor = JeroBootException.class)
public class ProcessMeetingManageServiceImpl extends ServiceImpl<ProcessMeetingManageMapper, ProcessMeetingManage> implements IProcessMeetingManageService {
/**
* 分页查询
*
* @param processMeetingManage
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@Override
public IPage<ProcessMeetingManage> queryPage(ProcessMeetingManage processMeetingManage, Integer pageNo, Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProcessMeetingManage> queryWrapper = QueryGenerator.initQueryWrapper(processMeetingManage, req.getParameterMap());
Page<ProcessMeetingManage> page = new Page<>(pageNo, pageSize);
return page(page, queryWrapper);
}
/**
* 列表查询
*
* @param processMeetingManage
* @param req
* @return
*/
@Override
public List<ProcessMeetingManage> queryList(ProcessMeetingManage processMeetingManage, HttpServletRequest req) {
return list(QueryGenerator.initQueryWrapper(processMeetingManage, req.getParameterMap()));
}
/**
* 保存
*
* @param processMeetingManage
* @return
*/
@Override
public void add(ProcessMeetingManage processMeetingManage) {
Date now = new Date();
processMeetingManage.setCreateTime(now);
processMeetingManage.setUpdateTime(now);
save(processMeetingManage);
}
/**
* 更新
*
* @param processMeetingManage
* @return
*/
@Override
public void editById(ProcessMeetingManage processMeetingManage) {
Date now = new Date();
processMeetingManage.setUpdateTime(now);
saveOrUpdate(processMeetingManage);
}
/**
* 通过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 ProcessMeetingManage queryById(String id) {
return getById(id);
}
}
@@ -0,0 +1,35 @@
package com.jero.modules.activiti.process.meetingmanage.vo;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.process.meetingmanage.entity.ProcessMeetingManage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* @ClassName: MeetingManageFlowVO
* @Description:
* @Author: yjz
* @Date: 2023-11-30 17:07
* @Version: 1.0
**/
@Data
public class MeetingManageFlowVO {
/**流程信息*/
@ApiModelProperty(value = "流程信息")
private ProcessAll processAll;
/**流程审批信息*/
@ApiModelProperty(value = "流程审批信息")
private ProcessApprovalRecord processApprovalRecord;
/**业务基本信息*/
@ApiModelProperty(value = "业务基本信息")
private ProcessMeetingManage processMeetingManage;
/**map*/
@ApiModelProperty(value = "map")
private Map<String, Object> map;
/**文件id*/
@ApiModelProperty(value = "文件id")
private String fileIds;
}
@@ -21,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -143,7 +144,11 @@ public class EnterpriseStandardInspectRectifyPlanServiceImpl extends ServiceImpl
*/
@Override
public EnterpriseStandardInspectRectifyPlan queryById(String id) {
return getById(id);
EnterpriseStandardInspectRectifyPlan enterpriseStandardInspectRectifyPlan = getById(id);
ArrayList<EnterpriseStandardInspectRectifyPlan> enterpriseStandardInspectRectifyPlans = new ArrayList<>();
enterpriseStandardInspectRectifyPlans.add(enterpriseStandardInspectRectifyPlan);
setProperty(enterpriseStandardInspectRectifyPlans);
return enterpriseStandardInspectRectifyPlans.get(0);
}
@Override
@@ -158,6 +163,11 @@ public class EnterpriseStandardInspectRectifyPlanServiceImpl extends ServiceImpl
List<EnterpriseStandardInspectRectifyPlan> list = list(new LambdaQueryWrapper<EnterpriseStandardInspectRectifyPlan>()
.eq(EnterpriseStandardInspectRectifyPlan::getProcessEsInspectId, processEsInspectId)
.orderByAsc(EnterpriseStandardInspectRectifyPlan::getCreateTime));
setProperty(list);
return list;
}
private void setProperty(List<EnterpriseStandardInspectRectifyPlan> list) {
list.forEach(item -> {
// 填充稽查报告
EnterpriseStandardInspectReport enterpriseStandardInspectReport = EnterpriseStandardInspectReportService.getById(item.getInspectReportId());
@@ -169,7 +179,6 @@ public class EnterpriseStandardInspectRectifyPlanServiceImpl extends ServiceImpl
// 翻译
item.setResponseUserDictText(sysUserService.dictByIdsOrUserNames(item.getResponseUser(), ""));
});
return list;
}
}
@@ -154,8 +154,22 @@ public class LawsStandardizationServiceImpl extends ServiceImpl<LawsStandardizat
List<LawsStandardization> list = new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
treeToList(treeList, list);
// 获取一二级节点名称
getNodeName(lawsStandardization, list, stringBuilder);
Optional<LawsStandardization> optional = list.stream().filter(v -> v.getId().equals(lawsStandardization.getId())).findFirst();
optional.ifPresent(v -> {
if (optional.get().getLevel().equals(2L)){
Optional<LawsStandardization> optionalOne = list.stream().filter(o -> o.getId().equals(lawsStandardization.getPid())).findFirst();
optionalOne.ifPresent(l -> stringBuilder.append(l.getName()).append("-").append(v.getName()));
}else if (optional.get().getLevel().equals(1L)){
stringBuilder.append(v.getName());
}
});
if (stringBuilder.length() < 0){
getNodeName(lawsStandardization, list, stringBuilder);
}
if (stringBuilder.length() > 0){
stringBuilder.append("-");
}