From c3c9baf912f572a78b2b82613d31889be187ab92 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期一, 03 七月 2023 23:53:56 +0800 Subject: [PATCH] 历史导入修改 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java | 94 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 73 insertions(+), 21 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java index b3a2929..90a9ab3 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java @@ -196,7 +196,7 @@ String field=codetemplateAttr.getId(); String name=codetemplateAttr.getName(); CodeClassifyTemplateAttrVO codeBaseAttributeDTO=new CodeClassifyTemplateAttrVO(); - boolean res=codetemplateAttr.getAttributeGroup().equals(BATCHADD_EXCEPORT_ATTR_TYPE)//鍩烘湰灞炴�у瓧娈垫樉绀� + boolean res=(StringUtils.isNotBlank(codetemplateAttr.getAttributeGroup())&& codetemplateAttr.getAttributeGroup().equals(BATCHADD_EXCEPORT_ATTR_TYPE))//鍩烘湰灞炴�у瓧娈垫樉绀� ||(StringUtils.isNotBlank(codetemplateAttr.getKeyAttrFlag())&&Boolean.parseBoolean(codetemplateAttr.getKeyAttrFlag()))//鍏抽敭灞炴�х殑瀛樺叆 ||(StringUtils.isNotBlank(codetemplateAttr.getSameRepeatAttrFlag())&&Boolean.parseBoolean(codetemplateAttr.getSameRepeatAttrFlag())) //鐩镐技灞炴�х殑瀛樺叆 ||(StringUtils.isNotBlank(codetemplateAttr.getRequireFlag())&&Boolean.parseBoolean(codetemplateAttr.getRequireFlag())); @@ -759,7 +759,7 @@ * @return 鏈夐敊璇俊鎭殑excel */ @Override - public CodeImProtRusultVO batchImportHistoryData(String codeClassifyOid, String classifyAttr,File file) { + public CodeImProtRusultVO batchImportHistoryData(String codeClassifyOid, String classifyAttr,File file) throws Throwable{ VciBaseUtil.alertNotNull(codeClassifyOid,"鍒嗙被鐨勪富閿�"); ReadExcelOption reo = new ReadExcelOption(); reo.setReadAllSheet(true); @@ -1016,7 +1016,7 @@ thisCbos.stream().forEach(clientBusinessObject -> { BaseModel baseModel=new BaseModel(); BeanUtil.convert(clientBusinessObject,baseModel); - baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject)); + //baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject)); dataCBOList.add(baseModel); dataCBOIdList.add(baseModel); }); @@ -1030,9 +1030,14 @@ String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX); errorMap.put(rowIndex, errorMap.getOrDefault(rowIndex, "") + ";绯荤粺閿欒锛屽瓨鍌ㄦ暟鎹殑鏃跺�欏嚭閿欎簡"); }); + } } }); + if (errorMap.size() > 0) { + isExport = true; + } + createWriteExcelData(rowDataList, errorMap, new ArrayList<>(), titleRowData, shetNameMap, finalTemplateVO); engineService.batchSaveSelectChar(templateVO, dataCBOIdList); } } @@ -1061,7 +1066,19 @@ return codeImProtRusultVO; } + /*private void converBaseModels(List<ClientBusinessObject> clientBusinessObjects,List<BaseModel>dataCBOList){ + clientBusinessObjects.stream().forEach(clientBusinessObject -> { + BaseModel baseModel=new BaseModel(); + BeanUtil.convert(clientBusinessObject,baseModel); + Map<String,String> dataMap=new HashMap<>(); + clientBusinessObject.getHisAttrValList() + baseModel.setData(VciBaseUtil.objectToMapString(baseModel)); + AttributeValue[] newAttributeValue= clientBusinessObject.getNewAttrValList(); + dataCBOList.add(baseModel); + }); + + }*/ /*** * 浠巈xecl閲屾瀯寤哄璞� * @param rowDataList @@ -1338,7 +1355,7 @@ cboList.stream().forEach(clientBusinessObject -> { BaseModel baseModel=new BaseModel(); BeanUtil.convert(clientBusinessObject,baseModel); - baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject)); + //baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject)); dataCBOList.add(baseModel); dataCBOIdList.add(baseModel.getOid()); }); @@ -1528,7 +1545,7 @@ needSaveCboList.stream().forEach(clientBusinessObject -> { BaseModel baseModel=new BaseModel(); BeanUtil.convert(clientBusinessObject,baseModel); - baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject)); + //baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject)); dataCBOList.add(baseModel); // allNeedSaveCboList.add(baseModel); }); @@ -1802,7 +1819,7 @@ needSaveCboList.stream().forEach(clientBusinessObject -> { BaseModel baseModel=new BaseModel(); BeanUtil.convert(clientBusinessObject,baseModel); - baseModel.setData(VciBaseUtil.objectToMapString(clientBusinessObject)); + //(VciBaseUtil.objectToMapString(clientBusinessObject)); dataCBOList.add(baseModel); allNeedSaveCboList.add(baseModel.getOid()); }); @@ -1895,9 +1912,30 @@ getFieldIndexMap(titleRowData, attrNameIdMap, fieldIndexMap); Map<String, String> cboOidMap = new HashMap<>(); cboOidMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(codeDataMap.keySet().toArray(new String[0])) + ")"); - R<BtmTypeVO> r= btmTypeClient.getDetail(templateVO.getBtmTypeId()); - BtmTypeVO btmTypeVO =r.getData(); - String tableName=btmTypeVO.getTableName(); + String tableName =""; + try { + R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId()); + if(r.getCode()!=200) { + throw new Throwable(r.getMsg()); + } + BtmTypeVO btmTypeVO = r.getData(); + if (btmTypeVO == null) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷瀵硅薄锛�"); + } + tableName = btmTypeVO.getTableName(); + if (StringUtils.isBlank(tableName)) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷鐩稿叧鑱旂殑琛�"); + } + }catch (Throwable e){ + log.error("鏌ヨ涓氬姟瀵硅薄琛�"+e); + XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO(); + xmlResultDataObjectDetailDO.setErrorid("103"); + xmlResultDataObjectDetailDO.setMsg("鏌ヨ涓氬姟瀵硅薄琛�"+e); + xmlResultDataObjectDetailDO.setId(""); + xmlResultDataObjectDetailDO.setCode(""); + resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO); + return; + } StringBuffer sb=new StringBuffer(); sb.append(" select * from "); @@ -1983,7 +2021,7 @@ BaseModel baseModel=new BaseModel(); BeanUtil.convert(cbo,baseModel); - baseModel.setData(VciBaseUtil.objectToMapString(cbo)); + //baseModel.setData(VciBaseUtil.objectToMapString(cbo)); updateList.add(baseModel); }else if(operation.equals("delete")){//濡傛灉鍦ㄦ祦绋嬩腑涓嶅厑璁稿垹闄わ紝涓嶅湪娴佺▼涓姸鎬佷负鍙戝竷鎴栬�呭仠鐢ㄧ殑鏁版嵁涓嶅厑璁稿垹闄わ紝灏嗗叾鏇存敼涓哄仠鐢紝鍏朵粬鐨勬儏鍐电洿鎺ュ垹闄� // if(finalIsProcess){ @@ -2024,7 +2062,7 @@ BaseModel baseModel=new BaseModel(); BeanUtil.convert(cbo,baseModel); - baseModel.setData(VciBaseUtil.objectToMapString(cbo)); + //baseModel.setData(VciBaseUtil.objectToMapString(cbo)); updateList.add(baseModel); }catch (VciBaseException e) { e.printStackTrace(); @@ -2188,7 +2226,7 @@ } else if (StringUtils.isNotBlank(orderDTO.getCopyFromVersion())) { sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'"; } - sql[0] += " and islastR = '1' and islastV = '1' "; + sql[0] += " and lastR = '1' and lastV = '1' "; if (commonsMapper.queryCountBySql(sql[0]) > 0) { String ruleInfoMsg = keyRuleVO == null ? "" : "鏌ヨ瑙勫垯锛氬幓闄ょ┖鏍�--{0},蹇界暐澶у皬鍐�--{1},蹇界暐鍏ㄥ崐瑙�--{2},蹇界暐鍏ㄩ儴绌烘牸--{3}"; String[] objs = new String[]{trim ? "鏄�" : "鍚�", ignoreCase ? "鏄�" : "鍚�", ignoreWidth ? "鏄�" : "鍚�", trimAll ? "鏄�" : "鍚�"}; @@ -2978,21 +3016,35 @@ * @param cboList 鏁版嵁鐨勫垪琛� * @param errorMap 閿欒鐨勪俊鎭� */ - private void batchCheckIdExistOnOrder(CodeClassifyTemplateVO templateVO,List<ClientBusinessObject> cboList,Map<String ,String> errorMap){ + private void batchCheckIdExistOnOrder(CodeClassifyTemplateVO templateVO,List<ClientBusinessObject> cboList,Map<String ,String> errorMap) throws Throwable{ List<String> existIds = new ArrayList<>(); + String tableName =""; + try { + R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId()); + if(r.getCode()!=200) { + throw new Throwable(r.getMsg()); + } + BtmTypeVO btmTypeVO = r.getData(); + if (btmTypeVO == null) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷瀵硅薄锛�"); + } + tableName = btmTypeVO.getTableName(); + if (StringUtils.isBlank(tableName)) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷鐩稿叧鑱旂殑琛�"); + } + }catch (Throwable e){ + throw e; + } + String finalTableName = tableName; VciBaseUtil.switchCollectionForOracleIn(cboList).stream().forEach(cbos -> { Map<String, String> conditionMap = new HashMap<>(); conditionMap.put("id", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(cbos.stream().map(s -> s.getId()).collect(Collectors.toSet()).toArray(new String[0])) + ")"); - R<BtmTypeVO> r= btmTypeClient.getDetail(templateVO.getBtmTypeId()); - BtmTypeVO btmTypeVO =r.getData(); - String tableName=btmTypeVO.getTableName(); - StringBuffer sb=new StringBuffer(); sb.append(" select id from "); - sb.append(tableName); + sb.append(finalTableName); sb.append(" where 1=1 "); - sb.append(" id in ("); + sb.append(" and id in ("); sb.append(VciBaseUtil.toInSql(cbos.stream().map(s -> s.getId()).collect(Collectors.toSet()).toArray(new String[0]))); sb.append(")"); List<String> idList= commonsMapper.selectById(sb.toString()); @@ -3815,8 +3867,8 @@ }else{ if (!CollectionUtils.isEmpty(conditionMap)) { Map<String, String> andConditionMap = new HashMap<>(); - andConditionMap.put("islastr", "1"); - andConditionMap.put("islastv", "1"); + andConditionMap.put("lastr", "1"); + andConditionMap.put("lastv", "1"); conditionMap.putAll(andConditionMap); PageHelper pageHelper = new PageHelper(-1); pageHelper.addDefaultDesc("id"); -- Gitblit v1.9.3