feat(稽查延期申请流程): 基础模块

This commit is contained in:
yjz
2023-11-28 16:21:34 +08:00
parent e8b97877a5
commit c932d59901
26 changed files with 1295 additions and 33 deletions
@@ -20,8 +20,9 @@ public enum ProcessType {
ES_CHANGE("企标变更流程", "7", "es-change", "ProcessEsChangeServiceImpl"),
ES_RECHECK("企标复审流程", "8", "es-recheck", "ProcessEsRecheckServiceImpl"),
ES_ENABLE("已封存企标启用流程", "9", "es-enable", "ProcessEsEnableServiceImpl"),
ES_INSPECT_PLAN("企标稽查计划", "16", "es-inspect_plan", "ProcessEsInspectPlanServiceImpl"),
ES_INSPECT("企标稽查流程", "17", "es-inspect", "ProcessEsInspectServiceImpl"),
ES_INSPECT_PLAN("企标稽查计划", "16", "inspect_plan", "ProcessEsInspectPlanServiceImpl"),
ES_INSPECT("企标稽查流程", "17", "inspect_process", "ProcessEsInspectServiceImpl"),
ES_INSPECT_DELAY_APPLY("稽查延期申请流程", "18", "inspect_delay_apply_process", "ProcessEsInspectDelayApplyServiceImpl")
;
private final String name;
@@ -2,6 +2,7 @@ package com.jero.modules.activiti.process.esinspect.entity;
import com.baomidou.mybatisplus.annotation.TableField;
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;
@@ -9,6 +10,9 @@ 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;
/**
@@ -31,6 +35,16 @@ public class ProcessEsInspect extends BaseEntity {
@Excel(name = "企标稽查id", width = 15)
@ApiModelProperty(value = "企标稽查id")
private java.lang.String inspectId;
/**实际稽查完成日期*/
@Excel(name = "实际稽查完成日期", width = 15)
@ApiModelProperty(value = "实际稽查完成日期")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date completeDate;
/**实际稽查人*/
@Excel(name = "实际稽查人", width = 15)
@ApiModelProperty(value = "实际稽查人")
private java.lang.String actualInspectUser;
/**ids 添加用*/
@ApiModelProperty(value = "ids 添加用")
@@ -24,7 +24,6 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
@@ -121,8 +120,6 @@ public class ProcessEsInspectServiceImpl extends ServiceImpl<ProcessEsInspectMap
*/
@Override
public void editById(ProcessEsInspect processEsInspect) {
Date now = new Date();
processEsInspect.setUpdateTime(now);
saveOrUpdate(processEsInspect);
}
@@ -163,12 +160,12 @@ public class ProcessEsInspectServiceImpl extends ServiceImpl<ProcessEsInspectMap
public IPage<ProcessEsInspectVO> queryByPage(ProcessEsInspectVO processEsInspectVO, Integer pageNo, Integer pageSize) {
QueryWrapper<ProcessEsInspectVO> queryWrapper = getProcessEsInspectVOQueryWrapper(processEsInspectVO);
IPage<ProcessEsInspectVO> processEsInspectVOIPage = processEsInspectMapper.queryByPage(new Page<>(pageNo, pageSize), queryWrapper);
setProperty(processEsInspectVOIPage);
setProperty(processEsInspectVOIPage.getRecords());
return processEsInspectVOIPage;
}
private void setProperty(IPage<ProcessEsInspectVO> processEsInspectVOIPage) {
for (ProcessEsInspectVO processEsInspectVO : processEsInspectVOIPage.getRecords()) {
private void setProperty(List<ProcessEsInspectVO> processEsInspectVOList) {
for (ProcessEsInspectVO processEsInspectVO : processEsInspectVOList) {
processEsInspectVO.setInspectUserDictText(sysUserService.dictByIdsOrUserNames(processEsInspectVO.getInspectUser(), ""));
}
}
@@ -176,7 +173,9 @@ public class ProcessEsInspectServiceImpl extends ServiceImpl<ProcessEsInspectMap
@Override
public List<ProcessEsInspectVO> queryByList(ProcessEsInspectVO processEsInspectVO) {
QueryWrapper<ProcessEsInspectVO> queryWrapper = getProcessEsInspectVOQueryWrapper(processEsInspectVO);
return processEsInspectMapper.queryByList(queryWrapper);
List<ProcessEsInspectVO> processEsInspectVOS = processEsInspectMapper.queryByList(queryWrapper);
setProperty(processEsInspectVOS);
return processEsInspectVOS;
}
@NotNull
@@ -1,9 +1,12 @@
package com.jero.modules.activiti.process.esinspect.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardInspectVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@@ -24,14 +27,17 @@ public class ProcessEsInspectVO extends EnterpriseStandardInspectVo {
@Excel(name = "企标稽查id", width = 15)
@ApiModelProperty(value = "企标稽查id")
private java.lang.String inspectId;
/**实际稽查完成日期*/
@Excel(name = "实际稽查完成日期", width = 15)
/** 实际稽查完成日期 */
@Excel(name = "实际稽查完成日期", width = 15, orderNum = "1", format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "实际稽查完成日期")
private Date completeDate;
/**实际稽查人*/
@Excel(name = "实际稽查人", width = 15)
/** 实际稽查人 */
@Excel(name = "实际稽查人", width = 15, orderNum = "1")
@ApiModelProperty(value = "实际稽查人")
private java.lang.String actualInspectUser;
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String actualInspectUser;
/**稽查内容数量*/
@ApiModelProperty(value = "稽查内容数量")
private java.lang.String standardInspectContentCount;
@@ -0,0 +1,40 @@
package com.jero.modules.activiti.process.esinspectdelayapply.common;
/**
* @ClassName: EsInspectDelayApplyCommon
* @Description:
* @Author: yjz
* @Date: 2023-11-28 10:13
* @Version: 1.0
**/
public class EsInspectDelayApplyCommon {
private EsInspectDelayApplyCommon(){
}
/**
* 稽查延期申请流程key
*/
public static final String KEY = "inspect_delay_apply_process";
/**
* 稽查延期申请流程name
*/
public static final String NAME = "稽查延期申请流程";
/**
* 稽查延期申请流程节点: 1:稽查负责人申请延期,2:负责人主管级领导审批,3:稽查联络人评估,4:负责人主管级上一级领导审批
*/
public static final String PROCESS_NODE_1 = "responsible_start";
/**
* 稽查延期申请流程节点: 1:稽查负责人申请延期,2:负责人主管级领导审批,3:稽查联络人评估,4:负责人主管级上一级领导审批
*/
public static final String PROCESS_NODE_2 = "leader_approval";
/**
* 稽查延期申请流程节点: 1:稽查负责人申请延期,2:负责人主管级领导审批,3:稽查联络人评估,4:负责人主管级上一级领导审批
*/
public static final String PROCESS_NODE_3 = "liaisons_assess";
/**
* 稽查延期申请流程节点: 1:稽查负责人申请延期,2:负责人主管级领导审批,3:稽查联络人评估,4:负责人主管级上一级领导审批
*/
public static final String PROCESS_NODE_4 = "leader_up_level";
}
@@ -0,0 +1,127 @@
package com.jero.modules.activiti.process.esinspectdelayapply.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.esinspectdelayapply.service.IEsInspectDelayApplyFlowService;
import com.jero.modules.activiti.process.esinspectdelayapply.vo.EsInspectDelayApplyFlowVO;
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: 稽查延期申请流程
* @Description:
* @Author: yjz
* @Date: 2023-11-09 11:45
* @Version: 1.0
**/
@Api(tags="稽查延期申请流程")
@RestController
@RequestMapping("/process/esInspectDelayApplyFlow")
@Slf4j
public class EsInspectDelayApplyFlowController {
private final IEsInspectDelayApplyFlowService esInspectDelayApplyFlowService;
public EsInspectDelayApplyFlowController(@Lazy IEsInspectDelayApplyFlowService esInspectDelayApplyFlowService) {
this.esInspectDelayApplyFlowService = esInspectDelayApplyFlowService;
}
/**
* 稽查延期申请流程-生成项目id
* @return 项目id
*/
@AutoLog(value = "稽查延期申请流程-生成项目id")
@ApiOperation(value="稽查延期申请流程-生成项目id", notes="稽查延期申请流程-生成项目id")
@GetMapping(value = "/getProjectId")
public String getProjectId() {
return String.valueOf(SnowflakeUtils.snowflake());
}
/**
* 稽查延期申请流程-流程发起
* @param esInspectDelayApplyFlowVO 稽查延期申请流程VO对象
* @return 结果对象
*/
@AutoLog(value = "稽查延期申请流程-流程发起")
@ApiOperation(value="稽查延期申请流程-流程发起", notes="稽查延期申请流程-流程发起")
@PostMapping(value = "/flowStart")
public Result<T> flowStart(@RequestBody EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
esInspectDelayApplyFlowService.flowStart(esInspectDelayApplyFlowVO);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
/**
* 稽查延期申请流程-流程保存
* @param esInspectDelayApplyFlowVO 稽查延期申请流程VO对象
* @return 结果对象
*/
@AutoLog(value = "稽查延期申请流程-流程保存")
@ApiOperation(value="稽查延期申请流程-流程保存", notes="稽查延期申请流程-流程保存")
@PostMapping(value = "/flowSave")
public Result<T> flowSave(@RequestBody EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
esInspectDelayApplyFlowService.flowSave(esInspectDelayApplyFlowVO);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
/**
* 稽查延期申请流程-办理详情
* @param projectId 项目id
* @return 结果对象
*/
@AutoLog(value = "稽查延期申请流程-办理详情")
@ApiOperation(value="稽查延期申请流程-办理详情", notes="稽查延期申请流程-办理详情")
@GetMapping(value = "/queryDetailByProjectId")
@Translation
public Result<EsInspectDelayApplyFlowVO> queryDetailByProjectId(@ApiParam("项目id") String projectId, @ApiParam("任务id") String taskId) {
return Result.OK(esInspectDelayApplyFlowService.queryDetailByProjectId(projectId, taskId));
}
/**
* 稽查延期申请流程-流程审批
* @param esInspectDelayApplyFlowVO 稽查延期申请流程VO对象
* @return 结果对象
*/
@AutoLog(value = "稽查延期申请流程-流程审批")
@ApiOperation(value="稽查延期申请流程-流程审批", notes="稽查延期申请流程-流程审批")
@PostMapping(value = "/flowApproval")
public Result<T> flowApproval(@RequestBody EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
esInspectDelayApplyFlowService.flowApproval(esInspectDelayApplyFlowVO);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
/**
* 稽查延期申请流程-驳回
* @param esInspectDelayApplyFlowVO 稽查延期申请流程VO对象
* @return 结果对象
*/
@AutoLog(value = "稽查延期申请流程-驳回")
@ApiOperation(value="稽查延期申请流程-驳回", notes="稽查延期申请流程-驳回")
@PostMapping(value = "/flowReject")
public Result<T> flowReject(@RequestBody EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
log.info("");
esInspectDelayApplyFlowService.flowApproval(esInspectDelayApplyFlowVO);
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) {
esInspectDelayApplyFlowService.flowTransfer(taskId, userId);
return Result.OK(MessageUtils.getMessage(ResultCommon.OK));
}
}
@@ -0,0 +1,171 @@
package com.jero.modules.activiti.process.esinspectdelayapply.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.common.util.SnowflakeUtils;
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
import com.jero.modules.activiti.process.esinspectdelayapply.service.IProcessEsInspectDelayApplyService;
import com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO;
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-27
* @Version: V1.0
*/
@Api(tags="稽查延期申请流程业务表")
@RestController
@RequestMapping("/esinspectdelayapply/processEsInspectDelayApply")
@Slf4j
public class ProcessEsInspectDelayApplyController extends JeroController<ProcessEsInspectDelayApply, IProcessEsInspectDelayApplyService> {
@Autowired
private IProcessEsInspectDelayApplyService processEsInspectDelayApplyService;
/**
* 分页列表查询
*
* @param processEsInspectDelayApplyVO
* @param pageNo
* @param pageSize
* @return
*/
@AutoLog(value = "稽查延期申请流程业务表-分页列表查询")
@ApiOperation(value="稽查延期申请流程业务表-分页列表查询", notes="稽查延期申请流程业务表-分页列表查询")
@GetMapping(value = "/queryByPage")
@Translation
public Result<IPage<ProcessEsInspectDelayApplyVO>> queryByPage(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
IPage<ProcessEsInspectDelayApplyVO> pageList = processEsInspectDelayApplyService.queryByPage(processEsInspectDelayApplyVO, pageNo, pageSize);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @param processEsInspectDelayApplyVO
* @return
*/
@AutoLog(value = "稽查延期申请流程业务表-列表查询")
@ApiOperation(value="稽查延期申请流程业务表-列表查询", notes="稽查延期申请流程业务表-列表查询")
@GetMapping(value = "/queryByList")
@Translation
public Result<List<ProcessEsInspectDelayApplyVO>> queryByList(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO) {
List<ProcessEsInspectDelayApplyVO> list = processEsInspectDelayApplyService.queryByList(processEsInspectDelayApplyVO);
return Result.OK(list);
}
/**
* 添加
*
* @param processEsInspectDelayApply
* @return
*/
@AutoLog(value = "稽查延期申请流程业务表-添加")
@ApiOperation(value="稽查延期申请流程业务表-添加", notes="稽查延期申请流程业务表-添加")
@PostMapping(value = "/add")
public Result<T> add(@Validated @RequestBody ProcessEsInspectDelayApply processEsInspectDelayApply) {
String ids = processEsInspectDelayApply.getIds();
for (String s : ids.split(",")) {
processEsInspectDelayApply.setInspectId(s);
processEsInspectDelayApply.setId(String.valueOf(SnowflakeUtils.snowflake()));
processEsInspectDelayApplyService.add(processEsInspectDelayApply);
}
return Result.OK("操作成功!");
}
/**
* 编辑
*
* @param processEsInspectDelayApply
* @return
*/
@AutoLog(value = "稽查延期申请流程业务表-编辑")
@ApiOperation(value="稽查延期申请流程业务表-编辑", notes="稽查延期申请流程业务表-编辑")
@PostMapping(value = "/edit")
public Result<T> edit(@Validated @RequestBody ProcessEsInspectDelayApply processEsInspectDelayApply) {
processEsInspectDelayApplyService.editById(processEsInspectDelayApply);
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("请选择数据!");
}
processEsInspectDelayApplyService.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.processEsInspectDelayApplyService.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<ProcessEsInspectDelayApply> queryById(@RequestParam(name="id",required=true) String id) {
ProcessEsInspectDelayApply processEsInspectDelayApply = processEsInspectDelayApplyService.queryById(id);
if(processEsInspectDelayApply==null) {
return Result.error("未找到对应数据");
}
return Result.OK(processEsInspectDelayApply);
}
/**
* 导出excel
*
* @param request
* @param processEsInspectDelayApply
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProcessEsInspectDelayApply processEsInspectDelayApply) {
return super.exportXls(request, processEsInspectDelayApply, ProcessEsInspectDelayApply.class, "稽查延期申请流程业务表");
}
}
@@ -0,0 +1,56 @@
package com.jero.modules.activiti.process.esinspectdelayapply.entity;
import com.baomidou.mybatisplus.annotation.TableField;
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-27
* @Version: V1.0
*/
@Data
@TableName("process_es_inspect_delay_apply")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="process_es_inspect_delay_apply对象", description="稽查延期申请流程")
public class ProcessEsInspectDelayApply extends BaseEntity {
/**项目id*/
@Excel(name = "项目id", width = 15)
@ApiModelProperty(value = "项目id")
private java.lang.String projectId;
/**企标稽查id*/
@Excel(name = "企标稽查id", width = 15)
@ApiModelProperty(value = "企标稽查id")
private String inspectId;
/**申请延期日期*/
@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 requestDelayDate;
/**延期说明*/
@Excel(name = "延期说明", width = 15)
@ApiModelProperty(value = "延期说明")
private String delayDescription;
/**稽查联络人*/
@Excel(name = "稽查联络人", width = 15)
@ApiModelProperty(value = "稽查联络人")
private String liaisons;
/**ids 添加用*/
@ApiModelProperty(value = "ids 添加用")
@TableField(exist = false)
private java.lang.String ids;
}
@@ -0,0 +1,24 @@
package com.jero.modules.activiti.process.esinspectdelayapply.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
import com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 稽查延期申请流程
* @Author: jero-boot
* @Date: 2023-11-27
* @Version: V1.0
*/
public interface ProcessEsInspectDelayApplyMapper extends BaseMapper<ProcessEsInspectDelayApply> {
List<ProcessEsInspectDelayApplyVO> queryByList(@Param(Constants.WRAPPER) QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper);
IPage<ProcessEsInspectDelayApplyVO> queryByPage(IPage<ProcessEsInspectDelayApplyVO> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper);
}
@@ -0,0 +1,43 @@
<?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.esinspectdelayapply.mapper.ProcessEsInspectDelayApplyMapper">
<select id="queryByPage"
resultType="com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO">
<include refid="select_process_es_inspect_delay_apply"/>
</select>
<select id="queryByList"
resultType="com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO">
<include refid="select_process_es_inspect_delay_apply"/>
</select>
<sql id="select_process_es_inspect_delay_apply">
select *
from (SELECT pesida.id,
pesida.create_by,
pesida.create_time,
pesida.update_by,
pesida.update_time,
pesida.del_flag,
pesida.project_id,
pesida.inspect_id,
pesida.request_delay_date,
pesida.delay_description,
pesida.liaisons,
inspect_no,
(IF(les.standard_number is not null, les.standard_name, inspect_name)) inspect_name,
standardization_work_group,
belong_dept,
plan_inspect_date,
inspect_user,
standardization_docking_user,
inspect_status,
group_concat(lesio.plan_inspect_object separator ',') plan_inspect_object
FROM process_es_inspect_delay_apply pesida
LEFT JOIN laws_enterprise_standard_inspect lesi ON pesida.inspect_id = lesi.id
LEFT JOIN laws_enterprise_standard les ON lesi.inspect_no = les.standard_number AND les.del_flag = '0'
LEFT JOIN laws_enterprise_standard_inspect_object lesio ON lesi.id = lesio.inspect_id
group by pesida.id) t
${ew.customSqlSegment}
</sql>
</mapper>
@@ -0,0 +1,45 @@
package com.jero.modules.activiti.process.esinspectdelayapply.service;
import com.jero.modules.activiti.process.esinspectdelayapply.vo.EsInspectDelayApplyFlowVO;
/**
* @ClassName: IEsInspectDelayApplyFlowService
* @Description:
* @Author: yjz
* @Date: 2023-11-27 18:38
* @Version: 1.0
**/
public interface IEsInspectDelayApplyFlowService {
/**
* 稽查延期申请流程-流程发起
* @param esInspectDelayApplyFlowVO
*/
void flowStart(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO);
/**
* 稽查延期申请流程-流程保存
* @param esInspectDelayApplyFlowVO
*/
void flowSave(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO);
/**
* 稽查延期申请流程-办理详情
* @param projectId
* @param taskId
* @return
*/
EsInspectDelayApplyFlowVO queryDetailByProjectId(String projectId, String taskId);
/**
* 稽查延期申请流程-流程审批
* @param esInspectDelayApplyFlowVO
*/
void flowApproval(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO);
/**
* 稽查延期申请流程-流程转办
* @param taskId
* @param userId
*/
void flowTransfer(String taskId, String userId);
}
@@ -0,0 +1,75 @@
package com.jero.modules.activiti.process.esinspectdelayapply.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
import com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO;
import java.util.List;
/**
* @Description: 稽查延期申请流程
* @Author: jero-boot
* @Date: 2023-11-27
* @Version: V1.0
*/
public interface IProcessEsInspectDelayApplyService extends IService<ProcessEsInspectDelayApply> {
/**
* 分页查询
*
* @param processEsInspectDelayApplyVO
* @param pageNo
* @param pageSize
* @return
*/
IPage<ProcessEsInspectDelayApplyVO> queryByPage(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO, Integer pageNo, Integer pageSize);
/**
* 列表查询
*
* @param processEsInspectDelayApplyVO
* @return
*/
List<ProcessEsInspectDelayApplyVO> queryByList(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO);
/**
* 保存
*
* @param processEsInspectDelayApply
* @return
*/
void add(ProcessEsInspectDelayApply processEsInspectDelayApply);
/**
* 更新
*
* @param processEsInspectDelayApply
* @return
*/
void editById(ProcessEsInspectDelayApply processEsInspectDelayApply);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
ProcessEsInspectDelayApply queryById(String id);
}
@@ -0,0 +1,284 @@
package com.jero.modules.activiti.process.esinspectdelayapply.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.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.esinspectdelayapply.common.EsInspectDelayApplyCommon;
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
import com.jero.modules.activiti.process.esinspectdelayapply.service.IEsInspectDelayApplyFlowService;
import com.jero.modules.activiti.process.esinspectdelayapply.service.IProcessEsInspectDelayApplyService;
import com.jero.modules.activiti.process.esinspectdelayapply.vo.EsInspectDelayApplyFlowVO;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.service.ProcessNodeLinkService;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectDelay;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectDelayService;
import lombok.extern.slf4j.Slf4j;
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: EsInspectDelayApplyFlowServiceImpl
* @Description:
* @Author: yjz
* @Date: 2023-11-27 18:38
* @Version: 1.0
**/
@Service
@Slf4j
@Transactional(rollbackFor = RuntimeException.class)
public class EsInspectDelayApplyFlowServiceImpl implements IEsInspectDelayApplyFlowService {
private final ProcessAllService processAllService;
private final ProcessApprovalRecordService processApprovalRecordService;
private final ProcessDraftService processDraftService;
private final ProcessNodeLinkService processNodeLinkService;
private final IProcessEsInspectDelayApplyService processEsInspectDelayApplyService;
private final EnterpriseStandardInspectDelayService enterpriseStandardInspectDelayService;
public EsInspectDelayApplyFlowServiceImpl(ProcessAllService processAllService,
ProcessApprovalRecordService processApprovalRecordService,
ProcessDraftService processDraftService,
ProcessNodeLinkService processNodeLinkService,
IProcessEsInspectDelayApplyService processEsInspectDelayApplyService,
EnterpriseStandardInspectDelayService enterpriseStandardInspectDelayService) {
this.processAllService = processAllService;
this.processApprovalRecordService = processApprovalRecordService;
this.processDraftService = processDraftService;
this.processNodeLinkService = processNodeLinkService;
this.processEsInspectDelayApplyService = processEsInspectDelayApplyService;
this.enterpriseStandardInspectDelayService = enterpriseStandardInspectDelayService;
}
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RuntimeService runtimeService = processEngine.getRuntimeService();
@Resource
private TaskService taskService;
@Override
public void flowStart(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
// 流程信息
ProcessAll processAll = esInspectDelayApplyFlowVO.getProcessAll();
// 流程审批信息
ProcessApprovalRecord processApprovalRecord = esInspectDelayApplyFlowVO.getProcessApprovalRecord();
// map(参数)
Map<String, Object> map = esInspectDelayApplyFlowVO.getMap();
// 根据流程key启动流程 同时 设置审批人员参数
ProcessInstance processInstance = runtimeService
.startProcessInstanceByKey(EsInspectDelayApplyCommon.KEY, map);
// 再次设置map
runtimeService.setVariables(processInstance.getId(), map);
// 更新流程总表信息
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
processAll.setPrcType(Integer.valueOf(ProcessType.ES_INSPECT.getValue()));
processAll.setCreateUserId(loginUser.getId());
processAllService.update(processAll,
new LambdaUpdateWrapper<ProcessAll>()
.eq(ProcessAll::getProcessInstanceId, processInstance.getId()));
// 根据流程实例id查询
Task task = taskService.createTaskQuery()
.processInstanceId(processInstance.getId())
.singleResult();
// 更新流程审批信息
processApprovalRecord.setUserId(loginUser.getId());
processApprovalRecord.setProjectId(processAll.getProjectId());
processApprovalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
processApprovalRecordService.update(processApprovalRecord,
new LambdaUpdateWrapper<ProcessApprovalRecord>()
.eq(ProcessApprovalRecord::getTaskId, task.getId()));
// 新增流程实例节点关联用户表
processNodeLinkService.saveNodeUserLink(processInstance.getProcessDefinitionId(), processInstance.getId(), listToString(map));
// 自动完成第一个节点
taskService.complete(task.getId());
// 删除草稿
processDraftService.remove(new LambdaQueryWrapper<ProcessDraft>()
.eq(ProcessDraft::getProjectId, processAll.getProjectId())
.eq(ProcessDraft::getUserId, loginUser.getId()));
}
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;
}
@Override
public void flowSave(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
// 流程信息
ProcessAll processAll = esInspectDelayApplyFlowVO.getProcessAll();
// 流程审批信息
ProcessApprovalRecord processApprovalRecord = esInspectDelayApplyFlowVO.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);
}
@Override
public EsInspectDelayApplyFlowVO queryDetailByProjectId(String projectId, String taskId) {
EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO = new EsInspectDelayApplyFlowVO();
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);
}
esInspectDelayApplyFlowVO.setProcessAll(processAll);
esInspectDelayApplyFlowVO.setProcessApprovalRecord(processApprovalRecord);
return esInspectDelayApplyFlowVO;
}
@Override
public void flowApproval(EsInspectDelayApplyFlowVO esInspectDelayApplyFlowVO) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// 流程信息
ProcessAll processAll = esInspectDelayApplyFlowVO.getProcessAll();
// 流程审批信息
ProcessApprovalRecord processApprovalRecord = esInspectDelayApplyFlowVO.getProcessApprovalRecord();
// map(参数)
Map<String, Object> map = esInspectDelayApplyFlowVO.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);
// 判断是否是最后一个节点
if (isLastNode(processAll.getProcessInstanceId())){
// 稽查延期申请流程 生成数据 企业标准稽查延期
saveDataToInspect(processAll.getProjectId());
}
}
}
private void saveDataToInspect(String projectId) {
List<ProcessEsInspectDelayApply> list = processEsInspectDelayApplyService.list(
new LambdaQueryWrapper<ProcessEsInspectDelayApply>()
.eq(ProcessEsInspectDelayApply::getProjectId, projectId));
List<EnterpriseStandardInspectDelay> enterpriseStandardInspectDelayList = new ArrayList<>();
for (ProcessEsInspectDelayApply processEsInspectDelayApply : list) {
EnterpriseStandardInspectDelay enterpriseStandardInspectDelay = new EnterpriseStandardInspectDelay();
enterpriseStandardInspectDelay.setInspectId(processEsInspectDelayApply.getInspectId());
enterpriseStandardInspectDelay.setRequestDelayDate(processEsInspectDelayApply.getRequestDelayDate());
enterpriseStandardInspectDelay.setDelayDescription(processEsInspectDelayApply.getDelayDescription());
enterpriseStandardInspectDelayList.add(enterpriseStandardInspectDelay);
}
enterpriseStandardInspectDelayService.saveBatch(enterpriseStandardInspectDelayList);
}
public boolean isLastNode(String processInstanceId) {
// 查询流程实例状态
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
.processInstanceId(processInstanceId)
.singleResult();
// 如果流程实例为null,表示流程已结束
return processInstance == null;
}
@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);
}
}
@@ -0,0 +1,150 @@
package com.jero.modules.activiti.process.esinspectdelayapply.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
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.vo.LoginUser;
import com.jero.modules.activiti.process.esinspectdelayapply.common.EsInspectDelayApplyCommon;
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
import com.jero.modules.activiti.process.esinspectdelayapply.mapper.ProcessEsInspectDelayApplyMapper;
import com.jero.modules.activiti.process.esinspectdelayapply.service.IProcessEsInspectDelayApplyService;
import com.jero.modules.activiti.process.esinspectdelayapply.vo.ProcessEsInspectDelayApplyVO;
import com.jero.modules.system.service.ISysUserService;
import org.apache.shiro.SecurityUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
* @Description: 稽查延期申请流程
* @Author: jero-boot
* @Date: 2023-11-27
* @Version: V1.0
*/
@Service
@Transactional(rollbackFor = JeroBootException.class)
public class ProcessEsInspectDelayApplyServiceImpl extends ServiceImpl<ProcessEsInspectDelayApplyMapper, ProcessEsInspectDelayApply> implements IProcessEsInspectDelayApplyService {
private final ProcessEsInspectDelayApplyMapper processEsInspectDelayApplyMapper;
private final ISysUserService sysUserService;
public ProcessEsInspectDelayApplyServiceImpl(ProcessEsInspectDelayApplyMapper processEsInspectDelayApplyMapper,
ISysUserService sysUserService) {
this.processEsInspectDelayApplyMapper = processEsInspectDelayApplyMapper;
this.sysUserService = sysUserService;
}
/**
* 分页查询
*
* @param processEsInspectDelayApplyVO
* @param pageNo
* @param pageSize
* @return
*/
@Override
public IPage<ProcessEsInspectDelayApplyVO> queryByPage(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO, Integer pageNo, Integer pageSize) {
QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper = getProcessEsInspectDelayApplyLambdaQueryWrapper(processEsInspectDelayApplyVO);
return processEsInspectDelayApplyMapper.queryByPage(new Page<>(pageNo, pageSize), queryWrapper);
}
/**
* 列表查询
*
* @param processEsInspectDelayApplyVO
* @return
*/
@Override
public List<ProcessEsInspectDelayApplyVO> queryByList(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO) {
QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper = getProcessEsInspectDelayApplyLambdaQueryWrapper(processEsInspectDelayApplyVO);
List<ProcessEsInspectDelayApplyVO> processEsInspectDelayApplyVOS = processEsInspectDelayApplyMapper.queryByList(queryWrapper);
setProperty(processEsInspectDelayApplyVOS);
return processEsInspectDelayApplyVOS;
}
private void setProperty(List<ProcessEsInspectDelayApplyVO> processEsInspectDelayApplyVOS) {
for (ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO : processEsInspectDelayApplyVOS) {
// 翻译
processEsInspectDelayApplyVO.setInspectUserDictText(sysUserService.dictByIdsOrUserNames(processEsInspectDelayApplyVO.getInspectUser(), ""));
processEsInspectDelayApplyVO.setLiaisonsDictText(sysUserService.dictByIdsOrUserNames(processEsInspectDelayApplyVO.getLiaisons(), ""));
}
}
@NotNull
private static QueryWrapper<ProcessEsInspectDelayApplyVO> getProcessEsInspectDelayApplyLambdaQueryWrapper(ProcessEsInspectDelayApplyVO processEsInspectDelayApplyVO) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<ProcessEsInspectDelayApplyVO> queryWrapper = new QueryWrapper<>();
if (StringUtils.isNotBlank(processEsInspectDelayApplyVO.getNodeId()) && EsInspectDelayApplyCommon.PROCESS_NODE_3.equals(processEsInspectDelayApplyVO.getNodeId())){
queryWrapper.eq("t.liaisons", sysUser.getId());
}
queryWrapper.eq(StringUtils.isNotBlank(processEsInspectDelayApplyVO.getProjectId()), "t.project_id", processEsInspectDelayApplyVO.getProjectId());
queryWrapper.eq("t.del_flag", 0);
queryWrapper.orderByDesc("t.create_time");
return queryWrapper;
}
/**
* 保存
*
* @param processEsInspectDelayApply
* @return
*/
@Override
public void add(ProcessEsInspectDelayApply processEsInspectDelayApply) {
Date now = new Date();
processEsInspectDelayApply.setCreateTime(now);
processEsInspectDelayApply.setUpdateTime(now);
save(processEsInspectDelayApply);
}
/**
* 更新
*
* @param processEsInspectDelayApply
* @return
*/
@Override
public void editById(ProcessEsInspectDelayApply processEsInspectDelayApply) {
Date now = new Date();
processEsInspectDelayApply.setUpdateTime(now);
saveOrUpdate(processEsInspectDelayApply);
}
/**
* 通过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 ProcessEsInspectDelayApply queryById(String id) {
return getById(id);
}
}
@@ -0,0 +1,33 @@
package com.jero.modules.activiti.process.esinspectdelayapply.vo;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.process.esinspectdelayapply.entity.ProcessEsInspectDelayApply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* @ClassName: EsinspectFlowVO
* @Description:
* @Author: yjz
* @Date: 2023-11-27 18:41
* @Version: 1.0
**/
@Data
public class EsInspectDelayApplyFlowVO {
/**流程信息*/
@ApiModelProperty(value = "流程信息")
private ProcessAll processAll;
/**流程审批信息*/
@ApiModelProperty(value = "流程审批信息")
private ProcessApprovalRecord processApprovalRecord;
/**业务基本信息*/
@ApiModelProperty(value = "业务基本信息")
private List<ProcessEsInspectDelayApply> processEsInspectDelayApplyList;
/**map*/
@ApiModelProperty(value = "map")
private Map<String, Object> map;
}
@@ -0,0 +1,59 @@
package com.jero.modules.activiti.process.esinspectdelayapply.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import com.jero.modules.laws.enterprise.entity.vo.EnterpriseStandardInspectVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @ClassName: 稽查延期申请流程VO
* @Description:
* @Author: yjz
* @Date: 2023-11-27 18:41
* @Version: 1.0
**/
@Data
public class ProcessEsInspectDelayApplyVO extends EnterpriseStandardInspectVo {
/**项目id*/
@Excel(name = "项目id", width = 15)
@ApiModelProperty(value = "项目id")
private java.lang.String projectId;
/**企标稽查id*/
@Excel(name = "企标稽查id", width = 15)
@ApiModelProperty(value = "企标稽查id")
private String inspectId;
/**申请延期日期*/
@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 requestDelayDate;
/**延期说明*/
@Excel(name = "延期说明", width = 15)
@ApiModelProperty(value = "延期说明")
private String delayDescription;
/**稽查联络人*/
@Excel(name = "稽查联络人", width = 15)
@ApiModelProperty(value = "稽查联络人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String liaisons;
/** 稽查联络人 翻译*/
@ApiModelProperty(value = "稽查联络人 翻译")
@TableField(exist = false)
private String liaisonsDictText;
/** 稽查负责人 翻译*/
@ApiModelProperty(value = "稽查负责人 翻译")
@TableField(exist = false)
private String inspectUserDictText;
/**节点id*/
@ApiModelProperty(value = "节点id")
@TableField(exist = false)
private String nodeId;
}
@@ -996,7 +996,6 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
List<String> valueList = map.values().stream().map(o -> (String.valueOf(o))).collect(Collectors.toList());
// 新增数据
String insertField = String.join(",", keyList);
// String insertValue = "'" + String.join("','", valueList)+ "'";
documentSplitMapper.insertLawsDocumentSplit(insertField, valueList);
// 条目信息(旧)
@@ -3,6 +3,7 @@ package com.jero.modules.laws.enterprise.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.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectRectifyPlanService;
@@ -74,16 +75,17 @@ public class EnterpriseStandardInspectRectifyPlanController extends JeroControll
}
/**
* 企标稽查执行计划-通过企标稽查内容id查询企标稽查执行计划
* 企标稽查执行计划-通过企标稽查流程id查询企标稽查执行计划
*
* @param inspectContentId
* @param processEsInspectId
* @return
*/
@AutoLog(value = "企标稽查执行计划-通过企标稽查内容id查询企标稽查执行计划")
@ApiOperation(value="企标稽查执行计划-通过企标稽查内容id查询企标稽查执行计划", notes="企标稽查执行计划-通过企标稽查内容id查询企标稽查执行计划")
@GetMapping(value = "/queryByInspectContentId")
public Result<List<EnterpriseStandardInspectRectifyPlan>> queryByInspectContentId(@ApiParam("企标稽查内容id") String inspectContentId) {
return Result.OK(enterpriseStandardInspectRectifyPlanService.queryByInspectContentId(inspectContentId));
@AutoLog(value = "企标稽查执行计划-通过企标稽查流程id查询企标稽查执行计划")
@ApiOperation(value="企标稽查执行计划-通过企标稽查流程id查询企标稽查执行计划", notes="企标稽查执行计划-通过企标稽查流程id查询企标稽查执行计划")
@GetMapping(value = "/queryByProcessEsInspectId")
@Translation
public Result<List<EnterpriseStandardInspectRectifyPlan>> queryByProcessEsInspectId(@ApiParam("企标稽查流程id") String processEsInspectId) {
return Result.OK(enterpriseStandardInspectRectifyPlanService.queryByProcessEsInspectId(processEsInspectId));
}
/**
@@ -82,10 +82,23 @@ public class EnterpriseStandardInspectReportController extends JeroController<En
@AutoLog(value = "企标稽查报告-通过企标稽查内容id查询企标稽查报告")
@ApiOperation(value="企标稽查报告-通过企标稽查内容id查询企标稽查报告", notes="企标稽查报告-通过企标稽查内容id查询企标稽查报告")
@GetMapping(value = "/queryByInspectContentId")
public Result<List<EnterpriseStandardInspectReport>> queryByInspectContentId(@ApiParam("企标稽查内容id") String inspectContentId) {
public Result<EnterpriseStandardInspectReport> queryByInspectContentId(@ApiParam("企标稽查内容id") String inspectContentId) {
return Result.OK(EnterpriseStandardInspectReportService.queryByInspectContentId(inspectContentId));
}
/**
* 企标稽查报告-通过企标稽查流程id查询稽查报告
*
* @param processEsInspectId
* @return
*/
@AutoLog(value = "企标稽查报告-通过企标稽查流程id查询稽查报告")
@ApiOperation(value="企标稽查报告-通过企标稽查流程id查询稽查报告", notes="企标稽查报告-通过企标稽查流程id查询稽查报告")
@GetMapping(value = "/queryByProcessEsInspectId")
public Result<List<EnterpriseStandardInspectReport>> queryByProcessEsInspectId(@ApiParam("企标稽查流程id") String processEsInspectId) {
return Result.OK(EnterpriseStandardInspectReportService.queryByProcessEsInspectId(processEsInspectId));
}
/**
* 添加
*
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -11,6 +12,7 @@ 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.io.Serializable;
import java.util.Date;
@@ -68,6 +70,13 @@ public class EnterpriseStandardInspectRectifyPlan implements Serializable {
@ApiModelProperty(value = "稽查id")
private String inspectId;
/**
* 是否需要整改(1是0否)
*/
@ApiModelProperty(value = "是否需要整改(1是0否)")
@Dict(dicCode = "yn")
private String isRectify;
/**
* 存在问题
*/
@@ -87,13 +96,31 @@ public class EnterpriseStandardInspectRectifyPlan implements Serializable {
*/
@Excel(name = "整改负责人", width = 15, orderNum = "1")
@ApiModelProperty(value = "整改负责人")
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "realname")
private String responseUser;
/**
* 整改负责人 翻译
*/
@ApiModelProperty(value = "整改负责人 翻译")
@TableField(exist = false)
private String responseUserDictText;
/**
* 整改单位
*/
@Excel(name = "整改单位", width = 15, orderNum = "1")
@ApiModelProperty(value = "整改单位")
@Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
private String responseDepart;
/**
* 整改计划完成时间
*/
@Excel(name = "整改计划完成时间", width = 15, orderNum = "1", format = "yyyy-MM-dd hh:mm:ss")
@ApiModelProperty(value = "整改计划完成时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date planCompleteDate;
/**
@@ -101,6 +128,8 @@ public class EnterpriseStandardInspectRectifyPlan implements Serializable {
*/
@Excel(name = "整改实际完成时间", width = 15, orderNum = "1", format = "yyyy-MM-dd hh:mm:ss")
@ApiModelProperty(value = "整改实际完成时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date actualCompleteDate;
/**
@@ -111,14 +140,21 @@ public class EnterpriseStandardInspectRectifyPlan implements Serializable {
@ApiModelProperty(value = "整改状态")
private String rectifyStatus;
/** 企标稽查报告id */
@ApiModelProperty(value = "企标稽查报告id")
private String inspectReportId;
/** 企标稽查流程id */
@ApiModelProperty(value = "企标稽查流程id")
private String processEsInspectId;
/** 企标稽查内容id */
@ApiModelProperty(value = "企标稽查内容id")
private String inspectContentId;
@TableField(exist = false)
private static final long serialVersionUID = 1980978879087908791L;
/**
* 稽查报告
*/
@TableField(exist = false)
@ApiModelProperty(value = "稽查报告")
private EnterpriseStandardInspectReport enterpriseStandardInspectReport;
}
@@ -79,6 +79,11 @@ public class EnterpriseStandardInspectReport implements Serializable {
@ApiModelProperty(value = "附件")
private String attachment;
/**附件名*/
@ApiModelProperty(value = "附件名")
@TableField(exist = false)
private String attachmentName;
/** 企标稽查流程id */
@ApiModelProperty(value = "企标稽查流程id")
private String processEsInspectId;
@@ -89,4 +89,11 @@ public interface EnterpriseStandardInspectRectifyPlanService extends IService<En
* @return
*/
List<EnterpriseStandardInspectRectifyPlan> queryByInspectContentId(String inspectContentId);
/**
* 企标稽查执行计划-通过企标稽查流程id查询企标稽查执行计划
* @param processEsInspectId
* @return
*/
List<EnterpriseStandardInspectRectifyPlan> queryByProcessEsInspectId(String processEsInspectId);
}
@@ -85,9 +85,16 @@ public interface EnterpriseStandardInspectReportService extends IService<Enterpr
EnterpriseStandardInspectReport queryById(String id);
/**
* 企标稽查报告-通过企标稽查内容id查询企标稽查报告
*
* @param inspectContentId
* @return
*/
List<EnterpriseStandardInspectReport> queryByInspectContentId(String inspectContentId);
EnterpriseStandardInspectReport queryByInspectContentId(String inspectContentId);
/**
*
* @param processEsInspectId
* @return
*/
List<EnterpriseStandardInspectReport> queryByProcessEsInspectId(String processEsInspectId);
}
@@ -8,9 +8,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectRectifyPlan;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectReport;
import com.jero.modules.laws.enterprise.mapper.EnterpriseStandardInspectRectifyPlanMapper;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectContentService;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectRectifyPlanService;
import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -37,6 +41,15 @@ public class EnterpriseStandardInspectRectifyPlanServiceImpl extends ServiceImpl
@Resource
private EnterpriseStandardInspectRectifyPlanMapper esInspectRectifyPlanMapper;
@Resource
private com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectReportService EnterpriseStandardInspectReportService;
@Resource
private ISysUserService sysUserService;
@Resource
private EnterpriseStandardInspectContentService enterpriseStandardInspectContentService;
@Override
public IPage<EnterpriseStandardInspectRectifyPlan> getRectifyPlan(String inspectId, Integer pageNo, Integer pageSize) {
IPage<EnterpriseStandardInspectRectifyPlan> page = new Page<>(pageNo, pageSize);
@@ -139,6 +152,25 @@ public class EnterpriseStandardInspectRectifyPlanServiceImpl extends ServiceImpl
.eq(EnterpriseStandardInspectRectifyPlan::getProcessEsInspectId, inspectContentId)
.orderByAsc(EnterpriseStandardInspectRectifyPlan::getCreateTime));
}
@Override
public List<EnterpriseStandardInspectRectifyPlan> queryByProcessEsInspectId(String processEsInspectId) {
List<EnterpriseStandardInspectRectifyPlan> list = list(new LambdaQueryWrapper<EnterpriseStandardInspectRectifyPlan>()
.eq(EnterpriseStandardInspectRectifyPlan::getProcessEsInspectId, processEsInspectId)
.orderByAsc(EnterpriseStandardInspectRectifyPlan::getCreateTime));
list.forEach(item -> {
// 填充稽查报告
EnterpriseStandardInspectReport enterpriseStandardInspectReport = EnterpriseStandardInspectReportService.getById(item.getInspectReportId());
// 稽查内容查询
EnterpriseStandardInspectContent enterpriseStandardInspectContent = enterpriseStandardInspectContentService.getById(enterpriseStandardInspectReport.getInspectContentId());
enterpriseStandardInspectReport.setBaseClause(enterpriseStandardInspectContent.getStandardNo());
enterpriseStandardInspectReport.setStandardRequire(enterpriseStandardInspectContent.getRequirement());
item.setEnterpriseStandardInspectReport(enterpriseStandardInspectReport);
// 翻译
item.setResponseUserDictText(sysUserService.dictByIdsOrUserNames(item.getResponseUser(), ""));
});
return list;
}
}
@@ -9,9 +9,12 @@ import com.jero.common.constant.enums.LanguageEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.MessageUtils;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectContent;
import com.jero.modules.laws.enterprise.entity.EnterpriseStandardInspectReport;
import com.jero.modules.laws.enterprise.mapper.EnterpriseStandardInspectReportMapper;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectContentService;
import com.jero.modules.laws.enterprise.service.EnterpriseStandardInspectReportService;
import com.jero.modules.oss.service.IOSSFileService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -35,6 +38,12 @@ public class EnterpriseStandardInspectReportServiceImpl extends ServiceImpl<Ente
@Resource
private EnterpriseStandardInspectReportMapper esInspectReportMapper;
@Resource
private EnterpriseStandardInspectContentService enterpriseStandardInspectContentService;
@Resource
private IOSSFileService ossFileService;
@Override
public IPage<EnterpriseStandardInspectReport> getInspectReport(String inspectId, Integer pageNo, Integer pageSize) {
IPage<EnterpriseStandardInspectReport> page = new Page<>(pageNo, pageSize);
@@ -153,10 +162,30 @@ public class EnterpriseStandardInspectReportServiceImpl extends ServiceImpl<Ente
}
@Override
public List<EnterpriseStandardInspectReport> queryByInspectContentId(String inspectContentId) {
return list(new LambdaQueryWrapper<EnterpriseStandardInspectReport>()
.eq(EnterpriseStandardInspectReport::getInspectContentId, inspectContentId)
public EnterpriseStandardInspectReport queryByInspectContentId(String inspectContentId) {
EnterpriseStandardInspectReport enterpriseStandardInspectReport = getOne(new LambdaQueryWrapper<EnterpriseStandardInspectReport>()
.eq(EnterpriseStandardInspectReport::getInspectContentId, inspectContentId)
.orderByDesc(EnterpriseStandardInspectReport::getCreateTime));
// 稽查内容查询
EnterpriseStandardInspectContent enterpriseStandardInspectContent = enterpriseStandardInspectContentService.getById(enterpriseStandardInspectReport.getInspectContentId());
enterpriseStandardInspectReport.setBaseClause(enterpriseStandardInspectContent.getStandardNo());
enterpriseStandardInspectReport.setStandardRequire(enterpriseStandardInspectContent.getRequirement());
return enterpriseStandardInspectReport;
}
@Override
public List<EnterpriseStandardInspectReport> queryByProcessEsInspectId(String processEsInspectId) {
List<EnterpriseStandardInspectReport> list = list(new LambdaQueryWrapper<EnterpriseStandardInspectReport>()
.eq(EnterpriseStandardInspectReport::getProcessEsInspectId, processEsInspectId)
.orderByDesc(EnterpriseStandardInspectReport::getCreateTime));
for (EnterpriseStandardInspectReport enterpriseStandardInspectReport : list) {
// 稽查内容查询
EnterpriseStandardInspectContent enterpriseStandardInspectContent = enterpriseStandardInspectContentService.getById(enterpriseStandardInspectReport.getInspectContentId());
enterpriseStandardInspectReport.setBaseClause(enterpriseStandardInspectContent.getStandardNo());
enterpriseStandardInspectReport.setStandardRequire(enterpriseStandardInspectContent.getRequirement());
}
return list;
}
}
@@ -195,7 +195,12 @@ public class EnterpriseStandardInspectServiceImpl extends ServiceImpl<Enterprise
List<String> list = Arrays.asList(enterpriseStandardInspectVo.getIds().split(","));
queryWrapper.in("id", list);
}
queryWrapper.eq(StringUtils.isNotBlank(enterpriseStandardInspectVo.getInspectStatus()), "inspect_status", enterpriseStandardInspectVo.getInspectStatus());
String inspectStatus = enterpriseStandardInspectVo.getInspectStatus();
if (StringUtils.isNotBlank(inspectStatus)){
List<String> list = Arrays.asList(inspectStatus.split(","));
queryWrapper.and(qw -> list.forEach(v -> qw.or(iqw -> iqw.eq("inspect_status", v))));
}
queryWrapper.eq(StringUtils.isNotBlank(enterpriseStandardInspectVo.getInspectUser()), "inspect_user", enterpriseStandardInspectVo.getInspectUser());
queryWrapper.orderByDesc("create_time");
return queryWrapper;
}