田源
2023-08-02 3714d4df9a79814b4f9504173b3984617f3f2815
Merge remote-tracking branch 'origin/master'
已修改6个文件
119 ■■■■ 文件已修改
Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClient.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClientFallback.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/FlowClient.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClient.java
@@ -16,7 +16,9 @@
 */
package com.vci.ubcs.flow.core.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.vci.ubcs.flow.core.entity.BladeFlow;
import com.vci.ubcs.flow.core.entity.ProcessTemplate;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.tool.api.R;
import org.springframework.cloud.openfeign.FeignClient;
@@ -25,6 +27,7 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
import java.util.Map;
/**
@@ -44,6 +47,8 @@
    String COMPLETE_TASK = API_PREFIX + "/complete-task";
    String TASK_VARIABLE = API_PREFIX + "/task-variable";
    String TASK_VARIABLES = API_PREFIX + "/task-variables";
    String SELECT_BY_WRAPPER = API_PREFIX + "/select-by-wrapper";
    String PROCESS_BATCH_SAVE = API_PREFIX + "/PROCESS-BATCH-SAVE";
    /**
     * 开启流程
@@ -97,4 +102,23 @@
     */
    @GetMapping(TASK_VARIABLES)
    R<Map<String, Object>> taskVariables(@RequestParam("taskId") String taskId);
    /**
     * 查询数据wrapper方式
     *
     * @param wrapperMap 条件
     * @return R
     */
    @PostMapping(SELECT_BY_WRAPPER)
    R<List<ProcessTemplate>> selectByWrapper(@RequestBody Map<String,Object> wrapperMap);
    /**
     * 批量保存流程数据
     *
     * @param listProcessTemplate 保存数据
     * @return R
     */
    @PostMapping(PROCESS_BATCH_SAVE)
    R processBatchSave(@RequestBody List<ProcessTemplate> listProcessTemplate);
}
Source/UBCS/ubcs-ops-api/ubcs-flow-api/src/main/java/com/vci/ubcs/flow/core/feign/IFlowClientFallback.java
@@ -16,10 +16,13 @@
 */
package com.vci.ubcs.flow.core.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.vci.ubcs.flow.core.entity.BladeFlow;
import com.vci.ubcs.flow.core.entity.ProcessTemplate;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
@@ -55,4 +58,14 @@
        return R.fail("远程调用失败");
    }
    @Override
    public R<List<ProcessTemplate>> selectByWrapper( Map<String,Object> wrapperMap) {
        return R.fail("远程调用失败");
    }
    @Override
    public R processBatchSave(List<ProcessTemplate> listProcessTemplate) {
        return R.fail("远程调用失败");
    }
}
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/business/feign/FlowClient.java
@@ -16,9 +16,12 @@
 */
package com.vci.ubcs.flow.business.feign;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.vci.ubcs.flow.core.entity.BladeFlow;
import com.vci.ubcs.flow.core.entity.ProcessTemplate;
import com.vci.ubcs.flow.core.feign.IFlowClient;
import com.vci.ubcs.flow.core.utils.TaskUtil;
import com.vci.ubcs.flow.engine.service.ProcessTemplateService;
import lombok.AllArgsConstructor;
import org.flowable.engine.IdentityService;
import org.flowable.engine.RuntimeService;
@@ -34,6 +37,7 @@
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
@@ -49,6 +53,7 @@
    private final RuntimeService runtimeService;
    private final IdentityService identityService;
    private final TaskService taskService;
    private final ProcessTemplateService processTemplateService;
    @Override
    @PostMapping(START_PROCESS_INSTANCE_BY_ID)
@@ -104,4 +109,33 @@
        return R.data(taskService.getVariables(taskId));
    }
    /**
     * 查询数据wrapper方式
     *
     * @param wrapperMap 条件
     * @return R
     */
    @Override
    @PostMapping(SELECT_BY_WRAPPER)
    public R<List<ProcessTemplate>> selectByWrapper(@RequestBody Map<String,Object> wrapperMap){
        return R.data(processTemplateService.listByMap(wrapperMap));
    }
    /**
     * 批量保存流程数据
     *
     * @param listProcessTemplate 保存数据
     * @return R
     */
    @Override
    @PostMapping(PROCESS_BATCH_SAVE)
    public R processBatchSave(@RequestBody List<ProcessTemplate> listProcessTemplate) {
        if(listProcessTemplate.size() == 0){
            return R.fail("为传入数据,请检查!");
        }
        boolean b = processTemplateService.saveBatch(listProcessTemplate);
        return R.data(b);
    }
}
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -31,6 +31,8 @@
import com.vci.ubcs.code.service.ICodeClstemplateService;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
import com.vci.ubcs.flow.core.entity.ProcessTemplate;
import com.vci.ubcs.flow.core.feign.IFlowClient;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
@@ -106,6 +108,8 @@
    private CodeClassifyTemplateMapper codeClassifyTemplateMapper;
    @Autowired(required = false)
    private CodePhaseAttrServiceImpl codePhaseattrServiceImpl;
    @Autowired(required = false)
    private IFlowClient iFlowClient;
    @Override
    public IPage<CodeClassifyTemplateVO> selectPlCodeClstemplatePage(IPage<CodeClassifyTemplateVO> page, CodeClassifyTemplateVO plCodeClstemplate) {
@@ -545,7 +549,7 @@
        }
        //复制模板流程
        List<CodeClassifyProcessTemp>  codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid);
        List<ProcessTemplate>  codeClassifyProcessTempDOList = copyTemplateProcess(templateOldOid,templateNewOid);
        //复制模板阶段,阶段属性
        Map phase_attrMap = copyTemplatePhase_attr(templateOldOid,templateNewOid);
@@ -557,7 +561,7 @@
        //保存模板流程
        if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) {
            codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList);
            iFlowClient.processBatchSave(codeClassifyProcessTempDOList);
        }
        //模板阶段
        if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) {
@@ -619,7 +623,7 @@
        List<CodeClassifyTemplateAttr> codeClassifyTemplateAttrDOList = copyTemplateAttr(oldOid,newOid);
        //复制模板流程
        List<CodeClassifyProcessTemp> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid);
        List<ProcessTemplate> codeClassifyProcessTempDOList = copyTemplateProcess(oldOid,newOid);
        //复制模板阶段,阶段属性
        Map  phase_attrMap = copyTemplatePhase_attr(oldOid,newOid);
@@ -633,7 +637,7 @@
//        baseMapper.insert(codeClassifyTemplateDOList);
        this.saveBatch(codeClassifyTemplateDOList);
        codeTempbuttonServiceImpl.saveBatch(codeClassifyTemplateButtonDOList);
        codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList);
        iFlowClient.processBatchSave(codeClassifyProcessTempDOList);
        codeClstempattrService.saveBatch(codeClassifyTemplateAttrDOList);
        codeTempphaseServiceImpl.saveBatch(codeClassifyPhaseDOList);
        codePhaseattrServiceImpl.saveBatch(codePhaseAttrDOList);
@@ -696,22 +700,17 @@
    /**
     * 复制模板流程
     */
    public List<CodeClassifyProcessTemp> copyTemplateProcess(String templateOldOid,String templateNewOid){
//        VciQueryWrapperForDO processWrapper = new VciQueryWrapperForDO(CodeClassifyProcessTempDO.class);
//        processWrapper.addQueryMap("classifyTemplateOid",templateOldOid);
//        Map<String,Object> condition = new HashMap<>(1);
//        condition.put("classifyTemplateOid",templateOldOid);
        QueryWrapper<CodeClassifyProcessTemp> wrapper = new QueryWrapper<>();
        wrapper.eq("classifyTemplateOid",templateOldOid);
        List<CodeClassifyProcessTemp> codeClsflowtempEntities = codeClsflowtempServiceImpl.list(wrapper);
//        List<CodeClassifyProcessTempDO>  codeClassifyProcessTempDOList = codeClassifyProcessTempDaoI.selectByWrapper(processWrapper);//要保存的新的模板流程
        for (CodeClassifyProcessTemp codeClassifyProcessTempDO:codeClsflowtempEntities){
//            String newOid = VciBaseUtil.getPk();
            codeClassifyProcessTempDO.setOid(null);
            //codeClassifyProcessTempDO.setCodeClassifyOid(templateNewOid);
            codeClassifyProcessTempDO.setClassifyTemplateOid(templateNewOid);
//            codeClsflowtempMapper.insert(codeClassifyProcessTempDO);
    public List<ProcessTemplate> copyTemplateProcess(String templateOldOid,String templateNewOid){
        Map<String,Object> wrapperMap = new HashMap();
        wrapperMap.put("template_id",templateOldOid);
        R<List<ProcessTemplate>> listR = iFlowClient.selectByWrapper(wrapperMap);
        if(!listR.isSuccess()){
            throw new VciBaseException("查询模板流程时出错,请重试!");
        }
        List<ProcessTemplate> codeClsflowtempEntities = listR.getData();
        for (ProcessTemplate codeClassifyProcessTempDO:codeClsflowtempEntities){
            codeClassifyProcessTempDO.setId(null);
            codeClassifyProcessTempDO.setTemplateId(templateNewOid);
            //modify by lihang - @20220406 设置模板主键位置出错,导致升版的模板中的流程是空的。
        }
        return codeClsflowtempEntities;
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -360,15 +360,10 @@
            throw new VciBaseException("未查询到相关数据。");
        }
        //还需要修改allCode的生命周期
//        Map<String, String> conditionMap = new HashMap<>();
        QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>();
        allCodeWrapper.eq("createcodebtm", baseModelDTO.getBtmname());
        allCodeWrapper.in("createcodeoid", oids);
//        conditionMap.put("createcodeoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")");
//        conditionMap.put("createcodebtm", baseModelDTO.getBtmname());
        List<CodeAllCode> codeCbos = codeAllCodeService.selectByWrapper(allCodeWrapper);
//        List<ClientBusinessObject> codeCbos = boService.queryCBO(MdmBtmTypeConstant.CODE_ALL_CODE, conditionMap);
        // 回收需要业务数据删除
        List<CodeAllCode> codeCbos = codeAllCodeService.selectByWrapper(allCodeWrapper);// 回收需要业务数据删除
        if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) {
            R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(baseModelDTO.getBtmname()));
            if (!listR.isSuccess() || listR.getData().size() == 0) {
Source/UBCS/ubcs-service/ubcs-omd/src/main/java/com/vci/ubcs/omd/service/impl/BtmAttributeServiceImpl.java
@@ -215,7 +215,7 @@
                // 版本规则字段不能为空
//                vo.setNullableFlag(false);
                vo.setAttributeLength(150);
                if (Arrays.asList("lastr","firstr","lastv","firstv").contains(id)){
                if (Arrays.asList("lastr","firstr","lastv","firstv","revisionseq","versionseq").contains(id)){
                    vo.setAttributeLength(5);
                    vo.setAttrDataType(VciFieldTypeEnum.VTInteger.name());
                }