|
@@ -2,10 +2,7 @@ package com.uas.eis.service.Impl;
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.alibaba.fastjson.TypeReference;
|
|
import com.alibaba.fastjson.TypeReference;
|
|
|
-import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
|
|
|
-import com.google.gson.JsonObject;
|
|
|
|
|
import com.uas.eis.config.DonlimConfig;
|
|
import com.uas.eis.config.DonlimConfig;
|
|
|
import com.uas.eis.core.config.SpObserver;
|
|
import com.uas.eis.core.config.SpObserver;
|
|
|
import com.uas.eis.core.support.TokenProperties;
|
|
import com.uas.eis.core.support.TokenProperties;
|
|
@@ -13,9 +10,6 @@ import com.uas.eis.dao.*;
|
|
|
import com.uas.eis.dto.FindOrderRelationInvoiceDTO;
|
|
import com.uas.eis.dto.FindOrderRelationInvoiceDTO;
|
|
|
import com.uas.eis.dto.FindOrderRelationInvoiceReq;
|
|
import com.uas.eis.dto.FindOrderRelationInvoiceReq;
|
|
|
import com.uas.eis.dto.FindOrderRelationInvoiceResp;
|
|
import com.uas.eis.dto.FindOrderRelationInvoiceResp;
|
|
|
-import com.uas.eis.entity.*;
|
|
|
|
|
-import com.uas.eis.sdk.entity.ApiResult;
|
|
|
|
|
-import com.uas.eis.sdk.resp.ApiResponse;
|
|
|
|
|
import com.uas.eis.service.CommonService;
|
|
import com.uas.eis.service.CommonService;
|
|
|
import com.uas.eis.service.ERPService;
|
|
import com.uas.eis.service.ERPService;
|
|
|
import com.uas.eis.utils.*;
|
|
import com.uas.eis.utils.*;
|
|
@@ -23,7 +17,6 @@ import nuonuo.open.sdk.NNOpenSDK;
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
@@ -64,7 +57,6 @@ public class ERPServiceImpl implements ERPService {
|
|
|
}
|
|
}
|
|
|
logger.info("pushInvoiceOrder begin: master {} ,id {} ",master,id);
|
|
logger.info("pushInvoiceOrder begin: master {} ,id {} ",master,id);
|
|
|
SpObserver.putSp(master);
|
|
SpObserver.putSp(master);
|
|
|
- //Object tab_ma=baseDao.getFieldDataByCondition("enterprise","EN_WHICHSYSTEM","1=1");
|
|
|
|
|
SqlRowList rs_main = baseDao.queryForRowSet("select * from invoiceOrder left join customer on io_cucode=cu_code where io_id="+id);
|
|
SqlRowList rs_main = baseDao.queryForRowSet("select * from invoiceOrder left join customer on io_cucode=cu_code where io_id="+id);
|
|
|
if(rs_main.next()){
|
|
if(rs_main.next()){
|
|
|
String autoInvoiceFlag= baseDao.isDBSetting("InvoiceOrder", "autoInvoice")?"true":"false";
|
|
String autoInvoiceFlag= baseDao.isDBSetting("InvoiceOrder", "autoInvoice")?"true":"false";
|
|
@@ -178,24 +170,19 @@ public class ERPServiceImpl implements ERPService {
|
|
|
return null;//对接信息为配置
|
|
return null;//对接信息为配置
|
|
|
}
|
|
}
|
|
|
String url=donlimConfig.getRoute();
|
|
String url=donlimConfig.getRoute();
|
|
|
-// System.out.println(url);
|
|
|
|
|
String appKey = donlimConfig.getAppKey();
|
|
String appKey = donlimConfig.getAppKey();
|
|
|
String appSecret = donlimConfig.getAppSecret();
|
|
String appSecret = donlimConfig.getAppSecret();
|
|
|
String token = donlimConfig.getToken();
|
|
String token = donlimConfig.getToken();
|
|
|
String taxnum= donlimConfig.getTaxnum();
|
|
String taxnum= donlimConfig.getTaxnum();
|
|
|
if(donlimConfig.isProd()){
|
|
if(donlimConfig.isProd()){
|
|
|
-// System.out.println("prod");
|
|
|
|
|
appKey = obs[0].toString();
|
|
appKey = obs[0].toString();
|
|
|
appSecret = obs[1].toString();
|
|
appSecret = obs[1].toString();
|
|
|
token = obs[2].toString();// 访问令牌
|
|
token = obs[2].toString();// 访问令牌
|
|
|
taxnum = obs[3].toString();// 授权企业税号
|
|
taxnum = obs[3].toString();// 授权企业税号
|
|
|
- }else{
|
|
|
|
|
-// System.out.println("dev");
|
|
|
|
|
}
|
|
}
|
|
|
SpObserver.putSp(master);
|
|
SpObserver.putSp(master);
|
|
|
SqlRowList rs_main = baseDao.queryForRowSet("select * from invoiceOrder left join customer on io_cucode=cu_code where io_id="+id);
|
|
SqlRowList rs_main = baseDao.queryForRowSet("select * from invoiceOrder left join customer on io_cucode=cu_code where io_id="+id);
|
|
|
if(rs_main.next()){
|
|
if(rs_main.next()){
|
|
|
-// System.out.println(taxnum);
|
|
|
|
|
String code= rs_main.getGeneralString("io_code");
|
|
String code= rs_main.getGeneralString("io_code");
|
|
|
NNOpenSDK sdk = NNOpenSDK.getIntance();
|
|
NNOpenSDK sdk = NNOpenSDK.getIntance();
|
|
|
String method = "nuonuo.OpeMplatform.findOrderState"; // API方法名
|
|
String method = "nuonuo.OpeMplatform.findOrderState"; // API方法名
|
|
@@ -209,14 +196,14 @@ public class ERPServiceImpl implements ERPService {
|
|
|
FindOrderStateResp resp = JSON.parseObject(result , new TypeReference<FindOrderStateResp>() {});
|
|
FindOrderStateResp resp = JSON.parseObject(result , new TypeReference<FindOrderStateResp>() {});
|
|
|
System.out.println(resp.getCode());
|
|
System.out.println(resp.getCode());
|
|
|
System.out.println(resp.getMessage());
|
|
System.out.println(resp.getMessage());
|
|
|
-// System.out.println(resp.getData().getInvoiceStatus());
|
|
|
|
|
-// System.out.println(resp.getData().getErrorMsg());
|
|
|
|
|
-// Map<Object, Object> res=JSONUtil.toMap(result);
|
|
|
|
|
- baseDao.execute("update invoiceOrder set IO_INVOICESTATUS = '"+resp.getData().getInvoiceStatus()+"'"
|
|
|
|
|
|
|
+ if("该订单不存在".equals(resp.getMessage())){
|
|
|
|
|
+ baseDao.execute("update invoiceOrder set IO_INVOICESTATUS = '-1' where io_id = '"+id+"'");
|
|
|
|
|
+ }else{
|
|
|
|
|
+ baseDao.execute("update invoiceOrder set IO_INVOICESTATUS = '"+resp.getData().getInvoiceStatus()+"'"
|
|
|
+",io_errorMsg='"+StringUtil.nvl(resp.getData().getErrorMsg(),"")+"'"
|
|
+",io_errorMsg='"+StringUtil.nvl(resp.getData().getErrorMsg(),"")+"'"
|
|
|
-// +(StringUtil.hasText(resp.getData().getErrorMsg())?",io_errorMsg ='"+resp.getData().getErrorMsg()+"'":"")
|
|
|
|
|
- +" where io_id = '"+id+"'");
|
|
|
|
|
-// System.out.println(result);//{"status":"0000","message":"调用成功","data":{"invoiceStatus":"0","errorMsg":null}}
|
|
|
|
|
|
|
+ +" where io_id = '"+id+"'");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
map.put("success", true);
|
|
map.put("success", true);
|
|
|
map.put("result", result);
|
|
map.put("result", result);
|
|
|
return map;
|
|
return map;
|
|
@@ -297,13 +284,10 @@ public class ERPServiceImpl implements ERPService {
|
|
|
String token = donlimConfig.getToken();
|
|
String token = donlimConfig.getToken();
|
|
|
String taxnum= donlimConfig.getTaxnum();
|
|
String taxnum= donlimConfig.getTaxnum();
|
|
|
if(donlimConfig.isProd()){
|
|
if(donlimConfig.isProd()){
|
|
|
-// System.out.println("prod");
|
|
|
|
|
appKey = obs[0].toString();
|
|
appKey = obs[0].toString();
|
|
|
appSecret = obs[1].toString();
|
|
appSecret = obs[1].toString();
|
|
|
token = obs[2].toString();// 访问令牌
|
|
token = obs[2].toString();// 访问令牌
|
|
|
taxnum = obs[3].toString();// 授权企业税号
|
|
taxnum = obs[3].toString();// 授权企业税号
|
|
|
- }else{
|
|
|
|
|
-// System.out.println("dev");
|
|
|
|
|
}
|
|
}
|
|
|
SpObserver.putSp(master);
|
|
SpObserver.putSp(master);
|
|
|
SqlRowList ioList = baseDao.queryForRowSet("select io_id,io_code from "+master+".invoiceOrder left join "+master+".customer on io_cucode=cu_code " +
|
|
SqlRowList ioList = baseDao.queryForRowSet("select io_id,io_code from "+master+".invoiceOrder left join "+master+".customer on io_cucode=cu_code " +
|
|
@@ -325,13 +309,13 @@ public class ERPServiceImpl implements ERPService {
|
|
|
foriReq.setOriginalOrderNo(ioCode);//订单编号
|
|
foriReq.setOriginalOrderNo(ioCode);//订单编号
|
|
|
foriReq.setSaleTaxNum(taxnum);//销方税号
|
|
foriReq.setSaleTaxNum(taxnum);//销方税号
|
|
|
foriReq.setNeedInvoiceSourceDetail("0");//是否需要发票所来源的订单明细,1-是, 0-否(不填默认 0) 当为0时,将不回传orderDetailCallBackVOS。先默认不需要明细
|
|
foriReq.setNeedInvoiceSourceDetail("0");//是否需要发票所来源的订单明细,1-是, 0-否(不填默认 0) 当为0时,将不回传orderDetailCallBackVOS。先默认不需要明细
|
|
|
- // System.out.println(JSONArray.toJSONString(foriReq));
|
|
|
|
|
|
|
+
|
|
|
NNOpenSDK sdk = NNOpenSDK.getIntance();
|
|
NNOpenSDK sdk = NNOpenSDK.getIntance();
|
|
|
String method = "nuonuo.OpeMplatform.findOrderRelationInvoice"; // API方法名
|
|
String method = "nuonuo.OpeMplatform.findOrderRelationInvoice"; // API方法名
|
|
|
String content =sdk.convertToUtf8(JSONArray.toJSONString(foriReq));
|
|
String content =sdk.convertToUtf8(JSONArray.toJSONString(foriReq));
|
|
|
String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
|
|
String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
|
|
|
String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
|
|
String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
|
|
|
- // System.out.println(result);
|
|
|
|
|
|
|
+
|
|
|
FindOrderRelationInvoiceResp resp = JSON.parseObject(result , new TypeReference<FindOrderRelationInvoiceResp>() {});
|
|
FindOrderRelationInvoiceResp resp = JSON.parseObject(result , new TypeReference<FindOrderRelationInvoiceResp>() {});
|
|
|
errCode = resp.getStatus();
|
|
errCode = resp.getStatus();
|
|
|
errMsg = resp.getMessage();
|
|
errMsg = resp.getMessage();
|
|
@@ -379,8 +363,6 @@ public class ERPServiceImpl implements ERPService {
|
|
|
if(syncToBillOut){
|
|
if(syncToBillOut){
|
|
|
sqls.add("update BillOut set bi_refno = (select max(io_refno) from invoiceOrder where io_id = "+ioid+" and io_biid = bi_id) where bi_id in (select io_biid from invoiceOrder where io_id = "+ioid+" and io_refno is not null)");
|
|
sqls.add("update BillOut set bi_refno = (select max(io_refno) from invoiceOrder where io_id = "+ioid+" and io_biid = bi_id) where bi_id in (select io_biid from invoiceOrder where io_id = "+ioid+" and io_refno is not null)");
|
|
|
}
|
|
}
|
|
|
- //System.out.println("sqls:");
|
|
|
|
|
-// System.out.println(sqls);
|
|
|
|
|
return sqls;
|
|
return sqls;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|