From 55517e16da5e7205770bf61fc27c3d06b7d189b5 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 15 六月 2023 21:03:16 +0800 Subject: [PATCH] bug修改 --- 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