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 | 29 +++++++++++++++++++++++------ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java | 3 ++- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java | 2 +- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 11 +++++++++-- Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml | 3 +++ 5 files changed, 38 insertions(+), 10 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java index a1cac1a..6747ede 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/revision/model/BaseModel.java @@ -24,7 +24,7 @@ @TableId(value = "OID",type = IdType.ASSIGN_UUID) private String oid; - @TableField(value = "ID") + @TableField(value = "id") private String id; private String name; 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 ad6059a..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 @@ -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()); }); @@ -2004,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){ @@ -2045,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(); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java index f199450..984f76a 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java @@ -23,6 +23,7 @@ import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.model.BaseModel; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; +import com.vci.ubcs.starter.util.MdmBtmTypeConstant; import com.vci.ubcs.starter.web.constant.QueryOptionConstant; import com.vci.ubcs.starter.web.constant.RegExpConstant; import com.vci.ubcs.starter.web.enumpck.OsCodeFillTypeEnum; @@ -31,6 +32,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; @@ -73,6 +75,7 @@ private FormulaServiceImpl formulaService; @Override + @Transactional(rollbackFor = VciBaseException.class) public List<String> productCodeAndSaveData(CodeClassifyFullInfoBO classifyFullInfoBO, CodeClassifyTemplateVO templateVO, CodeRuleVO ruleVO, List<CodeOrderSecDTO> secDTOList, List<BaseModel> dataCBOList) throws Exception { // BatchCBO batchCBO = new BatchCBO(); // WebUtil.setPersistence(false); @@ -99,6 +102,8 @@ String code = cbo.getId(); List<String> serialUnitList = new ArrayList<>(); String[] secLengths = cbo.getData().get(CODE_SEC_LENGTH_FIELD).split("#"); + cbo.getData().remove(CODE_SEC_LENGTH_FIELD);//灏嗘key闄ゅ幓 + cbo.getData().remove(IMPORT_ROW_INDEX);//灏嗘key闄ゅ幓 List<CodeBasicSecVO> secVOList = ruleVO.getSecVOList().stream().sorted(((o1, o2) -> o1.getOrderNum().compareTo(o2.getOrderNum()))).collect(Collectors.toList()); Map<String/**鐮佹鐨勪富閿�**/,String/**鐮佹鐨勫��**/> serialValueMap = new HashMap<>(); Map<String, CodeBasicSecVO> secVOMap = secVOList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t)); @@ -147,6 +152,7 @@ }); } CodeAllCode allCodeDO = new CodeAllCode(); + DefaultAttrAssimtUtil.addDefaultAttrAssimt(allCodeDO, MdmBtmTypeConstant.CODE_ALL_CODE); allCodeDO.setCodeClassifyOid(classifyFullInfoBO.getCurrentClassifyVO().getOid()); allCodeDO.setCodeRuleOid(ruleVO.getOid()); allCodeDO.setId(cbo.getId()); @@ -209,7 +215,7 @@ } //澶勭悊allCode if(!CollectionUtils.isEmpty(allCodeDOList)){ - Map<String, List<CodeAllCode>> ruleGroup = allCodeDOList.stream().collect(Collectors.groupingBy(s -> s.getCodeRuleOid())); + Map<String,List<CodeAllCode>> ruleGroup = allCodeDOList.stream().collect(Collectors.groupingBy(s -> s.getCodeRuleOid())); Map<String, CodeAllCode> codeDOMap = allCodeDOList.stream().collect(Collectors.toMap(s -> s.getCodeRuleOid() + "${SEP}" + s.getId(), t -> t)); List<CodeAllCode> addCodeDOs = new ArrayList<>(); List<CodeAllCode> editCodeDOs = new ArrayList<>(); @@ -252,13 +258,14 @@ codeAllCodeService.updateBatchById(editCodeDOs); } if(!CollectionUtils.isEmpty(addCodeDOs)){ -// batchCBO.copyFromOther(allCodeMapper.batchInsert(addCodeDOs)); + //batchCBO.copyFromOther(allCodeMapper.batchInsert(addCodeDOs)); Map<String, String> statusMap = addCodeDOs.stream().collect(Collectors.toMap(s -> s.getOid(), s -> s.getLcStatus())); addCodeDOs.stream().filter(s -> StringUtils.equalsIgnoreCase("codeallcode",s.getBtmname())).forEach(s -> { s.setLcStatus(statusMap.get(s.getOid())); }); codeAllCodeService.saveBatch(addCodeDOs); } + mdmEngineService.insertBatchByType(dataCBOList.get(0).getBtmname(),dataCBOList); } // WebUtil.setPersistence(true); // boService.persistenceBatch(batchCBO); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java index 0bbfd41..f5c59e7 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/ClientBusinessObject.java @@ -69,8 +69,9 @@ attrVal.attrName = attributeName.toUpperCase(); attrVal.attrVal = attributeValue; attrValList.add(attrVal); - } + } + this.getData().put(attributeName,attributeValue); this.newAttrValList = (AttributeValue[])attrValList.toArray(new AttributeValue[attrValList.size()]); // } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml index dd0d4d1..a022dc6 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml @@ -126,6 +126,9 @@ <when test='fieldInPath=="name"'> SYS_CONNECT_BY_PATH(codeclassify0.name, '#') as path </when> + <when test='fieldInPath=="oid"'> + SYS_CONNECT_BY_PATH(codeclassify0.oid, '#') as path + </when> <otherwise> SYS_CONNECT_BY_PATH(codeclassify0.id, '#') as path </otherwise> -- Gitblit v1.9.3