2
3

tableheader.go 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. package oilsupplier
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "time"
  6. "dashoo.cn/backend/api/business/oilsupplier/tableheader"
  7. . "dashoo.cn/backend/api/controllers"
  8. "dashoo.cn/utils"
  9. )
  10. type TableHeaderController struct {
  11. BaseController
  12. }
  13. type SeBaseTableheader struct {
  14. SearchName string
  15. SearchSupplierTypeName string
  16. }
  17. // @Title 获取表头数据
  18. // @Description get tableheaders
  19. // @Success 200 {object} []tableheader.BaseTableheader
  20. // @router /gettableheaderlist [post]
  21. func (this *TableHeaderController) GetTableHeaderList() {
  22. fmt.Println("进入TableHeaderController")
  23. var model2 SeBaseTableheader
  24. var jsonBlob = this.Ctx.Input.RequestBody
  25. json.Unmarshal(jsonBlob, &model2)
  26. fmt.Println(model2.SearchName)
  27. fmt.Println(model2.SearchSupplierTypeName)
  28. //获取分页信息
  29. page := this.GetPageInfoForm() //包括当前页、每页书数量
  30. var where string = " 1=1"
  31. if model2.SearchName != "" {
  32. where = where + " and Name like '%" + model2.SearchName + "%'"
  33. }
  34. if model2.SearchSupplierTypeName != "" {
  35. where = where + " and CategoryCode = '" + model2.SearchSupplierTypeName + "'"
  36. }
  37. orderby := "Id"
  38. asc := true
  39. svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎
  40. var list []tableheader.BaseTableheader
  41. total := svc.GetMyPagingEntitiesWithOrderBytbl(BaseTableHeader, page.CurrentPage, page.Size, orderby, asc, &list, where)
  42. var datainfo DataInfo
  43. datainfo.Items = list
  44. datainfo.CurrentItemCount = total
  45. datainfo.PageIndex = page.CurrentPage
  46. datainfo.ItemsPerPage = page.Size
  47. this.Data["json"] = &datainfo
  48. this.ServeJSON()
  49. }
  50. // @Title 添加
  51. // @Description 新增
  52. // @Success 200 {object}
  53. // @router /add [post]
  54. func (this *TableHeaderController) AddEntity() {
  55. var model tableheader.BaseTableheader
  56. var jsonBlob = this.Ctx.Input.RequestBody
  57. var errinfo ErrorDataInfo
  58. svc := tableheader.GetTableHeaderService(utils.DBE)
  59. json.Unmarshal(jsonBlob, &model)
  60. //判断名称是否已拥有
  61. var Name = model.Name
  62. where := "1=1 and name='" + Name + "'"
  63. total := svc.GetName(BaseTableHeader, where)
  64. if total != 0 {
  65. errinfo.Message = "已有重复数据"
  66. errinfo.Code = -2
  67. this.Data["json"] = &errinfo
  68. this.ServeJSON()
  69. } else {
  70. var Categorycode = model.Categorycode
  71. if Categorycode == "01" {
  72. model.Categoryname = "物资类"
  73. } else if Categorycode == "02" {
  74. model.Categoryname = "基建类"
  75. } else {
  76. model.Categoryname = "技术服务类"
  77. }
  78. model.Createon = time.Now()
  79. model.Createby = this.User.Realname
  80. model.Createuserid, _ = utils.StrTo(this.User.Id).Int()
  81. _, err := svc.InsertEntityBytbl(BaseTableHeader, &model)
  82. if err == nil {
  83. //新增
  84. errinfo.Message = "添加成功!"
  85. errinfo.Code = 0
  86. this.Data["json"] = &errinfo
  87. this.ServeJSON()
  88. } else {
  89. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  90. errinfo.Code = -1
  91. this.Data["json"] = &errinfo
  92. this.ServeJSON()
  93. }
  94. }
  95. }
  96. // @Title 获取位置
  97. // @Description get locations
  98. // @Success 200 {object}
  99. // @router /getlocations [get]
  100. func (this *TableHeaderController) Getlocations() {
  101. var val = this.GetString("val")
  102. svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎
  103. var results []map[string]string
  104. var dbName = utils.Cfg.MustValue("db", "name")
  105. var sql string = ""
  106. if val == "01" {
  107. sql = "select column_name from information_schema.COLUMNS where table_name='" + OilGoodsAptitudeName + "'" +
  108. "and TABLE_SCHEMA='" + dbName + "'and column_name like 'F%'" +
  109. "and column_name not in (select code from " + BaseTableHeader + " where categorycode='" + val + "')"
  110. } else if val == "02" {
  111. sql = "select column_name from information_schema.COLUMNS where table_name='" + OilBasisBuildName + "'" +
  112. "and TABLE_SCHEMA='" + dbName + "'and column_name like 'F%'" +
  113. "and column_name not in (select code from " + BaseTableHeader + " where categorycode='" + val + "')"
  114. } else {
  115. sql = "select column_name from information_schema.COLUMNS where table_name='" + OilTechnologyServiceName + "'" +
  116. "and TABLE_SCHEMA='" + dbName + "'and column_name like 'F%'" +
  117. "and column_name not in (select code from " + BaseTableHeader + " where categorycode='" + val + "')"
  118. }
  119. results, _ = svc.DBE.QueryString(sql)
  120. var datainfo DataInfo
  121. datainfo.Items = results
  122. this.Data["json"] = &datainfo
  123. this.ServeJSON()
  124. }
  125. type SBaseTableheader struct {
  126. EditName string
  127. }
  128. // @Title 通过id更新
  129. // @Description update by id
  130. // @Success 200 {object}
  131. // @router /updatebyid/:id [post]
  132. func (this *TableHeaderController) UpdateById() {
  133. id := this.Ctx.Input.Param(":id")
  134. var errinfo ErrorInfo
  135. var cols []string
  136. if id == "" {
  137. errinfo.Message = "操作失败!请求信息不完整"
  138. errinfo.Code = -2
  139. this.Data["json"] = &errinfo
  140. this.ServeJSON()
  141. return
  142. }
  143. svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎
  144. var model tableheader.BaseTableheader
  145. var model1 SBaseTableheader
  146. var jsonBlob = this.Ctx.Input.RequestBody
  147. json.Unmarshal(jsonBlob, &model1)
  148. model.Modifiedon = time.Now()
  149. model.Modifiedby = this.User.Realname
  150. model.Modifieduserid, _ = utils.StrTo(this.User.Id).Int()
  151. model.Name = model1.EditName
  152. var Name = model.Name
  153. where := "1=1 and name='" + Name + "'"
  154. total := svc.GetName(BaseTableHeader, where)
  155. if total != 0 {
  156. errinfo.Message = "已有重复数据"
  157. errinfo.Code = -2
  158. this.Data["json"] = &errinfo
  159. this.ServeJSON()
  160. } else {
  161. cols = []string{"Name", "Modifiedon", "Modifieduserid", "Modifiedby"}
  162. err := svc.UpdateEntityBytbl(BaseTableHeader, id, &model, cols)
  163. if err == nil {
  164. errinfo.Message = "修改成功!"
  165. errinfo.Code = 0
  166. this.Data["json"] = &errinfo
  167. this.ServeJSON()
  168. } else {
  169. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  170. errinfo.Code = -1
  171. this.Data["json"] = &errinfo
  172. this.ServeJSON()
  173. }
  174. }
  175. }
  176. // @Title 删除单条信息
  177. // @Description
  178. // @Success 200 {object} ErrorInfo
  179. // @Failure 403 :id 为空
  180. // @router /deletebyid [get]
  181. func (this *TableHeaderController) Deletebyid() {
  182. id := this.GetString("id")
  183. var errinfo ErrorInfo
  184. if id == "" {
  185. errinfo.Message = "操作失败!请求信息不完整"
  186. errinfo.Code = -2
  187. this.Data["json"] = &errinfo
  188. this.ServeJSON()
  189. return
  190. }
  191. svc := tableheader.GetTableHeaderService(utils.DBE)
  192. err := svc.DeleteById(BaseTableHeader, id)
  193. if err == nil {
  194. errinfo.Message = "删除成功"
  195. errinfo.Code = 0
  196. this.Data["json"] = &errinfo
  197. this.ServeJSON()
  198. } else {
  199. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  200. errinfo.Code = -1
  201. this.Data["json"] = &errinfo
  202. this.ServeJSON()
  203. }
  204. }
  205. // @Title 获取物资类表头数据
  206. // @Description get tableheaders
  207. // @Success 200 {object}
  208. // @router /listgoodtableheader [get]
  209. func (this *TableHeaderController) ListGoodTableHeader() {
  210. svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎
  211. var list []map[string]string
  212. sql := "select Name as label,Code as prop,'270' as width,'true' as sort from " + BaseTableHeader + " where " + "1=1 and CategoryCode='01'"
  213. list, _ = svc.DBE.QueryString(sql)
  214. fmt.Println(list)
  215. var datainfo DataInfo
  216. datainfo.Items = list
  217. this.Data["json"] = &datainfo
  218. this.ServeJSON()
  219. }
  220. // @Title 获取技术服务类表头数据
  221. // @Description get tableheaders
  222. // @Success 200 {object}
  223. // @router /listtstableheader [get]
  224. func (this *TableHeaderController) ListTsTableHeader() {
  225. svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎
  226. var list []map[string]string
  227. sql := "select Name as label,Code as prop,'270' as width,'true' as sort from " + BaseTableHeader + " where " + "1=1 and CategoryCode='03'"
  228. list, _ = svc.DBE.QueryString(sql)
  229. fmt.Println(list)
  230. var datainfo DataInfo
  231. datainfo.Items = list
  232. this.Data["json"] = &datainfo
  233. this.ServeJSON()
  234. }
  235. // @Title 获取技术服务类表头数据
  236. // @Description get tableheaders
  237. // @Success 200 {object}
  238. // @router /listbbtableheader [get]
  239. func (this *TableHeaderController) ListBbTableHeader() {
  240. svc := tableheader.GetTableHeaderService(utils.DBE) //获得数据库引擎
  241. var list []map[string]string
  242. sql := "select Name as label,Code as prop,'270' as width,'true' as sort from " + BaseTableHeader + " where " + "1=1 and CategoryCode='02'"
  243. list, _ = svc.DBE.QueryString(sql)
  244. fmt.Println(list)
  245. var datainfo DataInfo
  246. datainfo.Items = list
  247. this.Data["json"] = &datainfo
  248. this.ServeJSON()
  249. }