DocumentHelper创建xml文件

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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值