123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448 |
- using ConsoleApp1.Controller.Sql_controller;
- using Kingdee.BOS.WebApi.Client;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.IO;
- namespace LiChenkingdee.Controllers
- {
- /// <summary>
- /// 获取金蝶数据
- /// </summary>
- public class kingdeeToList
- {
- HttpHepler http = new HttpHepler();
- public void kindeeDL()
- {
- K3CloudApiClient client = new K3CloudApiClient("http://121.37.217.34/k3cloud/"); //http://121.37.217.34/k3cloud/
- var loginResult = client.ValidateLogin("612cade2b0fead", "administrator", "lichen17LC+", 2052); //正式
- //var loginResult = client.ValidateLogin("61c9778c87d3d1", "administrator", "Lichen*2021", 2052); //测试
- var resultType = JObject.Parse(loginResult)["LoginResultType"].Value<int>();
- //登录结果类型等于1,代表登录成功
- if (resultType == 1)
- {
- //client.ExecuteBillQuery("{"FormId":"","FieldKeys":"","FilterString":"","OrderString":"","TopRowCount":0,"StartRow":0,"Limit":0}");
- //PostKingdeeYG(client, DateTime.Now); //员工
- //PostKingdeeQT(client, DateTime.Now); //其他往来单位
- PostKingdeeKH(client, DateTime.Now); //客户单位
- //PostKingdeeGYS(client, DateTime.Now); //供应商
- //PostKingdeeFK(client, DateTime.Now); //付款
- //PostKingdeeYF(client, DateTime.Now); //应付
- }
- }
-
- /// <summary>
- /// 获取付款单
- /// </summary>
- public void PostKingdeeFK(K3CloudApiClient client,DateTime date)
- {
- string SJ = date.AddDays(-1).ToString("yyyy-MM-dd");
- var FKList = client.ExecuteBillQuery("{"+
- "\"FormId\": \"CN_PAYAPPLY\","+
- "\"FieldKeys\": \"FBillNo \","+
- "\"FilterString\": \"FCREATEDATE >'" + SJ + "' and FDOCUMENTSTATUS = 'B'\"," +
- "\"OrderString\": \"\","+
- "\"TopRowCount\": 0,"+
- "\"StartRow\": 0,"+
- "\"Limit\": 0}");
- foreach (var item in FKList)
- {
- string FBillNo = item[0].ToString();
- PostFKList(client, FBillNo);
- }
- }
- /// <summary>
- /// 应付单
- /// </summary>
- /// <param name="client"></param>
- /// <param name="date"></param>
- public void PostKingdeeYF(K3CloudApiClient client, DateTime date)
- {
- string SJ = date.AddDays(-1).ToString("yyyy-MM-dd");
- var FKList = client.ExecuteBillQuery("{" +
- "\"FormId\": \"AP_Payable\"," +
- "\"FieldKeys\": \"FBillNo \"," +
- "\"FilterString\": \"FCREATEDATE >'" + SJ + "'\"," +
- "\"OrderString\": \"\"," +
- "\"TopRowCount\": 0," +
- "\"StartRow\": 0," +
- "\"Limit\": 0}");
- foreach (var items in FKList)
- {
- string FBillNo = items[0].ToString();
- PostYFList(client, FBillNo);
- }
- }
- /// <summary>
- /// 付款申请单明细
- /// </summary>
- /// <returns></returns>
- public void PostFKList(K3CloudApiClient client,string FBillNo)
- {
- int i = 0;
- string url = "http://39.98.219.9:9001/api/lichen/form/fksq";
- Dictionary<string, List<Dictionary<string, string>>> dicFBillHead = new Dictionary<string, List<Dictionary<string, string>>>(); //头
- Dictionary<string, List<Dictionary<string, string>>> FkFBillBody = new Dictionary<string, List<Dictionary<string, string>>>();//体
- //string Contentjsonhead = "";
- string Contentjsonbody = "";
- List<Dictionary<string, string>> ListTable = new List<Dictionary<string, string>>();
- string ArrList = client.View("CN_PAYAPPLY", "{\"CreateOrgId\":0,\"Number\":\""+ FBillNo + "\",\"Id\":\"\"}");
- //string ArrList = client.View("CN_PAYAPPLY", "{\"CreateOrgId\":0,\"Number\":\"FKSQ000061\",\"Id\":\"\"}");
- JObject array = JsonConvert.DeserializeObject<JObject>(ArrList);
- foreach (var itemList in array["Result"])
- {
- if (i == 0)
- {
- i++;
- continue;
- }
- switch (itemList.Parent["Result"]["FCONTACTUNITTYPE"].ToString())
- {
- case "BD_Supplier":
- Contentjsonbody = "供应商";
- break;
- case "BD_Customer":
- Contentjsonbody = "客户";
- break;
- case "BD_Empinfo":
- Contentjsonbody = "员工";
- break;
- case "FIN_OTHERS":
- Contentjsonbody = "其他往来单位";
- break;
- }
- Dictionary<string, string> dicFkFBillHead = new Dictionary<string, string>();//单据头
- dicFkFBillHead.Add("FBillNo", itemList.Parent["Result"]["FBILLNo"].ToString()); //单据编号
- dicFkFBillHead.Add("FCREATORID", itemList.Parent["Result"]["FCREATORID"]["Id"].ToString()); //创建人ID
- dicFkFBillHead.Add("FCREATORNAME", itemList.Parent["Result"]["FCREATORID"]["Name"].ToString()); //创建人
- dicFkFBillHead.Add("FSETTLEORGID", itemList.Parent["Result"]["FSETTLEORGID_Id"].ToString()); //FSETTLEORGID 结算组织
- dicFkFBillHead.Add("FPURCHASEORGID", itemList.Parent["Result"]["FPURCHASEORGID_Id"].ToString()); //FPURCHASEORGID 采购组织
- dicFkFBillHead.Add("FDATE",GetChinaTicks(Convert.ToDateTime(itemList.Parent["Result"]["FDATE"].ToString()))); //FDATE 申请日期
- dicFkFBillHead.Add("FBILLTYPEID", itemList.Parent["Result"]["FBILLTYPEID"]["MultiLanguageText"][0]["Name"].ToString()); //单据类型:FBILLTYPEID
- dicFkFBillHead.Add("FCONTACTUNITTYPE", Contentjsonbody); //往来单位类型:FCONTACTUNITTYPE
- dicFkFBillHead.Add("FCONTACTUNIT_Id", itemList.Parent["Result"]["FCONTACTUNIT_Id"].ToString()); //往来单位编码
- dicFkFBillHead.Add("FCONTACTUNIT", itemList.Parent["Result"]["FCONTACTUNIT"]["MultiLanguageText"][0]["Name"].ToString()); //往来单位:FCONTACTUNIT
- //dicFkFBillHead.Add("FBUSINESSTYPE",itemList.Parent["FBUSINESSTYPE"]) //业务类型:FBUSINESSTYPE
- dicFkFBillHead.Add("FPAYORGID", itemList.Parent["Result"]["FPAYORGID"]["MultiLanguageText"][0]["Name"].ToString()); //付款组织:FPAYORGID
- dicFkFBillHead.Add("F_BQB_Combo", itemList.Parent["Result"]["F_BQB_Combo"].ToString()); //付款类型:F_BQB_Combo
- dicFkFBillHead.Add("F_BQB_FKDQ", itemList.Parent["Result"]["F_BQB_FKDQ"].ToString()); //付款地区:F_BQB_FKDQ
- dicFkFBillHead.Add("FEXPENSEDEPTID", string.IsNullOrEmpty(itemList.Parent["Result"]["FPAYAPPLYENTRY"][0]["FEXPENSEDEPTID"].ToString()) ? "无数据": itemList.Parent["Result"]["FPAYAPPLYENTRY"][0]["FEXPENSEDEPTID"]["MultiLanguageText"][0]["Name"].ToString()); //费用承担部门
- dicFkFBillHead.Add("FAPPLYORGID", itemList.Parent["Result"]["FAPPLYORGID"]["MultiLanguageText"][0]["Name"].ToString()); //申请组织
- dicFkFBillHead.Add("FRECTUNIT", itemList.Parent["Result"]["FRECTUNIT"]["MultiLanguageText"][0]["Name"].ToString()); //收款单位
- dicFkFBillHead.Add("F_BQB_FKGS", itemList.Parent["Result"]["F_BQB_FKGS"]["MultiLanguageText"][0]["FDataValue"].ToString()); //付款公司
- //Contentjsonhead = JsonConvert.SerializeObject(dicFkFBillHead);
- //单据体
- ///单据体数据
-
- List<Dictionary<string, string>> ListListBody = new List<Dictionary<string, string>>();
- foreach (var itemsData in array["Result"]["Result"]["FPAYAPPLYENTRY"])
- {
- string FDescription = string.IsNullOrEmpty(itemsData.Parent[0]["Description"].ToString()) ? "无数据" : itemsData.Parent[0]["Description"].ToString().Replace("\\", "");
- Dictionary<string, string> dicFkFPAYAPPLYENTRY = new Dictionary<string, string>();
- dicFkFPAYAPPLYENTRY.Add("FSETTLETYPEID", itemsData.Parent[0]["FSETTLETYPEID"]["MultiLanguageText"][0]["Name"].ToString()); //结算方式:FSETTLETYPEID //
- dicFkFPAYAPPLYENTRY.Add("FEACHBANKACCOUNT", itemsData.Parent[0]["FEACHBANKACCOUNT"].ToString()); //对方银行账号:FEACHBANKACCOUNT
- dicFkFPAYAPPLYENTRY.Add("FAPPLYAMOUNTFOR", itemsData.Parent[0]["FAPPLYAMOUNTFOR"].ToString()); //申请付款金额:FAPPLYAMOUNTFOR
- dicFkFPAYAPPLYENTRY.Add("FENDDATE", GetChinaTicks(Convert.ToDateTime(itemsData.Parent[0]["FENDDATE"].ToString()))); //到期日:FENDDATE
- dicFkFPAYAPPLYENTRY.Add("FEXPECTPAYDATE", GetChinaTicks(Convert.ToDateTime(itemsData.Parent[0]["FEXPECTPAYDATE"].ToString()))); //期望付款日期:FEXPECTPAYDATE
- dicFkFPAYAPPLYENTRY.Add("FEACHCCOUNTNAME",string.IsNullOrEmpty(itemsData.Parent[0]["MultiLanguageText"][0].ToString())?"无数据": itemsData.Parent[0]["MultiLanguageText"][0]["FEACHCCOUNTNAME"].ToString()); //对方账户名称:FEACHCCOUNTNAME
- dicFkFPAYAPPLYENTRY.Add("FEACHBANKNAME", itemsData.Parent[0]["MultiLanguageText"][0]["FEACHBANKNAME"].ToString()); //对方开户行:FEACHBANKNAME
- dicFkFPAYAPPLYENTRY.Add("FCOSTID_id", itemsData.Parent[0]["FCOSTID_Id"].ToString()); //费用项目ID:FCOSTID_id
- dicFkFPAYAPPLYENTRY.Add("FCOSTID", string.IsNullOrEmpty(itemsData.Parent[0]["FCOSTID"].ToString())?"无数据": itemsData.Parent[0]["FCOSTID"]["MultiLanguageText"][0]["Name"].ToString()); //费用项目:FCOSTID
- dicFkFPAYAPPLYENTRY.Add("FDescription", FDescription); //备注
- //备注:FDescription
- ListListBody.Add(dicFkFPAYAPPLYENTRY);
- }
- dicFkFBillHead.Add("DataTable", JsonConvert.SerializeObject(ListListBody));
- ListTable.Add(dicFkFBillHead);
- }
- Dictionary<string, List<Dictionary<string, string>>> Mapdata = new Dictionary<string, List<Dictionary<string, string>>>();
- Mapdata.Add("data", ListTable);
- string acts = http.HttpPost(url, JsonConvert.SerializeObject(Mapdata));
- }
- #region 应付单
- public void PostYFList(K3CloudApiClient client, string FBillNo)
- {
- int i = 0;
- string url = "http://39.98.219.9:9001/api/lichen/form/yfd";
- //string url = "http://192.168.1.148:9001/api/lichen/form/yfd";
- Dictionary<string, List<Dictionary<string, string>>> dicFBillHead = new Dictionary<string, List<Dictionary<string, string>>>(); //头
- Dictionary<string, List<Dictionary<string, string>>> FkFBillBody = new Dictionary<string, List<Dictionary<string, string>>>();//体
- //string Contentjsonbody = "";
- List<Dictionary<string, string>> ListTable = new List<Dictionary<string, string>>();
- string ArrList = client.View("AP_Payable", "{\"CreateOrgId\":0,\"Number\":\"" + FBillNo + "\",\"Id\":\"\"}");//AP00014611
- //string ArrList = client.View("AP_Payable", "{\"CreateOrgId\":0,\"Number\":\"AP00014611\",\"Id\":\"\"}");
- JObject array = JsonConvert.DeserializeObject<JObject>(ArrList);
- foreach (var itemList in array["Result"])
- {
- if (i == 0)
- {
- i++;
- continue;
- }
- string SUPPLIERID = string.IsNullOrEmpty(itemList.Parent["Result"]["SUPPLIERID"]["MultiLanguageText"][0]["Name"].ToString()) ? "无数据" : itemList.Parent["Result"]["SUPPLIERID"]["MultiLanguageText"][0]["Name"].ToString();
- string PayCurrency = string.IsNullOrEmpty(itemList.Parent["Result"]["CURRENCYID"]["MultiLanguageText"][0]["Name"].ToString()) ? "人民币" : itemList.Parent["Result"]["CURRENCYID"]["MultiLanguageText"][0]["Name"].ToString();
- string PayCondition = string.IsNullOrEmpty(itemList.Parent["Result"]["SUPPLIERID"]["SupplierFinance"][0]["PayCondition"]["MultiLanguageText"][0]["Name"].ToString()) ? "预付" : itemList.Parent["Result"]["SUPPLIERID"]["SupplierFinance"][0]["PayCondition"]["MultiLanguageText"][0]["Name"].ToString();
- Dictionary<string, string> dicFkFBillHead = new Dictionary<string, string>();//单据头
- dicFkFBillHead.Add("textField_ljqs84wy", itemList.Parent["Result"]["BillNo"].ToString()); //单据编号
- dicFkFBillHead.Add("selectField_ljqs84ww", itemList.Parent["Result"]["BillTypeID"]["MultiLanguageText"][0]["Name"].ToString()); //单据类型
- dicFkFBillHead.Add("selectField_ljqs84wz", SUPPLIERID); //供应商
- dicFkFBillHead.Add("textareaField_ljqs84xc", itemList.Parent["Result"]["REMARK"].ToString()); // 备注
- dicFkFBillHead.Add("selectField_ljqs84x4", PayCurrency); //币别
- dicFkFBillHead.Add("selectField_ljqs84xe", PayCondition); //付款条件
- dicFkFBillHead.Add("dateField_ljqs84xd", GetChinaTicks(Convert.ToDateTime(itemList.Parent["Result"]["DATE"].ToString())).ToString()); //业务日期
- dicFkFBillHead.Add("selectField_ljqs84x5", itemList.Parent["Result"]["SETTLEORGID"]["MultiLanguageText"][0]["Name"].ToString()); //结算组织
- dicFkFBillHead.Add("selectField_ljqs84x6", itemList.Parent["Result"]["FPAYORGID"]["MultiLanguageText"][0]["Name"].ToString()); //付款组织
- dicFkFBillHead.Add("dateField_ljqs84xf", GetChinaTicks(Convert.ToDateTime(itemList.Parent["Result"]["FENDDATE_H"].ToString())).ToString()); //到期日
- dicFkFBillHead.Add("selectField_ljqs84x7", itemList.Parent["Result"]["PURCHASEORGID"]["MultiLanguageText"][0]["Name"].ToString()); //采购组织
- dicFkFBillHead.Add("numberField_ljzdjury", itemList.Parent["Result"]["FALLAMOUNTFOR"].ToString()); //价税合计
- //dicFkFBillHead.Add("selectField_ljzbvqin", itemList.Parent["Result"]["FALLAMOUNTFOR"].ToString()); //价税合计
- ///单据体数据
- List<Dictionary<string, string>> ListListBody = new List<Dictionary<string, string>>();
- foreach (var itemsData in array["Result"]["Result"]["AP_PAYABLEENTRY"])
- {
- string F_BQB_Base = string.IsNullOrEmpty(itemsData["F_BQB_Base"].ToString()) ? "" : itemsData["F_BQB_Base"]["MultiLanguageText"][0]["Name"].ToString();
- string MATERIALID_Id = string.IsNullOrEmpty(itemsData["MATERIALID"].ToString())?" ": itemsData["MATERIALID"]["Number"].ToString();
- string MATERIALID = string.IsNullOrEmpty(itemsData["MATERIALID"].ToString())?" ": itemsData["MATERIALID"]["MultiLanguageText"][0]["Name"].ToString();
- string FPRICEUNITID = string.IsNullOrEmpty(itemsData["PRICEUNITID"].ToString())?"": itemsData["PRICEUNITID"]["MultiLanguageText"][0]["Name"].ToString();
- string FPrice = string.IsNullOrEmpty(itemsData["FPrice"].ToString())?"0": itemsData["FPrice"].ToString();
- string PriceQty = string.IsNullOrEmpty(itemsData["PriceQty"].ToString()) ? "0" : itemsData["PriceQty"].ToString();
- string TaxPrice = string.IsNullOrEmpty(itemsData["TaxPrice"].ToString())?"0": itemsData["TaxPrice"].ToString();
- string EntryTaxRate = string.IsNullOrEmpty(itemsData["EntryTaxRate"].ToString()) ? "0" : itemsData["EntryTaxRate"].ToString();
- string EntryDiscountRate = string.IsNullOrEmpty(itemsData["EntryDiscountRate"].ToString()) ? "0" : itemsData["EntryDiscountRate"].ToString();
- string FDISCOUNTAMOUNTFOR = string.IsNullOrEmpty(itemsData["FDISCOUNTAMOUNTFOR"].ToString()) ? "0" : itemsData["FDISCOUNTAMOUNTFOR"].ToString();
- string FALLAMOUNTFOR_D = string.IsNullOrEmpty(itemsData["FALLAMOUNTFOR_D"].ToString()) ? "0" : itemsData["FALLAMOUNTFOR_D"].ToString();
- string FTAXAMOUNTFOR_D = string.IsNullOrEmpty(itemsData["FTAXAMOUNTFOR_D"].ToString()) ? "0" : itemsData["FTAXAMOUNTFOR_D"].ToString();
- string FNoTaxAmountFor_D = string.IsNullOrEmpty(itemsData["FNoTaxAmountFor_D"].ToString()) ? "0" : itemsData["FNoTaxAmountFor_D"].ToString();
- string FCOSTID = string.IsNullOrEmpty(itemsData["FCOSTID"].ToString()) ? "" : itemsData["FCOSTID"]["MultiLanguageText"][0]["Name"].ToString();
- string Number = string.IsNullOrEmpty(itemsData["FCOSTID"].ToString()) ? "" : itemsData["FCOSTID"]["Number"].ToString();
- string FCOSTDEPARTMENTID = string.IsNullOrEmpty(itemsData["FCOSTDEPARTMENTID"].ToString()) ? "" : itemsData["FCOSTDEPARTMENTID"]["MultiLanguageText"][0]["Name"].ToString();
- Dictionary<string, string> dicFkFPAYAPPLYENTRY = new Dictionary<string, string>();
- dicFkFPAYAPPLYENTRY.Add("selectField_ljz5shhv", FCOSTID); //费用项目名称
- dicFkFPAYAPPLYENTRY.Add("textField_ljz5shhw", Number); //费用项目编码
- dicFkFPAYAPPLYENTRY.Add("selectField_ljqs84xh", F_BQB_Base); //客户
- dicFkFPAYAPPLYENTRY.Add("selectField_ljqs84xi", MATERIALID_Id); //物料编码
- dicFkFPAYAPPLYENTRY.Add("textField_ljqs84xl", MATERIALID); //物料名称
- dicFkFPAYAPPLYENTRY.Add("textField_ljqs84xm", FPRICEUNITID); //计价单位
- dicFkFPAYAPPLYENTRY.Add("numberField_ljqs84xn", FPrice); //单价
- dicFkFPAYAPPLYENTRY.Add("numberField_ljqs84xo", PriceQty); //计价数量
- dicFkFPAYAPPLYENTRY.Add("numberField_ljqs84xp", TaxPrice); //含税单价
- dicFkFPAYAPPLYENTRY.Add("numberField_ljqs84xq", EntryTaxRate); //税率
- dicFkFPAYAPPLYENTRY.Add("numberField_ljqs84xs", EntryDiscountRate); //折扣率
- dicFkFPAYAPPLYENTRY.Add("numberField_ljqs84xt", FDISCOUNTAMOUNTFOR); //折扣额
- dicFkFPAYAPPLYENTRY.Add("numberField_ljqs84xu", FNoTaxAmountFor_D); //不含税金额
- dicFkFPAYAPPLYENTRY.Add("numberField_ljqs84xv", FTAXAMOUNTFOR_D); //税额
- dicFkFPAYAPPLYENTRY.Add("numberField_ljqs84xw", FALLAMOUNTFOR_D); //价税合计
- dicFkFPAYAPPLYENTRY.Add("textField_ljzbvqik", FCOSTDEPARTMENTID); //费用承担部门
- ListListBody.Add(dicFkFPAYAPPLYENTRY);
- }
- dicFkFBillHead.Add("tableField_ljqs84xg", JsonConvert.SerializeObject(ListListBody));
- ListTable.Add(dicFkFBillHead);
- }
- Dictionary<string, List<Dictionary<string, string>>> Mapdata = new Dictionary<string, List<Dictionary<string, string>>>();
- Mapdata.Add("data", ListTable);
- string acts = http.HttpPost(url, JsonConvert.SerializeObject(Mapdata));
- }
- #endregion
- /// <summary>
- /// 时间转换 毫秒级别的时间戳
- /// </summary>
- /// <param name="dateTime"></param>
- /// <returns></returns>
- public static string GetChinaTicks(DateTime dateTime)
- {
- //北京时间相差8小时
- DateTime startTime = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1, 8, 0, 0, 0), TimeZoneInfo.Local);
- long t = (dateTime.Ticks - startTime.Ticks) / 10000; //除10000调整为13位
- return t.ToString();
- }
- #region 往来单位同步
- /// <summary>
- /// 获取金蝶客户往来单位
- /// </summary>
- public void PostKingdeeKH(K3CloudApiClient client, DateTime date)
- {
- try
- {
- DataTable dt = new DataTable();
- dt.Columns.Add("Type", Type.GetType("System.String"));
- dt.Columns.Add("FNumber", Type.GetType("System.String"));
- dt.Columns.Add("FName", Type.GetType("System.String"));
- DataRow newRow;
- DataTable dt2 = new DataTable();
-
- string daTime = date.AddDays(-1).ToString("yyyy-MM-ddThh:mm:ss");//FCreateDate >= '" + daTime + "'
- ///往来单位 FCreateDate >= '" + daTime + "',
- string url = "http://39.98.219.9:9001/api/lichen/form/wldx";
- //string url = "https://mc.cloudpure.cn/frp/lichen/form/wldx";
- //client.ExecuteBillQuerySync({\"FormId\": \"BD_Customer\",\"FieldKeys\": \"FNumber,FName\",\"FilterString\":\"FDOCUMENTSTATUS = 'C'\",\"OrderString\": \"\",\"TopRowCount\": 0,\"StartRow\": 0,\"Limit\": 0}");
- var dtlits = client.ExecuteBillQuery("{\"FormId\": \"BD_Customer\",\"FieldKeys\": \"FNumber,FName\",\"FilterString\":\"FDOCUMENTSTATUS = 'C'\",\"OrderString\": \"\",\"TopRowCount\": 0,\"StartRow\": 0,\"Limit\": 0}");
- List<Dictionary<string, string>> MapDic = new List<Dictionary<string, string>>();
- foreach (var item in dtlits)
- {
- if (item.Count > 1)
- {
- newRow = dt.NewRow();
- newRow["Type"] = "客户";
- newRow["FNumber"] = item[0].ToString();
- newRow["FName"] = item[1].ToString();
- dt.Rows.Add(newRow);
- DataView dv = new DataView(dt);
- dt2 = dv.ToTable(true,new string[]{"Type","FNumber","FName"});
- }
- }
- foreach (DataRow item in dt2.Rows)
- {
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("Type", "客户");
- dic.Add("FNumber", item["FNumber"].ToString());
- dic.Add("FName", item["FName"].ToString());
- MapDic.Add(dic);
- Dictionary<string, List<Dictionary<string, string>>> Mapdata = new Dictionary<string, List<Dictionary<string, string>>>();
- Mapdata.Add("data", MapDic);
- string Contentjson = JsonConvert.SerializeObject(Mapdata);
- string acts = http.HttpPost(url, Contentjson);
- }
- ShowLog("OK");
- }
- catch (Exception e)
- {
- ShowLog(e.Message);
- }
- }
- /// <summary>
- /// 同步金蝶员工往来单位
- /// </summary>
- /// <param name="client"></param>
- /// <param name="date"></param>
- public void PostKingdeeYG(K3CloudApiClient client, DateTime date)
- {
- try
- {
- //FCreateDate >= '" + daTime + "'\",FCreateDate >= '" + daTime + "'
- string daTime = date.AddDays(-1).ToString("yyyy-MM-ddThh:mm:ss");//39.98.219.9:9001 //FCreateDate >= '" + daTime + "'and
- //string url = "http://192.168.1.76:9001/api/lichen/form/wldx";
- string url = "http://39.98.219.9:9001/api/lichen/form/wldx";
- var KingdeeWLList = client.ExecuteBillQuery("{\"FormId\":\"BD_Empinfo\",\"FieldKeys\":\"FNumber,FName\",\"FilterString\":\"FCreateDate >= '" + daTime + "'and FDOCUMENTSTATUS = 'C'\",\"OrderString\": \"\",\"TopRowCount\": 0,\"StartRow\": 0,\"Limit\": 0}");
- List<Dictionary<string, string>> MapDic = new List<Dictionary<string, string>>();
- foreach (var item in KingdeeWLList)
- {
- if (item.Count > 1)
- {
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("Type", "员工");
- dic.Add("FNumber", item[0].ToString());
- dic.Add("FName", item[1].ToString());
- MapDic.Add(dic);
- Dictionary<string, List<Dictionary<string, string>>> Mapdata = new Dictionary<string, List<Dictionary<string, string>>>();
- Mapdata.Add("data", MapDic);
- string Contentjson = JsonConvert.SerializeObject(Mapdata);
- string acts = http.HttpPost(url, Contentjson);
- }
- }
- ShowLog("OK");
- }
- catch (Exception e)
- {
- ShowLog(e.Message);
- }
- }
- /// <summary>
- /// 其他往来单位
- /// </summary>
- /// <param name="client"></param>
- /// <param name="date"></param>
- public void PostKingdeeQT(K3CloudApiClient client, DateTime date)
- {
- try
- {
- //FCreateDate >= '" + daTime + "',
- string daTime = date.AddDays(-1).ToString("yyyy-MM-ddThh:mm:ss"); //FCreateDate >= '" + daTime + "'
- string url = "http://39.98.219.9:9001/api/lichen/form/wldx";
- var KingdeeWLList = client.ExecuteBillQuery("{\"FormId\": \"FIN_OTHERS\",\"FieldKeys\": \"FNumber,FName\",\"FilterString\":\"FCreateDate >= '" + daTime + "' andFDOCUMENTSTATUS = 'C'\",\"OrderString\": \"\",\"TopRowCount\": 0,\"StartRow\": 0,\"Limit\": 0}");
- List<Dictionary<string, string>> MapDic = new List<Dictionary<string, string>>();
- foreach (var item in KingdeeWLList)
- {
- if (item.Count > 1)
- {
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("Type", "其他往来单位");
- dic.Add("FNumber", item[0].ToString());
- dic.Add("FName", item[1].ToString());
- MapDic.Add(dic);
- Dictionary<string, List<Dictionary<string, string>>> Mapdata = new Dictionary<string, List<Dictionary<string, string>>>();
- Mapdata.Add("data", MapDic);
- string Contentjson = JsonConvert.SerializeObject(Mapdata);
- string acts = http.HttpPost(url, Contentjson);
- }
- }
- ShowLog("OK");
- }
- catch (Exception e)
- {
- ShowLog(e.Message);
- }
- }
- /// <summary>
- /// 供应商
- /// </summary>
- /// <param name="client"></param>
- /// <param name="date"></param>
- public void PostKingdeeGYS(K3CloudApiClient client, DateTime date)
- {
- try
- {
- string daTime = date.AddDays(-1).ToString("yyyy-MM-ddThh:mm:ss"); //FCreateDate >= '" + daTime + "',
- string url = "http://39.98.219.9:9001/api/lichen/form/wldx";
- //string querylist = "{\"FormId\":\"BD_Supplier\",\"FieldKeys\":\"FNumber,FName\",\"FilterString\":\"FDOCUMENTSTATUS = 'C'\",\"OrderString\":\"\",\"TopRowCount\":0,\"StartRow\":0,\"Limit\":0}";
- var KingdeeGYSList = client.ExecuteBillQuery("{ \"FormId\":\"BD_Supplier\",\"FieldKeys\":\"FNumber,FName\",\"FilterString\":\"FCreateDate >= '" + daTime + "' and FDOCUMENTSTATUS = 'C'\",\"OrderString\":\"\",\"TopRowCount\":0,\"StartRow\":0,\"Limit\":0}");
- //var KingdeeGYSList = client.ExecuteBillQuery(querylist);
- List<Dictionary<string, string>> MapDic = new List<Dictionary<string, string>>();
- foreach (var item in KingdeeGYSList)
- {
- if (item.Count > 1)
- {
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add("Type", "供应商");
- dic.Add("FNumber", item[0].ToString());
- dic.Add("FName", item[1].ToString());
- MapDic.Add(dic);
- Dictionary<string, List<Dictionary<string, string>>> Mapdata = new Dictionary<string, List<Dictionary<string, string>>>();
- Mapdata.Add("data", MapDic);
- string Contentjson = JsonConvert.SerializeObject(Mapdata);
- string acts = http.HttpPost(url, Contentjson);
- }
- }
- ShowLog("OK");
- }
- catch (Exception e)
- {
- ShowLog(e.Message);
- }
- }
- #endregion
- #region 创建文本文件
- public void ShowLog(string log)
- {
- File.AppendAllText("log.txt", "\r\n" + log +",日期:"+DateTime.Now);
- }
- #endregion
- }
- }
|