From 02e7ca80d849ad8a99974bd08f9e68a78f36d601 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 16 一月 2024 21:51:45 +0800
Subject: [PATCH] 分类授权数据授权界面编写与接口修改

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java |  214 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 168 insertions(+), 46 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 2ddc23a..77d5549 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
@@ -25,7 +25,6 @@
 import com.vci.ubcs.code.vo.pagemodel.UITablePageVO;
 import com.vci.ubcs.code.vo.pagemodel.*;
 import com.vci.ubcs.code.wrapper.BaseMdodelWrapper;
-import com.vci.ubcs.code.wrapper.CodeAllcodeWrapper;
 import com.vci.ubcs.flow.core.dto.FlowStatusDTO;
 import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient;
 import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
@@ -42,10 +41,7 @@
 import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
 import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
-import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
-import com.vci.ubcs.starter.util.SaveLogUtil;
-import com.vci.ubcs.starter.util.SpecialCharacterConverter;
-import com.vci.ubcs.starter.util.UBCSSqlKeyword;
+import com.vci.ubcs.starter.util.*;
 import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
 import com.vci.ubcs.starter.web.constant.RegExpConstant;
 import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
@@ -62,11 +58,12 @@
 import com.vci.ubcs.system.user.feign.IUserClient;
 import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
 import oracle.sql.TIMESTAMP;
+import org.hibernate.validator.constraints.NotEmpty;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springblade.core.cache.utils.CacheUtil;
-import org.springblade.core.log.annotation.OperateLog;
 import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
@@ -302,6 +299,7 @@
      * 绌烘牸
      */
     public static final String SPACE = " ";
+
     /**
      * 缂撳瓨锝嬶絽锝�
      */
@@ -452,8 +450,14 @@
 					throw new VciBaseException("鏇存柊鏁版嵁鍑洪敊锛岄噸璇曪紒"+r.getMsg());
 				}
 			}
+			// 鍒氬ソ椤哄簭鏄竴鑷寸殑锛屾墍浠ョ洿鎺ユ寜鐓odeallcode鐨勯『搴忔潵鎷夸笟鍔℃暟鎹�
+			int i = -1;
 			for (CodeAllCode codeCbo : codeCbos) {
 				codeCbo.setLcStatus(baseModelDTO.getLcStatus());
+				// 濡傛灉鏄洖鏀讹紝灏遍渶瑕佸皢涓氬姟鏁版嵁瀛樺偍鍒扮爜鍊艰〃涓�
+				if(baseModelDTO.getLcStatus().equals(FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_TAKEBACK)){
+					codeCbo.setBusinessData(JSON.toJSONString(baseModels.get(++i)));
+				}
 			}
 			codeAllCodeService.updateBatchById(codeCbos);
 
@@ -504,6 +508,7 @@
         CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
         CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
         CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid());
+		final BladeUser user = AuthUtil.getUser();
         //1.鍒ゆ柇瑙勫垯涓櫎浜嗘祦姘寸爜娈碉紝鏄惁鏈夊叾浠栫爜娈�
         checkSecValueOnOrder(ruleVO, orderDTO);
         //2.鍒ゆ柇蹇呰緭椤�
@@ -534,13 +539,13 @@
 		//cbo.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));銆�
 		if(authUser) {
 			// 瑕佹眰鏄剧ず璐﹀彿锛屾墍浠ュ仛浜嗘洿鏀�
-			cbo.setCreator(String.valueOf(AuthUtil.getUser().getAccount()));
-			cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getAccount()));
+			cbo.setCreator(String.valueOf(user.getAccount()));
+			cbo.setLastModifier(String.valueOf(user.getAccount()));
 		}else{
 			cbo.setCreator(orderDTO.getCreator());
 			cbo.setLastModifier(orderDTO.getLastModifier());
 		}
-		cbo.setTenantId(AuthUtil.getTenantId());
+		cbo.setTenantId(user.getTenantId());
 		if(StringUtils.isNotBlank(orderDTO.getLcStatus())||StringUtils.isNotBlank(orderDTO.getData().get("lcStatus"))){
 			cbo.setLcStatus(StringUtils.isNotBlank(orderDTO.getLcStatus())?orderDTO.getLcStatus():orderDTO.getData().get("lcStatus"));
 		}
@@ -553,7 +558,7 @@
         cbo.setDescription(orderDTO.getDescription());
         cboList.add(cbo);
 
-        List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), cboList);
+        List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), cboList,user);
 
         batchSaveSelectChar(templateVO, cboList);
         return codeList.size() > 0 ? codeList.get(0) : "";
@@ -702,7 +707,6 @@
             });
         }
     }
-
 
     /**
      * 璁剧疆鏂扮殑鍊煎埌鐢宠瀵硅薄涓�
@@ -1141,6 +1145,76 @@
 	@Override
 	public String addSaveBZCodeNotauthUser(CodeBZApplyDTO codeBZApplyDTO, boolean authUser) throws Exception {
 		return	addSaveBZCode(codeBZApplyDTO,authUser);
+	}
+
+	/**
+	 * 鑾峰彇缁熻鍒嗘瀽鏁版嵁
+	 * @param btmNames 涓氬姟绫诲瀷
+	 * @return 鏁版嵁闆�
+	 */
+	@Override
+	public R getStatisticAnalysis(String btmNames) {
+		//鏌ヨ涓氬姟绫诲瀷瀵瑰簲鐨勬暟鎹簱琛�
+		R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Arrays.asList(btmNames.split(",")));
+		if (!listR.isSuccess() || listR.getData().size() == 0) {
+			throw new ServiceException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+		}
+		List tableData = new ArrayList();
+		for (BtmTypeVO datum : listR.getData()) {
+			String sql = "select count(*) countNum, to_char(CREATETIME, 'mm') countDate\n" +
+							"from "+ datum.getTableName() +"\n" +
+							"where CREATETIME >= to_date(EXTRACT(YEAR FROM SYSDATE) || '-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND LASTV = '1'\n" +
+							"group by to_char(CREATETIME, 'mm')\n" +
+							"order by to_char(CREATETIME, 'mm')";
+			//鏌ヨ鍑洪渶瑕佸鐞嗙殑鏁版嵁
+			List<Map> maps = commonsMapper.selectBySql(sql);
+
+			//褰撳勾姣忔湀鏈堜唤涔嬪墠涔嬪拰
+			List<Integer> monthCount = new ArrayList<>(12);
+			//褰撳勾姣忔湀鐨勬湀浠芥暟鎹�
+			List<Integer> month = new ArrayList<>();
+			//鑾峰彇褰撳墠鏈堢殑鏁板瓧
+			Calendar instance = Calendar.getInstance();
+			int nowmonth = instance.get(Calendar.MONTH) + 1;
+			if(maps.size() == 0){
+				nowmonth = 0;
+			}
+			//浠�1鍒�12鏈堣繘琛屽鐞�
+			for (Integer i = 1; i <= 12; i++) {
+				//褰撳墠鏈堝悗鎵�鏈夋暟鎹缃负0
+				if(i>nowmonth){
+					monthCount.add(0);
+					month.add(0);
+					continue;
+				}
+				//褰撳墠鏈堜唤涔嬪墠涔嬪拰
+				Integer count = 0;
+				//褰撳墠鏈堜唤鏁版嵁
+				Integer sameMonth = 0;
+				//瀵规暟鎹簱鏌ョ殑鏁版嵁杩涜澶勭悊锛屽褰撳墠鏈堜唤杩涜绱姞
+				for (Map map : maps) {
+					Integer mounDate = Integer.parseInt(String.valueOf(map.get("COUNTDATE")));
+					if(mounDate <= i){
+						count += Integer.parseInt(String.valueOf(map.get("COUNTNUM")));
+					}
+					if (mounDate == i) {
+						sameMonth = Integer.parseInt(String.valueOf(map.get("COUNTNUM")));
+					}
+				}
+				monthCount.add(count);
+				month.add(sameMonth);
+			}
+			//瀵规暟鎹繘琛屾暣鍚�
+			HashMap<String,Object> menuData = new HashMap<>();
+			menuData.put("menuName",datum.getName());
+			menuData.put("codeType",null);
+			ArrayList monthData = new ArrayList();
+			monthData.add(monthCount);
+			monthData.add(month);
+			menuData.put("menuData",monthData);
+			tableData.add(menuData);
+		}
+		return R.data(tableData);
 	}
 
 	/**
@@ -2435,7 +2509,14 @@
                 } else {
                     return (field.contains(".") ? "" : "t.") + field + SPACE + "= " + getStringValueInWhere(field, value, attrVOMap) + "" + SPACE;
                 }
-            } else {
+            } else if(key.endsWith("_in")){
+				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 + "= " + getStringValueInWhere(field, value, attrVOMap) + "" + SPACE;
+				}
+			}else {
 //                if (referFieldMap.containsKey(key)) {
 //                    //璇存槑鏄弬鐓х殑锛屾垜浠弬鐓х殑鏌ヨ閮借涓烘槸瀛楃涓诧紝濡傛灉鏄椂闂存牸寮忕殑鏌ヨ鑲畾鏈夐棶棰橈紝
 //                    String selectKey = referFieldMap.get(key);
@@ -2508,12 +2589,24 @@
                 }
                 DateConverter dateConverter = new DateConverter();
                 if (VciFieldTypeEnum.VTDateTime.equals(fieldTypeEnum)) {
-                    //瀹為檯涓婏紝鏁版嵁搴撻兘鏄痶imestamp鐨勭被鍨�.
-                    dateConverter.setAsText(value);
-                    return "to_date('" + dateConverter.getAsText(VciDateUtil.DateTimeFormat) + "','" + DATETIME_FORMAT + "')";
+                    //瀹為檯涓婏紝鏁版嵁搴撻兘鏄痶imestamp鐨勭被鍨�. TODO:铏界劧娌¤兘瑙e喅鏌ヨ鏃ユ湡鐨勯棶棰橈紝浣嗘槸鑳芥殏鏃惰В鍐虫姤閿欓棶棰�
+					if(value.contains("*")){
+						value = value.replace("*","%");
+						return "'" + value + "'";
+					}else{
+						value = value.replace("*","");
+						dateConverter.setAsText(value);
+						return "to_date('" + dateConverter.getAsText(VciDateUtil.DateTimeFormat) + "','" + DATETIME_FORMAT + "')";
+					}
                 } else if (VciFieldTypeEnum.VTDate.equals(fieldTypeEnum)) {
-                    dateConverter.setAsText(value);
-                    return "to_date('" + dateConverter.getAsText(VciDateUtil.DateFormat) + "','" + DATE_FORMAT + "')";
+					if(value.contains("*")){
+						value = value.replace("*","%");
+						return "'" + value + "'";
+					}else {
+						value = value.replace("*","");
+						dateConverter.setAsText(value);
+						return "to_date('" + dateConverter.getAsText(VciDateUtil.DateFormat) + "','" + DATE_FORMAT + "')";
+					}
                 } else if (VciFieldTypeEnum.VTDouble.equals(fieldTypeEnum)
                         || VciFieldTypeEnum.VTLong.equals(fieldTypeEnum)
                         || VciFieldTypeEnum.VTInteger.equals(fieldTypeEnum)) {
@@ -2880,7 +2973,17 @@
         }
         conditionMap.put("t.lastr", "1");
         conditionMap.put("t.lastv", "1");
-        return queryGrid(btmTypeId, templateVO, conditionMap, pageHelper);
+		DataGrid<Map<String, String>> mapDataGrid = queryGrid(btmTypeId, templateVO, conditionMap, pageHelper);
+		//澶勭悊杩斿洖鏁版嵁涓庢ā鏉挎暟鎹厤缃殑瀛楁涓嶄竴鏍烽棶棰�
+		templateVO.getAttributes().stream().forEach(e->{
+			for (Map<String, String> datum : mapDataGrid.getData()) {
+				if(datum.containsKey(e.getId().toLowerCase()) && !datum.containsKey(e.getId())){
+					datum.put(e.getId(),datum.get(e.getId().toLowerCase()));
+					datum.remove(e.getId().toLowerCase());
+				}
+			}
+		});
+		return mapDataGrid;
 //        List<String> selectFieldList = templateVO.getAttributes().stream().map(CodeClassifyTemplateAttrVO::getId).collect(Collectors.toList());
 //        //鍙傜収璁╁钩鍙扮洿鎺ユ煡璇㈠氨琛�
 //        List<String> finalSelectFieldList = selectFieldList;
@@ -3109,6 +3212,15 @@
 			updateBatchByBaseModel(oldCbo.getBtmname(), Collections.singletonList(oldCbo));
 			// 鎻掑叆鏂扮殑鏁版嵁
             insertBatchByType(cbo.getBtmname(), Collections.singletonList(cbo));
+			//澶勭悊鐮佸�艰〃锛屽鐮佸�艰〃杩涜澶勭悊鏇挎崲鍒涘缓鏁版嵁鐨刼id
+			QueryWrapper<CodeAllCode> wrapper = new QueryWrapper<>();
+			wrapper.eq("CREATECODEOID",orderDTO.getCopyFromVersion());
+			CodeAllCode codeAllCode = codeAllCodeService.getOne(wrapper);
+			codeAllCode.setCreateCodeOid(cbo.getOid());
+			codeAllCode.setLastModifyTime(new Date());
+			codeAllCode.setTs(new Date());
+			codeAllCode.setLastModifier(AuthUtil.getUser().getUserName());
+			codeAllCodeService.updateById(codeAllCode);
 			// 璁板綍鏁版嵁鏇存敼鏃ュ織
 			saveLogUtil.operateLog("鏁版嵁鏇存敼",false, StringUtil.format("{}\n淇敼涓�:\n{}",JSON.toJSONString(Collections.singletonList(oldCbo)),JSON.toJSONString(Collections.singletonList(cbo))));
 		} catch (Exception vciError) {
@@ -3314,6 +3426,16 @@
         dataList.add(cbo);
         wrapperData(dataList, templateVO, sqlBO.getSelectFieldList(), true);
         R<List<Map<String, String>>> result = R.data(Collections.singletonList(cbo));
+		//澶勭悊杩斿洖鏁版嵁涓庢ā鏉挎暟鎹厤缃殑瀛楁涓嶄竴鏍烽棶棰�
+		templateVO.getAttributes().stream().forEach(e->{
+			for (Map<String, String> datum : result.getData()) {
+				if(datum.containsKey(e.getId().toLowerCase()) && !datum.containsKey(e.getId())){
+					datum.put(e.getId(),datum.get(e.getId().toLowerCase()));
+					datum.remove(e.getId().toLowerCase());
+				}
+			}
+		});
+
         //鎴戜滑瑕佺湅鏄惁涓嶆槸鍗囩増鐨勶紝鍗囩増鐨勮瘽锛岄渶瑕佸姣斾笉鐩哥瓑鐨勫睘鎬�
 /*        String copy = cbo.get("copyfromversion");
 //		if (StringUtils.isBlank(copy)) {
@@ -3774,11 +3896,10 @@
     @Override
     public MdmUIInfoVO getUIInfoByClassifyOid(String codeClassifyOid, String functionId) {
         VciBaseUtil.alertNotNull(codeClassifyOid, "涓婚搴撳垎绫讳富閿�");
-
         MdmUIInfoVO uiInfoVO = getTableDefineByTemplateVO(getUsedTemplateByClassifyOid(codeClassifyOid));
         uiInfoVO.setLeaf(classifyService.countChildrenByClassifyOid(codeClassifyOid) == 0);
         if (StringUtils.isNotBlank(functionId) && !"~".equalsIgnoreCase(functionId)) {
-            List<Menu> buttonVOS = iSysClient.getMenuButtonByType(uiInfoVO.getTemplateVO().getBtmTypeId()).getData();
+            List<Menu> buttonVOS = iSysClient.getMenuButtonByType(codeClassifyOid,uiInfoVO.getTemplateVO().getBtmTypeId(),"data_auth").getData();
             //			List<SmOperationVO> operationVOS = operationService.listButtonByFunctionId(functionId);
             //			if (operationVOS == null) {
             //				operationVOS = new ArrayList<>();
@@ -4088,7 +4209,7 @@
         bo.setFirstV("1");
         bo.setLastV("1");
         bo.setRevisionRule(listR.getData().get(0).getRevisionRuleId());
-        bo.setVersionRule("".equals(listR.getData().get(0).getVersionRule())?"0":listR.getData().get(0).getVersionRule());
+        bo.setVersionRule("".equals(listR.getData().get(0).getVersionRule())?"1":listR.getData().get(0).getVersionRule());
         if (StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId())) {
             R<List<RevisionRuleVO>> revisionRuleVO = revisionRuleClient
                     .selectByIdCollection(Collections.singletonList(listR.getData().get(0).getRevisionRuleId().toLowerCase()));
@@ -4109,7 +4230,7 @@
         bo.setId("");
         bo.setName("");
         bo.setDescription("");
-        bo.setOwner("1");
+        bo.setOwner(AuthUtil.getUser().getUserId().toString());
 //		bo.setCheckinby(userName);
         bo.setCopyFromVersion("");
 //		this.initTypeAttributeValue(bo,btmTypeVO);
@@ -4275,37 +4396,38 @@
             throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
         }
 		// TODO:鍙傜収閰嶇疆鐨勬ā绯婃煡璇㈣繃婊ゆ潯浠舵殏鏈鐞�
-        String namesql = "";
-        if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("name"))) {
-            String s = baseQueryObject.getConditionMap().get("name");
-            s = "%" + s + "%";
-            namesql = "and name like" + VciBaseUtil.toInSql(s);
-        }
+		/*        String namesql = "";
+				if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("name"))) {
+					String s = baseQueryObject.getConditionMap().get("name");
+					s = "%" + s + "%";
+					namesql = "and name like" + VciBaseUtil.toInSql(s);
+				}
 
-        String codesql = "";
-        if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("id"))) {
-            String s = baseQueryObject.getConditionMap().get("id");
-            s = "%" + s + "%";
-            codesql = "and id like" + VciBaseUtil.toInSql(s);
-        }
+				String codesql = "";
+				if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("id"))) {
+					String s = baseQueryObject.getConditionMap().get("id");
+					s = "%" + s + "%";
+					codesql = "and id like" + VciBaseUtil.toInSql(s);
+				}
 
-        String lcstatusSql = "";
-        if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("lcstatus"))) {
-            lcstatusSql = "and lcstatus =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lcstatus"));
-        }
-//        String where = "";
+				String lcstatusSql = "";
+				if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("lcstatus"))) {
+					lcstatusSql = "and lcstatus =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lcstatus"));
+				}*/
+		//        String where = "";
 
-//        if (StringUtils.isNotBlank(codesql) || StringUtils.isNotBlank(lcstatusSql) || StringUtils.isNotBlank(namesql)) {
-//            where = "where ";
-//        }
+		//        if (StringUtils.isNotBlank(codesql) || StringUtils.isNotBlank(lcstatusSql) || StringUtils.isNotBlank(namesql)) {
+		//            where = "where ";
+		//        }
+		String whereSqlByMap = UBCSCondition.getWhereSqlByMap(baseQueryObject.getConditionMap());
 
-        String num1 = baseQueryObject.getPage() * baseQueryObject.getLimit() + "";
+		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
+        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 + "1=1 "
-                + lcstatusSql + namesql + codesql + ") t "+ (baseQueryObject.getLimit()==-1?")": ("where rownum <=" + num1 + ") where rn >=" + num2)
+                + (Func.isNotBlank(whereSqlByMap) ? "and "+whereSqlByMap:"") + ") t "+ (baseQueryObject.getLimit()==-1?")": ("where rownum <=" + num1 + ") where rn >=" + num2)
 		));
         List<BaseModel> baseModels = new ArrayList<>();
         //灏嗘煡璇㈠埌鐨勬暟鎹浆鎹负basemodel锛屼娇鐢ㄧ殑鍙嶅皠鏂瑰紡鏉ヨ繘琛屽垱寤虹殑
@@ -4354,7 +4476,7 @@
         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 + "1=1 "
-                + lcstatusSql + namesql + codesql
+				+ (Func.isNotBlank(whereSqlByMap) ? "and "+whereSqlByMap:"")
         );
         IPage<BaseModelVO> objectDataGrid = new Page<>();
         objectDataGrid.setPages(baseQueryObject.getPage());

--
Gitblit v1.9.3