2
3

basisbuild.go 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. package oilsupplier
  2. import (
  3. "encoding/json"
  4. "strings"
  5. "time"
  6. "dashoo.cn/backend/api/business/items"
  7. "dashoo.cn/backend/api/business/baseUser"
  8. "dashoo.cn/business/userRole"
  9. //"dashoo.cn/backend/api/business/items"
  10. "dashoo.cn/backend/api/business/oilsupplier/basisbuild"
  11. . "dashoo.cn/backend/api/controllers"
  12. "dashoo.cn/utils"
  13. )
  14. type OilBasisBuildController struct {
  15. BaseController
  16. }
  17. // @Title 获取列表
  18. // @Description get user by token
  19. // @Success 200 {object} []basisbuild.OilBasisBuild
  20. // @router /list [get]
  21. func (this *OilBasisBuildController) GetEntityList() {
  22. //获取分页信息
  23. page := this.GetPageInfoForm()
  24. where := " 1=1 "
  25. orderby := "Code"
  26. asc := true
  27. Order := this.GetString("Order")
  28. Prop := this.GetString("Prop")
  29. if Order != "" && Prop != "" {
  30. orderby = Prop
  31. if Order == "asc" {
  32. asc = true
  33. }else {
  34. asc = false
  35. }
  36. }
  37. CreateOn := this.GetString("CreateOn")
  38. Code := this.GetString("Code")
  39. Name := this.GetString("Name")
  40. if Code != "" {
  41. where = where + " and Code like '%" + Code + "%'"
  42. }
  43. if Name != "" {
  44. where = where + " and Name like '%" + Name + "%'"
  45. }
  46. if CreateOn != "" {
  47. dates := strings.Split(CreateOn, ",")
  48. if len(dates) == 2 {
  49. minDate := dates[0]
  50. maxDate := dates[1]
  51. where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
  52. }
  53. }
  54. svc := basisbuild.GetOilBasisBuildService(utils.DBE)
  55. var list []basisbuild.OilBasisBuild
  56. total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
  57. var datainfo DataInfo
  58. datainfo.Items = list
  59. datainfo.CurrentItemCount = total
  60. datainfo.PageIndex = page.CurrentPage
  61. datainfo.ItemsPerPage = page.Size
  62. this.Data["json"] = &datainfo
  63. this.ServeJSON()
  64. }
  65. // @Title 获取字典列表
  66. // @Description get user by token
  67. // @Success 200 {object} map[string]interface{}
  68. // @router /dictlist [get]
  69. func (this *OilBasisBuildController) GetDictList() {
  70. dictList := make(map[string]interface{})
  71. dictSvc := items.GetItemsService(utils.DBE)
  72. userSvc := baseUser.GetBaseUserService(utils.DBE)
  73. //customerSvc := svccustomer.GetCustomerService(utils.DBE)
  74. //dictList["WellNo"] = dictSvc.GetKeyValueItems("WellNo", "")
  75. var userEntity userRole.Base_User
  76. userSvc.GetEntityById(this.User.Id, &userEntity)
  77. dictList["Supervisers"] = userSvc.GetUserListByDepartmentId("", userEntity.Departmentid)
  78. dictList["AuditStep"] = dictSvc.GetKeyValueItems("AuditStep", this.User.AccCode)
  79. //var dictCustomer []svccustomer.Customer
  80. //customerSvc.GetEntitysByWhere("" + CustomerName, "", &dictCustomer)
  81. //dictList["EntrustCorp"] = &dictCustomer
  82. var datainfo DataInfo
  83. datainfo.Items = dictList
  84. this.Data["json"] = &datainfo
  85. this.ServeJSON()
  86. }
  87. // @Title 获取实体
  88. // @Description 获取实体
  89. // @Success 200 {object} basisbuild.OilBasisBuild
  90. // @router /get/:id [get]
  91. func (this *OilBasisBuildController) GetEntity() {
  92. Id := this.Ctx.Input.Param(":id")
  93. var model basisbuild.OilBasisBuild
  94. svc := basisbuild.GetOilBasisBuildService(utils.DBE)
  95. svc.GetEntityByIdBytbl(""+OilBasisBuildName, Id, &model)
  96. this.Data["json"] = &model
  97. this.ServeJSON()
  98. }
  99. // @Title 添加
  100. // @Description 新增
  101. // @Success 200 {object} controllers.Request
  102. // @router /add [post]
  103. func (this *OilBasisBuildController) AddEntity() {
  104. var model basisbuild.OilBasisBuild
  105. var jsonBlob = this.Ctx.Input.RequestBody
  106. svc := basisbuild.GetOilBasisBuildService(utils.DBE)
  107. json.Unmarshal(jsonBlob, &model)
  108. model.CreateOn = time.Now()
  109. model.CreateBy = this.User.Realname
  110. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  111. //model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
  112. _, err := svc.InsertEntityBytbl(""+OilBasisBuildName, &model)
  113. var errinfo ErrorDataInfo
  114. if err == nil {
  115. //新增
  116. errinfo.Message = "添加成功!"
  117. errinfo.Code = 0
  118. errinfo.Item = model.Id
  119. this.Data["json"] = &errinfo
  120. this.ServeJSON()
  121. } else {
  122. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  123. errinfo.Code = -1
  124. this.Data["json"] = &errinfo
  125. this.ServeJSON()
  126. }
  127. }
  128. // @Title 修改实体
  129. // @Description 修改实体
  130. // @Success 200 {object} controllers.Request
  131. // @router /update/:id [post]
  132. func (this *OilBasisBuildController) UpdateEntity() {
  133. id := this.Ctx.Input.Param(":id")
  134. var errinfo ErrorInfo
  135. if id == "" {
  136. errinfo.Message = "操作失败!请求信息不完整"
  137. errinfo.Code = -2
  138. this.Data["json"] = &errinfo
  139. this.ServeJSON()
  140. return
  141. }
  142. var model basisbuild.OilBasisBuild
  143. var basmodel []basisbuild.OilBasisBuild
  144. svc := basisbuild.GetOilBasisBuildService(utils.DBE)
  145. var jsonBlob = this.Ctx.Input.RequestBody
  146. json.Unmarshal(jsonBlob, &model)
  147. if model.Name != "" {
  148. where := " Name = " + model.Name
  149. svc.GetEntitysByWhere(OilBasisBuildName, where, &basmodel)
  150. if len(basmodel) > 0 {
  151. errinfo.Message = "名称已存在,请重新添加!"
  152. errinfo.Code = -1
  153. this.Data["json"] = &errinfo
  154. this.ServeJSON()
  155. return
  156. }
  157. }
  158. if model.Code != "" {
  159. cowhere := " Code = " + model.Code
  160. svc.GetEntitysByWhere(OilBasisBuildName, cowhere, &basmodel)
  161. if len(basmodel) > 0 {
  162. errinfo.Message = "编码已存在,请重新添加!"
  163. errinfo.Code = -1
  164. this.Data["json"] = &errinfo
  165. this.ServeJSON()
  166. return
  167. }
  168. }
  169. model.ModifiedOn = time.Now()
  170. model.ModifiedBy = this.User.Realname
  171. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  172. cols := []string{
  173. "Id",
  174. "Code",
  175. "Name",
  176. "F01",
  177. "F02",
  178. "F03",
  179. "F04",
  180. "F05",
  181. "F06",
  182. "F07",
  183. "F08",
  184. "F09",
  185. "F10",
  186. "F11",
  187. "F12",
  188. "F13",
  189. "F14",
  190. "F15",
  191. "F16",
  192. "F17",
  193. "F18",
  194. "F19",
  195. "F20",
  196. "F21",
  197. "F22",
  198. "F23",
  199. "F24",
  200. "F25",
  201. "Remark",
  202. "DeletionStateCode",
  203. "CreateOn",
  204. "CreateUserId",
  205. "CreateBy",
  206. "ModifiedOn",
  207. "ModifiedUserId",
  208. "ModifiedBy",
  209. }
  210. err := svc.UpdateEntityBytbl(""+OilBasisBuildName, id, &model, cols)
  211. if err == nil {
  212. errinfo.Message = "修改成功!"
  213. errinfo.Code = 0
  214. this.Data["json"] = &errinfo
  215. this.ServeJSON()
  216. } else {
  217. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  218. errinfo.Code = -1
  219. this.Data["json"] = &errinfo
  220. this.ServeJSON()
  221. }
  222. }
  223. // @Title 删除单条信息
  224. // @Description
  225. // @Success 200 {object} ErrorInfo
  226. // @Failure 403 :id 为空
  227. // @router /delete/:Id [delete]
  228. func (this *OilBasisBuildController) DeleteEntity() {
  229. Id := this.Ctx.Input.Param(":Id")
  230. var errinfo ErrorInfo
  231. if Id == "" {
  232. errinfo.Message = "操作失败!请求信息不完整"
  233. errinfo.Code = -2
  234. this.Data["json"] = &errinfo
  235. this.ServeJSON()
  236. return
  237. }
  238. var model basisbuild.OilBasisBuild
  239. var entityempty basisbuild.OilBasisBuild
  240. svc := basisbuild.GetOilBasisBuildService(utils.DBE)
  241. opdesc := "删除-" + Id
  242. err := svc.DeleteOperationAndWriteLogBytbl(""+OilBasisBuildName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, "", "钻井日报")
  243. if err == nil {
  244. errinfo.Message = "删除成功"
  245. errinfo.Code = 0
  246. this.Data["json"] = &errinfo
  247. this.ServeJSON()
  248. } else {
  249. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  250. errinfo.Code = -1
  251. this.Data["json"] = &errinfo
  252. this.ServeJSON()
  253. }
  254. }
  255. // @Title 基建类业务
  256. // @Description get user by token
  257. // @Success 200 {object} models.Userblood
  258. // @router /basiclist [get]
  259. func (this *OilBasisBuildController) BasicList() {
  260. page := this.GetPageInfoForm()
  261. var list []basisbuild.OilBasisBuild
  262. svc := basisbuild.GetOilBasisBuildService(utils.DBE)
  263. where := " 1=1"
  264. orderby := "Id"
  265. asc := true
  266. Order := this.GetString("Order")
  267. Prop := this.GetString("Prop")
  268. if Order != "" && Prop != "" {
  269. orderby = Prop
  270. if Order == "asc" {
  271. asc = true
  272. }
  273. }
  274. keyword := this.GetString("keyword")
  275. if keyword != "" {
  276. where = where + " and Name like '%" + keyword + "%' or Code like '%" + keyword + "%'"
  277. }
  278. total := svc.GetPagingEntitiesWithoutAccCode(page.CurrentPage, page.Size, orderby, asc, &list, where)
  279. var datainfo DataInfo
  280. datainfo.Items = list
  281. datainfo.CurrentItemCount = total
  282. this.Data["json"] = &datainfo
  283. this.ServeJSON()
  284. }