job.go 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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. //pastureList := make([]*model.Pasture, 0)
  23. //s.d.DB.Table("pasture").Find(&pastureList)
  24. //var t time.Time
  25. //t = time.Now()
  26. //i := -320
  27. //for {
  28. // i++
  29. //for _, pasture := range pastureList {
  30. //s.SapAssetSalvage(t, "1024", 346)
  31. //}
  32. // if t.AddDate(0, 0, i).Format("2006-01-02") == "2023-08-24" {
  33. // break
  34. // }
  35. //}
  36. c1 := cron.New()
  37. c1.AddFunc("0 40 23 * * ?", func() {
  38. fmt.Println(time.Now())
  39. //更新设备维修和保养费用
  40. var t time.Time
  41. t = time.Now()
  42. var code string
  43. pastureList := make([]*model.Pasture, 0)
  44. err := s.d.DB.Table("pasture").Find(&pastureList)
  45. fmt.Println(err)
  46. for _, pasture := range pastureList {
  47. s.SapSupplier(t, pasture.CompanyCode, pasture.ID)
  48. s.SapAsset(t, code, pasture.CompanyCode)
  49. }
  50. s.SapMaterial(t, code)
  51. s.d.DB.Exec(`call createEqstatus()`)
  52. })
  53. //保养计划
  54. duetimecst, _ = time.ParseInLocation("15:04:05", "01:00:00", time.Local)
  55. duetimecst1, _ = time.ParseInLocation("15:04:05", "00:00:00", time.Local)
  56. spec1 := fmt.Sprintf("@every %v", duetimecst.Sub(duetimecst1))
  57. c1.AddFunc(spec1, func() {
  58. pastureList := make([]*model.Pasture, 0)
  59. s.d.DB.Table("pasture").Where("vendor = 1").Find(&pastureList)
  60. for _, pasture := range pastureList {
  61. fmt.Println(pasture.ID)
  62. s.d.DB.Exec(`call createRUcode(?)`, pasture.ID)
  63. }
  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. c1.AddFunc("0 50 01 * * ?", func() {
  72. //更新设备维修和保养费用
  73. pastureList := make([]*model.Pasture, 0)
  74. s.d.DB.Table("pasture").Where("vendor = 1 ").Where("id != 18 ").Find(&pastureList)
  75. now := time.Now()
  76. start := now.AddDate(-1, 0, 0).Format("2006-01-02")
  77. end := now.Format("2006-01-02")
  78. for _, pasture := range pastureList {
  79. updateEqYearMaintainCostAndYearUpkeepCost(pasture.ID, start, end)
  80. }
  81. })
  82. c1.AddFunc("0 20 18 * * ?", func() {
  83. cownum_sqlserver.SyncCownum(s.sqlserver, s.d, time.Now().AddDate(0, 0, -3).Format("2006-01-02"))
  84. cownum_sqlserver.SyncCownum(s.sqlserver, s.d, time.Now().AddDate(0, 0, -2).Format("2006-01-02"))
  85. cownum_sqlserver.SyncCownum(s.sqlserver, s.d, time.Now().AddDate(0, 0, -1).Format("2006-01-02"))
  86. pastureList := make([]*model.Pasture, 0)
  87. s.d.DB.Table("pasture").Where("vendor = 1 ").Where("factory_code != '' ").Where("factory_code is not null ").Find(&pastureList)
  88. for _, item := range pastureList {
  89. AutoFeeQuery(item.FactoryCode, item.ID)
  90. }
  91. })
  92. c1.AddFunc("0 10 12 * * ?", func() {
  93. AutoContractToASP()
  94. })
  95. c1.AddFunc("0 20 23 * * ?", func() {
  96. AutoContractToASP()
  97. })
  98. //AutoContractToASP()
  99. AutoContractToASP()
  100. //c1.Start()
  101. }
  102. func jobMaterial() {
  103. t := time.Now()
  104. var code string
  105. s.SapMaterial(t, code)
  106. }
  107. func jobTransfer() {
  108. autoTransfer()
  109. }