fix -- 修改查询表单方法,以兼容oracle数据库

This commit is contained in:
konbai
2022-03-27 17:59:44 +08:00
parent baec5bcc13
commit 189a6fa9ff
7 changed files with 34 additions and 11 deletions

View File

@@ -39,7 +39,7 @@ public class WfDeployController extends BaseController {
@ApiOperation(value = "查询流程部署关联表单信息")
@GetMapping("/form/{deployId}")
public R<?> start(@ApiParam(value = "流程部署id") @PathVariable(value = "deployId") String deployId) {
WfFormVo formVo = deployFormService.selectSysDeployFormByDeployId(deployId);
WfFormVo formVo = deployFormService.selectDeployFormByDeployId(deployId);
if (Objects.isNull(formVo)) {
return R.fail("请先配置流程表单");
}

View File

@@ -1,8 +1,13 @@
package com.ruoyi.workflow.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.workflow.domain.WfForm;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 流程表单Mapper接口
@@ -12,5 +17,5 @@ import com.ruoyi.workflow.domain.vo.WfFormVo;
*/
public interface WfFormMapper extends BaseMapperPlus<WfFormMapper, WfForm, WfFormVo> {
WfFormVo selectFormByDeployId(String deployId);
List<WfFormVo> selectFormVoList(@Param(Constants.WRAPPER) Wrapper<WfForm> queryWrapper);
}

View File

@@ -25,5 +25,5 @@ public interface IWfDeployFormService {
* @param deployId
* @return
*/
WfFormVo selectSysDeployFormByDeployId(String deployId);
WfFormVo selectDeployFormByDeployId(String deployId);
}

View File

@@ -11,8 +11,8 @@ import com.ruoyi.flowable.common.enums.FlowComment;
import com.ruoyi.flowable.factory.FlowServiceFactory;
import com.ruoyi.workflow.domain.vo.WfDefinitionVo;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.mapper.WfFormMapper;
import com.ruoyi.workflow.service.IWfDefinitionService;
import com.ruoyi.workflow.service.IWfDeployFormService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
@@ -44,7 +44,7 @@ import java.util.stream.Collectors;
@Slf4j
public class WfDefinitionServiceImpl extends FlowServiceFactory implements IWfDefinitionService {
private final WfFormMapper formMapper;
private final IWfDeployFormService deployFormService;
private static final String BPMN_FILE_SUFFIX = ".bpmn";
@@ -89,7 +89,7 @@ public class WfDefinitionServiceImpl extends FlowServiceFactory implements IWfDe
vo.setCategory(processDefinition.getCategory());
vo.setDeploymentId(processDefinition.getDeploymentId());
vo.setSuspended(processDefinition.isSuspended());
WfFormVo formVo = formMapper.selectFormByDeployId(deploymentId);
WfFormVo formVo = deployFormService.selectDeployFormByDeployId(deploymentId);
if (Objects.nonNull(formVo)) {
vo.setFormId(formVo.getFormId());
vo.setFormName(formVo.getFormName());

View File

@@ -1,7 +1,12 @@
package com.ruoyi.workflow.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.workflow.domain.WfDeployForm;
import com.ruoyi.workflow.domain.WfForm;
import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.mapper.WfDeployFormMapper;
import com.ruoyi.workflow.mapper.WfFormMapper;
@@ -10,6 +15,8 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 流程实例关联表单Service业务层处理
*
@@ -46,7 +53,18 @@ public class WfDeployFormServiceImpl implements IWfDeployFormService {
* @return
*/
@Override
public WfFormVo selectSysDeployFormByDeployId(String deployId) {
return formMapper.selectFormByDeployId(deployId);
public WfFormVo selectDeployFormByDeployId(String deployId) {
QueryWrapper<WfForm> wrapper = Wrappers.query();
wrapper.eq("t2.deploy_id", deployId);
List<WfFormVo> list = formMapper.selectFormVoList(wrapper);
if (ObjectUtil.isNotEmpty(list)) {
if (list.size() != 1) {
throw new ServiceException("表单信息查询错误");
} else {
return list.get(0);
}
} else {
return null;
}
}
}

View File

@@ -738,7 +738,7 @@ public class WfTaskServiceImpl extends FlowServiceFactory implements IWfTaskServ
}
// 第一次申请获取初始化表单
if (StringUtils.isNotBlank(deployId)) {
WfFormVo formVo = deployFormService.selectSysDeployFormByDeployId(deployId);
WfFormVo formVo = deployFormService.selectDeployFormByDeployId(deployId);
if (Objects.isNull(formVo)) {
throw new ServiceException("请先配置流程表单");
}

View File

@@ -15,13 +15,13 @@
<result property="remark" column="remark"/>
</resultMap>
<select id="selectFormByDeployId" resultType="com.ruoyi.workflow.domain.vo.WfFormVo">
<select id="selectFormVoList" resultType="com.ruoyi.workflow.domain.vo.WfFormVo">
SELECT
t1.form_id AS formId,
t1.form_name AS formName,
t1.content AS content
FROM wf_form t1
LEFT JOIN wf_deploy_form t2 ON t1.form_id = t2.form_id
WHERE t2.deploy_id = #{deployId} limit 1
${ew.getCustomSqlSegment}
</select>
</mapper>