From f1338e26eaf421a1e5f90d406af093f3616861b6 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 25 九月 2023 09:47:08 +0800
Subject: [PATCH] 代码打包
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 241 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 237 insertions(+), 4 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 132d2fd..6b63a24 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
@@ -17,6 +17,7 @@
import com.vci.ubcs.code.util.ClientBusinessObject;
import com.vci.ubcs.code.util.gennerAttrMapUtil;
import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.code.vo.webserviceModel.applybz.*;
import com.vci.ubcs.code.vo.webserviceModel.person.*;
import com.vci.ubcs.code.vo.webserviceModel.apply.*;
import com.vci.ubcs.code.vo.webserviceModel.attrmap.*;
@@ -53,7 +54,6 @@
import com.vci.ubcs.system.vo.DeptVO;
import com.vci.ubcs.system.vo.RoleVO;
import lombok.extern.slf4j.Slf4j;
-import org.apache.tools.ant.taskdefs.condition.Http;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@@ -65,9 +65,7 @@
import javax.annotation.Resource;
import javax.jws.WebMethod;
-import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.core.Context;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
import java.util.*;
@@ -1937,10 +1935,230 @@
}
/***
+ * 鏍囧噯鍖栫敓鎴愭帴鍙�
+ * @param data 鏁版嵁淇℃伅
+ * @param dataType 鏁版嵁鏍煎紡绫诲瀷
+ * @return
+ */
+ public String applyCodeForBZ(String data,String dataType){
+ String resultStr = "";
+ log.info("鏂规硶->applyCodeForBZ start");
+ final String[] errorid = {"0"};
+ msg="鎴愬姛";
+ objerrorCode="0";
+ objerrorMsg="鎴愬姛";
+ log.info("鐢宠缂栫爜鐨勬暟鎹弬鏁�:->"+data);
+ log.info("鐢宠缂栫爜鐨勬暟鎹被鍨�:->"+dataType);
+ String systemId="";
+ List<XMLResultClassfyVO> resultClassfyVOList = new ArrayList<>();
+ LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>();
+ try {
+ ClassfyBZVO classfyBZVO = null;
+ if (StringUtils.isBlank(data)) {
+ errorid[0] = "101";
+ throw new Throwable("鎺ュ彛鍙傛暟锛歞ataString 浼犻�掍负绌�");
+ }
+ ApplyBZParamVO applyBZParamVO = new ApplyBZParamVO();
+ //濡傛灉dataType鏄痻ml鍒欙紝閫氳繃xml搴忓垪鍖栨垚瀵硅薄褰㈠紡锛屽鏋滄槸json鍒欓�氳繃json杞崲鎴愬璞℃牸寮�
+ try {
+ if ("xml".equals(dataType)) {
+ XStream xStream = new XStream(new DomDriver());
+ xStream.processAnnotations(RootDataVO.class);
+ xStream.autodetectAnnotations(true);
+ ApplyBZVO rootDataVO = (ApplyBZVO) xStream.fromXML(data);
+ applyBZParamVO.setData(rootDataVO);
+ } else {
+ applyBZParamVO = JSONObject.toJavaObject(JSONObject.parseObject(data), ApplyBZParamVO.class);
+ }
+ } catch (Throwable e) {
+ errorid[0] = "101";
+ throw new Throwable("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�");
+ }
+ classfyBZVO = applyBZParamVO.getData().getClassify();
+ systemId = applyBZParamVO.getData().getSystemId();
+ UserVO userVo = applyBZParamVO.getData().getUser();
+ //鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
+ passwordFreeLoginService.pwdFreeLoginByBoolean(userVo.getUserName(), this.getRequest());
+ AuthUtil.getUser();
+ //杩欐槸璐﹀彿淇℃伅
+ SessionInfo sessionInfo = new SessionInfo();
+ sessionInfo.setUserId(userVo.getUserName());
+ sessionInfo.setUserName(userVo.getTrueName());
+ sessionInfo.setIp(userVo.getIp());
+ VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
+// List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>();
+ String finalSystemId = systemId;
+ String libray="";
+ boolean isCodeOrGroupCode=false;
+ try {
+ libray = classfyBZVO.getLibrary();
+ CodeClassifyVO codeClassifyVO = getClassfy(classfyBZVO,libray);
+ log.info("end锛氬垎绫绘煡璇㈠畬姣�");
+ //鑾峰彇鍒嗙被妯℃澘淇℃伅
+ if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){
+ objerrorCode="100";
+ throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧埌鍒嗙被淇℃伅");
+ }
+ String operation="";
+ if(CODE_CHECKCONFIG) {
+ //鏍¢獙鏄惁閰嶇疆
+ DockingSystemConfig dockingSystemConfig=null;
+ dockingSystemConfig=checkIspass(finalSystemId, SysIntegrationDataFlowTypeEnum.ACCEPT.getValue(), sysIntegrationPushTypeEnum.ACCPET_APPCODE.getValue(),codeClassifyVO.getOid());
+ if(dockingSystemConfig==null){
+ errorid[0] ="101";
+ throw new Throwable("绯荤粺鏍囪瘑涓恒��"+ finalSystemId +"銆戯紝闆嗘垚鍒嗙被涓恒��"+codeClassifyVO.getName()+"銆戜互涓婂垎绫伙紝"+sysIntegrationPushTypeEnum.ACCPET_APPCODE.getText()+"鎺ュ彛閰嶇疆宸插仠鐢ㄦ垨鑰呮湭閰嶇疆锛岃鑱旂郴缂栫爜绠$悊鍛橈紒");
+ }
+ isCodeOrGroupCode="true".equals(dockingSystemConfig.getIsGroupCodeFlag())?true:false;
+ }
+ CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid());
+ if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){
+ objerrorCode="1";
+ throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
+ }
+ log.info("end锛氭ā鏉挎煡璇㈠畬姣�");
+ ApplyBZDatasVO applyDatasVO = classfyBZVO.getObjects();
+ DataObjectVO dataObjectVO = new DataObjectVO();
+ List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
+ ).collect(Collectors.toList());
+ //this.getConfigDatas(finalSystemId, libray, applyDatasVO, attrVOS, dataObjectVO);
+ log.info("end锛氭暟鎹粍缁囧畬姣�");
+ //瑙勫垯鐨勪富閿渶瑕佸幓鑾峰彇
+ CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid());
+ if(classifyFullInfo==null ||classifyFullInfo.getCurrentClassifyVO()==null || StringUtils.isBlank(classifyFullInfo.getCurrentClassifyVO().getOid())){
+ objerrorCode="1";
+ log.info("classifyFullInfo:"+"鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
+ throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
+ }
+ CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
+ if(ruleVO==null||StringUtils.isBlank(ruleVO.getOid())){
+ objerrorCode="102";
+ throw new Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旇鍒�");
+ }
+ log.info("end锛氳鍒欒幏鍙栧畬姣�");
+ //List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(ruleVO,classifyFullInfo);
+ log.info("end锛氱爜娈佃幏鍙栧畬姣�");
+ CodeOrderDTO orderDTO = new CodeOrderDTO();
+ orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭
+ //orderDTO.setSecDTOList(codeOrderSecDTOList);//鍒嗙被鐮佹
+ mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs,isCodeOrGroupCode);
+ //allResultDataObjectDetailDOS.add(resultDataObjectDetailDOs);
+ log.info("end锛氱敵璇疯幏鍙栧畬姣�");
+ } catch (Throwable e) {
+ List<ApplyBZDataVO> applyDataVOList = classfyBZVO.getObjects().getObject();
+ objerrorCode = "1";
+ 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());
+ resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
+ });
+ } else {
+ XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
+ xmlResultDataObjectDetailDO.setCode("");
+ xmlResultDataObjectDetailDO.setId("");
+ xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
+ xmlResultDataObjectDetailDO.setMsg("缂栫爜鐢宠澶辫触:" + e.getMessage());
+ resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
+ }
+ e.printStackTrace();
+ } finally {
+ XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO();
+ resultClassfyVO.setClassCode(classfyBZVO.getClassCode());
+ resultClassfyVO.setLibrary(classfyBZVO.getLibrary());
+ resultClassfyVO.setFullclsfNamePath(classfyBZVO.getFullclsfNamePath());
+ resultClassfyVO.setObjects(resultDataObjectDetailDOs);
+ resultClassfyVOList.add(resultClassfyVO);
+ }
+ XMLResultSystemVO xmlResultSystemVO = new XMLResultSystemVO();
+ xmlResultSystemVO.setClassifys(resultClassfyVOList);
+ xmlResultSystemVO.setMsg(msg);
+ xmlResultSystemVO.setErrorid(errorid[0]);
+ resultStr = transferResultXMl(xmlResultSystemVO, dataType);
+ }catch (Throwable e){
+ e.printStackTrace();
+ msg="鐢宠缂栫爜澶辫触:"+e.getMessage();
+ }finally {
+ XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO();
+ xmlResultSystemVO.setClassifys(resultClassfyVOList);
+ xmlResultSystemVO.setMsg(msg);
+ xmlResultSystemVO.setErrorid(errorid[0]);
+ resultStr= transferResultXMl(xmlResultSystemVO,dataType);
+ final boolean[] issucess = {true};
+ if(!errorid[0].equals("0")) {
+ issucess[0] = false;
+ }else {
+ if(!CollectionUtils.isEmpty(resultClassfyVOList)) {
+ resultClassfyVOList.stream().forEach(xMLResultClassfyVO -> {
+ xMLResultClassfyVO.getObjects().stream().forEach(objec -> {
+ if (!(objec.getErrorid().equals("0") || objec.getErrorid().equals("204"))) {
+ issucess[0] = false;
+ msg=objec.getMsg();
+ }
+ });
+ });
+ }
+ }
+ try {
+ //璁板綍鏃ュ織
+ this.saveLogs(systemId, systemId, data, resultStr, issucess[0], msg, "applyCodeForBZ");
+ }catch (Throwable e){
+ e.printStackTrace();
+ }
+ }
+ log.info("杩斿洖鍙傛暟:"+resultStr);
+ //璋冪敤闆嗗洟鐢宠鎺ュ彛鐢宠闆嗗洟鐮�
+ return resultStr;
+ }
+ /***
* 鏌ヨ鏍¢獙鍒嗙被淇℃伅
* @param classfyVO
*/
private CodeClassifyVO getClassfy(ClassfyVO classfyVO,String libray) throws Throwable{
+ CodeClassifyVO classifyVO = new CodeClassifyVO();
+ try {
+ String classCode = classfyVO.getClassCode();
+ String className = classfyVO.getFullclsfNamePath();
+ //鏍规嵁鍒嗙被浠e彿鏌ヨ鍒嗙被淇℃伅
+ if (StringUtils.isNotBlank(classfyVO.getClassCode())) {
+ Map<String, String> conditionMap = new HashMap<>();
+ List<CodeClassify> codeClassifyList = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId, classCode));
+ final CodeClassify[] newCodeClassify = {new CodeClassify()};
+ if (!CollectionUtils.isEmpty(codeClassifyList)) {
+ codeClassifyList.stream().forEach(codeClassify -> {
+ CodeClassifyVO codeClassifyVO= classifyService.getTopClassifyVO(codeClassify.getOid());
+ if(codeClassifyVO.getId().equals(libray)){
+ newCodeClassify[0] =codeClassify;
+ }
+ });
+ classifyVO = new CodeClassifyVO();
+ BeanUtilForVCI.copyPropertiesIgnoreCase(newCodeClassify[0], classifyVO);
+ //灏咲TO杞崲涓篋O
+ if(StringUtils.isBlank(classifyVO.getOid())){
+ throw new Throwable("鐢宠缂栫爜鐨勫垎绫伙細銆�"+classCode+"銆戜笉灞炰簬搴撹妭鐐广��"+libray+"銆戯紝璇锋鏌ュ弬鏁板垎绫昏妭鐐�/搴撹妭鐐逛俊鎭槸鍚﹀尮閰�");
+ }
+ }else{
+ throw new Throwable("鏍规嵁鍒嗙被浠e彿鏈煡璇㈠埌鐩稿簲鐨勫垎绫讳俊鎭�");
+ }
+ } else {
+ classifyVO = classifyService.getObjectByClsfNamePath(className.replace(separator, "/"));
+ if(StringUtils.isBlank(classifyVO.getOid())){
+ throw new Throwable("鏍规嵁鍒嗙被鍚嶇О璺緞鏈煡璇㈠埌鐩稿簲鐨勫垎绫讳俊鎭�");
+ }
+ }
+ }catch (Throwable e){
+ objerrorCode="100";
+ throw new Throwable("鑾峰彇鍒嗙被淇℃伅澶辫触:"+e.getMessage());
+ }
+ return classifyVO;
+ }
+ /***
+ * 鏌ヨ鏍¢獙鍒嗙被淇℃伅
+ * @param classfyVO
+ */
+ private CodeClassifyVO getClassfy(ClassfyBZVO classfyVO,String libray) throws Throwable{
CodeClassifyVO classifyVO = new CodeClassifyVO();
try {
String classCode = classfyVO.getClassCode();
@@ -1992,6 +2210,21 @@
});
return clientBusinessObjectList;
}
+
+
+ private List<CodeOrderSecDTO> getRuleCodeOrderSecDTOsBZ(CodeRuleVO ruleVO,CodeClassifyFullInfoBO classifyFullInfo){
+ List<CodeBasicSecVO> codeBasicSecVOS= ruleVO.getSecVOList();
+ List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
+ Map<String,String> errorMap=new HashMap<>();
+ for(CodeBasicSecVO codeBasicSecVO: codeBasicSecVOS) {
+ String sectype = codeBasicSecVO.getSecType();
+ String classifySecOid= codeBasicSecVO.getOid();
+ String message="";
+ }
+ return codeOrderSecDTOList;
+ }
+
+
/***
* 鏍规嵁绌垮叆鐨勫弬鏁颁俊鎭牎楠岀爜娈佃鍒�
*/
@@ -2001,7 +2234,7 @@
SectionVOList.stream().forEach(SectionVO->{
sectionVOMap.put(SectionVO.getName(),SectionVO.getValue());
});
- Map<String,CodeClassifyVO> codeClassifyVOMap= classifyFullInfo.getParentClassifyVOs().stream().collect(Collectors.toMap(s -> s.getId(), t -> t,(o1, o2)->o2));
+ //Map<String,CodeClassifyVO> codeClassifyVOMap= classifyFullInfo.getParentClassifyVOs().stream().collect(Collectors.toMap(s -> s.getId(), t -> t,(o1, o2)->o2));
List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
Map<String,String> errorMap=new HashMap<>();
for(CodeBasicSecVO codeBasicSecVO: codeBasicSecVOS) {
--
Gitblit v1.9.3