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 = "查询流程部署关联表单信息") @ApiOperation(value = "查询流程部署关联表单信息")
@GetMapping("/form/{deployId}") @GetMapping("/form/{deployId}")
public R<?> start(@ApiParam(value = "流程部署id") @PathVariable(value = "deployId") String 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)) { if (Objects.isNull(formVo)) {
return R.fail("请先配置流程表单"); return R.fail("请先配置流程表单");
} }

View File

@@ -1,8 +1,13 @@
package com.ruoyi.workflow.mapper; 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.common.core.mapper.BaseMapperPlus;
import com.ruoyi.workflow.domain.WfForm; import com.ruoyi.workflow.domain.WfForm;
import com.ruoyi.workflow.domain.vo.WfFormVo; import com.ruoyi.workflow.domain.vo.WfFormVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 流程表单Mapper接口 * 流程表单Mapper接口
@@ -12,5 +17,5 @@ import com.ruoyi.workflow.domain.vo.WfFormVo;
*/ */
public interface WfFormMapper extends BaseMapperPlus<WfFormMapper, WfForm, 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 * @param deployId
* @return * @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.flowable.factory.FlowServiceFactory;
import com.ruoyi.workflow.domain.vo.WfDefinitionVo; import com.ruoyi.workflow.domain.vo.WfDefinitionVo;
import com.ruoyi.workflow.domain.vo.WfFormVo; import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.mapper.WfFormMapper;
import com.ruoyi.workflow.service.IWfDefinitionService; import com.ruoyi.workflow.service.IWfDefinitionService;
import com.ruoyi.workflow.service.IWfDeployFormService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
@@ -44,7 +44,7 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
public class WfDefinitionServiceImpl extends FlowServiceFactory implements IWfDefinitionService { public class WfDefinitionServiceImpl extends FlowServiceFactory implements IWfDefinitionService {
private final WfFormMapper formMapper; private final IWfDeployFormService deployFormService;
private static final String BPMN_FILE_SUFFIX = ".bpmn"; private static final String BPMN_FILE_SUFFIX = ".bpmn";
@@ -89,7 +89,7 @@ public class WfDefinitionServiceImpl extends FlowServiceFactory implements IWfDe
vo.setCategory(processDefinition.getCategory()); vo.setCategory(processDefinition.getCategory());
vo.setDeploymentId(processDefinition.getDeploymentId()); vo.setDeploymentId(processDefinition.getDeploymentId());
vo.setSuspended(processDefinition.isSuspended()); vo.setSuspended(processDefinition.isSuspended());
WfFormVo formVo = formMapper.selectFormByDeployId(deploymentId); WfFormVo formVo = deployFormService.selectDeployFormByDeployId(deploymentId);
if (Objects.nonNull(formVo)) { if (Objects.nonNull(formVo)) {
vo.setFormId(formVo.getFormId()); vo.setFormId(formVo.getFormId());
vo.setFormName(formVo.getFormName()); vo.setFormName(formVo.getFormName());

View File

@@ -1,7 +1,12 @@
package com.ruoyi.workflow.service.impl; 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.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.WfDeployForm;
import com.ruoyi.workflow.domain.WfForm;
import com.ruoyi.workflow.domain.vo.WfFormVo; import com.ruoyi.workflow.domain.vo.WfFormVo;
import com.ruoyi.workflow.mapper.WfDeployFormMapper; import com.ruoyi.workflow.mapper.WfDeployFormMapper;
import com.ruoyi.workflow.mapper.WfFormMapper; import com.ruoyi.workflow.mapper.WfFormMapper;
@@ -10,6 +15,8 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* 流程实例关联表单Service业务层处理 * 流程实例关联表单Service业务层处理
* *
@@ -46,7 +53,18 @@ public class WfDeployFormServiceImpl implements IWfDeployFormService {
* @return * @return
*/ */
@Override @Override
public WfFormVo selectSysDeployFormByDeployId(String deployId) { public WfFormVo selectDeployFormByDeployId(String deployId) {
return formMapper.selectFormByDeployId(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)) { if (StringUtils.isNotBlank(deployId)) {
WfFormVo formVo = deployFormService.selectSysDeployFormByDeployId(deployId); WfFormVo formVo = deployFormService.selectDeployFormByDeployId(deployId);
if (Objects.isNull(formVo)) { if (Objects.isNull(formVo)) {
throw new ServiceException("请先配置流程表单"); throw new ServiceException("请先配置流程表单");
} }

View File

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