Browse Source

【英唐电子发票】

DINGYL 2 years ago
parent
commit
1a31c170fd
1 changed files with 31 additions and 36 deletions
  1. 31 36
      src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

+ 31 - 36
src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

@@ -111,10 +111,10 @@ public class ERPServiceImpl implements ERPService {
             Object message=res.get("message");
             if(status !=null && "0000".equals(status.toString())){//调用成功
                 baseDao.execute("update invoiceOrder set io_dockstatus='对接成功' where io_id="+id);
-                baseDao.execute("insert into invoicedockLog(id_,code_,date_,result_,err_,keyvalue_)values(invoicedockLog_seq.nextval,'开票订单对接',sysdate,'SUCCEED','',"+id+") ");
+                commonService.logSRecord("开票订单对接",id);
             }else{
                 baseDao.execute("update invoiceOrder set io_dockstatus='对接失败' where io_id="+id);
-                baseDao.execute("insert into invoicedockLog(id_,code_,date_,result_,err_,keyvalue_)values(invoicedockLog_seq.nextval,'开票订单对接',sysdate,'FAILED','("+status+")"+message+"',"+id+") ");
+                commonService.logFRecord("开票订单对接","("+status+")"+message,id);
             }
             logger.info("pushInvoiceOrder master {} ,id {} status {} message {}",master,id,status,message);
             map.put("success", true);
@@ -368,47 +368,42 @@ public class ERPServiceImpl implements ERPService {
         logger.info("rushRed begin: master {} ,id {} ",master,id);
         SpObserver.putSp(master);
         SqlRowList rs_main = baseDao.queryForRowSet("select * from invoiceOrder left join customer on io_cucode=cu_code left join elecinvoice on io_id=ei_ioid where io_id="+id);
-        if(rs_main.next()){
-            RedInvoiceReq redInvoiceReq=new RedInvoiceReq();
-            redInvoiceReq.setBlueInvoiceLine(rs_main.getGeneralString("io_invoiceline"));//蓝票发票种类
-            redInvoiceReq.setApplySource("0");//申请方(录入方)身份: 0 销方 1 购方
-            redInvoiceReq.setSellerTaxNo(donlimConfig.getTaxnum());//销方税号
-            redInvoiceReq.setBuyerName(rs_main.getGeneralString("cu_name"));//购方名称
-            redInvoiceReq.setBuyerTaxNo(rs_main.getGeneralString("ei_taxno"));
-            redInvoiceReq.setRedReason(rs_main.getGeneralString("io_redreason"));
-            redInvoiceReq.setBlueElecInvoiceNumber(rs_main.getGeneralString("ei_allelectronicinvoicenumber"));
-            NNOpenSDK sdk = NNOpenSDK.getIntance();
-            String content =sdk.convertToUtf8(JSONArray.toJSONString(redInvoiceReq));
-            String method = "nuonuo.OpeMplatform.saveInvoiceRedConfirm"; // API方法名
-            String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
-            String resp = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
-            System.out.println(resp);
-            Map<Object, Object> res=JSONUtil.toMap(resp);
-            System.out.println(res);
-            Object code=res.get("code");
-            Object describe=res.get("describe");
-            Object result=res.get("result");
-
-            //{"code":"E0000","describe":"调用成功","result":"1135624457459470336"}
-            if(code !=null && "E0000".equals(code.toString())){//调用成功
-                queryInvoiceRedConfirm( taxnum,  appKey,  appSecret,  token, url, result.toString());
-                baseDao.execute("update elecinvoice set ei_redapplycode='"+result.toString()+"' where ei_id="+rs_main.getGeneralInt("ei_id"));
-                //baseDao.execute("update invoiceOrder set io_resstatus='' where io_id="+id);
-                baseDao.execute("insert into invoicedockLog(id_,code_,date_,result_,err_,keyvalue_)values(invoicedockLog_seq.nextval,'红字确认单申请',sysdate,'SUCCEED','',"+id+") ");
-            }else{
-                //baseDao.execute("update invoiceOrder set io_resstatus='对接失败' where io_id="+id);
-                baseDao.execute("insert into invoicedockLog(id_,code_,date_,result_,err_,keyvalue_)values(invoicedockLog_seq.nextval,'红字确认单申请',sysdate,'FAILED','("+code+")"+describe+"',"+id+") ");
+        if (rs_main.hasNext()){
+            while(rs_main.next()){
+                RedInvoiceReq redInvoiceReq=new RedInvoiceReq();
+                redInvoiceReq.setBlueInvoiceLine(rs_main.getGeneralString("io_invoiceline"));//蓝票发票种类
+                redInvoiceReq.setApplySource("0");//申请方(录入方)身份: 0 销方 1 购方
+                redInvoiceReq.setSellerTaxNo(donlimConfig.getTaxnum());//销方税号
+                redInvoiceReq.setBuyerName(rs_main.getGeneralString("cu_name"));//购方名称
+                redInvoiceReq.setBuyerTaxNo(rs_main.getGeneralString("ei_taxno"));
+                redInvoiceReq.setRedReason(rs_main.getGeneralString("io_redreason"));
+                redInvoiceReq.setBlueElecInvoiceNumber(rs_main.getGeneralString("ei_allelectronicinvoicenumber"));
+                NNOpenSDK sdk = NNOpenSDK.getIntance();
+                String content =sdk.convertToUtf8(JSONArray.toJSONString(redInvoiceReq));
+                String method = "nuonuo.OpeMplatform.saveInvoiceRedConfirm"; // API方法名
+                String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
+                String resp = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
+                Map<Object, Object> res=JSONUtil.toMap(resp);
+                Object code=res.get("code");
+                Object describe=res.get("describe");
+                Object result=res.get("result");
+                if(code !=null && "E0000".equals(code.toString())){//调用成功
+                    queryInvoiceRedConfirm( taxnum,  appKey,  appSecret,  token, url, result.toString());
+                    baseDao.execute("update elecinvoice set ei_redapplycode='"+result.toString()+"' where ei_id="+rs_main.getGeneralInt("ei_id"));
+                    commonService.logSRecord("红字确认单申请("+rs_main.getGeneralString("ei_refno")+")",id);
+                }else{
+                    commonService.logFRecord("红字确认单申请("+rs_main.getGeneralInt("ei_id")+")","("+code+")"+describe,id);
+                }
+                logger.info("pushInvoiceOrder master {} ,id {} code {} describe {} applycode{}",master,id,code,describe,result);
             }
-            //logger.info("pushInvoiceOrder master {} ,id {} status {} message {}",master,id,status,message);
-            map.put("success", true);
-            map.put("describe", describe);
-            return map;
         }else{//数据无效
             logger.info("rushRed err {对接源信息无效} ,master {} , id {} status {} message {}",master,id);
             map.put("success", false);
             map.put("message", "对接源信息无效");
             return map;
         }
+        map.put("success", true);
+        return map;
     }
 
     @Override