From ea96725351a6b1c05e8c4c32f6e5785d266f8fe2 Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期三, 06 十二月 2023 14:26:48 +0800 Subject: [PATCH] 集团码导入功能开发 --- Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/util/DefaultAttrAssimtUtil.java | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 161 insertions(+), 18 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 7c77831..5e9e678 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 @@ -1,24 +1,16 @@ package com.vci.ubcs.starter.util; -import com.alibaba.nacos.api.naming.pojo.healthcheck.impl.Http; import com.baomidou.mybatisplus.core.toolkit.StringUtils; 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 org.springblade.core.tool.utils.WebUtil; -import org.springframework.web.util.WebUtils; - -import javax.servlet.http.HttpServletRequest; -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; /** @@ -37,7 +29,7 @@ * @return * @throws VciBaseException */ - public static <T extends BaseModel> T addDefaultAttrAssimt(T object, String btmName, HttpServletRequest request/*涓嶅湪澶氱嚎绋嬫祦涓娇鐢ㄥ氨涓嶉渶瑕佷紶request*/) throws VciBaseException { + public static <T extends BaseModel> T addDefaultAttrAssimt(T object, String btmName) throws VciBaseException { BaseModel baseModel = object; try { baseModel.setOid(VciBaseUtil.getPk()); @@ -46,8 +38,53 @@ baseModel.setLastModifyTime(new Date()); baseModel.setTs(new Date()); baseModel.setRevisionOid(VciBaseUtil.getPk()); - String account = Func.isEmpty(request) ? AuthUtil.getUser().getAccount() : AuthUtil.getUser(request).getAccount(); baseModel.setBtmname(btmName); + 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()); + } + + baseModel.setVersionSeq(1); + baseModel.setVersionRule("0"); + baseModel.setVersionValue("1"); + baseModel.setRevisionOid(VciBaseUtil.getPk()); + 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"); @@ -57,7 +94,7 @@ // TODO:鐩墠鍙湁缂栫爜瑙勫垯涓湁鐢ㄥ埌锛屽悗鏈熼渶瑕佸幓鎺夎繖娈典唬鐮佺殑璇濓紝灏辨妸浠栧姞鍦ㄧ紪鐮佽鍒欐柊澧炰腑鍘� if(Func.isBlank(baseModel.getOwner())){ // 璁剧疆鎵�鏈夎�� - baseModel.setOwner(Func.isEmpty(request) ? AuthUtil.getUserId().toString():AuthUtil.getUserId(request).toString()); + baseModel.setOwner(Func.isNotEmpty(user) ? user.getUserId().toString():AuthUtil.getUserId().toString()); } baseModel.setVersionSeq(1); @@ -67,7 +104,7 @@ baseModel.setLastModifier(account); baseModel.setRevisionValue("1"); baseModel.setRevisionRule("1"); - baseModel.setTenantId(Func.isEmpty(request) ? AuthUtil.getTenantId():AuthUtil.getTenantId(request)); + baseModel.setTenantId(Func.isNotEmpty(user) ? user.getTenantId():AuthUtil.getTenantId()); }catch (VciBaseException e){ e.printStackTrace(); } @@ -81,7 +118,7 @@ * @return * @throws VciBaseException */ - public static <T extends BaseModel> T updateDefaultAttrAssimt(T object,HttpServletRequest request) throws VciBaseException { + public static <T extends BaseModel> T updateDefaultAttrAssimt(T object) throws VciBaseException { BaseModel baseModel = object; try { baseModel.setLastModifyTime(new Date()); @@ -89,8 +126,29 @@ // 鐢ㄦ埛id // String userId = AuthUtil.getUserId().toString(); // 瑕佹眰鏀规垚璐﹀彿 - String account = Func.isEmpty(request) ? AuthUtil.getUser().getAccount() : AuthUtil.getUser(request).getAccount(); - baseModel.setLastModifier(account); + baseModel.setLastModifier(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 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(); } @@ -104,7 +162,90 @@ * @return * @throws VciBaseException */ - public static <T extends BaseModel> T copplyDefaultAttrAssimt(Map<String,String> dataMap, T object,HttpServletRequest request) throws VciBaseException { + public static <T extends BaseModel> T copplyDefaultAttrAssimt(Map<String,String> dataMap, T object,boolean isCase) throws VciBaseException { + BaseModel baseModel = object; + baseModel.getData().putAll(dataMap); + try { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + 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)->{ + newDataMap.put(key.toLowerCase(Locale.ROOT),value); + });*/ + //baseModel.setData((Map)newDataMap); + Object createTimeObj=dataMap.getOrDefault(isCase?"CREATETIME":"createtime",""); + if(createTimeObj!=null) { + String createTime = createTimeObj.toString(); + baseModel.setCreateTime(chageStringToDate(createTime)); + } + baseModel.setNameOid(dataMap.getOrDefault(isCase?"NAMEOID":"nameoid","")); + + Object lastModifyTimeObj=dataMap.getOrDefault(isCase?"LASTMODIFYTIME":"lastmodifytime",""); + if(lastModifyTimeObj!=null) { + String lastModifyTime = lastModifyTimeObj.toString(); + baseModel.setLastModifyTime(chageStringToDate(lastModifyTime)); + } + Object tsObj=dataMap.getOrDefault(isCase?"TS":"ts",""); + if(tsObj!=null) { + String ts = tsObj.toString(); + baseModel.setTs(chageStringToDate(ts)); + } + 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(isCase?"OWNER":"owner","")); + Object versionseq =dataMap.getOrDefault(isCase?"VERSIONSEQ":"versionseq",""); + if(versionseq!=null){ + baseModel.setVersionSeq(chageStringToInt(versionseq.toString())); + } + 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(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; + } + + /** + * 鏂板鏃跺~鍏呴粯璁ゅ�硷細澶氱嚎绋嬫祦涓皟鐢� + * @param object 缁ф壙浜咮aseModel鐨勫疄浣撳璞� + * @param <T> 杩斿洖鍊肩殑绫诲瀷 + * @return + * @throws VciBaseException + */ + public static <T extends BaseModel> T copplyDefaultAttrAssimt(Map<String,String> dataMap, T object, BladeUser user) throws VciBaseException { BaseModel baseModel = object; try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -158,7 +299,7 @@ baseModel.setVersionRule(dataMap.getOrDefault("VERSIONRULE","")); baseModel.setVersionValue(dataMap.getOrDefault("VERSIONVALUE","")); baseModel.setRevisionOid(dataMap.getOrDefault("REVISIONOID","")); - baseModel.setLastModifier(Func.isEmpty(request) ? AuthUtil.getUser().getAccount() : AuthUtil.getUser(request).getAccount()); + baseModel.setLastModifier(Func.isNotEmpty(user) ? user.getAccount():AuthUtil.getUser().getAccount()); baseModel.setLcStatus(dataMap.getOrDefault("LCSTATUS","")); baseModel.setName(dataMap.getOrDefault("NAME","")); baseModel.setTenantId(dataMap.getOrDefault("TENADTID","")); @@ -170,6 +311,7 @@ } }catch (VciBaseException e){ e.printStackTrace(); + throw e; } return (T)baseModel; } @@ -194,4 +336,5 @@ } return date; } + } -- Gitblit v1.9.3