tools.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package tools
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "lims-extend/common"
  5. "lims-extend/model"
  6. "lims-extend/response"
  7. "time"
  8. )
  9. type InfoVo struct {
  10. SoftwareTitle string `json:"software_title"`
  11. CreateTime string `json:"create_time"`
  12. SendTime string `json:"send_time"`
  13. By string `json:"by"`
  14. }
  15. func ModifyTime(c *gin.Context) {
  16. var info InfoVo
  17. c.ShouldBind(&info)
  18. db := common.GetDB()
  19. createTime, _ := time.ParseInLocation("2006-01-02 15:04:05", info.CreateTime, time.Local)
  20. sendTime, _ := time.ParseInLocation("2006-01-02 15:04:05", info.SendTime, time.Local)
  21. var software model.Software
  22. if info.By == "name" {
  23. if err := db.Model(&model.Software{}).Where("name = ? and software.delete <> 1", info.SoftwareTitle).First(&software).Error; err != nil {
  24. response.Fail(c, nil, "该软件不存在xiaohezi")
  25. return
  26. }
  27. } else if info.By == "id" {
  28. if err := db.Model(&model.Software{}).Where("id = ? and software.delete <> 1", info.SoftwareTitle).First(&software).Error; err != nil {
  29. response.Fail(c, nil, "该软件不存在_xiaohezi")
  30. return
  31. }
  32. } else {
  33. response.Fail(c, nil, "未选择查询方法")
  34. return
  35. }
  36. var plan model.Plan
  37. if err := db.Model(&model.Plan{}).Where("software_id = ? and plan.delete <> 1", software.ID).First(&plan).Error; err != nil {
  38. response.Fail(c, nil, "计划不存在")
  39. }
  40. var tasks []model.Task
  41. if err := db.Model(&model.Task{}).Where("plan_id = ?", plan.Id).Find(&tasks).Error; err != nil {
  42. response.Fail(c, nil, "任务不存在")
  43. }
  44. var version model.Version
  45. db.Model(&model.Version{}).Where("software_id = ?", software.ID).First(&version)
  46. version.CreatedAt = model.Time(createTime)
  47. version.UpdatedAt = model.Time(createTime)
  48. software.CreatedAt = model.Time(createTime)
  49. software.UpdatedAt = model.Time(createTime)
  50. plan.CreatedAt = model.Time(createTime)
  51. plan.UpdatedAt = model.Time(createTime)
  52. db.Model(&model.Version{}).Where("id = ?", version.Id).Updates(&version)
  53. db.Model(&model.Software{}).Where("id = ?", software.ID).Updates(&software)
  54. db.Model(&model.Plan{}).Where("id = ?", plan.Id).Updates(&plan)
  55. for i := 0; i < len(tasks); i++ {
  56. tasks[i].CreatedAt = model.Time(sendTime)
  57. tasks[i].UpdatedAt = model.Time(sendTime)
  58. db.Model(&model.Task{}).Where("id = ?", tasks[i].ID).Updates(&tasks[i])
  59. }
  60. response.Success(c, gin.H{"software": software,
  61. "plan": plan,
  62. "tasks": tasks}, "done!")
  63. }