| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- package com.uas.eis;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.uas.eis.config.DonlimConfig;
- import com.uas.eis.dao.*;
- import com.uas.eis.service.ERPService;
- import com.uas.eis.task.ElecInvoiceTask;
- import com.uas.eis.task.InvoiceOrderTask;
- import nuonuo.open.sdk.NNOpenSDK;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.junit4.SpringRunner;
- import java.io.*;
- import java.net.URL;
- import java.net.URLConnection;
- import java.text.SimpleDateFormat;
- import java.util.*;
- @RunWith(SpringRunner.class)
- @SpringBootTest(classes = {UasEisApplication.class})
- public class UasEisApplicationTests {
- @Autowired
- private BaseDao baseDao;
- @Autowired
- private ERPService erpService;
- @Autowired
- private DonlimConfig donlimConfig;
- @Autowired
- private ElecInvoiceTask elecInvoiceTask;
- @Autowired
- InvoiceOrderTask invoiceOrderTask;
- /**
- * 开票订单对接
- */
- @Test
- public void Test() {
- System.out.println("test");
- System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date()));
- Object ob=baseDao.getFieldDataByCondition("enterprise","EN_WHICHSYSTEM","1=1");
- System.out.println(ob.toString());
- erpService.pushInvoiceOrder("N_HUASL_SZ",39);
- }
- /**
- * 获取token
- */
- @Test
- public void Test1() {
- /*//测试
- String appKey = "SD47646161";
- String appSecret = "SD681C05C3EA4408";*/
- //正式
- String appKey = "47646161";
- String appSecret = "B6681C05C3EA4408";
- // 接口调用
- NNOpenSDK sdk = NNOpenSDK.getIntance();
- String json = sdk.getMerchantToken(appKey, appSecret);
- // 响应报文解析
- System.out.println("\n\n\n【商户获取Token】");
- System.out.println(json);
- }
- @Test
- public void Test2(){
- NNOpenSDK sdk = NNOpenSDK.getIntance();
- String taxnum ="339901999999199";////测试
- String appKey = "78607195";
- String appSecret = "26A860C451744A21";
- String method = "nuonuo.OpeMplatform.queryInvoiceList"; // API方法名
- String url = "https://sdk.nuonuo.com/open/v1/services";//SDK请求地址
- String token = "77f21f617f87135fcd97ef1ueud3dxdi";
- String content = "{ \"requestType\": \"1\", \"pageNo\": \"2\", \"pageSize\": \"20\", \"taxnum\": \"339901999999199\", " +
- " \"startTime\": \"2023-07-20 00:00:00\", " +
- "\"endTime\": \"2023-07-21 00:00:00\" }";
- content=sdk.convertToUtf8(content);
- String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
- String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
- System.out.println("result:");
- System.out.println(result);
- }
- /**
- * 请求开具发票
- */
- @Test
- public void Test3() {
- erpService.invoiceOrderSubmitKp("N_HUASL_SZ",5);
- }
- @Test
- public void Test_del() {
- erpService.cancelInvoiceOrder("N_HUASL_SZ",7);
- }
- /**
- * nuonuo.OpeMplatform.findOrderState(诺税通Saas订单状态查询接口)
- */
- @Test
- public void TestfindOrderState() {
- String OrderCode = "SZ23070005";
- SqlRowList io = baseDao.queryForRowSet("SELECT io_id FROM N_HUASL_SZ.invoiceOrder where IO_STATUS ='已审核' and IO_DOCKSTATUS = '对接成功' " +
- // "and nvl(IO_INVOICESTATUS,0) in(0,1,6) " +
- "and io_code = '"+OrderCode+"'" +
- "order by io_id ");
- //订单状态(0:待处理 1:处理中 2:已处理 4:提交失败 6:部分待处理 7:无需开票)
- //0:待处理 表示订单没有转了开票申请,此状态需要定时获取
- //1:处理中 表示订单可能转了开票申请,此状态需要定时获取
- //2:已处理 表示订单全部都转了开票申请,没有发票号的情况下要继续获取订单状态。
- //4:提交失败 表示订单自动转失败了,此状态需要定时获取
- //6:部分待处理 表示订单部分转了开票申请,此状态需要定时获取
- //7:无需开票,此状态可以不用管,此状态需要定时获取
- while (io.next()){
- Map<String, Object> mm = erpService.findOrderState("N_HUASL_SZ", io.getGeneralInt("io_id"));
- }
- }
- @Test
- public void TestInvoiceOrderStateUpdate(){
- invoiceOrderTask.InvoiceOrderStateUpdate();
- }
- /**
- * 查询订单关联发票接口 nuonuo.OpeMplatform.findOrderRelationInvoice
- */
- @Test
- public void Test5() {
- NNOpenSDK sdk = NNOpenSDK.getIntance();
- String taxnum ="339901999999199";////测试
- String appKey = "78607195";
- String appSecret = "26A860C451744A21";
- String method = "nuonuo.OpeMplatform.findOrderRelationInvoice"; // API方法名
- String url = "https://sdk.nuonuo.com/open/v1/services";//SDK请求地址
- String token = "77f21f617f87135fcd97ef1ueud3dxdi";
- Map<String,Object> reqParam=new HashMap<>();
- reqParam.put("needInvoiceSourceDetail","0");// 是否需要发票所来源的订单明细,1-是, 0-否(不填默认 0) 当为0时,将不回传orderDetailCallBackVOS
- //SZ23070026
- //betaRTC-202105-003180-209
- reqParam.put("originalOrderNo","SZ23070018");//部分待处理-没开票 {"status":"8958","message":"该订单对应的开票单不存在","data":null}
- reqParam.put("saleTaxNum","339901999999199");
- // invoiceState = 1 开票状态,合并冲销时为空 1:开票成功 2:开票失败
- //exceptionMessage 开票异常信息,开票失败状态时返回
- String content=JSONArray.toJSONString(reqParam);
- // content=sdk.convertToUtf8(content);
- // System.out.println(content);
- String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
- String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
- System.out.println(result);
- }
- @Test
- public void TestDownLoadElecInvoice(){
- Map<String, Object> m = erpService.getElecInvoicesById("N_HUASL_SZ", 25);
- System.out.println(JSONObject.toJSONString(m));
- // elecInvoiceTask.elecInvoiceDownLoad();
- }
- //文件转存
- //https://inv.jss.com.cn/fp2/2zpnwyKkdvu9dWzE8BhmSnER0Iux3xQRMLidDJhiIE2PziVXY4lL3k83OsK0K06YctW5cf1FFHxraffj-bf16A.pdf
- @Test
- public void TestPdfDowLoad(){
- //下载地址
- String fileUrl = "https://inv.jss.com.cn/fp2/2zpnwyKkdvu9dWzE8BhmSnER0Iux3xQRMLidDJhiIE2PziVXY4lL3k83OsK0K06YctW5cf1FFHxraffj-bf16A.pdf";
- // 定义要保存的文件的路径
- String filePath = "C:\\invoice\\988038486766_00007404.pdf";//开票代码_发票号码
- try {
- // 创建URL对象
- URL url = new URL(fileUrl);
- // 打开连接
- URLConnection conn = url.openConnection();
- // 获取输入流
- InputStream in = conn.getInputStream();
- // 创建输出流
- OutputStream out = new FileOutputStream(filePath);
- // 创建缓冲区
- byte[] buffer = new byte[1024];
- // 读取并写入数据
- int len;
- while ((len = in.read(buffer)) != -1) {
- out.write(buffer, 0, len);
- }
- // 关闭流
- in.close();
- out.close();
- //存文件 filepath
- System.out.println("下载成功");
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @Test
- public void TestElecInvoiceAttachSave(){
- elecInvoiceTask.elecInvoiceAttachSave();
- }
- }
|