From 6c92976e4e560575bf17646a74a45aa6c7eb1923 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 15 九月 2023 08:52:32 +0800
Subject: [PATCH] 代码打包重新部署
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 130 ++++++++++++++++++++++++++++---------------
1 files changed, 85 insertions(+), 45 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 58a119c..e91e46a 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
@@ -59,12 +59,13 @@
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
+import javax.servlet.ServletRequest;
import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST;
-import static com.vci.ubcs.code.constant.MdmEngineConstant.IMPORT_ROW_INDEX;
import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC;
/***
@@ -359,9 +360,9 @@
boolean isPersonApplyGroupCode= personAndDeptConfig.isPersonApplyGroupCode();
String systemCode=personData.getSystemCode();
List<ResultMdMapping> resultMdMappingList=new ArrayList<>();
- boolean success=true;
String message="";
if(isUsedFlag){
+ AtomicBoolean success= new AtomicBoolean(true);
List<PersonMasterData> masterDataList=new ArrayList<>();
List<String> fields= VciBaseUtil.str2List(personAndDeptConfig.getPersonFields());
try {
@@ -371,7 +372,7 @@
masterDataList = personData.getMasterData();
String personLibrary = personAndDeptConfig.getPersonLibrary();
if (StringUtils.isBlank(personLibrary)) {
- success=false;
+ success.set(false);
log.info("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary);
throw new Throwable("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary);
}
@@ -383,12 +384,12 @@
log.info("end锛氬垎绫绘煡璇㈠畬姣�");
//鑾峰彇鍒嗙被妯℃澘淇℃伅
if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
- success=false;
+ success.set(false);
throw new Throwable ("鏍规嵁閰嶇疆鍒嗙被鐨勫垎绫荤紪鍙凤紝鏈幏鍙栧埌鍒嗙被淇℃伅");
}
CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid());
if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){
- success=false;
+ success.set(false);
throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
}
@@ -440,10 +441,11 @@
deleteDataVOList.add(object);
}else{
String worker_category=personMasterData.getWorker_category();
- codeList.add(personMasterData.getLm_code());
+
object.setOperate("create");
applyDataVOList.add(object);
}
+ codeList.add(personMasterData.getLm_code());
});
R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId());
@@ -532,10 +534,31 @@
orderDTO.setCodeRuleOid(ruleVO.getOid());
orderDTO.setSecDTOList(codeOrderSecDTOList);//瀛樺偍缂栫爜
orderDTO.setData(rowData.getFiledValue());
- engineService.addSaveCode(orderDTO);
+ String code=engineService.addSaveCode(orderDTO);
+ if(StringUtils.isNotBlank(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) {
mesg=e.getMessage();
- e.getMessage();
e.printStackTrace();
}finally {
XMLResultDataObjectDetailDO x=new XMLResultDataObjectDetailDO();
@@ -547,7 +570,7 @@
}
});
resultDataObjectDetailDOs.addAll(xDOs);
- boolean finalSuccess1 = success;
+ boolean finalSuccess1 = success.get();
String finalMessage1 = message;
resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO->{
ResultMdMapping resultMdMapping=new ResultMdMapping();
@@ -560,17 +583,12 @@
resultMdMappingList.add(resultMdMapping);
});
log.info("end锛氱敵璇疯幏鍙栧畬姣�");
- //濡傛灉鏈夌敵璇峰氨鍘昏皟鐢ㄧ敵璇烽泦鍥㈢爜
- if(isPersonApplyGroupCode){
- List<String> oidList=new ArrayList<>();
- mdmIOService.sendApplyGroupcode(oidList,templateVO.getBtmTypeId(),sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue());
- }
}
}catch (Throwable e){
- success=false;
+ success.set(false);
message="浜哄憳鏁版嵁鎺ュ彈澶辫触:"+e.getMessage();
//缁勭粐杩斿洖缁撴灉
- boolean finalSuccess = success;
+ boolean finalSuccess = success.get();
String finalMessage = message;
masterDataList.stream().forEach(masterData -> {
ResultMdMapping resultMdMapping=new ResultMdMapping();
@@ -583,7 +601,7 @@
});
}finally {
resultOrgData.setMessage(message);
- resultOrgData.setSuccess(success);
+ resultOrgData.setSuccess(success.get());
resultOrgData.setMdMappings(resultMdMappingList);
Object object = JSONObject.toJSON(resultOrgData);
}
@@ -591,7 +609,7 @@
String data = JSONObject.toJSONString(personData);
try {
//璁板綍鏃ュ織
- this.saveLogs(systemCode, systemCode, data, resultStr, success, msg, "syncDataForPerson");
+ this.saveLogs(systemCode, systemCode, data, resultStr, success.get(), msg, "syncDataForPerson");
}catch (Throwable e){
e.printStackTrace();
}
@@ -609,10 +627,9 @@
public ResultOrgData syncDataForOrg(OrgData orgData) {
boolean isUsedFlag= personAndDeptConfig.isUsedFlag();
ResultOrgData resultOrgData=new ResultOrgData();
-
boolean isPersonApplyGroupCode= personAndDeptConfig.isPersonApplyGroupCode();
List<ResultMdMapping> resultMdMappingList=new ArrayList<>();
- boolean success=true;
+ AtomicBoolean success= new AtomicBoolean(true);
String message="";
String systemCode="";
if(isUsedFlag){
@@ -626,7 +643,7 @@
orgMasterDataList = orgData.getMasterData();
String personLibrary = personAndDeptConfig.getPersonLibrary();
if (StringUtils.isBlank(personLibrary)) {
- success=false;
+ success.set(false);
log.info("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary);
throw new Throwable("闆嗘垚閰嶇疆缂哄皯浜哄憳搴撹妭鐐逛俊鎭�,personLibrary->" + personLibrary);
}
@@ -638,12 +655,12 @@
log.info("end锛氬垎绫绘煡璇㈠畬姣�");
//鑾峰彇鍒嗙被妯℃澘淇℃伅
if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
- success=false;
+ success.set(false);
throw new Throwable ("鏍规嵁閰嶇疆鍒嗙被鐨勫垎绫荤紪鍙凤紝鏈幏鍙栧埌鍒嗙被淇℃伅");
}
CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid());
if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){
- success=false;
+ success.set(false);
throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
}
@@ -653,14 +670,14 @@
List<String> codeList=new ArrayList<>();
List<ApplyDataVO> applyDataVOList=new ArrayList<>();
List<ApplyDataVO> deleteDataVOList=new ArrayList<>();
- orgMasterDataList.stream().forEach(personMasterData -> {
+ orgMasterDataList.stream().forEach(orgMasterData -> {
ApplyDataVO object=new ApplyDataVO();
- object.setCode(personMasterData.getMdm_code());//缂栫爜
- object.setCreator(personMasterData.getCreator());//鍒涘缓鑰�
- object.setEditor(personMasterData.getModifier());//淇敼鑰�
- object.setId(personMasterData.getPk_mdm());//涓婚敭
+ object.setCode(orgMasterData.getMdm_code());//缂栫爜
+ object.setCreator(orgMasterData.getCreator());//鍒涘缓鑰�
+ object.setEditor(orgMasterData.getModifier());//淇敼鑰�
+ object.setId(orgMasterData.getPk_mdm());//涓婚敭
object.setStatus(CodeDefaultLC.RELEASED.getValue());//鐘舵�佸垯闇�瑕佸垽鏂�
- Map<String,String> dataMap= VciBaseUtil.objectToMapString(personMasterData);
+ Map<String,String> dataMap= VciBaseUtil.objectToMapString(orgMasterData);
List<ProppertyVO> proppertyVOList=new ArrayList<>();
/***
* 鏍规嵁閰嶇疆鏂囦欢鑾峰彇鏋氫妇鍊�
@@ -686,14 +703,15 @@
});
object.setProp(proppertyVOList);
- if(personMasterData.getDr()==1){
+ if(orgMasterData.getDr()==1){
object.setOperate("delete");//鎿嶄綔绫诲瀷
deleteDataVOList.add(object);
}else{
- codeList.add(personMasterData.getMdm_code());
+
object.setOperate("create");
applyDataVOList.add(object);
}
+ codeList.add(orgMasterData.getMdm_code());
});
R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId());
@@ -782,7 +800,29 @@
orderDTO.setCodeRuleOid(ruleVO.getOid());
orderDTO.setSecDTOList(codeOrderSecDTOList);//瀛樺偍缂栫爜
orderDTO.setData(rowData.getFiledValue());
- engineService.addSaveCode(orderDTO);
+ String code=engineService.addSaveCode(orderDTO);
+ if(StringUtils.isNotBlank(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) {
mesg=e.getMessage();
e.getMessage();
@@ -797,7 +837,7 @@
}
});
resultDataObjectDetailDOs.addAll(xDOs);
- boolean finalSuccess1 = success;
+ boolean finalSuccess1 = success.get();
String finalMessage1 = message;
resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO->{
ResultMdMapping resultMdMapping=new ResultMdMapping();
@@ -810,17 +850,12 @@
resultMdMappingList.add(resultMdMapping);
});
log.info("end锛氱敵璇疯幏鍙栧畬姣�");
- //濡傛灉鏈夌敵璇峰氨鍘昏皟鐢ㄧ敵璇烽泦鍥㈢爜
- if(isPersonApplyGroupCode){
- List<String> oidList=new ArrayList<>();
- mdmIOService.sendApplyGroupcode(oidList,templateVO.getBtmTypeId(),sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue());
- }
}
}catch (Throwable e){
- success=false;
+ success.set(false);
message="浜哄憳鏁版嵁鎺ュ彈澶辫触:"+e.getMessage();
//缁勭粐杩斿洖缁撴灉
- boolean finalSuccess = success;
+ boolean finalSuccess = success.get();
String finalMessage = message;
orgMasterDataList.stream().forEach(masterData -> {
ResultMdMapping resultMdMapping=new ResultMdMapping();
@@ -833,7 +868,7 @@
});
}finally {
resultOrgData.setMessage(message);
- resultOrgData.setSuccess(success);
+ resultOrgData.setSuccess(success.get());
resultOrgData.setMdMappings(resultMdMappingList);
Object object = JSONObject.toJSON(resultOrgData);
}
@@ -841,7 +876,7 @@
String data = JSONObject.toJSONString(orgData);
try {
//璁板綍鏃ュ織
- this.saveLogs(systemCode, systemCode, data, resultStr, success, msg, "syncDataForOrg");
+ this.saveLogs(systemCode, systemCode, data, resultStr, success.get(), msg, "syncDataForOrg");
}catch (Throwable e){
e.printStackTrace();
}
@@ -1747,10 +1782,10 @@
}
log.info(libId);
}else if(secType.equals("codelevelsec")) {//灞傜骇鐮佹
- int level = codeBasicSecVO.getCodeLevelValue();
CodeClassifyVO levelCodeClassifyVO = new CodeClassifyVO();
CodeClassifyFullInfoBO classifyFullInfoBO = this.classifyService.getClassifyFullInfo(codeClassifyDO.getOid());
if(codeBasicSecVO.getCodeLevelType().equals("code_level_special")){//鎸囧畾灞傜骇
+ int level = codeBasicSecVO.getCodeLevelValue();
List<CodeClassifyVO> classifyVOS = classifyFullInfoBO.getParentClassifyVOs().stream().sorted(((o1, o2) -> o2.getDataLevel().compareTo(o1.getDataLevel()))).collect(Collectors.toList());
if (classifyVOS.size() >= level && level > 0) {
levelCodeClassifyVO = classifyVOS.get(level - 1);
@@ -2200,7 +2235,8 @@
if(StringUtils.isNotBlank(classOid)){
queryWrapper.in(DockingSystemConfig::getClassifyOid,classOid);
}
- List<DockingSystemConfig> dockingSystemConfigList= dockingSystemConfigList=dockingSystemConfigService.list(queryWrapper);
+ List<DockingSystemConfig> dockingSystemConfigList=new ArrayList<>();
+ dockingSystemConfigList= dockingSystemConfigList=dockingSystemConfigService.list(queryWrapper);
if(!CollectionUtils.isEmpty(dockingSystemConfigList)){
return dockingSystemConfigList.get(0);
}else{
@@ -2208,6 +2244,10 @@
return checkIspass(systemId, type, operationType, codeClassifyVO.getParentCodeClassifyOid());
}
}
- return dockingSystemConfigList.get(0);
+ if(dockingSystemConfigList.size()>0){
+ return dockingSystemConfigList.get(0);
+ }else{
+ return new DockingSystemConfig();
+ }
}
}
--
Gitblit v1.9.3