Merge branch 'develop' of git@git2.tenwa.com.cn:ApzlDev/apzl_leasing.git into develop
This commit is contained in:
commit
0bab10a6b3
@ -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,30 @@ 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.ASResultSet;
|
||||
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 +76,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
|
||||
// 生成经销商信息xml文件
|
||||
DOM4JcreateToSupplier(Sqlca);
|
||||
// 生成辅助合同信息xml文件
|
||||
DOM4JcreateToDefdoc(Sqlca,list,map);
|
||||
DOM4JcreateToDefdoc(Sqlca);
|
||||
tx.commit();
|
||||
} catch (Exception e) {
|
||||
try {
|
||||
@ -93,7 +102,7 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
|
||||
*/
|
||||
private static List<Map<String, String>> 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 F3 NOT IN(SELECT F3 FROM VOUCHER_LOG WHERE FLAG = '1')";
|
||||
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(tx, sql, null);// 将所有凭证号封装到list集合中
|
||||
return dataList;
|
||||
}
|
||||
@ -103,9 +112,9 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
|
||||
*/
|
||||
private static void DOM4JcreateToVoucher(Transaction Sqlca,List<Map<String, String>>list, Map<String, String> 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 +123,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=null; // 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 +423,21 @@ 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);
|
||||
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";
|
||||
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 +447,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=null; // 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<Map<String, String>> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null);
|
||||
// 客户xml头
|
||||
Document document= DocumentHelper.createDocument(); // 生成每个xml的头
|
||||
@ -478,7 +492,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 +745,22 @@ 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);
|
||||
Sqlca.executeSQL(insertSql);
|
||||
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 +774,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 +793,16 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
|
||||
String REGISTERED_ASSET=""; // 注册资金
|
||||
String DISTRIBUTORER=""; // 法人
|
||||
String URL=""; // 网址
|
||||
String updateSql=""; // 修改语句
|
||||
String insertSql=""; // 新增语句
|
||||
SqlObject sqlObject=null; // 创建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 +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 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<Map<String, String>> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null);
|
||||
for(int i=0; i<rs.size();i++) {
|
||||
DISTRIBUTOR_NAME = rs.get(i).get("DISTRIBUTOR_NAME");
|
||||
@ -812,7 +838,8 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
|
||||
URL=rs.get(i).get("URL");
|
||||
region = NameManager.getItemName("AreaCode",DISTRIBUTOR_ADDRESS);
|
||||
Element bill = root.addElement("bill");
|
||||
bill.addAttribute("id","");
|
||||
uuid=UUID.randomUUID().toString().replace("-", "");
|
||||
bill.addAttribute("id",uuid);
|
||||
Element billhead = bill.addElement("billhead");
|
||||
Element pk_group = billhead.addElement("pk_group");// 所属集团,最大长度为20,类型为:String
|
||||
pk_group.setText("001");
|
||||
@ -937,6 +964,13 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
|
||||
/* updateSql="UPDATE DISTRIBUTOR_INFO SET FLAG='0' WHERE DISTRIBUTOR_CODING='"+DISTRIBUTOR_CODING+"'";
|
||||
SqlObject updSql=new SqlObject(updateSql);
|
||||
Sqlca.executeSQL(updSql);*/
|
||||
|
||||
// 像记录表添加数据
|
||||
insertSql="INSERT INTO DISTRIBUTOR_LOG(BILLID,DISTRIBUTOR_CODING,FLAG,CREATE_TIME) VALUES('"+uuid+"','"+DISTRIBUTOR_CODING+"','1','"+year_month_days+"')";
|
||||
//sqlObject = new SqlObject(insertSql);
|
||||
//Sqlca.executeSQL(sqlObject);
|
||||
Sqlca.executeSQL(insertSql);
|
||||
logger.info("经销商记录语句: "+ insertSql);
|
||||
}
|
||||
//String f="D:\\voucherXml_NC\\APleasing_Supplier_"+year_month_day+".xml";
|
||||
String f="//data//files//apzl_leasing//tmp//XZW//APleasing_Supplier_"+year_month_day+".xml";
|
||||
@ -945,32 +979,29 @@ public class VoucherSysJointNCServiceImpl implements VoucherSysJointNCService {
|
||||
writer.setEscapeText(false);// 字符是否转义,默认true
|
||||
writer.write(document);
|
||||
writer.close();
|
||||
InterActionToNC(Sqlca,f,tableName,flag,xmlId);
|
||||
InterActionToNC(Sqlca,f,tableName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 辅助合同xml
|
||||
* @throws Exception
|
||||
*/
|
||||
private static void DOM4JcreateToDefdoc(Transaction Sqlca,List<Map<String, String>>list, Map<String, String> 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=null;
|
||||
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 +1014,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<Map<String, String>> 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<Map<String, String>> rs = DataOperatorUtil.getDataBySql(Sqlca,sql,null);
|
||||
for (Map<String, String> 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(insertSql);
|
||||
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 +1096,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 = "";
|
||||
@ -1072,11 +1106,12 @@ 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
|
||||
*//*
|
||||
*/
|
||||
Document resDoc = DocumentHelper.parseText(xmlString);
|
||||
TransformerFactory tFactory = TransformerFactory.newInstance();
|
||||
Transformer transformer = tFactory.newTransformer();
|
||||
@ -1086,15 +1121,17 @@ 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);
|
||||
String insertSql="INSERT INTO test_log(id,NAME) VALUES('2','成功')";
|
||||
Sqlca.executeSQL(insertSql);
|
||||
|
||||
*//**
|
||||
/**
|
||||
* 解析xml, 根据回执信息更新状态
|
||||
*//*
|
||||
*/
|
||||
SAXReader sr = new SAXReader();
|
||||
Document doc = sr.read(resFile);
|
||||
Element root= doc.getRootElement();
|
||||
@ -1103,32 +1140,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<Element> list1 = root.elements();
|
||||
for (Element element : list1) {
|
||||
List<Element> 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+"' ";
|
||||
updSql = new SqlObject(sql);
|
||||
Sqlca.executeSQL(updSql);
|
||||
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(sql);
|
||||
logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
System.out.println("出现未知错误");
|
||||
logger.info("出现未知错误");
|
||||
}
|
||||
}else{
|
||||
System.out.println("未找到successful属性");
|
||||
} */
|
||||
logger.info("未找到successful属性");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user