From 0f9519103898a36ffd3d01e3aa4363848547c1c7 Mon Sep 17 00:00:00 2001 From: xiezhiwen Date: Tue, 18 Sep 2018 14:40:51 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=87=AD=E8=AF=81=E6=8E=A5=E5=8F=A3-?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VoucherSysJointNCServiceImpl.java | 252 ++++++++++-------- 1 file changed, 142 insertions(+), 110 deletions(-) diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherSysJointNCServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/VoucherSysJointNCServiceImpl.java index 1f4bec6d4..a60854f1e 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherSysJointNCServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherSysJointNCServiceImpl.java @@ -21,6 +21,8 @@ import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; + +import org.apache.jasper.tagplugins.jstl.core.ForEach; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; @@ -28,23 +30,29 @@ import org.dom4j.io.DocumentSource; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; + +import com.amarsoft.are.ARE; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.JBOException; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.are.jbo.JBOTransaction; +import com.amarsoft.are.log.Log; import com.amarsoft.awe.util.SqlObject; import com.amarsoft.awe.util.Transaction; import com.amarsoft.dict.als.manage.NameManager; +import com.sun.istack.internal.logging.Logger; import com.tenwa.comm.util.jboutil.DataOperatorUtil; import com.tenwa.voucher.service.VoucherSysJointNCService; import jbo.com.tenwa.entity.comm.own.OWN_INFO; import jbo.voucher.LV_STACTS_CONFIG; public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { + private static Log logger = ARE.getLog(); /** * 调用生成xml的方法 */ public String sendVoucherData(JBOTransaction tx){ + // 获取返回结果, 用于页面提示 String trueOrFalse = getVoucherToXML(tx); return trueOrFalse; } @@ -67,7 +75,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { // 生成经销商信息xml文件 DOM4JcreateToSupplier(Sqlca); // 生成辅助合同信息xml文件 - DOM4JcreateToDefdoc(Sqlca,list,map); + DOM4JcreateToDefdoc(Sqlca); tx.commit(); } catch (Exception e) { try { @@ -93,7 +101,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { */ private static List> getDataList(JBOTransaction tx) throws Exception{ // 查询所有待传输的数据 - String sql = "SELECT F3,F60,ID,MODULE_NAME,DEPT_NAME,F1,F15,V8_STATUS,F5,GENERATE_DATE FROM VI_VOUCHER_V8 WHERE V8_FLAG !='1'"; + String sql = "SELECT F3,F60,ID,MODULE_NAME,DEPT_NAME,F1,F15,V8_STATUS,F5,GENERATE_DATE FROM VI_VOUCHER_V8 WHERE V8_FLAG ='0' AND F3 NOT IN(SELECT F3 FROM VOUCHER_LOG WHERE FLAG = '1')"; List> dataList = DataOperatorUtil.getDataBySql(tx, sql, null);// 将所有凭证号封装到list集合中 return dataList; } @@ -103,9 +111,9 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { */ private static void DOM4JcreateToVoucher(Transaction Sqlca,List>list, Map map) throws Exception { // 本地xml存放文件夹, 没有就创建 - //File file2 = new File("D:\\voucherXml_NC"); - //if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹 - // 定义全局对象 + /*File file2 = new File("D:\\voucherXml_NC"); + if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹 +*/ // 定义全局对象 Document document=null; // xml文件头 File file=null; // 生成的xml文件路径 XMLWriter writer=null; // 输出对象 @@ -114,14 +122,14 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { String OWNED_COMPANY = null; // 所属公司 String ACC_YEAR = null; // 会计期间/年 String ACC_MONTH = null; // 会计期间/月 - String tableName="VOUCHER_V8"; // 表名 - String flag="V8_FLAG"; // 状态名 - String xmlId=""; // xml的id字段名 - String updSql=""; // 定义更新语句对象 - SqlObject sql; // sqlObject对象 + String tableName="VOUCHER_LOG"; // 表名 + String insertSql=""; // 定义新增语句对象 + SqlObject sqlObject; // sqlObject对象 Date time = new Date(); // 获取当前时间对象, 并格式化 SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss");// 年月日时分秒 - String year_month_day = formatter1.format(time); // 年月日时分秒 + SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 年月日时分秒 + String year_month_day = formatter1.format(time); // 年月日时分秒 + String year_month_days = formatter2.format(time); // 年月日时分秒 String timeAll = ""; // 制单日期 int a = list.size(); // v8视图总数据量/ xml中生成的总条数 int b=1000; // 设置当前xml生成的条数 @@ -414,18 +422,20 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { Element pk_innercorp2 = cashflowitem2.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String pk_innercorp2.setText(""); } - // 执行update操作, 将生成的xml标签id存入v8表 - /*updSql="UPDATE "+tableName+" SET xmlId='"+str+"' WHERE F3 ='"+F3+"' "; - sql = new SqlObject(updSql); - Sqlca.executeSQL(sql);*/ + // 新增当条凭证信息如voucher_log表 + insertSql="INSERT INTO VOUCHER_LOG(BILLID,F3,FLAG,CREATE_TIME) VALUES('"+str+"','"+F3+"','1','"+year_month_days+"')"; + sqlObject = new SqlObject(insertSql); + Sqlca.executeSQL(sqlObject); + logger.info("将当前数据传入记录表: "+insertSql); } String URL="//data//files//apzl_leasing//tmp//XZW//APleasing_VOUCHER_"+year_month_day+".xml"; + //String URL="D:\\voucherXml_NC\\APleasing_VOUCHER_"+year_month_day+".xml"; file=new File(URL); writer = new XMLWriter(new FileOutputStream(file), OutputFormat.createPrettyPrint()); writer.setEscapeText(false);// 字符是否转义,默认true writer.write(document); writer.close(); - InterActionToNC(Sqlca,URL,tableName,flag,xmlId); + InterActionToNC(Sqlca,URL,tableName); } } /** @@ -435,27 +445,29 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { */ private static void DOM4JcreateToCustomer(Transaction Sqlca) throws Exception{ // 判断该文件夹是否存在, 如果不存在就创建 - //File file2 = new File("D:\\voucherXml_NC"); - //if(file2.exists()) {file2.mkdirs();} + /*File file2 = new File("D:\\voucherXml_NC"); + if(file2.exists()) {file2.mkdirs();} */ // 定义全局对象 // 生成xml的路劲 File file=null; // 输出对象 XMLWriter writer=null; // 表名 - String tableName="CUSTOMER_INFO"; - // 状态字段 - String flag="FLAG"; - // xml传输id字段 - String xmlId=""; + String tableName="CUSTOMER_LOG"; + String insertSql=""; // 定义新增语句对象 + SqlObject sqlObject; // sqlObject对象 // 获取时间对象, 格式为--年月日时分秒 - SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss"); - String year_month_day = formatter1.format(new Date()); + Date time = new Date(); // 获取当前时间对象, 并格式化 + SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss");// 年月日时分秒 + SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 年月日时分秒 + String year_month_day = formatter1.format(time); // 年月日时分秒 + String year_month_days = formatter2.format(time); // 年月日时分秒 + String str=""; String customer_num=""; String customername=""; String customertype=""; // 查询未传入客户信息 - String sql="SELECT customer_num,customername,customertype,customerid FROM CUSTOMER_INFO WHERE FLAG <>'1' "; + String sql="SELECT customer_num,customername,customertype,customerid FROM CUSTOMER_INFO WHERE customer_num NOT IN(SELECT CUSTOMER_NUM FROM CUSTOMER_LOG WHERE FLAG='1') "; List> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null); // 客户xml头 Document document= DocumentHelper.createDocument(); // 生成每个xml的头 @@ -478,7 +490,8 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { customertype=rs.get(i).get("customertype"); Element bill = root.addElement("bill"); - bill.addAttribute("id", ("待确认")+"待确认------------------------------"); + str=UUID.randomUUID().toString().replace("-", ""); + bill.addAttribute("id", str); Element billhead = bill.addElement("billhead"); Element pk_group = billhead.addElement("pk_group");// 所属集团,最大长度为20,类型为:String pk_group.setText("001"); @@ -730,14 +743,21 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { updateSql="UPDATE CUSTOMER_INFO SET FLAG='0' WHERE CUSTOMERID='"+cust_id+"'"; SqlObject updSql=new SqlObject(updateSql); Sqlca.executeSQL(updSql);*/ + + // 将客户xml信息写入状态表中 + insertSql="INSERT INTO CUSTOMER_LOG(BILLID,CUSTOMER_NUM,FLAG,CREATE_TIME) VALUES('"+str+"','"+customer_num+"','1','"+year_month_days+"')"; + sqlObject = new SqlObject(insertSql); + Sqlca.executeSQL(sqlObject); + logger.info("客户记录语句: "+insertSql); } String URL="//data//files//apzl_leasing//tmp//XZW//APleasing_Customer_"+year_month_day+".xml"; + //String URL="D:\\voucherXml_NC\\APleasing_Customer_"+year_month_day+".xml"; file=new File(URL); writer = new XMLWriter(new FileOutputStream(file), OutputFormat.createPrettyPrint()); writer.setEscapeText(false);// 字符是否转义,默认true writer.write(document); writer.close(); - InterActionToNC(Sqlca,URL,tableName,flag,xmlId); + InterActionToNC(Sqlca,URL,tableName); } /** * 供应商信息xml生成, 每1000条生成一个xml @@ -751,9 +771,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { //} File file = null; XMLWriter writer = null; - String tableName="DISTRIBUTOR_INFO";// 表名 - String flag="FLAG"; // 状态名 - String xmlId=""; // xml传输id + String tableName="DISTRIBUTOR_LOG"; // 表名 String DISTRIBUTOR_NAME = ""; // 经销商名称 String DISTRIBUTOR_CODING = ""; // 经销商id String DISTRIBUTOR_ADDRESS=""; // 地区编码 @@ -772,11 +790,16 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { String REGISTERED_ASSET=""; // 注册资金 String DISTRIBUTORER=""; // 法人 String URL=""; // 网址 - String updateSql=""; // 修改语句 + String insertSql=""; // 新增语句 + SqlObject sqlObject; // 创建sqlObject对象 + String uuid=""; // uuid String MBAFC_EARLYDISBURSEMENT_TYPE="";// 资金类型/支付类型 - Date time = new Date(); // 获取当前时间对象, 并格式化 - SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss");// - String year_month_day = formatter1.format(time); // 年月日 + // 获取时间对象, 格式为--年月日时分秒 + Date time = new Date(); // 获取当前时间对象, 并格式化 + SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss");// 年月日时分秒 + SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 年月日时分秒 + String year_month_day = formatter1.format(time); // 年月日时分秒 + String year_month_days = formatter2.format(time); // 年月日时分秒 // 设置xml标签头 Document document = DocumentHelper.createDocument(); // 生成每个xml的头 Element root = document.addElement("ufinterface"); @@ -789,7 +812,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { root.addAttribute("replace", "Y"); root.addAttribute("roottag", ""); root.addAttribute("sender", "001"); - String sql="SELECT DISTRIBUTOR_NAME,DISTRIBUTOR_CODING,DISTRIBUTOR_ADDRESS,FACT_ADDR,PROVINCES,POSTCODE,REGISTERED_ADDR,BUSINESS_SCOPE,SUBSIDIARY_COMPANY,TYPE,BUSINESS_LICENSE_NO,DISTRIBUTOR_STATUS,E_MAIL,FAX_NUMBER,REGISTERED_ASSET,DISTRIBUTORER,MBAFC_EARLYDISBURSEMENT_TYPE,URL,FLAG FROM DISTRIBUTOR_INFO WHERE FLAG<>'1'"; + String sql="SELECT DISTRIBUTOR_NAME,DISTRIBUTOR_CODING,DISTRIBUTOR_ADDRESS,FACT_ADDR,PROVINCES,POSTCODE,REGISTERED_ADDR,BUSINESS_SCOPE,SUBSIDIARY_COMPANY,TYPE,BUSINESS_LICENSE_NO,DISTRIBUTOR_STATUS,E_MAIL,FAX_NUMBER,REGISTERED_ASSET,DISTRIBUTORER,MBAFC_EARLYDISBURSEMENT_TYPE,URL,FLAG FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_CODING NOT IN(SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_LOG WHERE FLAG <>'1' ) "; List> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null); for(int i=0; i>list, Map map) throws Exception{ - Document document=null; + private static void DOM4JcreateToDefdoc(Transaction Sqlca) throws Exception{ File file=null; XMLWriter writer=null; - String tableName="VOUCHER_V8";// 表名 - String flag="V8_FLAG"; // 状态名 - String xmlId=""; // xml传输id - Date time = new Date(); // 获取当前时间对象, 并格式化 - File file2 = new File("D:\\voucherXml_NC"); - if(file2==null || "".equals(file2)) { - file2.mkdirs();//创建父文件夹 - } - SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss");// - String year_month_day = formatter1.format(time); // 年月日 - int a = list.size(); // 获取凭证编号的长度 - int b=1000; // 设置当前xml生成的条数 - int c = (int)(a / b); // 获取循环次数, 最大循环值=c+1 - for (int i = 0; i <=c; i++) { // 外围循环/ 决定生成几个xml - document = DocumentHelper.createDocument(); // 生成每个xml的头 + String uuid=""; + String insertSql=""; + SqlObject sqlObject; + String contract_number=""; + String contract_name=""; + String tableName="SUBSIBIARY_CONTRACT_LOG"; // 表名 + // 获取时间对象, 格式为--年月日时分秒 + Date time = new Date(); // 获取当前时间对象, 并格式化 + SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss");// 年月日时分秒 + SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 年月日时分秒 + String year_month_day = formatter1.format(time); // 年月日时分秒 + String year_month_days = formatter2.format(time); // 年月日时分秒 + Document document = DocumentHelper.createDocument(); // 生成每个xml的头 Element root = document.addElement("ufinterface"); root.addAttribute("account","0001"); root.addAttribute("billtype","defdoc"); @@ -983,60 +1010,63 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { root.addAttribute("replace","Y"); root.addAttribute("roottag",""); root.addAttribute("sender","001"); - for (int x = i * b; x < (i + 1) * b && x < a; x++) {// 决定当前xml生成的数据量 - // 获取凭证编号 - String F3=list.get(x).get("F3"); - map.clear(); - map.put("F3",F3); - // 获取v8表借方数据 - String sql1 = "SELECT f60,f61 FROM voucher_v8 WHERE F3=:F3"; - List> v1 = DataOperatorUtil.getDataBySql(Sqlca,sql1,map); - String contract_number = v1.get(0).get("f60"); - String contract_name = v1.get(0).get("f61"); - Element bill = root.addElement("bill"); - bill.addAttribute("id", (x+1)+""); - Element billhead = bill.addElement("billhead"); - Element pk_defdoclist = billhead.addElement("pk_defdoclist");// 自定义档案列表主键,最大长度为20,类型为:String - pk_defdoclist.setText("自定义档案列表主键,最大长度为20,类型为:String"); - Element pk_defdoc = billhead.addElement("pk_defdoc");// - pk_defdoc.setText(""); - Element pk_group = billhead.addElement("pk_group");// 所属集团,最大长度为20,类型为:String - pk_group.setText("001"); - Element pk_org = billhead.addElement("pk_org");// 所属组织,最大长度为20,类型为:String - pk_org.setText("安鹏租赁业务单元编码"); - Element code = billhead.addElement("code");// 档案编码,最大长度为40,类型为:String - code.setText((contract_number==null)?"":contract_number); - Element name = billhead.addElement("name");// 档案名称,最大长度为200,类型为:String - name.setText((contract_name==null)?"":contract_name); - Element shortname = billhead.addElement("shortname");// 简称,最大长度为200,类型为:String - shortname.setText((contract_name==null)?"":contract_name); - Element mnecode = billhead.addElement("mnecode");// 助记码,最大长度为50,类型为:String - mnecode.setText(""); - Element pid = billhead.addElement("pid");// 上级档案,最大长度为20,类型为:String - pid.setText(""); - Element memo = billhead.addElement("memo");// 备注,最大长度为200,类型为:String - memo.setText(""); - } + String sql="SELECT CONTRACT_NUMBER,PRODUCT_NAME FROM LB_CONTRACT_INFO WHERE CONTRACT_NUMBER NOT IN(SELECT CONTRACT_NUMBER FROM subsibiary_contract_log WHERE FLAG <> '1')"; + List> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null); + for (Map map : rs) { + contract_number=(map.get("CONTRACT_NUMBER")==null)?"":map.get("CONTRACT_NUMBER"); + contract_name=(map.get("PRODUCT_NAME")==null)?"":map.get("PRODUCT_NAME"); + Element bill = root.addElement("bill"); + uuid=UUID.randomUUID().toString().replace("-", ""); + bill.addAttribute("id", uuid); + Element billhead = bill.addElement("billhead"); + Element pk_defdoclist = billhead.addElement("pk_defdoclist");// 自定义档案列表主键,最大长度为20,类型为:String + pk_defdoclist.setText("自定义档案列表主键,最大长度为20,类型为:String"); + Element pk_defdoc = billhead.addElement("pk_defdoc");// + pk_defdoc.setText(""); + Element pk_group = billhead.addElement("pk_group");// 所属集团,最大长度为20,类型为:String + pk_group.setText("001"); + Element pk_org = billhead.addElement("pk_org");// 所属组织,最大长度为20,类型为:String + pk_org.setText("安鹏租赁业务单元编码"); + Element code = billhead.addElement("code");// 档案编码,最大长度为40,类型为:String + code.setText(contract_number); + Element name = billhead.addElement("name");// 档案名称,最大长度为200,类型为:String + name.setText((contract_name==null)?"":contract_name); + Element shortname = billhead.addElement("shortname");// 简称,最大长度为200,类型为:String + shortname.setText(contract_name); + Element mnecode = billhead.addElement("mnecode");// 助记码,最大长度为50,类型为:String + mnecode.setText(""); + Element pid = billhead.addElement("pid");// 上级档案,最大长度为20,类型为:String + pid.setText(""); + Element memo = billhead.addElement("memo");// 备注,最大长度为200,类型为:String + memo.setText(""); + // 将记录写入辅助合同日志表 + insertSql="INSERT INTO SUBSIBIARY_CONTRACT_LOG(BILLID,CONTRACT_NUMBER,FLAG,CREATE_TIME) VALUES('"+uuid+"','"+contract_number+"','1','"+year_month_days+"')"; + sqlObject= new SqlObject(insertSql); + Sqlca.executeSQL(sqlObject); + logger.info("辅助合同记录语句: " + insertSql); + } String URL="//data//files//apzl_leasing//tmp//XZW//APleasing_Defdoc_"+year_month_day+".xml"; + //String URL="D:\\voucherXml_NC\\APleasing_Defdoc_"+year_month_day+".xml"; file=new File(URL); writer = new XMLWriter(new FileOutputStream(file), OutputFormat.createPrettyPrint()); writer.setEscapeText(false);// 字符是否转义,默认true writer.write(document); writer.close(); - InterActionToNC(Sqlca,URL,tableName,flag,xmlId); - } + InterActionToNC(Sqlca,URL,tableName); } /** * 像NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态 */ - public static void InterActionToNC(Transaction Sqlca,String inputURL,String tableName,String flag,String xmlId) { + public static void InterActionToNC(Transaction Sqlca,String inputURL,String tableName) { try { // 定义全局变量 String sql=""; String resultcode=""; //返回状态 String bdocid=""; //数据ID + String resultdescription=""; //错误信息 SqlObject updSql; + /** * 获取对方post连接 */ @@ -1062,7 +1092,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { /** * 获取回执信息 */ - /*InputStream inputStream = connection.getInputStream(); + InputStream inputStream = connection.getInputStream(); InputStreamReader isr = new InputStreamReader(inputStream); BufferedReader bufreader = new BufferedReader(isr); String xmlString = ""; @@ -1074,9 +1104,9 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { input.close(); System.out.println("----" + xmlString); - *//** + /** * 将获取到的回执信息生成本地xml - *//* + */ Document resDoc = DocumentHelper.parseText(xmlString); TransformerFactory tFactory = TransformerFactory.newInstance(); Transformer transformer = tFactory.newTransformer(); @@ -1086,15 +1116,15 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { transformer.setOutputProperty(OutputKeys.INDENT, "YES"); // 将回执信息输出到本地 SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmss"); - File file2 = new File("D:\\voucherXml_receipt"); - file2.mkdirs();//创建父文件夹 - String resFile = "D:\\voucherXml_receipt\\"+fmt.format(new Date())+".xml"; + /*File file2 = new File("D:\\voucherXml_receipt"); + if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹*/ + String resFile = "//data//files//apzl_leasing//tmp//WEN"+fmt.format(new Date())+".xml"; StreamResult result = new StreamResult(new File(resFile)); transformer.transform(source,result); - *//** + /** * 解析xml, 根据回执信息更新状态 - *//* + */ SAXReader sr = new SAXReader(); Document doc = sr.read(resFile); Element root= doc.getRootElement(); @@ -1103,32 +1133,34 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { //后面对回执结果做判断,然后改变导入状态就行了 if(null != resSuc){ if(resSuc.equals("N")){ - System.out.println("导入失败"); + logger.info("导入失败"); }else if(resSuc.equals("Y")){ - System.out.println("导入成功"); - //接下来的代码,修改状态 - sql="UPDATE tableName set flag = '1' WHERE flag <> '1'"; + logger.info("导入成功"); + /*sql="UPDATE "+tableName+" SET FLAG = '1' WHERE flag <> '1'"; updSql = new SqlObject(sql); - Sqlca.executeSQL(updSql); + Sqlca.executeSQL(updSql);*/ List list1 = root.elements(); for (Element element : list1) { List list = element.elements(); for (Element el : list) { resultcode = el.element("resultcode").getStringValue(); if(!"1".equals(resultcode)) { - bdocid = el.element("bdocid").getStringValue(); - sql=" UPDATE tableName SET flag='"+resultcode+"' WHERE xmlId='"+bdocid+"' "; + bdocid = el.element("bdocid").getStringValue();// xml回执id + resultdescription = el.element("resultdescription").getStringValue();// 错误信息 + //sql=" UPDATE "+tableName+" SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' "; + sql=" UPDATE "+tableName+" SET FLAG='2',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' "; updSql = new SqlObject(sql); Sqlca.executeSQL(updSql); + logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+sql); } } } }else{ - System.out.println("出现未知错误"); + logger.info("出现未知错误"); } }else{ - System.out.println("未找到successful属性"); - } */ + logger.info("未找到successful属性"); + } } catch (Exception e) { e.printStackTrace(); } From 33d8f059d5ca143a760558f37412e5d3e0cf2645 Mon Sep 17 00:00:00 2001 From: xiezhiwen Date: Tue, 18 Sep 2018 16:08:01 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=87=AD=E8=AF=81=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VoucherSysJointNCServiceImpl.java | 47 +++++++++++-------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherSysJointNCServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/VoucherSysJointNCServiceImpl.java index a60854f1e..c2ed712fb 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherSysJointNCServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherSysJointNCServiceImpl.java @@ -37,6 +37,7 @@ import com.amarsoft.are.jbo.JBOException; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.are.jbo.JBOTransaction; import com.amarsoft.are.log.Log; +import com.amarsoft.awe.util.ASResultSet; import com.amarsoft.awe.util.SqlObject; import com.amarsoft.awe.util.Transaction; import com.amarsoft.dict.als.manage.NameManager; @@ -101,7 +102,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { */ private static List> getDataList(JBOTransaction tx) throws Exception{ // 查询所有待传输的数据 - String sql = "SELECT F3,F60,ID,MODULE_NAME,DEPT_NAME,F1,F15,V8_STATUS,F5,GENERATE_DATE FROM VI_VOUCHER_V8 WHERE V8_FLAG ='0' AND F3 NOT IN(SELECT F3 FROM VOUCHER_LOG WHERE FLAG = '1')"; + String sql = "SELECT F3,F60,ID,MODULE_NAME,DEPT_NAME,F1,F15,V8_STATUS,F5,GENERATE_DATE FROM VI_VOUCHER_V8 WHERE F3 NOT IN(SELECT F3 FROM VOUCHER_LOG WHERE FLAG = '1')"; List> dataList = DataOperatorUtil.getDataBySql(tx, sql, null);// 将所有凭证号封装到list集合中 return dataList; } @@ -124,7 +125,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { String ACC_MONTH = null; // 会计期间/月 String tableName="VOUCHER_LOG"; // 表名 String insertSql=""; // 定义新增语句对象 - SqlObject sqlObject; // sqlObject对象 + SqlObject sqlObject=null; // sqlObject对象 Date time = new Date(); // 获取当前时间对象, 并格式化 SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss");// 年月日时分秒 SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 年月日时分秒 @@ -424,9 +425,10 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { } // 新增当条凭证信息如voucher_log表 insertSql="INSERT INTO VOUCHER_LOG(BILLID,F3,FLAG,CREATE_TIME) VALUES('"+str+"','"+F3+"','1','"+year_month_days+"')"; - sqlObject = new SqlObject(insertSql); - Sqlca.executeSQL(sqlObject); - logger.info("将当前数据传入记录表: "+insertSql); + //sqlObject = new SqlObject(insertSql); + //Sqlca.executeSQL(sqlObject); + Sqlca.executeSQL(insertSql); + logger.info("凭证记录表插入语句: "+insertSql); } String URL="//data//files//apzl_leasing//tmp//XZW//APleasing_VOUCHER_"+year_month_day+".xml"; //String URL="D:\\voucherXml_NC\\APleasing_VOUCHER_"+year_month_day+".xml"; @@ -455,7 +457,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { // 表名 String tableName="CUSTOMER_LOG"; String insertSql=""; // 定义新增语句对象 - SqlObject sqlObject; // sqlObject对象 + SqlObject sqlObject=null; // sqlObject对象 // 获取时间对象, 格式为--年月日时分秒 Date time = new Date(); // 获取当前时间对象, 并格式化 SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMddHHmmss");// 年月日时分秒 @@ -746,8 +748,9 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { // 将客户xml信息写入状态表中 insertSql="INSERT INTO CUSTOMER_LOG(BILLID,CUSTOMER_NUM,FLAG,CREATE_TIME) VALUES('"+str+"','"+customer_num+"','1','"+year_month_days+"')"; - sqlObject = new SqlObject(insertSql); - Sqlca.executeSQL(sqlObject); + //sqlObject = new SqlObject(insertSql); + //Sqlca.executeSQL(sqlObject); + Sqlca.executeSQL(insertSql); logger.info("客户记录语句: "+insertSql); } String URL="//data//files//apzl_leasing//tmp//XZW//APleasing_Customer_"+year_month_day+".xml"; @@ -791,7 +794,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { String DISTRIBUTORER=""; // 法人 String URL=""; // 网址 String insertSql=""; // 新增语句 - SqlObject sqlObject; // 创建sqlObject对象 + SqlObject sqlObject=null; // 创建sqlObject对象 String uuid=""; // uuid String MBAFC_EARLYDISBURSEMENT_TYPE="";// 资金类型/支付类型 // 获取时间对象, 格式为--年月日时分秒 @@ -812,7 +815,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { root.addAttribute("replace", "Y"); root.addAttribute("roottag", ""); root.addAttribute("sender", "001"); - String sql="SELECT DISTRIBUTOR_NAME,DISTRIBUTOR_CODING,DISTRIBUTOR_ADDRESS,FACT_ADDR,PROVINCES,POSTCODE,REGISTERED_ADDR,BUSINESS_SCOPE,SUBSIDIARY_COMPANY,TYPE,BUSINESS_LICENSE_NO,DISTRIBUTOR_STATUS,E_MAIL,FAX_NUMBER,REGISTERED_ASSET,DISTRIBUTORER,MBAFC_EARLYDISBURSEMENT_TYPE,URL,FLAG FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_CODING NOT IN(SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_LOG WHERE FLAG <>'1' ) "; + String sql="SELECT DISTRIBUTOR_NAME,DISTRIBUTOR_CODING,DISTRIBUTOR_ADDRESS,FACT_ADDR,PROVINCES,POSTCODE,REGISTERED_ADDR,BUSINESS_SCOPE,SUBSIDIARY_COMPANY,TYPE,BUSINESS_LICENSE_NO,DISTRIBUTOR_STATUS,E_MAIL,FAX_NUMBER,REGISTERED_ASSET,DISTRIBUTORER,MBAFC_EARLYDISBURSEMENT_TYPE,URL FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_CODING NOT IN(SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_LOG WHERE FLAG ='1' ) "; List> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null); for(int i=0; i> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null); for (Map map : rs) { contract_number=(map.get("CONTRACT_NUMBER")==null)?"":map.get("CONTRACT_NUMBER"); @@ -1041,8 +1045,8 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { memo.setText(""); // 将记录写入辅助合同日志表 insertSql="INSERT INTO SUBSIBIARY_CONTRACT_LOG(BILLID,CONTRACT_NUMBER,FLAG,CREATE_TIME) VALUES('"+uuid+"','"+contract_number+"','1','"+year_month_days+"')"; - sqlObject= new SqlObject(insertSql); - Sqlca.executeSQL(sqlObject); + //sqlObject= new SqlObject(insertSql); + Sqlca.executeSQL(insertSql); logger.info("辅助合同记录语句: " + insertSql); } String URL="//data//files//apzl_leasing//tmp//XZW//APleasing_Defdoc_"+year_month_day+".xml"; @@ -1102,8 +1106,9 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { xmlString += (char) c; } input.close(); - System.out.println("----" + xmlString); - + System.out.println("--------------------------" + xmlString); + String insertSql1="INSERT INTO test_log(id,NAME) VALUES('1','成功')"; + Sqlca.executeSQL(insertSql1); /** * 将获取到的回执信息生成本地xml */ @@ -1121,6 +1126,8 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { String resFile = "//data//files//apzl_leasing//tmp//WEN"+fmt.format(new Date())+".xml"; StreamResult result = new StreamResult(new File(resFile)); transformer.transform(source,result); + String insertSql="INSERT INTO test_log(id,NAME) VALUES('2','成功')"; + Sqlca.executeSQL(insertSql); /** * 解析xml, 根据回执信息更新状态 @@ -1149,8 +1156,8 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService { resultdescription = el.element("resultdescription").getStringValue();// 错误信息 //sql=" UPDATE "+tableName+" SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' "; sql=" UPDATE "+tableName+" SET FLAG='2',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' "; - updSql = new SqlObject(sql); - Sqlca.executeSQL(updSql); + //updSql = new SqlObject(sql); + Sqlca.executeSQL(sql); logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+sql); } }