document.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. package document
  2. import (
  3. "encoding/json"
  4. "time"
  5. "dashoo.cn/backend/api/business/documentmanage"
  6. . "dashoo.cn/backend/api/controllers"
  7. "dashoo.cn/utils"
  8. )
  9. type DocumentController struct {
  10. BaseController
  11. }
  12. // @Title 获取文档管理列表 DocumentInfo
  13. // @Description get user by token
  14. // @Success 200 {object} models.Userblood
  15. // @router /getdocumentlist [get]
  16. func (this *DocumentController) GetDocumentList() {
  17. page := this.GetPageInfoForm()
  18. where := " 1=1 "
  19. DirectoryId := this.GetString("DirectoryId")
  20. if DirectoryId != "" {
  21. where = where + " and DirectoryId = " + DirectoryId
  22. }
  23. Name := this.GetString("Name")
  24. if Name != "" {
  25. where = where + " and Name like '%" + Name + "%' "
  26. }
  27. svc := documentmanage.GetDocumentmanageService(utils.DBE)
  28. var list []documentmanage.DocumentInfo
  29. total, list := svc.GetDocumentInfoByWhere(page.CurrentPage, page.Size, "Id desc", this.User.AccCode+DocumentInfoName, where)
  30. var datainfo DataInfo
  31. datainfo.Items = list
  32. datainfo.CurrentItemCount = total
  33. datainfo.PageIndex = page.CurrentPage
  34. datainfo.ItemsPerPage = page.Size
  35. this.Data["json"] = &datainfo
  36. this.ServeJSON()
  37. }
  38. // @Title 获取文档名与创建时间
  39. // @Description get Name,CreateOn
  40. // @Success 200 {object} models.Userblood
  41. // @router /getdocumentnameandtime [get]
  42. func (this *DocumentController) GetDocumentNameAndTime() {
  43. svc := documentmanage.GetDocumentmanageService(utils.DBE)
  44. var list []documentmanage.DocumentNameTimeInfo
  45. tableName := "s5OVE" + DocumentInfoName
  46. list = svc.GetDocumentNameAndTime(tableName)
  47. this.Data["json"] = &list
  48. this.ServeJSON()
  49. }
  50. // @Title 新增文档信息 DocumentInfo
  51. // @Param body body business.device.DeviceChannels "需要注意"
  52. // @Success 200 {object} controllers.Request
  53. // @router /adddocumentinfo [post]
  54. func (this *DocumentController) AddDocumentInfo() {
  55. var model documentmanage.DocumentInfo
  56. var jsonblob = this.Ctx.Input.RequestBody
  57. json.Unmarshal(jsonblob, &model)
  58. model.CreateOn = time.Now()
  59. model.CreateBy = this.User.Realname
  60. svc := documentmanage.GetDocumentmanageService(utils.DBE)
  61. _, err := svc.InsertEntityBytbl(this.User.AccCode+DocumentInfoName, &model)
  62. var errinfo ErrorDataInfo
  63. if err == nil {
  64. errinfo.Message = "保存成功!"
  65. errinfo.Code = 0
  66. errinfo.Item = model.Id
  67. this.Data["json"] = &errinfo
  68. this.ServeJSON()
  69. } else {
  70. errinfo.Message = "保存失败!" + utils.AlertProcess(err.Error())
  71. errinfo.Code = -1
  72. this.Data["json"] = &errinfo
  73. this.ServeJSON()
  74. }
  75. }
  76. // @Title 编辑文档信息 DocumentInfo
  77. // @Success 200 {object} controllers.Request
  78. // @router /editdocumentinfo/:id [put]
  79. func (this *DocumentController) EditDocumentInfo() {
  80. id := this.Ctx.Input.Param(":id")
  81. var errinfo ErrorInfo
  82. if id == "" {
  83. errinfo.Message = "操作失败!请求信息不完整"
  84. errinfo.Code = -2
  85. this.Data["json"] = &errinfo
  86. this.ServeJSON()
  87. return
  88. }
  89. var model documentmanage.DocumentInfo
  90. var jsonblob = this.Ctx.Input.RequestBody
  91. json.Unmarshal(jsonblob, &model)
  92. svc := documentmanage.GetDocumentmanageService(utils.DBE)
  93. var entityempty documentmanage.DocumentInfo
  94. var docinfo documentmanage.DocumentInfo
  95. svc.GetEntityByIdBytbl(this.User.AccCode+DocumentInfoName, id, &docinfo)
  96. model.ModifiedOn = time.Now()
  97. model.ModifiedBy = this.User.Realname
  98. opdesc := "编辑文档-" + model.Name
  99. var cols []string = []string{"DirectoryId", "Name", "VersionInfo", "NoticeTab", "DocTab", "FileURL",
  100. "ValidityTime", "Remark", "CreateBy", "ModifiedOn", "ModifiedBy"}
  101. err := svc.UpdateOperationAndWriteLogBytbl(this.User.AccCode+DocumentInfoName, BaseOperationLogName, id, &model, &entityempty, cols, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "文档管理")
  102. if err == nil {
  103. errinfo.Message = "保存成功!"
  104. errinfo.Code = 0
  105. this.Data["json"] = &errinfo
  106. this.ServeJSON()
  107. } else {
  108. errinfo.Message = "保存失败!" + utils.AlertProcess(err.Error())
  109. errinfo.Code = -1
  110. this.Data["json"] = &errinfo
  111. this.ServeJSON()
  112. }
  113. }
  114. // @Title 删除文档信息
  115. // @Success 200 {object} ErrorInfo
  116. // @Failure 403 :id 为空
  117. // @router /deletedocumentdata/:id [delete]
  118. func (this *DocumentController) DeleteDocumentData() {
  119. id := this.Ctx.Input.Param(":id")
  120. var errinfo ErrorInfo
  121. var err error
  122. if id == "" {
  123. errinfo.Message = "操作失败!请求信息不完整"
  124. errinfo.Code = -2
  125. this.Data["json"] = &errinfo
  126. this.ServeJSON()
  127. return
  128. }
  129. svc := documentmanage.GetDocumentmanageService(utils.DBE)
  130. whereStr := "Id= " + utils.ToStr(id)
  131. err = svc.DeleteEntityBytbl(this.User.AccCode+DocumentInfoName, whereStr)
  132. if err == nil {
  133. errinfo.Message = "删除成功"
  134. errinfo.Code = 0
  135. this.Data["json"] = &errinfo
  136. this.ServeJSON()
  137. } else {
  138. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  139. errinfo.Code = -1
  140. this.Data["json"] = &errinfo
  141. this.ServeJSON()
  142. }
  143. }
  144. // @Title 删除文档信息 DocumentInfo
  145. // @Description
  146. // @Success 200 {object} ErrorInfo
  147. // @Failure 403 :id 为空
  148. // @router /deletedocumentInfo/:id [delete]
  149. //func (this *DocumentController) DeleteDocumentInfo() {
  150. // id := this.Ctx.Input.Param(":id")
  151. // Name := this.GetString("Name")
  152. // flag, _ := this.GetInt("flag")
  153. // var errinfo ErrorInfo
  154. // var err error
  155. // if id == "" {
  156. // errinfo.Message = "操作失败!请求信息不完整"
  157. // errinfo.Code = -2
  158. // this.Data["json"] = &errinfo
  159. // this.ServeJSON()
  160. // return
  161. // }
  162. // svc := documentmanage.GetDocumentmanageService(utils.DBE)
  163. // var model documentmanage.DocumentInfo
  164. // var entityempty documentmanage.DocumentInfo
  165. // var dochistorys []documentmanage.DocumentHistory
  166. // where_infoid := "InfoId=" + id
  167. // if flag == 0 { //删除当前版本,最近一次历史版本将设为当前版本
  168. // svc.GetEntitysByOrderbyWhere(this.User.AccCode+DocumentHistoryName, where_infoid, " AuthorOn desc ", &dochistorys)
  169. // if len(dochistorys) > 0 { //如果存在历史版本,数据返回到最新更改的一次
  170. // model.Name = dochistorys[0].Name
  171. // model.VersionInfo = dochistorys[0].VersionInfo
  172. // model.FileURL = dochistorys[0].FileURL
  173. // model.AuthorOn = dochistorys[0].AuthorOn
  174. // model.AuthorUserId = dochistorys[0].AuthorUserId
  175. // model.AuthorBy = dochistorys[0].AuthorBy
  176. // model.AuditorStatus = 1
  177. // model.AuditorOn = dochistorys[0].AuditorOn
  178. // model.AuditorUserId = dochistorys[0].AuditorUserId
  179. // model.AuditorBy = dochistorys[0].AuditorBy
  180. // model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  181. // model.ModifiedBy = this.User.Realname
  182. // opdesc := "删除文档-" + Name
  183. // var cols []string = []string{"Name", "VersionInfo", "FileURL", "AuthorOn", "AuthorUserId",
  184. // "AuthorBy", "AuditorStatus", "AuditorOn", "AuditorUserId", "AuditorBy", "ModifiedUserId",
  185. // "ModifiedBy"}
  186. // err = svc.UpdateOperationAndWriteLogBytbl(this.User.AccCode+DocumentInfoName, BaseOperationLogName, id, &model, &entityempty, cols, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "文档管理")
  187. // where_hisid := "Id=" + utils.ToStr(dochistorys[0].Id)
  188. // _ = svc.DeleteEntityBytbl(this.User.AccCode+DocumentHistoryName, where_hisid)
  189. // } else { //不存在历史版本,将删除标志置1
  190. // model.DeletionStateCode = 1
  191. // model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  192. // model.ModifiedBy = this.User.Realname
  193. // opdesc := "删除文档-" + Name
  194. // var cols []string = []string{"DeletionStateCode", "ModifiedUserId", "ModifiedBy"}
  195. // err = svc.UpdateOperationAndWriteLogBytbl(this.User.AccCode+DocumentInfoName, BaseOperationLogName, id, &model, &entityempty, cols, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "文档管理")
  196. // }
  197. // } else if flag == 1 { //删除当前版本及所有历史版本文档
  198. // model.DeletionStateCode = 1
  199. // model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  200. // model.ModifiedBy = this.User.Realname
  201. // opdesc := "删除所有文档-" + Name
  202. // var cols []string = []string{"DeletionStateCode", "ModifiedUserId", "ModifiedBy"}
  203. // err = svc.UpdateOperationAndWriteLogBytbl(this.User.AccCode+DocumentInfoName, BaseOperationLogName, id, &model, &entityempty, cols, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "文档管理")
  204. // svc.UpdateDocHistoryDelete(this.User.AccCode+DocumentHistoryName, where_infoid, "1")
  205. // }
  206. // if err == nil {
  207. // errinfo.Message = "删除成功"
  208. // errinfo.Code = 0
  209. // this.Data["json"] = &errinfo
  210. // this.ServeJSON()
  211. // } else {
  212. // errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  213. // errinfo.Code = -1
  214. // this.Data["json"] = &errinfo
  215. // this.ServeJSON()
  216. // }
  217. //}
  218. // @Title 获取文档编辑信息 DocumentInfo
  219. // @Description get user by token
  220. // @Success 200 {object} models.Userblood
  221. // @router /geteditinitinfo/:id [get]
  222. func (this *DocumentController) Geteditinitinfo() {
  223. id := this.Ctx.Input.Param(":id")
  224. svc := documentmanage.GetDocumentmanageService(utils.DBE)
  225. var list documentmanage.DocumentInfo
  226. svc.GetEntityByIdBytbl(this.User.AccCode+DocumentInfoName, id, &list)
  227. var datainfo DataInfo
  228. datainfo.Items = list
  229. this.Data["json"] = &datainfo
  230. this.ServeJSON()
  231. }
  232. // @Title 获取历史文档管理列表 DocumentInfoHistory
  233. // @Description get user by token
  234. // @Success 200 {object} models.Userblood
  235. // @router /getdocumenthistorylist [get]
  236. func (this *DocumentController) GetDocumentHistoryList() {
  237. page := this.GetPageInfoForm()
  238. InfoId := this.GetString("InfoId")
  239. var errinfo ErrorInfo
  240. if InfoId == "" {
  241. errinfo.Message = "操作失败!请求信息不完整"
  242. errinfo.Code = -2
  243. this.Data["json"] = &errinfo
  244. this.ServeJSON()
  245. return
  246. }
  247. svc := documentmanage.GetDocumentmanageService(utils.DBE)
  248. total, list := svc.GetDocumentHistoryByWhere(page.CurrentPage, page.Size, "Id desc", this.User.AccCode+DocumentInfoName, this.User.AccCode+DocumentHistoryName, InfoId)
  249. var datainfo DataInfo
  250. datainfo.Items = list
  251. datainfo.CurrentItemCount = total
  252. this.Data["json"] = &datainfo
  253. this.ServeJSON()
  254. }
  255. // @Title 文档审核 DocumentInfo
  256. // @Success 200 {object} controllers.Request
  257. // @router /auditorDocumentinfo/:id [put]
  258. //func (this *DocumentController) AuditorDocumentInfoById() {
  259. // id := this.Ctx.Input.Param(":id")
  260. // var errinfo ErrorInfo
  261. // if id == "" {
  262. // errinfo.Message = "操作失败!请求信息不完整"
  263. // errinfo.Code = -2
  264. // this.Data["json"] = &errinfo
  265. // this.ServeJSON()
  266. // return
  267. // }
  268. // var model documentmanage.DocumentInfo
  269. // var jsonblob = this.Ctx.Input.RequestBody
  270. // json.Unmarshal(jsonblob, &model)
  271. // var entityempty documentmanage.DocumentInfo
  272. // svc := documentmanage.GetDocumentmanageService(utils.DBE)
  273. // model.AuditorUserId, _ = utils.StrTo(this.User.Id).Int()
  274. // model.AuditorBy = this.User.Realname
  275. // model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  276. // model.ModifiedBy = this.User.Realname
  277. // opdesc := "文档审核-" + model.Name
  278. // var cols []string = []string{"AuditorStatus", "AuditorOn", "AuditorUserId", "AuditorBy", "ModifiedUserId", "ModifiedBy"}
  279. // err := svc.UpdateOperationAndWriteLogBytbl(this.User.AccCode+DocumentInfoName, BaseOperationLogName, id, &model, &entityempty, cols, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "文档管理")
  280. // if err == nil {
  281. // errinfo.Message = "审核成功!"
  282. // errinfo.Code = 0
  283. // this.Data["json"] = &errinfo
  284. // this.ServeJSON()
  285. // } else {
  286. // errinfo.Message = "审核失败!" + utils.AlertProcess(err.Error())
  287. // errinfo.Code = -1
  288. // this.Data["json"] = &errinfo
  289. // this.ServeJSON()
  290. // }
  291. //}