Form1.cs 2.8 KB

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