U8API——向U8數據庫表導入數據


一、打開API資源管理器

替換兩個引用

打開應用實例,選擇相應的功能

復制相應的封裝類到自己的目錄下

在數據庫新建臨時表,與目標表相同

 

數據導入:

思路:先將要導入的數據導入到與U8目標表相同的臨時表,再用API從臨時表導入到U8目標表

//導入臨時表-產成品入庫、銷售發貨
        public void ImportU8RdDis()
        {
            lb_info.Items.Add(DateTime.Now + "  生成開始.....");
            lb_state.Text = "當前狀態:正在生成數據,請勿操作...";

            //從過磅記錄表里查詢所有未導入U8數據庫的記錄
            List<ShippingInquiries> siListRdrecord = new List<ShippingInquiries>();
            siListRdrecord = u8api.SelectAllNOu8Rdrecord10();
            List<ShippingInquiries> siListSales = new List<ShippingInquiries>();
            siListSales = u8api.SelectAllNOu8Sales();

            //將榜單數據中未進行推送的數據,送到臨時表,並執行導入U8
            u8api.DeleteTemporaryTable();//插入臨時表前清空之前的記錄
            //產成品入庫
            foreach (ShippingInquiries si in siListRdrecord)
            {
                int i = u8api.InsertU8Rdrecord10(si);//導入臨時表
                if (i > 0)
                {
                    lb_info.Items.Add(DateTime.Now + "  正在生成過磅單的U8 <產成品> 單據,磅單編號為:" + si.NO);
                    bool ok_Rdrecord = U8Rdrecord10(i);//從臨時表導入U8
                    if (ok_Rdrecord)
                    {
                        lb_info.Items.Add(DateTime.Now + "  磅單編號為:" + si.NO + "單據,生單成功");
                        u8api.UpdateToU8State(si.NO);
                    }
                    else
                    {
                        lb_info.Items.Add(DateTime.Now + "  磅單編號為:" + si.NO + "單據,生單失敗!");
                    }
                }
            }
            //發貨單
            foreach (ShippingInquiries si in siListSales)
            {
                int i = u8api.InsertU8Sales(si);//導入臨時表
                if (i > 0)
                {
                    lb_info.Items.Add(DateTime.Now + "  正在生成過磅單的U8 <發貨單> 單據,磅單編號為:" + si.NO);
                    bool ok_Sales = U8Sales(i);//從臨時表導入U8
                    if(ok_Sales)
                    {
                        lb_info.Items.Add(DateTime.Now + "  磅單編號為:" + si.NO + "單據,生單成功");
                        u8api.UpdateToU8State(si.NO);
                    }
                    else
                    {
                        lb_info.Items.Add(DateTime.Now + "  磅單編號為:" + si.NO + "單據,生單失敗!");
                    }
                }
            }
            lb_info.Items.Add(DateTime.Now + "  生成結束");
            lb_state.Text = "當前狀態:生成數據完成,等待下一次生成開始";
        }
先導入臨時表,再導入U8

導入臨時表代碼

//將數據導入臨時表-發貨單表
        public int InsertU8Sales(ShippingInquiries si)
        {
            int i = 0;
            conn.Open();
            try
            {
                cmd.CommandText = "insert into TWKF_Sales_T(ivouchstate,csysbarcode,bsaleoutcreatebill,cbustype,ivtid,cdlcode,cvouchtype,cvouchname,cstcode,cstname,ddate,cdepcode,cdepname,ccuscode,ccusabbname,cexch_name,iexchrate,itaxrate,cdefine1,cDefine2,breturnflag,cverifier,cmaker,icuscreline,bfirst,sbvid,dverifydate,isale,ccusname,clastcusname,clastcustname,cauthid,brequestsign,iflowid,billafterlosssettle,bcusinvlimited,bbillbluesalelist,bbillredsalelist,bcredit,bcreditdate,bmustbook,ccreditcuscode,ccreditcusname,ioutgolden,iverifystate,iswfcontrolled,dcreatesystime,dverifysystime,bcashsale,bsigncreate,bneedbill,iprintcount,cinvoicecompany,cinvoicecompanyabbname,baccswitchflag,ccccode,bcal,zdsum,linenum,bnottogoldtax) values(@ivouchstate,@csysbarcode,@bsaleoutcreatebill,@cbustype,@ivtid,@cdlcode,@cvouchtype,@cvouchname,@cstcode,@cstname,@ddate,@cdepcode,@cdepname,@ccuscode,@ccusabbname,@cexch_name,@iexchrate,@itaxrate,@cdefine1,@cDefine2,@breturnflag,@cverifier,@cmaker,@icuscreline,@bfirst,@sbvid,@dverifydate,@isale,@ccusname,@clastcusname,@clastcustname,@cauthid,@brequestsign,@iflowid,@billafterlosssettle,@bcusinvlimited,@bbillbluesalelist,@bbillredsalelist,@bcredit,@bcreditdate,@bmustbook,@ccreditcuscode,@ccreditcusname,@ioutgolden,@iverifystate,@iswfcontrolled,@dcreatesystime,@dverifysystime,@bcashsale,@bsigncreate,@bneedbill,@iprintcount,@cinvoicecompany,@cinvoicecompanyabbname,@baccswitchflag,@ccccode,@bcal,@zdsum,@linenum,@bnottogoldtax);select @@IDENTITY;";
                cmd.Parameters.Clear();
                cmd.Parameters.Add("@ivouchstate", "Approved");//單據狀態
                cmd.Parameters.Add("@csysbarcode", "||SA01|0000000001");//單據條碼
                cmd.Parameters.Add("@bsaleoutcreatebill","0");//銷售出庫開票標識
                cmd.Parameters.Add("@cbustype", "普通銷售");//業務類型 
                cmd.Parameters.Add("@ivtid", "71");//單據模版號
                cmd.Parameters.Add("@cdlcode", "0000000001");//發貨退貨單號
                cmd.Parameters.Add("@cvouchtype", "05");//單據類型編碼
                cmd.Parameters.Add("@cvouchname", "發貨單");//單據類型名稱
                cmd.Parameters.Add("@cstcode", "1");//銷售類型編碼
                cmd.Parameters.Add("@cstname", "西坡石廠銷售");//銷售類型名稱
                cmd.Parameters.Add("@ddate", si.GrossWeightTime);//單據日期 
                cmd.Parameters.Add("@cdepcode", si.cInvCode.Substring(0, 2));//部門編碼
                cmd.Parameters.Add("@cdepname", "總經辦");//部門名稱//通過哪個表由部門編碼查詢部門名稱▲▲▲▲▲▲▲▲
                cmd.Parameters.Add("@ccuscode", si.cCusCode);//客戶編碼
                cmd.Parameters.Add("@ccusabbname", si.ReceivingUnit);//客戶簡稱
                cmd.Parameters.Add("@cexch_name", "人民幣");//幣種名稱
                cmd.Parameters.Add("@iexchrate", "1");//匯率
                cmd.Parameters.Add("@itaxrate", "0");//表頭稅率
                cmd.Parameters.Add("@cDefine1", si.ReceivingUnit);//收貨單位
                cmd.Parameters.Add("@cDefine2", si.NO);//榜單單號
                cmd.Parameters.Add("@breturnflag", "0");//退貨標志
                cmd.Parameters.Add("@cverifier", "demo");//審核人
                cmd.Parameters.Add("@cmaker", "demo");//制單人
                cmd.Parameters.Add("@icuscreline", "0");//信用額度 
                cmd.Parameters.Add("@bfirst", "0");//銷售期初標志
                cmd.Parameters.Add("@sbvid", "0");//銷售發票主表標識 
                cmd.Parameters.Add("@dverifydate", si.GrossWeightTime);//審核日期
                cmd.Parameters.Add("@isale", "0");//是否先發貨
                cmd.Parameters.Add("@ccusname", si.ReceivingUnit);//客戶名稱
                cmd.Parameters.Add("@clastcusname", si.ReceivingUnit);
                cmd.Parameters.Add("@clastcustname", si.ReceivingUnit);
                cmd.Parameters.Add("@cauthid", si.cCusCode);//權限ID
                cmd.Parameters.Add("@brequestsign", "1");//請求標識
                cmd.Parameters.Add("@iflowid", "0");//流程id
                cmd.Parameters.Add("@billafterlosssettle", "0");//必須簽回處理完成才能開票(簽回) 
                cmd.Parameters.Add("@bcusinvlimited", "0");//允許限銷控制
                cmd.Parameters.Add("@bbillbluesalelist", "0");//銷售發貨單/退貨單(藍票) 
                cmd.Parameters.Add("@bbillredsalelist", "0");//銷售發貨單/退貨單(紅票)
                cmd.Parameters.Add("@bcredit", "");//是否控制信用額度
                cmd.Parameters.Add("@bcreditdate", "0");//是否控制信用期限
                cmd.Parameters.Add("@bmustbook", "0");//必有定金
                cmd.Parameters.Add("@ccreditcuscode", si.cCusCode);//信用單位編號
                cmd.Parameters.Add("@ccreditcusname", si.ReceivingUnit);//信用單位名稱
                cmd.Parameters.Add("@ioutgolden", "0");//金稅導出次數 
                cmd.Parameters.Add("@iverifystate", "0");//系統保留
                cmd.Parameters.Add("@iswfcontrolled", "0");//啟用工作流
                cmd.Parameters.Add("@dcreatesystime", si.GrossWeightTime);//制單時間
                cmd.Parameters.Add("@dverifysystime", si.GrossWeightTime);//審核時間
                cmd.Parameters.Add("@bcashsale", "0");//現款結算
                cmd.Parameters.Add("@bsigncreate", "0");//簽回損失生成
                cmd.Parameters.Add("@bneedbill", "1");//是否需要開票
                cmd.Parameters.Add("@iprintcount", "0");//打印次數
                cmd.Parameters.Add("@cinvoicecompany", si.cCusCode);//開票單位
                cmd.Parameters.Add("@cinvoicecompanyabbname", si.ReceivingUnit);//開票單位簡稱
                cmd.Parameters.Add("@baccswitchflag", "0");//存貨選項切換
                cmd.Parameters.Add("@ccccode", si.cInvCode.Substring(0, 2));
                cmd.Parameters.Add("@bcal", "0");//折算方式
                cmd.Parameters.Add("@zdsum", "0.00");//zdsum
                cmd.Parameters.Add("@linenum", "0");//linenum
                cmd.Parameters.Add("@bnottogoldtax", "0");//不導出到金稅
                
                i = Convert.ToInt32(cmd.ExecuteScalar());

                if (i > 0)
                {
                    cmd.CommandText = "insert into TWKF_Sales_W(cwhcode,cinvcode,bservice,cinvname,cinvstd,cinvm_unit,igrouptype,cgroupcode,cbsysbarcode,iquantity,iquotedprice,itaxunitprice,iunitprice,imoney,itax,idiscount,dlid,inatunitprice,inatmoney,inattax,inatsum,inatdiscount,isum,binvbatch,cwhvaluestyle,bfree1,bfree2,bfree3,bfree4,bfree5,bfree6,bfree7,bfree8,bfree9,bfree10,bsalepricefree1,bsalepricefree2,bsalepricefree3,bsalepricefree4,bsalepricefree5,bsalepricefree6,bsalepricefree7,bsalepricefree8,bsalepricefree9,bsalepricefree10,bbatchcreate,bbatchproperty1,bbatchproperty2,bbatchproperty3,bbatchproperty4,bbatchproperty5,bbatchproperty6,bbatchproperty7,bbatchproperty8,bbatchproperty9,bbatchproperty10,ivolume,kl,kl2,binvtype,itb,binvquality,cmassunit,itaxrate,cDefine22,idlsid,isettleprice,dkl1,dkl2,fsalecost,fsaleprice,cinvccode,bgsp,btrack,bSpecialties,bisstqc,foutquantity,bsettleall,csettleall,ccomunitcode,batomodel,bptomodel,bqaneedcheck,bgift,bsaleprice,bqaurgency,bqachecking,btracksalebill,bqachecked,iqaquantity,iqanum,fretsum,irowno,binvmodel,csrpolicy,fsumsignquantity,fsumsignnum,funsignquantity,fcusminprice,iexpiratdatecalcu,fretqtywkp,fretqtyykp,bcosting,bneedsign,bsignover,autoid2,bproxywh,tbquantity,dblpreexchmomey,dblpremomey,bcontrolserial,bserial,bneedloss,frlossqty,isettletype,bbatch,bcode,bmpforderclosed,fappretwkpqty,cinvcname,biacreatebill,fstockquan,fstockquano,fcanusequan,fcanusequano,fretailrealamount,fretailsettleamount,cDefine23,cDefine24) values(@cwhcode,@cinvcode,@bservice,@cinvname,@cinvstd,@cinvm_unit,@igrouptype,@cgroupcode,@cbsysbarcode,@iquantity,@iquotedprice,@itaxunitprice,@iunitprice,@imoney,@itax,@idiscount,@dlid,@inatunitprice,@inatmoney,@inattax,@inatsum,@inatdiscount,@isum,@binvbatch,@cwhvaluestyle,@bfree1,@bfree2,@bfree3,@bfree4,@bfree5,@bfree6,@bfree7,@bfree8,@bfree9,@bfree10,@bsalepricefree1,@bsalepricefree2,@bsalepricefree3,@bsalepricefree4,@bsalepricefree5,@bsalepricefree6,@bsalepricefree7,@bsalepricefree8,@bsalepricefree9,@bsalepricefree10,@bbatchcreate,@bbatchproperty1,@bbatchproperty2,@bbatchproperty3,@bbatchproperty4,@bbatchproperty5,@bbatchproperty6,@bbatchproperty7,@bbatchproperty8,@bbatchproperty9,@bbatchproperty10,@ivolume,@kl,@kl2,@binvtype,@itb,@binvquality,@cmassunit,@itaxrate,@cDefine22,@idlsid,@isettleprice,@dkl1,@dkl2,@fsalecost,@fsaleprice,@cinvccode,@bgsp,@btrack,@bSpecialties,@bisstqc,@foutquantity,@bsettleall,@csettleall,@ccomunitcode,@batomodel,@bptomodel,@bqaneedcheck,@bgift,@bsaleprice,@bqaurgency,@bqachecking,@btracksalebill,@bqachecked,@iqaquantity,@iqanum,@fretsum,@irowno,@binvmodel,@csrpolicy,@fsumsignquantity,@fsumsignnum,@funsignquantity,@fcusminprice,@iexpiratdatecalcu,@fretqtywkp,@fretqtyykp,@bcosting,@bneedsign,@bsignover,@autoid2,@bproxywh,@tbquantity,@dblpreexchmomey,@dblpremomey,@bcontrolserial,@bserial,@bneedloss,@frlossqty,@isettletype,@bbatch,@bcode,@bmpforderclosed,@fappretwkpqty,@cinvcname,@biacreatebill,@fstockquan,@fstockquano,@fcanusequan,@fcanusequano,@fretailrealamount,@fretailsettleamount,@cDefine23,@cDefine24)";
                    cmd.Parameters.Clear();
                    //cmd.Parameters.Add("@cwhname",);//倉庫名稱
                    cmd.Parameters.Add("@cwhcode","0");//倉庫編碼
                    cmd.Parameters.Add("@cinvcode",si.cInvCode);//存貨編碼
                    cmd.Parameters.Add("@bservice","0");//是否應稅勞務
                    cmd.Parameters.Add("@cinvname",si.cInvName);//存貨名稱
                    cmd.Parameters.Add("@cinvstd",si.Specifications);//規格型號
                    cmd.Parameters.Add("@cinvm_unit","");//主計量單位
                    cmd.Parameters.Add("@igrouptype","0");//計量單位組類別
                    cmd.Parameters.Add("@cgroupcode","01");//計量單位組編碼 
                    cmd.Parameters.Add("@cbsysbarcode","||SA01|0000000001|1");//單據行條碼
                    cmd.Parameters.Add("@iquantity",si.NetWeight);//數量
                    cmd.Parameters.Add("@iquotedprice",si.UnitPrice);//報價
                    cmd.Parameters.Add("@itaxunitprice",si.UnitPrice);//原幣含稅單價
                    cmd.Parameters.Add("@iunitprice",si.UnitPrice);//原幣無稅單價
                    cmd.Parameters.Add("@imoney",si.NetWeight*si.UnitPrice);//原幣無稅金額
                    cmd.Parameters.Add("@itax","0.00");//原幣稅額
                    cmd.Parameters.Add("@idiscount","0.00");//原幣折扣額
                    cmd.Parameters.Add("@dlid",i);//發貨退貨單主表標識
                    cmd.Parameters.Add("@inatunitprice","1.0000000000");//本幣無稅單價
                    cmd.Parameters.Add("@inatmoney",si.NetWeight*si.UnitPrice);//本幣無稅金額
                    cmd.Parameters.Add("@inattax","0.00");//本幣稅額
                    cmd.Parameters.Add("@inatsum",si.NetWeight*si.UnitPrice);//本幣價稅合計
                    cmd.Parameters.Add("@inatdiscount","0.00");//本幣折扣額
                    cmd.Parameters.Add("@isum",si.NetWeight*si.UnitPrice);//原幣價稅合計
                    cmd.Parameters.Add("@binvbatch","0");//是否批次管理
                    cmd.Parameters.Add("@cwhvaluestyle","全月平均法");//計價方式 
                    cmd.Parameters.Add("@bfree1","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bfree2","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bfree3","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bfree4","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bfree5","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bfree6","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bfree7","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bfree8","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bfree9","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bfree10","0");//存貨是否有自由項
                    cmd.Parameters.Add("@bsalepricefree1","0");//銷售定價自由項
                    cmd.Parameters.Add("@bsalepricefree2","0");//銷售定價自由項
                    cmd.Parameters.Add("@bsalepricefree3","0");//銷售定價自由項
                    cmd.Parameters.Add("@bsalepricefree4","0");//銷售定價自由項
                    cmd.Parameters.Add("@bsalepricefree5","0");//銷售定價自由項
                    cmd.Parameters.Add("@bsalepricefree6","0");//銷售定價自由項
                    cmd.Parameters.Add("@bsalepricefree7","0");//銷售定價自由項
                    cmd.Parameters.Add("@bsalepricefree8","0");//銷售定價自由項
                    cmd.Parameters.Add("@bsalepricefree9","0");//銷售定價自由項
                    cmd.Parameters.Add("@bsalepricefree10","0");//銷售定價自由項
                    cmd.Parameters.Add("@bbatchcreate","0");//是否建立批次檔案
                    cmd.Parameters.Add("@bbatchproperty1","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@bbatchproperty2","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@bbatchproperty3","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@bbatchproperty4","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@bbatchproperty5","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@bbatchproperty6","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@bbatchproperty7","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@bbatchproperty8","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@bbatchproperty9","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@bbatchproperty10","0");//是否啟用批次屬性
                    cmd.Parameters.Add("@ivolume","0");//單位體積 
                    cmd.Parameters.Add("@kl","100.0000000000");//扣率
                    cmd.Parameters.Add("@kl2","100.0000000000");//二次扣率
                    cmd.Parameters.Add("@binvtype","0");//是否折扣
                    cmd.Parameters.Add("@itb","正常");//退補標志
                    cmd.Parameters.Add("@binvquality","0");//是否保質期管理
                    cmd.Parameters.Add("@cmassunit","");//保質期單位
                    cmd.Parameters.Add("@itaxrate","0.0000000000");//稅率
                    cmd.Parameters.Add("@cDefine22", si.CarCode);//車號
                    cmd.Parameters.Add("@idlsid","1000000002");//發貨退貨單子表標識2 ??????????????????????????
                    cmd.Parameters.Add("@isettleprice",si.UnitPrice);//結算單價
                    cmd.Parameters.Add("@dkl1","0.0000000000");//倒扣1
                    cmd.Parameters.Add("@dkl2","0.0000000000");//倒扣2
                    cmd.Parameters.Add("@fsalecost",si.UnitPrice);//零售單價
                    cmd.Parameters.Add("@fsaleprice",si.NetWeight*si.UnitPrice);//零售金額
                    cmd.Parameters.Add("@cinvccode",si.cInvCode.Substring(0,2));//存貨大類編碼
                    cmd.Parameters.Add("@bgsp","");//是否質檢
                    cmd.Parameters.Add("@btrack","0");//是否出庫跟蹤入庫
                    cmd.Parameters.Add("@bSpecialties","0");//是否特殊葯品
                    cmd.Parameters.Add("@bisstqc","0");//庫存期初標記
                    cmd.Parameters.Add("@foutquantity",si.SumNetWeight);//累計出庫數量
                    cmd.Parameters.Add("@bsettleall","0");//結算標志
                    cmd.Parameters.Add("@csettleall","未關閉");//關閉標志
                    cmd.Parameters.Add("@ccomunitcode","01016");//主計量單位編碼(若要從表里查詢,可以從qt_query_batchsn_ls中查詢)
                    cmd.Parameters.Add("@batomodel","");//是否ATO模型
                    cmd.Parameters.Add("@bptomodel","");//是否PTO模型
                    cmd.Parameters.Add("@bqaneedcheck","");//是否質檢
                    cmd.Parameters.Add("@bgift","0");//是否贈品 
                    cmd.Parameters.Add("@bsaleprice","1");//報價含稅標識 
                    cmd.Parameters.Add("@bqaurgency","");//是否急料
                    cmd.Parameters.Add("@bqachecking","");//是否在檢
                    cmd.Parameters.Add("@btracksalebill","0");//PE跟單
                    cmd.Parameters.Add("@bqachecked","");//是否報檢
                    cmd.Parameters.Add("@iqaquantity","0.0000000000");//檢驗合格數量
                    cmd.Parameters.Add("@iqanum","0.0000000000");//檢驗合格件數
                    cmd.Parameters.Add("@fretsum","0.000000000");//退貨金額
                    cmd.Parameters.Add("@irowno","1");//行號????????????????????????????????????????????????????????????
                    cmd.Parameters.Add("@binvmodel","");//模型
                    cmd.Parameters.Add("@csrpolicy","PE");//供需政策 
                    cmd.Parameters.Add("@fsumsignquantity","0.000000000");//簽回數量
                    cmd.Parameters.Add("@fsumsignnum","0.000000000");//簽回件數
                    cmd.Parameters.Add("@funsignquantity",si.NetWeight);//未簽回數量 
                    cmd.Parameters.Add("@fcusminprice","0.000000000");//客戶最低售價 ????????????????????????????????????
                    cmd.Parameters.Add("@iexpiratdatecalcu","0");//有效期推算方式
                    cmd.Parameters.Add("@fretqtywkp","0.000000000");//未開票退貨數量 
                    cmd.Parameters.Add("@fretqtyykp","0.000000000");//已開票退貨數量
                    cmd.Parameters.Add("@bcosting","1");//是否記賬
                    cmd.Parameters.Add("@bneedsign","1");//需要簽回
                    cmd.Parameters.Add("@bsignover","0");//發貨簽回完成
                    cmd.Parameters.Add("@autoid2",i);//發貨單子表ID 
                    cmd.Parameters.Add("@bproxywh","0");//代管倉
                    cmd.Parameters.Add("@tbquantity","0.000000000");//退補數量
                    cmd.Parameters.Add("@dblpreexchmomey","0.000000");//預收款原幣金額
                    cmd.Parameters.Add("@dblpremomey","0.000000");//預收款本幣金額
                    cmd.Parameters.Add("@bcontrolserial", "1");//控制序列號
                    cmd.Parameters.Add("@bserial", "0");//是否有序列號管理
                    cmd.Parameters.Add("@bneedloss", "0");//需要損失處理
                    cmd.Parameters.Add("@frlossqty", "0.000000");//合理損耗數量
                    cmd.Parameters.Add("@isettletype", "0");//責任承擔處理
                    cmd.Parameters.Add("@bbatch", "0");//是否已指定批號 
                    cmd.Parameters.Add("@bcode", "0");//是否已指定入庫單號
                    cmd.Parameters.Add("@bmpforderclosed", "0");//訂單關閉標識
                    cmd.Parameters.Add("@fappretwkpqty", "0.000000000");//未開票退貨申請數量
                    cmd.Parameters.Add("@cinvcname", si.cInvName);//存貨名稱
                    cmd.Parameters.Add("@biacreatebill", "0");//存貨核算參照銷售出庫開票標識
                    cmd.Parameters.Add("@fstockquan", "0.000000000");//現存數量
                    cmd.Parameters.Add("@fstockquano", "0.000000000");//現存件數
                    cmd.Parameters.Add("@fcanusequan", "0.000000000");//可用數量
                    cmd.Parameters.Add("@fcanusequano", "0.000000000");//可用件數
                    cmd.Parameters.Add("@fretailrealamount", "0.000000000");//
                    cmd.Parameters.Add("@fretailsettleamount", "0.000000000");//
                    cmd.Parameters.Add("@cDefine23", si.TareTime.ToString());//進場時間
                    cmd.Parameters.Add("@cDefine24", si.CardNumber);//卡號

                    cmd.ExecuteNonQuery();

                }
            }
            catch
            {
                conn.Close();
            }

            finally
            {
                conn.Close();
            }

            return i;
        }
導入臨時表代碼,注意字段是否為空

U8API導入U8代碼

/// <summary>
        /// 發貨單
        /// </summary>
        public bool U8Sales(int ID)
        {
            bool ok = false;
            string Ex = "";
            DispatchList.DispatchListAdd(U8Login, ID, out Ex);
            if (Ex.Length == 0)
            {
                //lb_info.Items.Add("生成單據失敗,原因如下:" + Ex);
            }
            else
            {
                ok = true;
            }
            return ok;
        }
執行U8API
public static void DispatchListAdd(U8Login.clsLogin u8Login, int dlid, out string Ex)
        {
            string Ex0 = "";
            //第二步:構造環境上下文對象,傳入login,並按需設置其它上下文參數
            U8EnvContext envContext = new U8EnvContext();
            envContext.U8Login = u8Login;

            //銷售所有接口均支持內部獨立事務和外部事務,默認內部事務
            //如果是外部事務,則需要傳遞ADO.Connection對象,並將IsIndependenceTransaction屬性設置為false
            //envContext.BizDbConnection = new ADO.Connection();
            //envContext.IsIndependenceTransaction = false;

            //設置上下文參數
            envContext.SetApiContext("VoucherType", "9"); //上下文數據類型:int,含義:單據類型:9

            //第三步:設置API地址標識(Url)
            //當前API:新增或修改的地址標識為:U8API/Consignment/Save
            U8ApiAddress myApiAddress = new U8ApiAddress("U8API/Consignment/Save");

            //第四步:構造APIBroker
            U8ApiBroker broker = new U8ApiBroker(myApiAddress, envContext);

            //第五步:API參數賦值

            //給BO表頭參數domHead賦值,此BO參數的業務類型為發貨單,屬表頭參數。BO參數均按引用傳遞
            //提示:給BO表頭參數domHead賦值有兩種方法

            //方法一是直接傳入MSXML2.DOMDocumentClass對象
            //broker.AssignNormalValue("domHead", new MSXML2.DOMDocumentClass())
            ADODB.Connection conn = new ADODB.ConnectionClass();
            ADODB.Recordset rs = new ADODB.RecordsetClass();

            MSXML2.DOMDocument domhead = new MSXML2.DOMDocumentClass();

            string strConn = "Provider=SQLOLEDB;Initial Catalog=UFDATA_002_2014;Data Source=127.0.0.1;";
            //string strConn = "Provider=SQLOLEDB;Initial Catalog=UFDATA_999_2017;Data Source=127.0.0.1;";

            conn.Open(strConn, "sa", u8Login.SysPassword, 0);
            string sql = "select top 1 * from TWKF_Sales_T where dlid='" + dlid + "'";
            rs.Open(sql, conn, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockOptimistic, -1);

            rs.Save(domhead, ADODB.PersistFormatEnum.adPersistXML);
            U8APIHelper.FormatDom(ref domhead, "A");
            broker.AssignNormalValue("DomHead", domhead);
            domhead.selectSingleNode("//rs:data/z:row").attributes.getNamedItem("dlid").nodeValue = "";

            MSXML2.DOMDocument domBody = new MSXML2.DOMDocumentClass();
            //domBody.RowCount = 1;

            ADODB.Connection conn1 = new ADODB.ConnectionClass();
            ADODB.Recordset rs1 = new ADODB.RecordsetClass();
            string strConn1 = "Provider=SQLOLEDB;Initial Catalog=UFDATA_002_2014;Data Source=127.0.0.1;";
            //string strConn1 = "Provider=SQLOLEDB;Initial Catalog=UFDATA_999_2017;Data Source=127.0.0.1;";

            conn1.Open(strConn1, "sa", u8Login.SysPassword, 0);
            sql = "select top 1 * from TWKF_Sales_W where dlid='" + dlid + "'";
            rs1.Open(sql, conn, ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockOptimistic, -1);

            rs1.Save(domBody, ADODB.PersistFormatEnum.adPersistXML);
            U8APIHelper.FormatDom(ref domBody, "A");
            broker.AssignNormalValue("domBody", domBody);
            domBody.selectSingleNode("//rs:data/z:row").attributes.getNamedItem("dlid").nodeValue = "";
            domBody.selectSingleNode("//rs:data/z:row").attributes.getNamedItem("autoid").nodeValue = "";


            //給普通參數VoucherState賦值。此參數的數據類型為int,此參數按值傳遞,表示狀態:0增加;1修改
            broker.AssignNormalValue("VoucherState", 0);

            //該參數vNewID為INOUT型普通參數。此參數的數據類型為string,此參數按值傳遞。在API調用返回時,可以通過GetResult("vNewID")獲取其值
            broker.AssignNormalValue("vNewID", "");

            //給普通參數DomConfig賦值。此參數的數據類型為MSXML2.IXMLDOMDocument2,此參數按引用傳遞,表示ATO,PTO選配
            MSXML2.IXMLDOMDocument2 domMsg = new MSXML2.DOMDocumentClass();
            broker.AssignNormalValue("DomConfig", domMsg);

            //第六步:調用API
            if (!broker.Invoke())
            {
                //錯誤處理
                Exception apiEx = broker.GetException();
                if (apiEx != null)
                {
                    if (apiEx is MomSysException)
                    {
                        MomSysException sysEx = apiEx as MomSysException;
                        Ex0 += "系統異常:" + sysEx.Message;
                        //todo:異常處理
                    }
                    else if (apiEx is MomBizException)
                    {
                        MomBizException bizEx = apiEx as MomBizException;
                        Ex0 += "API異常:" + bizEx.Message;
                        //todo:異常處理
                    }
                    //異常原因
                    String exReason = broker.GetExceptionString();
                    if (exReason.Length != 0)
                    {
                        Ex0 += "異常原因:" + exReason;
                    }
                }
                //結束本次調用,釋放API資源
                broker.Release();
                Ex = Ex0;
                return;
            }

            //第七步:獲取返回結果

            //獲取返回值
            //獲取普通返回值。此返回值數據類型為System.String,此參數按值傳遞,表示成功返回空串
            System.String result = broker.GetReturnValue() as System.String;

            //獲取out/inout參數值

            //獲取普通INOUT參數vNewID。此返回值數據類型為string,在使用該參數之前,請判斷是否為空
            string vNewIDRet = broker.GetResult("vNewID") as string;
            Ex0 += vNewIDRet;

            //結束本次調用,釋放API資源
            broker.Release();
            Ex = Ex0;
            return;
        }
U8API

修改連接字符串和查詢語句(注意大小寫)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM