修复关键属性重复,如果是当前分类则返回编码,如果是其他分类则给出提示
已修改2个文件
74 ■■■■■ 文件已修改
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java
@@ -144,7 +144,6 @@
            baseModel.setLastV(dataMap.getOrDefault("LASTV",""));
            Object revisionseq =dataMap.getOrDefault("REVISIONSEQ","");
            if(revisionseq!=null){
                baseModel.setRevisionSeq(chageStringToInt(revisionseq.toString()));
            }
@@ -157,7 +156,15 @@
            baseModel.setVersionValue(dataMap.getOrDefault("VERSIONVALUE",""));
            baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID",""));
            baseModel.setLastModifier(AuthUtil.getUser().getAccount());
            baseModel.setLcStatus(dataMap.getOrDefault("LCSTATUS",""));
            baseModel.setName(dataMap.getOrDefault("NAME",""));
            baseModel.setTenantId(dataMap.getOrDefault("TENADTID",""));
            baseModel.setDescription(dataMap.getOrDefault("DESCRIOTION",""));
            baseModel.setCopyFromVersion(dataMap.getOrDefault("COPYFROMVERSION",""));
            Object secretgrade=dataMap.get("SECRETGRADE");
            if(secretgrade!=null){
                baseModel.setSecretGrade(chageStringToInt(secretgrade.toString()));
            }
        }catch (VciBaseException e){
            e.printStackTrace();
        }
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -2102,50 +2102,54 @@
                Map<String, List<BaseModel>> indexTodataMap = keyResultVO.getIndexTODataMap();
                cboList.stream().forEach(cbo -> {
                    String rowIndex = cbo.getAttributeValue(IMPORT_ROW_INDEX);
                    String msg = errorKeyMap.get(rowIndex);
                    if (indexTodataMap.containsKey(rowIndex)) {
                        String oid = cbo.getOid();
                        String sourceOid = oid;
                        String code = "";
                        String groupCode="";
                        String errorid = "201";
                        if(codeOidToSystemOidMap.containsKey(oid)){
                            sourceOid=codeOidToSystemOidMap.get(oid);
                        }
                        List<BaseModel> newCboList = indexTodataMap.get(rowIndex);
                        if (!CollectionUtils.isEmpty(newCboList)) {
                            BaseModel newCbo= newCboList.get(0);
                            String lcstatus =newCbo.getLcStatus();
                            String newOid =newCbo.getOid();
                            Date ts =newCbo.getTs();
                            code = StringUtils.isBlank(newCbo.getId())?"":newCbo.getId();
                            groupCode=newCbo.getData().getOrDefault("GROUPCODE","");
                            String lastmodifier=newCbo.getLastModifier();
                            if (lcstatus!=null&&!lcstatus.equals(CodeDefaultLC.RELEASED.getValue())) {
                                newCbo.setOid(newOid);
                                newCbo.setLastModifier(lastmodifier);
                                /*if(isCodeOrGroupCode) {
                                    newCbo.setId(code);
                                }else{
                                    newCbo.getData().put("groupcode",groupCode);
                                }*/
                                newCbo.setTs(ts);
                                cbo.setLastModifier(cbo.getLastModifier());
                                editBoList.add(newCbo);
                            }
                            String mes = errorKeyMap.get(rowIndex);
                            XMLResultDataObjectDetailDO resultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
                            if(isCodeOrGroupCode) {
                                if(StringUtils.isBlank(groupCode)){
                                    errorid="1";
                                    mes+=";申请的编码类型为集团码,等待集团编码赋值";
                            //处理关键属性查出多条的话,根据集成调用的当前分类代号取当前分类的码值。
                            Map<String/**编码**/, BaseModel/**重复编码数据**/> classOidTOBaseModelMap = new HashMap<>();
                                newCboList.stream().forEach(baseModel->{
                                    String codeclsfid=baseModel.getData().get(CODE_CLASSIFY_OID_FIELD.toUpperCase(Locale.ROOT));
                                    classOidTOBaseModelMap.put(codeclsfid,baseModel);
                                });
                            String codeclsfid= classifyFullInfo.getCurrentClassifyVO().getOid();
                            if(classOidTOBaseModelMap.containsKey(codeclsfid)){
                                BaseModel newCbo= classOidTOBaseModelMap.get(codeclsfid);
                                String lcstatus =newCbo.getLcStatus();
                                String newOid =newCbo.getOid();
                                Date ts =newCbo.getTs();
                                code = StringUtils.isBlank(newCbo.getId())?"":newCbo.getId();
                                if(isCodeOrGroupCode) {
                                    code=newCbo.getData().getOrDefault("GROUPCODE","");
                                    if(StringUtils.isBlank(code)){
                                        errorid="1";
                                        msg=";申请的编码类型为集团码,等待集团编码赋值";
                                    }
                                }
                                resultDataObjectDetailDO.setCode(groupCode);
                                String lastmodifier=newCbo.getLastModifier();
                                if (lcstatus!=null&&!lcstatus.equals(CodeDefaultLC.RELEASED.getValue())) {
                                    newCbo.setOid(newOid);
                                    newCbo.setLastModifier(lastmodifier);
                                    newCbo.setTs(ts);
                                    cbo.setLastModifier(cbo.getLastModifier());
                                    editBoList.add(newCbo);
                                }
                            }else{
                                resultDataObjectDetailDO.setCode(code);
                                errorid="205";
                                msg+=";编码则属于其他分类。";
                            }
                            XMLResultDataObjectDetailDO resultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
                            resultDataObjectDetailDO.setCode(code);
                            resultDataObjectDetailDO.setId(sourceOid);
                            resultDataObjectDetailDO.setErrorid(errorid);
                            resultDataObjectDetailDO.setMsg(mes);
                            resultDataObjectDetailDO.setMsg(msg);
                            resultDataObjectDetailDOs.add(resultDataObjectDetailDO);
                        }
@@ -3904,6 +3908,7 @@
                    newDataList.stream().forEach(stringStringMap -> {
                        BaseModel baseModel=new BaseModel();
                        DefaultAttrAssimtUtil.copplyDefaultAttrAssimt(stringStringMap,baseModel);
                        baseModel.setData(stringStringMap);
                        newCboList.add(baseModel);
                    });
                    // 添加错误值