xiangpei
2024-11-26 558e6c9542f6d1aacd971d3da5067866db506a3c
流程配置其它信息
1个文件已修改
9个文件已添加
436 ■■■■■ 已修改文件
business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/entity/ProcessConfigInfo.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/form/ProcessConfigInfoForm.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/domain/vo/ProcessConfigInfoVO.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/mapper/ProcessConfigInfoMapper.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/ProcessConfigInfoService.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/resources/mapper/ProcessConfigInfoMapper.xml 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flowable/src/main/java/com/ycl/service/impl/FlowDefinitionServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java
New file
@@ -0,0 +1,48 @@
package com.ycl.controller;
import com.ycl.common.group.Update;
import com.ycl.common.group.Add;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
import lombok.RequiredArgsConstructor;
import java.util.List;
import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.NotEmpty;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.ycl.service.ProcessConfigInfoService;
import com.ycl.common.base.Result;
import com.ycl.domain.form.ProcessConfigInfoForm;
import com.ycl.domain.query.ProcessConfigInfoQuery;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
 * 流程类型配置信息表 前端控制器
 *
 * @author xp
 * @since 2024-11-26
 */
@Validated
@RequiredArgsConstructor
@Api(value = "流程类型配置信息表", tags = "流程类型配置信息表管理")
@RestController
@RequestMapping("/process-config-info")
public class ProcessConfigInfoController {
    private final ProcessConfigInfoService processConfigInfoService;
    @PostMapping
    @ApiOperation(value = "保存", notes = "保存")
    @PreAuthorize("@ss.hasPermi('processConfigInfo:add')")
    public Result save(@RequestBody ProcessConfigInfoForm form) {
        return processConfigInfoService.save(form);
    }
    @GetMapping
    @ApiOperation(value = "详情", notes = "详情")
    @PreAuthorize("@ss.hasPermi('processConfigInfo:detail')")
    public Result detail(@RequestParam String deployId, @RequestParam Integer deployVersion) {
        return processConfigInfoService.detail(deployId, deployVersion);
    }
}
business/src/main/java/com/ycl/domain/entity/ProcessConfigInfo.java
New file
@@ -0,0 +1,47 @@
package com.ycl.domain.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import com.ycl.system.domain.base.AbsEntity;
import lombok.Data;
/**
 * 流程类型配置信息表
 *
 * @author xp
 * @since 2024-11-26
 */
@Data
@TableName("t_process_config_info")
public class ProcessConfigInfo extends AbsEntity {
    private static final long serialVersionUID = 1L;
    @TableField("deploy_id")
    /** 流程部署id */
    private String deployId;
    @TableField("project_type")
    /** 项目类型 */
    private String projectType;
    @TableField("fund_type")
    /** 资金类型 */
    private String fundType;
    @TableField("invest_type")
    /** 投资类别 */
    private String investType;
    @TableField("importance_type")
    /** 重点分类 */
    private String importanceType;
    @TableField("deploy_version")
    /** 发布版本 */
    private Integer deployVersion;
}
business/src/main/java/com/ycl/domain/form/ProcessConfigInfoForm.java
New file
@@ -0,0 +1,58 @@
package com.ycl.domain.form;
import com.ycl.common.group.Update;
import com.ycl.common.group.Add;
import com.ycl.system.domain.base.AbsForm;
import com.ycl.domain.entity.ProcessConfigInfo;
import org.springframework.beans.BeanUtils;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import org.springframework.lang.NonNull;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * 流程类型配置信息表表单
 *
 * @author xp
 * @since 2024-11-26
 */
@Data
@ApiModel(value = "ProcessConfigInfo表单", description = "流程类型配置信息表表单")
public class ProcessConfigInfoForm {
    @NotBlank(message = "流程部署id不能为空")
    @ApiModelProperty("流程部署id")
    private String deployId;
    @NotBlank(message = "项目类型不能为空")
    @ApiModelProperty("项目类型")
    private String projectType;
    @NotBlank(message = "资金类型不能为空")
    @ApiModelProperty("资金类型")
    private String fundType;
    @NotBlank(message = "投资类别不能为空")
    @ApiModelProperty("投资类别")
    private String investType;
    @NotBlank(message = "重点分类不能为空")
    @ApiModelProperty("重点分类")
    private String importanceType;
    @NotNull(message = "发布版本不能为空")
    @ApiModelProperty("发布版本")
    private Integer deployVersion;
    public static ProcessConfigInfo getEntityByForm(@NonNull ProcessConfigInfoForm form, ProcessConfigInfo entity) {
        if(entity == null) {
          entity = new ProcessConfigInfo();
        }
        BeanUtils.copyProperties(form, entity);
        return entity;
    }
}
business/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java
New file
@@ -0,0 +1,22 @@
package com.ycl.domain.query;
import com.ycl.system.domain.base.AbsQuery;
import java.util.List;
import org.springframework.lang.NonNull;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 流程类型配置信息表查询
 *
 * @author xp
 * @since 2024-11-26
 */
@Data
@ApiModel(value = "ProcessConfigInfo查询参数", description = "流程类型配置信息表查询参数")
public class ProcessConfigInfoQuery extends AbsQuery {
}
business/src/main/java/com/ycl/domain/vo/ProcessConfigInfoVO.java
New file
@@ -0,0 +1,55 @@
package com.ycl.domain.vo;
import com.ycl.system.domain.base.AbsVo;
import com.ycl.domain.entity.ProcessConfigInfo;
import java.util.List;
import org.springframework.lang.NonNull;
import org.springframework.beans.BeanUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * 流程类型配置信息表展示
 *
 * @author xp
 * @since 2024-11-26
 */
@Data
@ApiModel(value = "流程类型配置信息表响应数据", description = "流程类型配置信息表响应数据")
public class ProcessConfigInfoVO extends AbsVo {
    /** 流程部署id */
    @ApiModelProperty("流程部署id")
    private String deployId;
    /** 项目类型 */
    @ApiModelProperty("项目类型")
    private String projectType;
    /** 资金类型 */
    @ApiModelProperty("资金类型")
    private String fundType;
    /** 投资类别 */
    @ApiModelProperty("投资类别")
    private String investType;
    /** 重点分类 */
    @ApiModelProperty("重点分类")
    private String importanceType;
    /** 发布版本 */
    @ApiModelProperty("发布版本")
    private Integer deployVersion;
    public static ProcessConfigInfoVO getVoByEntity(@NonNull ProcessConfigInfo entity, ProcessConfigInfoVO vo) {
        if(vo == null) {
            vo = new ProcessConfigInfoVO();
        }
        BeanUtils.copyProperties(entity, vo);
        return vo;
    }
}
business/src/main/java/com/ycl/mapper/ProcessConfigInfoMapper.java
New file
@@ -0,0 +1,34 @@
package com.ycl.mapper;
import com.ycl.domain.entity.ProcessConfigInfo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.domain.vo.ProcessConfigInfoVO;
import com.ycl.domain.form.ProcessConfigInfoForm;
import com.ycl.domain.query.ProcessConfigInfoQuery;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
 * 流程类型配置信息表 Mapper 接口
 *
 * @author xp
 * @since 2024-11-26
 */
@Mapper
public interface ProcessConfigInfoMapper extends BaseMapper<ProcessConfigInfo> {
    /**
     * id查找流程类型配置信息表
     * @param id
     * @return
     */
    ProcessConfigInfoVO getById(Integer id);
    /**
    *  分页
    */
    IPage getPage(IPage page, @Param("query") ProcessConfigInfoQuery query);
}
business/src/main/java/com/ycl/service/ProcessConfigInfoService.java
New file
@@ -0,0 +1,34 @@
package com.ycl.service;
import com.ycl.domain.entity.ProcessConfigInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.common.base.Result;
import com.ycl.domain.form.ProcessConfigInfoForm;
import com.ycl.domain.query.ProcessConfigInfoQuery;
import java.util.List;
/**
 * 流程类型配置信息表 服务类
 *
 * @author xp
 * @since 2024-11-26
 */
public interface ProcessConfigInfoService extends IService<ProcessConfigInfo> {
    /**
     * 添加
     * @param form
     * @return
     */
    Result save(ProcessConfigInfoForm form);
    /**
     * 根据deployId查找
     * @param deployId 流程部署id
     * @param deployId 流程部署版本
     * @return
     */
    Result detail(String deployId, Integer deployVersion);
}
business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java
New file
@@ -0,0 +1,84 @@
package com.ycl.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.domain.entity.ProcessConfigInfo;
import com.ycl.mapper.ProcessConfigInfoMapper;
import com.ycl.service.ProcessConfigInfoService;
import com.ycl.common.base.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.domain.form.ProcessConfigInfoForm;
import com.ycl.domain.vo.ProcessConfigInfoVO;
import com.ycl.domain.query.ProcessConfigInfoQuery;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import com.ycl.framework.utils.PageUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * 流程类型配置信息表 服务实现类
 *
 * @author xp
 * @since 2024-11-26
 */
@Service
@RequiredArgsConstructor
public class ProcessConfigInfoServiceImpl extends ServiceImpl<ProcessConfigInfoMapper, ProcessConfigInfo> implements ProcessConfigInfoService {
    private final ProcessConfigInfoMapper processConfigInfoMapper;
    /**
     * 添加
     * @param form
     * @return
     */
    @Override
    public Result save(ProcessConfigInfoForm form) {
        // 根据部署id和版本号查询是否保存过,有就修改,没有就新增
        ProcessConfigInfo entity = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(ProcessConfigInfo::getDeployId, form.getDeployId())
                .eq(ProcessConfigInfo::getDeployVersion, form.getDeployVersion())
                .one();
        if (Objects.isNull(entity)) {
            entity = ProcessConfigInfoForm.getEntityByForm(form, null);
            baseMapper.insert(entity);
        } else {
            new LambdaUpdateChainWrapper<>(baseMapper)
                    .eq(ProcessConfigInfo::getDeployId, form.getDeployId())
                    .eq(ProcessConfigInfo::getDeployVersion, form.getDeployVersion())
                    .set(ProcessConfigInfo::getProjectType, form.getProjectType())
                    .set(ProcessConfigInfo::getFundType, form.getFundType())
                    .set(ProcessConfigInfo::getInvestType, form.getInvestType())
                    .set(ProcessConfigInfo::getImportanceType, form.getImportanceType())
                    .update();
        }
        return Result.ok("保存成功");
    }
    /**
     * 根据id查找
     * @param deployId
     * @return
     */
    @Override
    public Result detail(String deployId, Integer deployVersion) {
        ProcessConfigInfo entity = new LambdaQueryChainWrapper<>(baseMapper)
                .eq(ProcessConfigInfo::getDeployId, deployId)
                .eq(ProcessConfigInfo::getDeployVersion, deployVersion)
                .one();
        ProcessConfigInfoVO vo = new ProcessConfigInfoVO();
        if (Objects.isNull(entity)) {
            return Result.ok().data(entity);
        } else {
            BeanUtils.copyProperties(entity, vo);
        }
        return Result.ok().data(vo);
    }
}
business/src/main/resources/mapper/ProcessConfigInfoMapper.xml
New file
@@ -0,0 +1,52 @@
<?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.ycl.mapper.ProcessConfigInfoMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.domain.vo.ProcessConfigInfoVO">
        <result column="deploy_id" property="deployId" />
        <result column="project_type" property="projectType" />
        <result column="fund_type" property="fundType" />
        <result column="invest_type" property="investType" />
        <result column="importance_type" property="importanceType" />
        <result column="deploy_version" property="deployVersion" />
    </resultMap>
    <select id="getById" resultMap="BaseResultMap">
        SELECT
            TPCI.deploy_id,
            TPCI.project_type,
            TPCI.fund_type,
            TPCI.invest_type,
            TPCI.importance_type,
            TPCI.deploy_version,
            TPCI.id
        FROM
            t_process_config_info TPCI
        WHERE
            TPCI.id = #{id} AND TPCI.deleted = 0
    </select>
    <select id="getPage" resultMap="BaseResultMap">
        SELECT
            TPCI.deploy_id,
            TPCI.project_type,
            TPCI.fund_type,
            TPCI.invest_type,
            TPCI.importance_type,
            TPCI.deploy_version,
            TPCI.id
        FROM
            t_process_config_info TPCI
        WHERE
            TPCI.deleted = 0
    </select>
</mapper>
flowable/src/main/java/com/ycl/service/impl/FlowDefinitionServiceImpl.java
@@ -118,7 +118,7 @@
    /**
     * 导入流程文件
     * 导入流程文件,自动部署
     *
     * 当每个key的流程第一次部署时,指定版本为1。对其后所有使用相同key的流程定义,
     * 部署时版本会在该key当前已部署的最高版本号基础上加1。key参数用于区分流程定义