From 32f4bb41c82ded759e7db18c9fa449b1442f15c8 Mon Sep 17 00:00:00 2001 From: fujunling <2984387807@qq.com> Date: 星期三, 21 六月 2023 16:39:12 +0800 Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 87 +++++++++++++++++++++++-------------------- 1 files changed, 47 insertions(+), 40 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 c0f8939..7367fb7 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 @@ -1724,71 +1724,71 @@ * @return Sql璇彞 */ private String getConditionSql(String key, String value, Map<String/**鍙傜収鐨勫睘鎬�**/, String/**瀹為檯鐨勫睘鎬�**/> referFieldMap, Map<String, CodeClassifyTemplateAttrVO> attrVOMap,String btmType) { - /*if (!Func.hasEmpty(new Object[]{key,value}) && !key.endsWith("_ignore")) { + if (!Func.hasEmpty(new Object[]{key,value}) && !key.endsWith("_ignore")) { if (key.endsWith("_like")) { String field = UBCSSqlKeyword.getColumn(key, "_like"); if (referFieldMap.containsKey(field)) { //璇存槑杩樻槸鍙傜収閲岄潰鐨勶紝鎴戜滑榛樿杩欑鎯呭喌涓嬮兘鏄瓧绗︿覆鍚э紝鍥犱负鍙傜収鐨勫睘鎬т笉涓�瀹氱敤鐨勫钩鍙扮殑灞炴�ф睜閲岀殑锛屾墍浠ュぇ閮ㄥ垎鎯呭喌涓嬶紝鏄剧ず鐨勫睘鎬ч兘鏄瓧绗︿覆鍚� - return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "concat(%,"+"concat(" + value + ",%)" + SPACE; + return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "%" + value + "%)" + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "concat(%,"+"concat(" + getStringValueInWhere(field, value, attrVOMap) + ",%)" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "%" + getStringValueInWhere(field, value, attrVOMap) + "%)" + SPACE; } } else if (key.endsWith("_notequal")) { String field = UBCSSqlKeyword.getColumn(key, "_notequal"); if (referFieldMap.containsKey(field)) { - return referFieldMap.get(field) + SPACE + " != '" + value + "'" + SPACE; + return referFieldMap.get(field) + SPACE + " != " + value + SPACE; } else { return (field.contains(".") ? "" : "t.") + field + SPACE + " != " + getStringValueInWhere(field, value, attrVOMap); } } else if (key.endsWith("_likeleft")) { String field = UBCSSqlKeyword.getColumn(key, "_likeleft"); if (referFieldMap.containsKey(field)) { - return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "concat(%,"+value+")" + SPACE; + return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "%"+value + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "concat(%,"+getStringValueInWhere(field, value, attrVOMap)+")" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "%" + getStringValueInWhere(field, value, attrVOMap) + SPACE; } } else if (key.endsWith("_likeright")) { String field = UBCSSqlKeyword.getColumn(key, "_likeright"); if (referFieldMap.containsKey(field)) { - return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "concat("+value+",%)" + SPACE; + return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + value + "%" + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + "concat("+getStringValueInWhere(field, value, attrVOMap)+",%)" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + "LIKE " + getStringValueInWhere(field, value, attrVOMap)+ "%" + SPACE; } } else if (key.endsWith("_notlike")) { String field = UBCSSqlKeyword.getColumn(key, "_notlike"); if (referFieldMap.containsKey(field)) { - return referFieldMap.get(field) + SPACE + "NO LIKE" + SPACE + "concat(%,concat("+value+",%)" + SPACE; + return referFieldMap.get(field) + SPACE + "NO LIKE" + SPACE + "%" + value + "%" + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + "NO LIKE " + "concat(%,concat"+getStringValueInWhere(field, value, attrVOMap)+",%)" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + "NO LIKE " + "%"+getStringValueInWhere(field, value, attrVOMap)+ "%" + SPACE; } } else if (key.endsWith("_ge")) { String field = UBCSSqlKeyword.getColumn(key, "_ge"); if (referFieldMap.containsKey(field)) { - return referFieldMap.get(field) + SPACE + " >= '" + value + "'" + SPACE; + return referFieldMap.get(field) + SPACE + " >= " + value + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + " >= '" + getStringValueInWhere(value, field, attrVOMap) + "'" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + " >= " + getStringValueInWhere(value, field, attrVOMap) + SPACE; } } else if (key.endsWith("_le")) { //璇存槑鏄�<=鐨勩�傛垜浠渶瑕佸厛鑾峰彇涓�涓� String field = UBCSSqlKeyword.getColumn(key, "_le"); if (referFieldMap.containsKey(field)) { - return referFieldMap.get(field) + SPACE + " <= '" + value + "'" + SPACE; + return referFieldMap.get(field) + SPACE + " <= " + value + "" + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + " <= '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + " <= " + getStringValueInWhere(field, value, attrVOMap) + SPACE; } } else if (key.endsWith("_gt")) { String field = UBCSSqlKeyword.getColumn(key, "_gt"); if (referFieldMap.containsKey(field)) { - return referFieldMap.get(field) + SPACE + "> '" + value + "'" + SPACE; + return referFieldMap.get(field) + SPACE + "> " + value + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + "> '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + "> " + getStringValueInWhere(field, value, attrVOMap) + SPACE; } } else if (key.endsWith("_lt")) { String field = UBCSSqlKeyword.getColumn(key, "_lt"); if (referFieldMap.containsKey(field)) { - return referFieldMap.get(field) + SPACE + "< '" + value + "'" + SPACE; + return referFieldMap.get(field) + SPACE + "< " + value + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + "< '" + getStringValueInWhere(field, value, attrVOMap) + "'" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + "< " + getStringValueInWhere(field, value, attrVOMap) + SPACE; } } else if (key.endsWith("_datege")) { String field = UBCSSqlKeyword.getColumn(key, "_datege"); @@ -1846,15 +1846,14 @@ } else { return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE; } - }else { + }else if(key.endsWith("_equal")) { String field = UBCSSqlKeyword.getColumn(key, "_equal"); if (referFieldMap.containsKey(field)) { - return referFieldMap.get(field) + SPACE + "= '" + value + "'" + SPACE; + return referFieldMap.get(field) + SPACE + "= " + value + SPACE; } else { - return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + getStringValueInWhere(field, value, attrVOMap)+ "'" + SPACE; + return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + SPACE; } - } - *//*else { + }else { if (referFieldMap.containsKey(key)) { //璇存槑鏄弬鐓х殑锛屾垜浠弬鐓х殑鏌ヨ閮借涓烘槸瀛楃涓诧紝濡傛灉鏄椂闂存牸寮忕殑鏌ヨ鑲畾鏈夐棶棰橈紝 String selectKey = referFieldMap.get(key); @@ -1862,11 +1861,11 @@ } else { return getSqlByValue(key, value, attrVOMap,btmType); } - }*//* + } } - return "";*/ + return ""; - if (key.endsWith("_begin")) { + /*if (key.endsWith("_begin")) { //璇存槑鏄�>=鐨勩�傛垜浠渶瑕佸厛鑾峰彇涓�涓� String field = (key.substring(0, key.length() - 6).toLowerCase().trim()); if (referFieldMap.containsKey(field)) { @@ -1892,7 +1891,7 @@ } else { return getSqlByValue(key, value, attrVOMap,btmType); } - } + }*/ } @@ -2183,31 +2182,32 @@ deleteBatchDTO.getCodeClassifyOid(), "涓婚搴撳垎绫荤殑涓婚敭"); CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(deleteBatchDTO.getCodeClassifyOid()); //鎵句笟鍔$被鍨嬶紝鐒跺悗浣跨敤涓婚敭鍘昏幏鍙栨暟鎹簱閲岀殑鏁版嵁 - Collection<String> oidCollection = null; + Collection<String> oidCollection = new ArrayList<>(); for (Collection<String> strings : VciBaseUtil.switchCollectionForOracleIn(deleteBatchDTO.getOidList())) { oidCollection.addAll(strings); } - List<CodeWupin> cboList = codeWupinMapper.selectBatchIds(oidCollection); - // List<ClientBusinessObject> cboList = new ArrayList<>(); -// oidCollection.stream().forEach(oids -> { -// Map<String, String> conditionMap = new HashMap<>(); +// List<CodeWupin> cboList = codeWupinMapper.selectBatchIds(oidCollection); + List<BaseModel> cboList = new ArrayList<>(); + oidCollection.stream().forEach(oids -> { + Map<String, String> conditionMap = new HashMap<>(); // conditionMap.put("oid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")"); -// List<ClientBusinessObject> cbos = boService.queryCBO(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), conditionMap); -// cboList.addAll(cbos); -// }); + List<BaseModel> cbos = selectByTypeAndOid(classifyFullInfo.getTopClassifyVO().getBtmtypeid(),oids); +// boService.queryCBO(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), conditionMap); + cboList.addAll(cbos); + }); if (CollectionUtils.isEmpty(cboList)) { throw new VciBaseException("鏁版嵁鍏ㄩ儴鍦ㄧ郴缁熶腑涓嶅瓨鍦�"); } - List<CodeWupin> editCBOs = cboList.stream().filter(s -> !CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); + List<BaseModel> editCBOs = cboList.stream().filter(s -> !CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(editCBOs)) { - CodeWupin cbo = editCBOs.get(0); + BaseModel cbo = editCBOs.get(0); throw new VciBaseException("缂栫爜涓簕0}绛夊叡{1}鏉℃暟鎹殑鐘舵�佷笉鏄痆{2}]锛屼笉鍏佽鍒犻櫎", new String[]{cbo.getId(), String.valueOf(editCBOs.size()), CodeDefaultLC.EDITING.getText()}); } //鍙兘鍒犻櫎鑷繁鍒涘缓鐨勬暟鎹� - String userId = AuthUtil.getUser().getUserName(); - for (CodeWupin clientBusinessObject : cboList) { + String userId = String.valueOf(AuthUtil.getUser().getUserId()); + for (BaseModel clientBusinessObject : cboList) { String creator = clientBusinessObject.getCreator(); if (!userId.equalsIgnoreCase(creator)) { throw new VciBaseException("缂栫爜涓�" + clientBusinessObject.getId() + "鐨勬暟鎹笉鏄綋鍓嶇敤鎴峰垱寤猴紝涓嶈兘鍒犻櫎锛�"); @@ -2219,7 +2219,14 @@ // WebUtil.setPersistence(false); // batchCBO.copyFromOther( productCodeService.recycleCode(classifyFullInfo.getCurrentClassifyVO().getBtmtypeid(), deleteBatchDTO.getOidList()); - baseMapper.deleteBatchIds(cboList); +// baseMapper.deleteBatchIds(cboList); + //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃 + R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getCurrentClassifyVO().getBtmtypeid())); + if (listR.getData().size() == 0) { + throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒"); + } + commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), + "'"+(StringUtils.join(cboList.stream().map(BaseModel::getOid).collect(Collectors.toSet()),"','"))+"'"); // ); // WebUtil.setPersistence(true); // boService.persistenceBatch(batchCBO); -- Gitblit v1.9.3