作者 张晓杰

合同管理修改流程启动调用方法,修改查询list方法

正在显示 16 个修改的文件 包含 544 行增加38 行删除
... ... @@ -17,6 +17,7 @@ import com.ruoyi.workflow.service.IWfCopyService;
import com.ruoyi.workflow.service.IWfProcessService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.runtime.ProcessInstance;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
... ... @@ -200,10 +201,10 @@ public class WfProcessController extends BaseController {
*/
@SaCheckPermission("workflow:process:start")
@PostMapping("/start/{processDefId}")
public R<Void> start(@PathVariable(value = "processDefId") String processDefId, @RequestBody Map<String, Object> variables) {
processService.startProcessByDefId(processDefId, variables);
return R.ok("流程启动成功");
public R<ProcessInstance> start(@PathVariable(value = "processDefId") String processDefId, @RequestBody Map<String, Object> variables) {
ProcessInstance processInstance = processService.startProcessByDefId(processDefId, variables);
// return R.ok("流程启动成功");
return R.ok(processInstance);
}
/**
... ...
... ... @@ -4,15 +4,19 @@ import java.util.HashMap;
import java.util.List;
import java.util.Arrays;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import com.ruoyi.flowable.entity.Matter;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.compliancemanagement.domain.TblContract;
import com.ruoyi.compliancemanagement.domain.bo.TblBusinessWorkflowBo;
import com.ruoyi.compliancemanagement.model.TblContractModel;
import com.ruoyi.compliancemanagement.service.ITblBusinessWorkflowService;
import com.ruoyi.workflow.service.IWfProcessService;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.apache.ibatis.annotations.Param;
import org.flowable.engine.runtime.ProcessInstance;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.annotation.RepeatSubmit;
... ... @@ -22,7 +26,6 @@ import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.compliancemanagement.domain.vo.TblContractVo;
... ... @@ -44,13 +47,14 @@ public class TblContractController extends BaseController {
private final ITblContractService iTblContractService;
private final IWfProcessService iWfProcessService;
private final ITblBusinessWorkflowService iTblBusinessWorkflowService;
/**
* 查询【请填写功能名称】列表
*/
@SaCheckPermission("system:contract:list")
@GetMapping("/list")
public TableDataInfo<TblContractVo> list(TblContractBo bo, PageQuery pageQuery) {
public TableDataInfo<TblContractModel> list(TblContractBo bo, PageQuery pageQuery) {
return iTblContractService.queryPageList(bo, pageQuery);
}
... ... @@ -99,14 +103,15 @@ public class TblContractController extends BaseController {
// return toAjax(iTblContractService.insertByBo(bo));
// }
@Transactional(rollbackFor = Exception.class)
@SaCheckPermission("system:contract:addAndStart")
@Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> addAndStart(
@Validated(AddGroup.class) @RequestBody TblContractBo bo) {
Matter matter = new Matter();
String matterKey = "Process_18tcmzu:1:216d90ff-3f8a-11ef-b7e7-70b5e84e8ddf";
// Matter matter = new Matter();
String procDefId = "Process_18tcmzu:1:040fd586-433c-11ef-b955-421c839c76ba";
iTblContractService.insertByBo(bo);
Long id = bo.getId();
//Long id = sLeaveService.create(studentLeave,matterKey);
... ... @@ -141,11 +146,22 @@ public class TblContractController extends BaseController {
// CollegeMatters mat = iCollegeMattersService.getMatter(matterKey);
// matter.setMatterDept(mat.getMatterDepartmentId());
// variables.put("department", mat.getMatterDepartmentId());
matter.setMatterKey(matterKey);
matter.setBusinessKey(matterKey + "." + id);
matter.setVariables(variables);
matter.setProcessId("Process_18tcmzu:1:216d90ff-3f8a-11ef-b7e7-70b5e84e8ddf");
iWfProcessService.startProcess(matter);
// matter.setMatterKey(procDefId);
// matter.setBusinessKey(procDefId + "." + id);
// matter.setVariables(variables);
// matter.setProcessId("Process_18tcmzu:1:216d90ff-3f8a-11ef-b7e7-70b5e84e8ddf");
// iWfProcessService.startProcess(matter);
ProcessInstance processInstance = iWfProcessService.startProcessByDefId(procDefId, variables);
if(null != processInstance){
TblBusinessWorkflowBo tblBusinessWorkflowBo = new TblBusinessWorkflowBo();
tblBusinessWorkflowBo.setBusinessId(id);
tblBusinessWorkflowBo.setProcInsId(processInstance.getProcessInstanceId());
TableName table = TblContract.class.getAnnotation(TableName.class);
tblBusinessWorkflowBo.setTableName(table.value());
iTblBusinessWorkflowService.insertByBo(tblBusinessWorkflowBo);
// iTblContractService.updateProcInsIdById(processInstance.getProcessInstanceId(),id);
}
return R.ok("成功");
}else{
return R.fail("系统故障!");
... ...
package com.ruoyi.compliancemanagement.domain;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 业务和工作流关联对象 tbl_business_workflow
*
* @author ruoyi
* @date 2024-07-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tbl_business_workflow")
public class TblBusinessWorkflow extends BaseEntity {
private static final long serialVersionUID=1L;
/**
*
*/
private String tableName;
/**
*
*/
private Long businessId;
/**
*
*/
private String procInsId;
/**
*
*/
@TableId(value = "id")
private Long id;
}
... ...
package com.ruoyi.compliancemanagement.domain.bo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 业务和工作流关联业务对象 tbl_business_workflow
*
* @author ruoyi
* @date 2024-07-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class TblBusinessWorkflowBo extends BaseEntity {
/**
*
*/
@NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
private String tableName;
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long businessId;
/**
*
*/
@NotBlank(message = "不能为空", groups = { EditGroup.class })
private String procInsId;
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
}
... ...
package com.ruoyi.compliancemanagement.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;
/**
* 业务和工作流关联视图对象 tbl_business_workflow
*
* @author ruoyi
* @date 2024-07-17
*/
@Data
@ExcelIgnoreUnannotated
public class TblBusinessWorkflowVo {
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private String tableName;
/**
*
*/
@ExcelProperty(value = "")
private Long businessId;
/**
*
*/
@ExcelProperty(value = "")
private String procInsId;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
}
... ...
package com.ruoyi.compliancemanagement.mapper;
import com.ruoyi.compliancemanagement.domain.TblBusinessWorkflow;
import com.ruoyi.compliancemanagement.domain.vo.TblBusinessWorkflowVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
/**
* 业务和工作流关联Mapper接口
*
* @author ruoyi
* @date 2024-07-17
*/
public interface TblBusinessWorkflowMapper extends BaseMapperPlus<TblBusinessWorkflowMapper, TblBusinessWorkflow, TblBusinessWorkflowVo> {
}
... ...
package com.ruoyi.compliancemanagement.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.compliancemanagement.domain.TblContract;
import com.ruoyi.compliancemanagement.domain.bo.TblContractBo;
import com.ruoyi.compliancemanagement.domain.vo.TblContractVo;
import com.ruoyi.compliancemanagement.model.TblContractModel;
import org.apache.ibatis.annotations.Param;
/**
* 【请填写功能名称】Mapper接口
... ... @@ -13,4 +17,6 @@ import com.ruoyi.compliancemanagement.domain.vo.TblContractVo;
*/
public interface TblContractMapper extends BaseMapperPlus<TblContractMapper, TblContract, TblContractVo> {
Page<TblContractModel> selectList(Page<TblContractModel> page, @Param("qc") TblContractBo tblOrderForm);
}
... ...
package com.ruoyi.compliancemanagement.model;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 【请填写功能名称】对象 tbl_contract
*
* @author ruoyi
* @date 2024-07-05
*/
@Data
//@EqualsAndHashCode(callSuper = true)
public class TblContractModel extends BaseEntity {
private static final long serialVersionUID=1L;
/**
* 合同编号
*/
private String contractno;
/**
* 合同名称
*/
private String contractName;
/**
* 合同类型
*/
private String contractType;
/**
* 合同金额
*/
private String contractAmount;
/**
* 生效日期
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date effectiveDate;
/**
* 到期日期
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date expirationDate;
/**
* 甲方
*/
private String partyA;
/**
* 乙方
*/
private String partyB;
/**
* 付款方式
*/
private String paymentMethod;
/**
* 签订日期
*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date signingDate;
/**
* 标的物信息
*/
private String subjectInformation;
/**
* 附件
*/
private String attachments;
/**
*
*/
private Long id;
private String procInsId;
}
... ...
package com.ruoyi.compliancemanagement.service;
import com.ruoyi.compliancemanagement.domain.TblBusinessWorkflow;
import com.ruoyi.compliancemanagement.domain.vo.TblBusinessWorkflowVo;
import com.ruoyi.compliancemanagement.domain.bo.TblBusinessWorkflowBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.Collection;
import java.util.List;
/**
* 业务和工作流关联Service接口
*
* @author ruoyi
* @date 2024-07-17
*/
public interface ITblBusinessWorkflowService {
/**
* 查询业务和工作流关联
*/
TblBusinessWorkflowVo queryById(Long businessId);
/**
* 查询业务和工作流关联列表
*/
TableDataInfo<TblBusinessWorkflowVo> queryPageList(TblBusinessWorkflowBo bo, PageQuery pageQuery);
/**
* 查询业务和工作流关联列表
*/
List<TblBusinessWorkflowVo> queryList(TblBusinessWorkflowBo bo);
/**
* 新增业务和工作流关联
*/
Boolean insertByBo(TblBusinessWorkflowBo bo);
/**
* 修改业务和工作流关联
*/
Boolean updateByBo(TblBusinessWorkflowBo bo);
/**
* 校验并批量删除业务和工作流关联信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}
... ...
... ... @@ -5,6 +5,8 @@ import com.ruoyi.compliancemanagement.domain.vo.TblContractVo;
import com.ruoyi.compliancemanagement.domain.bo.TblContractBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.compliancemanagement.model.TblContractModel;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.List;
... ... @@ -25,7 +27,7 @@ public interface ITblContractService {
/**
* 查询【请填写功能名称】列表
*/
TableDataInfo<TblContractVo> queryPageList(TblContractBo bo, PageQuery pageQuery);
TableDataInfo<TblContractModel> queryPageList(TblContractBo bo, PageQuery pageQuery);
/**
* 查询【请填写功能名称】列表
... ... @@ -46,4 +48,5 @@ public interface ITblContractService {
* 校验并批量删除【请填写功能名称】信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}
... ...
package com.ruoyi.compliancemanagement.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.compliancemanagement.domain.bo.TblBusinessWorkflowBo;
import com.ruoyi.compliancemanagement.domain.vo.TblBusinessWorkflowVo;
import com.ruoyi.compliancemanagement.domain.TblBusinessWorkflow;
import com.ruoyi.compliancemanagement.mapper.TblBusinessWorkflowMapper;
import com.ruoyi.compliancemanagement.service.ITblBusinessWorkflowService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 业务和工作流关联Service业务层处理
*
* @author ruoyi
* @date 2024-07-17
*/
@RequiredArgsConstructor
@Service
public class TblBusinessWorkflowServiceImpl implements ITblBusinessWorkflowService {
private final TblBusinessWorkflowMapper baseMapper;
/**
* 查询业务和工作流关联
*/
@Override
public TblBusinessWorkflowVo queryById(Long businessId){
return baseMapper.selectVoById(businessId);
}
/**
* 查询业务和工作流关联列表
*/
@Override
public TableDataInfo<TblBusinessWorkflowVo> queryPageList(TblBusinessWorkflowBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TblBusinessWorkflow> lqw = buildQueryWrapper(bo);
Page<TblBusinessWorkflowVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询业务和工作流关联列表
*/
@Override
public List<TblBusinessWorkflowVo> queryList(TblBusinessWorkflowBo bo) {
LambdaQueryWrapper<TblBusinessWorkflow> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<TblBusinessWorkflow> buildQueryWrapper(TblBusinessWorkflowBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<TblBusinessWorkflow> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getTableName()), TblBusinessWorkflow::getTableName, bo.getTableName());
return lqw;
}
/**
* 新增业务和工作流关联
*/
@Override
public Boolean insertByBo(TblBusinessWorkflowBo bo) {
TblBusinessWorkflow add = BeanUtil.toBean(bo, TblBusinessWorkflow.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setBusinessId(add.getBusinessId());
}
return flag;
}
/**
* 修改业务和工作流关联
*/
@Override
public Boolean updateByBo(TblBusinessWorkflowBo bo) {
TblBusinessWorkflow update = BeanUtil.toBean(bo, TblBusinessWorkflow.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(TblBusinessWorkflow entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 批量删除业务和工作流关联
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}
... ...
... ... @@ -7,6 +7,7 @@ import com.ruoyi.common.core.domain.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.compliancemanagement.model.TblContractModel;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import com.ruoyi.compliancemanagement.domain.bo.TblContractBo;
... ... @@ -43,9 +44,12 @@ public class TblContractServiceImpl implements ITblContractService {
* 查询【请填写功能名称】列表
*/
@Override
public TableDataInfo<TblContractVo> queryPageList(TblContractBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TblContract> lqw = buildQueryWrapper(bo);
Page<TblContractVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
public TableDataInfo<TblContractModel> queryPageList(TblContractBo bo, PageQuery pageQuery) {
// LambdaQueryWrapper<TblContract> lqw = buildQueryWrapper(bo);
// Page<TblContractVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// return TableDataInfo.build(result);
// LambdaQueryWrapper<TblContract> lqw = buildQueryWrapper(bo);
Page<TblContractModel> result = baseMapper.selectList(pageQuery.build(),bo);
return TableDataInfo.build(result);
}
... ...
... ... @@ -8,6 +8,7 @@ import com.ruoyi.flowable.entity.Matter;
import com.ruoyi.workflow.domain.vo.WfDefinitionVo;
import com.ruoyi.workflow.domain.vo.WfDetailVo;
import com.ruoyi.workflow.domain.vo.WfTaskVo;
import org.flowable.engine.runtime.ProcessInstance;
import java.util.List;
import java.util.Map;
... ... @@ -86,7 +87,7 @@ public interface IWfProcessService {
* @param procDefId 流程定义ID
* @param variables 扩展参数
*/
void startProcessByDefId(String procDefId, Map<String, Object> variables);
ProcessInstance startProcessByDefId(String procDefId, Map<String, Object> variables);
/**
* 通过DefinitionKey启动流程
... ...
... ... @@ -583,11 +583,12 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
*/
@Override
@Transactional(rollbackFor = Exception.class)
public void startProcessByDefId(String procDefId, Map<String, Object> variables) {
public ProcessInstance startProcessByDefId(String procDefId, Map<String, Object> variables) {
try {
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
.processDefinitionId(procDefId).singleResult();
startProcess(processDefinition, variables);
ProcessInstance processInstance= startProcess(processDefinition, variables);
return processInstance;
} catch (Exception e) {
e.printStackTrace();
throw new ServiceException("流程启动错误");
... ... @@ -704,7 +705,7 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
/**
* 启动流程实例
*/
private void startProcess(ProcessDefinition procDef, Map<String, Object> variables) {
private ProcessInstance startProcess(ProcessDefinition procDef, Map<String, Object> variables) {
if (ObjectUtil.isNotNull(procDef) && procDef.isSuspended()) {
throw new ServiceException("流程已被挂起,请先激活流程");
}
... ... @@ -718,6 +719,8 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
ProcessInstance processInstance = runtimeService.startProcessInstanceById(procDef.getId(), variables);
// 第一个用户任务为发起人,则自动完成任务
wfTaskService.startFirstTask(processInstance, variables);
return processInstance;
}
... ...
<?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.ruoyi.compliancemanagement.mapper.TblBusinessWorkflowMapper">
<resultMap type="com.ruoyi.compliancemanagement.domain.TblBusinessWorkflow" id="TblBusinessWorkflowResult">
<result property="tableName" column="table_name"/>
<result property="businessId" column="business_id"/>
<result property="procInsId" column="proc_ins_id"/>
<result property="id" column="id"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
</mapper>
... ...
... ... @@ -5,20 +5,74 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<mapper namespace="com.ruoyi.compliancemanagement.mapper.TblContractMapper">
<resultMap type="com.ruoyi.compliancemanagement.domain.TblContract" id="TblContractResult">
<result property="Contractno" column="Contractno"/>
<result property="ContractName" column="ContractName"/>
<result property="ContractType" column="ContractType"/>
<result property="ContractAmount" column="ContractAmount"/>
<result property="EffectiveDate" column="EffectiveDate"/>
<result property="ExpirationDate" column="ExpirationDate"/>
<result property="PartyA" column="PartyA"/>
<result property="PartyB" column="PartyB"/>
<result property="PaymentMethod" column="PaymentMethod"/>
<result property="SigningDate" column="SigningDate"/>
<result property="SubjectInformation" column="SubjectInformation"/>
<result property="Attachments" column="Attachments"/>
<result property="id" column="id"/>
<result property="contractno" column="contractno"/>
<result property="contractName" column="contract_name"/>
<result property="contractType" column="contract_type"/>
<result property="contractAmount" column="contract_amount"/>
<result property="effectiveDate" column="effective_date"/>
<result property="expirationDate" column="expiration_date"/>
<result property="partyA" column="party_a"/>
<result property="partyB" column="party_b"/>
<result property="paymentMethod" column="payment_method"/>
<result property="signingDate" column="signing_date"/>
<result property="subjectInformation" column="subject_information"/>
<result property="attachments" column="attachments"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="procInsId" column="proc_ins_id"/>
</resultMap>
<resultMap type="com.ruoyi.compliancemanagement.model.TblContractModel" id="TblContractModelResult">
<result property="id" column="id"/>
<result property="contractno" column="contractno"/>
<result property="contractName" column="contract_name"/>
<result property="contractType" column="contract_type"/>
<result property="contractAmount" column="contract_amount"/>
<result property="effectiveDate" column="effective_date"/>
<result property="expirationDate" column="expiration_date"/>
<result property="partyA" column="party_a"/>
<result property="partyB" column="party_b"/>
<result property="paymentMethod" column="payment_method"/>
<result property="signingDate" column="signing_date"/>
<result property="subjectInformation" column="subject_information"/>
<result property="attachments" column="attachments"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="procInsId" column="proc_ins_id"/>
</resultMap>
<select id="selectList" resultMap="TblContractModelResult">
SELECT
a.id,
a.contractno,
a.contract_name,
a.contract_type,
a.contract_amount,
a.effective_date,
expiration_date,
a.party_a,
a.party_b,
a.payment_method,
a.signing_date,
a.subject_information,
a.attachments,
a.create_by,
a.create_time,
a.update_by,
a.update_time,b.proc_ins_id
FROM
tbl_contract a
LEFT JOIN tbl_business_workflow b ON a.id = b.business_id
where 1=1
<if test="qc.contractno!=null and qc.contractno !=''">
and a.contractno like concat('%',#{qc.contractno},'%')
</if>
<if test="qc.contractName!=null and qc.contractName !=''">
and a.contract_name like concat('%',#{qc.contractName},'%')
</if>
order by a.create_time desc
</select>
</mapper>
... ...