package com.tenwa.invoice; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.tenwa.comm.util.jboutil.DataOperatorUtil; public class IAutokpXML { public Map>> getParam (String param){ JSONArray array =JSON.parseArray(param); Map>> map = new HashMap>>(); List> ls = new ArrayList>(); for(int i=0;i mapi = new HashMap<>(); mapi.put("MXXH",i+1+""); mapi.put("tax_type", obj.getString("tax_type")); mapi.put("invoice_money",obj.getString("invoice_money")); mapi.put("tax_ratio",obj.getString("tax_ratio")); mapi.put("customer_name",obj.getString("customer_name")); mapi.put("acc_number",obj.getString("acc_number")); mapi.put("telephone",obj.getString("telephone")); mapi.put("cert_id",obj.getString("cert_id")); mapi.put("customer_type",obj.getString("customer_type")); mapi.put("fpzl",obj.getString("fpzl")); mapi.put("fpzf",obj.getString("fpzf")); if(map.containsKey(contract_no)){ map.get(contract_no).add(mapi); }else{ ls.add(mapi); map.put(contract_no, ls); } } return map; } public String createInvoiceXML(Map.Entry>> params){ Document doc = DocumentHelper.createDocument(); doc.setXMLEncoding("GBK"); Element rootEle = doc.addElement("DataArea"); Element Ele_SID = rootEle.addElement("SID"); Ele_SID.setText("SID_ZP"); IAutokpUtils.addUserInfo(rootEle); Element Ele_Data = rootEle.addElement("Data"); Element Ele_Order = Ele_Data.addElement("Order"); Element Ele_Head = Ele_Order.addElement("Head"); Element Ele_XSDJBH = Ele_Head.addElement("XSDJBH"); Ele_XSDJBH.setText(params.getKey()); Element Ele_FPZL = Ele_Head.addElement("FPZL"); Element Ele_GFLX = Ele_Head.addElement("GFLX"); Element Ele_FPZF = Ele_Head.addElement("FPZF"); Element Ele_GFMC = Ele_Head.addElement("GFMC"); Element Ele_GFSH = Ele_Head.addElement("GFSH"); Element Ele_GFDZDH = Ele_Head.addElement("GFDZDH"); Element Ele_GFYHZH = Ele_Head.addElement("GFYHZH"); Element Ele_GFSJ = Ele_Head.addElement("GFSJ"); Element Ele_GFYX = Ele_Head.addElement("GFYX"); Element Ele_XFSH = Ele_Head.addElement("XFSH"); Element Ele_XFMC = Ele_Head.addElement("XFMC"); Element Ele_XFDZDH = Ele_Head.addElement("XFDZDH"); Element Ele_XFYHZH = Ele_Head.addElement("XFYHZH"); Element Ele_HCFPDM = Ele_Head.addElement("HCFPDM"); Element Ele_HCFPHM = Ele_Head.addElement("HCFPHM"); Element Ele_HZTZDH = Ele_Head.addElement("HZTZDH"); Element Ele_KJRQ = Ele_Head.addElement("KJRQ"); Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); String curDate = formatter.format(date); Ele_KJRQ.setText(curDate); Element Ele_BZ = Ele_Head.addElement("BZ"); String sql = "select tax_creator,tax_checker,Payee from tax_operator_info where is_use='Y'"; List> dataList; try { dataList = DataOperatorUtil.getDataBySql(sql); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("开票人员信息获取错误。"); return "error_taxOperator"; } String KJR = dataList.get(0).get("tax_creator"); String FHR = dataList.get(0).get("tax_checker"); String SKR = dataList.get(0).get("Payee"); Element Ele_KJR = Ele_Head.addElement("KJR"); Ele_KJR.setText(KJR); Element Ele_XSDBMID = Ele_Head.addElement("XSDBMID"); Element Ele_YWXTBS = Ele_Head.addElement("YWXTBS"); Element Ele_FHR = Ele_Head.addElement("FHR"); Ele_FHR.setText(FHR); Element Ele_SKR = Ele_Head.addElement("SKR"); Ele_SKR.setText(SKR); Element Ele_WDDM = Ele_Head.addElement("WDDM"); Element Ele_KPFWQH = Ele_Head.addElement("KPFWQH"); Element Ele_KPDH = Ele_Head.addElement("KPDH"); Element Ele_DKBZ = Ele_Head.addElement("DKBZ"); Element Ele_CFBZ = Ele_Head.addElement("CFBZ"); Element Ele_QDBZ = Ele_Head.addElement("QDBZ"); Ele_QDBZ.setText("0"); Element Ele_ITEMS = Ele_Order.addElement("ITEMS"); //添加每个商品信息 for(int i=0;i