From 4470052c3b6bdeb18e45987f8aa293d1e93d0552 Mon Sep 17 00:00:00 2001
From: Ludc <2870569285@qq.com>
Date: 星期二, 18 十一月 2025 11:59:12 +0800
Subject: [PATCH] 所有文件上传接口增加文件安全校验逻辑。
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 646 ++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 450 insertions(+), 196 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index 59d595a..3c11372 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -38,7 +38,10 @@
import com.vci.ubcs.code.webService.annotation.VciWebservice;
import com.vci.ubcs.code.webService.config.AttributeMapConfig;
import com.vci.ubcs.code.webService.config.PersonAndDeptConfig;
+import com.vci.ubcs.omd.cache.EnumCache;
import com.vci.ubcs.omd.feign.IBtmTypeClient;
+import com.vci.ubcs.omd.feign.IDictClient;
+import com.vci.ubcs.omd.feign.IEnumClient;
import com.vci.ubcs.omd.vo.BtmTypeVO;
import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.model.TreeQueryObject;
@@ -69,16 +72,16 @@
import javax.servlet.http.HttpServletRequest;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
-import java.io.PrintWriter;
-import java.io.StringWriter;
import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.ForkJoinPool;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Function;
import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST;
import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC;
+import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_REFER_SEC;
/***
* 缁熶竴鎺ュ彛
@@ -86,7 +89,7 @@
@Service
@Slf4j
@VciWebservice(path = "/universalInterface")
-public class UniversalInterfaceImpl<IDockingLogeServiceing> implements UniversalInterfaceI {
+public class UniversalInterfaceImpl implements UniversalInterfaceI {
/***
* 鎿嶄綔绫诲瀷
@@ -114,11 +117,13 @@
*/
@Value("${bzApply.seriesFlow:seriesFlow}")
private String seriesFlow;
+
/***
* 鏄惁鍙樻洿绯诲垪
*/
@Value("${bzApply.isEditSeries:isEditSeries}")
private String isEditSeries;
+
/***
* 鎺у埗鏄惁鍐欏叆鍊肩殑鐮佹鍚嶇О
*/
@@ -130,7 +135,6 @@
*/
@Value("${bzApply.yearSecName:骞翠唬鍙穧")
private String yearSecName;
-
@Value("${code.universalinterface.checkSystemConfig:true}")
public boolean CODE_CHECKCONFIG;
@@ -203,8 +207,14 @@
*/
@Resource
private IDockingLogeService dockingLogeService;
+
@Resource
private IPasswordFreeLoginService passwordFreeLoginService;
+
+ /**
+ * 鑷畾涔夊苟鍙慒orkJoinPool
+ */
+ private static final ForkJoinPool customForkJoinPool = new ForkJoinPool(Runtime.getRuntime().availableProcessors() - 1);
private static String separator="##VCI##";
private String errorid="0";
@@ -277,6 +287,7 @@
}
}catch (Throwable e){
errorid[0] ="101";
+ log.error("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�",e);
throw new Throwable("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�");
}
ClassfysVO classfysVO = interParameterVO.getData().getClassifys();
@@ -287,20 +298,20 @@
passwordFreeLoginService.pwdFreeLoginByBoolean(systemId.toLowerCase(Locale.ROOT), this.getRequest());
}catch (Throwable e){
errorid[0] ="1";
- throw new Throwable("鐢ㄦ埛閴存潈澶辫触.");
+ throw new Throwable("鐢ㄦ埛閴存潈澶辫触锛屽師鍥狅細"+e.getMessage());
}
List<ClassfyVO> classVOList = classfysVO.getClassify();
- InterParameterVO finalInterParameterVO = interParameterVO;
+ //InterParameterVO finalInterParameterVO = interParameterVO;
//杩欐槸璐﹀彿淇℃伅
SessionInfo sessionInfo = new SessionInfo();
sessionInfo.setUserId(userVo.getUserName());
sessionInfo.setUserName(userVo.getTrueName());
sessionInfo.setIp(userVo.getIp());
VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
-// List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>();
+ //List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>();
String finalSystemId = systemId;
classVOList.stream().forEach(classVO -> {
- log.info("鍙傛暟锛氬垎绫籆Ode:" + classVO.getClassCode());
+ log.info("鍙傛暟锛氬垎绫籆ode:" + classVO.getClassCode());
boolean isCodeOrGroupCode=false;
LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>();
String libray ="";
@@ -362,13 +373,14 @@
} catch (Throwable e) {
List<ApplyDataVO> applyDataVOList= classVO.getObjects().getObject();
objerrorCode="1";
+ log.error("缂栫爜鐢宠澶辫触:",e);
if(!CollectionUtils.isEmpty(applyDataVOList)) {
applyDataVOList.stream().forEach(applyDataVO -> {
XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
xmlResultDataObjectDetailDO.setCode("");
xmlResultDataObjectDetailDO.setId(applyDataVO.getId());
xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
- xmlResultDataObjectDetailDO.setMsg("缂栫爜缁存姢澶辫触:" + e.getMessage());
+ xmlResultDataObjectDetailDO.setMsg("缂栫爜鐢宠澶辫触:" + e.getMessage());
resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
});
}else{
@@ -376,11 +388,11 @@
xmlResultDataObjectDetailDO.setCode("");
xmlResultDataObjectDetailDO.setId("");
xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
- xmlResultDataObjectDetailDO.setMsg("缂栫爜缁存姢澶辫触:" + e.getMessage());
+ xmlResultDataObjectDetailDO.setMsg("缂栫爜鐢宠澶辫触:" + e.getMessage());
resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
}
e.printStackTrace();
- log.error(e.getMessage());
+ //log.error(e.getMessage());
}finally {
XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO();
resultClassfyVO.setClassCode(classVO.getClassCode());
@@ -399,7 +411,8 @@
}catch (Throwable e){
e.printStackTrace();
msg="鐢宠缂栫爜澶辫触:"+e.getMessage();
- log.error(msg);
+ //log.error(msg);
+ log.error("缂栫爜鐢宠澶辫触:",e);
/* XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO();
XMLResultSystemVO.setErrorid(errorid);
XMLResultSystemVO.setMsg("鐢宠缂栫爜澶辫触锛�->"+e.getMessage());
@@ -435,7 +448,8 @@
this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCode");
}catch (Throwable e){
e.printStackTrace();
- log.error(e.getMessage());
+ //log.error(e.getMessage());
+ log.error("淇濆瓨鏃ュ織鍑洪敊,鍘熷洜:",e);
}
}
log.info("杩斿洖鍙傛暟:"+resultStr);
@@ -451,7 +465,6 @@
*/
@Override
public ResultOrgData syncDataForPerson(PersonData personData) {
-
boolean isUsedFlag= personAndDeptConfig.isUsedFlag();
ResultOrgData resultOrgData=new ResultOrgData();
@@ -462,7 +475,7 @@
if(isUsedFlag){
AtomicBoolean success= new AtomicBoolean(true);
List<PersonMasterData> masterDataList=new ArrayList<>();
- List<String> fields= VciBaseUtil.str2List(personAndDeptConfig.getPersonFields());
+ List<String> fields = Func.toStrList(personAndDeptConfig.getPersonFields());
try {
if(personData==null){
throw new Throwable("浼犲叆鍙傛暟涓簄ull");
@@ -470,6 +483,7 @@
try {
passwordFreeLoginService.pwdFreeLoginByBoolean(systemCode.toLowerCase(),this.getRequest());
}catch (Throwable e){
+ log.error("鐢ㄦ埛閴存潈澶辫触:",e);
throw new Throwable("鐢ㄦ埛閴存潈澶辫触");
}
masterDataList = personData.getMasterData();
@@ -483,7 +497,7 @@
ClassfyVO classfyVO = new ClassfyVO();
classfyVO.setLibrary(personLibrary);
classfyVO.setClassCode(personClassCode);
- CodeClassifyVO codeClassifyVO=this.getClassfy(classfyVO,personLibrary);
+ CodeClassifyVO codeClassifyVO=this.getClassfy(classfyVO,personLibrary);
log.info("end锛氬垎绫绘煡璇㈠畬姣�");
//鑾峰彇鍒嗙被妯℃澘淇℃伅
if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
@@ -501,8 +515,7 @@
).collect(Collectors.toList());
List<PersonMasterData> personMasterDataList= personData.getMasterData();
- List<Map> dataList=new ArrayList<>();
-
+ //List<Map> dataList=new ArrayList<>();
List<String> codeList=new ArrayList<>();
List<ApplyDataVO> applyDataVOList=new ArrayList<>();
@@ -521,7 +534,7 @@
*/
fields.stream().forEach(field->{
if(dataMap.containsKey(field)){
- String enumFiled= dataMap.get(field);
+ String enumFiled = dataMap.get(field);
EnumerableData enumerableData=JSONObject.toJavaObject(JSONObject.parseObject(enumFiled),EnumerableData.class);
String enumCode=enumerableData.getCode();
//String enumCodeValue=enumerableData.getName();
@@ -541,15 +554,15 @@
object.setProp(proppertyVOList);
if(personMasterData.getDr()==1){
- object.setOperate("delete");//鎿嶄綔绫诲瀷
+ //鎿嶄綔绫诲瀷
+ object.setOperate("delete");
deleteDataVOList.add(object);
}else{
- String worker_category=personMasterData.getWorker_category();
-
+ //String worker_category=personMasterData.getWorker_category();
object.setOperate("create");
applyDataVOList.add(object);
}
- codeList.add(personMasterData.getLm_code());
+ codeList.add(object.getCode());
});
R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId());
@@ -573,12 +586,12 @@
sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0])));
sb.append(")");
List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString());
-
+ DefaultAttrAssimtUtil.mapToLowerCase(dataMapList,true);
List<ClientBusinessObject> cboList= ChangeMapTOClientBusinessObjects(dataMapList);
ApplyDatasVO applyDatasVO=new ApplyDatasVO();
ApplyDatasVO editDatasVO=new ApplyDatasVO();
if(!CollectionUtils.isEmpty(cboList)){
- Map<String,ClientBusinessObject> oldpplyDataVOMap= cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
+ Map<String,ClientBusinessObject> oldpplyDataVOMap = cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
//鏁版嵁搴撲笉瀛樺湪鐨�
List<ApplyDataVO> applyApplyDataVOList = applyDataVOList.stream().filter(cbo -> {
String code =cbo.getCode();
@@ -604,8 +617,8 @@
DataObjectVO dataObjectVO = new DataObjectVO();
this.getConfigDatas(systemCode, personLibrary, editDatasVO, attrVOS, dataObjectVO);
log.info("start锛氫慨鏀规暟鎹墽琛屽畬姣�");
- boolean personApplyGroupCode =personAndDeptConfig.isPersonApplyGroupCode();
- mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,personApplyGroupCode);
+ // boolean personApplyGroupCode =personAndDeptConfig.isPersonApplyGroupCode();
+ mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,isPersonApplyGroupCode);
log.info("end锛氫慨鏀规暟鎹墽琛屽畬姣�");
}
if(applyDatasVO.getObject()!=null&&applyDatasVO.getObject().size()>0) {
@@ -618,7 +631,8 @@
throw new Throwable("缂栫爜瑙勫垯");
}
List<XMLResultDataObjectDetailDO> xDOs=new CopyOnWriteArrayList<>();
- dataObjectVO.getRowData().parallelStream().forEach(rowData->{
+ final List<RowDatas> rowDatas = dataObjectVO.getRowData();
+ rowDatas.parallelStream().forEach(rowData->{
String mesg="";
try {
CodeOrderDTO orderDTO = new CodeOrderDTO();
@@ -666,8 +680,10 @@
}
}
} catch (Exception e) {
+ log.error("鏁版嵁淇濆瓨澶辫触:",e);
mesg=e.getMessage();
e.printStackTrace();
+ // throw new ServiceException(e.getMessage());
}finally {
XMLResultDataObjectDetailDO x=new XMLResultDataObjectDetailDO();
x.setId(rowData.getOid());
@@ -680,21 +696,26 @@
resultDataObjectDetailDOs.addAll(xDOs);
boolean finalSuccess1 = success.get();
String finalMessage1 = message;
- resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO->{
- ResultMdMapping resultMdMapping=new ResultMdMapping();
- resultMdMapping.setBusiDataId(resultDataObjectDetailDO.getId());
- resultMdMapping.setSuccess(finalSuccess1);
- resultMdMapping.setEntityCode(" ");
- resultMdMapping.setMdmCode(resultDataObjectDetailDO.getCode());
- resultMdMapping.setMessage(finalMessage1);
- resultMdMapping.setSubMdMappings(null);
- resultMdMappingList.add(resultMdMapping);
- });
+ // 闄愬埗绾跨▼骞惰鏁伴噺
+ customForkJoinPool.submit(()->{
+ resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO->{
+ ResultMdMapping resultMdMapping=new ResultMdMapping();
+ resultMdMapping.setBusiDataId(resultDataObjectDetailDO.getId());
+ resultMdMapping.setSuccess(finalSuccess1);
+ resultMdMapping.setEntityCode(" ");
+ resultMdMapping.setMdmCode(resultDataObjectDetailDO.getCode());
+ resultMdMapping.setMessage(finalMessage1);
+ resultMdMapping.setSubMdMappings(null);
+ resultMdMappingList.add(resultMdMapping);
+ });
+ }).join();
log.info("end锛氱敵璇疯幏鍙栧畬姣�");
}
}catch (Throwable e){
success.set(false);
- message="浜哄憳鏁版嵁鎺ュ彈澶辫触:"+e.getMessage();
+ message = "浜哄憳鏁版嵁鎺ユ敹澶辫触:"+e.getMessage();
+ msg = "浜哄憳鏁版嵁鎺ユ敹澶辫触:"+e.getMessage();
+ log.error( "浜哄憳鏁版嵁鎺ユ敹澶辫触:",e);
//缁勭粐杩斿洖缁撴灉
boolean finalSuccess = success.get();
String finalMessage = message;
@@ -711,7 +732,7 @@
resultOrgData.setMessage(message);
resultOrgData.setSuccess(success.get());
resultOrgData.setMdMappings(resultMdMappingList);
- Object object = JSONObject.toJSON(resultOrgData);
+ //Object object = JSONObject.toJSON(resultOrgData);
}
String resultStr = JSONObject.toJSONString(resultOrgData);
String data = JSONObject.toJSONString(personData);
@@ -719,6 +740,7 @@
//璁板綍鏃ュ織
this.saveLogs(systemCode, systemCode, data, resultStr, success.get(), msg, "syncDataForPerson");
}catch (Throwable e){
+ log.error( "鏃ュ織淇濆瓨澶辫触:",e);
e.printStackTrace();
}
}
@@ -736,14 +758,14 @@
public ResultOrgData syncDataForOrg(OrgData orgData) {
boolean isUsedFlag= personAndDeptConfig.isUsedFlag();
ResultOrgData resultOrgData=new ResultOrgData();
- boolean isPersonApplyGroupCode= personAndDeptConfig.isPersonApplyGroupCode();
+ // boolean isPersonApplyGroupCode= personAndDeptConfig.isDeptApplyGroupCode();
List<ResultMdMapping> resultMdMappingList=new ArrayList<>();
AtomicBoolean success= new AtomicBoolean(true);
String message="";
String systemCode="";
if(isUsedFlag){
- List<OrgMasterData> orgMasterDataList=new ArrayList<>();
- List<String> fields= VciBaseUtil.str2List(personAndDeptConfig.getPersonFields());
+ List<OrgMasterData> orgMasterDataList = new ArrayList<>();
+ List<String> fields = Func.toStrList(personAndDeptConfig.getDeptFields());
try {
if(orgData==null){
throw new Throwable("浼犲叆鍙傛暟涓簄ull");
@@ -752,20 +774,21 @@
try {
passwordFreeLoginService.pwdFreeLoginByBoolean(systemCode.toLowerCase(),this.getRequest());
}catch (Throwable e){
+ log.error( "鐢ㄦ埛閴存潈澶辫触:",e);
throw new Throwable("鐢ㄦ埛閴存潈澶辫触");
}
orgMasterDataList = orgData.getMasterData();
- String personLibrary = personAndDeptConfig.getPersonLibrary();
- if (StringUtils.isBlank(personLibrary)) {
+ String deptLibrary = personAndDeptConfig.getDeptLibrary();
+ if (StringUtils.isBlank(deptLibrary)) {
success.set(false);
- log.info("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary);
- throw new Throwable("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary);
+ log.info("闆嗘垚閰嶇疆缂哄皯閮ㄩ棬搴撹妭鐐逛俊鎭�,deptLibrary->" + deptLibrary);
+ throw new Throwable("闆嗘垚閰嶇疆缂哄皯閮ㄩ棬搴撹妭鐐逛俊鎭�,deptLibrary->" + deptLibrary);
}
- String personClassCode = personAndDeptConfig.getPersonClassCode();
+ String deptClassCode = personAndDeptConfig.getDeptClassCode();
ClassfyVO classfyVO = new ClassfyVO();
- classfyVO.setLibrary(personLibrary);
- classfyVO.setClassCode(personClassCode);
- CodeClassifyVO codeClassifyVO=this.getClassfy(classfyVO,personLibrary);
+ classfyVO.setLibrary(deptLibrary);
+ classfyVO.setClassCode(deptClassCode);
+ CodeClassifyVO codeClassifyVO = this.getClassfy(classfyVO,deptLibrary);
log.info("end锛氬垎绫绘煡璇㈠畬姣�");
//鑾峰彇鍒嗙被妯℃澘淇℃伅
if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
@@ -775,25 +798,24 @@
CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid());
if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){
success.set(false);
- throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
+ throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
}
List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) &&
((Func.isNotEmpty(s.getClassifyInvokeAttr()) || Func.isNotEmpty(s.getClassifyInvokeAttrName())) || VciBaseUtil.getBoolean(s.getFormDisplayFlag()))
).collect(Collectors.toList());
- List<Map> dataList=new ArrayList<>();
List<String> codeList=new ArrayList<>();
List<ApplyDataVO> applyDataVOList=new ArrayList<>();
List<ApplyDataVO> deleteDataVOList=new ArrayList<>();
orgMasterDataList.stream().forEach(orgMasterData -> {
ApplyDataVO object=new ApplyDataVO();
- object.setCode(orgMasterData.getMdm_code());//缂栫爜
+ object.setCode(orgMasterData.getDepartment_code());//缂栫爜
object.setCreator(orgMasterData.getCreator());//鍒涘缓鑰�
object.setEditor(orgMasterData.getModifier());//淇敼鑰�
- object.setId(orgMasterData.getPk_mdm());//涓婚敭
+ object.setId(orgMasterData.getId());//涓婚敭
object.setStatus(CodeDefaultLC.RELEASED.getValue());//鐘舵�佸垯闇�瑕佸垽鏂�
Map<String,String> dataMap= VciBaseUtil.objectToMapString(orgMasterData);
- List<ProppertyVO> proppertyVOList=new ArrayList<>();
+ List<ProppertyVO> proppertyVOList = new ArrayList<>();
/***
* 鏍规嵁閰嶇疆鏂囦欢鑾峰彇鏋氫妇鍊�
*/
@@ -822,11 +844,10 @@
object.setOperate("delete");//鎿嶄綔绫诲瀷
deleteDataVOList.add(object);
}else{
-
object.setOperate("create");
applyDataVOList.add(object);
}
- codeList.add(orgMasterData.getMdm_code());
+ codeList.add(object.getCode());
});
R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId());
@@ -838,10 +859,10 @@
throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷瀵硅薄锛�");
}
String tableName = btmTypeVO.getTableName();
- if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) {
+ if (StringUtils.isBlank(tableName)) {
throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷鐩稿叧鑱旂殑琛�");
}
- StringBuffer sb=new StringBuffer();
+ StringBuffer sb = new StringBuffer();
sb.append(" select * from ");
sb.append(tableName);
sb.append(" where 1=1 ");
@@ -849,15 +870,16 @@
sb.append(" and id in (");
sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0])));
sb.append(")");
- List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString());
- List<ClientBusinessObject> cboList= ChangeMapTOClientBusinessObjects(dataMapList);
+ List<Map<String,String>> dataMapList = commonsMapper.queryByOnlySqlForMap(sb.toString());
+ DefaultAttrAssimtUtil.mapToLowerCase(dataMapList,true);
+ List<ClientBusinessObject> cboList = ChangeMapTOClientBusinessObjects(dataMapList);
ApplyDatasVO applyDatasVO=new ApplyDatasVO();
ApplyDatasVO editDatasVO=new ApplyDatasVO();
if(!CollectionUtils.isEmpty(cboList)){
- Map<String,ClientBusinessObject> oldpplyDataVOMap= cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
+ Map<String,ClientBusinessObject> oldpplyDataVOMap = cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
//鏁版嵁搴撲笉瀛樺湪鐨�
List<ApplyDataVO> applyApplyDataVOList = applyDataVOList.stream().filter(cbo -> {
- String code =cbo.getCode();
+ String code = cbo.getCode();
return !oldpplyDataVOMap.containsKey(code);
}).collect(Collectors.toList());
applyDatasVO.setObject(applyApplyDataVOList);
@@ -878,15 +900,15 @@
LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs=new LinkedList<>();
if(editDatasVO.getObject()!=null&&editDatasVO.getObject().size()>0){
DataObjectVO dataObjectVO = new DataObjectVO();
- this.getConfigDatas(systemCode, personLibrary, editDatasVO, attrVOS, dataObjectVO);
+ this.getConfigDatas(systemCode, deptLibrary, editDatasVO, attrVOS, dataObjectVO);
log.info("start锛氫慨鏀规暟鎹墽琛屽畬姣�");
- boolean personApplyGroupCode =personAndDeptConfig.isPersonApplyGroupCode();
+ boolean personApplyGroupCode = false;//personAndDeptConfig.isPersonApplyGroupCode();
mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,personApplyGroupCode);
log.info("end锛氫慨鏀规暟鎹墽琛屽畬姣�");
}
if(applyDatasVO.getObject()!=null&&applyDatasVO.getObject().size()>0) {
DataObjectVO dataObjectVO = new DataObjectVO();
- this.getConfigDatas(systemCode, personLibrary, applyDatasVO, attrVOS, dataObjectVO);
+ this.getConfigDatas(systemCode, deptLibrary, applyDatasVO, attrVOS, dataObjectVO);
CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid());
CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
@@ -894,67 +916,72 @@
throw new Throwable("缂栫爜瑙勫垯");
}
List<XMLResultDataObjectDetailDO> xDOs=new CopyOnWriteArrayList<>();
- dataObjectVO.getRowData().parallelStream().forEach(rowData->{
- String mesg="";
- try {
- CodeOrderDTO orderDTO = new CodeOrderDTO();
- List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
- orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭
- orderDTO.setTemplateOid(templateVO.getOid());
- orderDTO.setCreator(rowData.getCreator());
- orderDTO.setLastModifier(rowData.getEditor());
- orderDTO.setLcStatus(rowData.getStatus());
- if(!CollectionUtils.isEmpty(ruleVO.getSecVOList())) {
- ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> {
- if (codeBasicSecVO.getSecType().equals("codevariablesec")) {//瑙勫垯涔嬪畾涔変负鍙彉鐮佹瀛樺偍涓绘暟鎹紶閫掕繃鏉ョ殑鏁版嵁
- CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO();
- CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid());
- CodeOrderSecDTO.setSecValue(rowData.getCode());
- codeOrderSecDTOList.add(CodeOrderSecDTO);
-
- }
- });
- }
- orderDTO.setCodeRuleOid(ruleVO.getOid());
- orderDTO.setSecDTOList(codeOrderSecDTOList);//瀛樺偍缂栫爜
- orderDTO.setData(rowData.getFiledValue());
- String code=engineService.addSaveCodeNotauthUser(orderDTO,false);
- if(StringUtils.isNotBlank(code)) {
- //rowData.setCode(code);
- StringBuffer sqlsb = new StringBuffer();
- sqlsb.append(" select * from ");
- sqlsb.append(tableName);
- sqlsb.append(" where 1=1 ");
- sqlsb.append(" and lastr=1 and lastv=1");
- sqlsb.append(" and id in (");
- sqlsb.append(VciBaseUtil.toInSql(code));
- sqlsb.append(")");
- List<Map<String, String>> newDataMapList = commonsMapper.queryByOnlySqlForMap(sqlsb.toString());
- if (!CollectionUtils.isEmpty(newDataMapList)) {
- String oid = StringUtils.isBlank(newDataMapList.get(0).get("OID")) ? "" : newDataMapList.get(0).get("OID");
- List<String> oidList = new ArrayList<>();
- oidList.add(oid);
- //濡傛灉鏈夌敵璇峰氨鍘昏皟鐢ㄧ敵璇烽泦鍥㈢爜
- if (isPersonApplyGroupCode) {
- mdmIOService.sendApplyGroupcode(oidList, templateVO.getBtmTypeId(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue());
- success.set(true);
- mesg = "鏁版嵁淇濆瓨鎴愬姛锛岀瓑寰呯敵璇烽泦鍥㈢爜";
- }
+ //闄愬埗绾跨▼骞惰鏁伴噺
+ //customForkJoinPool.submit(()->{
+ // dataObjectVO.getRowData().parallelStream().forEach(rowData->{
+ dataObjectVO.getRowData().forEach(rowData->{
+ String mesg="";
+ try {
+ CodeOrderDTO orderDTO = new CodeOrderDTO();
+ List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
+ orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭
+ orderDTO.setTemplateOid(templateVO.getOid());
+ orderDTO.setCreator(rowData.getCreator());
+ orderDTO.setLastModifier(rowData.getEditor());
+ orderDTO.setLcStatus(rowData.getStatus());
+ if(!CollectionUtils.isEmpty(ruleVO.getSecVOList())) {
+ ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> {
+ if (codeBasicSecVO.getSecType().equals("codevariablesec")) {
+ //瑙勫垯涔嬪畾涔変负鍙彉鐮佹瀛樺偍涓绘暟鎹紶閫掕繃鏉ョ殑鏁版嵁
+ CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO();
+ CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid());
+ CodeOrderSecDTO.setSecValue(rowData.getCode());
+ codeOrderSecDTOList.add(CodeOrderSecDTO);
+ }
+ });
}
+ orderDTO.setCodeRuleOid(ruleVO.getOid());
+ orderDTO.setSecDTOList(codeOrderSecDTOList);//瀛樺偍缂栫爜
+ orderDTO.setData(rowData.getFiledValue());
+ String code = engineService.addSaveCodeNotauthUser(orderDTO,false);
+ /*if(StringUtils.isNotBlank(code)) {
+ //rowData.setCode(code);
+ StringBuffer sqlsb = new StringBuffer();
+ sqlsb.append(" select * from ");
+ sqlsb.append(tableName);
+ sqlsb.append(" where 1=1 ");
+ sqlsb.append(" and lastr=1 and lastv=1");
+ sqlsb.append(" and id in (");
+ sqlsb.append(VciBaseUtil.toInSql(code));
+ sqlsb.append(")");
+ List<Map<String, String>> newDataMapList = commonsMapper.queryByOnlySqlForMap(sqlsb.toString());
+ if (!CollectionUtils.isEmpty(newDataMapList)) {
+ String oid = StringUtils.isBlank(newDataMapList.get(0).get("OID")) ? "" : newDataMapList.get(0).get("OID");
+ List<String> oidList = new ArrayList<>();
+ oidList.add(oid);
+ //濡傛灉鏈夌敵璇峰氨鍘昏皟鐢ㄧ敵璇烽泦鍥㈢爜
+ if (isPersonApplyGroupCode) {
+ mdmIOService.sendApplyGroupcode(oidList, templateVO.getBtmTypeId(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue());
+ success.set(true);
+ mesg = "鏁版嵁淇濆瓨鎴愬姛锛岀瓑寰呯敵璇烽泦鍥㈢爜";
+ }
+ }
+ }*/
+ } catch (Exception e) {
+ log.error( "閮ㄩ棬鏁版嵁鎺ユ敹澶辫触:",e);
+ mesg=e.getMessage();
+ e.printStackTrace();
+ // throw new ServiceException(e.getMessage());
+ }finally {
+ XMLResultDataObjectDetailDO x=new XMLResultDataObjectDetailDO();
+ x.setId(rowData.getOid());
+ x.setCode(rowData.getCode());
+ x.setMsg(mesg);
+ x.setErrorid("1");
+ xDOs.add(x);
}
- } catch (Exception e) {
- mesg=e.getMessage();
- e.getMessage();
- e.printStackTrace();
- }finally {
- XMLResultDataObjectDetailDO x=new XMLResultDataObjectDetailDO();
- x.setId(rowData.getOid());
- x.setCode(rowData.getCode());
- x.setMsg(mesg);
- x.setErrorid("1");
- xDOs.add(x);
- }
- });
+ });
+ //}).join();
resultDataObjectDetailDOs.addAll(xDOs);
boolean finalSuccess1 = success.get();
String finalMessage1 = message;
@@ -972,7 +999,9 @@
}
}catch (Throwable e){
success.set(false);
- message="浜哄憳鏁版嵁鎺ュ彈澶辫触:"+e.getMessage();
+ message = "閮ㄩ棬鏁版嵁鎺ユ敹澶辫触:"+e.getMessage();
+ msg = "閮ㄩ棬鏁版嵁鎺ユ敹澶辫触:"+e.getMessage();
+ log.error( "閮ㄩ棬鏁版嵁鎺ユ敹澶辫触:",e);
//缁勭粐杩斿洖缁撴灉
boolean finalSuccess = success.get();
String finalMessage = message;
@@ -997,6 +1026,7 @@
//璁板綍鏃ュ織
this.saveLogs(systemCode, systemCode, data, resultStr, success.get(), msg, "syncDataForOrg");
}catch (Throwable e){
+ log.error( "淇濆瓨鏃ュ織澶辫触:",e);
e.printStackTrace();
}
}
@@ -1053,10 +1083,11 @@
passwordFreeLoginService.pwdFreeLoginByBoolean(systemId.toLowerCase(),this.getRequest());
}catch (Throwable e){
errorid = "1";
+ log.error("鐢ㄦ埛閴存潈澶辫触",e);
throw new Throwable("鐢ㄦ埛閴存潈澶辫触");
}
List<ClassfyVO> classVOList = classfysVO.getClassify();
- InterParameterVO finalInterParameterVO = interParameterVO;
+ //InterParameterVO finalInterParameterVO = interParameterVO;
//杩欐槸璐﹀彿淇℃伅
SessionInfo sessionInfo = new SessionInfo();
sessionInfo.setUserId(userVo.getUserName());
@@ -1108,6 +1139,8 @@
mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,isCodeOrGroupCode);
log.info("end锛氫慨鏀规暟鎹墽琛屽畬姣�");
} catch (Throwable e) {
+ msg="缂栫爜鏇存敼/鐘舵�佹洿鏀�/鍒犻櫎:";
+ log.error(msg,e);
List<ApplyDataVO> applyDataVOList= classVO.getObjects().getObject();
objerrorCode="1";
if(!CollectionUtils.isEmpty(applyDataVOList)) {
@@ -1141,6 +1174,7 @@
}catch (Throwable e){
e.printStackTrace();
msg="缂栫爜鏇存敼/鐘舵�佹洿鏀�/鍒犻櫎:"+e.getMessage();
+ log.error(msg,e);
/* XMLResultSystemVO XMLResultSystemVO=new XMLResultSystemVO();
XMLResultSystemVO.setErrorid(errorid);
XMLResultSystemVO.setMsg("鐢宠缂栫爜澶辫触锛�->"+e.getMessage());
@@ -1175,6 +1209,7 @@
//璁板綍鏃ュ織
this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "syncEditData");
}catch (Throwable e){
+ log.error("淇濆瓨鏃ュ織澶辫触",e);
e.printStackTrace();
}
}
@@ -1201,7 +1236,7 @@
log.info("鏌ヨ鍒嗙被鐨勬暟鎹被鍨�:->"+dataType);
ResultClassifyVO resultClassifyVO =new ResultClassifyVO();
List<ClassifyVO> classifyVOList=new ArrayList<>();
- com.vci.ubcs.code.vo.webserviceModel.classify.ResultData resultData=new com.vci.ubcs.code.vo.webserviceModel.classify.ResultData();
+ ResultData resultData=new ResultData();
try {
if (StringUtils.isBlank(data)) {
errorid = "101";
@@ -1223,6 +1258,7 @@
errorid = "101";
msg="鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�";
e.printStackTrace();
+ log.error("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�",e);
throw new Throwable("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�");
}
QueryData queryData=queryClassifyVO.getData();
@@ -1329,7 +1365,9 @@
resultData.setLibrary(libraryVo);
}catch (Throwable e){
e.printStackTrace();
+
msg="鏌ヨ鍒嗙被澶辫触:"+e.getMessage();
+ log.error(msg,e);
}finally {
resultData.setErrorid(errorid);
resultData.setMsg(msg);
@@ -1350,6 +1388,7 @@
//璁板綍鏃ュ織
this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryClassify");
}catch (Throwable e){
+ log.error("淇濆瓨鏃ュ織淇℃伅澶辫触锛�",e);
e.printStackTrace();
}
log.info("杩斿洖鍙傛暟:"+resultStr);
@@ -1389,6 +1428,7 @@
errorid = "101";
msg = "鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�";
e.printStackTrace();
+ log.error( "鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�",e);
throw new Throwable("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�");
}
CondtionsVO condtionsVO=dataCondtionsVO.getCondtions();
@@ -1400,6 +1440,7 @@
passwordFreeLoginService.pwdFreeLoginByBoolean(systemId.toLowerCase(),this.getRequest());
}catch (Throwable e){
errorid = "1";
+ log.error("鐢ㄦ埛閴存潈澶辫触",e);
throw new Throwable("鐢ㄦ埛閴存潈澶辫触");
}
CondtionVO condtionVO= condtionsVO.getCondtion();
@@ -1498,7 +1539,8 @@
sb.append(" and lastr=1 and lastv=1" );
sb.append(" and codeclsfid in (" + VciBaseUtil.toInSql(oidCodeclassifyDOMap.keySet().toArray(new String[0])) +")");
sb.append(" and Lcstatus in (" + VciBaseUtil.toInSql(statusList.toArray(new String[]{})) +")");
- List<Map<String,String>> newDataList= commonsMapper.queryByOnlySqlForMap(sb.toString());
+ List<Map<String,String>> newDataList = commonsMapper.queryByOnlySqlForMap(sb.toString());
+ DefaultAttrAssimtUtil.mapToLowerCase(newDataList,true);
List<ClientBusinessObject> clientBusinessObjects= ChangeMapTOClientBusinessObjects(newDataList);
List<com.vci.ubcs.code.vo.webserviceModel.data.DataObjectVO> dataObjectVOS=new ArrayList<>();
if(!CollectionUtils.isEmpty(clientBusinessObjects)){
@@ -1553,7 +1595,9 @@
}
}catch (Throwable e){
e.printStackTrace();
+
msg="鏌ヨ鏁版嵁澶辫触:"+e.getMessage();
+ log.error(msg,e);
}finally {
resultDataVO.setErrorid(errorid);
resultDataVO.setMsg(msg);
@@ -1573,6 +1617,7 @@
try { //璁板綍鏃ュ織
this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryData");
}catch (Throwable e){
+ log.error("淇濆瓨鏃ュ織淇℃伅澶辫触:",e);
e.printStackTrace();
}
log.info("杩斿洖鍙傛暟:"+resultStr);
@@ -1611,6 +1656,7 @@
} catch (Throwable e) {
errorid = "101";
msg = "鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�";
+ log.error(msg,e);
e.printStackTrace();
throw new Throwable("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�");
}
@@ -1623,6 +1669,7 @@
passwordFreeLoginService.pwdFreeLoginByBoolean(systemId.toLowerCase(),this.getRequest());
}catch (Throwable e){
errorid = "1";
+ log.error("鐢ㄦ埛閴存潈澶辫触",e);
throw new Throwable("鐢ㄦ埛閴存潈澶辫触");
}
@@ -2011,6 +2058,7 @@
}catch (Throwable e){
e.printStackTrace();
msg="鏌ヨ鍒嗙被澶辫触:"+e.getMessage();
+ log.error("鏌ヨ鍒嗙被澶辫触:",e);
}finally {
resultClassifyRuleData.setErrorid(errorid);
resultClassifyRuleData.setMsg(msg);
@@ -2031,6 +2079,7 @@
//璁板綍鏃ュ織
this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryClassifyRule");
}catch (Throwable e){
+ log.error("淇濆瓨鏃ュ織淇℃伅澶辫触:",e);
e.printStackTrace();
}
log.info("杩斿洖鍙傛暟:"+resultStr);
@@ -2075,6 +2124,7 @@
}
} catch (Throwable e) {
errorid[0] = "101";
+ log.error("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�:",e);
throw new Throwable("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�");
}
classfyBZVO = applyBZParamVO.getData().getClassify();
@@ -2086,6 +2136,7 @@
passwordFreeLoginService.pwdFreeLoginByBoolean(systemId.toLowerCase(),this.getRequest());
}catch (Throwable e){
errorid[0] = "1";
+ log.error("鐢ㄦ埛閴存潈澶辫触:",e);
throw new Throwable("鐢ㄦ埛閴存潈澶辫触");
}
//杩欐槸璐﹀彿淇℃伅
@@ -2180,6 +2231,7 @@
codeBZApplyDTO.setLastModifier(applyBZDataVO.getEditor());
codeBZApplyDTO.setLcStatus(applyBZDataVO.getStatus());
ApplyBZDatasVO newApplyBZDatasVO=new ApplyBZDatasVO();
+ applyBZDataVO.setProp(proppertyVOList);
newApplyBZDatasVO.setObject(Arrays.asList(applyBZDataVO));
log.info("end锛氭暟鎹粍缁囧畬姣�");
this.getConfigDatas(finalSystemId, finalLibray, newApplyBZDatasVO, attrVOS, dataObjectVO);
@@ -2190,6 +2242,7 @@
} catch (Throwable e) {
objerrorCode = "1";
msg="缂栫爜鐢宠澶辫触:" +e.getMessage();
+ log.error(msg,e);
e.printStackTrace();
}finally {
XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
@@ -2214,6 +2267,7 @@
}catch (Throwable e){
e.printStackTrace();
msg="鐢宠缂栫爜澶辫触:"+e.getMessage();
+ log.error(msg,e);
}finally {
XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO();
xmlResultSystemVO.setClassifys(resultClassfyVOList);
@@ -2239,6 +2293,7 @@
//璁板綍鏃ュ織
this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCodeForBZ");
}catch (Throwable e){
+ log.error("淇濆瓨鏃ュ織淇℃伅澶辫触锛�",e);
e.printStackTrace();
}
}
@@ -2246,6 +2301,7 @@
//璋冪敤闆嗗洟鐢宠鎺ュ彛鐢宠闆嗗洟鐮�
return resultStr;
}
+
private void setPropertyValue(String key,String value,List<ProppertyVO> proppertyVOList){
ProppertyVO proppertyVO=new ProppertyVO();
proppertyVO.setKey(key);
@@ -2253,6 +2309,7 @@
proppertyVOList.add(proppertyVO);
}
+
/***
* 鏌ヨ鏍¢獙鍒嗙被淇℃伅
* @param classfyVO
@@ -2291,10 +2348,12 @@
}
}catch (Throwable e){
objerrorCode="100";
+ log.error("鑾峰彇鍒嗙被淇℃伅澶辫触:",e);
throw new Throwable("鑾峰彇鍒嗙被淇℃伅澶辫触:"+e.getMessage());
}
return classifyVO;
}
+
/***
* 鏌ヨ鏍¢獙鍒嗙被淇℃伅
* @param classfyVO
@@ -2333,6 +2392,7 @@
}
}catch (Throwable e){
objerrorCode="100";
+ log.error("鑾峰彇鍒嗙被淇℃伅澶辫触:",e);
throw new Throwable("鑾峰彇鍒嗙被淇℃伅澶辫触:"+e.getMessage());
}
return classifyVO;
@@ -2354,7 +2414,6 @@
return clientBusinessObjectList;
}
-
private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOsBZ(CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo){
List<CodeBasicSecVO> codeBasicSecVOS= ruleVO.getSecVOList();
List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
@@ -2367,9 +2426,13 @@
return codeOrderSecDTOList;
}
-
- /***
+ /**
* 鏍规嵁浼犲叆鐨勫弬鏁颁俊鎭牎楠岀爜娈佃鍒�
+ * @param SectionVOList
+ * @param ruleVO
+ * @param classifyFullInfo
+ * @return
+ * @throws Throwable
*/
private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOs(List<SectionVO> SectionVOList,CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo) throws Throwable{
List<CodeBasicSecVO> codeBasicSecVOS= ruleVO.getSecVOList();
@@ -2382,9 +2445,12 @@
Map<String,String> errorMap=new HashMap<>();
for(CodeBasicSecVO codeBasicSecVO: codeBasicSecVOS) {
String sectype = codeBasicSecVO.getSecType();
- String newSecName=codeBasicSecVO.getName();
+ // String newSecName=codeBasicSecVO.getName();
String classifySecOid= codeBasicSecVO.getOid();
String message="";
+ //#NaN?琛ㄧず鐮佸�间负绌虹殑鍦烘櫙
+ String nullSymbol = EnumCache.getValue("nullSymbol", "NULL");
+ nullSymbol = Func.isBlank(nullSymbol) ? "#NaN?":nullSymbol;
if (!sectype.equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())) {
String name = codeBasicSecVO.getName();
String sectypeText = codeBasicSecVO.getSecTypeText();
@@ -2395,15 +2461,14 @@
CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid());
String sectypeValue = sectionVOMap.get(name);
log.info("鐮佹鍊�:"+sectypeValue);
- CodeSecTypeEnum secType = CodeSecTypeEnum.forValue(sectype);
- if(CODE_CLASSIFY_SEC.equals(secType)) {//濡傛灉鏄垎绫荤殑璇濓紝鍒欓渶瑕佸尮閰嶄紶杩囨潵鐨勫垎绫讳唬鍙蜂笌
+ // CodeSecTypeEnum secType = CodeSecTypeEnum.forValue(sectype);
+ if(CODE_CLASSIFY_SEC.getValue().equals(sectype)) {//濡傛灉鏄垎绫荤殑璇濓紝鍒欓渶瑕佸尮閰嶄紶杩囨潵鐨勫垎绫讳唬鍙蜂笌
//鍏堢畝绉版槸鍚︽湁鍏宠仈妯℃澘锛屾湁妯℃澘瑕佸厛鍒犻櫎
List<CodeClassifyValue> codeClassifyValueDOList = codeClassifyValueService.list(Wrappers.<CodeClassifyValue>query().lambda().eq(CodeClassifyValue::getCodeClassifySecOid,classifySecOid));
-
if (!CollectionUtils.isEmpty(codeClassifyValueDOList)) {
Map<String, CodeClassifyValue> codeClassifyValueDOMap = codeClassifyValueDOList.stream().collect(Collectors.toMap(s -> s.getId(), t -> t, (o1, o2) -> o2));
- if(codeClassifyValueDOMap.containsKey(sectypeValue)){
- CodeClassifyValue codeClassifyValue= codeClassifyValueDOMap.get(sectypeValue);
+ if(codeClassifyValueDOMap.containsKey(sectypeValue) || nullSymbol.equals(sectypeValue)){
+ CodeClassifyValue codeClassifyValue = codeClassifyValueDOMap.get(sectypeValue);
sectypeValue=codeClassifyValue.getOid();
}else {
//throw new Throwable("浼犲叆鐨勫垎绫荤爜娈碉細銆�" + name + " 鍊硷細" + sectypeValue + "銆戯紝涓嶇鍚堝綋鍓嶅垎绫诲眰绾т唬鍙�");
@@ -2411,9 +2476,157 @@
errorMap.put("error",errorMap.getOrDefault("error","")+";"+message);
}
}
+ }else if(CODE_REFER_SEC.getValue().equals(sectype)){
+ String referBtmId=codeBasicSecVO.getReferBtmId();
+ String btmName=codeBasicSecVO.getReferBtmName();
+ String referConfig= codeBasicSecVO.getReferConfig();
+ CoderefersecSearchVO coderefersecSearchVO=new CoderefersecSearchVO();
+ if(StringUtils.isNotBlank(referConfig)){
+ coderefersecSearchVO = JSONObject.toJavaObject(JSONObject.parseObject(referConfig), CoderefersecSearchVO.class);
+ }
+ String buildSqlwhere="";
+ List<CodeSectionValueVO> codeSectionValueVOList=new ArrayList<>();
+ if(coderefersecSearchVO!=null) {
+ Map<String, Object> condtionMap = new HashMap<>();
+ String valueField= coderefersecSearchVO.getValueField();
+ if(StringUtils.isNotBlank(valueField)){
+ condtionMap.put(valueField,sectypeValue);
+ }
+ if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.DEFAULT.getValue()) || coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.GRID.getValue())) {//榛樿鏍峰紡/鍒楄〃
+ List<CodeSrchCondConfigVO> codeSrchCondConfigVOList = coderefersecSearchVO.getCodeSrchCondConfigVOS();
+ if (!CollectionUtils.isEmpty(codeSrchCondConfigVOList)) {
+ codeSrchCondConfigVOList.stream().forEach(codeSrchCondConfigVO -> {
+ condtionMap.put(codeSrchCondConfigVO.getFilterField() + codeSrchCondConfigVO.getFilterType(), codeSrchCondConfigVO.getFilterValue());
+ });
+ }
+ if(!CollectionUtils.isEmpty(condtionMap)) {
+ buildSqlwhere = UBCSSqlKeyword.buildSqlwhere(condtionMap);
+ }
+ //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referBtmId));
+ if (!listR.isSuccess() || listR.getData().size() == 0) {
+ throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+ }
+ String referTable = listR.getData().get(0).getTableName();
+ StringBuffer sb = new StringBuffer();
+ sb.append(" select * from ");
+ sb.append(referTable);
+ sb.append(" where 1=1 ");
+ if (StringUtils.isNotBlank(buildSqlwhere)) {
+ sb.append(buildSqlwhere);
+ }
+ List<Map> ListMap = commonsMapper.selectBySql(sb.toString());
+ //String valueField = coderefersecSearchVO.getValueField();
+ String textField = coderefersecSearchVO.getTextField();
+ final int[] num = {0};
+ if (!CollectionUtils.isEmpty(ListMap)) {
+ ListMap.stream().forEach(map -> {
+ num[0]++;
+ String id = Func.isNull(map.getOrDefault("OID".toUpperCase(Locale.ROOT), "")) ? "" : map.getOrDefault("OID".toUpperCase(Locale.ROOT), "").toString();
+ String value = Func.isNull(map.getOrDefault(valueField.toUpperCase(Locale.ROOT), "")) ? "" : map.getOrDefault(valueField.toUpperCase(Locale.ROOT), "").toString();
+ String text = Func.isNull(map.getOrDefault(textField.toUpperCase(Locale.ROOT), "")) ? "" : map.getOrDefault(textField.toUpperCase(Locale.ROOT), "").toString();
+ String description = Func.isNull(map.getOrDefault("description".toUpperCase(Locale.ROOT), "")) ? "" : map.getOrDefault("description".toUpperCase(Locale.ROOT), "").toString();
+ CodeSectionValueVO sectionValueVO = new CodeSectionValueVO(id, num[0] + "", value, id, "", description);
+ codeSectionValueVOList.add(sectionValueVO);
+ });
+ }
+ }else if (coderefersecSearchVO.getType().equals(CodeReferConfigTypeEnum.TREE.getValue())) {//鏍戝舰
+ //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(referBtmId));
+ if (!listR.isSuccess() || listR.getData().size() == 0) {
+ throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+ }
+ String referTable = listR.getData().get(0).getTableName();
+
+ String oidFieldName = StringUtils.isNotBlank(coderefersecSearchVO.getParentUsedField())?coderefersecSearchVO.getParentUsedField():coderefersecSearchVO.getValueField();
+ String parentValue =coderefersecSearchVO.getParentValue();
+ String parentFieldName =StringUtils.isBlank(coderefersecSearchVO.getParentFieldName())?"":coderefersecSearchVO.getParentFieldName();
+ List<CodeSrchCondConfigVO> codeSrchCondConfigVOList = coderefersecSearchVO.getCodeSrchCondConfigVOS();
+ List<CodeShowFieldConfigVO> codeShowFieldConfigVOS=coderefersecSearchVO.getCodeShowFieldConfigVOS();
+ if (!CollectionUtils.isEmpty(codeSrchCondConfigVOList)) {
+ codeSrchCondConfigVOList.stream().forEach(codeSrchCondConfigVO -> {
+ condtionMap.put(codeSrchCondConfigVO.getFilterField() + codeSrchCondConfigVO.getFilterType(), codeSrchCondConfigVO.getFilterValue());
+ });
+ }
+ if(!CollectionUtils.isEmpty(condtionMap)) {
+ buildSqlwhere = UBCSSqlKeyword.buildSqlwhere(condtionMap);
+ }
+ //if("all".equals(coderefersecSearchVO.getLoadType())) {
+ String parentOidSql = "";
+ if(StringUtils.isNotBlank(parentValue)){
+ String temp=parentValue;
+ if(temp.startsWith(QueryOptionConstant.IN)){
+ temp = temp.substring((QueryOptionConstant.IN).length()).trim();
+ parentOidSql = " in " + ((temp.startsWith("(") && temp.endsWith(")"))?temp:"(" + temp + ")");
+ }else if(temp.startsWith(QueryOptionConstant.NOTIN)){
+ parentOidSql = " not in " + ((temp.startsWith("(") && temp.endsWith(")"))?temp:"(" + temp + ")");
+ }else if(temp.startsWith(QueryOptionConstant.NOTEQUAL)){
+ temp = temp.substring((QueryOptionConstant.NOTEQUAL).length()).trim();
+ parentOidSql = QueryOptionConstant.NOTEQUAL + " " + ((temp.startsWith("'") && temp.endsWith("'"))?temp:"'" + temp + "'");
+ }else if(temp.startsWith(QueryOptionConstant.MORETHAN)){
+ temp = temp.substring((QueryOptionConstant.MORETHAN).length()).trim();
+ parentOidSql = QueryOptionConstant.MORETHAN + " " + ((temp.startsWith("'") && temp.endsWith("'"))?temp:"'" + temp + "'");
+ }else if(temp.startsWith(QueryOptionConstant.MORE)){
+ temp = temp.substring((QueryOptionConstant.MORE).length()).trim();
+ parentOidSql = QueryOptionConstant.MORE + " " + ((temp.startsWith("'") && temp.endsWith("'"))?temp:"'" + temp + "'");
+ }else if(temp.startsWith(QueryOptionConstant.LESSTHAN)){
+ temp = temp.substring((QueryOptionConstant.LESSTHAN).length()).trim();
+ parentOidSql = QueryOptionConstant.LESSTHAN + " " + ((temp.startsWith("'") && temp.endsWith("'"))?temp:"'" + temp + "'");
+ }else if(temp.startsWith(QueryOptionConstant.LESS)){
+ temp = temp.substring((QueryOptionConstant.LESS).length()).trim();
+ parentOidSql = QueryOptionConstant.LESS + " " + ((temp.startsWith("'") && temp.endsWith("'"))?temp:"'" + temp + "'");
+ }else if (temp.startsWith(QueryOptionConstant.ISNOTNULL)) {
+ parentOidSql = " is not null";
+ } else if (temp.startsWith(QueryOptionConstant.ISNULL)) {
+ parentOidSql = " is null";
+ } else if(temp.contains("*")){
+ parentOidSql = " like " + ((temp.startsWith("'") && temp.endsWith("'"))?temp:"'" + temp + "'").replace("*","%");
+ }else {
+ parentOidSql = " = " + ((temp.startsWith("'") && temp.endsWith("'"))?temp:"'" + temp + "'");
+ }
+ }
+ //鏌ヨ鍏ㄩ儴鐨勪俊鎭�
+ buildSqlwhere+= " and oid in (select oid from " +referTable + " START WITH " + coderefersecSearchVO.getParentFieldName() + " "+
+ parentOidSql +
+ " CONNECT BY PRIOR " + oidFieldName + " = " + parentFieldName + ")";
+ StringBuffer sb = new StringBuffer();
+ sb.append(" select * from ");
+ sb.append(referTable);
+ sb.append(" where 1=1 ");
+ if (StringUtils.isNotBlank(buildSqlwhere)) {
+ sb.append(buildSqlwhere);
+ }
+ List<Map> ListMap = commonsMapper.selectBySql(sb.toString());
+ String textField = coderefersecSearchVO.getTextField();
+ final int[] num = {0};
+ if (!CollectionUtils.isEmpty(ListMap)) {
+ ListMap.stream().forEach(map -> {
+ num[0]++;
+ String id =Func.isNull(map.getOrDefault("OID".toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault("OID".toUpperCase(Locale.ROOT), "").toString();
+ String value =Func.isNull(map.getOrDefault(valueField.toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault(valueField.toUpperCase(Locale.ROOT), "").toString();
+ String text =Func.isNull(map.getOrDefault(textField.toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault(textField.toUpperCase(Locale.ROOT), "").toString();
+ String description =Func.isNull(map.getOrDefault("description".toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault("description".toUpperCase(Locale.ROOT), "").toString();
+ String pid =Func.isNull(map.getOrDefault(parentFieldName.toUpperCase(Locale.ROOT), ""))?"":map.getOrDefault(parentFieldName.toUpperCase(Locale.ROOT), "").toString();
+ CodeSectionValueVO sectionValueVO = new CodeSectionValueVO(id, num[0] + "", value, text, pid, description);
+ codeSectionValueVOList.add(sectionValueVO);
+ });
+ }
+ }
+ }
+ if(!CollectionUtils.isEmpty(codeSectionValueVOList)){
+ Map<String, CodeSectionValueVO> codeSectionValueVOMap = codeSectionValueVOList.stream().collect(Collectors.toMap(s -> s.getValue(), t -> t, (o1, o2) -> o2));
+ if(!codeSectionValueVOMap.containsKey(sectypeValue)){
+ message="浼犲叆鐨勭紪鐮佽鍒欑爜娈�:銆�"+name+"銆戜负"+CODE_REFER_SEC.getText()+",鍏跺搴旂殑鍊笺��"+sectypeValue+"銆戯紝鍦ㄧ紪鐮佺郴缁熶笉瀛樺湪";
+ errorMap.put("error",errorMap.getOrDefault("error","")+";"+message);
+ }
+ }else{
+ message="浼犲叆鐨勭紪鐮佽鍒欑爜娈�:銆�"+name+"銆戜负"+CODE_REFER_SEC.getText()+",鍏跺搴旂殑鍊笺��"+sectypeValue+"銆戯紝鍦ㄧ紪鐮佺郴缁熶笉瀛樺湪";
+ errorMap.put("error",errorMap.getOrDefault("error","")+";"+message);
+ }
}
- if(StringUtils.isBlank(sectypeValue)&&!newSecName.equals(secName)){
- message="浼犲叆鐨勫垎绫荤爜娈碉細銆�" + name + " 銆戠殑鍊间笉鍏佽涓虹┖";
+
+ if(StringUtils.isBlank(sectypeValue)&&!name.equals(secName)){
+ message="浼犲叆鐨勭爜娈碉細銆�" + name + " 銆戠殑鍊间笉鍏佽涓虹┖";
errorMap.put("error",errorMap.getOrDefault("error","")+";"+message);
}
CodeOrderSecDTO.setSecValue(sectypeValue);
@@ -2431,41 +2644,61 @@
return codeOrderSecDTOList;
}
+ /***
+ * 璇诲彇灞炴�ф槧灏勯厤缃俊鎭�
+ * @param systemId
+ * @param libray
+ * @param applyDatasVO
+ * @param codeClassifyTemplateAttrVOList
+ * @param dataObjectVO
+ * @throws Throwable
+ */
public void getConfigDatas(String systemId,String libray, ApplyBZDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable {
- LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>();
+ // LinkedHashMap<String,LinkedHashMap<String,String>> dataKeyValueMap=new LinkedHashMap<>();
//濡傛灉灏嗘暟鎹浆鎹㈡垚鎵�闇�瑕佺殑鏁版嵁瀵硅薄
Map<String, String> attrMapConfigMap=new HashMap<>();
Map<String, String> propMaps=new HashMap<>();
- try {
- log.info("寮�濮嬭鍙栫郴缁熼厤缃枃浠� start");
- Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap();
- log.info("闆嗘垚绯荤粺灞炴�ф槧灏勯厤缃枃浠舵潯鐩暟-銆�"+stringStringMap.size());
- //stringStringMap.put("RLM","D:\\RLM.xml");
- if(!CollectionUtils.isEmpty(stringStringMap)) {
+ log.info("寮�濮嬭鍙栫郴缁熼厤缃枃浠� start");
+ Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap();
+ log.info("闆嗘垚绯荤粺灞炴�ф槧灏勯厤缃枃浠舵潯鐩暟-銆�"+stringStringMap.size());
+ //stringStringMap.put("RLM","D:\\RLM.xml");
+ if(!CollectionUtils.isEmpty(stringStringMap)) {
+ List<LibraryClsfDO> libraryClsfDOList=new ArrayList<>();
+ try {
log.info("info锛氶渶瑕佽鍙栭厤缃枃浠�");
LibraryDO libraryDO = gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId, stringStringMap);
- List<LibraryClsfDO> libraryClsfDOList = libraryDO.getClsf();
- if(!CollectionUtils.isEmpty(libraryClsfDOList)) {
- Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2));
- log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�");
- String path=stringStringMap.get(systemId);
- if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) {
- log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�");
- List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT));
- propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2));
- log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�,灞炴�ф槧灏勬潯鐩暟+" + clsfAttrMappingDOList.size());
- }else{
- throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�"+systemId+"銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�"+path+"銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��"+libray+"銆戝睘鎬ф槧灏勪俊鎭厤缃�");
- }
- }
+ libraryClsfDOList = libraryDO.getClsf();
+ } catch (Throwable e) {
+ objerrorCode = "1";
+ e.printStackTrace();
+ log.error("闆嗘垚绯荤粺灞炴�ч厤缃枃浠惰鍙栧け璐ワ細",e);
+ throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�" + systemId + "銆戯紝鍒嗙被搴撲负:銆�" + libray + "銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�");
}
- log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�"+libray+"浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃� end ");
- }catch (Throwable e){
- objerrorCode="1";
- e.printStackTrace();
- throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�"+systemId+"銆戯紝鍒嗙被搴撲负:銆�"+libray+"銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�");
+ // String path = stringStringMap.get(systemId);
+ // 蹇界暐key澶у皬鍐欙紝鑾峰彇閰嶇疆鐨勬槧灏勬枃浠惰矾寰�
+ String path = VciBaseUtil.getMapStrValueIgnoreCase(stringStringMap,systemId);
+ if (!CollectionUtils.isEmpty(libraryClsfDOList)) {
+ Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2));
+ log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�");
+ if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) {
+ log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�");
+ List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT));
+ propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2));
+ log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�,灞炴�ф槧灏勬潯鐩暟+" + clsfAttrMappingDOList.size());
+ } else {
+ objerrorCode = "1";
+ throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�" + systemId + "銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�" + path + "銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��" + libray + "銆戝睘鎬ф槧灏勪俊鎭厤缃�");
+ }
+ }else{
+ objerrorCode = "1";
+ throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�" + systemId + "銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�" + path + "銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��" + libray + "銆戝睘鎬ф槧灏勪俊鎭厤缃�");
+ }
+ }else{
+ objerrorCode = "1";
+ throw new Throwable("鏈幏鍙栧埌闆嗘垚灞炴�ф槧灏勭郴缁熼厤缃俊鎭�");
}
+ log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�"+libray+"浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃� end ");
LinkedList<String> rowNameList=new LinkedList<>();
LinkedHashMap<String,Integer> filedIndexMap=new LinkedHashMap<>();
//鏍规嵁鍒嗙被妯℃澘缁勭粐鏁版嵁
@@ -2510,6 +2743,7 @@
String dataValue = sourceKeyValueMap.get(sourceKey);
if (attrMapConfigMap.containsKey(sourceKey)) {
String targetKey = attrMapConfigMap.get(sourceKey);
+ log.info("xxxxx灞炴�ф槧灏勫��:sourceKey銆�"+sourceKey+"銆戔�斺�斻��+targetKey---銆�"+targetKey+":"+dataValue);
keyValueMap.put(targetKey, StringUtils.isBlank(dataValue)?"":dataValue);
}
});
@@ -2535,12 +2769,19 @@
dataObjectVO.setRowData(rowDataList);
}catch (Throwable e){
objerrorCode="1";
- throw new Throwable("缁勭粐鏁版嵁鏄犲皠鍊煎け璐�");
+ log.error("缁勭粐灞炴�ф槧灏勫�煎け璐ワ細",e);
+ throw new Throwable("缁勭粐灞炴�ф槧灏勫�煎け璐�");
}
}
/***
- * 鏍规嵁灞炴�ф槧灏勮浆鎹㈢紪鐮佹墍闇�瀛楁
+ * 璇诲彇灞炴�ф槧灏勯厤缃俊鎭�
+ * @param systemId
+ * @param libray
+ * @param applyDatasVO
+ * @param codeClassifyTemplateAttrVOList
+ * @param dataObjectVO
+ * @throws Throwable
*/
public void getConfigDatas(String systemId,String libray, ApplyDatasVO applyDatasVO,List<CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOList,DataObjectVO dataObjectVO) throws Throwable {
@@ -2548,35 +2789,45 @@
//濡傛灉灏嗘暟鎹浆鎹㈡垚鎵�闇�瑕佺殑鏁版嵁瀵硅薄
Map<String, String> attrMapConfigMap=new HashMap<>();
Map<String, String> propMaps=new HashMap<>();
- try {
- log.info("寮�濮嬭鍙栫郴缁熼厤缃枃浠� start");
- Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap();
- log.info("闆嗘垚绯荤粺灞炴�ф槧灏勯厤缃枃浠舵潯鐩暟-銆�"+stringStringMap.size());
- //stringStringMap.put("RLM","D:\\RLM.xml");
- if(!CollectionUtils.isEmpty(stringStringMap)) {
+ log.info("寮�濮嬭鍙栫郴缁熼厤缃枃浠� start");
+ Map<String, String> stringStringMap=attributeMapConfig.getSystem_attrmap();
+ log.info("闆嗘垚绯荤粺灞炴�ф槧灏勯厤缃枃浠舵潯鐩暟-銆�"+stringStringMap.size());
+ if(!CollectionUtils.isEmpty(stringStringMap)) {
+ List<LibraryClsfDO> libraryClsfDOList=new ArrayList<>();
+ try {
log.info("info锛氶渶瑕佽鍙栭厤缃枃浠�");
LibraryDO libraryDO = gennerAttrMapUtil.getNewInstance().gennerAttrMapBySystem(systemId, stringStringMap);
- List<LibraryClsfDO> libraryClsfDOList = libraryDO.getClsf();
- if(!CollectionUtils.isEmpty(libraryClsfDOList)) {
- Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2));
- log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�");
- String path=stringStringMap.get(systemId);
- if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) {
- log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�");
- List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT));
- propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2));
- log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�,灞炴�ф槧灏勬潯鐩暟+" + clsfAttrMappingDOList.size());
- }else{
- throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�"+systemId+"銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�"+path+"銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��"+libray+"銆戝睘鎬ф槧灏勪俊鎭厤缃�");
- }
- }
+ libraryClsfDOList = libraryDO.getClsf();
+ } catch (Throwable e) {
+ objerrorCode = "1";
+ e.printStackTrace();
+ log.error("闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐ワ細",e);
+ throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�" + systemId + "銆戯紝鍒嗙被搴撲负:銆�" + libray + "銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�");
}
- log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�"+libray+"浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃� end ");
- }catch (Throwable e){
- objerrorCode="1";
- e.printStackTrace();
- throw new Throwable("闆嗘垚绯荤粺鏍囪瘑涓猴細銆�"+systemId+"銆戯紝鍒嗙被搴撲负:銆�"+libray+"銆戠殑闆嗘垚灞炴�ч厤缃枃浠惰鍙栧け璐�");
+ // String path = stringStringMap.get(systemId);
+ // 蹇界暐key澶у皬鍐欙紝鑾峰彇閰嶇疆鐨勬槧灏勬枃浠惰矾寰�
+ String path = VciBaseUtil.getMapStrValueIgnoreCase(stringStringMap,systemId);
+ if (!CollectionUtils.isEmpty(libraryClsfDOList)) {
+ Map<String, List<ClsfAttrMappingDO>> libPropMaps = libraryClsfDOList.stream().collect(Collectors.toMap(LibraryClsfDO::getLibrary, LibraryClsfDO::getProp, (key1, key2) -> key2));
+ log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃�");
+ if (libPropMaps.containsKey(libray.toUpperCase(Locale.ROOT))) {
+ log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�");
+ List<ClsfAttrMappingDO> clsfAttrMappingDOList = libPropMaps.get(libray.toUpperCase(Locale.ROOT));
+ propMaps = clsfAttrMappingDOList.stream().collect(Collectors.toMap(ClsfAttrMappingDO::getSourceKey, ClsfAttrMappingDO::getTargetKey, (key1, key2) -> key2));
+ log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�" + libray + "鍖归厤鍒扮浉搴旂殑灞炴�ф槧灏勪俊鎭�,灞炴�ф槧灏勬潯鐩暟+" + clsfAttrMappingDOList.size());
+ } else {
+ objerrorCode = "1";
+ throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�" + systemId + "銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�" + path + "銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��" + libray + "銆戝睘鎬ф槧灏勪俊鎭厤缃�");
+ }
+ }else{
+ objerrorCode = "1";
+ throw new Throwable("鏍规嵁绯荤粺鏍囪瘑銆�" + systemId + "銆戞壘鍒板搴旂殑閰嶇疆鏂囦欢:銆�" + path + "銆戯紝浣嗘湭鑾峰彇鍒板搴旂殑搴撱��" + libray + "銆戝睘鎬ф槧灏勪俊鎭厤缃�");
+ }
+ }else{
+ objerrorCode = "1";
+ throw new Throwable("鏈幏鍙栧埌闆嗘垚灞炴�ф槧灏勭郴缁熼厤缃俊鎭�");
}
+ log.info("鏍规嵁鍙傛暟锛歭ibray锛�-銆�"+libray+"浠庨厤缃枃浠朵腑鎵惧搴斿睘鎬ф槧灏勯厤缃� end ");
LinkedList<String> rowNameList=new LinkedList<>();
LinkedHashMap<String,Integer> filedIndexMap=new LinkedHashMap<>();
//鏍规嵁鍒嗙被妯℃澘缁勭粐鏁版嵁
@@ -2626,6 +2877,7 @@
String dataValue = sourceKeyValueMap.get(sourceKey);
if (attrMapConfigMap.containsKey(sourceKey)) {
String targetKey = attrMapConfigMap.get(sourceKey);
+ log.info("xxxxx灞炴�ф槧灏勫��:sourceKey銆�"+sourceKey+"銆戔�斺�斻��+targetKey---銆�"+targetKey+":"+dataValue);
keyValueMap.put(targetKey, StringUtils.isBlank(dataValue)?"":dataValue);
}
});
@@ -2651,9 +2903,11 @@
dataObjectVO.setRowData(rowDataList);
}catch (Throwable e){
objerrorCode="1";
- throw new Throwable("缁勭粐鏁版嵁鏄犲皠鍊煎け璐�");
+ log.error("缁勭粐灞炴�ф槧灏勫�煎け璐ワ細",e);
+ throw new Throwable("缁勭粐灞炴�ф槧灏勫�煎け璐�");
}
}
+
/***
* 璁板綍鏃ュ織淇℃伅
* @param systemId
@@ -2685,7 +2939,7 @@
dockingLoge.setInterfaceStatus("false");//鎺ュ彛闆嗘垚鐘舵��
}
dockingLogeService.save(dockingLoge);
- log.info("闆嗘垚鎺ㄩ�佹暟鎹垚鍔�,systemId:"+systemId+",systemname:"+systemName+",operation:"+operation+",param:"+parmaData);
+ log.info("闆嗘垚鎺ㄩ�佹暟鎹�,systemId:"+systemId+",systemname:"+systemName+",operation:"+operation+",param:"+parmaData);
}
/***
--
Gitblit v1.9.3