winning.go 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. package oilsupplier
  2. import (
  3. "encoding/json"
  4. //"strings"
  5. //"time"
  6. //"fmt"
  7. "dashoo.cn/backend/api/business/oilsupplier/winning"
  8. . "dashoo.cn/backend/api/controllers"
  9. "dashoo.cn/utils"
  10. )
  11. type WinningController struct {
  12. BaseController
  13. }
  14. // @Title 近三年获得省部级及以上主要技术、管理成果、获奖项目
  15. // @Description get user by token
  16. // @Success 200 {object} models.Userblood
  17. // @router /winninglist [get]
  18. func (this *WinningController) WinningList() {
  19. page := this.GetPageInfoForm()
  20. var list []winning.OilWinningProject
  21. svc := winning.GetWinningService(utils.DBE)
  22. where := " 1=1"
  23. orderby := "WinningTime"
  24. asc := false
  25. Order := this.GetString("Order")
  26. Prop := this.GetString("Prop")
  27. if Order != "" && Prop != "" {
  28. orderby = Prop
  29. if Order == "asc" {
  30. asc = true
  31. }
  32. }
  33. SupplierCertId := this.GetString("SupplierCertId")
  34. if SupplierCertId != "" {
  35. where = where + " and SupplierCertId = '" + SupplierCertId + "'"
  36. }
  37. total := svc.GetPagingEntitiesWithoutAccCode(page.CurrentPage, page.Size, orderby, asc, &list, where)
  38. var datainfo DataInfo
  39. datainfo.Items = list
  40. datainfo.CurrentItemCount = total
  41. this.Data["json"] = &datainfo
  42. this.ServeJSON()
  43. }
  44. // @Title 添加近三年获得省部级及以上主要技术、管理成果、获奖项目
  45. // @Description 添加近三年获得省部级及以上主要技术、管理成果、获奖项目
  46. // @Success 200 {object} controllers.Request
  47. // @router /addwinning [post]
  48. func (this *WinningController) AddWinning() {
  49. var model winning.OilWinningProject
  50. var jsonblob = this.Ctx.Input.RequestBody
  51. json.Unmarshal(jsonblob, &model)
  52. model.CreateBy = this.User.Realname
  53. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  54. svc := winning.GetWinningService(utils.DBE)
  55. _, err := svc.InsertEntityBytbl(OilWinningProjectName, &model)
  56. var errinfo ErrorDataInfo
  57. if err == nil {
  58. errinfo.Message = "操作成功!"
  59. errinfo.Code = 0
  60. errinfo.Item = model.Id
  61. this.Data["json"] = &errinfo
  62. this.ServeJSON()
  63. } else {
  64. errinfo.Message = "操作失败!" + utils.AlertProcess(err.Error())
  65. errinfo.Code = -1
  66. this.Data["json"] = &errinfo
  67. this.ServeJSON()
  68. }
  69. }
  70. // @Title 更新近三年获得省部级及以上主要技术、管理成果、获奖项目
  71. // @Description 更新近三年获得省部级及以上主要技术、管理成果、获奖项目
  72. // @Param id path string true
  73. // @Success 200 {object}
  74. // @router /editwinning/:id [put]
  75. func (this *WinningController) EditWinning() {
  76. id := this.Ctx.Input.Param(":id")
  77. var errinfo ErrorInfo
  78. if id == "" {
  79. errinfo.Message = "操作失败!请求信息不完整"
  80. errinfo.Code = -2
  81. this.Data["json"] = &errinfo
  82. this.ServeJSON()
  83. return
  84. }
  85. var model winning.OilWinningProject
  86. var jsonblob = this.Ctx.Input.RequestBody
  87. json.Unmarshal(jsonblob, &model)
  88. var entity winning.OilWinningProject
  89. model.ModifiedBy = this.User.Realname
  90. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  91. svc := winning.GetWinningService(utils.DBE)
  92. opdesc := "编辑获奖项目-" + model.AwardName
  93. var cols []string = []string{"AwardName", "WinningTime", "Authorities", "Remark", "IsDelete", "ModifiedBy", "ModifiedUserId"}
  94. err := svc.UpdateOperationAndWriteLogBytbl(OilWinningProjectName, BaseOperationLogName, id, &model, &entity, cols, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "获奖项目")
  95. if err == nil {
  96. errinfo.Message = "操作成功!"
  97. errinfo.Code = 0
  98. this.Data["json"] = &errinfo
  99. this.ServeJSON()
  100. } else {
  101. errinfo.Message = "操作失败!" + utils.AlertProcess(err.Error())
  102. errinfo.Code = -1
  103. this.Data["json"] = &errinfo
  104. this.ServeJSON()
  105. }
  106. }
  107. // @Title 删除近三年获得省部级及以上主要技术、管理成果、获奖项目
  108. // @Description
  109. // @Success 200 {object} ErrorInfo
  110. // @Failure 403 :id 为空
  111. // @router /winningdelete/:Id [delete]
  112. func (this *WinningController) WinningDelete() {
  113. Id := this.Ctx.Input.Param(":Id")
  114. var errinfo ErrorInfo
  115. if Id == "" {
  116. errinfo.Message = "操作失败!请求信息不完整"
  117. errinfo.Code = -2
  118. this.Data["json"] = &errinfo
  119. this.ServeJSON()
  120. return
  121. }
  122. where := " Id= " + Id
  123. svc := winning.GetWinningService(utils.DBE)
  124. err := svc.DeleteEntityBytbl(OilWinningProjectName, where)
  125. if err == nil {
  126. errinfo.Message = "删除成功"
  127. errinfo.Code = 0
  128. this.Data["json"] = &errinfo
  129. this.ServeJSON()
  130. } else {
  131. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  132. errinfo.Code = -1
  133. this.Data["json"] = &errinfo
  134. this.ServeJSON()
  135. }
  136. }