| | |
| | | |
| | | import com.alibaba.cloud.commons.lang.StringUtils; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.thoughtworks.xstream.XStream; |
| | | import com.thoughtworks.xstream.io.xml.DomDriver; |
| | | import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO; |
| | | import com.vci.ubcs.code.dto.CodeOrderDTO; |
| | | import com.vci.ubcs.code.dto.CodeOrderSecDTO; |
| | | import com.vci.ubcs.code.entity.CodeBasicSec; |
| | | import com.vci.ubcs.code.entity.CodeClassify; |
| | | import com.vci.ubcs.code.entity.DockingLog; |
| | | import com.vci.ubcs.code.entity.*; |
| | | import com.vci.ubcs.code.enumpack.CodeSecTypeEnum; |
| | | import com.vci.ubcs.code.service.*; |
| | | import com.vci.ubcs.code.util.gennerAttrMapUtil; |
| | | 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; |
| | | import com.vci.ubcs.webservice.annotation.VciWebservice; |
| | | import com.vci.ubcs.webservice.config.AttributeMapConfig; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.jws.WebService; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | @Slf4j |
| | | @VciWebservice(path = "/universalInterface") |
| | | public class UniversalInterfaceImpl<IDockingLogeServiceing> implements UniversalInterfaceI { |
| | | |
| | | /** |
| | | * 日志 |
| | | */ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | @Autowired(required = false) |
| | | private AttributeMapConfig attributeMapConfig; |
| | |
| | | /** |
| | | * 主数据引擎的服务 |
| | | */ |
| | | //@Resource |
| | | //private MdmEngineService engineService; |
| | | @Resource |
| | | private MdmEngineService engineService; |
| | | |
| | | /** |
| | | * 密级的服务 |
| | |
| | | @Override |
| | | public String applyCode(String data, String dataType) throws Throwable { |
| | | { |
| | | // String resultStr = ""; |
| | | // String errorid="0"; |
| | | // msg="成功"; |
| | | // objerrorCode="0"; |
| | | // objerrorMsg="成功"; |
| | | // logger.info("申请编码的数据参数:->"+data); |
| | | // logger.info("申请编码的数据类型:->"+dataType); |
| | | // String systemId=""; |
| | | // List<XMLResultClassfyVO> resultClassfyVOList = new ArrayList<>(); |
| | | // try { |
| | | // if(StringUtils.isBlank(data)) { |
| | | // errorid="101"; |
| | | // throw new Throwable("接口参数:传递为空"); |
| | | // } |
| | | // InterParameterVO interParameterVO =new InterParameterVO(); |
| | | // //如果dataType是xml则,通过xml序列化成对象形式,如果是json则通过json转换成对象格式 |
| | | // try { |
| | | // if ("xml".equals(dataType)) { |
| | | // XStream xStream = new XStream(new DomDriver()); |
| | | // xStream.processAnnotations(RootDataVO.class); |
| | | // xStream.autodetectAnnotations(true); |
| | | // RootDataVO rootDataVO = (RootDataVO) xStream.fromXML(data); |
| | | // interParameterVO.setData(rootDataVO); |
| | | // } else { |
| | | // interParameterVO = JSONObject.toJavaObject(JSONObject.parseObject(data), InterParameterVO.class); |
| | | // } |
| | | // }catch (Throwable e){ |
| | | // errorid="101"; |
| | | // throw new Throwable("接口参数:传入数据参数解析失败"); |
| | | // } |
| | | // ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); |
| | | // systemId = interParameterVO.getData().getSystemId(); |
| | | // UserVO userVo = interParameterVO.getData().getUser(); |
| | | // List<ClassfyVO> classVOList = classfysVO.getClassify(); |
| | | // InterParameterVO finalInterParameterVO = interParameterVO; |
| | | // |
| | | // //这是账号信息 |
| | | // SessionInfo sessionInfo = new SessionInfo(); |
| | | // sessionInfo.setUserId(userVo.getUserName()); |
| | | // sessionInfo.setUserName(userVo.getTrueName()); |
| | | // sessionInfo.setIp(userVo.getIp()); |
| | | // VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); |
| | | // |
| | | // String finalSystemId = systemId; |
| | | // classVOList.stream().forEach(classVO -> { |
| | | // logger.info("参数:分类COde:" + classVO.getClassCode()); |
| | | // LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>(); |
| | | // //获取分类信息 |
| | | // try { |
| | | // String libray = classVO.getLibrary(); |
| | | // CodeClassifyVO codeClassifyVO = getClassfy(classVO); |
| | | // logger.info("end:分类查询完毕"); |
| | | // //获取分类模板信息 |
| | | // if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){ |
| | | // objerrorCode="100"; |
| | | // throw new Throwable ("根据传输的分类,未获取到分类信息"); |
| | | // } |
| | | // CodeClstemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid()); |
| | | // if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){ |
| | | // objerrorCode="1"; |
| | | // throw new Throwable ("根据传输的分类,未获取MDM系统中对应模板"); |
| | | // } |
| | | // logger.info("end:模板查询完毕"); |
| | | // ApplyDatasVO applyDatasVO = classVO.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); |
| | | // logger.info("end:数据组织完毕"); |
| | | // //规则的主键需要去获取 |
| | | // CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid()); |
| | | // if(classifyFullInfo==null ||classifyFullInfo.getCurrentClassifyVO()==null || StringUtils.isBlank(classifyFullInfo.getCurrentClassifyVO().getOid())){ |
| | | // objerrorCode="1"; |
| | | // logger.info("classifyFullInfo:"+"根据传输的分类,未获取分类相关信息"); |
| | | // throw new Throwable ("根据传输的分类,未获取分类相关信息"); |
| | | // } |
| | | // CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo); |
| | | // if(ruleVO==null|| StringUtils.isBlank(ruleVO.getOid())){ |
| | | // objerrorCode="102"; |
| | | // throw new Throwable ("根据传输的分类,未获取MDM系统中对应规则"); |
| | | // } |
| | | // logger.info("end:规则获取完毕"); |
| | | // List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(classVO.getSections().getSection(), ruleVO); |
| | | // logger.info("end:码段获取完毕"); |
| | | // CodeOrderDTO orderDTO = new CodeOrderDTO(); |
| | | // orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//分类主键 |
| | | // orderDTO.setSecDTOList(codeOrderSecDTOList);//分类码段 |
| | | // mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs); |
| | | // logger.info("end:申请获取完毕"); |
| | | // } catch (Throwable e) { |
| | | // 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(classVO.getClassCode()); |
| | | // resultClassfyVO.setLibrary(classVO.getLibrary()); |
| | | // resultClassfyVO.setFullclsfNamePath(classVO.getFullclsfNamePath()); |
| | | // resultClassfyVO.setObjects(resultDataObjectDetailDOs); |
| | | // resultClassfyVOList.add(resultClassfyVO); |
| | | // } |
| | | // }); |
| | | // XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO(); |
| | | // xmlResultSystemVO.setClassifys(resultClassfyVOList); |
| | | // xmlResultSystemVO.setMsg(msg); |
| | | // xmlResultSystemVO.setErrorid(errorid); |
| | | // 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); |
| | | // resultStr= transferResultXMl(xmlResultSystemVO,dataType); |
| | | // final boolean[] issucess = {true}; |
| | | // if(!errorid.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, "applyCode"); |
| | | // }catch (Throwable e){ |
| | | // e.printStackTrace(); |
| | | // } |
| | | // } |
| | | // logger.info("返回参数:"+resultStr); |
| | | String resultStr = ""; |
| | | String errorid="0"; |
| | | msg="成功"; |
| | | objerrorCode="0"; |
| | | objerrorMsg="成功"; |
| | | log.info("申请编码的数据参数:->"+data); |
| | | log.info("申请编码的数据类型:->"+dataType); |
| | | String systemId=""; |
| | | List<XMLResultClassfyVO> resultClassfyVOList = new ArrayList<>(); |
| | | try { |
| | | if(StringUtils.isBlank(data)) { |
| | | errorid="101"; |
| | | throw new Throwable("接口参数:传递为空"); |
| | | } |
| | | InterParameterVO interParameterVO =new InterParameterVO(); |
| | | //如果dataType是xml则,通过xml序列化成对象形式,如果是json则通过json转换成对象格式 |
| | | try { |
| | | if ("xml".equals(dataType)) { |
| | | XStream xStream = new XStream(new DomDriver()); |
| | | xStream.processAnnotations(RootDataVO.class); |
| | | xStream.autodetectAnnotations(true); |
| | | RootDataVO rootDataVO = (RootDataVO) xStream.fromXML(data); |
| | | interParameterVO.setData(rootDataVO); |
| | | } else { |
| | | interParameterVO = JSONObject.toJavaObject(JSONObject.parseObject(data), InterParameterVO.class); |
| | | } |
| | | }catch (Throwable e){ |
| | | errorid="101"; |
| | | throw new Throwable("接口参数:传入数据参数解析失败"); |
| | | } |
| | | ClassfysVO classfysVO = interParameterVO.getData().getClassifys(); |
| | | systemId = interParameterVO.getData().getSystemId(); |
| | | UserVO userVo = interParameterVO.getData().getUser(); |
| | | List<ClassfyVO> classVOList = classfysVO.getClassify(); |
| | | InterParameterVO finalInterParameterVO = interParameterVO; |
| | | |
| | | return ""; |
| | | //这是账号信息 |
| | | SessionInfo sessionInfo = new SessionInfo(); |
| | | sessionInfo.setUserId(userVo.getUserName()); |
| | | sessionInfo.setUserName(userVo.getTrueName()); |
| | | sessionInfo.setIp(userVo.getIp()); |
| | | VciBaseUtil.setCurrentUserSessionInfo(sessionInfo); |
| | | |
| | | String finalSystemId = systemId; |
| | | classVOList.stream().forEach(classVO -> { |
| | | log.info("参数:分类COde:" + classVO.getClassCode()); |
| | | LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs = new LinkedList<>(); |
| | | //获取分类信息 |
| | | try { |
| | | String libray = classVO.getLibrary(); |
| | | CodeClassifyVO codeClassifyVO = getClassfy(classVO); |
| | | log.info("end:分类查询完毕"); |
| | | //获取分类模板信息 |
| | | if(codeClassifyVO==null || StringUtils.isBlank(codeClassifyVO.getOid())){ |
| | | objerrorCode="100"; |
| | | throw new Throwable ("根据传输的分类,未获取到分类信息"); |
| | | } |
| | | CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid()); |
| | | if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){ |
| | | objerrorCode="1"; |
| | | throw new Throwable ("根据传输的分类,未获取MDM系统中对应模板"); |
| | | } |
| | | log.info("end:模板查询完毕"); |
| | | ApplyDatasVO applyDatasVO = classVO.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 ("根据传输的分类,未获取MDM系统中对应规则"); |
| | | } |
| | | log.info("end:规则获取完毕"); |
| | | List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(classVO.getSections().getSection(), ruleVO); |
| | | log.info("end:码段获取完毕"); |
| | | CodeOrderDTO orderDTO = new CodeOrderDTO(); |
| | | orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//分类主键 |
| | | orderDTO.setSecDTOList(codeOrderSecDTOList);//分类码段 |
| | | mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs); |
| | | log.info("end:申请获取完毕"); |
| | | } catch (Throwable e) { |
| | | 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(classVO.getClassCode()); |
| | | resultClassfyVO.setLibrary(classVO.getLibrary()); |
| | | resultClassfyVO.setFullclsfNamePath(classVO.getFullclsfNamePath()); |
| | | resultClassfyVO.setObjects(resultDataObjectDetailDOs); |
| | | resultClassfyVOList.add(resultClassfyVO); |
| | | } |
| | | }); |
| | | XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO(); |
| | | xmlResultSystemVO.setClassifys(resultClassfyVOList); |
| | | xmlResultSystemVO.setMsg(msg); |
| | | xmlResultSystemVO.setErrorid(errorid); |
| | | 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); |
| | | resultStr= transferResultXMl(xmlResultSystemVO,dataType); |
| | | final boolean[] issucess = {true}; |
| | | if(!errorid.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, "applyCode"); |
| | | }catch (Throwable e){ |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | log.info("返回参数:"+resultStr); |
| | | |
| | | return resultStr; |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @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是xml则,通过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; |
| | | } |
| | | |
| | | /*** |
| | |
| | | } |
| | | |
| | | @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是xml则,通过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; |
| | | } |
| | | |
| | | /*** |
| | |
| | | throw new Throwable("根据分类代号未查询到相应的分类信息"); |
| | | } |
| | | } else { |
| | | //classifyVO = classifyService.getObjectByClsfNamePath(className.replace(separator, "/")); |
| | | //if(StringUtils.isBlank(classifyVO.getOid())){ |
| | | // throw new Throwable("根据分类名称路径未查询到相应的分类信息"); |
| | | //} |
| | | classifyVO = classifyService.getObjectByClsfNamePath(className.replace(separator, "/")); |
| | | if(StringUtils.isBlank(classifyVO.getOid())){ |
| | | throw new Throwable("根据分类名称路径未查询到相应的分类信息"); |
| | | } |
| | | } |
| | | }catch (Throwable e){ |
| | | objerrorCode="100"; |
| | |
| | | if (!sectype.equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())) { |
| | | String name = codeBasicSecVO.getName(); |
| | | String sectypeText = codeBasicSecVO.getSecTypeText(); |
| | | logger.info("码段名称:"+name); |
| | | logger.info("描述:"+sectypeText); |
| | | log.info("码段名称:"+name); |
| | | log.info("描述:"+sectypeText); |
| | | CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO(); |
| | | if (sectionVOMap.containsKey(name)) { |
| | | CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid()); |
| | | String sectypeValue = sectionVOMap.get(name); |
| | | logger.info("码段值:"+sectypeValue); |
| | | log.info("码段值:"+sectypeValue); |
| | | CodeOrderSecDTO.setSecValue(sectypeValue); |
| | | codeOrderSecDTOList.add(CodeOrderSecDTO); |
| | | } else { |
| | |
| | | dockingLoge.setInterfaceStatus("false");//接口集成状态 |
| | | } |
| | | dockingLogeService.save(dockingLoge); |
| | | logger.info("集成推送数据成功,systemId:"+systemId+",systemname:"+systemName+",operation:"+operation+",param:"+parmaData); |
| | | log.info("集成推送数据成功,systemId:"+systemId+",systemname:"+systemName+",operation:"+operation+",param:"+parmaData); |
| | | } |
| | | |
| | | /*** |