FKYF_SyncService.cs 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. using HH.YiDaSyncNC.Dtos.NC;
  2. using HH.YiDaSyncNC.Dtos.YIDA;
  3. using HH.YiDaSyncNC.Helper;
  4. using HH.YiDaSyncNC.Models;
  5. using Newtonsoft.Json;
  6. using SqlSugar;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Configuration;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. using System.Xml.Linq;
  14. namespace HH.YiDaSyncNC.DataSync
  15. {
  16. public class FKYF_SyncService
  17. {
  18. public string _AppType;
  19. public string _SystemToken;
  20. public string _UserId;
  21. public string _FormId;
  22. public SqlSugarClient _db;
  23. public SqlSugarClient _db_nc;
  24. public string _NCApiUrl;
  25. public static string _Static_PK_bd_project = ConfigurationManager.AppSettings["bd_project"];
  26. public static string _Static_pk_org_jt = ConfigurationManager.AppSettings["pk_org_jt"];
  27. public FKYF_SyncService(string AppType, string SystemToken, string UserId, string FormId, SqlSugarClient db, SqlSugarClient db_nc, string NCApiUrl)
  28. {
  29. _AppType = AppType;
  30. _SystemToken = SystemToken;
  31. _UserId = UserId;
  32. _FormId = FormId;
  33. _db = db;
  34. _db_nc = db_nc;
  35. _NCApiUrl = NCApiUrl;
  36. }
  37. public void DataSync()
  38. {
  39. //DingTalkService _dingTalkService = new DingTalkService(_AppType, _SystemToken, _UserId, _FormId);
  40. //// 宜搭全量数据Id
  41. //var serchKeyListJson = new
  42. //{
  43. // radioField_lycrvvtk = "Y",
  44. // selectField_lrnh633d = "预付",
  45. //};
  46. //var idList = _dingTalkService.GetFormIdList(JsonConvert.SerializeObject(serchKeyListJson));
  47. ////LogHelper.WriteLog(JsonConvert.SerializeObject(idList.Count), "idList");
  48. //#region 获取NC中选项数据的Id
  49. //var bd_customerDic = _db_nc.Queryable<bd_customer>().ToList();
  50. //var bd_incomeDic = _db_nc.Queryable<bd_income>().ToList();
  51. //var org_orgsDic = _db_nc.Queryable<org_orgs>().ToList();
  52. //var bd_projectDic = _db_nc.Queryable<bd_project>().ToList();
  53. //var bd_materialDic = _db_nc.Queryable<bd_material>().ToList();
  54. //var bd_measdocDic = _db_nc.Queryable<bd_measdoc>().ToList();
  55. //var org_deptDic = _db_nc.Queryable<org_dept>().ToList();
  56. //var bd_psndocDic = _db_nc.Queryable<bd_psndoc>().ToList();
  57. //var sm_userDic = _db_nc.Queryable<sm_user>().ToList();
  58. //var org_accountingbookDic = _db_nc.Queryable<org_accountingbook>().ToList();
  59. //#endregion
  60. //foreach (var item in idList)
  61. //{
  62. // string createTime = "";
  63. // string modifyTime = "";
  64. // var ydDataSource = _dingTalkService.GetFormDataById(item, out createTime, out modifyTime);
  65. // string jsonData = JsonConvert.SerializeObject(ydDataSource);
  66. // YiDa_SKDNC thisYiDaData = JsonConvert.DeserializeObject<YiDa_SKDNC>(jsonData);
  67. // if (string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb)) continue;
  68. // if (string.IsNullOrWhiteSpace(thisYiDaData.textField_lwitiobt)) continue;
  69. // var detailObjFPList1 = thisYiDaData.tableField_lsx02qv5; //发票明细
  70. // if (detailObjFPList1 is null || detailObjFPList1.Count == 0) continue;
  71. // DateTime 日期 = DateTime.Now;// UnixTimeHelper.ConvertMillisecondsToDateTime(thisYiDaData.dateField_lviv4sfy);
  72. // string 组织 = "";
  73. // if (!string.IsNullOrWhiteSpace(thisYiDaData.selectField_lvywoqmb))
  74. // {
  75. // var tempData = org_orgsDic.FirstOrDefault(f => f.name == thisYiDaData.selectField_lvywoqmb);
  76. // if (tempData != null)
  77. // {
  78. // 组织 = tempData.code; // 组织
  79. // }
  80. // }
  81. // string 单据号 = "";
  82. // if (!string.IsNullOrWhiteSpace(thisYiDaData.serialNumberField_lwiz0n9f))
  83. // {
  84. // 单据号 = thisYiDaData.serialNumberField_lwiz0n9f; // 组织
  85. // }
  86. // string 制单人 = "OA-NC";
  87. // // 表头
  88. // var headModel = new FKYF_SyncServiceModel.DataModel.voucher_header()
  89. // {
  90. // billdate = 日期.ToString("yyyy-MM-dd"),
  91. // billmaker = 制单人,
  92. // billno = 单据号,
  93. // billperiod = 日期.ToString("MM"),
  94. // billyear = 日期.ToString("yyyy"),
  95. // creationtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
  96. // creator = 制单人,
  97. // local_money = thisYiDaData.numberField_lvua3j18.ToString(),
  98. // money = thisYiDaData.numberField_lvua3j18.ToString(),
  99. // pk_org = 组织,
  100. // pu_org = 组织,
  101. // pu_deptid = "",
  102. // pu_psndoc = "",
  103. // };
  104. // //表体
  105. // var detailList = new List<FKYF_SyncServiceModel.DataModel.voucher_body>();
  106. // if (thisYiDaData.tableField_lrngrtgu != null)
  107. // {
  108. // var detailObjList1 = thisYiDaData.tableField_lrngrtgu; //明细
  109. // int index = 1;
  110. // foreach (var objItem in detailObjList1)
  111. // {
  112. // var thisBody = new FKYF_SyncServiceModel.DataModel.voucher_body()
  113. // {
  114. // sett_org = 组织,
  115. // supplier = thisYiDaData.textField_lwitiobt,
  116. // pk_subjcode = objItem.textField_lwitioch,
  117. // subjcode = objItem.textField_lwitioce,
  118. // billdate = 日期.ToString("yyyy-MM-dd"),
  119. // busidate = 日期.ToString("yyyy-MM-dd"),
  120. // invoiceno = detailObjFPList1.FirstOrDefault().textField_lsx02qv8,
  121. // price = objItem.numberField_lvxa4v09.ToString(),// "单价",
  122. // taxprice = objItem.numberField_lvua3j17.ToString(),
  123. // quantity_cr = "1",//"贷方数量",
  124. // money_cr = objItem.numberField_lvua3j17.ToString(),//"贷方原币金额",
  125. // notax_cr = objItem.numberField_lvxa4v09.ToString(),//"贷方原币无税金额",
  126. // local_money_cr = objItem.numberField_lvua3j17.ToString(),//"组织本币金额(贷方)",
  127. // local_notax_cr = objItem.numberField_lvxa4v09.ToString(),//"组织本币无税金额(贷方)",
  128. // caltaxmny = objItem.numberField_lvxa4v09.ToString(),//"计税金额",
  129. // local_tax_cr = objItem.numberField_lvxa4v08.ToString() ?? "0",//"税额",
  130. // taxrate = "13",
  131. // pu_org = 组织,
  132. // rowno = index.ToString(),
  133. // ordercubasdoc = thisYiDaData.textField_lwitiobt,
  134. // pk_fiorg = 组织,
  135. // pk_org= 组织,
  136. // pu_deptid = "",
  137. // pk_psndoc ="",
  138. // pk_deptid ="",
  139. // material="",
  140. // };
  141. // detailList.Add(thisBody);
  142. // index++;
  143. // }
  144. // XElement xElement = FKYF_SyncServiceModel.ImportXml_应付单.TemplateHeade(headModel);
  145. // xElement.Add(FKYF_SyncServiceModel.ImportXml_应付单.Header(headModel));//添加表头数据
  146. // xElement.Element("bill").Element("billhead").Element("bodys").Add(FKYF_SyncServiceModel.ImportXml_应付单.Body(detailList));
  147. // //生成凭证
  148. // var results_应付单 = NCImportFunc.NCImport2(xElement, _NCApiUrl + "?account=01&groupcode=0");
  149. // LogHelper.WriteLog(JsonConvert.SerializeObject(results_应付单), "results_应付单");
  150. //}
  151. //}
  152. }
  153. }
  154. }