From 1fd5515e4fff151b54a671135e163a22ee8bd3e1 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 26 六月 2023 20:08:35 +0800
Subject: [PATCH] 业务室数据
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 321 +++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 236 insertions(+), 85 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 bc74638..b34af4d 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
@@ -3,10 +3,9 @@
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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.sun.corba.se.impl.orbutil.ObjectUtility;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
@@ -24,7 +23,6 @@
import com.vci.ubcs.code.vo.pagemodel.UITablePageVO;
import com.vci.ubcs.code.vo.pagemodel.*;
import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant;
-import com.vci.ubcs.omd.entity.BtmTypeAttribute;
import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.feign.*;
import com.vci.ubcs.omd.utils.VciOmdUtil;
@@ -37,6 +35,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.UBCSSqlKeyword;
import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
import com.vci.ubcs.starter.web.constant.RegExpConstant;
import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
@@ -53,13 +52,15 @@
import com.vci.ubcs.system.user.feign.IUserClient;
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
import oracle.sql.TIMESTAMP;
-import org.apache.commons.collections4.MapUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.Cache;
@@ -69,21 +70,15 @@
import javax.annotation.Resource;
import java.beans.BeanInfo;
-import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
-import java.sql.SQLException;
-import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Supplier;
import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
@@ -144,6 +139,15 @@
*/
@Autowired
private FormulaServiceImpl formulaService;
+
+
+ /**
+ * 瀵筼md涓彁渚涚殑feign鎺ュ彛杩涜璋冪敤锛屼互鍙婂鐞嗙浉鍏抽�昏緫
+ */
+ @Autowired
+ ICodeReferBtmTypeService codeReferBtmTypeService;
+
+
/**
* 鐩镐技椤规煡璇㈣鍒�
@@ -332,6 +336,7 @@
}
return comboboxKVs;
}
+
/**
* 淇敼鐘舵��
*
@@ -876,21 +881,7 @@
}
}
- /**
- * 鏄惁涓轰慨鏀瑰拷鐣ョ殑灞炴��
- * @param attrName 灞炴�х殑鍚嶅瓧
- * @return true 琛ㄧず搴旇蹇界暐
- */
- @Override
- public boolean checkUnAttrUnEdit(String attrName){
- return (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName)
- ||"ts".equalsIgnoreCase(attrName)
- || "lastmodifier".equalsIgnoreCase(attrName)
- || "lastmodifytime".equalsIgnoreCase(attrName)
- || "createtime".equalsIgnoreCase(attrName)
- || "checkintime".equalsIgnoreCase(attrName)
- ||"checkouttime".equalsIgnoreCase(attrName));
- }
+
/**
* 淇濆瓨鍙緭鍙�夌殑淇℃伅
@@ -1667,10 +1658,10 @@
});
andCondtionMap.forEach((k, v) -> {
- andSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap));
+ andSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap,btmType));
});
orConditionMap.forEach((k, v) -> {
- orSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap));
+ orSql.add(getConditionSql(k.toLowerCase(), v, referFieldMap, attrVOMap,btmType));
});
}
//缁勫悎璧锋潵
@@ -1742,8 +1733,149 @@
* @param attrVOMap 灞炴�х殑鏄犲皠
* @return Sql璇彞
*/
- private String getConditionSql(String key, String value, Map<String/**鍙傜収鐨勫睘鎬�**/, String/**瀹為檯鐨勫睘鎬�**/> referFieldMap, Map<String, CodeClassifyTemplateAttrVO> attrVOMap) {
- if (key.endsWith("_begin")) {
+ 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 (key.endsWith("_like")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_like");
+ if (referFieldMap.containsKey(field)) {
+ //璇存槑杩樻槸鍙傜収閲岄潰鐨勶紝鎴戜滑榛樿杩欑鎯呭喌涓嬮兘鏄瓧绗︿覆鍚э紝鍥犱负鍙傜収鐨勫睘鎬т笉涓�瀹氱敤鐨勫钩鍙扮殑灞炴�ф睜閲岀殑锛屾墍浠ュぇ閮ㄥ垎鎯呭喌涓嬶紝鏄剧ず鐨勫睘鎬ч兘鏄瓧绗︿覆鍚�
+ return referFieldMap.get(field) + SPACE + "LIKE" + SPACE + "'%" + value + "%'" + SPACE;
+ } else {
+ 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;
+ } 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 + "%"+value + SPACE;
+ } else {
+ 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 + value + "%" + SPACE;
+ } else {
+ 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 + "%" + value + "%" + SPACE;
+ } else {
+ 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;
+ } else {
+ 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;
+ } else {
+ 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;
+ } else {
+ 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;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "< " + getStringValueInWhere(field, value, attrVOMap) + SPACE;
+ }
+ } else if (key.endsWith("_datege")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_datege");
+ if (referFieldMap.containsKey(field)) {
+ return referFieldMap.get(field) + SPACE + ">= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + ">= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ }
+ } else if (key.endsWith("_dategt")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_dategt");
+ if (referFieldMap.containsKey(field)) {
+ return referFieldMap.get(field) + SPACE + "> '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "> '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ }
+ } else if (key.endsWith("_dateequal")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_dateequal");
+ if (referFieldMap.containsKey(field)) {
+ return referFieldMap.get(field) + SPACE + "= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ }
+ } else if (key.endsWith("_datele")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_datele");
+ if (referFieldMap.containsKey(field)) {
+ return referFieldMap.get(field) + SPACE + "<= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "<= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ }
+ } else if (key.endsWith("_datelt")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_datelt");
+ if (referFieldMap.containsKey(field)) {
+ return referFieldMap.get(field) + SPACE + "< '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "< '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ }
+ } else if (key.endsWith("_null")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_null");
+ if (referFieldMap.containsKey(field)) {
+ return referFieldMap.get(field) + SPACE + "IS NULL" + SPACE;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "IS NULL" + SPACE;
+ }
+ } else if (key.endsWith("_notnull")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_null");
+ if (referFieldMap.containsKey(field)) {
+ return referFieldMap.get(field) + SPACE + "IS NOT NULL" + SPACE;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "IS NOT NULL" + SPACE;
+ }
+ } else if(key.endsWith("_dateequal")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_dateequal");
+ if (referFieldMap.containsKey(field)) {
+ return referFieldMap.get(field) + SPACE + "= '" + DateUtil.parse(String.valueOf(value), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ } else {
+ return (field.contains(".") ? "" : "t.") + field + SPACE + "= '" + DateUtil.parse(String.valueOf(getStringValueInWhere(field, value, attrVOMap)), "yyyy-MM-dd HH:mm:ss") + "'" + SPACE;
+ }
+ }else if(key.endsWith("_equal")) {
+ String field = UBCSSqlKeyword.getColumn(key, "_equal");
+ if (referFieldMap.containsKey(field)) {
+ return 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);
+ return getSqlByValue(selectKey, value, null,btmType);
+ } else {
+ return getSqlByValue(key, value, attrVOMap,btmType);
+ }
+ }
+ }
+ return "";
+
+ /*if (key.endsWith("_begin")) {
//璇存槑鏄�>=鐨勩�傛垜浠渶瑕佸厛鑾峰彇涓�涓�
String field = (key.substring(0, key.length() - 6).toLowerCase().trim());
if (referFieldMap.containsKey(field)) {
@@ -1765,11 +1897,11 @@
if (referFieldMap.containsKey(key)) {
//璇存槑鏄弬鐓х殑锛屾垜浠弬鐓х殑鏌ヨ閮借涓烘槸瀛楃涓诧紝濡傛灉鏄椂闂存牸寮忕殑鏌ヨ鑲畾鏈夐棶棰橈紝
String selectKey = referFieldMap.get(key);
- return getSqlByValue(selectKey, value, null);
+ return getSqlByValue(selectKey, value, null,btmType);
} else {
- return getSqlByValue(key, value, attrVOMap);
+ return getSqlByValue(key, value, attrVOMap,btmType);
}
- }
+ }*/
}
@@ -1792,7 +1924,7 @@
}
if (field.contains(".") && attrVOMap != null && attrVOMap.containsKey(field.split("\\.")[0].toLowerCase(Locale.ROOT))) {
//鏄弬鐓�
- return "'" + value + "'";
+ return value;
} else {
return value;
}
@@ -1816,16 +1948,34 @@
|| 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;
}
}
+ }
+
+ /**
+ * 鏌ョ湅鏄惁榛樿灞炴��
+ * @param selectKey
+ * @param btmType
+ * @return
+ */
+ private boolean isDefaultAttr(String selectKey, String btmType){
+ if(StringUtils.isBlank(btmType)){
+ return false;
+ }
+ R<BtmTypeVO> r = btmTypeClient.getDefaultAttrByBtmId(btmType);
+ List<BtmTypeAttributeVO> attributes = r.getData().getAttributes();
+ if(r.getCode() != 200 || attributes.isEmpty()){
+ return false;
+ }
+ return attributes.stream().anyMatch(item->item.getId().equals(selectKey));
}
/**
@@ -1836,12 +1986,12 @@
* @param attrVOMap 灞炴�х殑鏄剧ず瀵硅薄鏄犲皠
* @return sql閲岀殑鍊�
*/
- private String getSqlByValue(String selectKey, String value, Map<String, CodeClassifyTemplateAttrVO> attrVOMap) {
+ private String getSqlByValue(String selectKey, String value, Map<String, CodeClassifyTemplateAttrVO> attrVOMap,String btmType) {
StringBuilder sql = new StringBuilder();
- // TODO 寰呭畬鍠�
- // if (!selectKey.contains(".") && (attrVOMap.containsKey(selectKey.toLowerCase(Locale.ROOT)) || attributeService.isDefaultAttr(selectKey) || selectKey.matches(RegExpConstant.LETTER))) {
- // sql.append("t.");
- // }
+ // TODO 宸插畬鍠�
+ if (!selectKey.contains(".") && (attrVOMap.containsKey(selectKey.toLowerCase(Locale.ROOT)) || isDefaultAttr(selectKey,btmType) || selectKey.matches(RegExpConstant.LETTER))) {
+ sql.append("t.");
+ }
if (value.startsWith(QueryOptionConstant.IN)) {
sql.append(selectKey)
.append(SPACE)
@@ -2042,31 +2192,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() + "鐨勬暟鎹笉鏄綋鍓嶇敤鎴峰垱寤猴紝涓嶈兘鍒犻櫎锛�");
@@ -2078,7 +2229,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);
@@ -3201,52 +3359,33 @@
* 鑾峰彇鍙傜収鐨勪俊鎭�
*
* @param referConfigVO 鍙傜収鐨勯厤缃�
- * @param pageHelper 鍒嗛〉鐨勫伐鍏�
* @return 鍒楄〃鏁版嵁
*/
@Override
- public DataGrid referDataGrid(UIFormReferVO referConfigVO, PageHelper pageHelper) {
+ public Page<BtmTypeVO> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) {
// checkReferConfig(referConfigVO);
//浣跨敤涓氬姟绫诲瀷鏌ヨ
R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(referConfigVO.getReferType());
BtmTypeVO btmTypeVO = allAttributeByBtmId.getData();
- if (referConfigVO.getWhere() == null) {
- referConfigVO.setWhere(new HashMap<>());
- }
/**
* 鍔犱笂鏌ヨ鏈�鏂扮増娆�
*/
- Map<String, String> conditionMap = new HashMap<>();
- conditionMap.put("lastr", "1");
- conditionMap.put("lastv", "1");
- referConfigVO.getWhere().putAll(conditionMap);
- if (VciBaseUtil.containsKeyUnCaseForMap(referConfigVO.getWhere(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
+ baseQueryObject.getConditionMap().put("lastr", "1");
+ baseQueryObject.getConditionMap().put("lastv", "1");
+ if (VciBaseUtil.containsKeyUnCaseForMap(baseQueryObject.getConditionMap(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
BtmTypeLcStatusConstant.FRAME_WORK_LIFE_CYCLE_NAME.equalsIgnoreCase(btmTypeVO.getLifeCycleId())) {
- referConfigVO.getWhere().put(VciQueryWrapperForDO.LC_STATUS_FIELD, FrameworkDataLCStatus.ENABLED.getValue());
+ baseQueryObject.getConditionMap().put(VciQueryWrapperForDO.LC_STATUS_FIELD, FrameworkDataLCStatus.ENABLED.getValue());
}
- if (VciBaseUtil.containsKeyUnCaseForMap(referConfigVO.getWhere(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
+ if (VciBaseUtil.containsKeyUnCaseForMap(baseQueryObject.getConditionMap(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
BtmTypeLcStatusConstant.RELEASE_LIFE_CYCLE.equalsIgnoreCase(btmTypeVO.getLifeCycleId())) {
- referConfigVO.getWhere().put(VciQueryWrapperForDO.LC_STATUS_FIELD, CodeDefaultLC.RELEASED.getValue());
+ baseQueryObject.getConditionMap().put(VciQueryWrapperForDO.LC_STATUS_FIELD, CodeDefaultLC.RELEASED.getValue());
}
- BaseQueryObject baseQueryObject = new BaseQueryObject();
- Map<String, String> where = referConfigVO.getWhere();
- where.put("domain", AppConstant.APPLICATION_NAME_CODE);
- baseQueryObject.setConditionMap(where);
- baseQueryObject.setPage(pageHelper.getPage());
- baseQueryObject.setSort(pageHelper.getSort());
- baseQueryObject.setLimit(pageHelper.getLimit());
- baseQueryObject.setOrder(pageHelper.getOrder());
- R<List<BtmTypeVO>> ref = btmTypeClient.getRef(baseQueryObject);
- DataGrid<BtmTypeVO> btmTypeVODataGrid = new DataGrid<>();
- List<BtmTypeVO> data = ref.getData();
- btmTypeVODataGrid.setData(data);
- btmTypeVODataGrid.setCode(ref.getCode());
- btmTypeVODataGrid.setLimit(pageHelper.getLimit());
- btmTypeVODataGrid.setMsg(ref.getMsg());
- btmTypeVODataGrid.setSort(pageHelper.getSort());
- btmTypeVODataGrid.setOrder(pageHelper.getOrder());
- btmTypeVODataGrid.setPage(pageHelper.getPage());
- return btmTypeVODataGrid;
+ baseQueryObject.getConditionMap().put("domain", AppConstant.APPLICATION_NAME_CODE);
+ R<Page<BtmTypeVO>> refPage = btmTypeClient.getRefPage(baseQueryObject);
+ if(refPage.getCode() != 200){
+ throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒");
+ }
+ return refPage.getData();
}
/**
@@ -3328,6 +3467,18 @@
return revisionModelUtil.doList2Trees(codeClassifies, treeWrapperOptions, null);
}
+
+ @Override
+ public boolean checkUnAttrUnEdit(String attrName) {
+ return (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName)
+ ||"ts".equalsIgnoreCase(attrName)
+ || "lastmodifier".equalsIgnoreCase(attrName)
+ || "lastmodifytime".equalsIgnoreCase(attrName)
+ || "createtime".equalsIgnoreCase(attrName)
+ || "checkintime".equalsIgnoreCase(attrName)
+ ||"checkouttime".equalsIgnoreCase(attrName));
+ }
+
private String getTableName(String refertype){
if ("codeclassify".equals(refertype)){
return "pl_code_classify";
--
Gitblit v1.9.3