DocumentHelper创建xml文件

mac2025-06-16  7

public static Map generate(HttpServletRequest request, LicenseCompanyBase licenseCompanyBase, ILicenseCompanyBaseDao licenseCompanyBaseDao, IDataDictionaryDao dataDictionaryDao) { Map<String, Object> returnMap = new HashMap<>(); try { Map<String,Object> dataMap = new HashMap<>(); String QYLX = StringUtils.getStringByObj(licenseCompanyBase.getQYLX()); String companyBaseSql = " select * from license_company_base where QYLX = '" + QYLX + "' and UUID = '" + licenseCompanyBase.getUUID() + "' and ISDEL = 0 "; //查询主表信息 List<Map> companyListMap = licenseCompanyBaseDao.findBySql(companyBaseSql); if (null != companyListMap && companyListMap.size() > 0) { String sqlStr = LicenseSQLUtil.getQuerySQLStrByParam(QYLX, null, null, StringUtils.getStringByObj(companyListMap.get(0).get("UUID"))); List<Map> myList = new ArrayList<>(); if (StringUtils.isNotEmptyObject(sqlStr)) { //查询从表信息 myList = licenseCompanyBaseDao.findBySql(sqlStr); } if (myList.size() > 0) { dataMap = myList.get(0); } dataMap.putAll(companyListMap.get(0)); } String path = request.getSession().getServletContext().getRealPath(""); String wenJian = "license/xmlTemp/" + TimeUtils.getyyyyMM(new Date()) + "/" +("yppfDzzz_"+TimeUtils.getyyyyMMdd(new Date())) + ".xml"; String savePath = path + "/uploadFiles/" + wenJian; returnMap.put("URLS", "/uploadFiles/" + wenJian); Document doc = DocumentHelper.createDocument(); Element root = doc.addElement("DataRoot"); //企业名称 Element qymcNode = root.addElement("DataInfo"); qymcNode.addAttribute("Name","企业名称"); qymcNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("QYMC"))); //许可证编号 Element xkzbhNode = root.addElement("DataInfo"); xkzbhNode.addAttribute("Name","许可证编号"); xkzbhNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("XKZBH"))); //信用代码 Element xydmNode = root.addElement("DataInfo"); xydmNode.addAttribute("Name","信用代码"); xydmNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("XYDM"))); //日常监管机构 Element rcjgjgNode = root.addElement("DataInfo"); rcjgjgNode.addAttribute("Name","日常监管机构"); rcjgjgNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("JGJG"))); //日常监管机构 Element zcdzNode = root.addElement("DataInfo"); zcdzNode.addAttribute("Name","注册地址"); zcdzNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("DZ"))); //法定代表人 Element frNode = root.addElement("DataInfo"); frNode.addAttribute("Name","法定代表人"); frNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("FR"))); //投诉举报电话 Element tsdhNode = root.addElement("DataInfo"); tsdhNode.addAttribute("Name","投诉举报电话"); tsdhNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("LXDH"))); //企业负责人 Element fzrNode = root.addElement("DataInfo"); fzrNode.addAttribute("Name","企业负责人"); fzrNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("FZR"))); //质量负责人 Element zlfzrNode = root.addElement("DataInfo"); zlfzrNode.addAttribute("Name","质量负责人"); zlfzrNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("ZLFZR"))); //发证机关 Element fzjgNode = root.addElement("DataInfo"); fzjgNode.addAttribute("Name","发证机关"); fzjgNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("FZJG"))); //经营范围 Element fwNode = root.addElement("DataInfo"); fwNode.addAttribute("Name","经营范围"); String fw = StringUtils.getStringByObj(dataMap.get("FW")); Map paramMap = new HashMap(); paramMap.put("YWBJ","YPPF_FW"); Map fwMap = dataDictionaryDao.selectDictionaryByCodeMap(paramMap); String fwStr = StringUtils.getStringByObj(getFwByJsonData(fw, fwMap)); if (StringUtils.isNotEmptyObject(dataMap.get("FW_QT"))) { fwStr = fwStr.replace("input1", ":(" + StringUtils.getStringByObj(dataMap.get("FW_QT")) + ")"); } else { fwStr = fwStr.replace("input1", ""); } if (StringUtils.isNotEmptyObject(dataMap.get("FW_QU"))) { fwStr = fwStr.replace("input2", ":(" + StringUtils.getStringByObj(dataMap.get("FW_QU")) + ")"); } else { fwStr = fwStr.replace("input2", ""); } fwNode.addAttribute("Value",fwStr); //经营方式 Element jyfsNode = root.addElement("DataInfo"); jyfsNode.addAttribute("Name","经营方式"); jyfsNode.addAttribute("Value","批发"); //仓库地址 Element ckdzNode = root.addElement("DataInfo"); ckdzNode.addAttribute("Name","仓库地址"); ckdzNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("CKDZ"))); //签发人 Element qfrNode = root.addElement("DataInfo"); qfrNode.addAttribute("Name","签发人"); qfrNode.addAttribute("Value",StringUtils.getStringByObj(dataMap.get("QFR"))); //签发年 String fzrq = StringUtils.getStringByObj(dataMap.get("TJRQ_DATE")); Element qfnNode = root.addElement("DataInfo"); qfnNode.addAttribute("Name","签发年"); //签发月 Element qfyNode = root.addElement("DataInfo"); qfyNode.addAttribute("Name","签发月"); //签发日 Element qfrqNode = root.addElement("DataInfo"); qfrqNode.addAttribute("Name","签发日"); String[] fzrqArray = null; if (StringUtils.isNotEmptyObject(fzrq)) { fzrqArray = fzrq.split(" ")[0].split("-"); if(fzrqArray != null){ qfnNode.addAttribute("Value",fzrqArray[0]); } if(fzrqArray != null){ qfyNode.addAttribute("Value",fzrqArray[1]); } if(fzrqArray != null){ qfrqNode.addAttribute("Value",fzrqArray[2]); } }else{ qfnNode.addAttribute("Value",""); qfyNode.addAttribute("Value",""); qfrqNode.addAttribute("Value",""); } //有效期年 Element yxqnNode = root.addElement("DataInfo"); yxqnNode.addAttribute("Name","有效期年"); //有效期月 Element yxqyNode = root.addElement("DataInfo"); yxqyNode.addAttribute("Name","有效期月"); //有效期日 Element yxqrNode = root.addElement("DataInfo"); yxqrNode.addAttribute("Name","有效期日"); String yxqz = StringUtils.getStringByObj(dataMap.get("YXQZ_DATE")); String[] yxqzArray = null; if (StringUtils.isNotEmptyObject(yxqz)) { yxqzArray = yxqz.split("-"); if(fzrqArray != null){ yxqnNode.addAttribute("Value",yxqzArray[0]); } if(fzrqArray != null){ yxqyNode.addAttribute("Value",yxqzArray[1]); } if(fzrqArray != null){ yxqrNode.addAttribute("Value",yxqzArray[2]); } }else{ yxqnNode.addAttribute("Value",""); yxqyNode.addAttribute("Value",""); yxqrNode.addAttribute("Value",""); } //用于格式化xml内容和设置头部标签 OutputFormat format = OutputFormat.createPrettyPrint(); //设置xml文档的编码为utf-8 format.setEncoding("GB2312"); File tempXmlFile = new File(savePath); File fileParent = tempXmlFile.getParentFile(); if(!fileParent.exists()){ fileParent.mkdirs(); } tempXmlFile.createNewFile(); FileWriter out = new FileWriter(tempXmlFile); //创建一个dom4j创建xml的对象 XMLWriter writer = new XMLWriter(out, format); //调用write方法将doc文档写到指定路径 writer.write(doc); writer.close(); //复制文件 if (StringUtils.isNotEmptyObject(PropertiesUtil.FILE_SAVE_PATH)) { LicenseUtil.copyFile(savePath, PropertiesUtil.FILE_SAVE_PATH + "/uploadFiles/" + wenJian); } System.out.print("生成XML文件成功"); return returnMap; } catch (Exception e) { System.out.print("生成XML文件失败"); e.printStackTrace(); } return null; } //生成xml如下: <?xml version="1.0" encoding="UTF-8"?> <DataRoot> <DataInfo Name="企业名称" Value="北新国际"/> <DataInfo Name="许可证编号" Value="陕A251546256"/> <DataInfo Name="信用代码" Value="T513436200008316438"/> <DataInfo Name="日常监管机构" Value="陕西省市场监督管理局"/> <DataInfo Name="注册地址" Value="西安软件园汉韵阁"/> <DataInfo Name="法定代表人" Value="黄斌"/> <DataInfo Name="投诉举报电话" Value="15986547512"/> <DataInfo Name="企业负责人" Value="王良雄"/> <DataInfo Name="质量负责人" Value="沈洁邦"/> <DataInfo Name="发证机关" Value="陕西省市场监督管理局"/> <DataInfo Name="经营范围" Value="药品、食品"/> <DataInfo Name="经营方式" Value="药品批发"/> <DataInfo Name="仓库地址" Value="西安软件园汉韵阁C座"/> <DataInfo Name="签发人" Value="张晓明"/> <DataInfo Name="签发年" Value="2019"/> <DataInfo Name="签发月" Value="10"/> <DataInfo Name="签发日" Value="30"/> <DataInfo Name="有效期年" Value="2029"/> <DataInfo Name="有效期月" Value="11"/> <DataInfo Name="有效期日" Value="29"/> </DataRoot>
最新回复(0)