Form1.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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_tz.Checked)
  21. {
  22. execute.ExecuteInsertNotice(st_time.Value.ToString("yyyy-MM-dd") + " 00:00:00", end_time.Value.ToString("yyyy-MM-dd") + " 23:59:59");
  23. }
  24. if (cb_zsk.Checked)
  25. {
  26. execute.ExecuteInsertKnowledge(st_time.Value.ToString("yyyy-MM-dd") + " 00:00:00", end_time.Value.ToString("yyyy-MM-dd") + " 23:59:59");
  27. //知识库类型
  28. //execute.ExecuteTypeSql();
  29. }
  30. if (cb_order.Checked)
  31. {
  32. ExecuteInsert();
  33. }
  34. if (cb_jg.Checked)
  35. {
  36. execute.ExecuteOrganizeSql();
  37. }
  38. if (cb_user.Checked)
  39. {
  40. execute.ExecuteUserSql();
  41. //工号
  42. //execute.ExecuteStaffSql();
  43. }
  44. MessageBox.Show("同步完成!请先别关闭程序!");
  45. btn_tb.Enabled = true;
  46. }
  47. private void ExecuteInsert()
  48. {
  49. var orderTable = order.GetOrder(st_time.Value.ToString("yyyy-MM-dd") + " 00:00:00", end_time.Value.ToString("yyyy-MM-dd") + " 23:59:59");
  50. var count = orderTable.Rows.Count;
  51. var exNum = 0;
  52. var threadNum = 100;
  53. var divisor = count / threadNum;
  54. var remainder = count % threadNum;
  55. for (int i = 0; i < divisor; i++)
  56. {
  57. var stNum = exNum;
  58. var enNum = exNum + threadNum;
  59. var data = orderTable.AsEnumerable().Where(x => ((int)x.Field<long>("Serial")) > stNum && ((int)x.Field<long>("Serial")) <= enNum).CopyToDataTable();
  60. execute.ExecuteSql(data);
  61. exNum += threadNum;
  62. }
  63. if (remainder > 0)
  64. {
  65. var stNum = divisor * threadNum;
  66. var data = orderTable.AsEnumerable().Where(x => ((int)x.Field<long>("Serial")) >= stNum).CopyToDataTable();
  67. execute.ExecuteSql(data);
  68. }
  69. }
  70. }
  71. }