xiejun
2023-06-19 377ef81de03a4a80d00f3cf1e0d1e2ff85ab7688
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -21,6 +21,7 @@
import com.vci.ubcs.code.vo.webserviceModel.attrmap.RowDatas;
import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO;
import com.vci.ubcs.omd.feign.IBtmTypeClient;
import com.vci.ubcs.omd.feign.IWebSecretClient;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.starter.bo.WriteExcelData;
import com.vci.ubcs.starter.exception.VciBaseException;
@@ -59,6 +60,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.io.File;
@@ -154,6 +156,11 @@
    */
   @Autowired
   private IBtmTypeClient btmTypeClient;
   /***
    * 密级服务
    */
   @Resource
   private IWebSecretClient secretService;
   /**
    * 批量申请:选取选中分类下的所有模板关键属性,相似属性,必填属性,写入execl中
    *
@@ -997,7 +1004,7 @@
         if (isExport||newErrorMap.size() > 0) {
            createRedisDatas(uuid + "-ok", templateVO, rowIndexCboMap, dataSet, fieldIndexMap, newErrorMap, true);
         } else {
            List<String> dataCBOIdList=new ArrayList<>();
            List<BaseModel> dataCBOIdList=new ArrayList<>();
            //SessionInfo sessionInfo = VciBaseUtil.getCurrentUserSessionInfo();
            List<ClientBusinessObject> finalNeedSaveCboList = needSaveCboList;
            CodeClassifyTemplateVO finalTemplateVO = templateVO;
@@ -1011,7 +1018,7 @@
                  BeanUtil.convert(clientBusinessObject,baseModel);
                  baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject));
                  dataCBOList.add(baseModel);
                  dataCBOIdList.add(baseModel.getOid());
                  dataCBOIdList.add(baseModel);
               });
               if (!CollectionUtils.isEmpty(thisCbos)) {
@@ -1338,7 +1345,7 @@
            try {
               codeList = productCodeService.productCodeAndSaveData(classifyFullInfo,templateVO,ruleVO, orderDTO.getSecDTOList(),dataCBOList);
               //如果是编码生成失败,则直接就失败了,其他的判断出来有错误的我们都统一返回到excel里面
               engineService.batchSaveSelectChar(templateVO, dataCBOIdList);
               engineService.batchSaveSelectChar(templateVO, dataCBOList);
            } catch (Exception e) {
               e.printStackTrace();
               log.error("批了申请时失败");
@@ -1427,7 +1434,7 @@
   @Override
   public R batchImportData(List<CodeImprotSaveDatVO> codeImprotSaveDatVOList, String classifyAttr, boolean isImprot) {
      List<String> allNeedSaveCboList=new ArrayList<>();
      List<BaseModel> dataCBOList=new ArrayList<>();
      codeImprotSaveDatVOList.stream().forEach(codeImprotSaveDatVO -> {
         List<SheetRowData> rowDataList = new ArrayList<>();
         List<ClientBusinessObject>cboList=new ArrayList<>();
@@ -1517,13 +1524,13 @@
         log.info("分类:"+classifyFullInfo.getCurrentClassifyVO().getName()+"数据:"+needSaveCboList.size());
         if (!CollectionUtils.isEmpty(needSaveCboList)) {
            List<BaseModel> dataCBOList=new ArrayList<>();
//            List<BaseModel> dataCBOList=new ArrayList<>();
            needSaveCboList.stream().forEach(clientBusinessObject -> {
               BaseModel baseModel=new BaseModel();
               BeanUtil.convert(clientBusinessObject,baseModel);
               baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject));
               dataCBOList.add(baseModel);
               allNeedSaveCboList.add(baseModel.getOid());
//               allNeedSaveCboList.add(baseModel);
            });
            try {
            //9.我们处理业务数据
@@ -1537,7 +1544,7 @@
            }
         }
         //如果是编码生成失败,则直接就失败了,其他的判断出来有错误的我们都统一返回到excel里面
         engineService.batchSaveSelectChar(codeClassifyTemplateVO, allNeedSaveCboList);
         engineService.batchSaveSelectChar(codeClassifyTemplateVO, dataCBOList);
      });
      return  R.success(isImprot?"批量历史导入成功":"批量申请成功");
   }
@@ -1802,7 +1809,7 @@
         try {
            productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), dataCBOList);
            //如果是编码生成失败,则直接就失败了,其他的判断出来有错误的我们都统一返回到excel里面
            engineService.batchSaveSelectChar(templateVO, allNeedSaveCboList);
            engineService.batchSaveSelectChar(templateVO, dataCBOList);
            // if(!isProcess){
            needSaveCboList.stream().forEach(needSaveCbo->{
               XMLResultDataObjectDetailDO resultDataObjectDetailDO=new XMLResultDataObjectDetailDO();
@@ -1859,6 +1866,7 @@
    * @param dataObjectVO 数据信息
    * @param resultDataObjectDetailDOs 错误信息
    */
   @Transactional(rollbackFor = VciBaseException.class)
   @Override
   public void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs) {
      String errorid="";
@@ -2283,10 +2291,10 @@
         }
         int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD));
         /*if (secret == 0 || !secretService.checkDataSecret(secret)) {
         if (secret == 0 || !secretService.checkDataSecret(secret).getData()) {
            Integer userSecret = VciBaseUtil.getCurrentUserSecret();
            cbo.setAttributeValue(SECRET_FIELD, String.valueOf((userSecret == null || userSecret == 0) ? UserSecretEnum.NONE.getValue() : userSecret));
         }*/
         }
      } catch (Throwable e) {
         log.error("设置默认的属性的值错误", e);
      }
@@ -2535,11 +2543,11 @@
               cbo.setAttributeValue(CODE_CLASSIFY_OID_FIELD,classifyFullInfo.getCurrentClassifyVO().getOid());
               cbo.setAttributeValue(CODE_FULL_PATH_FILED,fullPath);
               int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD));
               /*if(secret == 0 || !secretService.checkDataSecret(secret) ){
               if(secret == 0 || !secretService.checkDataSecret(secret).getData() ){
                  Integer userSecret = VciBaseUtil.getCurrentUserSecret();
                  String secretValue= String.valueOf((userSecret==null || userSecret ==0)? UserSecretEnum.NONE.getValue():userSecret);
                  cbo.setAttributeValue(SECRET_FIELD,secretValue);
               }*/
               }
               if(rowData.getStatus().equals(CodeDefaultLC.DISABLE.getValue())){//停用
                  cbo.setLcStatus(CodeDefaultLC.DISABLE.getValue());
               }else if(rowData.getStatus().equals(CodeDefaultLC.EDITING.getValue())){//编辑
@@ -2633,11 +2641,11 @@
               cbo.setAttributeValue(CODE_CLASSIFY_OID_FIELD,classifyFullInfo.getCurrentClassifyVO().getOid());
               cbo.setAttributeValue(CODE_FULL_PATH_FILED,fullPath);
               //cbo.setLcStatus(CodeDefaultLC.EDITING.getValue());
               /*int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD));
               if(secret == 0 || !secretService.checkDataSecret(secret) ){
               int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD));
               if(secret == 0 || !secretService.checkDataSecret(secret).getData() ){
                  Integer userSecret = VciBaseUtil.getCurrentUserSecret();
                  cbo.setAttributeValue(SECRET_FIELD,String.valueOf((userSecret==null || userSecret ==0)? UserSecretEnum.NONE.getValue():userSecret));
               }*/
               }
            }else{
               //此时还没有转换路径
               //cbo.setAttributeValue(CODE_FULL_PATH_FILED, childOidPathMap.getOrDefault(rowData.getData().getOrDefault(CODE_CLASSIFY_OID_FIELD,""),fullPath));
@@ -2690,10 +2698,10 @@
               cbo.setAttributeValue(CODE_FULL_PATH_FILED,fullPath);
               //cbo.setLcStatus(CodeDefaultLC.EDITING.getValue());
               int secret = VciBaseUtil.getInt(cbo.getAttributeValue(SECRET_FIELD));
               /*if(secret == 0 || !secretService.checkDataSecret(secret) ){
               if(secret == 0 || !secretService.checkDataSecret(secret).getData() ){
                  Integer userSecret = VciBaseUtil.getCurrentUserSecret();
                  cbo.setAttributeValue(SECRET_FIELD,String.valueOf((userSecret==null || userSecret ==0)? UserSecretEnum.NONE.getValue():userSecret));
               }*/
               }
            }else{
               //此时还没有转换路径
               //cbo.setAttributeValue(CODE_FULL_PATH_FILED, childOidPathMap.getOrDefault(rowData.getData().getOrDefault(CODE_CLASSIFY_OID_FIELD,""),fullPath));