From ae0dc4f46b075b5eace5596a66f6b81e357ae05e Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 03 十二月 2024 17:24:06 +0800 Subject: [PATCH] 码值codeallcode查重改成一句分批次查询(500)一次执行查询改为and拼接的依据sql查询。 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 252 +++++++++++++++++++++++++++++-------------------- 1 files changed, 148 insertions(+), 104 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java index 6e778e8..6850502 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java @@ -1,11 +1,14 @@ package com.vci.ubcs.code.service.impl; +import cn.hutool.db.sql.Query; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.vci.ubcs.code.applyjtcodeservice.entity.DockingPreMetaAttr; import com.vci.ubcs.code.applyjtcodeservice.vo.BaseModelVO; import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; @@ -147,6 +150,7 @@ */ @Value("${bzApply.seriesFlow:seriesFlow}") private String seriesFlow; + /*** * 鏄惁鍙樻洿绯诲垪 */ @@ -258,8 +262,9 @@ */ @Autowired private ICodeRuleService ruleService; + /** - * 缂栫爜瑙勫垯鐨勬湇鍔� + * 鐮佸�肩殑鏈嶅姟 */ @Autowired private ICodeAllCodeService codeAllCodeService; @@ -313,6 +318,12 @@ * */ public static final String BTM_NAME = "btm:name"; + + /** + * 閰嶇疆鐨勭敤鏉ョ敵璇烽泦鍥㈢爜鐨勭敤鎴� + */ + @Value("${docking.apply.personUserAccount:28201728}") + public String applyCodeUserAccount; /** * 瀵嗙骇鐨勫瓧娈� @@ -432,10 +443,18 @@ throw new VciBaseException("鏈煡璇㈠埌鐩稿叧鏁版嵁銆�"); } //杩橀渶瑕佷慨鏀筧llCode鐨勭敓鍛藉懆鏈� - QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>(); - allCodeWrapper.eq("createcodebtm", baseModelDTO.getBtmname()); - allCodeWrapper.in("createcodeoid", oids); - List<CodeAllCode> codeCbos = codeAllCodeService.selectByWrapper(allCodeWrapper);// 鍥炴敹闇�瑕佷笟鍔℃暟鎹垹闄� + LambdaQueryWrapper<CodeAllCode> allCodeWrapper = Wrappers.<CodeAllCode>query().lambda(); + allCodeWrapper.eq(CodeAllCode::getCreateCodeBtm, baseModelDTO.getBtmname()); + allCodeWrapper.in(CodeAllCode::getCreateCodeOid, oids); + + List<CodeAllCode> codeCbos = codeAllCodeService.selectByWrapper(allCodeWrapper); + if(codeCbos.size() != baseModels.size()){ + throw new ServiceException("褰撳墠鍥炴敹鎿嶄綔涓煡璇㈠嚭鐨勪笟鍔℃暟鎹腑锛屽瓨鍦ㄥ鏉$爜鍊兼暟鎹搴斿叧绯伙紝璇疯仈绯诲紑鍙戜汉鍛樺鏁版嵁杩涜鎺掓煡澶勭悊锛侊紒"); + } + //杞负map鍚庣画鍙栫殑鏃跺�欐柟渚� + Map<String, BaseModel> baseModelMap = baseModels.stream().collect(Collectors.toMap(BaseModel::getId, baseModel -> baseModel)); + + // 鍥炴敹闇�瑕佷笟鍔℃暟鎹垹闄� if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) { R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(baseModelDTO.getBtmname())); if (!listR.isSuccess() || listR.getData().size() == 0) { @@ -450,16 +469,17 @@ } R r = updateBatchByBaseModel(baseModelDTO.getBtmname(), baseModels); if (!r.isSuccess()) { - throw new VciBaseException("鏇存柊鏁版嵁鍑洪敊锛岄噸璇曪紒" + r.getMsg()); + throw new VciBaseException("鏇存柊鏁版嵁鍑洪敊锛岃閲嶈瘯锛�" + r.getMsg()); } } // 鍒氬ソ椤哄簭鏄竴鑷寸殑锛屾墍浠ョ洿鎺ユ寜鐓odeallcode鐨勯『搴忔潵鎷夸笟鍔℃暟鎹� - int i = -1; + BaseModel baseModel = null; for (CodeAllCode codeCbo : codeCbos) { codeCbo.setLcStatus(baseModelDTO.getLcStatus()); // 濡傛灉鏄洖鏀讹紝灏遍渶瑕佸皢涓氬姟鏁版嵁瀛樺偍鍒扮爜鍊艰〃涓� + baseModel = baseModelMap.get(codeCbo.getId()); if (baseModelDTO.getLcStatus().equals(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_TAKEBACK)) { - codeCbo.setBusinessData(JSON.toJSONString(baseModels.get(++i))); + codeCbo.setBusinessData(JSON.toJSONString(baseModel)); } } codeAllCodeService.updateBatchById(codeCbos); @@ -488,7 +508,7 @@ return addSaveCode(orderDTO, true); } - /*** + /** * 闆嗘垚鍙彉鐮佹鐢宠鎺ュ彛 * @param orderDTO 鐢宠鐨勪俊鎭紝闇�瑕佸寘鍚睘鎬х殑鍐呭鍜岀爜娈电浉鍏崇殑鍐呭 * @return @@ -1553,7 +1573,6 @@ return uiInfoVO; } - /** * 妯℃澘灞炴�ц浆鎹负琛ㄥ崟瀹氫箟鐨勪俊鎭� * @@ -2043,7 +2062,7 @@ @Override public DataGrid<Map<String, String>> queryGrid(String btmType, CodeClassifyTemplateVO templateVO, Map<String, String> conditionMap, PageHelper pageHelper) { CodeTemplateAttrSqlBO sqlBO = getSqlByTemplateVO(btmType, templateVO, conditionMap, pageHelper); -// List<Map> maps = boService.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); + // List<Map> maps = boService.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); List<Map<String, String>> maps = null; try { maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); @@ -2063,39 +2082,39 @@ for (String s : map.keySet()) { data.put(s.toLowerCase(Locale.ROOT), map.get(s) == null ? null : String.valueOf(map.get(s))); } -// map.forEach((key, value) -> { -// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); -// }); + // map.forEach((key, value) -> { + // data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); + // }); dataList.add(data); }); wrapperData(dataList, templateVO, sqlBO.getSelectFieldList(), false); -// maps.stream().forEach(map -> { -// Map<String, String> data = new HashMap<>(); -//// map.forEach((key, value) -> { -//// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); -//// }); -// for (String s : map.keySet()) { -// data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); -// } -// dataList.add(data); -// }); + // maps.stream().forEach(map -> { + // Map<String, String> data = new HashMap<>(); + // map.forEach((key, value) -> { + // data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); + // }); + // for (String s : map.keySet()) { + // data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); + // } + // dataList.add(data); + // }); } -// dataGrid.setData(dataList); -// if (!CollectionUtils.isEmpty(maps)) { -// wrapperData(maps, templateVO, sqlBO.getSelectFieldList(), false); -// maps.stream().forEach(map -> { -// Map<String, String> data = new HashMap<>(); -//// map.forEach((key, value) -> { -//// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); -//// }); -// for (String s : map.keySet()) { -// data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); -// } -// dataList.add(data); -// }); + // dataGrid.setData(dataList); + // if (!CollectionUtils.isEmpty(maps)) { + // wrapperData(maps, templateVO, sqlBO.getSelectFieldList(), false); + // maps.stream().forEach(map -> { + // Map<String, String> data = new HashMap<>(); + //// map.forEach((key, value) -> { + //// data.put(((String) key).toLowerCase(Locale.ROOT), String.valueOf(value)); + //// }); + // for (String s : map.keySet()) { + // data.put(((String) s).toLowerCase(Locale.ROOT), String.valueOf(map.get(s))); + // } + // dataList.add(data); + // }); dataGrid.setData(dataList); dataGrid.setTotal(Long.parseLong(commonsMapper.selectBySql(sqlBO.getSqlCount()).get(0).values().toArray()[0].toString())); -// } + // } return dataGrid; } @@ -2172,7 +2191,7 @@ userVOMap.put(String.valueOf(data.getId()), data); } } -// Map<String, SmUserVO> userVOMap = Optional.ofNullable(userQueryService.listUserByUserIds(userIds)).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); + // Map<String, SmUserVO> userVOMap = Optional.ofNullable(userQueryService.listUserByUserIds(userIds)).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); dataMap.stream().forEach(data -> { String creator = data.getOrDefault("creator", null); if (StringUtils.isNotBlank(creator) && userVOMap.containsKey(creator.toLowerCase(Locale.ROOT))) { @@ -2562,8 +2581,19 @@ if (referFieldMap.containsKey(field)) { return VciBaseUtil.toInSql(referFieldMap.get(field), value); //referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + "" + SPACE; + //TODO:鏆傛椂娌¤�冭檻IN>1000鏉$殑闂 + //return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + "" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + "IN (" + getStringValueInWhere(field, "IN//"+value, attrVOMap) + ")" + SPACE; } + } else if (key.endsWith("_notin")) { + String field = UBCSSqlKeyword.getColumn(key, "_in"); + if (referFieldMap.containsKey(field)) { + return VciBaseUtil.toInSql(referFieldMap.get(field), value); //referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE; + } else { + //return (field.contains(".") ? "" : "t.") + field + SPACE + "not in (" + getStringValueInWhere(field, "IN//"+value, attrVOMap) + ")" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + "IN (" + getStringValueInWhere(field, "IN//"+value, attrVOMap) + ")" + SPACE; + } + } else { // if (referFieldMap.containsKey(key)) { // //璇存槑鏄弬鐓х殑锛屾垜浠弬鐓х殑鏌ヨ閮借涓烘槸瀛楃涓诧紝濡傛灉鏄椂闂存牸寮忕殑鏌ヨ鑲畾鏈夐棶棰橈紝 @@ -2660,13 +2690,21 @@ || VciFieldTypeEnum.VTInteger.equals(fieldTypeEnum)) { return value; } else { + if(value.contains("IN//")){ + return MybatisParameterUtil.getInClause(Func.toStrList(value.replace("IN//",""))); + } return "'" + value + "'"; } } else { if ((value.startsWith("(") && value.endsWith(")")) || (value.startsWith("'") && value.endsWith("'"))) { return value; + }else if(value.contains("IN//")){ + //鏆傛椂涓嶈�冭檻>1000鐨勬儏鍐碉紝鍥犱负鎼滅储涓�鑸篃涓嶄細鍑虹幇鎼滅储1000鏉$殑鎯呭喌 + //return MybatisParameterUtil.convertToOrConditions(field, Func.toStrList(value.replace("IN//",""))); + return MybatisParameterUtil.getInClause(Func.toStrList(value.replace("IN//",""))); + }else{ + return "'" + value + "'"; } - return "'" + value + "'"; } } @@ -3035,26 +3073,26 @@ } }); return mapDataGrid; -// List<String> selectFieldList = templateVO.getAttributes().stream().map(CodeClassifyTemplateAttrVO::getId).collect(Collectors.toList()); -// //鍙傜収璁╁钩鍙扮洿鎺ユ煡璇㈠氨琛� -// List<String> finalSelectFieldList = selectFieldList; -// List<CodeClassifyTemplateAttrVO> referAttrVOs = templateVO.getAttributes().stream().filter( -// s -> StringUtils.isNotBlank(s.getReferbtmid()) -// && -// (finalSelectFieldList.size() ==0 || finalSelectFieldList.contains(s.getId().toLowerCase(Locale.ROOT))) -// ).collect(Collectors.toList()); -// if(!CollectionUtils.isEmpty(referAttrVOs)){ -// for (int i = 0; i < referAttrVOs.size(); i++) { -// selectFieldList.add(referAttrVOs.get(i).getId() + ".name"); -// } -// } -// //鎴戜滑浣跨敤鍜屼笟鍔$被鍨嬬殑鏉ユ煡璇� -// DataGrid<Map<String,String>> dataGrid = boService.queryGridByBo(btmTypeId, conditionMap, pageHelper, selectFieldList); -// //鎴戜滑闇�瑕佷娇鐢ㄦā鏉挎潵杞崲 -// if(!CollectionUtils.isEmpty(dataGrid.getData())){ -// wrapperData(dataGrid.getData(),templateVO,finalSelectFieldList,false); -// } -// return dataGrid; + // List<String> selectFieldList = templateVO.getAttributes().stream().map(CodeClassifyTemplateAttrVO::getId).collect(Collectors.toList()); + // //鍙傜収璁╁钩鍙扮洿鎺ユ煡璇㈠氨琛� + // List<String> finalSelectFieldList = selectFieldList; + // List<CodeClassifyTemplateAttrVO> referAttrVOs = templateVO.getAttributes().stream().filter( + // s -> StringUtils.isNotBlank(s.getReferbtmid()) + // && + // (finalSelectFieldList.size() ==0 || finalSelectFieldList.contains(s.getId().toLowerCase(Locale.ROOT))) + // ).collect(Collectors.toList()); + // if(!CollectionUtils.isEmpty(referAttrVOs)){ + // for (int i = 0; i < referAttrVOs.size(); i++) { + // selectFieldList.add(referAttrVOs.get(i).getId() + ".name"); + // } + // } + // //鎴戜滑浣跨敤鍜屼笟鍔$被鍨嬬殑鏉ユ煡璇� + // DataGrid<Map<String,String>> dataGrid = boService.queryGridByBo(btmTypeId, conditionMap, pageHelper, selectFieldList); + // //鎴戜滑闇�瑕佷娇鐢ㄦā鏉挎潵杞崲 + // if(!CollectionUtils.isEmpty(dataGrid.getData())){ + // wrapperData(dataGrid.getData(),templateVO,finalSelectFieldList,false); + // } + // return dataGrid; } /** @@ -3467,19 +3505,19 @@ cbos.add(data); }); -// List<ClientBusinessObject> cbos = boService.queryByOnlySql(sqlBO.getSqlUnPage()); + // List<ClientBusinessObject> cbos = boService.queryByOnlySql(sqlBO.getSqlUnPage()); if (CollectionUtils.isEmpty(cbos)) { - throw new VciBaseException("鏁版嵁鍦ㄧ郴缁熶腑涓嶅瓨鍦紝鏄惁鍥犱负淇敼杩囦笟鍔$被鍨嬶紵"); + return R.fail("鏁版嵁鍦ㄧ郴缁熶腑涓嶅瓨鍦紝鏄惁鍥犱负淇敼杩囦笟鍔$被鍨嬶紵"); } -// Map<String, String> data = new HashMap<>(); + // Map<String, String> data = new HashMap<>(); Map<String, String> cbo = cbos.get(0); -// WebUtil.copyValueToMapFromCbos(cbo, data); + // WebUtil.copyValueToMapFromCbos(cbo, data); List<Map<String, String>> dataList = new ArrayList<>(); dataList.add(cbo); wrapperData(dataList, templateVO, sqlBO.getSelectFieldList(), true); R<List<Map<String, String>>> result = R.data(Collections.singletonList(cbo)); if(templateVO.getAttributes().isEmpty()){ - throw new ServiceException(String.format("涓婚敭涓猴細{}鐨勬ā鏉夸笅锛屾ā鏉垮睘鎬ч厤缃负绌猴紒",templateVO.getOid())); + return R.fail(String.format("涓婚敭涓猴細%s鐨勬ā鏉夸笅锛屾ā鏉垮睘鎬ч厤缃负绌猴紒",templateVO.getOid())); } //澶勭悊杩斿洖鏁版嵁涓庢ā鏉挎暟鎹厤缃殑瀛楁涓嶄竴鏍烽棶棰� templateVO.getAttributes().stream().forEach(e -> { @@ -3492,42 +3530,42 @@ }); //鎴戜滑瑕佺湅鏄惁涓嶆槸鍗囩増鐨勶紝鍗囩増鐨勮瘽锛岄渶瑕佸姣斾笉鐩哥瓑鐨勫睘鎬� -/* String copy = cbo.get("copyfromversion"); -// if (StringUtils.isBlank(copy)) { -// copy = cbo.getAttributeValue("copyfromversion"); -// } - if (StringUtils.isNotBlank(copy)) { - //璇存槑鏈夊彉鏇寸殑鍐呭 + /* String copy = cbo.get("copyfromversion"); + // if (StringUtils.isBlank(copy)) { + // copy = cbo.getAttributeValue("copyfromversion"); + // } + if (StringUtils.isNotBlank(copy)) { + //璇存槑鏈夊彉鏇寸殑鍐呭 - CodeTemplateAttrSqlBO oldSqlBO = getSqlByTemplateVO(btmId, templateVO, WebUtil.getOidQuery(copy), new PageHelper(-1)); - //鎴戜滑浣跨敤鍜屼笟鍔$被鍨嬬殑鏉ユ煡璇� -// List<Map> cbos = commonsMapper.selectBySql(sqlBO.getSqlUnPage()); - List<Map> oldCbos = commonsMapper.selectBySql(oldSqlBO.getSqlUnPage()); - if (!CollectionUtils.isEmpty(oldCbos)) { -// Map<String, String> newData = new HashMap<>(); -// WebUtil.copyValueToMapFromCbos(cbo, newData); - Map<String, String> oldData = new HashMap<>(); - oldData = oldCbos.get(0); - Map<String, String> difFieldMap = new HashMap<>(); - Map<String, String> finalOldData = oldData; - cbo.forEach((key, value) -> { - // 杩欏効oldmap涓殑鍏ㄦ槸澶у啓锛岃�宑bo涓殑鍏ㄦ槸灏忓啓鎵�浠ヤ細鎷夸笉鍒板彧锛岃繖鍎跨洿鎺ュ鐞嗘垚灏忓啓鎷夸笉鍒板氨鐢ㄥぇ鍐欐嬁 - String oldValue = String.valueOf(finalOldData.getOrDefault(key.toUpperCase(Locale.ROOT), finalOldData.getOrDefault(key, ""))); - if (value == null || value == "null") { - value = ""; - } - if (oldValue == null || oldValue == "null") { - oldValue = ""; - } - if (!value.equalsIgnoreCase(oldValue)) { - difFieldMap.put(key, oldValue); - } - }); - List<Map<String, String>> difFieldList = new ArrayList<>(); - difFieldList.add(difFieldMap); - result.setData(difFieldList); - } - }*/ + CodeTemplateAttrSqlBO oldSqlBO = getSqlByTemplateVO(btmId, templateVO, WebUtil.getOidQuery(copy), new PageHelper(-1)); + //鎴戜滑浣跨敤鍜屼笟鍔$被鍨嬬殑鏉ユ煡璇� + // List<Map> cbos = commonsMapper.selectBySql(sqlBO.getSqlUnPage()); + List<Map> oldCbos = commonsMapper.selectBySql(oldSqlBO.getSqlUnPage()); + if (!CollectionUtils.isEmpty(oldCbos)) { + // Map<String, String> newData = new HashMap<>(); + // WebUtil.copyValueToMapFromCbos(cbo, newData); + Map<String, String> oldData = new HashMap<>(); + oldData = oldCbos.get(0); + Map<String, String> difFieldMap = new HashMap<>(); + Map<String, String> finalOldData = oldData; + cbo.forEach((key, value) -> { + // 杩欏効oldmap涓殑鍏ㄦ槸澶у啓锛岃�宑bo涓殑鍏ㄦ槸灏忓啓鎵�浠ヤ細鎷夸笉鍒板彧锛岃繖鍎跨洿鎺ュ鐞嗘垚灏忓啓鎷夸笉鍒板氨鐢ㄥぇ鍐欐嬁 + String oldValue = String.valueOf(finalOldData.getOrDefault(key.toUpperCase(Locale.ROOT), finalOldData.getOrDefault(key, ""))); + if (value == null || value == "null") { + value = ""; + } + if (oldValue == null || oldValue == "null") { + oldValue = ""; + } + if (!value.equalsIgnoreCase(oldValue)) { + difFieldMap.put(key, oldValue); + } + }); + List<Map<String, String>> difFieldList = new ArrayList<>(); + difFieldList.add(difFieldMap); + result.setData(difFieldList); + } + }*/ return result; } @@ -4398,8 +4436,8 @@ if (cboMap.containsKey(oid)) { CodeAllCode codeAllCode = cboMap.get(oid); codeAllCode.setId(baseModel.getId()); - // codeAllCode.setLastModifier(AuthUtil.getUser().getUserName()); - codeAllCode.setLastModifier(AuthUtil.getUser().getAccount()); + // 涓绘暟鎹帹閫佸舰寮忥紝鏄嬁涓嶅埌鐢ㄦ埛淇℃伅鐨� + codeAllCode.setLastModifier(Func.isBlank(AuthUtil.getUserAccount()) ? applyCodeUserAccount:AuthUtil.getUserAccount()); codeAllCode.setLastModifyTime(new Date()); codeAllCode.setLcStatus(baseModel.getLcStatus()); newCodeAllCodeList.add(codeAllCode); @@ -4722,7 +4760,13 @@ */ Map<String, Object> nextRevision = commonsMapper.getCurrentRevision(listR.getData().get(0).getTableName(), fromBo.getNameOid()); R<RevisionRuleVO> revisionRuleVOR = revisionRuleClient.selectById(listR.getData().get(0).getRevisionRuleId()); - String revisionval = nextRevision.get("REVISIONVAL").toString(); + String revisionval = ""; + try{ + revisionval = nextRevision.get("REVISIONVAL").toString(); + }catch (Exception e){ + throw new ServiceException("涓氬姟鏁版嵁鐗堟鍊艰幏鍙栧嚭閿�,鍘熷洜锛�" + e.getMessage()); + } + // 鏈煡璇㈠埌鐗堟湰瑙勫垯锛岄粯璁ょ洿鎺ョ粰澶х増鏈姞涓� if (!revisionRuleVOR.isSuccess() || Func.isEmpty(revisionRuleVOR.getData())) { revisionval = String.valueOf((Integer.parseInt(revisionval) + 1)); -- Gitblit v1.9.3