凭证相关
This commit is contained in:
parent
f4c9b72897
commit
629fa6ed1c
@ -133,7 +133,6 @@
|
||||
var sparam=JSON.stringify(importCondition).replace(/,/g,"@");//生成模板的参数据
|
||||
AsDialog.PopView("/Tenwa/Core/OfficeTemplate/TemplateManager/BFTemplateTest/uploadExcel.jsp","importparam="+sparam,
|
||||
{width:"320px",height:"40px",title:"上传网银Excel"},function(){reloadSelf();});
|
||||
|
||||
}
|
||||
function ebankDownload(){
|
||||
var sId="2017060200000001";
|
||||
@ -158,6 +157,7 @@
|
||||
function newRecord(){
|
||||
var sUrl = "/Tenwa/Lease/App/Interface/Ebank/LCEbankInfo.jsp";
|
||||
AsControl.OpenView(sUrl,'','_self','');
|
||||
var res=RunJavaMethodTrans("com.tenwa.lease.app.ebank.EbankUse","createEbankVoucher","");
|
||||
}
|
||||
function viewAndEdit(){
|
||||
var sUrl = "/Tenwa/Lease/App/Interface/Ebank/LCEbankInfo.jsp";
|
||||
|
||||
@ -182,7 +182,7 @@
|
||||
<attribute name="XML_TYPE" label="用于区分xml类别" type="STRING" length="32"/>
|
||||
<attribute name="BATCH" label="批次号" type="STRING" length="32"/>
|
||||
<attribute name="TABLE_NUM" label="表数据编号" type="STRING" length="32"/>
|
||||
<attribute name="FLAG" label="状态" type="STRING" length="2"/>
|
||||
<attribute name="FLAG" label="状态" type="STRING" length="32"/>
|
||||
<attribute name="ERR_DESCRIBE" label="错误描述" type="STRING" length="65535"/>
|
||||
<attribute name="CREATE_TIME" label="新增时间" type="STRING" length="32"/>
|
||||
</attributes>
|
||||
@ -192,6 +192,23 @@
|
||||
</managerProperties>
|
||||
</manager>
|
||||
</class>
|
||||
<class name="NCXML_TOTAL_RECORDS" label="回执信息总记录" keyAttributes="ID">
|
||||
<attributes>
|
||||
<attribute name="ID" label="主键ID" type="STRING" length="32"/>
|
||||
<attribute name="BATCH" label="批次号" type="STRING" length="32"/>
|
||||
<attribute name="XML_TYPE" label="类别" type="STRING" length="32"/>
|
||||
<attribute name="FLAG_" label="状态" type="STRING" length="32"/>
|
||||
<attribute name="COUNT_" label="总数" type="STRING" length="4"/>
|
||||
<attribute name="FAILED_COUNT" label="失败总数" type="STRING" length="4"/>
|
||||
<attribute name="ERR_DESCRIBE" label="错误信息" type="STRING" length="65535"/>
|
||||
<attribute name="CREATETIME" label="记录时间" type="STRING" length="32"/>
|
||||
</attributes>
|
||||
<manager>
|
||||
<managerProperties>
|
||||
<property name="table" value="ncxml_total_records" />
|
||||
</managerProperties>
|
||||
</manager>
|
||||
</class>
|
||||
</package>
|
||||
|
||||
</jbo>
|
||||
|
||||
@ -209,7 +209,7 @@ public class CreateVoucherLoanDistributor {
|
||||
}else if("PZ2018071000000007".equals(VOUCHERNO)||"PZ2018080300000072".equals(VOUCHERNO)){// 收取客户手续费
|
||||
param.put("CASHFLOW", "");// 现金流项目
|
||||
param.put("BUSINESSTYPE", "0604");
|
||||
}else if("PZ2018070900000002".equals(VOUCHERNO)||"PZ2018072400000060".equals(VOUCHERNO)){// ¹ºÖÃÈÚ×Ê×âÁÞ×ʲú
|
||||
}else if("PZ2018070900000002".equals(VOUCHERNO)||"PZ2018072400000060".equals(VOUCHERNO) || "PZ2018073100000062".equals(VOUCHERNO)){// ¹ºÖÃÈÚ×Ê×âÁÞ×ʲú
|
||||
if(cust_list != null) {// 集团内
|
||||
param.put("CASHFLOW", "11212");// 现金流项目
|
||||
}else {// 集团外
|
||||
|
||||
@ -21,7 +21,7 @@ public class ContractOnhireVoucher extends BaseBussiness {
|
||||
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018070900000002");// ¹ºÖÃÈÚ×Ê×âÁÞ×ʲú-»Ø
|
||||
|
||||
cvld.CreateVoucher(FlowUnid, "PZ2018073100000062");// 购置融资租赁资产-回--第一车贷
|
||||
// cvld.CreateVoucher(FlowUnid, "PZ2018073100000062");// 购置融资租赁资产-回--第一车贷
|
||||
|
||||
//cvld.CreateVoucher(FlowUnid, "PZ2018122000000010");// ¹ºÖÃÈÚ×Ê×âÁÞ×ʲú-»Ø
|
||||
//cvld.CreateVoucher(FlowUnid, "PZ2018072400000060");// ¹ºÖÃÈÚ×Ê×âÁÞ×ʲú-Ö±
|
||||
|
||||
@ -401,6 +401,14 @@ public class CreateVoucherServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
// 起租-第一车贷, 购置融资租赁资产带固定编码
|
||||
if("PZ2018073100000062".equals(VOUCHERNO)) {
|
||||
if("3".equals(SORT_NUMBER)) {
|
||||
subData.put("CUSTID","020132");//经销商id
|
||||
subData.put("CUSTNAME","上海锋之行汽车金融信息服务有限公司");//经销商名称
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 提前结清带虚拟客户名称编码
|
||||
*/
|
||||
|
||||
@ -16,6 +16,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
@ -74,14 +76,14 @@ public class VoucherToNCforAssistContract implements Job{
|
||||
// 生成xml头
|
||||
Document document = DocumentHelper.createDocument(); // 生成每个xml的头
|
||||
Element root = document.addElement("ufinterface");
|
||||
root.addAttribute("account","BQ1217");
|
||||
root.addAttribute("billtype","defdoc(自定义档案)");
|
||||
root.addAttribute("account","bq1217");
|
||||
root.addAttribute("billtype","defdoc");
|
||||
root.addAttribute("businessunitcode","");
|
||||
root.addAttribute("filename","");
|
||||
root.addAttribute("groupcode","06");
|
||||
root.addAttribute("isexchange","Y");
|
||||
root.addAttribute("orgcode","");
|
||||
root.addAttribute("receiver","接收方业务单元编码");
|
||||
root.addAttribute("receiver","807001002001");
|
||||
root.addAttribute("replace","Y");
|
||||
root.addAttribute("roottag","");
|
||||
root.addAttribute("sender","001");
|
||||
@ -103,7 +105,7 @@ public class VoucherToNCforAssistContract implements Job{
|
||||
Element pk_group = billhead.addElement("pk_group");// 所属集团,最大长度为20,类型为:String
|
||||
pk_group.setText("06");
|
||||
Element pk_org = billhead.addElement("pk_org");// 所属组织,最大长度为20,类型为:String
|
||||
pk_org.setText("安鹏租赁业务单元编码");
|
||||
pk_org.setText("807001002001");
|
||||
Element code = billhead.addElement("code");// 档案编码,最大长度为40,类型为:String
|
||||
code.setText(contract_number);
|
||||
Element name = billhead.addElement("name");// 档案名称,最大长度为200,类型为:String
|
||||
@ -121,14 +123,14 @@ public class VoucherToNCforAssistContract implements Job{
|
||||
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";
|
||||
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,type,batch,rs.size());
|
||||
InterActionToNC(Sqlca,URL,type,batch,rs.size());
|
||||
Sqlca.commit();
|
||||
}
|
||||
QuartzUtil.insertLog(plan_date,"com.tenwa.voucher.serviceImp.VoucherToNCforAssistContract", "success", "成功",curUserId);
|
||||
@ -155,20 +157,20 @@ public class VoucherToNCforAssistContract implements Job{
|
||||
/**
|
||||
* 像NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
|
||||
*/
|
||||
public static void InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count) {
|
||||
try {
|
||||
public static String InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count) throws Exception {
|
||||
String updateSql = ""; // 更新sql对象
|
||||
String insertSql = ""; // 新增SQL对象
|
||||
String deleteSql = ""; // 删除SQL对象
|
||||
String resultcode= ""; // 单条返回结果
|
||||
String bdocid = ""; // xml回执id
|
||||
String resultdescription=""; //错误信息
|
||||
String returns="true";
|
||||
|
||||
/**
|
||||
* 获取对方post连接
|
||||
*/
|
||||
//String url = "http://47.93.227.86:8858/service/XChangeServlet?account=q0225&groupcode=001";
|
||||
String url = "http://172.16.0.88:9990/service/XChangeServlet?account=BQ1217&groupcode=06";
|
||||
String url = "http://172.16.0.88:9990/service/XChangeServlet?account=bq1217&groupcode=06";
|
||||
URL realURL = new URL(url);
|
||||
HttpURLConnection connection = (HttpURLConnection)realURL.openConnection();
|
||||
connection.setDoOutput(true);
|
||||
@ -180,30 +182,39 @@ public class VoucherToNCforAssistContract implements Job{
|
||||
*/
|
||||
File file = new File(inputURL);
|
||||
BufferedOutputStream out = new BufferedOutputStream(connection.getOutputStream());
|
||||
BufferedInputStream input = new BufferedInputStream(new FileInputStream(file));
|
||||
int length;
|
||||
byte[] buffer = new byte[1000];
|
||||
while ((length = input.read(buffer, 0, 1000)) != -1) {
|
||||
out.write(buffer, 0, length);
|
||||
BufferedReader reader = new BufferedReader (new InputStreamReader(new FileInputStream(file),"UTF-8"));
|
||||
String xml="";
|
||||
String ss=null;
|
||||
while((ss=reader.readLine()) != null) {
|
||||
xml+=ss;
|
||||
xml+="\r\n";
|
||||
out.write(ss.getBytes());
|
||||
}
|
||||
input.close();
|
||||
System.out.println(xml);
|
||||
reader.close();
|
||||
out.close();
|
||||
|
||||
/**
|
||||
* 获取NC回执信息
|
||||
*/
|
||||
InputStream inputStream = connection.getInputStream();
|
||||
InputStreamReader isr = new InputStreamReader(inputStream);
|
||||
InputStreamReader isr = new InputStreamReader(inputStream,"UTF-8");
|
||||
BufferedReader bufreader = new BufferedReader(isr);
|
||||
String xmlString = "";
|
||||
int c;
|
||||
String b=null;
|
||||
while((b=bufreader.readLine()) !=null) {
|
||||
xmlString+=b;
|
||||
xmlString+="\r\n";
|
||||
}
|
||||
System.out.println(xmlString);
|
||||
bufreader.close();
|
||||
/* int c;
|
||||
while ((c = bufreader.read()) != -1) {
|
||||
System.out.print((char) c);
|
||||
xmlString += (char) c;
|
||||
}
|
||||
input.close();
|
||||
}*/
|
||||
//input.close();
|
||||
System.out.println("--------------------------" + xmlString);
|
||||
|
||||
/**
|
||||
* 将获取到的回执信息生成本地xml
|
||||
*/
|
||||
@ -211,7 +222,7 @@ public class VoucherToNCforAssistContract implements Job{
|
||||
TransformerFactory tFactory = TransformerFactory.newInstance();
|
||||
Transformer transformer = tFactory.newTransformer();
|
||||
DocumentSource source = new DocumentSource(resDoc);
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
|
||||
//设置文档的换行与缩进
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "YES");
|
||||
|
||||
@ -221,13 +232,14 @@ public class VoucherToNCforAssistContract implements Job{
|
||||
// File file2 = new File("D:\\VOUCHER_RECEIPT");
|
||||
// if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹
|
||||
String resFile = "//data//files//apzl_leasing//tmp//WEN//APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
// String resFile = "D:\\VOUCHER_RECEIPT\\APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
//String resFile = "D:\\VOUCHER_RECEIPT\\APleasing_"+type+""+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();
|
||||
@ -235,14 +247,30 @@ public class VoucherToNCforAssistContract implements Job{
|
||||
String resSuc = root.attributeValue("successful");
|
||||
//后面对回执结果做判断,然后改变导入状态就行了
|
||||
if(null != resSuc){
|
||||
if(resSuc.equals("N")){
|
||||
if("N".equals(resSuc)){
|
||||
logger.info("导入失败");
|
||||
// 导入失败, 将本次在明细表中存储的数据删除
|
||||
deleteSql = "DELETE FROM NCXML_DETAIL_RECORDS WHERE BATCH='"+batch+"' AND XML_TYPE = '"+type+"'";
|
||||
// 导入失败, 将失败数据记录入总记录表
|
||||
insertSql = "INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','0','"+count+"','"+formatter2.format(new Date())+"')";
|
||||
List<Element> list = root.elements();
|
||||
for (Element element : list) {
|
||||
String names = element.getName();
|
||||
String value = element.getStringValue();
|
||||
List<Element> list2 = element.elements();
|
||||
for (Element el : list2) {
|
||||
String s = el.getName();
|
||||
if("resultcode".equals(s)) {
|
||||
resultcode = el.getStringValue();
|
||||
}
|
||||
if("resultdescription".equals(s)) {
|
||||
resultdescription = el.getStringValue();
|
||||
}
|
||||
}
|
||||
insertSql = "INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,ERR_DESCRIBE,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+count+"','"+resultdescription+"','"+formatter2.format(new Date())+"')";
|
||||
}
|
||||
Sqlca.executeSQL(deleteSql);
|
||||
Sqlca.executeSQL(insertSql);
|
||||
returns="false";
|
||||
}else if(resSuc.equals("Y")){
|
||||
logger.info("导入成功");
|
||||
List<Element> list = root.elements();
|
||||
@ -250,33 +278,38 @@ public class VoucherToNCforAssistContract implements Job{
|
||||
for (Element element : list) {
|
||||
List<Element> list2 = element.elements();
|
||||
for (Element el : list2) {
|
||||
logger.info("111111111111111111");
|
||||
String s = el.getName();
|
||||
// 获取单条回执状态
|
||||
resultcode = el.element("resultcode").getStringValue();
|
||||
if(!"1".equals(resultcode)) {
|
||||
logger.info("22222222222222");
|
||||
bdocid = el.element("bdocid").getStringValue(); // xml回执id
|
||||
resultdescription = el.element("resultdescription").getStringValue(); // 错误信息
|
||||
|
||||
// 如果回执状态不等于1, 说明有误, 更新到记录字表并记录错误信息
|
||||
updateSql=" UPDATE NCXML_DETAIL_RECORDS SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' AND XML_TYPE= '"+type+"'";
|
||||
Sqlca.executeSQL(updateSql);
|
||||
logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+updateSql);
|
||||
failed_count++;
|
||||
if("resultcode".equals(s)) {
|
||||
resultcode = el.getStringValue();
|
||||
}
|
||||
// xml回执id
|
||||
if("bdocid".equals(s)) {
|
||||
bdocid = el.getStringValue();
|
||||
}
|
||||
// 错误信息
|
||||
if("resultdescription".equals(s)) {
|
||||
resultdescription = el.getStringValue();
|
||||
}
|
||||
}
|
||||
|
||||
if(!"1".equals(resultcode)) {
|
||||
// 如果回执状态不等于1, 说明有误, 更新到记录字表并记录错误信息
|
||||
updateSql=" UPDATE NCXML_DETAIL_RECORDS SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' AND XML_TYPE= '"+type+"'";
|
||||
Sqlca.executeSQL(updateSql);
|
||||
logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+updateSql);
|
||||
failed_count++;
|
||||
}
|
||||
}
|
||||
// 将本批次传输总量及 失败数量记录入记录总表
|
||||
String insertSql1="INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+failed_count+"','"+formatter2.format(new Date())+"')";
|
||||
String insertSql1="INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,ERR_DESCRIBE,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+failed_count+"','"+resultdescription+"','"+formatter2.format(new Date())+"')";
|
||||
Sqlca.executeSQL(insertSql1);
|
||||
}else{
|
||||
logger.info("出现未知错误");
|
||||
}
|
||||
}else{
|
||||
logger.info("未找到successful属性");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return returns;
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,14 +78,14 @@ public class VoucherToNCforCustomer implements Job{
|
||||
// 生成xml头
|
||||
Document document= DocumentHelper.createDocument();
|
||||
Element root = document.addElement("ufinterface");
|
||||
root.addAttribute("account", "BQ1217");
|
||||
root.addAttribute("billtype", "customer(客户)");
|
||||
root.addAttribute("account", "bq1217");
|
||||
root.addAttribute("billtype", "customer");
|
||||
root.addAttribute("businessunitcode", "develop");
|
||||
root.addAttribute("filename", "");
|
||||
root.addAttribute("groupcode", "06");
|
||||
root.addAttribute("isexchange", "Y");
|
||||
root.addAttribute("orgcode", "");
|
||||
root.addAttribute("receiver", "接收方业务单元编码");
|
||||
root.addAttribute("receiver", "807001002001");
|
||||
root.addAttribute("replace", "Y");
|
||||
root.addAttribute("roottag", "");
|
||||
root.addAttribute("sender", "kh01");
|
||||
@ -105,7 +105,7 @@ public class VoucherToNCforCustomer implements Job{
|
||||
Element pk_group = billhead.addElement("pk_group"); // 所属集团,最大长度为20,类型为:String
|
||||
pk_group.setText("06");
|
||||
Element pk_org = billhead.addElement("pk_org"); // 所属组织,最大长度为20,类型为:String
|
||||
pk_org.setText("安鹏租赁业务单元编码");
|
||||
pk_org.setText("807001002001");
|
||||
Element code = billhead.addElement("code"); // 客户编码,最大长度为40,类型为:String
|
||||
code.setText((customer_num==null)?"":customer_num);
|
||||
Element name = billhead.addElement("name"); // 客户名称,最大长度为200,类型为:String
|
||||
@ -176,14 +176,14 @@ public class VoucherToNCforCustomer implements Job{
|
||||
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";
|
||||
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,type,batch,rs.size());
|
||||
InterActionToNC(Sqlca,URL,type,batch,rs.size());
|
||||
Sqlca.commit();
|
||||
QuartzUtil.insertLog(plan_date,"com.tenwa.voucher.serviceImp.VoucherToNCforCustomer", "success", "成功",curUserId);
|
||||
}
|
||||
@ -210,20 +210,20 @@ public class VoucherToNCforCustomer implements Job{
|
||||
/**
|
||||
* 像NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
|
||||
*/
|
||||
public static void InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count) {
|
||||
try {
|
||||
public static String InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count) throws Exception {
|
||||
String updateSql = ""; // 更新sql对象
|
||||
String insertSql = ""; // 新增SQL对象
|
||||
String deleteSql = ""; // 删除SQL对象
|
||||
String resultcode= ""; // 单条返回结果
|
||||
String bdocid = ""; // xml回执id
|
||||
String resultdescription=""; //错误信息
|
||||
String returns="true";
|
||||
|
||||
/**
|
||||
* 获取对方post连接
|
||||
*/
|
||||
//String url = "http://47.93.227.86:8858/service/XChangeServlet?account=q0225&groupcode=001";
|
||||
String url = "http://172.16.0.88:9990/service/XChangeServlet?account=BQ1217&groupcode=06";
|
||||
String url = "http://172.16.0.88:9990/service/XChangeServlet?account=bq1217&groupcode=06";
|
||||
URL realURL = new URL(url);
|
||||
HttpURLConnection connection = (HttpURLConnection)realURL.openConnection();
|
||||
connection.setDoOutput(true);
|
||||
@ -235,30 +235,39 @@ public class VoucherToNCforCustomer implements Job{
|
||||
*/
|
||||
File file = new File(inputURL);
|
||||
BufferedOutputStream out = new BufferedOutputStream(connection.getOutputStream());
|
||||
BufferedInputStream input = new BufferedInputStream(new FileInputStream(file));
|
||||
int length;
|
||||
byte[] buffer = new byte[1000];
|
||||
while ((length = input.read(buffer, 0, 1000)) != -1) {
|
||||
out.write(buffer, 0, length);
|
||||
BufferedReader reader = new BufferedReader (new InputStreamReader(new FileInputStream(file),"UTF-8"));
|
||||
String xml="";
|
||||
String ss=null;
|
||||
while((ss=reader.readLine()) != null) {
|
||||
xml+=ss;
|
||||
xml+="\r\n";
|
||||
out.write(ss.getBytes());
|
||||
}
|
||||
input.close();
|
||||
System.out.println(xml);
|
||||
reader.close();
|
||||
out.close();
|
||||
|
||||
/**
|
||||
* 获取NC回执信息
|
||||
*/
|
||||
InputStream inputStream = connection.getInputStream();
|
||||
InputStreamReader isr = new InputStreamReader(inputStream);
|
||||
InputStreamReader isr = new InputStreamReader(inputStream,"UTF-8");
|
||||
BufferedReader bufreader = new BufferedReader(isr);
|
||||
String xmlString = "";
|
||||
int c;
|
||||
String b=null;
|
||||
while((b=bufreader.readLine()) !=null) {
|
||||
xmlString+=b;
|
||||
xmlString+="\r\n";
|
||||
}
|
||||
System.out.println(xmlString);
|
||||
bufreader.close();
|
||||
/* int c;
|
||||
while ((c = bufreader.read()) != -1) {
|
||||
System.out.print((char) c);
|
||||
xmlString += (char) c;
|
||||
}
|
||||
input.close();
|
||||
}*/
|
||||
//input.close();
|
||||
System.out.println("--------------------------" + xmlString);
|
||||
|
||||
/**
|
||||
* 将获取到的回执信息生成本地xml
|
||||
*/
|
||||
@ -266,7 +275,7 @@ public class VoucherToNCforCustomer implements Job{
|
||||
TransformerFactory tFactory = TransformerFactory.newInstance();
|
||||
Transformer transformer = tFactory.newTransformer();
|
||||
DocumentSource source = new DocumentSource(resDoc);
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
|
||||
//设置文档的换行与缩进
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "YES");
|
||||
|
||||
@ -276,13 +285,14 @@ public class VoucherToNCforCustomer implements Job{
|
||||
// File file2 = new File("D:\\VOUCHER_RECEIPT");
|
||||
// if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹
|
||||
String resFile = "//data//files//apzl_leasing//tmp//WEN//APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
// String resFile = "D:\\VOUCHER_RECEIPT\\APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
//String resFile = "D:\\VOUCHER_RECEIPT\\APleasing_"+type+""+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();
|
||||
@ -290,14 +300,30 @@ public class VoucherToNCforCustomer implements Job{
|
||||
String resSuc = root.attributeValue("successful");
|
||||
//后面对回执结果做判断,然后改变导入状态就行了
|
||||
if(null != resSuc){
|
||||
if(resSuc.equals("N")){
|
||||
if("N".equals(resSuc)){
|
||||
logger.info("导入失败");
|
||||
// 导入失败, 将本次在明细表中存储的数据删除
|
||||
deleteSql = "DELETE FROM NCXML_DETAIL_RECORDS WHERE BATCH='"+batch+"' AND XML_TYPE = '"+type+"'";
|
||||
// 导入失败, 将失败数据记录入总记录表
|
||||
insertSql = "INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','0','"+count+"','"+formatter2.format(new Date())+"')";
|
||||
List<Element> list = root.elements();
|
||||
for (Element element : list) {
|
||||
String names = element.getName();
|
||||
String value = element.getStringValue();
|
||||
List<Element> list2 = element.elements();
|
||||
for (Element el : list2) {
|
||||
String s = el.getName();
|
||||
if("resultcode".equals(s)) {
|
||||
resultcode = el.getStringValue();
|
||||
}
|
||||
if("resultdescription".equals(s)) {
|
||||
resultdescription = el.getStringValue();
|
||||
}
|
||||
}
|
||||
insertSql = "INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,ERR_DESCRIBE,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+count+"','"+resultdescription+"','"+formatter2.format(new Date())+"')";
|
||||
}
|
||||
Sqlca.executeSQL(deleteSql);
|
||||
Sqlca.executeSQL(insertSql);
|
||||
returns="false";
|
||||
}else if(resSuc.equals("Y")){
|
||||
logger.info("导入成功");
|
||||
List<Element> list = root.elements();
|
||||
@ -305,34 +331,38 @@ public class VoucherToNCforCustomer implements Job{
|
||||
for (Element element : list) {
|
||||
List<Element> list2 = element.elements();
|
||||
for (Element el : list2) {
|
||||
logger.info("111111111111111111");
|
||||
String s = el.getName();
|
||||
// 获取单条回执状态
|
||||
resultcode = el.element("resultcode").getStringValue();
|
||||
if(!"1".equals(resultcode)) {
|
||||
logger.info("22222222222222");
|
||||
bdocid = el.element("bdocid").getStringValue(); // xml回执id
|
||||
resultdescription = el.element("resultdescription").getStringValue(); // 错误信息
|
||||
|
||||
// 如果回执状态不等于1, 说明有误, 更新到记录字表并记录错误信息
|
||||
updateSql=" UPDATE NCXML_DETAIL_RECORDS SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' AND XML_TYPE= '"+type+"'";
|
||||
Sqlca.executeSQL(updateSql);
|
||||
logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+updateSql);
|
||||
failed_count++;
|
||||
if("resultcode".equals(s)) {
|
||||
resultcode = el.getStringValue();
|
||||
}
|
||||
// xml回执id
|
||||
if("bdocid".equals(s)) {
|
||||
bdocid = el.getStringValue();
|
||||
}
|
||||
// 错误信息
|
||||
if("resultdescription".equals(s)) {
|
||||
resultdescription = el.getStringValue();
|
||||
}
|
||||
}
|
||||
|
||||
if(!"1".equals(resultcode)) {
|
||||
// 如果回执状态不等于1, 说明有误, 更新到记录字表并记录错误信息
|
||||
updateSql=" UPDATE NCXML_DETAIL_RECORDS SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' AND XML_TYPE= '"+type+"'";
|
||||
Sqlca.executeSQL(updateSql);
|
||||
logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+updateSql);
|
||||
failed_count++;
|
||||
}
|
||||
}
|
||||
// 将本批次传输总量及 失败数量记录入记录总表
|
||||
String insertSql1="INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+failed_count+"','"+formatter2.format(new Date())+"')";
|
||||
String insertSql1="INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,ERR_DESCRIBE,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+failed_count+"','"+resultdescription+"','"+formatter2.format(new Date())+"')";
|
||||
Sqlca.executeSQL(insertSql1);
|
||||
}else{
|
||||
logger.info("出现未知错误");
|
||||
}
|
||||
}else{
|
||||
logger.info("未找到successful属性");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return returns;
|
||||
}
|
||||
|
||||
}
|
||||
@ -94,12 +94,12 @@ public class VoucherToNCforDistributor implements Job{
|
||||
// 设置xml标签头
|
||||
Document document = DocumentHelper.createDocument();
|
||||
Element root = document.addElement("ufinterface");
|
||||
root.addAttribute("account", "BQ1217");
|
||||
root.addAttribute("billtype", "supplier(供应商)");
|
||||
root.addAttribute("account", "bq1217");
|
||||
root.addAttribute("billtype", "supplier");
|
||||
root.addAttribute("filename", "");
|
||||
root.addAttribute("groupcode", "06");
|
||||
root.addAttribute("isexchange", "Y");
|
||||
root.addAttribute("receiver", "接收方业务单元编码");
|
||||
root.addAttribute("receiver", "807001002001");
|
||||
root.addAttribute("replace", "Y");
|
||||
root.addAttribute("roottag", "");
|
||||
root.addAttribute("sender", "gys01");
|
||||
@ -135,7 +135,7 @@ public class VoucherToNCforDistributor implements Job{
|
||||
Element pk_group = billhead.addElement("pk_group"); // 所属集团,最大长度为20,类型为:String
|
||||
pk_group.setText("06");
|
||||
Element pk_org = billhead.addElement("pk_org"); // 所属组织,最大长度为20,类型为:String
|
||||
pk_org.setText("安鹏租赁业务单元编码");
|
||||
pk_org.setText("807001002001");
|
||||
Element code = billhead.addElement("code"); // 供应商编号,最大长度为40,类型为:String
|
||||
code.setText((DISTRIBUTOR_CODING==null)?"":DISTRIBUTOR_CODING);
|
||||
Element name = billhead.addElement("name"); // 供应商名称,最大长度为200,类型为:String
|
||||
@ -264,14 +264,14 @@ public class VoucherToNCforDistributor implements Job{
|
||||
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";
|
||||
// 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";
|
||||
file=new File(f);
|
||||
writer = new XMLWriter(new FileOutputStream(file), OutputFormat.createPrettyPrint());
|
||||
writer.setEscapeText(false);// 字符是否转义,默认true
|
||||
writer.write(document);
|
||||
writer.close();
|
||||
// InterActionToNC(Sqlca,f,type,batch,rs.size());
|
||||
InterActionToNC(Sqlca,f,type,batch,rs.size());
|
||||
Sqlca.commit();
|
||||
QuartzUtil.insertLog(plan_date,"com.tenwa.voucher.serviceImp.VoucherToNCforDistributor", "success", "成功",curUserId);
|
||||
}
|
||||
@ -299,20 +299,20 @@ public class VoucherToNCforDistributor implements Job{
|
||||
/**
|
||||
* 像NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
|
||||
*/
|
||||
public static void InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count) {
|
||||
try {
|
||||
public static String InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count) throws Exception {
|
||||
String updateSql = ""; // 更新sql对象
|
||||
String insertSql = ""; // 新增SQL对象
|
||||
String deleteSql = ""; // 删除SQL对象
|
||||
String resultcode= ""; // 单条返回结果
|
||||
String bdocid = ""; // xml回执id
|
||||
String resultdescription=""; //错误信息
|
||||
String returns="true";
|
||||
|
||||
/**
|
||||
* 获取对方post连接
|
||||
*/
|
||||
//String url = "http://47.93.227.86:8858/service/XChangeServlet?account=q0225&groupcode=001";
|
||||
String url = "http://172.16.0.88:9990/service/XChangeServlet?account=BQ1217&groupcode=06";
|
||||
String url = "http://172.16.0.88:9990/service/XChangeServlet?account=bq1217&groupcode=06";
|
||||
URL realURL = new URL(url);
|
||||
HttpURLConnection connection = (HttpURLConnection)realURL.openConnection();
|
||||
connection.setDoOutput(true);
|
||||
@ -324,30 +324,39 @@ public class VoucherToNCforDistributor implements Job{
|
||||
*/
|
||||
File file = new File(inputURL);
|
||||
BufferedOutputStream out = new BufferedOutputStream(connection.getOutputStream());
|
||||
BufferedInputStream input = new BufferedInputStream(new FileInputStream(file));
|
||||
int length;
|
||||
byte[] buffer = new byte[1000];
|
||||
while ((length = input.read(buffer, 0, 1000)) != -1) {
|
||||
out.write(buffer, 0, length);
|
||||
BufferedReader reader = new BufferedReader (new InputStreamReader(new FileInputStream(file),"UTF-8"));
|
||||
String xml="";
|
||||
String ss=null;
|
||||
while((ss=reader.readLine()) != null) {
|
||||
xml+=ss;
|
||||
xml+="\r\n";
|
||||
out.write(ss.getBytes());
|
||||
}
|
||||
input.close();
|
||||
System.out.println(xml);
|
||||
reader.close();
|
||||
out.close();
|
||||
|
||||
/**
|
||||
* 获取NC回执信息
|
||||
*/
|
||||
InputStream inputStream = connection.getInputStream();
|
||||
InputStreamReader isr = new InputStreamReader(inputStream);
|
||||
InputStreamReader isr = new InputStreamReader(inputStream,"UTF-8");
|
||||
BufferedReader bufreader = new BufferedReader(isr);
|
||||
String xmlString = "";
|
||||
int c;
|
||||
String b=null;
|
||||
while((b=bufreader.readLine()) !=null) {
|
||||
xmlString+=b;
|
||||
xmlString+="\r\n";
|
||||
}
|
||||
System.out.println(xmlString);
|
||||
bufreader.close();
|
||||
/* int c;
|
||||
while ((c = bufreader.read()) != -1) {
|
||||
System.out.print((char) c);
|
||||
xmlString += (char) c;
|
||||
}
|
||||
input.close();
|
||||
}*/
|
||||
//input.close();
|
||||
System.out.println("--------------------------" + xmlString);
|
||||
|
||||
/**
|
||||
* 将获取到的回执信息生成本地xml
|
||||
*/
|
||||
@ -355,7 +364,7 @@ public class VoucherToNCforDistributor implements Job{
|
||||
TransformerFactory tFactory = TransformerFactory.newInstance();
|
||||
Transformer transformer = tFactory.newTransformer();
|
||||
DocumentSource source = new DocumentSource(resDoc);
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
|
||||
//设置文档的换行与缩进
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "YES");
|
||||
|
||||
@ -365,13 +374,14 @@ public class VoucherToNCforDistributor implements Job{
|
||||
// File file2 = new File("D:\\VOUCHER_RECEIPT");
|
||||
// if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹
|
||||
String resFile = "//data//files//apzl_leasing//tmp//WEN//APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
// String resFile = "D:\\VOUCHER_RECEIPT\\APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
//String resFile = "D:\\VOUCHER_RECEIPT\\APleasing_"+type+""+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();
|
||||
@ -379,14 +389,30 @@ public class VoucherToNCforDistributor implements Job{
|
||||
String resSuc = root.attributeValue("successful");
|
||||
//后面对回执结果做判断,然后改变导入状态就行了
|
||||
if(null != resSuc){
|
||||
if(resSuc.equals("N")){
|
||||
if("N".equals(resSuc)){
|
||||
logger.info("导入失败");
|
||||
// 导入失败, 将本次在明细表中存储的数据删除
|
||||
deleteSql = "DELETE FROM NCXML_DETAIL_RECORDS WHERE BATCH='"+batch+"' AND XML_TYPE = '"+type+"'";
|
||||
// 导入失败, 将失败数据记录入总记录表
|
||||
insertSql = "INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','0','"+count+"','"+formatter2.format(new Date())+"')";
|
||||
List<Element> list = root.elements();
|
||||
for (Element element : list) {
|
||||
String names = element.getName();
|
||||
String value = element.getStringValue();
|
||||
List<Element> list2 = element.elements();
|
||||
for (Element el : list2) {
|
||||
String s = el.getName();
|
||||
if("resultcode".equals(s)) {
|
||||
resultcode = el.getStringValue();
|
||||
}
|
||||
if("resultdescription".equals(s)) {
|
||||
resultdescription = el.getStringValue();
|
||||
}
|
||||
}
|
||||
insertSql = "INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,ERR_DESCRIBE,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+count+"','"+resultdescription+"','"+formatter2.format(new Date())+"')";
|
||||
}
|
||||
Sqlca.executeSQL(deleteSql);
|
||||
Sqlca.executeSQL(insertSql);
|
||||
returns="false";
|
||||
}else if(resSuc.equals("Y")){
|
||||
logger.info("导入成功");
|
||||
List<Element> list = root.elements();
|
||||
@ -394,33 +420,38 @@ public class VoucherToNCforDistributor implements Job{
|
||||
for (Element element : list) {
|
||||
List<Element> list2 = element.elements();
|
||||
for (Element el : list2) {
|
||||
logger.info("111111111111111111");
|
||||
String s = el.getName();
|
||||
// 获取单条回执状态
|
||||
resultcode = el.element("resultcode").getStringValue();
|
||||
if(!"1".equals(resultcode)) {
|
||||
logger.info("22222222222222");
|
||||
bdocid = el.element("bdocid").getStringValue(); // xml回执id
|
||||
resultdescription = el.element("resultdescription").getStringValue(); // 错误信息
|
||||
|
||||
// 如果回执状态不等于1, 说明有误, 更新到记录字表并记录错误信息
|
||||
updateSql=" UPDATE NCXML_DETAIL_RECORDS SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' AND XML_TYPE= '"+type+"'";
|
||||
Sqlca.executeSQL(updateSql);
|
||||
logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+updateSql);
|
||||
failed_count++;
|
||||
if("resultcode".equals(s)) {
|
||||
resultcode = el.getStringValue();
|
||||
}
|
||||
// xml回执id
|
||||
if("bdocid".equals(s)) {
|
||||
bdocid = el.getStringValue();
|
||||
}
|
||||
// 错误信息
|
||||
if("resultdescription".equals(s)) {
|
||||
resultdescription = el.getStringValue();
|
||||
}
|
||||
}
|
||||
|
||||
if(!"1".equals(resultcode)) {
|
||||
// 如果回执状态不等于1, 说明有误, 更新到记录字表并记录错误信息
|
||||
updateSql=" UPDATE NCXML_DETAIL_RECORDS SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' AND XML_TYPE= '"+type+"'";
|
||||
Sqlca.executeSQL(updateSql);
|
||||
logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+updateSql);
|
||||
failed_count++;
|
||||
}
|
||||
}
|
||||
// 将本批次传输总量及 失败数量记录入记录总表
|
||||
String insertSql1="INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+failed_count+"','"+formatter2.format(new Date())+"')";
|
||||
String insertSql1="INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,ERR_DESCRIBE,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+failed_count+"','"+resultdescription+"','"+formatter2.format(new Date())+"')";
|
||||
Sqlca.executeSQL(insertSql1);
|
||||
}else{
|
||||
logger.info("出现未知错误");
|
||||
}
|
||||
}else{
|
||||
logger.info("未找到successful属性");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return returns;
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,31 +38,30 @@ import com.amarsoft.are.jbo.JBOTransaction;
|
||||
import com.amarsoft.are.log.Log;
|
||||
import com.amarsoft.awe.util.Transaction;
|
||||
import com.base.util.QuartzUtil;
|
||||
import com.itextpdf.text.log.SysoCounter;
|
||||
import com.tenwa.comm.util.date.DateAssistant;
|
||||
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
|
||||
import com.tenwa.util.SerialNumberUtil;
|
||||
|
||||
import jbo.com.tenwa.entity.comm.own.OWN_INFO;
|
||||
import jbo.voucher.LV_STACTS_CONFIG;
|
||||
|
||||
public class VoucherToNCforVoucherPZ implements Job{
|
||||
private static Log logger=ARE.getLog();
|
||||
// 凭证信息传输
|
||||
// 凭证信息传输
|
||||
public void execute(JobExecutionContext arg0) throws JobExecutionException {
|
||||
String plan_date = DateAssistant.getToday();
|
||||
Object userId = arg0.getTrigger().getJobDataMap().get("CurUserId");
|
||||
String curUserId = userId == null? "system" : userId.toString();
|
||||
String ss = DOM4JcreateToVoucher();
|
||||
if("true".equals(ss)) {
|
||||
QuartzUtil.insertLog(plan_date,"com.tenwa.voucher.serviceImp.VoucherToNCforVoucherPZ", "success", "成功",curUserId);
|
||||
QuartzUtil.insertLog(plan_date,"com.tenwa.voucher.serviceImp.VoucherToNCforVoucherPZ", "success", "成功",curUserId);
|
||||
}else {
|
||||
QuartzUtil.insertLog(plan_date,"com.tenwa.voucher.serviceImp.VoucherToNCforVoucherPZ", "error", "失败",curUserId);
|
||||
QuartzUtil.insertLog(plan_date,"com.tenwa.voucher.serviceImp.VoucherToNCforVoucherPZ", "error", "失败",curUserId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* 页面执行xml传输
|
||||
* 页面执行xml传输
|
||||
* */
|
||||
public String sendVoucherData(JBOTransaction tx) {
|
||||
String ss = DOM4JcreateToVoucher();
|
||||
@ -70,122 +69,125 @@ public class VoucherToNCforVoucherPZ implements Job{
|
||||
}
|
||||
|
||||
/**
|
||||
* 凭证信息xml生成, 每1000条生成一个xml
|
||||
* 凭证信息xml生成, 每1000条生成一个xml
|
||||
* @throws Exception
|
||||
*/
|
||||
private static String DOM4JcreateToVoucher(){
|
||||
// 本地xml存放文件夹, 没有就创建
|
||||
// 本地xml存放文件夹, 没有就创建
|
||||
// File file2 = new File("D:\\voucherXml_NC");
|
||||
// if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹
|
||||
JBOTransaction tx=null;
|
||||
Transaction Sqlca = null;
|
||||
String returns="true";
|
||||
// if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹
|
||||
JBOTransaction tx=null;
|
||||
Transaction Sqlca = null;
|
||||
String returns="true";
|
||||
String type="voucher"; // 记录表类别
|
||||
String batch="";
|
||||
String deleteSql="";
|
||||
try {
|
||||
// 定义全局对象
|
||||
// 定义全局对象
|
||||
tx= JBOFactory.createJBOTransaction();
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
Map<String, String> map = new HashMap<String, String>();
|
||||
Document document=null; // xml文件头
|
||||
File file=null; // 生成的xml文件路径
|
||||
XMLWriter writer=null; // 输出对象
|
||||
String uuid=""; // xml主键id
|
||||
String SUBJECT_ID=null; // 获取科目id
|
||||
String OWNED_COMPANY = null; // 所属公司
|
||||
String ACC_YEAR = null; // 会计期间/年
|
||||
String ACC_MONTH = null; // 会计期间/月
|
||||
String insertSql=""; // 定义新增语句对象
|
||||
String type="voucher"; // 记录表类别
|
||||
String timeAll = ""; // 制单日期
|
||||
Document document=null; // xml文件头
|
||||
File file=null; // 生成的xml文件路径
|
||||
XMLWriter writer=null; // 输出对象
|
||||
String uuid=""; // xml主键id
|
||||
String SUBJECT_ID=null; // 获取科目id
|
||||
String OWNED_COMPANY = null; // 所属公司
|
||||
String ACC_YEAR = null; // 会计期间/年
|
||||
String ACC_MONTH = null; // 会计期间/月
|
||||
String insertSql=""; // 定义新增语句对象
|
||||
String timeAll = ""; // 制单日期
|
||||
String f5=""; // 摘要
|
||||
|
||||
String year_month_day = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
|
||||
String year_month_days = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||||
|
||||
// 查询凭证视图, 获取每条凭证
|
||||
// 查询凭证视图, 获取每条凭证
|
||||
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 TABLE_NUM FROM NCXML_DETAIL_RECORDS WHERE FLAG = '1' AND XML_TYPE='"+type+"')";
|
||||
List<Map<String, String>> list = DataOperatorUtil.getDataBySql(Sqlca, sql, null);// 将所有凭证号封装到list集合中
|
||||
List<Map<String, String>> list = DataOperatorUtil.getDataBySql(Sqlca, sql, null);// 将所有凭证号封装到list集合中
|
||||
|
||||
int a = list.size(); // v8视图总数据量/ xml中生成的总条数
|
||||
int b=1000; // 设置当前xml生成的条数
|
||||
int c = (int)(a / b); // 获取生成xml文件的数量, 最大循环值=c+1
|
||||
int a = list.size(); // v8视图总数据量/ xml中生成的总条数
|
||||
int b=1000; // 设置当前xml生成的条数
|
||||
int c = (int)(a / b); // 获取生成xml文件的数量, 最大循环值=c+1
|
||||
for (int i = 0; i <=c && a>0; i++) {
|
||||
int count=0; // 记录当前批次传输总量
|
||||
int count=0; // 记录当前批次传输总量
|
||||
Sqlca = Transaction.createTransaction(tx);
|
||||
document = DocumentHelper.createDocument(); // 创建Document对象
|
||||
Element root = document.addElement("ufinterface"); // 设置xml头
|
||||
root.addAttribute("account", "BQ1217"); // 设置xml头属性
|
||||
root.addAttribute("billtype", "vouchergl(凭证)");
|
||||
document = DocumentHelper.createDocument(); // 创建Document对象
|
||||
Element root = document.addElement("ufinterface"); // 设置xml头
|
||||
root.addAttribute("account", "bq1217"); // 设置xml头属性
|
||||
root.addAttribute("billtype", "vouchergl");
|
||||
root.addAttribute("businessunitcode", "develop");
|
||||
root.addAttribute("filename", "");
|
||||
root.addAttribute("groupcode", "06");
|
||||
root.addAttribute("isexchange", "Y");
|
||||
root.addAttribute("orgcode", "");
|
||||
root.addAttribute("receiver", "接收方业务单元编码");
|
||||
root.addAttribute("receiver", "807001002001");
|
||||
root.addAttribute("replace", "Y");
|
||||
root.addAttribute("roottag", "");
|
||||
root.addAttribute("sender", "GL");
|
||||
String batch = SerialNumberUtil.getVoucherPCNumber(Sqlca);
|
||||
for (int x = i * b; x < (i + 1) * b && x < a; x++) { // 决定当前xml生成的数据量
|
||||
// 获取凭证编号
|
||||
batch = SerialNumberUtil.getVoucherPCNumber(Sqlca);
|
||||
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表借方数据
|
||||
// 获取v8表借方数据
|
||||
String sql1 = "SELECT f5,f6,f7,f15,f59,f60,f65,f73,f74,f75 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='1'";
|
||||
List<Map<String, String>> v1 = DataOperatorUtil.getDataBySql(Sqlca,sql1,map);
|
||||
|
||||
// 获取v8表贷方数据
|
||||
// 获取v8表贷方数据
|
||||
String sql2 = "SELECT f5,f6,f8,f15,f51,f52,f59,f60,f65,f73,f74,f75 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='-1'";
|
||||
List<Map<String, String>> v2 = DataOperatorUtil.getDataBySql(Sqlca,sql2,map);
|
||||
|
||||
// 获取v8表公共信息
|
||||
// 获取v8表公共信息
|
||||
for (Map<String, String> map2 : v2) {
|
||||
//OWNED_COMPANY=map2.get("f49"); // 本方id
|
||||
ACC_YEAR = map2.get("f51"); // 会计期间/年
|
||||
ACC_MONTH =map2.get("f52"); // 会计期间/月
|
||||
timeAll =map2.get("f15"); // 制单时间
|
||||
//OWNED_COMPANY=map2.get("f49"); // 本方id
|
||||
ACC_YEAR = map2.get("f51"); // 会计期间/年
|
||||
ACC_MONTH =map2.get("f52"); // 会计期间/月
|
||||
timeAll =map2.get("f15"); // 制单时间
|
||||
}
|
||||
|
||||
// 获取本方信息
|
||||
// 获取本方信息
|
||||
//BizObject own = JBOFactory.createBizObjectQuery(OWN_INFO.CLASS_NAME, "id=:OWNED_COMPANY").setParameter("OWNED_COMPANY", OWNED_COMPANY).getSingleResult(false);
|
||||
|
||||
Element voucher = root.addElement("voucher");
|
||||
Element voucherHead = voucher.addElement("voucher_head");
|
||||
Element pkVoucher = voucherHead.addElement("pk_voucher");// 凭证主键/非空
|
||||
Element pkVoucher = voucherHead.addElement("pk_voucher");// 凭证主键/非空
|
||||
uuid=UUID.randomUUID().toString().replace("-", "");
|
||||
pkVoucher.setText(uuid);
|
||||
Element pk_vouchertype = voucherHead.addElement("pk_vouchertype");// 凭证类别, 默认01/非空
|
||||
pk_vouchertype.setText("记账凭证");//----------------------------------------------------------------------
|
||||
Element year = voucherHead.addElement("year");// 会计年度/非空
|
||||
Element pk_vouchertype = voucherHead.addElement("pk_vouchertype");// 凭证类别, 默认01/非空
|
||||
pk_vouchertype.setText("01");//----------------------------------------------------------------------
|
||||
Element year = voucherHead.addElement("year");// 会计年度/非空
|
||||
year.setText((ACC_YEAR==null)?"":ACC_YEAR);
|
||||
Element pk_system = voucherHead.addElement("pk_system");// 来源系统/非空
|
||||
Element pk_system = voucherHead.addElement("pk_system");// 来源系统/非空
|
||||
//pk_system.setText((own.getAttribute("OWN_NAME")==null)? "":own.getAttribute("OWN_NAME").getString());//----------------------------------------
|
||||
pk_system.setText("安鹏租赁零售性融资业务系统");//----------------------------------------
|
||||
Element voucherkind = voucherHead.addElement("voucherkind");// 凭证类型值/非空
|
||||
pk_system.setText("GL");//----------------------------------------
|
||||
Element voucherkind = voucherHead.addElement("voucherkind");// 凭证类型值/非空
|
||||
voucherkind.setText("0");
|
||||
Element pk_accountingbook = voucherHead.addElement("pk_accountingbook");// 核算核算账簿/非空
|
||||
pk_accountingbook.setText("安鹏租赁核算账簿编码");
|
||||
Element discardflag = voucherHead.addElement("discardflag");// 作废标志/可空
|
||||
Element pk_accountingbook = voucherHead.addElement("pk_accountingbook");// 核算核算账簿/非空
|
||||
pk_accountingbook.setText("807001002001-0001");
|
||||
Element discardflag = voucherHead.addElement("discardflag");// 作废标志/可空
|
||||
discardflag.setText("");
|
||||
Element period = voucherHead.addElement("period");// 会计期间/非空
|
||||
Element period = voucherHead.addElement("period");// 会计期间/非空
|
||||
period.setText((ACC_MONTH==null)?"":ACC_MONTH);//--------------------------------------------------------------
|
||||
Element no = voucherHead.addElement("no");// 凭证号为空自动分配/非空
|
||||
no.setText(F3);
|
||||
Element attachment = voucherHead.addElement("attachment");// 附单据数/可空
|
||||
Element no = voucherHead.addElement("no");// 凭证号为空自动分配/非空
|
||||
no.setText("");
|
||||
Element attachment = voucherHead.addElement("attachment");// 附单据数/可空
|
||||
attachment.setText("");
|
||||
Element prepareddate = voucherHead.addElement("prepareddate");// 制单日期/非空
|
||||
Element prepareddate = voucherHead.addElement("prepareddate");// 制单日期/非空
|
||||
prepareddate.setText(timeAll);//---------------------------------------------------
|
||||
Element pk_prepared = voucherHead.addElement("pk_prepared");// 制单人/非空
|
||||
pk_prepared.setText("807caoyuli");//-------------------------------------------
|
||||
Element pk_casher = voucherHead.addElement("pk_casher");// 出纳
|
||||
Element pk_prepared = voucherHead.addElement("pk_prepared");// 制单人/非空
|
||||
pk_prepared.setText("pz");//-------------------------------------------
|
||||
Element pk_casher = voucherHead.addElement("pk_casher");// 出纳
|
||||
pk_casher.setText("");//------------------------------------------
|
||||
Element signflag = voucherHead.addElement("signflag");// 签字标志
|
||||
Element signflag = voucherHead.addElement("signflag");// 签字标志
|
||||
signflag.setText("");//-----------------------------------------------------
|
||||
Element pk_checked = voucherHead.addElement("pk_checked");// 审核人
|
||||
Element pk_checked = voucherHead.addElement("pk_checked");// 审核人
|
||||
pk_checked.setText("");//--------------------------------------------------
|
||||
Element tallydate = voucherHead.addElement("tallydate");// 记账日期
|
||||
Element tallydate = voucherHead.addElement("tallydate");// 记账日期
|
||||
tallydate.setText(timeAll);//--------------------------
|
||||
Element pk_manager = voucherHead.addElement("pk_manager");// 记账人
|
||||
Element pk_manager = voucherHead.addElement("pk_manager");// 记账人
|
||||
pk_manager.setText("");
|
||||
Element memo1 = voucherHead.addElement("memo1");
|
||||
memo1.setText("");
|
||||
@ -197,218 +199,236 @@ public class VoucherToNCforVoucherPZ implements Job{
|
||||
reserve2.setText("");
|
||||
Element siscardflag = voucherHead.addElement("siscardflag");
|
||||
siscardflag.setText("");//--------------------------------------------------------
|
||||
Element pk_org = voucherHead.addElement("pk_org");// 所属组织/非空
|
||||
pk_org.setText("安鹏租赁业务单元编码");//---------------------------------------------------------
|
||||
Element pk_org_v = voucherHead.addElement("pk_org_v");// 所属组织版本/可空
|
||||
Element pk_org = voucherHead.addElement("pk_org");// 所属组织/非空
|
||||
pk_org.setText("807001002001");//---------------------------------------------------------
|
||||
Element pk_org_v = voucherHead.addElement("pk_org_v");// 所属组织版本/可空
|
||||
pk_org_v.setText("");//-------------------------------------------------------
|
||||
Element pk_group = voucherHead.addElement("pk_group");// 所属集团 如果不输集团取当前登陆集团
|
||||
Element pk_group = voucherHead.addElement("pk_group");// 所属集团 如果不输集团取当前登陆集团
|
||||
pk_group.setText("06");
|
||||
Element details = voucherHead.addElement("details");
|
||||
// 循环借方集合, 按照v8表数据中生成相应的借方item
|
||||
// 循环借方集合, 按照v8表数据中生成相应的借方item
|
||||
for (Map<String, String> v8Lend : v1) {
|
||||
// 根据科目id, 获取当前数据对应的科目信息
|
||||
// 根据科目id, 获取当前数据对应的科目信息
|
||||
SUBJECT_ID=v8Lend.get("f6");
|
||||
f5 = v8Lend.get("f5");
|
||||
BizObject subject = JBOFactory.createBizObjectQuery(LV_STACTS_CONFIG.CLASS_NAME, "ID=:ID").setParameter("ID", SUBJECT_ID).getSingleResult(false);
|
||||
Element item1 = details.addElement("item"); // 借方
|
||||
Element detailindex1 = item1.addElement("detailindex");// 分录号/非空
|
||||
Element item1 = details.addElement("item"); // 借方
|
||||
Element detailindex1 = item1.addElement("detailindex");// 分录号/非空
|
||||
detailindex1.setText((v8Lend.get("f59")==null)?"":v8Lend.get("f59"));//------------------------------------
|
||||
Element explanation1 = item1.addElement("explanation");// 摘要/非空
|
||||
explanation1.setText((v8Lend.get("f5")==null)?"":v8Lend.get("f5"));
|
||||
Element verifydate1 = item1.addElement("verifydate");// 业务日期/可空
|
||||
Element explanation1 = item1.addElement("explanation");// 摘要/非空
|
||||
explanation1.setText(F3+"-"+f5);
|
||||
Element verifydate1 = item1.addElement("verifydate");// 业务日期/可空
|
||||
verifydate1.setText("");
|
||||
Element price1 = item1.addElement("price");// 单价/可空
|
||||
Element price1 = item1.addElement("price");// 单价/可空
|
||||
price1.setText("");
|
||||
Element excrate21 = item1.addElement("excrate2");// 折本汇率/可空
|
||||
Element excrate21 = item1.addElement("excrate2");// 折本汇率/可空
|
||||
excrate21.setText("");//-----------------------------
|
||||
Element debitquantity1 = item1.addElement("debitquantity");// 借方数量/可空
|
||||
debitquantity1.setText(v1.size()+"");
|
||||
Element debitamount1 = item1.addElement("debitamount");// 原币借方金额/可空
|
||||
Element debitquantity1 = item1.addElement("debitquantity");// 借方数量/可空
|
||||
//debitquantity1.setText(v1.size()+"");
|
||||
debitquantity1.setText("");
|
||||
Element debitamount1 = item1.addElement("debitamount");// 原币借方金额/可空
|
||||
debitamount1.setText((v8Lend.get("f7")==null)?"":v8Lend.get("f7"));//--------------------------------------------------
|
||||
Element localdebitamount1 = item1.addElement("localdebitamount");// 本币借方金额/可空
|
||||
localdebitamount1.setText("");//-------------------------------------------
|
||||
Element groupdebitamount1 = item1.addElement("groupdebitamount");// 集团本币借方金额/可空
|
||||
Element localdebitamount1 = item1.addElement("localdebitamount");// 本币借方金额/可空
|
||||
localdebitamount1.setText((v8Lend.get("f7")==null)?"":v8Lend.get("f7"));//-------------------------------------------
|
||||
Element groupdebitamount1 = item1.addElement("groupdebitamount");// 集团本币借方金额/可空
|
||||
groupdebitamount1.setText("");//-----------------------------------------
|
||||
Element globaldebitamount1 = item1.addElement("globaldebitamount");// 全局本币借方金额/可空
|
||||
Element globaldebitamount1 = item1.addElement("globaldebitamount");// 全局本币借方金额/可空
|
||||
globaldebitamount1.setText("");//-------------------------------------------
|
||||
Element pk_currtype1 = item1.addElement("pk_currtype");// 币种/非空
|
||||
Element pk_currtype1 = item1.addElement("pk_currtype");// 币种/非空
|
||||
pk_currtype1.setText("CNY");//
|
||||
Element pk_accasoa1 = item1.addElement("pk_accasoa");// 科目/非空
|
||||
pk_accasoa1.setText((subject.getAttribute("SUBJECTS_NAME").getString()==null)?"":subject.getAttribute("SUBJECTS_NAME").getString());
|
||||
Element pk_unit1 = item1.addElement("pk_unit");// 所属二级核算单位/可空
|
||||
Element pk_accasoa1 = item1.addElement("pk_accasoa");// 科目/非空
|
||||
//pk_accasoa1.setText((subject.getAttribute("SUBJECTS_CODE").getString()==null)?"":subject.getAttribute("SUBJECTS_CODE").getString());
|
||||
pk_accasoa1.setText("");
|
||||
Element pk_unit1 = item1.addElement("pk_unit");// 所属二级核算单位/可空
|
||||
pk_unit1.setText("");//---------------------------------------------------
|
||||
Element pk_unit_v1 = item1.addElement("pk_unit_v");// 所属二级核算单位/版本可空
|
||||
Element pk_unit_v1 = item1.addElement("pk_unit_v");// 所属二级核算单位/版本可空
|
||||
pk_unit_v1.setText("");//-------------------------------------------------
|
||||
Element ass1 = item1.addElement("ass");// 金额必须有一方不为空
|
||||
/*// 客商辅助核算
|
||||
if(v8Lend.get("f65")!=null && !"".equals(v8Lend.get("f65"))) {
|
||||
Element ass1 = item1.addElement("ass");// 金额必须有一方不为空
|
||||
// 客商辅助核算
|
||||
/*if(v8Lend.get("f65")!=null && !"".equals(v8Lend.get("f65"))) {
|
||||
Element ass_item1 = ass1.addElement("item");
|
||||
Element pk_Checktype1 = ass_item1.addElement("pk_Checktype");
|
||||
pk_Checktype1.setText("客商辅助核算");
|
||||
pk_Checktype1.setText("客商辅助核算");
|
||||
Element pk_Checkvalue1 = ass_item1.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue1.setText((v8Lend.get("f65")==null)?"":v8Lend.get("f65"));
|
||||
}
|
||||
// 合同号辅助核算
|
||||
if(v8Lend.get("f60")!=null && !"".equals(v8Lend.get("f60"))) {// 部门名称
|
||||
// 合同号辅助核算
|
||||
if(v8Lend.get("f60")!=null && !"".equals(v8Lend.get("f60"))) {// 部门名称
|
||||
Element ass_item2 = ass1.addElement("item");
|
||||
Element pk_Checktype2 = ass_item2.addElement("pk_Checktype");
|
||||
pk_Checktype2.setText("合同号辅助核算");
|
||||
pk_Checktype2.setText("合同号辅助核算");
|
||||
Element pk_Checkvalue2 = ass_item2.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue2.setText((v8Lend.get("f60")==null)?"":v8Lend.get("f60"));
|
||||
}
|
||||
// 主营类型辅助核算
|
||||
// 主营类型辅助核算
|
||||
if(v8Lend.get("f73")!=null && !"".equals(v8Lend.get("f73"))) {
|
||||
Element ass_item3 = ass1.addElement("item");
|
||||
Element pk_Checktype3 = ass_item3.addElement("pk_Checktype");
|
||||
pk_Checktype3.setText("融资租赁收益类型");
|
||||
pk_Checktype3.setText("主营类型辅助核算");
|
||||
Element pk_Checkvalue3 = ass_item3.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue3.setText((v8Lend.get("f73")==null)?"":v8Lend.get("f73"));
|
||||
}
|
||||
//现金流量项目辅助核算
|
||||
//现金流量项目辅助核算
|
||||
if(v8Lend.get("f74")!=null && !"".equals(v8Lend.get("f74"))) {
|
||||
Element ass_item4 = ass1.addElement("item");
|
||||
Element pk_Checktype4 = ass_item4.addElement("pk_Checktype");
|
||||
pk_Checktype4.setText("资金类型");
|
||||
pk_Checktype4.setText("现金流量项目辅助核算");
|
||||
Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue4.setText((v8Lend.get("f74")==null)?"":v8Lend.get("f74"));
|
||||
}
|
||||
//银行账户辅助核算
|
||||
//银行账户辅助核算
|
||||
if(v8Lend.get("f75")!=null && !"".equals(v8Lend.get("f75"))) {
|
||||
Element ass_item5 = ass1.addElement("item");
|
||||
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");
|
||||
pk_Checktype5.setText("主营类型");
|
||||
pk_Checktype5.setText("银行账户辅助核算");
|
||||
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue5.setText((v8Lend.get("f75")==null)?"":v8Lend.get("f75"));
|
||||
}*/
|
||||
Element cashFlow = item1.addElement("cashFlow");
|
||||
Element cashFlow_item1 = cashFlow.addElement("item");
|
||||
Element m_pk_currtype1 = cashFlow_item1.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
|
||||
Element m_pk_currtype1 = cashFlow_item1.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
|
||||
m_pk_currtype1.setText("CNY");
|
||||
Element money1 = cashFlow_item1.addElement("money");// 原币,最大长度为64,类型为:Double
|
||||
Element money1 = cashFlow_item1.addElement("money");// 原币,最大长度为64,类型为:Double
|
||||
money1.setText("");
|
||||
Element moneymoneyglobal1 = cashFlow_item1.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
|
||||
Element moneymoneyglobal1 = cashFlow_item1.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
|
||||
moneymoneyglobal1.setText("");
|
||||
Element moneygroup1 = cashFlow_item1.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
|
||||
Element moneygroup1 = cashFlow_item1.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
|
||||
moneygroup1.setText("");
|
||||
Element moneymain1 = cashFlow_item1.addElement("moneymain");// 本币,最大长度为64,类型为:Double
|
||||
Element moneymain1 = cashFlow_item1.addElement("moneymain");// 本币,最大长度为64,类型为:Double
|
||||
moneymain1.setText("");
|
||||
Element pk_cashflow1 = cashFlow_item1.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
|
||||
Element pk_cashflow1 = cashFlow_item1.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
|
||||
pk_cashflow1.setText("");
|
||||
Element pk_innercorp1 = cashFlow_item1.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
|
||||
Element pk_innercorp1 = cashFlow_item1.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
|
||||
pk_innercorp1.setText("");
|
||||
}
|
||||
|
||||
// 循环贷方集合, 按照v8表数据中生成相应的借方item
|
||||
// 循环贷方集合, 按照v8表数据中生成相应的借方item
|
||||
for (Map<String, String> v8loan : v2) {
|
||||
// 根据科目id, 获取当前数据对应的科目信息
|
||||
// 根据科目id, 获取当前数据对应的科目信息
|
||||
SUBJECT_ID=v8loan.get("f6");
|
||||
BizObject subject = JBOFactory.createBizObjectQuery(LV_STACTS_CONFIG.CLASS_NAME, "ID=:ID").setParameter("ID", SUBJECT_ID).getSingleResult(false);
|
||||
Element item2 = details.addElement("item"); // 贷方金额
|
||||
Element creditquantity2 = item2.addElement("creditquantity");// 贷方数量 可空
|
||||
Element item2 = details.addElement("item"); // 贷方金额
|
||||
Element creditquantity2 = item2.addElement("creditquantity");// 贷方数量 可空
|
||||
creditquantity2.setText(v2.size()+"");
|
||||
Element creditamount2 = item2.addElement("creditamount"); // 原币贷方金额 可空
|
||||
Element creditamount2 = item2.addElement("creditamount"); // 原币贷方金额 可空
|
||||
creditamount2.setText((v8loan.get("f8")==null)?"":v8loan.get("f8"));
|
||||
Element localcreditamount2 = item2.addElement("localcreditamount");// 本币贷方金额 可空
|
||||
localcreditamount2.setText("");
|
||||
Element groupcreditamount2 = item2.addElement("groupcreditamount");// 集团本币贷方金额 可空
|
||||
Element localcreditamount2 = item2.addElement("localcreditamount");// 本币贷方金额 可空
|
||||
localcreditamount2.setText((v8loan.get("f8")==null)?"":v8loan.get("f8"));
|
||||
Element groupcreditamount2 = item2.addElement("groupcreditamount");// 集团本币贷方金额 可空
|
||||
groupcreditamount2.setText("");
|
||||
Element globalcreditamount2 = item2.addElement("globalcreditamount");// 全局本币贷方金额 可空
|
||||
Element globalcreditamount2 = item2.addElement("globalcreditamount");// 全局本币贷方金额 可空
|
||||
globalcreditamount2.setText("");
|
||||
Element detailindex2 = item2.addElement("detailindex");// 分录号 非空
|
||||
Element detailindex2 = item2.addElement("detailindex");// 分录号 非空
|
||||
detailindex2.setText((v8loan.get("f59")==null)?"":v8loan.get("f59"));//-------------------------------------
|
||||
Element explanation2 = item2.addElement("explanation");// 摘要 非空
|
||||
Element explanation2 = item2.addElement("explanation");// 摘要 非空
|
||||
explanation2.setText((v8loan.get("f5")==null)?"":v8loan.get("f5"));
|
||||
Element verifydate2 = item2.addElement("verifydate");// 业务日期 可空
|
||||
Element verifydate2 = item2.addElement("verifydate");// 业务日期 可空
|
||||
verifydate2.setText(timeAll);
|
||||
Element price2 = item2.addElement("price");// 单价 可空
|
||||
Element price2 = item2.addElement("price");// 单价 可空
|
||||
price2.setText("");
|
||||
Element excrate22 = item2.addElement("excrate2");// 折本汇率 可空
|
||||
Element excrate22 = item2.addElement("excrate2");// 折本汇率 可空
|
||||
excrate22.setText("");//-------------------------------------------
|
||||
Element pk_currtype2 = item2.addElement("pk_currtype");// 币种 非空
|
||||
Element pk_currtype2 = item2.addElement("pk_currtype");// 币种 非空
|
||||
pk_currtype2.setText("CNY");
|
||||
Element pk_accasoa2 = item2.addElement("pk_accasoa");// 科目 非空
|
||||
pk_accasoa2.setText((subject.getAttribute("SUBJECTS_NAME").getString()==null)?"":subject.getAttribute("SUBJECTS_NAME").getString());
|
||||
Element pk_unit2 = item2.addElement("pk_unit");// 所属二级核算单位 可空 (组织)
|
||||
Element pk_accasoa2 = item2.addElement("pk_accasoa");// 科目 非空
|
||||
//pk_accasoa2.setText((subject.getAttribute("SUBJECTS_CODE").getString()==null)?"":subject.getAttribute("SUBJECTS_CODE").getString());
|
||||
pk_accasoa2.setText("");
|
||||
Element pk_unit2 = item2.addElement("pk_unit");// 所属二级核算单位 可空 (组织)
|
||||
pk_unit2.setText("");//------------------------------------------
|
||||
Element pk_unit_v2 = item2.addElement("pk_unit_v");// 所属二级核算单位 版本可空 (组织)
|
||||
Element pk_unit_v2 = item2.addElement("pk_unit_v");// 所属二级核算单位 版本可空 (组织)
|
||||
pk_unit_v2.setText("");//-----------------------------------------------
|
||||
Element ass2 = item2.addElement("ass");//
|
||||
/*// 客商辅助核算
|
||||
if(v8loan.get("f65")!=null && !"".equals(v8loan.get("f65"))) {
|
||||
// 客商辅助核算
|
||||
/*if(v8loan.get("f65")!=null && !"".equals(v8loan.get("f65"))) {
|
||||
Element ass_item1 = ass2.addElement("item");
|
||||
Element pk_Checktype1 = ass_item1.addElement("pk_Checktype");
|
||||
pk_Checktype1.setText("客商辅助核算");
|
||||
pk_Checktype1.setText("客商辅助核算");
|
||||
Element pk_Checkvalue1 = ass_item1.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue1.setText((v8loan.get("f65")==null)?"":v8loan.get("f65"));
|
||||
}
|
||||
// 合同号辅助核算
|
||||
if(v8loan.get("f60")!=null && !"".equals(v8loan.get("f60"))) {// 部门名称
|
||||
// 合同号辅助核算
|
||||
if(v8loan.get("f60")!=null && !"".equals(v8loan.get("f60"))) {// 部门名称
|
||||
Element ass_item2 = ass2.addElement("item");
|
||||
Element pk_Checktype2 = ass_item2.addElement("pk_Checktype");
|
||||
pk_Checktype2.setText("合同号辅助核算");
|
||||
pk_Checktype2.setText("合同号辅助核算");
|
||||
Element pk_Checkvalue2 = ass_item2.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue2.setText((v8loan.get("f60")==null)?"":v8loan.get("f60"));
|
||||
}
|
||||
// 主营类型辅助核算
|
||||
// 主营类型辅助核算
|
||||
if(v8loan.get("f73")!=null && !"".equals(v8loan.get("f73"))) {
|
||||
Element ass_item3 = ass2.addElement("item");
|
||||
Element pk_Checktype3 = ass_item3.addElement("pk_Checktype");
|
||||
pk_Checktype3.setText("融资租赁收益类型");
|
||||
pk_Checktype3.setText("主营类型辅助核算");
|
||||
Element pk_Checkvalue3 = ass_item3.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue3.setText((v8loan.get("f73")==null)?"":v8loan.get("f73"));
|
||||
}
|
||||
//现金流量项目辅助核算
|
||||
//现金流量项目辅助核算
|
||||
if(v8loan.get("f74")!=null && !"".equals(v8loan.get("f74"))) {
|
||||
Element ass_item4 = ass2.addElement("item");
|
||||
Element pk_Checktype4 = ass_item4.addElement("pk_Checktype");
|
||||
pk_Checktype4.setText("资金类型");
|
||||
pk_Checktype4.setText("现金流量项目辅助核算");
|
||||
Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue4.setText((v8loan.get("f74")==null)?"":v8loan.get("f74"));
|
||||
}
|
||||
//银行账户辅助核算
|
||||
//银行账户辅助核算
|
||||
if(v8loan.get("f75")!=null && !"".equals(v8loan.get("f75"))) {
|
||||
Element ass_item5 = ass2.addElement("item");
|
||||
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");
|
||||
pk_Checktype5.setText("主营类型");
|
||||
pk_Checktype5.setText("银行账户辅助核算");
|
||||
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");
|
||||
pk_Checkvalue5.setText((v8loan.get("f75")==null)?"":v8loan.get("f75"));
|
||||
}*/
|
||||
Element item2_cashFlow = item2.addElement("cashFlow");
|
||||
Element cashflowitem2 = item2_cashFlow.addElement("item");
|
||||
Element m_pk_currtype2 = cashflowitem2.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
|
||||
Element m_pk_currtype2 = cashflowitem2.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
|
||||
m_pk_currtype2.setText("CNY");
|
||||
Element money2 = cashflowitem2.addElement("money");// 原币,最大长度为64,类型为:Double
|
||||
Element money2 = cashflowitem2.addElement("money");// 原币,最大长度为64,类型为:Double
|
||||
money2.setText("");
|
||||
Element moneyglobal2 = cashflowitem2.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
|
||||
Element moneyglobal2 = cashflowitem2.addElement("moneyglobal");// 全局本币,最大长度为64,类型为:Double
|
||||
moneyglobal2.setText("");
|
||||
Element moneygroup2 = cashflowitem2.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
|
||||
Element moneygroup2 = cashflowitem2.addElement("moneygroup");// 集团本币,最大长度为64,类型为:Double
|
||||
moneygroup2.setText("");
|
||||
Element moneymain2 = cashflowitem2.addElement("moneymain");// 本币,最大长度为64,类型为:Double
|
||||
Element moneymain2 = cashflowitem2.addElement("moneymain");// 本币,最大长度为64,类型为:Double
|
||||
moneymain2.setText("");
|
||||
Element pk_cashflow2 = cashflowitem2.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
|
||||
Element pk_cashflow2 = cashflowitem2.addElement("pk_cashflow");// 现金主键,最大长度为64,类型为:String
|
||||
pk_cashflow2.setText("");
|
||||
Element pk_innercorp2 = cashflowitem2.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
|
||||
Element pk_innercorp2 = cashflowitem2.addElement("pk_innercorp");// 内部单位主键,最大长度为64,类型为:String
|
||||
pk_innercorp2.setText("");
|
||||
}
|
||||
// 新增当条凭证信息入记录字表
|
||||
// 新增当条凭证信息入记录字表
|
||||
//insertSql="INSERT INTO VOUCHER_LOG(BILLID,F3,FLAG,CREATE_TIME,BATCH) VALUES('"+str+"','"+F3+"','1','"+year_month_days+"','"+batch+"')";
|
||||
insertSql="INSERT INTO NCXML_DETAIL_RECORDS(BILLID,XML_TYPE,TABLE_NUM,FLAG,CREATE_TIME,BATCH) VALUES('"+uuid+"','"+type+"','"+F3+"','1','"+year_month_days+"','"+batch+"')";
|
||||
//sqlObject = new SqlObject(insertSql);
|
||||
//Sqlca.executeSQL(sqlObject);
|
||||
Sqlca.executeSQL(insertSql);
|
||||
logger.info("凭证记录表插入语句: "+insertSql);
|
||||
logger.info("凭证记录表插入语句: "+insertSql);
|
||||
count++;
|
||||
}
|
||||
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";
|
||||
//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.setEscapeText(false);// 字符是否转义,默认true
|
||||
writer.write(document);
|
||||
writer.close();
|
||||
InterActionToNC(Sqlca,URL,type,batch,count);
|
||||
String ss = InterActionToNC(Sqlca,URL,type,batch,count);
|
||||
Sqlca.commit();
|
||||
returns=ss;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
deleteSql = "DELETE FROM NCXML_DETAIL_RECORDS WHERE BATCH='"+batch+"' AND XML_TYPE = '"+type+"'";
|
||||
try {
|
||||
Sqlca.executeSQL(deleteSql);
|
||||
Sqlca.commit();
|
||||
} catch (Exception e2) {
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
} catch (JBOException e1) {
|
||||
// TODO Auto-generated catch block
|
||||
e1.printStackTrace();
|
||||
}
|
||||
e2.printStackTrace();
|
||||
}
|
||||
returns="false";
|
||||
try {
|
||||
Sqlca.rollback();
|
||||
@ -430,22 +450,22 @@ public class VoucherToNCforVoucherPZ implements Job{
|
||||
|
||||
|
||||
/**
|
||||
* 像NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
|
||||
* 像NC传输xml, 获取NC回执xml信息, 根据回执信息更改状态
|
||||
*/
|
||||
public static void InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count) {
|
||||
try {
|
||||
String updateSql = ""; // 更新sql对象
|
||||
String insertSql = ""; // 新增SQL对象
|
||||
String deleteSql = ""; // 删除SQL对象
|
||||
String resultcode= ""; // 单条返回结果
|
||||
String bdocid = ""; // xml回执id
|
||||
String resultdescription=""; //错误信息
|
||||
public static String InterActionToNC(Transaction Sqlca,String inputURL,String type,String batch,int count) throws Exception {
|
||||
String updateSql = ""; // 更新sql对象
|
||||
String insertSql = ""; // 新增SQL对象
|
||||
String deleteSql = ""; // 删除SQL对象
|
||||
String resultcode= ""; // 单条返回结果
|
||||
String bdocid = ""; // xml回执id
|
||||
String resultdescription=""; //错误信息
|
||||
String returns="true";
|
||||
|
||||
/**
|
||||
* 获取对方post连接
|
||||
* 获取对方post连接
|
||||
*/
|
||||
//String url = "http://47.93.227.86:8858/service/XChangeServlet?account=q0225&groupcode=001";
|
||||
String url = "http://172.16.0.88:9990/service/XChangeServlet?account=BQ1217&groupcode=06";
|
||||
String url = "http://172.16.0.88:9990/service/XChangeServlet?account=bq1217&groupcode=06";
|
||||
URL realURL = new URL(url);
|
||||
HttpURLConnection connection = (HttpURLConnection)realURL.openConnection();
|
||||
connection.setDoOutput(true);
|
||||
@ -453,7 +473,7 @@ public class VoucherToNCforVoucherPZ implements Job{
|
||||
connection.setRequestMethod("POST");
|
||||
|
||||
/**
|
||||
* 读取本方生成的xml, 传输到NC
|
||||
* 读取本方生成的xml, 传输到NC
|
||||
*/
|
||||
File file = new File(inputURL);
|
||||
BufferedOutputStream out = new BufferedOutputStream(connection.getOutputStream());
|
||||
@ -465,96 +485,135 @@ public class VoucherToNCforVoucherPZ implements Job{
|
||||
}
|
||||
input.close();
|
||||
out.close();
|
||||
|
||||
/*BufferedReader reader = new BufferedReader (new InputStreamReader(new FileInputStream(file),"UTF-8"));
|
||||
String xml="";
|
||||
String ss=null;
|
||||
while((ss=reader.readLine()) != null) {
|
||||
xml+=ss;
|
||||
xml+="\r\n";
|
||||
out.write(ss.getBytes());
|
||||
}
|
||||
System.out.println(xml);
|
||||
reader.close();
|
||||
out.close();*/
|
||||
|
||||
/**
|
||||
* 获取NC回执信息
|
||||
* 获取NC回执信息
|
||||
*/
|
||||
InputStream inputStream = connection.getInputStream();
|
||||
InputStreamReader isr = new InputStreamReader(inputStream);
|
||||
InputStreamReader isr = new InputStreamReader(inputStream,"UTF-8");
|
||||
BufferedReader bufreader = new BufferedReader(isr);
|
||||
String xmlString = "";
|
||||
int c;
|
||||
String b=null;
|
||||
while((b=bufreader.readLine()) !=null) {
|
||||
xmlString+=b;
|
||||
xmlString+="\r\n";
|
||||
}
|
||||
System.out.println(xmlString);
|
||||
bufreader.close();
|
||||
/* int c;
|
||||
while ((c = bufreader.read()) != -1) {
|
||||
System.out.print((char) c);
|
||||
xmlString += (char) c;
|
||||
}
|
||||
input.close();
|
||||
}*/
|
||||
//input.close();
|
||||
System.out.println("--------------------------" + xmlString);
|
||||
|
||||
/**
|
||||
* 将获取到的回执信息生成本地xml
|
||||
* 将获取到的回执信息生成本地xml
|
||||
*/
|
||||
Document resDoc = DocumentHelper.parseText(xmlString);
|
||||
TransformerFactory tFactory = TransformerFactory.newInstance();
|
||||
Transformer transformer = tFactory.newTransformer();
|
||||
DocumentSource source = new DocumentSource(resDoc);
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
|
||||
//设置文档的换行与缩进
|
||||
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
|
||||
//设置文档的换行与缩进
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "YES");
|
||||
|
||||
// 将回执信息输出到本地
|
||||
// 将回执信息输出到本地
|
||||
SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 年月日时分秒
|
||||
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 年月日时分秒
|
||||
// File file2 = new File("D:\\VOUCHER_RECEIPT");
|
||||
// if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹
|
||||
String resFile = "//data//files//apzl_leasing//tmp//WEN//APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
// String resFile = "D:\\VOUCHER_RECEIPT\\APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
// if (!file2.exists()) {file2.mkdirs();}// 判断是否存在, 如果不存在就创建该文件夹
|
||||
//String resFile = "//data//files//apzl_leasing//tmp//WEN//APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
String resFile = "D:\\VOUCHER_RECEIPT\\APleasing_"+type+""+fmt.format(new Date())+".xml";
|
||||
StreamResult result = new StreamResult(new File(resFile));
|
||||
transformer.transform(source,result);
|
||||
|
||||
/**
|
||||
* 解析xml, 根据回执信息更新状态
|
||||
* 解析xml, 根据回执信息更新状态
|
||||
*/
|
||||
|
||||
SAXReader sr = new SAXReader();
|
||||
Document doc = sr.read(resFile);
|
||||
Element root= doc.getRootElement();
|
||||
//获取根元素,得到导入用友是否成功successful的值,值为Y:成功 N:失败
|
||||
//获取根元素,得到导入用友是否成功successful的值,值为Y:成功 N:失败
|
||||
String resSuc = root.attributeValue("successful");
|
||||
//后面对回执结果做判断,然后改变导入状态就行了
|
||||
//后面对回执结果做判断,然后改变导入状态就行了
|
||||
if(null != resSuc){
|
||||
if(resSuc.equals("N")){
|
||||
logger.info("导入失败");
|
||||
// 导入失败, 将本次在明细表中存储的数据删除
|
||||
if("N".equals(resSuc)){
|
||||
logger.info("导入失败");
|
||||
// 导入失败, 将本次在明细表中存储的数据删除
|
||||
deleteSql = "DELETE FROM NCXML_DETAIL_RECORDS WHERE BATCH='"+batch+"' AND XML_TYPE = '"+type+"'";
|
||||
// 导入失败, 将失败数据记录入总记录表
|
||||
insertSql = "INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','0','"+count+"','"+formatter2.format(new Date())+"')";
|
||||
// 导入失败, 将失败数据记录入总记录表
|
||||
List<Element> list = root.elements();
|
||||
for (Element element : list) {
|
||||
String names = element.getName();
|
||||
String value = element.getStringValue();
|
||||
List<Element> list2 = element.elements();
|
||||
for (Element el : list2) {
|
||||
String s = el.getName();
|
||||
if("resultcode".equals(s)) {
|
||||
resultcode = el.getStringValue();
|
||||
}
|
||||
if("resultdescription".equals(s)) {
|
||||
resultdescription = el.getStringValue();
|
||||
}
|
||||
}
|
||||
insertSql = "INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,ERR_DESCRIBE,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+count+"','"+resultdescription+"','"+formatter2.format(new Date())+"')";
|
||||
}
|
||||
Sqlca.executeSQL(deleteSql);
|
||||
Sqlca.executeSQL(insertSql);
|
||||
returns="false";
|
||||
}else if(resSuc.equals("Y")){
|
||||
logger.info("导入成功");
|
||||
logger.info("导入成功");
|
||||
List<Element> list = root.elements();
|
||||
int failed_count=0; // 失败记录数
|
||||
int failed_count=0; // 失败记录数
|
||||
for (Element element : list) {
|
||||
List<Element> list2 = element.elements();
|
||||
for (Element el : list2) {
|
||||
logger.info("111111111111111111");
|
||||
// 获取单条回执状态
|
||||
resultcode = el.element("resultcode").getStringValue();
|
||||
if(!"1".equals(resultcode)) {
|
||||
logger.info("22222222222222");
|
||||
bdocid = el.element("bdocid").getStringValue(); // xml回执id
|
||||
resultdescription = el.element("resultdescription").getStringValue(); // 错误信息
|
||||
|
||||
// 如果回执状态不等于1, 说明有误, 更新到记录字表并记录错误信息
|
||||
updateSql=" UPDATE NCXML_DETAIL_RECORDS SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' AND XML_TYPE= '"+type+"'";
|
||||
Sqlca.executeSQL(updateSql);
|
||||
logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+updateSql);
|
||||
failed_count++;
|
||||
String s = el.getName();
|
||||
// 获取单条回执状态
|
||||
if("resultcode".equals(s)) {
|
||||
resultcode = el.getStringValue();
|
||||
}
|
||||
// xml回执id
|
||||
if("bdocid".equals(s)) {
|
||||
bdocid = el.getStringValue();
|
||||
}
|
||||
// 错误信息
|
||||
if("resultdescription".equals(s)) {
|
||||
resultdescription = el.getStringValue();
|
||||
}
|
||||
}
|
||||
|
||||
if(!"1".equals(resultcode)) {
|
||||
// 如果回执状态不等于1, 说明有误, 更新到记录字表并记录错误信息
|
||||
updateSql=" UPDATE NCXML_DETAIL_RECORDS SET FLAG='"+resultcode+"',ERR_DESCRIBE='"+resultdescription+"' WHERE BUILLID='"+bdocid+"' AND XML_TYPE= '"+type+"'";
|
||||
Sqlca.executeSQL(updateSql);
|
||||
logger.info("根据回执信息, 修改传输失败状态, 记录错误信息"+updateSql);
|
||||
failed_count++;
|
||||
}
|
||||
}
|
||||
// 将本批次传输总量及 失败数量记录入记录总表
|
||||
String insertSql1="INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+failed_count+"','"+formatter2.format(new Date())+"')";
|
||||
// 将本批次传输总量及 失败数量记录入记录总表
|
||||
String insertSql1="INSERT INTO NCXML_TOTAL_RECORDS(ID,BATCH,XML_TYPE,FLAG_,COUNT_,FAILED_COUNT,ERR_DESCRIBE,CREATETIME) VALUES('"+UUID.randomUUID().toString().replace("-", "")+"','"+batch+"','"+type+"','"+resSuc+"','"+count+"','"+failed_count+"','"+resultdescription+"','"+formatter2.format(new Date())+"')";
|
||||
Sqlca.executeSQL(insertSql1);
|
||||
}else{
|
||||
logger.info("出现未知错误");
|
||||
logger.info("出现未知错误");
|
||||
}
|
||||
}else{
|
||||
logger.info("未找到successful属性");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
logger.info("未找到successful属性");
|
||||
}
|
||||
return returns;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user