添加关键零部件型号申请流程
This commit is contained in:
+14
@@ -0,0 +1,14 @@
|
||||
package com.jero.modules.activiti.process.part.common;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2024-06-17 15:28
|
||||
*/
|
||||
public class ProcessNewStandardImportConstants {
|
||||
private ProcessNewStandardImportConstants(){}
|
||||
|
||||
/**
|
||||
* 法规工程师发起
|
||||
*/
|
||||
public static final String STANDARD_ENGINEER_START = "SID-2D0F3497-9E7D-4BC8-9A93-DAE6239E191B";
|
||||
}
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
package com.jero.modules.activiti.process.part.controller;
|
||||
|
||||
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.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.part.entity.ProcessPartTypeApply;
|
||||
import com.jero.modules.activiti.process.part.service.IProcessPartTypeApplyService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 流程-关键零部件型号申请流程
|
||||
*
|
||||
* @author xxxxx
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "关键零部件型号申请流程")
|
||||
@RestController
|
||||
@RequestMapping("process/processPartTypeApply")
|
||||
public class ProcessPartTypeApplyController extends JeroController<ProcessPartTypeApply, IProcessPartTypeApplyService> {
|
||||
|
||||
@Resource
|
||||
private IProcessPartTypeApplyService sccService;
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@AutoLog(value = "关键零部件型号申请流程-发起流程")
|
||||
@ApiOperation(value = "关键零部件型号申请流程-发起流程", notes = "关键零部件型号申请流程-发起流程")
|
||||
@PostMapping(value = "/start")
|
||||
public Result<T> startProcess(@Validated @RequestBody ProcessInfoVO<ProcessPartTypeApply> processInfoVO) {
|
||||
sccService.startProcess(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "关键零部件型号申请流程-同意")
|
||||
@ApiOperation(value = "关键零部件型号申请流程-同意", notes = "关键零部件型号申请流程-同意")
|
||||
@PostMapping("/agree")
|
||||
public Result<T> agree(@Validated @RequestBody ProcessInfoVO<ProcessPartTypeApply> processInfoVO) {
|
||||
sccService.approveTask(processInfoVO, true);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "关键零部件型号申请流程-驳回")
|
||||
@ApiOperation(value = "关键零部件型号申请流程-驳回", notes = "关键零部件型号申请流程-驳回")
|
||||
@PostMapping("/reject")
|
||||
public Result<T> reject(@Validated @RequestBody ProcessInfoVO<ProcessPartTypeApply> processInfoVO) {
|
||||
sccService.approveTask(processInfoVO, false);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@AutoLog(value = "关键零部件型号申请流程-提交")
|
||||
@ApiOperation(value = "关键零部件型号申请流程-提交", notes = "关键零部件型号申请流程-提交")
|
||||
@PostMapping("/submit")
|
||||
public Result<T> submit(@Validated @RequestBody ProcessInfoVO<ProcessPartTypeApply> processInfoVO) {
|
||||
sccService.submit(processInfoVO);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 关键零部件型号申请流程-办理
|
||||
* @param taskId
|
||||
*/
|
||||
@AutoLog(value = "关键零部件型号申请流程-办理")
|
||||
@ApiOperation(value="关键零部件型号申请流程-办理", notes="关键零部件型号申请流程-办理")
|
||||
@GetMapping("/handle/{taskId}")
|
||||
@Translation
|
||||
public Result<?> handle(@PathVariable("taskId") String taskId) {
|
||||
ProcessDraft draft = actFlowCommonService.getExistDraftByTaskId(taskId, ProcessTypeEnum.NEW_STANDARD_IMPORT);
|
||||
if (draft != null) {
|
||||
return Result.OK(draft);
|
||||
}
|
||||
return Result.OK(sccService.getHandleData(taskId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成
|
||||
* @param scc
|
||||
*/
|
||||
@AutoLog(value = "关键零部件型号申请流程-生成")
|
||||
@ApiOperation(value="关键零部件型号申请流程-生成", notes="关键零部件型号申请流程-生成")
|
||||
@PostMapping("/generate")
|
||||
@Translation
|
||||
public Result<?> generate(@RequestPart("scc") ProcessPartTypeApply scc,
|
||||
@RequestPart("modelFile") MultipartFile modelFile,
|
||||
@RequestPart(name = "splitFile", required = false) MultipartFile splitFile) {
|
||||
return Result.OK(sccService.generate(scc, modelFile, splitFile));
|
||||
}
|
||||
}
|
||||
+78
@@ -0,0 +1,78 @@
|
||||
package com.jero.modules.activiti.process.part.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.experimental.Accessors;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName process_standard_compliance_check
|
||||
*/
|
||||
@TableName(value ="process_part_type_apply")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@ApiModel(value="process_part_type_apply对象", description="关键零部件型号申请流程")
|
||||
public class ProcessPartTypeApply implements Serializable {
|
||||
|
||||
/**主键*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@ApiModelProperty(value = "流程实例id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**创建人*/
|
||||
@ApiModelProperty(value = "创建人")
|
||||
private String createBy;
|
||||
|
||||
/**创建日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建日期")
|
||||
private Date createTime;
|
||||
|
||||
/**更新人*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
|
||||
/**更新日期*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新日期")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 0表示未删除,1表示删除
|
||||
*/
|
||||
@ApiModelProperty(value = "0表示未删除,1表示删除")
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
|
||||
/**关键零部件型号ids*/
|
||||
@ApiModelProperty(value = "关键零部件型号ids")
|
||||
@TableField(exist = false)
|
||||
private String ids;
|
||||
|
||||
/**
|
||||
* 关键零部件型号列表
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private List<ProcessPartTypeApplyRecord> list;
|
||||
|
||||
}
|
||||
+240
@@ -0,0 +1,240 @@
|
||||
package com.jero.modules.activiti.process.part.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 关键零部件型号库
|
||||
*
|
||||
* @TableName laws_part_type
|
||||
*/
|
||||
@TableName(value ="process_part_type_apply_record")
|
||||
@Data
|
||||
public class ProcessPartTypeApplyRecord implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "主键ID")
|
||||
private String id;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@ApiModelProperty(value = "更新人")
|
||||
private String updateBy;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
/**
|
||||
* 0表示未删除,1表示删除
|
||||
*/
|
||||
@TableLogic
|
||||
@ApiModelProperty(value = "0表示未删除,1表示删除")
|
||||
private Integer delFlag;
|
||||
/**
|
||||
* 零件号
|
||||
*/
|
||||
@ApiModelProperty(value = "零件号")
|
||||
@Excel(name = "零件号", width = 15)
|
||||
@NotBlank(message = "零件号")
|
||||
private String partNum;
|
||||
|
||||
/**
|
||||
* 关键零部件id
|
||||
*/
|
||||
@ApiModelProperty(value = "关键零部件id")
|
||||
private String partRelevanceId;
|
||||
|
||||
|
||||
/**
|
||||
* 关键零部件名称
|
||||
*/
|
||||
@ApiModelProperty(value = "关键零部件名称")
|
||||
@Excel(name = "关键零部件名称", width = 15)
|
||||
@NotBlank(message = "关键零部件名称不能为空")
|
||||
@TableField(exist = false)
|
||||
private String regPartNameCn;
|
||||
|
||||
/**
|
||||
* 关键零部件名称(英文)
|
||||
*/
|
||||
@ApiModelProperty(value = "关键零部件名称(英文)")
|
||||
@Excel(name = "关键零部件名称(英文)", width = 15)
|
||||
@TableField(exist = false)
|
||||
private String regPartNameEn;
|
||||
|
||||
/**
|
||||
* 零件名称
|
||||
*/
|
||||
@NotBlank(message = "零件名称")
|
||||
@ApiModelProperty(value = "零件名称")
|
||||
@Excel(name = "零件名称", width = 15)
|
||||
private String partName;
|
||||
|
||||
/**
|
||||
* 生产厂家
|
||||
*/
|
||||
@NotBlank(message = "生产厂家")
|
||||
@ApiModelProperty(value = "生产厂家")
|
||||
@Excel(name = "生产厂家", width = 15, dicCode = "production_factory_code", dictTable = "laws_part_production_factory", dicText = "production_factory")
|
||||
@Dict(dicCode = "production_factory_code", dictTable = "laws_part_production_factory", dicText = "production_factory")
|
||||
private String productionFactory;
|
||||
/**
|
||||
* 适用车型
|
||||
*/
|
||||
@NotBlank(message = "适用车型不能为空")
|
||||
@ApiModelProperty(value = "适用车型")
|
||||
@Excel(name = "适用车型", width = 15, dicCode = "applicable_vehicle_type")
|
||||
@Dict(dicCode = "applicable_vehicle_type")
|
||||
private String applicableVehicleType;
|
||||
|
||||
/**
|
||||
* 技术特性与已有零件全部相同
|
||||
*/
|
||||
@NotBlank(message = "技术特性与已有零件全部相同")
|
||||
@ApiModelProperty(value = "技术特性与已有零件全部相同")
|
||||
private String technicalFeature;
|
||||
|
||||
/**
|
||||
* 型号型式
|
||||
*/
|
||||
@NotBlank(message = "型号型式不能为空")
|
||||
@ApiModelProperty(value = "型号型式")
|
||||
@Excel(name = "型号型式", width = 15, dicCode = "form_type")
|
||||
@Dict(dicCode = "form_type")
|
||||
@TableField(exist = false)
|
||||
private String formType;
|
||||
/**
|
||||
* 技术特性判定要求
|
||||
*/
|
||||
@ApiModelProperty(value = "技术特性判定要求")
|
||||
@Excel(name = "技术特性判定要求", width = 15)
|
||||
@TableField(exist = false)
|
||||
private String decisionRequirement;
|
||||
|
||||
/**
|
||||
* 已有零件对应零件号
|
||||
*/
|
||||
@ApiModelProperty(value = "已有零件对应零件号")
|
||||
@Excel(name = "已有零件对应零件号", width = 15)
|
||||
private String alreadyPartNum;
|
||||
/**
|
||||
* 已有零件对应零件号id
|
||||
*/
|
||||
@ApiModelProperty(value = "已有零件对应零件号id")
|
||||
private String alreadyPartNumId;
|
||||
/**
|
||||
* 分类(国内)
|
||||
*/
|
||||
@ApiModelProperty(value = "分类(国内)")
|
||||
@Excel(name = "分类(国内)", width = 15,dicCode = "classification")
|
||||
@Dict(dicCode = "classification")
|
||||
@TableField(exist = false)
|
||||
private String classification;
|
||||
/**
|
||||
* 适用市场
|
||||
*/
|
||||
@Excel(name = "适用市场", width = 15,dicCode = "market_state")
|
||||
@NotBlank(message = "适用市场不能为空")
|
||||
@ApiModelProperty(value = "适用市场")
|
||||
@Dict(dicCode = "market_state")
|
||||
@TableField(exist = false)
|
||||
private String applicableMarket;
|
||||
/**
|
||||
* 零部件认证交付物
|
||||
*/
|
||||
@ApiModelProperty(value = "零部件认证交付物")
|
||||
@Excel(name = "零部件认证交付物", width = 15,dicCode = "parts_certified_deliverables")
|
||||
@Dict(dicCode = "parts_certified_deliverables")
|
||||
@TableField(exist = false)
|
||||
private String partsCertifiedDeliverables;
|
||||
/**
|
||||
* 责任部门
|
||||
*/
|
||||
@NotBlank(message = "责任部门不能为空")
|
||||
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
|
||||
@ApiModelProperty(value = "责任部门")
|
||||
@Excel(name = "责任部门", width = 15, dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
|
||||
@TableField(exist = false)
|
||||
private String responsibleDepartment;
|
||||
/**
|
||||
* 责任部门专业模块
|
||||
*/
|
||||
@NotBlank(message = "责任部门专业模块不能为空")
|
||||
@ApiModelProperty(value = "责任部门专业模块")
|
||||
@Dict(dicCode = "responsible_module")
|
||||
@Excel(name = "责任部门专业模块", width = 15, dicCode = "responsible_module")
|
||||
@TableField(exist = false)
|
||||
private String responsibleModule;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ApiModelProperty(value = "申请人")
|
||||
@Dict(dictTable = "sys_user", dicCode = "id", dicText = "username")
|
||||
@Excel(name = "申请人", width = 15, dictTable = "sys_user", dicCode = "id", dicText = "username")
|
||||
private String createBy;
|
||||
/**
|
||||
* 申请部门
|
||||
*/
|
||||
@ApiModelProperty(value = "申请部门")
|
||||
@Dict(dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
|
||||
@Excel(name = "申请部门", width = 15, dictTable = "sys_depart", dicCode = "id", dicText = "depart_name")
|
||||
@TableField(exist = false)
|
||||
private String depId;
|
||||
|
||||
/**
|
||||
* 完成时间
|
||||
*/
|
||||
@ApiModelProperty(value = "完成时间")
|
||||
@Excel(name = "完成时间",format = "yyyy-MM-dd")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
private Date successTime;
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ApiModelProperty(value = "状态")
|
||||
@Excel(name = "状态", dicCode = "part_type_status")
|
||||
@Dict(dicCode = "part_type_status")
|
||||
private String status;
|
||||
|
||||
|
||||
/**
|
||||
* 替换前id
|
||||
*/
|
||||
@ApiModelProperty(value = "替换前id")
|
||||
private String lastId;
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
@ApiModelProperty(value = "流程id")
|
||||
private String processId;
|
||||
|
||||
/**
|
||||
* FND+GPC关联
|
||||
*/
|
||||
@ApiModelProperty(value = "FND+GPC关联")
|
||||
private String fndGpc;
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
package com.jero.modules.activiti.process.part.listener;
|
||||
|
||||
import com.jero.modules.activiti.process.part.service.IProcessPartTypeApplyService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.delegate.ExecutionListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-06-18 15:43
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class ProcessPartTypeApplyEndListener implements ExecutionListener {
|
||||
|
||||
@Resource
|
||||
private IProcessPartTypeApplyService processPartTypeApplyService;
|
||||
|
||||
@Override
|
||||
public void notify(DelegateExecution delegateExecution) {
|
||||
processPartTypeApplyService.flowListener(delegateExecution);
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.jero.modules.activiti.process.part.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.part.entity.ProcessPartTypeApply;
|
||||
|
||||
/**
|
||||
* @author
|
||||
* @description 针对表【process_standard_import】的数据库操作Mapper
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
* @Entity
|
||||
*/
|
||||
public interface ProcessPartTypeApplyMapper extends BaseMapper<ProcessPartTypeApply> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.jero.modules.activiti.process.part.mapper;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.activiti.process.part.entity.ProcessPartTypeApplyRecord;
|
||||
|
||||
/**
|
||||
* @author
|
||||
* @description 针对表【process_standard_import】的数据库操作Mapper
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
* @Entity
|
||||
*/
|
||||
public interface ProcessPartTypeApplyRecordMapper extends BaseMapper<ProcessPartTypeApplyRecord> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<?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.part.mapper.ProcessPartTypeApplyMapper">
|
||||
|
||||
</mapper>
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<?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.part.mapper.ProcessPartTypeApplyRecordMapper">
|
||||
|
||||
</mapper>
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
package com.jero.modules.activiti.process.part.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.part.entity.ProcessPartTypeApplyRecord;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_standard_compliance_check】的数据库操作Service
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
*/
|
||||
public interface IProcessPartTypeApplyRecordService extends IService<ProcessPartTypeApplyRecord> {
|
||||
|
||||
}
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.jero.modules.activiti.process.part.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.part.entity.ProcessPartTypeApply;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_standard_compliance_check】的数据库操作Service
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
*/
|
||||
public interface IProcessPartTypeApplyService extends IService<ProcessPartTypeApply> {
|
||||
|
||||
void startProcess(ProcessInfoVO<ProcessPartTypeApply> processInfoVO);
|
||||
|
||||
void approveTask(ProcessInfoVO<ProcessPartTypeApply> processInfoVO, boolean b);
|
||||
|
||||
ProcessInfoVO<ProcessPartTypeApply> getHandleData(String taskId);
|
||||
|
||||
void submit(ProcessInfoVO<ProcessPartTypeApply> processInfoVO);
|
||||
|
||||
String generate(ProcessPartTypeApply scc, MultipartFile modelFile, MultipartFile splitFile);
|
||||
|
||||
void flowListener(DelegateExecution delegateExecution);
|
||||
}
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
package com.jero.modules.activiti.process.part.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.activiti.process.part.entity.ProcessPartTypeApplyRecord;
|
||||
import com.jero.modules.activiti.process.part.mapper.ProcessPartTypeApplyRecordMapper;
|
||||
import com.jero.modules.activiti.process.part.service.IProcessPartTypeApplyRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_standard_compliance_check】的数据库操作Service实现
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class ProcessPartTypeApplyRecordServiceImpl extends ServiceImpl<ProcessPartTypeApplyRecordMapper, ProcessPartTypeApplyRecord>
|
||||
implements IProcessPartTypeApplyRecordService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+326
@@ -0,0 +1,326 @@
|
||||
package com.jero.modules.activiti.process.part.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicProcessInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.dto.BasicTaskInfoDTO;
|
||||
import com.jero.modules.activiti.process.fb.service.IProcessHandleService;
|
||||
import com.jero.modules.activiti.process.fb.vo.ProcessInfoVO;
|
||||
import com.jero.modules.activiti.process.part.entity.ProcessPartTypeApply;
|
||||
import com.jero.modules.activiti.process.part.entity.ProcessPartTypeApplyRecord;
|
||||
import com.jero.modules.activiti.process.part.mapper.ProcessPartTypeApplyMapper;
|
||||
import com.jero.modules.activiti.process.part.service.IProcessPartTypeApplyRecordService;
|
||||
import com.jero.modules.activiti.process.part.service.IProcessPartTypeApplyService;
|
||||
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.part.entity.LawsPartType;
|
||||
import com.jero.modules.laws.part.service.ILawsPartRelevanceService;
|
||||
import com.jero.modules.laws.part.service.ILawsPartTypeService;
|
||||
import com.jero.modules.sys.utils.UserUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.delegate.DelegateExecution;
|
||||
import org.activiti.engine.runtime.ProcessInstance;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
|
||||
import static com.jero.modules.activiti.common.ActivitiCommon.PASS;
|
||||
|
||||
/**
|
||||
* @author ThinkBook
|
||||
* @description 针对表【process_standard_compliance_check】的数据库操作Service实现
|
||||
* @createDate 2024-07-04 10:21:21
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class ProcessPartTypeApplyServiceImpl extends ServiceImpl<ProcessPartTypeApplyMapper, ProcessPartTypeApply>
|
||||
implements IProcessPartTypeApplyService {
|
||||
|
||||
@Resource
|
||||
private ActFlowCommonService actFlowCommonService;
|
||||
|
||||
@Resource
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
|
||||
@Resource
|
||||
private ProcessApprovalRecordService processApprovalRecordService;
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
|
||||
@Resource
|
||||
private IProcessHandleService processHandleService;
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
@Resource
|
||||
private ILawsPartTypeService lawsPartTypeService;
|
||||
@Resource
|
||||
private IProcessPartTypeApplyRecordService processPartTypeApplyRecordService;
|
||||
|
||||
@Override
|
||||
public void startProcess(ProcessInfoVO<ProcessPartTypeApply> processInfoVO) {
|
||||
// 流程Key
|
||||
String processDefinitionKey = ProcessType.NEW_STANDARD_IMPORT.getProcessKey();
|
||||
// 流程信息
|
||||
BasicProcessInfoDTO processInfo = processInfoVO.getBasicProcessInfoDTO();
|
||||
// 任务信息
|
||||
BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
|
||||
// 人员信息
|
||||
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap();
|
||||
// 业务数据
|
||||
ProcessPartTypeApply businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
// 设置流程变量
|
||||
Map<String, Object> actVariables = setVariables(userInfoMap);
|
||||
// 删除草稿
|
||||
actFlowCommonService.getExistDraftAndRemove(processInfoVO.getDraftId());
|
||||
// 启动流程
|
||||
ProcessInstance processInstance = actFlowCommonService.startProcess(processDefinitionKey, actVariables);
|
||||
|
||||
// 获取流程实例ID
|
||||
String processDefinitionId = processInstance.getProcessDefinitionId();
|
||||
String processInstanceId = processInstance.getId();
|
||||
businessInfoDTO.setProcessInstanceId(processInstanceId);
|
||||
processInfo.setProcessInstanceId(processInstanceId);
|
||||
processInfo.setProcessDefinitionId(processDefinitionId);
|
||||
processInfo.setProcessType(ProcessTypeEnum.NEW_STANDARD_IMPORT.getValue());
|
||||
// 第一个节点业务数据处理
|
||||
this.startNodeBusProcess(processInfoVO);
|
||||
// 保存选人信息
|
||||
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userInfoMap);
|
||||
// 当前用户Id
|
||||
String userId = UserUtils.getUserId();
|
||||
// 获取第一个任务的taskId
|
||||
String taskId = actFlowCommonService.getFirstTaskId(processInstanceId, userId, processDefinitionId);
|
||||
processTask.setTaskId(taskId);
|
||||
// 保存第一个节点的草稿
|
||||
processHandleService.saveToDraft(processInfoVO, UserUtils.getUserId());
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
// 根据流程实例id更新流程总表
|
||||
actFlowCommonService.updateProcessAll(processInfo);
|
||||
// 自动完成第一个任务
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO,userId);
|
||||
}
|
||||
|
||||
private Map<String, Object> setVariables(Map<String, Object> userInfoMap) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
// 人员信息
|
||||
userInfoMap.forEach((key, value) -> {
|
||||
if(Objects.equals("checkUserLeader1List",key + "List") ||
|
||||
Objects.equals("checkUserLeader2List",key + "List") ||
|
||||
Objects.equals("checkUserLeader3List",key + "List") ||
|
||||
Objects.equals("checkUserLeader4List",key + "List")){
|
||||
map.put(key, value);
|
||||
map.put(key + "List", Arrays.asList(value.toString().split(",")));
|
||||
return;
|
||||
}
|
||||
map.put(key, value);
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 第一个节点业务数据处理
|
||||
* @param processInfoVO
|
||||
*/
|
||||
private void startNodeBusProcess(ProcessInfoVO<ProcessPartTypeApply> processInfoVO) {
|
||||
ProcessPartTypeApply businessInfoDTO = processInfoVO.getBusinessInfoDTO();
|
||||
saveOrUpdate(businessInfoDTO);
|
||||
if(!StringUtils.isEmpty(businessInfoDTO.getIds())){
|
||||
List<String> ids = Arrays.asList(businessInfoDTO.getIds().split(","));
|
||||
LambdaUpdateWrapper<ProcessPartTypeApplyRecord> updateProcessPartTypeApplyRecord = new LambdaUpdateWrapper<>();
|
||||
updateProcessPartTypeApplyRecord.in(ProcessPartTypeApplyRecord::getId,ids);
|
||||
updateProcessPartTypeApplyRecord.set(ProcessPartTypeApplyRecord::getProcessId,businessInfoDTO.getId());
|
||||
processPartTypeApplyRecordService.update(updateProcessPartTypeApplyRecord);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = JeroBootException.class)
|
||||
public void approveTask(ProcessInfoVO<ProcessPartTypeApply> processInfoVO, boolean pass) {
|
||||
BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = processTask.getTaskId();
|
||||
// 获取task
|
||||
if (StringUtils.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
// 获取当前节点的id
|
||||
ProcessApprovalRecord processApprovalRecord = actFlowCommonService.getNodeIdByTaskId(taskId);
|
||||
String xmlNodeId = processApprovalRecord.getNodeId();
|
||||
//任务Id 查询任务对象
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
if(Objects.isNull(task)){
|
||||
throw new JeroBootException("找不到对应任务");
|
||||
}
|
||||
String processInstanceId = task.getProcessInstanceId();
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
|
||||
if(Objects.isNull(processTask.getCommitFlag())){
|
||||
processTask.setCommitFlag(pass ? ActivitiCommon.COMMIT_FLAG1 : ActivitiCommon.COMMIT_FLAG2);
|
||||
}
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
|
||||
runtimeService.setVariable(processInstanceId, PASS, pass);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
|
||||
// 驳回,结束所有节点
|
||||
processApprovalRecordService.updateApprovalRecordFinishFlag(pass, taskId, xmlNodeId, processInstanceId);
|
||||
// 保存快照
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
if(!Objects.isNull(process)){
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(process.getPrcName());
|
||||
basicProcessInfoDTO.setProcessType(process.getPrcType());
|
||||
basicProcessInfoDTO.setProcessDefinitionId(process.getProcessDefinitionId());
|
||||
basicProcessInfoDTO.setProcessInstanceId(process.getProcessInstanceId());
|
||||
basicProcessInfoDTO.setProcessDescription(process.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessDueDate(process.getDueTime());
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO,userId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void submit(ProcessInfoVO<ProcessPartTypeApply> processInfoVO) {
|
||||
BasicTaskInfoDTO processTask = processInfoVO.getBasicTaskInfoDTO();
|
||||
String taskId = processTask.getTaskId();
|
||||
// 获取task
|
||||
if (StringUtils.isBlank(taskId) || !actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("taskId为空或任务不存在");
|
||||
}
|
||||
//任务Id 查询任务对象
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
if(Objects.isNull(task)){
|
||||
throw new JeroBootException("找不到对应任务");
|
||||
}
|
||||
// 人员信息
|
||||
Map<String, Object> userInfoMap = processInfoVO.getUserInfoMap();
|
||||
// 设置流程变量
|
||||
Map<String, Object> actVariables = setVariables(userInfoMap);
|
||||
String processInstanceId = task.getProcessInstanceId();
|
||||
runtimeService.setVariables(processInstanceId,actVariables);
|
||||
String userId = actFlowCommonService.getOriginTaskAssignee(taskId);
|
||||
// 发起节点 更新业务数据
|
||||
startNodeBusProcess(processInfoVO);
|
||||
// 更新审批表为完成,填充数据
|
||||
actFlowCommonService.updateApprovalInfo(processTask, taskId);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, userId);
|
||||
|
||||
// 保存快照
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
if(!Objects.isNull(process)){
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(process.getPrcName());
|
||||
basicProcessInfoDTO.setProcessType(process.getPrcType());
|
||||
basicProcessInfoDTO.setProcessDefinitionId(process.getProcessDefinitionId());
|
||||
basicProcessInfoDTO.setProcessInstanceId(process.getProcessInstanceId());
|
||||
basicProcessInfoDTO.setProcessDescription(process.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessDueDate(process.getDueTime());
|
||||
processInfoVO.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO,userId);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String generate(ProcessPartTypeApply scc, MultipartFile modelFile, MultipartFile splitFile) {
|
||||
// 新增流程主表数据
|
||||
this.save(scc);
|
||||
// 返回主键
|
||||
return scc.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void flowListener(DelegateExecution delegateExecution) {
|
||||
log.info("触发监听");
|
||||
String processInstanceId = delegateExecution.getProcessInstanceId();
|
||||
LambdaQueryWrapper<ProcessPartTypeApply> queryWrapperProcessPartTypeApply = new LambdaQueryWrapper<>();
|
||||
queryWrapperProcessPartTypeApply.eq(ProcessPartTypeApply::getProcessInstanceId, processInstanceId);
|
||||
ProcessPartTypeApply processPartTypeApply = getOne(queryWrapperProcessPartTypeApply,false);
|
||||
if(Objects.isNull(processPartTypeApply)){
|
||||
return;
|
||||
}
|
||||
LambdaQueryWrapper<ProcessPartTypeApplyRecord> queryProcessPartTypeApplyRecord = new LambdaQueryWrapper<>();
|
||||
queryProcessPartTypeApplyRecord.eq(ProcessPartTypeApplyRecord::getProcessId,processPartTypeApply.getId());
|
||||
List<ProcessPartTypeApplyRecord> listProcessPartTypeApplyRecord =
|
||||
processPartTypeApplyRecordService.list(queryProcessPartTypeApplyRecord);
|
||||
if(CollectionUtils.isEmpty(listProcessPartTypeApplyRecord)){
|
||||
return;
|
||||
}
|
||||
Date d = new Date();
|
||||
for (ProcessPartTypeApplyRecord processPartTypeApplyRecord : listProcessPartTypeApplyRecord) {
|
||||
processPartTypeApplyRecord.setSuccessTime(d);
|
||||
}
|
||||
List<LawsPartType> list = JSON.parseArray(JSON.toJSONString(listProcessPartTypeApplyRecord),LawsPartType.class);
|
||||
lawsPartTypeService.saveBatch(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProcessInfoVO<ProcessPartTypeApply> getHandleData(String taskId) {
|
||||
if (!actFlowCommonService.taskExists(taskId)) {
|
||||
throw new JeroBootException("任务不存在");
|
||||
}
|
||||
ProcessInfoVO<ProcessPartTypeApply> result = new ProcessInfoVO<>();
|
||||
// 使用流程引擎根据taskId找到流程实例Id
|
||||
String processInstanceId = actFlowCommonService.getProcessInstanceIdByTaskId(taskId);
|
||||
// 获取流程通用数据
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
if(!Objects.isNull(process)){
|
||||
BasicProcessInfoDTO basicProcessInfoDTO = new BasicProcessInfoDTO();
|
||||
basicProcessInfoDTO.setProcessName(process.getPrcName());
|
||||
basicProcessInfoDTO.setProcessType(process.getPrcType());
|
||||
basicProcessInfoDTO.setProcessDefinitionId(process.getProcessDefinitionId());
|
||||
basicProcessInfoDTO.setProcessInstanceId(process.getProcessInstanceId());
|
||||
basicProcessInfoDTO.setProcessDescription(process.getPrcMes());
|
||||
basicProcessInfoDTO.setProcessDueDate(process.getDueTime());
|
||||
result.setBasicProcessInfoDTO(basicProcessInfoDTO);
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<ProcessPartTypeApply> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(ProcessPartTypeApply::getProcessInstanceId, processInstanceId);
|
||||
ProcessPartTypeApply data = getOne(lambdaQueryWrapper,false);
|
||||
if(!Objects.isNull(data)){
|
||||
LambdaQueryWrapper<ProcessPartTypeApplyRecord> queryProcessPartTypeApplyRecord = new LambdaQueryWrapper<>();
|
||||
queryProcessPartTypeApplyRecord.eq(ProcessPartTypeApplyRecord::getProcessId,data.getId());
|
||||
List<ProcessPartTypeApplyRecord> list = processPartTypeApplyRecordService.list(queryProcessPartTypeApplyRecord);
|
||||
if(!CollectionUtils.isEmpty(list)){
|
||||
data.setList(list);
|
||||
}
|
||||
result.setBusinessInfoDTO(data);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
package com.jero.modules.activiti.process.part.vo;
|
||||
|
||||
|
||||
import com.jero.modules.activiti.process.ni.entity.ProcessNewStandardImport;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ProcessNewStandardImportVO {
|
||||
|
||||
ProcessNewStandardImport standardInfo;
|
||||
}
|
||||
+2
-2
@@ -121,8 +121,8 @@ public class LawsPartTypeController {
|
||||
@PostMapping(value = "/add")
|
||||
// @RequiresPermissions("keyPartBindingManage:add")
|
||||
public Result<T> add(@Validated @RequestBody LawsPartType lawsPartType) {
|
||||
lawsPartTypeService.add(lawsPartType);
|
||||
return Result.OK(ResultCommon.OK);
|
||||
String id = lawsPartTypeService.add(lawsPartType);
|
||||
return Result.OK(id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ public interface ILawsPartTypeService extends IService<LawsPartType> {
|
||||
|
||||
void deleteByIds(List<String> ids);
|
||||
|
||||
void add(LawsPartType lawsPartType);
|
||||
String add(LawsPartType lawsPartType);
|
||||
|
||||
void edit(LawsPartType lawsPartType);
|
||||
|
||||
|
||||
+12
-1
@@ -47,6 +47,7 @@ public class LawsPartTypeServiceImpl extends ServiceImpl<LawsPartTypeMapper, Law
|
||||
QueryWrapper<LawsPartType> queryWrapper =
|
||||
QueryGenerator.initQueryWrapper(lawsPartType, req.getParameterMap());
|
||||
queryWrapper.eq("l1.del_flag","0");
|
||||
queryWrapper.isNotNull("l1.success_time");
|
||||
Page<LawsPartType> page = new Page<>(pageNo, pageSize);
|
||||
IPage<LawsPartType> re = lawsPartTypeMapper.pageList(page, queryWrapper);
|
||||
return re;
|
||||
@@ -82,12 +83,21 @@ public class LawsPartTypeServiceImpl extends ServiceImpl<LawsPartTypeMapper, Law
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(LawsPartType lawsPartType) {
|
||||
public String add(LawsPartType lawsPartType) {
|
||||
save(lawsPartType);
|
||||
return lawsPartType.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(LawsPartType lawsPartType) {
|
||||
LawsPartType lawsPartTypeOld = getById(lawsPartType.getId());
|
||||
if(Objects.isNull(lawsPartTypeOld)){
|
||||
throw new JeroBootException(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(!Objects.equals(lawsPartType.getCreateBy(),sysUser.getUsername())){
|
||||
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||
}
|
||||
updateById(lawsPartType);
|
||||
}
|
||||
|
||||
@@ -138,6 +148,7 @@ public class LawsPartTypeServiceImpl extends ServiceImpl<LawsPartTypeMapper, Law
|
||||
QueryWrapper<LawsPartType> queryWrapper =
|
||||
QueryGenerator.initQueryWrapper(lawsPartType, request.getParameterMap());
|
||||
queryWrapper.eq("l1.del_flag","0");
|
||||
queryWrapper.isNotNull("l1.success_time");
|
||||
List<LawsPartType> re = lawsPartTypeMapper.pageList( queryWrapper);
|
||||
|
||||
// Step.2 AutoPoi 导出Excel
|
||||
|
||||
Reference in New Issue
Block a user