From 9cacfb217b2dbf58c7efd1d96e818798a97d9382 Mon Sep 17 00:00:00 2001
From: ludc <pUXmgxCf6A>
Date: 星期四, 18 五月 2023 20:13:08 +0800
Subject: [PATCH] 以及发布webservice接口功能搭建,将通通用接口移植过来

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 118 insertions(+), 2 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 b94025b..6b06b57 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
@@ -15,10 +15,12 @@
 import com.vci.ubcs.code.vo.pagemodel.*;
 import com.vci.ubcs.code.vo.webserviceModel.apply.*;
 import com.vci.ubcs.code.vo.webserviceModel.attrmap.*;
+import com.vci.ubcs.code.vo.webserviceModel.classify.*;
 import com.vci.ubcs.code.vo.webserviceModel.result.json.*;
 import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultClassfyVO;
 import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO;
 import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultSystemVO;
+import com.vci.ubcs.starter.revision.model.TreeQueryObject;
 import com.vci.ubcs.starter.web.pagemodel.SessionInfo;
 import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
@@ -174,7 +176,7 @@
 						CodeOrderDTO orderDTO = new CodeOrderDTO();
 						orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭
 						orderDTO.setSecDTOList(codeOrderSecDTOList);//鍒嗙被鐮佹
-						//mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs);
+						mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs);
 						log.info("end锛氱敵璇疯幏鍙栧畬姣�");
 					} catch (Throwable e) {
 						XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO=new XMLResultDataObjectDetailDO();
@@ -258,7 +260,121 @@
 	 */
 	@Override
 	public String queryClassify(String data, String dataType) throws Throwable {
-		return null;
+		boolean issucess=false;
+		String resultStr = "";
+		String errorid="0";
+		msg="鎴愬姛";
+		String systemId="";
+		log.info("鏌ヨ鍒嗙被鐨勬暟鎹弬鏁�:->"+data);
+		log.info("鏌ヨ鍒嗙被鐨勬暟鎹被鍨�:->"+dataType);
+		ResultClassifyVO resultClassifyVO =new ResultClassifyVO();
+		List<ClassifyVO> classifyVOList=new ArrayList<>();
+		ResultData resultData=new ResultData();
+		try {
+			if (StringUtils.isBlank(data)) {
+				errorid = "101";
+				throw new Throwable("鎺ュ彛鍙傛暟锛氫紶閫掍负绌�");
+			}
+			QueryClassifyVO queryClassifyVO = new QueryClassifyVO();
+			//濡傛灉dataType鏄痻ml鍒欙紝閫氳繃xml搴忓垪鍖栨垚瀵硅薄褰㈠紡锛屽鏋滄槸json鍒欓�氳繃json杞崲鎴愬璞℃牸寮�
+			try {
+				if ("xml".equals(dataType)) {
+					XStream xStream = new XStream(new DomDriver());
+					xStream.processAnnotations(QueryData.class);
+					xStream.autodetectAnnotations(true);
+					QueryData queryData = (QueryData) xStream.fromXML(data);
+					queryClassifyVO.setData(queryData);
+				} else {
+					queryClassifyVO = JSONObject.toJavaObject(JSONObject.parseObject(data), QueryClassifyVO.class);
+				}
+			} catch (Throwable e) {
+				errorid = "101";
+				msg="鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�";
+				e.printStackTrace();
+				throw new Throwable("鎺ュ彛鍙傛暟锛氫紶鍏ユ暟鎹弬鏁拌В鏋愬け璐�");
+			}
+			QueryData queryData=queryClassifyVO.getData();
+			UserVO userVo=queryData.getUser();
+			systemId=queryData.getSystemId();
+			QueryLibraryVO libraryVO= queryData.getLibrary();
+			String libId= libraryVO.getId();
+			List<String> classifyIdList=  libraryVO.getClassifyid();
+			List<CodeClassifyVO> codeClassifyVOS =new ArrayList<>();
+			//杩欐槸璐﹀彿淇℃伅
+			//杩欐槸璐﹀彿淇℃伅
+			if(userVo!=null) {
+				SessionInfo sessionInfo = new SessionInfo();
+				sessionInfo.setUserId(userVo.getUserName());
+				sessionInfo.setUserName(userVo.getTrueName());
+				sessionInfo.setIp(userVo.getIp());
+				VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
+			}else{
+				errorid = "101";
+				throw new Throwable("鎺ュ彛鍙傛暟锛氳处鍙蜂俊鎭幏鍙栧け璐�");
+			}
+			if(!CollectionUtils.isEmpty(classifyIdList)){
+				//鍏堢畝绉版槸鍚︽湁鍏宠仈妯℃澘锛屾湁妯℃澘瑕佸厛鍒犻櫎
+				List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, classifyIdList));
+				codeClassifyVOS=classifyService.codeClassifyDO2VOs(libIdDos);
+			}else {
+				List<CodeClassify> libIdDos = classifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().eq(CodeClassify::getId, libId));
+				String oid= libIdDos.get(0).getOid();
+				TreeQueryObject treeQueryObject=new TreeQueryObject();
+				treeQueryObject.setParentOid(oid);
+				treeQueryObject.setQueryAllLevel(true);
+				codeClassifyVOS=classifyService.selectCodeClassifyDOByTree(treeQueryObject);
+			}
+			LibraryVO libraryVo=new LibraryVO();
+			libraryVo.setId(libId);
+			libraryVo.setName("");
+			if(!CollectionUtils.isEmpty(codeClassifyVOS)){
+				errorid = "0";
+				msg="鎴愬姛!";
+				codeClassifyVOS.stream().forEach(codeClassifyDO -> {
+					ClassifyVO classifyVO=new ClassifyVO();
+					classifyVO.setId(codeClassifyDO.getOid());
+					classifyVO.setLcStatus(codeClassifyDO.getLcStatus());
+					classifyVO.setClassCode(codeClassifyDO.getId());
+					classifyVO.setDescription(codeClassifyDO.getDescription());
+					classifyVO.setName(codeClassifyDO.getName());
+					classifyVO.setPid(codeClassifyDO.getParentcodeclassifyoid());
+					classifyVO.setFullPathName(codeClassifyDO.getPath());
+					classifyVOList.add(classifyVO);
+				});
+				libraryVo.setClassify(classifyVOList);
+			}else{
+				errorid = "100";
+				msg="鏈煡璇㈠埌鐩稿叧鐨勫垎绫讳俊鎭�";
+			}
+			issucess=true;
+			resultData.setLibrary(libraryVo);
+		}catch (Throwable e){
+			e.printStackTrace();;
+			msg="鏌ヨ鍒嗙被澶辫触:"+e.getMessage();
+		}finally {
+			resultData.setErrorid(errorid);
+			resultData.setMsg(msg);
+			resultClassifyVO.setResultData(resultData);
+		}
+		if(dataType.equals("xml")){
+			//缁勭粐杩斿洖鎺ュ彛淇℃伅
+			XStream xStream = new XStream(new DomDriver());
+			xStream.processAnnotations(XMLResultSystemVO.class);
+			xStream.autodetectAnnotations(true);
+			resultStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(resultData);
+
+		}else{
+			Object object = JSONObject.toJSON(resultClassifyVO);
+			resultStr = object.toString();
+		}
+		try {
+			//璁板綍鏃ュ織
+			this.saveLogs(systemId, systemId, data, resultStr, issucess, msg, "queryClassify");
+		}catch (Throwable e){
+			e.printStackTrace();
+		}
+		log.info("杩斿洖鍙傛暟:"+resultStr);
+		return resultStr;
 	}
 
 	/***

--
Gitblit v1.9.3