Form1.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using Abp;
  2. using DataTransmission.Joint;
  3. using System.CodeDom.Compiler;
  4. using System.Data;
  5. namespace DataTransmission
  6. {
  7. public partial class Form1 : Form
  8. {
  9. private readonly Order order = new Order();
  10. private readonly Execute execute = new Execute();
  11. private readonly CommonTool tool = new CommonTool();
  12. private readonly Knowledge knowledge = new Knowledge();
  13. public Form1()
  14. {
  15. InitializeComponent();
  16. }
  17. private void btn_tb_Click(object sender, EventArgs e)
  18. {
  19. btn_tb.Enabled = false;
  20. if (cb_opp.Checked)
  21. {//同步工单发布公开数据ExecuteInsertOrderPublic
  22. execute.ExecuteInsertOrderPublic(st_time.Value.ToString("yyyy-MM-dd") + " 00:00:00", end_time.Value.ToString("yyyy-MM-dd") + " 23:59:59");
  23. }
  24. if (cb_tz.Checked)
  25. {
  26. execute.ExecuteInsertNotice(st_time.Value.ToString("yyyy-MM-dd") + " 00:00:00", end_time.Value.ToString("yyyy-MM-dd") + " 23:59:59");
  27. }
  28. if (cb_zsk.Checked)
  29. {
  30. execute.ExecuteInsertKnowledge(st_time.Value.ToString("yyyy-MM-dd") + " 00:00:00", end_time.Value.ToString("yyyy-MM-dd") + " 23:59:59");
  31. }
  32. if (cb_zsklx.Checked)
  33. {
  34. //知识库类型
  35. execute.ExecuteTypeSql();
  36. }
  37. if (cb_order.Checked)
  38. {
  39. ExecuteInsert();
  40. }
  41. if (cb_jg.Checked)
  42. {
  43. execute.ExecuteOrganizeSql();
  44. }
  45. if (cb_user.Checked)
  46. {
  47. execute.ExecuteUserSql();
  48. //工号
  49. //execute.ExecuteStaffSql();
  50. }
  51. MessageBox.Show("同步完成!请先别关闭程序!");
  52. btn_tb.Enabled = true;
  53. }
  54. private void ExecuteInsert()
  55. {
  56. var orderTable = order.GetOrder(st_time.Value.ToString("yyyy-MM-dd") + " 00:00:00", end_time.Value.ToString("yyyy-MM-dd") + " 23:59:59");
  57. var count = orderTable.Rows.Count;
  58. var exNum = 0;
  59. var threadNum = 100;
  60. var divisor = count / threadNum;
  61. var remainder = count % threadNum;
  62. for (int i = 0; i < divisor; i++)
  63. {
  64. var stNum = exNum;
  65. var enNum = exNum + threadNum;
  66. var data = orderTable.AsEnumerable().Where(x => ((int)x.Field<long>("Serial")) > stNum && ((int)x.Field<long>("Serial")) <= enNum).CopyToDataTable();
  67. execute.ExecuteSql(data);
  68. exNum += threadNum;
  69. }
  70. if (remainder > 0)
  71. {
  72. var stNum = divisor * threadNum;
  73. var data = orderTable.AsEnumerable().Where(x => ((int)x.Field<long>("Serial")) >= stNum).CopyToDataTable();
  74. execute.ExecuteSql(data);
  75. }
  76. }
  77. }
  78. }