From f8fe13b6f7d8ad1ae53e7bf6a6cf83f584d52a4d Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期二, 06 六月 2023 17:39:24 +0800
Subject: [PATCH] 动态表单组件重构
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java | 219 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 213 insertions(+), 6 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..f43debb 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,15 +15,17 @@
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.code.webService.annotation.VciWebservice;
+import com.vci.ubcs.code.webService.config.AttributeMapConfig;
+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;
-import com.vci.ubcs.webservice.annotation.VciWebservice;
-import com.vci.ubcs.webservice.config.AttributeMapConfig;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -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;
}
/***
@@ -274,8 +390,99 @@
}
@Override
- public String queryClassifyRule(String data, String datatype) throws Throwable {
- return null;
+ public String queryClassifyRule(String data, String dataType) throws Throwable {
+
+ 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<>();
+ 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);
+ }
+
+ }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