variety.go 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. package cross_variety
  2. import (
  3. "encoding/json"
  4. "eta/eta_api/controllers"
  5. "eta/eta_api/models"
  6. "eta/eta_api/models/data_manage/cross_variety"
  7. "eta/eta_api/models/data_manage/cross_variety/request"
  8. "eta/eta_api/models/data_manage/response"
  9. "eta/eta_api/utils"
  10. "time"
  11. )
  12. // VarietyController
  13. // @Description: 品种列表
  14. type VarietyController struct {
  15. controllers.BaseAuthController
  16. }
  17. // Add
  18. // @Title 新增品种
  19. // @Description 新增品种接口
  20. // @Param request body request.AddVarietyReq true "type json string"
  21. // @Success 200 Ret=200 添加成功
  22. // @router /variety/add [post]
  23. func (c *VarietyController) Add() {
  24. br := new(models.BaseResponse).Init()
  25. defer func() {
  26. c.Data["json"] = br
  27. c.ServeJSON()
  28. }()
  29. var req request.AddVarietyReq
  30. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  31. if err != nil {
  32. br.Msg = "参数解析异常!"
  33. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  34. return
  35. }
  36. if req.VarietyName == "" {
  37. br.Msg = "请输入品种名称"
  38. br.IsSendEmail = false
  39. return
  40. }
  41. varietyName := utils.TrimStr(req.VarietyName)
  42. item, err := cross_variety.GetVarietyByName(varietyName)
  43. if err != nil && err.Error() != utils.ErrNoRow() {
  44. br.Msg = "添加失败"
  45. br.ErrMsg = "添加失败,Err:" + err.Error()
  46. return
  47. }
  48. if item != nil {
  49. br.Msg = "添加失败,品种名称不能重复"
  50. br.IsSendEmail = false
  51. return
  52. }
  53. variety := &cross_variety.ChartVariety{
  54. ChartVarietyId: 0,
  55. ChartVarietyName: varietyName,
  56. SysUserId: c.SysUser.AdminId,
  57. SysUserRealName: c.SysUser.RealName,
  58. ModifyTime: time.Now(),
  59. CreateTime: time.Now(),
  60. }
  61. err = cross_variety.AddVariety(variety)
  62. if err != nil {
  63. br.Msg = "添加品种失败"
  64. br.ErrMsg = "添加品种失败,Err:" + err.Error()
  65. return
  66. }
  67. br.Ret = 200
  68. br.Msg = "添加成功"
  69. br.IsAddLog = true
  70. br.Success = true
  71. }
  72. // Edit
  73. // @Title 编辑品种接口
  74. // @Description 编辑品种接口
  75. // @Param request body request.EditVarietyReq true "type json string"
  76. // @Success 200 Ret=200 修改成功
  77. // @router /variety/edit [post]
  78. func (c *VarietyController) Edit() {
  79. br := new(models.BaseResponse).Init()
  80. defer func() {
  81. c.Data["json"] = br
  82. c.ServeJSON()
  83. }()
  84. var req request.EditVarietyReq
  85. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  86. if err != nil {
  87. br.Msg = "参数解析异常!"
  88. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  89. return
  90. }
  91. if req.ChartVarietyId <= 0 {
  92. br.Msg = "请选择品种"
  93. br.IsSendEmail = false
  94. return
  95. }
  96. if req.VarietyName == "" {
  97. br.Msg = "请输入品种名称"
  98. br.IsSendEmail = false
  99. return
  100. }
  101. varietyName := utils.TrimStr(req.VarietyName)
  102. item, err := cross_variety.GetVarietyByName(varietyName)
  103. if err != nil && err.Error() != utils.ErrNoRow() {
  104. br.Msg = "添加失败"
  105. br.ErrMsg = "添加失败,Err:" + err.Error()
  106. return
  107. }
  108. if item != nil && item.ChartVarietyId != req.ChartVarietyId {
  109. br.Msg = "添加失败,品种名称不能重复"
  110. br.IsSendEmail = false
  111. return
  112. }
  113. // 获取品种详情
  114. varietyInfo, err := cross_variety.GetVarietyById(req.ChartVarietyId)
  115. if err != nil {
  116. br.Msg = "查询品种失败"
  117. br.ErrMsg = "查询品种失败;ERR:" + err.Error()
  118. return
  119. }
  120. // 编辑
  121. varietyInfo.ChartVarietyName = varietyName
  122. varietyInfo.ModifyTime = time.Now()
  123. err = varietyInfo.Update([]string{"ChartVarietyName", "ModifyTime"})
  124. if err != nil {
  125. br.Msg = "修改品种失败"
  126. br.ErrMsg = "修改品种失败,Err:" + err.Error()
  127. return
  128. }
  129. br.Ret = 200
  130. br.Msg = "修改成功"
  131. br.IsAddLog = true
  132. br.Success = true
  133. }
  134. // DeleteCheck
  135. // @Title 删除品种检测接口
  136. // @Description 删除品种检测接口
  137. // @Param request body request.DelVarietyReq true "type json string"
  138. // @Success 200 Ret=200 检测成功
  139. // @router /variety/delete/check [post]
  140. func (c *VarietyController) DeleteCheck() {
  141. br := new(models.BaseResponse).Init()
  142. defer func() {
  143. c.Data["json"] = br
  144. c.ServeJSON()
  145. }()
  146. var req request.DelVarietyReq
  147. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  148. if err != nil {
  149. br.Msg = "参数解析异常!"
  150. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  151. return
  152. }
  153. if req.ChartVarietyId <= 0 {
  154. br.Msg = "请选择品种"
  155. br.IsSendEmail = false
  156. return
  157. }
  158. var deleteStatus int
  159. var tipsMsg string
  160. // todo 校验品种与图表的关系
  161. //deleteStatus = 1
  162. //tipsMsg = "已关联图表的品种,不允许删除!"
  163. resp := response.VarietyDeleteCheckResp{
  164. DeleteStatus: deleteStatus,
  165. TipsMsg: tipsMsg,
  166. }
  167. br.Ret = 200
  168. br.Msg = "检测成功"
  169. br.Success = true
  170. br.Data = resp
  171. }
  172. // Delete
  173. // @Title 删除存量装置图表分类/图表
  174. // @Description 删除存量装置图表分类/图表接口
  175. // @Param request body data_manage.DeleteChartClassifyReq true "type json string"
  176. // @Success 200 Ret=200 删除成功
  177. // @router /variety/delete [post]
  178. func (c *VarietyController) Delete() {
  179. br := new(models.BaseResponse).Init()
  180. defer func() {
  181. c.Data["json"] = br
  182. c.ServeJSON()
  183. }()
  184. var req request.DelVarietyReq
  185. err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
  186. if err != nil {
  187. br.Msg = "参数解析异常!"
  188. br.ErrMsg = "参数解析失败,Err:" + err.Error()
  189. return
  190. }
  191. if req.ChartVarietyId <= 0 {
  192. br.Msg = "请选择品种"
  193. br.IsSendEmail = false
  194. return
  195. }
  196. // todo 校验品种与图表的关系
  197. //deleteStatus = 1
  198. //tipsMsg = "已关联图表的品种,不允许删除!"
  199. varietyInfo, err := cross_variety.GetVarietyById(req.ChartVarietyId)
  200. if err != nil {
  201. if err.Error() == utils.ErrNoRow() {
  202. br.Msg = "该品种不存在或已删除"
  203. br.IsSendEmail = false
  204. } else {
  205. br.Msg = "删除失败"
  206. br.ErrMsg = "查找品种失败,ERR:" + err.Error()
  207. }
  208. return
  209. }
  210. err = varietyInfo.Delete()
  211. if err != nil {
  212. br.Msg = "删除失败"
  213. br.ErrMsg = "删除品种失败,ERR:" + err.Error()
  214. return
  215. }
  216. br.Ret = 200
  217. br.Msg = "删除成功"
  218. br.Success = true
  219. br.IsAddLog = true
  220. }