classorgsetting.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
  1. package oilsupplier
  2. import (
  3. "dashoo.cn/backend/api/business/oilclassorgsetting"
  4. "dashoo.cn/backend/api/business/oilsupplier/goodsaptitude"
  5. "dashoo.cn/business2/organize"
  6. "dashoo.cn/business2/permission"
  7. "encoding/json"
  8. "strconv"
  9. "strings"
  10. "time"
  11. "dashoo.cn/backend/api/business/baseUser"
  12. "dashoo.cn/backend/api/business/oilsupplier/classorgsetting"
  13. . "dashoo.cn/backend/api/controllers"
  14. "dashoo.cn/business/userRole"
  15. "dashoo.cn/utils"
  16. )
  17. type OilClassOrgSettingController struct {
  18. BaseController
  19. }
  20. type OrganizeAjaxModel struct {
  21. Organize []organize.Base_Organizetree
  22. SelectedOrganize []int
  23. AuditStepCode string
  24. }
  25. // @Title 获取列表
  26. // @Description get user by token
  27. // @Success 200 {object} []classorgsetting.OilClassOrgSetting
  28. // @router /list [get]
  29. func (this *OilClassOrgSettingController) GetEntityList() {
  30. //获取分页信息
  31. page := this.GetPageInfoForm()
  32. where := " 1=1 "
  33. orderby := "Id"
  34. asc := false
  35. Order := this.GetString("Order")
  36. Prop := this.GetString("Prop")
  37. if Order != "" && Prop != "" {
  38. orderby = Prop
  39. if Order == "asc" {
  40. asc = true
  41. }
  42. }
  43. Id := this.GetString("Id")
  44. ClassId := this.GetString("ClassId")
  45. OrganizeId := this.GetString("OrganizeId")
  46. OrganizeName := this.GetString("OrganizeName")
  47. AuditStepCode := this.GetString("AuditStepCode")
  48. AuditStepName := this.GetString("AuditStepName")
  49. Remark := this.GetString("Remark")
  50. IsDelete := this.GetString("IsDelete")
  51. CreateOn := this.GetString("CreateOn")
  52. CreateUserId := this.GetString("CreateUserId")
  53. CreateBy := this.GetString("CreateBy")
  54. ModifiedOn := this.GetString("ModifiedOn")
  55. ModifiedUserId := this.GetString("ModifiedUserId")
  56. ModifiedBy := this.GetString("ModifiedBy")
  57. if Id != "" {
  58. where = where + " and Id like '%" + Id + "%'"
  59. }
  60. if ClassId != "" {
  61. where = where + " and ClassId like '%" + ClassId + "%'"
  62. }
  63. if OrganizeId != "" {
  64. where = where + " and OrganizeId like '%" + OrganizeId + "%'"
  65. }
  66. if OrganizeName != "" {
  67. where = where + " and OrganizeName like '%" + OrganizeName + "%'"
  68. }
  69. if AuditStepCode != "" {
  70. where = where + " and AuditStepCode like '%" + AuditStepCode + "%'"
  71. }
  72. if AuditStepName != "" {
  73. where = where + " and AuditStepName like '%" + AuditStepName + "%'"
  74. }
  75. if Remark != "" {
  76. where = where + " and Remark like '%" + Remark + "%'"
  77. }
  78. if IsDelete != "" {
  79. where = where + " and IsDelete like '%" + IsDelete + "%'"
  80. }
  81. if CreateOn != "" {
  82. where = where + " and CreateOn like '%" + CreateOn + "%'"
  83. }
  84. if CreateUserId != "" {
  85. where = where + " and CreateUserId like '%" + CreateUserId + "%'"
  86. }
  87. if CreateBy != "" {
  88. where = where + " and CreateBy like '%" + CreateBy + "%'"
  89. }
  90. if ModifiedOn != "" {
  91. where = where + " and ModifiedOn like '%" + ModifiedOn + "%'"
  92. }
  93. if ModifiedUserId != "" {
  94. where = where + " and ModifiedUserId like '%" + ModifiedUserId + "%'"
  95. }
  96. if ModifiedBy != "" {
  97. where = where + " and ModifiedBy like '%" + ModifiedBy + "%'"
  98. }
  99. if CreateOn != "" {
  100. dates := strings.Split(CreateOn, ",")
  101. if len(dates) == 2 {
  102. minDate := dates[0]
  103. maxDate := dates[1]
  104. where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
  105. }
  106. }
  107. svc := classorgsetting.GetOilClassOrgSettingService(utils.DBE)
  108. var list []classorgsetting.OilClassOrgSetting
  109. total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
  110. var datainfo DataInfo
  111. datainfo.Items = list
  112. datainfo.CurrentItemCount = total
  113. datainfo.PageIndex = page.CurrentPage
  114. datainfo.ItemsPerPage = page.Size
  115. this.Data["json"] = &datainfo
  116. this.ServeJSON()
  117. }
  118. // @Title 获取字典列表
  119. // @Description get user by token
  120. // @Success 200 {object} map[string]interface{}
  121. // @router /dictlist [get]
  122. func (this *OilClassOrgSettingController) GetDictList() {
  123. dictList := make(map[string]interface{})
  124. //dictSvc := items.GetItemsService(utils.DBE)
  125. userSvc := baseUser.GetBaseUserService(utils.DBE)
  126. //customerSvc := svccustomer.GetCustomerService(utils.DBE)
  127. //dictList["WellNo"] = dictSvc.GetKeyValueItems("WellNo", "")
  128. var userEntity userRole.Base_User
  129. userSvc.GetEntityById(this.User.Id, &userEntity)
  130. dictList["Supervisers"] = userSvc.GetUserListByDepartmentId("", userEntity.Departmentid)
  131. //var dictCustomer []svccustomer.Customer
  132. //customerSvc.GetEntitysByWhere("" + CustomerName, "", &dictCustomer)
  133. //dictList["EntrustCorp"] = &dictCustomer
  134. var datainfo DataInfo
  135. datainfo.Items = dictList
  136. this.Data["json"] = &datainfo
  137. this.ServeJSON()
  138. }
  139. // @Title 获取实体
  140. // @Description 获取实体
  141. // @Success 200 {object} classorgsetting.OilClassOrgSetting
  142. // @router /get/:id [get]
  143. func (this *OilClassOrgSettingController) GetEntity() {
  144. Id := this.Ctx.Input.Param(":id")
  145. var model classorgsetting.OilClassOrgSetting
  146. svc := classorgsetting.GetOilClassOrgSettingService(utils.DBE)
  147. svc.GetEntityByIdBytbl(OilClassOrgSettingName, Id, &model)
  148. this.Data["json"] = &model
  149. this.ServeJSON()
  150. }
  151. // @Title 添加
  152. // @Description 新增
  153. // @Success 200 {object} controllers.Request
  154. // @router /add [post]
  155. func (this *OilClassOrgSettingController) AddEntity() {
  156. var model classorgsetting.OilClassOrgSetting
  157. var jsonBlob = this.Ctx.Input.RequestBody
  158. svc := classorgsetting.GetOilClassOrgSettingService(utils.DBE)
  159. json.Unmarshal(jsonBlob, &model)
  160. model.CreateOn = time.Now()
  161. model.CreateBy = this.User.Realname
  162. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  163. model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
  164. _, err := svc.InsertEntityBytbl(OilClassOrgSettingName, &model)
  165. var errinfo ErrorDataInfo
  166. if err == nil {
  167. //新增
  168. errinfo.Message = "添加成功!"
  169. errinfo.Code = 0
  170. errinfo.Item = model.Id
  171. this.Data["json"] = &errinfo
  172. this.ServeJSON()
  173. } else {
  174. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  175. errinfo.Code = -1
  176. this.Data["json"] = &errinfo
  177. this.ServeJSON()
  178. }
  179. }
  180. // @Title 修改实体
  181. // @Description 修改实体
  182. // @Success 200 {object} controllers.Request
  183. // @router /update/:id [post]
  184. func (this *OilClassOrgSettingController) UpdateEntity() {
  185. id := this.Ctx.Input.Param(":id")
  186. var errinfo ErrorInfo
  187. if id == "" {
  188. errinfo.Message = "操作失败!请求信息不完整"
  189. errinfo.Code = -2
  190. this.Data["json"] = &errinfo
  191. this.ServeJSON()
  192. return
  193. }
  194. var model classorgsetting.OilClassOrgSetting
  195. svc := classorgsetting.GetOilClassOrgSettingService(utils.DBE)
  196. var jsonBlob = this.Ctx.Input.RequestBody
  197. json.Unmarshal(jsonBlob, &model)
  198. model.ModifiedOn = time.Now()
  199. model.ModifiedBy = this.User.Realname
  200. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  201. cols := []string{
  202. "Id",
  203. "ClassId",
  204. "OrganizeId",
  205. "OrganizeName",
  206. "AuditStepCode",
  207. "AuditStepName",
  208. "Remark",
  209. "IsDelete",
  210. "CreateOn",
  211. "CreateUserId",
  212. "CreateBy",
  213. "ModifiedOn",
  214. "ModifiedUserId",
  215. "ModifiedBy",
  216. }
  217. err := svc.UpdateEntityBytbl(OilClassOrgSettingName, id, &model, cols)
  218. if err == nil {
  219. errinfo.Message = "修改成功!"
  220. errinfo.Code = 0
  221. this.Data["json"] = &errinfo
  222. this.ServeJSON()
  223. } else {
  224. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  225. errinfo.Code = -1
  226. this.Data["json"] = &errinfo
  227. this.ServeJSON()
  228. }
  229. }
  230. // @Title 删除单条信息
  231. // @Description
  232. // @Success 200 {object} ErrorInfo
  233. // @Failure 403 :id 为空
  234. // @router /delete/:Id [delete]
  235. func (this *OilClassOrgSettingController) DeleteEntity() {
  236. Id := this.Ctx.Input.Param(":Id")
  237. var errinfo ErrorInfo
  238. if Id == "" {
  239. errinfo.Message = "操作失败!请求信息不完整"
  240. errinfo.Code = -2
  241. this.Data["json"] = &errinfo
  242. this.ServeJSON()
  243. return
  244. }
  245. var model classorgsetting.OilClassOrgSetting
  246. var entityempty classorgsetting.OilClassOrgSetting
  247. svc := classorgsetting.GetOilClassOrgSettingService(utils.DBE)
  248. opdesc := "删除-" + Id
  249. err := svc.DeleteOperationAndWriteLogBytbl(OilClassOrgSettingName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, "", "钻井日报")
  250. if err == nil {
  251. errinfo.Message = "删除成功"
  252. errinfo.Code = 0
  253. this.Data["json"] = &errinfo
  254. this.ServeJSON()
  255. } else {
  256. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  257. errinfo.Code = -1
  258. this.Data["json"] = &errinfo
  259. this.ServeJSON()
  260. }
  261. }
  262. // @Title 添加审批部门
  263. // @Description 新增
  264. // @Param body body oilclassorgsetting.OilClassOrgSetting
  265. // @Success 200 {object} controllers.Request
  266. // @router /addorganize [post]
  267. func (this *OilClassOrgSettingController) AddOrganize() {
  268. var organizes []organize.Base_Organize
  269. classid := this.GetString("classId")
  270. organizeids := strings.Split(this.GetString("organizeids"), ",")
  271. supplierTypeCode := this.GetString("SupplierTypeCode")
  272. supplierTypeName := this.GetString("SupplierTypeName")
  273. auditStepCode := this.GetString("AuditStepCode")
  274. auditStepName:= this.GetString("AuditStepName")
  275. svc := goodsaptitude.GetOilGoodsAptitudeService(utils.DBE)
  276. var err error
  277. where := "classId=" + classid
  278. svc.DeleteEntityBytbl(OilClassOrgSettingName, where)
  279. var model oilclassorgsetting.OilClassOrgSetting
  280. if (len(organizeids) > 0) {
  281. for i := 0; i < len(organizeids); i++ {
  282. where := "Id=" + organizeids[i]
  283. svc.GetEntitysByWhere("Base_Organize", where, &organizes)
  284. }
  285. if (organizes != nil) {
  286. for i := 0;i < len(organizes);i++ {
  287. var model oilclassorgsetting.OilClassOrgSetting
  288. model.ClassId,_ = strconv.Atoi(classid)
  289. model.OrganizeId = organizes[i].Id
  290. model.OrganizeName = organizes[i].Fullname
  291. model.AuditStepCode = auditStepCode
  292. model.AuditStepName = auditStepName
  293. model.SupplierTypeCode = supplierTypeCode
  294. model.SupplierTypeName = supplierTypeName
  295. model.CreateOn = time.Now()
  296. model.CreateBy = this.User.Realname
  297. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  298. _, err = svc.InsertEntityBytbl(OilClassOrgSettingName, &model)
  299. }
  300. }
  301. }
  302. var errinfo ErrorDataInfo
  303. if err == nil {
  304. //新增
  305. errinfo.Message = "添加成功!"
  306. errinfo.Code = 0
  307. errinfo.Item = model.Id
  308. this.Data["json"] = &errinfo
  309. this.ServeJSON()
  310. } else {
  311. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  312. errinfo.Code = -1
  313. this.Data["json"] = &errinfo
  314. this.ServeJSON()
  315. }
  316. }
  317. // @Title 获得部门
  318. // @Description 获得部门
  319. // @Success 200 {object} controllers.Request
  320. // @router /getdepartment [get]
  321. func (this *OilClassOrgSettingController) DepartmentListGet() {
  322. id := this.GetString("id") //
  323. stcode := this.GetString("stcode") //
  324. svc := permission.GetPermissionService(utils.DBE)
  325. currentuser := this.User
  326. userid := utils.ToStr(currentuser.Id)
  327. organizemodu := svc.GetOrganizeTree(userid)
  328. var selected []int
  329. auditStepCode := ""
  330. var list []oilclassorgsetting.OilClassOrgSetting
  331. where := "classId=" + id + " and SupplierTypeCode=" + "'" + stcode + "'"
  332. svc.GetEntities(&list, where)
  333. for _, item := range list {
  334. selected = append(selected, item.OrganizeId)
  335. auditStepCode = item.AuditStepCode
  336. }
  337. //organizeselectedmodu := svc.GetOrganizeTreeByRole(id)
  338. rest := OrganizeAjaxModel{organizemodu, selected, auditStepCode}
  339. this.Data["json"] = &rest
  340. this.ServeJSON()
  341. }