Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClstemplateServiceImpl.java
@@ -487,30 +487,30 @@
      }
      //需要新增的升级模板
//      ClientBusinessObject clientBusinessObject_template = boService.selectCBOByOid(codeClassifyDTO.getOid(), "codeclstemplate");
      CodeClassifyTemplate codeCls_template = baseMapper.selectById(templateOldOid);
      CodeClassifyTemplate codeCls_template_insert = new CodeClassifyTemplate();
//         ClientBusinessObject clientBusinessObject_template_insert = null;
//      try {
//         clientBusinessObject_template_insert = clientBusinessObjectOperation.reviseBusinessObject(clientBusinessObject_template, "");
      codeCls_template_insert.setOid(VciBaseUtil.getPk());
      codeCls_template_insert.setRevisionOid(VciBaseUtil.getPk());
      codeCls_template_insert.setNameOid(codeCls_template.getNameOid());
      codeCls_template_insert.setBtmname(codeCls_template.getBtmname());
      codeCls_template_insert.setLastR(String.valueOf(1));
      codeCls_template_insert.setFirstR(String.valueOf(0));
      codeCls_template_insert.setFirstR(String.valueOf(1));
      codeCls_template_insert.setFirstV(String.valueOf(1));
      codeCls_template_insert.setLastV(String.valueOf(1));
      codeCls_template_insert.setCreator(AuthUtil.getUser().getUserName());
      codeCls_template_insert.setCreateTime(new Date());
      codeCls_template_insert.setTs(new Date());
      codeCls_template_insert.setLastModifier(AuthUtil.getUser().getUserName());
      codeCls_template_insert.setLastModifyTime(new Date());
      codeCls_template_insert.setRevisionRule(codeCls_template.getRevisionRule());
      codeCls_template_insert.setVersionRule(codeCls_template.getVersionRule());
      codeCls_template_insert.setBtmTypeId(codeCls_template.getBtmTypeId());
      codeCls_template_insert.setBtmTypeName(codeCls_template.getBtmTypeName());
      codeCls_template_insert.setCodeClassifyOid(codeCls_template.getCodeClassifyOid());
      codeCls_template_insert.setCodeClassifyOidName(codeCls_template.getCodeClassifyOidName());
      Map rvObj = baseMapper.getNextRevision(codeCls_template.getNameOid());
      codeCls_template_insert.setRevisionSeq(Integer.parseInt(rvObj.get("REVISIONSEQ").toString()));
      codeCls_template_insert.setRevisionValue(rvObj.get("REVISIONVAL").toString());
//         VersionValueObject versionObj = this.getVersionValue(item.verRuleName);
      codeCls_template_insert.setVersionSeq(Integer.parseInt(rvObj.get("VERSIONSEQ").toString()));
      codeCls_template_insert.setVersionValue(rvObj.get("VERSIONVAL").toString());
      codeCls_template_insert.setLctid(codeCls_template.getLctid());
@@ -519,35 +519,18 @@
      codeCls_template_insert.setName(codeCls_template.getName());
      codeCls_template_insert.setDescription(codeCls_template.getDescription());
      codeCls_template_insert.setOwner(AuthUtil.getUser().getUserName());
//         codeCls_template_insert.setCheckinBy(userName);
      codeCls_template_insert.setCopyFromVersion(codeCls_template.getOid());
//      }catch (VCIError e){
//         e.printStackTrace();
//         logger.error("===============>分类模板-升版复制出错oid: "+templateOldOid+",mes"+e.error_message);
//         return BaseResult.error("升版出错");
//      }
      int insertCount = baseMapper.insert(codeCls_template_insert);
//      CodeClstemplateEntity codeClassifyTemplateDO = new CodeClstemplateEntity();
//      BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyDTO,codeClassifyTemplateDO);
//      WebUtil.copyValueToObjectFromCbos(clientBusinessObject_template_insert,codeClassifyTemplateDO);
      //modify by weidy@2022-2-27
      //升版后不能使用insert方法,因为那个永远是新增一条数据,
      //上方先从dto转给do,然后把升版的初始化的属性拷贝给do,最后再从do拷贝到cbo上
//      WebUtil.copyValueToCboFromObj(clientBusinessObject_template_insert,codeClassifyTemplateDO);
      //升版过后的模板oid
      String templateNewOid = codeCls_template_insert.getOid();
      //需要复制的模板属性
      //查询老模板下边的所有属性,赋值新模板oid
//      VciQueryWrapperForDO codeClassifyTemplateAttrQuery = new VciQueryWrapperForDO(CodeClassifyTemplateAttrDO.class);
//      codeClassifyTemplateAttrQuery.addQueryMap("classifyTemplateOid",templateOldOid);
      Map<String,Object> condition = new HashMap<>(1);
      condition.put("classifyTemplateOid",templateOldOid);
      List<CodeClassifyTemplateAttr> codeClstempattrEntities = codeClstempattrMapper.selectByMap(condition);
//      List<CodeClassifyTemplateAttrDO> codeClassifyTemplateAttrDOList = codeClassifyTemplateAttrDaoI.selectByWrapper(codeClassifyTemplateAttrQuery);
      for (CodeClassifyTemplateAttr codeClassifyTemplateAttrDO :codeClstempattrEntities){
//         String attrOid = VciBaseUtil.getPk();
         codeClassifyTemplateAttrDO.setOid(null);
         codeClassifyTemplateAttrDO.setOid(VciBaseUtil.getPk());
         codeClassifyTemplateAttrDO.setClassifyTemplateOid(templateNewOid);
         codeClstempattrMapper.insert(codeClassifyTemplateAttrDO);
      }
@@ -563,54 +546,23 @@
      //复制模板按钮
      List<CodeClassifyTemplateButton> codeClassifyTemplateButtonDOList = copyTemplateButton(templateOldOid,templateNewOid);
      //一起保存数据
//      WebUtil.setPersistence(false);//不执行保存
      //保存模板——
//      BatchCBO batchCBOTemplate = new BatchCBO();
      //batchCBO保存的时候没有能够自动update源数据的isLastR
      //batchCBOTemplate.getCreateCbos().add(clientBusinessObject_template_insert);
      //使用saveRevisionBuisnessObject可以解决这个问题,这里先暂时执行两次保存
//      try {
//         clientBusinessObjectOperation.saveRevisionBuinessObject(clientBusinessObject_template_insert);
//      } catch (VCIError vciError) {
//         throw new VciBaseException("升版保存出错了",new String[0],vciError);
//      }
      // end --modify by lihang @20220408
      //codeClassifyTemplateMapper.insert(codeClassifyTemplateDO);
      //保存模板属性
//      if(!CollectionUtils.isEmpty(codeClassifyTemplateAttrDOList)){
//         BatchCBO batchCBOTemplateAttr = codeClassifyTemplateAttrDaoI.batchInsert(codeClassifyTemplateAttrDOList);
//         batchCBOTemplate.copyFromOther(batchCBOTemplateAttr);
//      }
//
//      //保存模板流程
//      if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) {
//         BatchCBO batchCBOTemplateProcessAttr = codeClassifyProcessTempDaoI.batchInsert(codeClassifyProcessTempDOList);
//         batchCBOTemplate.copyFromOther(batchCBOTemplateProcessAttr);
//      }
//      //模板阶段
//      if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) {
//         BatchCBO batchCBOTemplatePhaseAttr = codeTemplatePhaseDaoI.batchInsert(codeClassifyPhaseDOList);
//         batchCBOTemplate.copyFromOther(batchCBOTemplatePhaseAttr);
//      }
//
//      //模板阶段属性
//      if(!CollectionUtils.isEmpty(codePhaseAttrDOList)) {
//         BatchCBO batchCBOTemplatePhaseAttrAttr = codePhaseAttrDaoI.batchInsert(codePhaseAttrDOList);
//         batchCBOTemplate.copyFromOther(batchCBOTemplatePhaseAttrAttr);
//      }
//
//      //模板按钮
//      if(!CollectionUtils.isEmpty(codeClassifyTemplateButtonDOList)) {
//         BatchCBO batchCBOTemplateButtonAttr = codeClassifyTemplateButtonDaoI.batchInsert(codeClassifyTemplateButtonDOList);
//         batchCBOTemplate.copyFromOther(batchCBOTemplateButtonAttr);
//      }
//
//      WebUtil.setPersistence(true);//执行保存
//
//      boService.persistenceBatch(batchCBOTemplate);//一起执行保存
      //保存模板流程
      if(!CollectionUtils.isEmpty(codeClassifyProcessTempDOList)) {
         codeClsflowtempServiceImpl.saveBatch(codeClassifyProcessTempDOList);
      }
      //模板阶段
      if(!CollectionUtils.isEmpty(codeClassifyPhaseDOList)) {
         codeTempphaseServiceImpl.saveBatch(codeClassifyPhaseDOList);
      }
//      return BaseResult.success("升版成功!");
      //模板阶段属性
      if(!CollectionUtils.isEmpty(codePhaseAttrDOList)) {
         codePhaseattrServiceImpl.saveBatch(codePhaseAttrDOList);
      }
//      //模板按钮
      if(!CollectionUtils.isEmpty(codeClassifyTemplateButtonDOList)) {
         codeTempbuttonServiceImpl.saveBatch(codeClassifyTemplateButtonDOList);
      }
      return R.success("升版成功!");
   }
@@ -858,6 +810,7 @@
    * @return 显示对象
    * @throws VciBaseException 查询出错的时候会抛出异常
    */
   @Override
   public DataGrid<CodeClassifyTemplateVO> gridCodeClassifyTemplate(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException {
      DataGrid<CodeClassifyTemplateVO> dataGrid=new DataGrid<CodeClassifyTemplateVO>();
      //没有传分类id,不执行查询逻辑,直接返回
@@ -941,6 +894,7 @@
      //设置btmtypeid和name
      CodeClassify codeClassifyDO = codeClassifyDOList.get(0);
      codeClassifyTemplateDO.setBtmTypeId(codeClassifyDO.getBtmTypeId());
      codeClassifyTemplateDO.setNameOid(VciBaseUtil.getPk());
      codeClassifyTemplateDO.setBtmTypeName(codeClassifyDO.getBtmTypeName());
      codeClassifyTemplateDO.setLcStatus(FRAMEWORK_RELEASE_EDITING);
      codeClassifyTemplateDO.setTs(new Date());