From dabd11d102b45ad1edc5f14302147a7e4aa6ad58 Mon Sep 17 00:00:00 2001
From: mamc <1428594221@qq.com>
Date: 星期五, 07 七月 2023 16:04:36 +0800
Subject: [PATCH] 修复参照列表bug

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java |  155 ++++++++++++++++++++++++++-------------------------
 1 files changed, 80 insertions(+), 75 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 97ddf3e..3fb88ff 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
@@ -362,10 +362,10 @@
         // 鍥炴敹闇�瑕佷笟鍔℃暟鎹垹闄�
         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) {
-				throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-			}
-			commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid()));
+            if (!listR.isSuccess() || listR.getData().size() == 0) {
+                throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+            }
+            commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid()));
         } else {
             for (BaseModel baseModel : baseModels) {
                 baseModel.setLcStatus(baseModelDTO.getLcStatus());
@@ -646,9 +646,9 @@
 //			final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()) + " t where 1 = 1 "};
             R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getTopClassifyVO().getBtmtypeid()));
 //				String referTable = VciBaseUtil.getTableName(referVO.getReferType());
-			if (!listR.isSuccess() || listR.getData().size() == 0) {
-				throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-			}
+            if (!listR.isSuccess() || listR.getData().size() == 0) {
+                throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+            }
             final String[] sql = {"select count(*) from " + listR.getData().get(0).getTableName() + " t where 1 = 1 "};
             conditionMap.forEach((key, value) -> {
                 sql[0] += " and " + key + " = " + value;
@@ -1599,9 +1599,9 @@
                 //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
                 R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referVO.getReferType()));
 //				String referTable = VciBaseUtil.getTableName(referVO.getReferType());
-				if (!listR.isSuccess() || listR.getData().size() == 0) {
-					throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-				}
+                if (!listR.isSuccess() || listR.getData().size() == 0) {
+                    throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+                }
                 String referTable = listR.getData().get(0).getTableName();
 //				String referTable = "pl_code_classify";
                 String referTableNick = attrVO.getId() + "0";
@@ -1698,9 +1698,9 @@
         }
 //		String tableName = VciBaseUtil.getTableName(btmType);
         R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
-		if (!listR.isSuccess() || listR.getData().size() == 0) {
-			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-		}
+        if (!listR.isSuccess() || listR.getData().size() == 0) {
+            throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+        }
 //				String referTable = VciBaseUtil.getTableName(referVO.getReferType());
         String tableName = listR.getData().get(0).getTableName();
         String sql = "select " + selectFieldList.stream().map(s -> (s.contains(".") ? s : ("t." + s))).collect(Collectors.joining(","))
@@ -1875,7 +1875,7 @@
 //                    String selectKey = referFieldMap.get(key);
 //                    return getSqlByValue(selectKey, value, null, btmType);
 //                } else {
-                    return getSqlByValue(key, value, attrVOMap, btmType);
+                return getSqlByValue(key, value, attrVOMap, btmType);
 //                }
             }
         }
@@ -1930,7 +1930,7 @@
             }
             if (field.contains(".") && attrVOMap != null && attrVOMap.containsKey(field.split("\\.")[0].toLowerCase(Locale.ROOT))) {
                 //鏄弬鐓�
-				return "'" + value + "'";
+                return "'" + value + "'";
             } else {
                 return value;
             }
@@ -1954,13 +1954,13 @@
                         || VciFieldTypeEnum.VTInteger.equals(fieldTypeEnum)) {
                     return value;
                 } else {
-					return "'" + value + "'";
+                    return "'" + value + "'";
                 }
             } else {
                 if ((value.startsWith("(") && value.endsWith(")")) || (value.startsWith("'") && value.endsWith("'"))) {
                     return value;
                 }
-				return "'" + value + "'";
+                return "'" + value + "'";
             }
         }
 
@@ -2239,9 +2239,9 @@
 //		baseMapper.deleteBatchIds(cboList);
         //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
         R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getCurrentClassifyVO().getBtmtypeid()));
-		if (!listR.isSuccess() || listR.getData().size() == 0) {
-			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-		}
+        if (!listR.isSuccess() || listR.getData().size() == 0) {
+            throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+        }
         commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(),
                 "'" + (StringUtils.join(cboList.stream().map(BaseModel::getOid).collect(Collectors.toSet()), "','")) + "'");
         //		);
@@ -2445,27 +2445,27 @@
      */
     @Override
     public R markDataPassing(String oid, String btmName, Boolean pass) {
-		VciBaseUtil.alertNotNull(oid, "涓氬姟鏁版嵁涓婚敭", btmName, "涓氬姟绫诲瀷", pass, "鏍囪绫诲瀷");
-		boolean flag = true;
-		try {
-			List<BaseModel> datas = selectByTypeAndOid(btmName, oid);
-			if (datas.size() == 0) {
-				return R.fail(DATA_OID_NOT_EXIST);
-			}
-			datas.stream().forEach(data->data.getData().put("PASSING",String.valueOf(pass)));
-			R r = updateBatchByBaseModel(btmName, datas);
-			if(!r.isSuccess()){
-				flag = false;
-			}
-		} catch (Exception e) {
-			flag = false;
-			e.printStackTrace();
-		}
-		if (flag) {
-			return R.success("鏍囪鎴愬姛锛�");
-		} else {
-			return R.fail("鏍囪澶辫触锛�");
-		}
+        VciBaseUtil.alertNotNull(oid, "涓氬姟鏁版嵁涓婚敭", btmName, "涓氬姟绫诲瀷", pass, "鏍囪绫诲瀷");
+        boolean flag = true;
+        try {
+            List<BaseModel> datas = selectByTypeAndOid(btmName, oid);
+            if (datas.size() == 0) {
+                return R.fail(DATA_OID_NOT_EXIST);
+            }
+            datas.stream().forEach(data -> data.getData().put("PASSING", String.valueOf(pass)));
+            R r = updateBatchByBaseModel(btmName, datas);
+            if (!r.isSuccess()) {
+                flag = false;
+            }
+        } catch (Exception e) {
+            flag = false;
+            e.printStackTrace();
+        }
+        if (flag) {
+            return R.success("鏍囪鎴愬姛锛�");
+        } else {
+            return R.fail("鏍囪澶辫触锛�");
+        }
     }
 
     /**
@@ -2777,18 +2777,18 @@
         }
         List<String> oidList = VciBaseUtil.str2List(conditionMap.get("oid"));
 
-        List<BaseModel> cbos = selectByTypeAndOid(btmType,conditionMap.get("oid"));
+        List<BaseModel> cbos = selectByTypeAndOid(btmType, conditionMap.get("oid"));
         if (CollectionUtils.isEmpty(cbos)) {
             throw new VciBaseException("鏈壘鍒颁笟鍔℃暟鎹�");
         }
-		BaseModel cbo = cbos.get(0);
+        BaseModel cbo = cbos.get(0);
         String templateOid = cbo.getData().get("CODETEMPLATEOID");
 
         QueryWrapper<CodeClassifyTemplate> codeClassifyTemplateWrapper = new QueryWrapper<>();
         codeClassifyTemplateWrapper.eq("oid", templateOid);
         List<CodeClassifyTemplate> templateDOList = templateService.list(codeClassifyTemplateWrapper);
 
-		QueryWrapper<CodeClassifyTemplateAttr> codeClassifyTemplateAttrWrapper = new QueryWrapper<>();
+        QueryWrapper<CodeClassifyTemplateAttr> codeClassifyTemplateAttrWrapper = new QueryWrapper<>();
         codeClassifyTemplateAttrWrapper.eq("CLASSIFYTEMPLATEOID", templateOid);
 
         List<CodeClassifyTemplateAttr> attrDOList = codeClassifyTemplateAttrService.list(codeClassifyTemplateAttrWrapper);
@@ -3176,9 +3176,9 @@
     public Integer insertBatchByType(String btmType, List<BaseModel> baseModels) {
         //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
         R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
-		if (!listR.isSuccess() || listR.getData().size() == 0) {
-			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-		}
+        if (!listR.isSuccess() || listR.getData().size() == 0) {
+            throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+        }
         //灏哹ean杞负map,mybatis缁熶竴澶勭悊
         List<Map<String, String>> maps = new ArrayList<>();
         baseModels.stream().forEach(model -> {
@@ -3203,9 +3203,9 @@
 
         //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
         R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
-		if (!listR.isSuccess() || listR.getData().size() == 0) {
-			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-		}
+        if (!listR.isSuccess() || listR.getData().size() == 0) {
+            throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+        }
         //鏌ヨ鏁版嵁
         List<Map> maps = commonsMapper.selectBySql("select * from " + listR.getData().get(0).getTableName() + " where oid in ("
                 + VciBaseUtil.toInSql(oids.toString()) + ")");
@@ -3261,9 +3261,9 @@
      */
     public BaseModel createBaseModel(String boName) {
         R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(boName));
-		if (!listR.isSuccess() || listR.getData().size() == 0) {
-			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-		}
+        if (!listR.isSuccess() || listR.getData().size() == 0) {
+            throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+        }
         String userName = String.valueOf(AuthUtil.getUser().getUserId());
         BaseModel bo = new BaseModel();
 //		bo.setOid(VciBaseUtil.getPk());
@@ -3331,9 +3331,9 @@
     public R updateBatchByBaseModel(String btmType, List<BaseModel> baseModels) {
         //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
         R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(btmType));
-		if (!listR.isSuccess() || listR.getData().size() == 0) {
-			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-		}
+        if (!listR.isSuccess() || listR.getData().size() == 0) {
+            throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+        }
         //灏哹ean杞负map,mybatis缁熶竴澶勭悊
         List<Map<String, String>> maps = new ArrayList<>();
 
@@ -3361,17 +3361,17 @@
      * @return 鍒楄〃鏁版嵁
      */
     @Override
-    public IPage<BaseModel> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) throws VciBaseException{
-		//checkReferConfig(referConfigVO);
+    public IPage<BaseModel> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) throws VciBaseException {
+        //checkReferConfig(referConfigVO);
         //浣跨敤涓氬姟绫诲瀷鏌ヨ
         R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(referConfigVO.getReferType());
-		if (allAttributeByBtmId.getCode() != 200) {
-			throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒锛�");
-		}
-		if (Func.isEmpty(allAttributeByBtmId.getData())) {
-			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-		}
-		BtmTypeVO btmTypeVO = allAttributeByBtmId.getData();
+        if (allAttributeByBtmId.getCode() != 200) {
+            throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒锛�");
+        }
+        if (Func.isEmpty(allAttributeByBtmId.getData())) {
+            throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+        }
+        BtmTypeVO btmTypeVO = allAttributeByBtmId.getData();
         /**
          * 鍔犱笂鏌ヨ鏈�鏂扮増娆�
          */
@@ -3388,10 +3388,10 @@
 
         R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referConfigVO.getReferType()));
         if (listR.getCode() != 200) {
-            throw new ServiceException(Func.isNotBlank(listR.getMsg()) ? listR.getMsg():"涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒锛�");
+            throw new ServiceException(Func.isNotBlank(listR.getMsg()) ? listR.getMsg() : "涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒锛�");
         }
         if (listR.getData().isEmpty()) {
-            throw new VciBaseException(Func.isNotBlank(listR.getMsg()) ? listR.getMsg():"浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+            throw new VciBaseException(Func.isNotBlank(listR.getMsg()) ? listR.getMsg() : "浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
         }
         String namesql = "";
         if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("name"))) {
@@ -3411,13 +3411,18 @@
         if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("lcstatus"))) {
             lcstatusSql = "lcstatus =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lcstatus"));
         }
+        String where = "";
+
+        if (StringUtils.isNotBlank(codesql) || StringUtils.isNotBlank(lcstatusSql) || StringUtils.isNotBlank(namesql)) {
+             where="where ";
+        }
 
         String num1 = baseQueryObject.getPage() * baseQueryObject.getLimit() + "";
         String num2 = ((baseQueryObject.getPage()) - 1) * baseQueryObject.getLimit() + 1 + "";
 
         List<Map> maps = commonsMapper.selectBySql("select * from ( select rownum rn, t.* from (select * from " + listR.getData().get(0).getTableName() + SPACE
                 + (StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId()) ? (" where lastr = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastr").toString())
-				+ " and lastv =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and":" where") + SPACE
+				+ " and lastv =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and": where) + SPACE
                 + lcstatusSql + namesql + codesql + ") t where rownum <=" + num1 + ") where rn >=" + num2
         );
         List<BaseModel> baseModels = new ArrayList<>();
@@ -3461,12 +3466,12 @@
         }
         int total = commonsMapper.queryCountBySql("select count(*) from " + listR.getData().get(0).getTableName() + SPACE
                 + (StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId()) ? (" where lastr = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastr").toString())
-                + "and lastv = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and":" where") + SPACE
+                + "and lastv = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and" : where) + SPACE
                 + lcstatusSql + namesql + codesql
         );
-		IPage<BaseModel> objectDataGrid = new Page<>();
+        IPage<BaseModel> objectDataGrid = new Page<>();
         objectDataGrid.setPages(baseQueryObject.getPage());
-		objectDataGrid.setCurrent(baseQueryObject.getPage());
+        objectDataGrid.setCurrent(baseQueryObject.getPage());
         objectDataGrid.setRecords(baseModels);
         objectDataGrid.setSize(baseQueryObject.getLimit());
         objectDataGrid.setTotal(total);
@@ -3598,10 +3603,10 @@
         toBo.setVersionRule(fromBo.getVersionRule());
 //		RevisionValueObject rvObj = this.getNextRevision(fromBo.getBtmName(), fromBo.getNameoid(), item.revRuleName, item.revInput, revisionVal);
         R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(fromBo.getBtmname()));
-		if (!listR.isSuccess() || listR.getData().size() == 0) {
-			throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
-		}
-		Map<String, Object> nextRevision = commonsMapper.getNextRevision(listR.getData().get(0).getTableName(), fromBo.getNameOid());
+        if (!listR.isSuccess() || listR.getData().size() == 0) {
+            throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+        }
+        Map<String, Object> nextRevision = commonsMapper.getNextRevision(listR.getData().get(0).getTableName(), fromBo.getNameOid());
         toBo.setRevisionSeq(Integer.parseInt(nextRevision.get("REVISIONSEQ").toString()));
         toBo.setRevisionValue(nextRevision.get("REVISIONVAL").toString());
 //		VersionValueObject versionObj = this.getVersionValue(item.verRuleName);

--
Gitblit v1.9.3