job.go 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package service
  2. import (
  3. "fmt"
  4. "github.com/robfig/cron"
  5. "kpt.xdmy/apiserver/model"
  6. "kpt.xdmy/apiserver/service/cownum_sqlserver"
  7. "time"
  8. )
  9. var s *Service
  10. func SapJobInit() {
  11. duetimecst, _ := time.ParseInLocation("15:04:05", "00:01:00", time.Local)
  12. duetimecst1, _ := time.ParseInLocation("15:04:05", "00:00:00", time.Local)
  13. spec := fmt.Sprintf("@every %v", duetimecst.Sub(duetimecst1))
  14. c := cron.New()
  15. c.AddFunc(spec, func() {
  16. AutoSapOrderJob()
  17. AutoSrmOrderJob()
  18. AutoSapReturnOrderJob()
  19. AutoSrmReturnOrderJob()
  20. })
  21. c.Start()
  22. /*
  23. var t time.Time
  24. t = time.Now()
  25. var code string
  26. pastureList := make([]*model.Pasture, 0)
  27. err := s.d.DB.Table("pasture").Where("id in(367)").Find(&pastureList)
  28. fmt.Println(err)
  29. i := -120
  30. for {
  31. fmt.Println(i, t.AddDate(0, 0, i))
  32. for _, pasture := range pastureList {
  33. s.SapSupplier(t, pasture.CompanyCode, pasture.ID)
  34. s.SapAsset(t.AddDate(0, 0, i), code, pasture.CompanyCode)
  35. }
  36. if t.AddDate(0, 0, i).Format("2006-01-02") == "2023-04-26" {
  37. break
  38. }
  39. i++
  40. }
  41. */
  42. c1 := cron.New()
  43. c1.AddFunc("0 50 23 * * ?", func() {
  44. fmt.Println(time.Now())
  45. var t time.Time
  46. t = time.Now()
  47. var code string
  48. pastureList := make([]*model.Pasture, 0)
  49. err := s.d.DB.Table("pasture").Find(&pastureList)
  50. fmt.Println(err)
  51. for _, pasture := range pastureList {
  52. s.SapSupplier(t, pasture.CompanyCode, pasture.ID)
  53. s.SapAsset(t, code, pasture.CompanyCode)
  54. }
  55. s.SapMaterial(t, code)
  56. s.d.DB.Exec(`call createEqstatus()`)
  57. })
  58. //保养计划
  59. duetimecst, _ = time.ParseInLocation("15:04:05", "01:00:00", time.Local)
  60. duetimecst1, _ = time.ParseInLocation("15:04:05", "00:00:00", time.Local)
  61. spec1 := fmt.Sprintf("@every %v", duetimecst.Sub(duetimecst1))
  62. c1.AddFunc(spec1, func() {
  63. s.d.DB.Exec(`call createRUcode()`)
  64. })
  65. duetimecst, _ = time.ParseInLocation("15:04:05", "00:05:00", time.Local)
  66. duetimecst1, _ = time.ParseInLocation("15:04:05", "00:00:00", time.Local)
  67. spec2 := fmt.Sprintf("@every %v", duetimecst.Sub(duetimecst1))
  68. c1.AddFunc(spec2, func() {
  69. s.d.DB.Exec(`call wxmsg()`)
  70. })
  71. //i := -10
  72. //for {
  73. // now := time.Now().AddDate(0, 0, i).Format("2006-01-02")
  74. // fmt.Println(now)
  75. // cownum_sqlserver.SyncCownum(s.sqlserver, s.d, now)
  76. // if now == "2023-05-09" {
  77. // break
  78. // }
  79. // i++
  80. //}
  81. //pastureList := make([]*model.Pasture, 0)
  82. //s.d.DB.Table("pasture").Where("vendor = 1 ").Where("factory_code != '' ").Where("factory_code is not null ").Find(&pastureList)
  83. //for _, item := range pastureList {
  84. // //fmt.Println(item.FactoryCode, "a")
  85. // AutoFeeQuery(item.FactoryCode, item.ID)
  86. //}
  87. c1.AddFunc("0 10 16 * * ?", func() {
  88. cownum_sqlserver.SyncCownum(s.sqlserver, s.d, time.Now().AddDate(0, 0, -1).Format("2006-01-02"))
  89. //pastureList := make([]*model.Pasture, 0)
  90. //s.d.DB.Table("pasture").Where("vendor = 1 ").Where("factory_code != '' ").Where("factory_code is not null ").Find(&pastureList)
  91. //for _, item := range pastureList {
  92. // //fmt.Println(item.FactoryCode, "a")
  93. // AutoFeeQuery(item.FactoryCode, item.ID)
  94. //}
  95. })
  96. c1.Start()
  97. }
  98. func jobMaterial() {
  99. t := time.Now()
  100. var code string
  101. s.SapMaterial(t, code)
  102. }
  103. func jobTransfer() {
  104. autoTransfer()
  105. }