From d02571d59633367ac76b7f58ab38584698b1aa1b Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 17 十月 2024 09:55:37 +0800 Subject: [PATCH] 高级查询中增加范围查询功能 --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java | 187 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 142 insertions(+), 45 deletions(-) diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java index 106b325..9522cb8 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java @@ -4,18 +4,12 @@ import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.model.BaseModel; import com.vci.ubcs.starter.web.util.VciBaseUtil; -import org.apache.poi.ss.formula.functions.T; +import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.Func; - -import java.lang.reflect.Field; -import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; +import java.util.*; /** * 鏂板鏃堕粯璁ゅ�煎睘鎬ц祴鍊� @@ -33,24 +27,23 @@ * @return * @throws VciBaseException */ - public static <T extends BaseModel> T addDefaultAttrAssimt(T object,String btmName) throws VciBaseException { + public static <T extends BaseModel> T addDefaultAttrAssimt(T object, String btmName) throws VciBaseException { BaseModel baseModel = object; try { - baseModel.setOid(VciBaseUtil.getPk().toUpperCase()); + baseModel.setOid(VciBaseUtil.getPk()); baseModel.setCreateTime(new Date()); baseModel.setNameOid(VciBaseUtil.getPk()); baseModel.setLastModifyTime(new Date()); baseModel.setTs(new Date()); baseModel.setRevisionOid(VciBaseUtil.getPk()); - //鐢ㄦ埛id - String userId = AuthUtil.getUserId().toString(); baseModel.setBtmname(btmName); - baseModel.setCreator(userId); + baseModel.setCreator(AuthUtil.getUser().getAccount()); baseModel.setFirstR("1"); baseModel.setFirstV("1"); baseModel.setLastR("1"); baseModel.setLastV("1"); baseModel.setRevisionSeq(1); + // TODO:鐩墠鍙湁缂栫爜瑙勫垯涓湁鐢ㄥ埌锛屽悗鏈熼渶瑕佸幓鎺夎繖娈典唬鐮佺殑璇濓紝灏辨妸浠栧姞鍦ㄧ紪鐮佽鍒欐柊澧炰腑鍘� if(Func.isBlank(baseModel.getOwner())){ // 璁剧疆鎵�鏈夎�� baseModel.setOwner(AuthUtil.getUserId().toString()); @@ -59,7 +52,55 @@ baseModel.setVersionRule("0"); baseModel.setVersionValue("1"); baseModel.setRevisionOid(VciBaseUtil.getPk()); - baseModel.setLastModifier(userId); + baseModel.setLastModifier(AuthUtil.getUser().getAccount()); + baseModel.setRevisionValue("1"); + baseModel.setRevisionRule("1"); + baseModel.setTenantId(AuthUtil.getTenantId()); + }catch (VciBaseException e){ + e.printStackTrace(); + } + return (T)baseModel; + } + + /** + * 褰撳湪澶氱嚎绋嬫祦涓皟鐢ㄦ椂锛岃幏鍙栦笉鍒拌姹傚ご淇℃伅锛� + * 鎵�浠ュ緱鍦ㄥ绾跨▼娴佸闈㈣幏鍙栧埌request + * @param object 缁ф壙浜咮aseModel鐨勫疄浣撳璞� + * @param <T> 杩斿洖鍊肩殑绫诲瀷 + * @param btmName 涓氬姟绫诲瀷 + * @return + * @throws VciBaseException + */ + public static <T extends BaseModel> T addDefaultAttrAssimt(T object, String btmName, BladeUser user) throws VciBaseException { + BaseModel baseModel = object; + try { + baseModel.setOid(VciBaseUtil.getPk()); + baseModel.setCreateTime(new Date()); + baseModel.setNameOid(VciBaseUtil.getPk()); + baseModel.setLastModifyTime(new Date()); + baseModel.setTs(new Date()); + baseModel.setRevisionOid(VciBaseUtil.getPk()); + baseModel.setBtmname(btmName); + String account = Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUser().getAccount(); + baseModel.setCreator(account); + baseModel.setFirstR("1"); + baseModel.setFirstV("1"); + baseModel.setLastR("1"); + baseModel.setLastV("1"); + // TODO:鐩墠鍙湁缂栫爜瑙勫垯涓湁鐢ㄥ埌锛屽悗鏈熼渶瑕佸幓鎺夎繖娈典唬鐮佺殑璇濓紝灏辨妸浠栧姞鍦ㄧ紪鐮佽鍒欐柊澧炰腑鍘� + if(Func.isBlank(baseModel.getOwner())){ + // 璁剧疆鎵�鏈夎�� + baseModel.setOwner(Func.isNotEmpty(user) ? user.getUserId().toString():AuthUtil.getUserId().toString()); + } + baseModel.setVersionSeq(1); + baseModel.setVersionValue("1"); + baseModel.setVersionRule("0"); + baseModel.setRevisionSeq(1); + baseModel.setRevisionValue("1"); + baseModel.setRevisionRule("1"); + baseModel.setRevisionOid(VciBaseUtil.getPk()); + baseModel.setLastModifier(account); + baseModel.setTenantId(Func.isNotEmpty(user) ? user.getTenantId():AuthUtil.getTenantId()); }catch (VciBaseException e){ e.printStackTrace(); } @@ -76,11 +117,13 @@ public static <T extends BaseModel> T updateDefaultAttrAssimt(T object) throws VciBaseException { BaseModel baseModel = object; try { - baseModel.setLastModifyTime(new Date()); - baseModel.setTs(new Date()); - //鐢ㄦ埛id - String userId = AuthUtil.getUserId().toString(); - baseModel.setLastModifier(userId); + Date date = new Date(); + baseModel.setLastModifyTime(date); + baseModel.setTs(date); + // 鐢ㄦ埛id + // String userId = AuthUtil.getUserId().toString(); + // 瑕佹眰鏀规垚璐﹀彿 + baseModel.setLastModifier(AuthUtil.getUser().getAccount()); }catch (VciBaseException e){ e.printStackTrace(); } @@ -88,71 +131,106 @@ } /** - * 鏂板鏃跺~鍏呴粯璁ゅ�� + * 淇敼鏃跺~鍏呴粯璁ゅ�硷細澶氱嚎绋嬫祦涓皟鐢� * @param object 缁ф壙浜咮aseModel鐨勫疄浣撳璞� * @param <T> 杩斿洖鍊肩殑绫诲瀷 * @return * @throws VciBaseException */ - public static <T extends BaseModel> T copplyDefaultAttrAssimt(Map<String,String> dataMap, T object) throws VciBaseException { + public static <T extends BaseModel> T updateDefaultAttrAssimt(T object, BladeUser user) throws VciBaseException { BaseModel baseModel = object; try { + baseModel.setLastModifyTime(new Date()); + baseModel.setTs(new Date()); + // 鐢ㄦ埛id + // String userId = AuthUtil.getUserId().toString(); + // 瑕佹眰鏀规垚璐﹀彿 + baseModel.setLastModifier(Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUser().getAccount()); + }catch (VciBaseException e){ + e.printStackTrace(); + } + return (T)baseModel; + } + + /** + * 鏂板鏃跺~鍏呴粯璁ゅ�硷細澶氱嚎绋嬫祦涓皟鐢� + * @param object 缁ф壙浜咮aseModel鐨勫疄浣撳璞� + * @param <T> 杩斿洖鍊肩殑绫诲瀷 + * @return + * @throws VciBaseException + */ + public static <T extends BaseModel> T copplyDefaultAttrAssimt(Map<String,String> dataMap, T object,boolean isCase, BladeUser user) throws VciBaseException { + BaseModel baseModel = object; + baseModel.getData().putAll(dataMap); + try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - baseModel.setOid(dataMap.getOrDefault("OID","")); - baseModel.setId(dataMap.getOrDefault("ID","")); + baseModel.setOid(dataMap.getOrDefault(isCase?"OID":"oid","")); + baseModel.setId(dataMap.getOrDefault(isCase?"ID":"id","")); Map<String,Object> newDataMap=new HashMap<>(); /*for (String key:dataMap.keySet()){ Object value=dataMap.get(key); newDataMap.put(key.toLowerCase(Locale.ROOT),value); }*/ - /* dataMap.forEach((key,value)->{ + /* dataMap.forEach((key,value)->{ newDataMap.put(key.toLowerCase(Locale.ROOT),value); });*/ //baseModel.setData((Map)newDataMap); - Object createTimeObj=dataMap.getOrDefault("CREATETIME",""); + Object createTimeObj=dataMap.getOrDefault(isCase?"CREATETIME":"createtime",""); if(createTimeObj!=null) { String createTime = createTimeObj.toString(); baseModel.setCreateTime(chageStringToDate(createTime)); } - baseModel.setNameOid(dataMap.getOrDefault("NAMEOID","")); + baseModel.setNameOid(dataMap.getOrDefault(isCase?"NAMEOID":"nameoid","")); - Object lastModifyTimeObj=dataMap.getOrDefault("LASTMODIFYTIME",""); + Object lastModifyTimeObj=dataMap.getOrDefault(isCase?"LASTMODIFYTIME":"lastmodifytime",""); if(lastModifyTimeObj!=null) { String lastModifyTime = lastModifyTimeObj.toString(); baseModel.setLastModifyTime(chageStringToDate(lastModifyTime)); } - Object tsObj=dataMap.getOrDefault("TS",""); + Object tsObj=dataMap.getOrDefault(isCase?"TS":"ts",""); if(tsObj!=null) { String ts = tsObj.toString(); baseModel.setTs(chageStringToDate(ts)); } - baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID","")); - //鐢ㄦ埛id - String userId = AuthUtil.getUserId().toString(); - baseModel.setBtmname(dataMap.getOrDefault("BTMNAME","")); - baseModel.setCreator(dataMap.getOrDefault("CREATOR","")); - baseModel.setFirstR(dataMap.getOrDefault("FIRSTR","")); - baseModel.setFirstV(dataMap.getOrDefault("FIRSTV","")); - baseModel.setLastR(dataMap.getOrDefault("LASTR","")); - baseModel.setLastV(dataMap.getOrDefault("LASTV","")); - Object revisionseq =dataMap.getOrDefault("REVISIONSEQ",""); + baseModel.setRevisionOid(dataMap.getOrDefault(isCase?"REVISIONOID":"revisionoid","")); + //鐢ㄦ埛id ; 瑕佹眰鏀规垚浜嗚处鍙� + // String userId = AuthUtil.getUserId().toString(); + baseModel.setBtmname(dataMap.getOrDefault(isCase?"BTMNAME":"btmname","")); + baseModel.setCreator(dataMap.getOrDefault(isCase?"CREATOR":"creator","")); + baseModel.setFirstR(dataMap.getOrDefault(isCase?"FIRSTR":"firstr","")); + baseModel.setFirstV(dataMap.getOrDefault(isCase?"FIRSTV":"firstv","")); + baseModel.setLastR(dataMap.getOrDefault(isCase?"LASTR":"lastr","")); + baseModel.setLastV(dataMap.getOrDefault(isCase?"LASTV":"lastv","")); + Object revisionseq =dataMap.getOrDefault(isCase?"REVISIONSEQ":"revisionseq",""); if(revisionseq!=null){ - baseModel.setRevisionSeq(chageStringToInt(revisionseq.toString())); } - baseModel.setOwner(dataMap.getOrDefault("OWNER","")); - Object versionseq =dataMap.getOrDefault("VERSIONSEQ",""); + baseModel.setOwner(dataMap.getOrDefault(isCase?"OWNER":"owner","")); + Object versionseq =dataMap.getOrDefault(isCase?"VERSIONSEQ":"versionseq",""); if(versionseq!=null){ baseModel.setVersionSeq(chageStringToInt(versionseq.toString())); } - baseModel.setVersionRule(dataMap.getOrDefault("VERSIONRULE","")); - baseModel.setVersionValue(dataMap.getOrDefault("VERSIONVALUE","")); - baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID","")); - baseModel.setLastModifier(userId); + baseModel.setVersionRule(dataMap.getOrDefault(isCase?"VERSIONRULE":"versionrule","")); + baseModel.setVersionValue(dataMap.getOrDefault(isCase?"VERSIONVALUE":"versionvalue","")); + baseModel.setRevisionRule(dataMap.getOrDefault(isCase?"REVISIONRULE":"revisionrule","")); + + baseModel.setRevisionOid(dataMap.getOrDefault(isCase?"REVISIONOID":"revisionoid","")); + baseModel.setRevisionValue(dataMap.getOrDefault(isCase?"REVISIONVALUE":"revisionvalue","")); + baseModel.setLastModifier(Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUser().getAccount()); + baseModel.setLcStatus(dataMap.getOrDefault(isCase?"LCSTATUS":"lcstatus","")); + baseModel.setName(dataMap.getOrDefault(isCase?"NAME":"name","")); + baseModel.setTenantId(dataMap.getOrDefault(isCase?"TENANT_ID":"tenant_id","")); + baseModel.setDescription(dataMap.getOrDefault(isCase?"DESCRIPTION":"description","")); + baseModel.setCopyFromVersion(dataMap.getOrDefault(isCase?"COPYFROMVERSION":"copyfromversion","")); + Object secretgrade=dataMap.get(isCase?"SECRETGRADE":"secretgrade"); + if(secretgrade!=null){ + baseModel.setSecretGrade(chageStringToInt(secretgrade.toString())); + } }catch (VciBaseException e){ e.printStackTrace(); + throw e; } return (T)baseModel; } @@ -177,4 +255,23 @@ } return date; } + + /** + * map瀵硅薄杞崲涓哄皬鍐� + * @param dataMapList + * @param isLowerCase + */ + public static void mapToLowerCase(List<Map<String,String>> dataMapList, boolean isLowerCase){ + // 閬嶅巻List涓殑姣忎釜Map + for (Map<String, String> map : dataMapList) { + Map<String, String> newMap = new HashMap<>(); + // 閬嶅巻姣忎釜Map涓殑key锛屽苟灏嗗叾杞崲涓哄皬鍐� + for (String key : map.keySet()) { + newMap.put(isLowerCase ? key.toLowerCase():key.toLowerCase(Locale.ROOT), map.get(key)); + } + // 鐢ㄦ柊鐨凪ap鏇挎崲鏃х殑Map + dataMapList.set(dataMapList.indexOf(map), newMap); + } + } + } -- Gitblit v1.9.3