2
3

todolist.go 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648
  1. package oilsupplier
  2. import (
  3. "dashoo.cn/backend/api/business/auditsetting"
  4. "dashoo.cn/backend/api/business/invoiceinfo"
  5. "dashoo.cn/backend/api/business/oilcontract/contract"
  6. "dashoo.cn/backend/api/business/oilcontract/contractReview"
  7. "dashoo.cn/backend/api/business/oilcontract/contractSumScore"
  8. "dashoo.cn/backend/api/business/oilsupplier/annualaudit"
  9. "dashoo.cn/backend/api/business/oilsupplier/infochange"
  10. "dashoo.cn/backend/api/business/oilsupplier/oilcatalog"
  11. "dashoo.cn/backend/api/business/oilsupplier/oilcatalogsub"
  12. "dashoo.cn/backend/api/business/oilsupplier/supplier"
  13. "dashoo.cn/backend/api/business/oilsupplier/suppliercertappend"
  14. "dashoo.cn/backend/api/business/register"
  15. "dashoo.cn/backend/api/business/todolist"
  16. "dashoo.cn/backend/api/business/workflow"
  17. "dashoo.cn/business2/userRole"
  18. . "dashoo.cn/backend/api/controllers"
  19. "dashoo.cn/utils"
  20. "encoding/json"
  21. "fmt"
  22. "sort"
  23. "strconv"
  24. "strings"
  25. "time"
  26. )
  27. type TodoListController struct {
  28. BaseController
  29. }
  30. // @Title 获取列表
  31. // @Description get user by token
  32. // @Success 200 {object} []supplier.OilSupplierView
  33. // @router /gettodolist [get]
  34. func (this *TodoListController) GetMyTaskEntityList() {
  35. page := this.GetPageInfoForm()
  36. stype := this.GetString("Type") // 1 准入 2 增项 3 年审 4 信息变更 5 注册 7 待入库 8 待开发票 9 目录审批
  37. supplierTypeCode := this.GetString("SupplierTypeCode")
  38. supplierName := this.GetString("SupplierName")
  39. wfNames := ""
  40. //wfNames = workflow.OIL_ENUSER_SUPPLIER_APPLY + "," + workflow.OIL_ENUSER_APPEND_APPLY + "," + workflow.OIL_INFO_CHANGE + "," + workflow.OIL_AUDIT_APPLY + "," + workflow.OIL_SUPPLIER_VERIFY+ "," + workflow.OIL_DAILY_CONTRACT_EVALUATION+ "," + workflow.OIL_ANNUAL_CONTRACT_EVALUATION+ "," + workflow.OIL_Catalog+ "," + workflow.OIL_REGISTER_APPLY
  41. if stype == "1" {
  42. wfNames = workflow.OIL_ENUSER_SUPPLIER_APPLY
  43. } else if stype == "2" {
  44. wfNames = workflow.OIL_ENUSER_APPEND_APPLY
  45. } else if stype == "3" {
  46. wfNames = workflow.OIL_AUDIT_APPLY
  47. } else if stype == "4" {
  48. wfNames = workflow.OIL_INFO_CHANGE
  49. } else if stype == "5" {
  50. wfNames = workflow.OIL_REGISTER_APPLY
  51. } else if stype == "7" {
  52. // wfNames = workflow.OIL_SUPPLIER_INSTORE
  53. } else if stype == "8" {
  54. wfNames = workflow.OIL_SUPPLIER_VERIFY
  55. } else if stype == "9" {
  56. wfNames = workflow.OIL_Catalog
  57. } else if stype == "10" {
  58. wfNames = workflow.OIL_DAILY_CONTRACT_EVALUATION
  59. } else if stype == "11" {
  60. wfNames = workflow.OIL_ANNUAL_CONTRACT_EVALUATION
  61. } else if stype == "12" {
  62. wfNames = workflow.OIL_DAILY_CONTRACT_EVA_BY_BUSINESS
  63. }
  64. var todoliststemp []todolist.TodoList
  65. var pagingResult workflow.ActiMyPagingResultVM
  66. var myTasksRetWithTimes []workflow.ActiMyTasksRetWithTimeVM
  67. actisvc := workflow.GetActivitiService(utils.DBE)
  68. pagingResult = actisvc.GetMyAllTypePagingTasksWithTime(this.User.Id, page.CurrentPage, page.Size, wfNames, supplierTypeCode, supplierName)
  69. myTasksRetWithTimes = pagingResult.TaskList
  70. var jzpsCount int64 = 0 // 准入集中评审的数量
  71. for _, item := range myTasksRetWithTimes {
  72. wfName := strings.Split(item.ProcessDefinitionId, ":")[0]
  73. if (item.TaskName == "集中评审") && (wfName == workflow.OIL_ENUSER_SUPPLIER_APPLY) {
  74. jzpsCount++
  75. }
  76. }
  77. pagingResult.Total = pagingResult.Total - jzpsCount
  78. //取出各种类型的ID
  79. for _, item := range myTasksRetWithTimes {
  80. idx := strings.Index(item.BusinessKey, "-")
  81. id := item.BusinessKey
  82. if idx >= 0 {
  83. id = strings.Split(item.BusinessKey, "-")[0]
  84. }
  85. //工作流名称
  86. has := false
  87. wfName := strings.Split(item.ProcessDefinitionId, ":")[0] //如:oil_enuser_supplier_apply:2:2543
  88. if wfName == workflow.OIL_ENUSER_SUPPLIER_APPLY {
  89. if item.TaskName == "集中评审" {
  90. // 集中评审不显示在待办列表
  91. continue
  92. }
  93. //准入
  94. where := " 1=1 "
  95. where = where + " and b.Id = '" + id + "'"
  96. var todo todolist.TodoList
  97. svc := supplier.GetOilSupplierService(utils.DBE)
  98. has = svc.GetMyTodoEntitie(OilSupplierName, OilSupplierCertName, &todo, where)
  99. if has {
  100. todo.Type = todolist.SUPPLIER
  101. todo.UserName = this.User.Realname
  102. todo.CreateTime = item.CreateTime
  103. todo.TaskName = item.TaskName
  104. todoliststemp = append(todoliststemp, todo)
  105. }
  106. } else if wfName == workflow.OIL_ENUSER_APPEND_APPLY {
  107. //增项
  108. where := " 1=1 "
  109. where = where + " and b.Id = '" + id + "'"
  110. var todo todolist.TodoList
  111. var certAppend suppliercertappend.OilSupplierCertAppend
  112. svcapp := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
  113. has := svcapp.GetTodoEntitie(OilSupplierName, OilSupplierCertAppendName, &todo, where)
  114. svcapp.GetEntityById(id, &certAppend)
  115. if has {
  116. todo.Id = certAppend.Id
  117. todo.SupplierId = strconv.Itoa(certAppend.SupplierId)
  118. todo.CertId = strconv.Itoa(certAppend.SupplierCertId)
  119. todo.Type = todolist.CERTAPPEND
  120. todo.TaskName = item.TaskName
  121. todo.UserName = this.User.Realname
  122. todo.CreateTime = item.CreateTime
  123. todoliststemp = append(todoliststemp, todo)
  124. }
  125. } else if wfName == workflow.OIL_AUDIT_APPLY {
  126. //年审
  127. var todo todolist.TodoList
  128. var listannu annualaudit.OilAnnualAudit
  129. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  130. has = svc.GetEntityById(id, &listannu)
  131. if has {
  132. todo.Id = listannu.Id
  133. todo.SupplierId = strconv.Itoa(listannu.SupplierId)
  134. todo.Type = todolist.ANNUALAUDIT
  135. todo.SupplierName = listannu.SupplierName
  136. todo.UserName = this.User.Realname
  137. todo.TaskName = item.TaskName
  138. todo.SupplierTypeCode = listannu.SupplierTypeName
  139. todo.Step = strconv.Itoa(listannu.Step)
  140. todo.Status = listannu.Status
  141. todo.CertId = strconv.Itoa(listannu.CerId)
  142. todo.CreateTime = item.CreateTime
  143. todoliststemp = append(todoliststemp, todo)
  144. }
  145. } else if wfName == workflow.OIL_INFO_CHANGE {
  146. //资质变更
  147. var todo todolist.TodoList
  148. var listInfo infochange.OilInfoChange
  149. svc := infochange.GetInfoChangeService(utils.DBE)
  150. has = svc.GetEntityById(id, &listInfo)
  151. if has {
  152. todo.Id = listInfo.Id
  153. todo.Type = todolist.INFOCHANGE
  154. todo.SupplierId = strconv.Itoa(listInfo.SupplierId)
  155. todo.SupplierName = listInfo.SupplierName
  156. todo.UserName = this.User.Realname
  157. todo.TaskName = item.TaskName
  158. todo.SupplierTypeCode = todolist.INFOCHANGE // listInfo.SupplierTypeName
  159. todo.Status = listInfo.Status
  160. todo.CreateTime = item.CreateTime
  161. todoliststemp = append(todoliststemp, todo)
  162. }
  163. } else if wfName == workflow.OIL_REGISTER_APPLY {
  164. //企业用户注册
  165. var todo todolist.TodoList
  166. regsvc := register.GetOilCorporateInfoService(utils.DBE)
  167. var listinfo register.OilCorporateInfo
  168. has = regsvc.GetEntityById(id, &listinfo)
  169. if has {
  170. todo.Id = listinfo.Id
  171. todo.Type = todolist.REGISTER
  172. todo.SupplierName = listinfo.SupplierName
  173. todo.UserName = this.User.Realname
  174. todo.TaskName = item.TaskName
  175. todo.SupplierTypeCode = todolist.REGISTER
  176. todo.Status = strconv.Itoa(listinfo.CheckStatus)
  177. todo.CreateTime = item.CreateTime
  178. todoliststemp = append(todoliststemp, todo)
  179. }
  180. } else if wfName == workflow.OIL_SUPPLIER_VERIFY {
  181. //待开发票
  182. var todo todolist.TodoList
  183. regsvc := invoiceinfo.GetInvoiceService(utils.DBE)
  184. var listinfo invoiceinfo.OilInvoiceInfo
  185. has = regsvc.GetEntityById(id, &listinfo)
  186. if has {
  187. todo.Id = listinfo.Id
  188. todo.Type = todolist.INVOICE
  189. todo.SupplierName = listinfo.SupplierName
  190. todo.UserName = this.User.Realname
  191. todo.TaskName = item.TaskName
  192. todo.SupplierTypeCode = todolist.INVOICE
  193. todo.Status = "未开"
  194. todo.CreateTime = item.CreateTime
  195. todoliststemp = append(todoliststemp, todo)
  196. }
  197. } else if wfName == workflow.OIL_Catalog {
  198. // 目录审批
  199. var todo todolist.TodoList
  200. regsvc := invoiceinfo.GetInvoiceService(utils.DBE)
  201. var listinfo oilcatalogsub.OilCatalogSub
  202. has = regsvc.GetEntityById(id, &listinfo)
  203. if has {
  204. var list oilcatalog.OilCatalog
  205. regsvc.GetEntity(&list, "SubId="+strconv.Itoa(listinfo.Id))
  206. todo.Id = listinfo.Id
  207. todo.Type = todolist.INCOME
  208. todo.SupplierName = list.CompanyName
  209. todo.UserName = this.User.Realname
  210. todo.TaskName = item.TaskName
  211. if listinfo.Type == "6" {
  212. todo.SupplierTypeCode = todolist.INCOME + "-6"
  213. } else if listinfo.Type == "7" {
  214. todo.SupplierTypeCode = todolist.INCOME + "-7"
  215. }
  216. todo.Status = listinfo.Status
  217. todo.CreateTime = item.CreateTime
  218. todoliststemp = append(todoliststemp, todo)
  219. }
  220. } else if wfName == workflow.OIL_DAILY_CONTRACT_EVALUATION {
  221. // 合同日常评审
  222. var todo todolist.TodoList
  223. conRev := contractReview.GetOilContractReviewService(utils.DBE)
  224. var contractReviewEntity contractReview.OilContractReview
  225. has = conRev.GetEntityById(id, &contractReviewEntity)
  226. contractSvc := contract.GetOilContractService(utils.DBE)
  227. var contractEntity contract.OilContract
  228. contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
  229. if has {
  230. todo.Id = contractReviewEntity.Id
  231. todo.Type = todolist.DAILY
  232. todo.TaskName = item.TaskName
  233. todo.UserName = this.User.Realname
  234. todo.CreateTime = item.CreateTime
  235. todo.SupplierTypeCode = contractEntity.ContractClass
  236. todo.SupplierName = contractEntity.SupplierName
  237. todo.Status = contractReviewEntity.Status
  238. todoliststemp = append(todoliststemp, todo)
  239. }
  240. } else if wfName == workflow.OIL_ANNUAL_CONTRACT_EVALUATION {
  241. // 合同年度评审
  242. var todo todolist.TodoList
  243. conRev := contractSumScore.GetOilContractSumScoreService(utils.DBE)
  244. var contractSumEntity contractSumScore.OilContractSumScore
  245. has = conRev.GetEntityById(id, &contractSumEntity)
  246. if has {
  247. todo.Id = contractSumEntity.Id
  248. todo.Type = todolist.ANNUAL
  249. todo.TaskName = item.TaskName
  250. todo.UserName = this.User.Realname
  251. todo.CreateTime = item.CreateTime
  252. todo.SupplierTypeCode = contractSumEntity.ContractClass
  253. todo.SupplierName = contractSumEntity.SupplierName
  254. todo.Status = contractSumEntity.Status
  255. todoliststemp = append(todoliststemp, todo)
  256. }
  257. } else if wfName == workflow.OIL_DAILY_CONTRACT_EVA_BY_BUSINESS {
  258. // 专业处室提交的合同日常评审
  259. var todo todolist.TodoList
  260. conRev := contractReview.GetOilContractReviewService(utils.DBE)
  261. var contractReviewEntity contractReview.OilContractReview
  262. has = conRev.GetEntityById(id, &contractReviewEntity)
  263. contractSvc := contract.GetOilContractService(utils.DBE)
  264. var contractEntity contract.OilContract
  265. contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
  266. if has {
  267. todo.Id = contractReviewEntity.Id
  268. todo.Type = todolist.DAILY_BUSINESS
  269. todo.TaskName = item.TaskName
  270. todo.UserName = this.User.Realname
  271. todo.CreateTime = item.CreateTime
  272. todo.SupplierTypeCode = contractEntity.ContractClass
  273. todo.SupplierName = contractEntity.SupplierName
  274. todo.Status = contractReviewEntity.Status
  275. todoliststemp = append(todoliststemp, todo)
  276. }
  277. }
  278. }
  279. var todolists []todolist.TodoList
  280. CreateOn := this.GetString("CreateOn")
  281. if CreateOn != "" {
  282. dates := strings.Split(CreateOn, ",")
  283. var minDate time.Time
  284. var maxDate time.Time
  285. if len(dates) == 2 {
  286. minDate, _ = utils.TimeParse(dates[0], "2006-01-02 15:04")
  287. maxDate, _ = utils.TimeParse(dates[1], "2006-01-02 15:04")
  288. }
  289. for i := 0; i < len(todoliststemp); i++ {
  290. fmt.Println(minDate.Unix()*1000, "==", maxDate.Unix()*1000)
  291. fmt.Println(todoliststemp[i].CreateTime, "==", todoliststemp[i].CreateTime)
  292. if todoliststemp[i].CreateTime > minDate.Unix()*1000 && todoliststemp[i].CreateTime < maxDate.Unix()*1000 {
  293. todolists = append(todolists, todoliststemp[i])
  294. }
  295. }
  296. } else {
  297. todolists = todoliststemp
  298. }
  299. sort.Slice(todolists, func(i, j int) bool {
  300. return todolists[i].CreateTime > todolists[j].CreateTime
  301. })
  302. var datainfo DataInfo
  303. datainfo.Items = todolists
  304. datainfo.CurrentItemCount = pagingResult.Total
  305. datainfo.PageIndex = page.CurrentPage
  306. datainfo.ItemsPerPage = page.Size
  307. this.Data["json"] = &datainfo
  308. this.ServeJSON()
  309. }
  310. // @Title 获取已办列表
  311. // @Description get user by token
  312. // @Success 200 {object} []supplier.OilSupplierView
  313. // @router /getmytaskfinishedlist [get]
  314. func (this *TodoListController) GetMyTaskFinishedList() {
  315. page := this.GetPageInfoForm()
  316. stype := this.GetString("Type")
  317. supplierTypeCode := this.GetString("SupplierTypeCode")
  318. supplierName := this.GetString("SupplierName")
  319. wfNames := ""
  320. if stype == "1" {
  321. wfNames = workflow.OIL_ENUSER_SUPPLIER_APPLY
  322. } else if stype == "2" {
  323. wfNames = workflow.OIL_ENUSER_APPEND_APPLY
  324. } else if stype == "3" {
  325. wfNames = workflow.OIL_AUDIT_APPLY
  326. } else if stype == "4" {
  327. wfNames = workflow.OIL_INFO_CHANGE
  328. } else if stype == "5" {
  329. wfNames = workflow.OIL_REGISTER_APPLY
  330. } else if stype == "7" {
  331. // wfNames = workflow.OIL_SUPPLIER_INSTORE
  332. } else if stype == "8" {
  333. wfNames = workflow.OIL_SUPPLIER_VERIFY
  334. } else if stype == "9" {
  335. wfNames = workflow.OIL_Catalog
  336. } else if stype == "10" {
  337. wfNames = workflow.OIL_DAILY_CONTRACT_EVALUATION
  338. } else if stype == "11" {
  339. wfNames = workflow.OIL_ANNUAL_CONTRACT_EVALUATION
  340. } else if stype == "12" {
  341. wfNames = workflow.OIL_DAILY_CONTRACT_EVA_BY_BUSINESS
  342. }
  343. var todoliststemp []todolist.TodoList
  344. var pagingResult workflow.ActiMyPagingResultVM
  345. var myTasksRetWithTimes []workflow.ActiMyTasksRetWithTimeVM
  346. actisvc := workflow.GetActivitiService(utils.DBE)
  347. pagingResult = actisvc.GetMyAllTypePagingFinishedTasksWithTime(this.User.Id, page.CurrentPage, page.Size, wfNames, supplierTypeCode, supplierName)
  348. myTasksRetWithTimes = pagingResult.TaskList
  349. //取出各种类型的ID
  350. for _, item := range myTasksRetWithTimes {
  351. idx := strings.Index(item.BusinessKey, "-")
  352. id := item.BusinessKey
  353. if idx >= 0 {
  354. id = strings.Split(item.BusinessKey, "-")[0]
  355. }
  356. //工作流名称
  357. has := false
  358. wfName := strings.Split(item.ProcessDefinitionId, ":")[0] //如:oil_enuser_supplier_apply:2:2543
  359. if wfName == workflow.OIL_ENUSER_SUPPLIER_APPLY {
  360. //准入
  361. where := " 1=1 "
  362. where = where + " and b.Id = '" + id + "'"
  363. var todo todolist.TodoList
  364. svc := supplier.GetOilSupplierService(utils.DBE)
  365. has = svc.GetMyTodoEntitie(OilSupplierName, OilSupplierCertName, &todo, where)
  366. if has {
  367. todo.Type = todolist.SUPPLIER
  368. todo.UserName = this.User.Realname
  369. todo.CreateTime = item.CreateTime
  370. todo.TaskName = item.TaskName
  371. todoliststemp = append(todoliststemp, todo)
  372. }
  373. } else if wfName == workflow.OIL_ENUSER_APPEND_APPLY {
  374. //增项
  375. where := " 1=1 "
  376. where = where + " and b.Id = '" + id + "'"
  377. var todo todolist.TodoList
  378. svcapp := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
  379. has := svcapp.GetTodoEntitie(OilSupplierName, OilSupplierCertAppendName, &todo, where)
  380. if has {
  381. todo.TaskName = item.TaskName
  382. todo.Type = todolist.CERTAPPEND
  383. todo.UserName = this.User.Realname
  384. todo.CreateTime = item.CreateTime
  385. todoliststemp = append(todoliststemp, todo)
  386. }
  387. } else if wfName == workflow.OIL_AUDIT_APPLY {
  388. //年审
  389. where := " 1=1 "
  390. where = where + " and Id = '" + id + "'"
  391. var todo todolist.TodoList
  392. var listannu annualaudit.OilAnnualAudit
  393. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  394. has = svc.GetEntity(&listannu, where)
  395. if has {
  396. todo.Id = listannu.Id
  397. todo.SupplierId = strconv.Itoa(listannu.SupplierId)
  398. todo.Type = todolist.ANNUALAUDIT
  399. todo.SupplierName = listannu.SupplierName
  400. todo.UserName = this.User.Realname
  401. todo.TaskName = item.TaskName
  402. todo.SupplierTypeCode = listannu.SupplierTypeName
  403. todo.Step = strconv.Itoa(listannu.Step)
  404. todo.Status = listannu.Status
  405. todo.CertId = strconv.Itoa(listannu.CerId)
  406. todo.CreateTime = item.CreateTime
  407. todoliststemp = append(todoliststemp, todo)
  408. }
  409. } else if wfName == workflow.OIL_INFO_CHANGE {
  410. //资质变更
  411. where := " 1=1 "
  412. where = where + " and Id = '" + id + "'"
  413. var todo todolist.TodoList
  414. var listInfo infochange.OilInfoChange
  415. svc := infochange.GetInfoChangeService(utils.DBE)
  416. has = svc.GetEntity(&listInfo, where)
  417. if has {
  418. todo.Id = listInfo.Id
  419. todo.Type = todolist.INFOCHANGE
  420. todo.SupplierId = strconv.Itoa(listInfo.SupplierId)
  421. todo.SupplierName = listInfo.SupplierName
  422. todo.UserName = this.User.Realname
  423. todo.TaskName = item.TaskName
  424. todo.SupplierTypeCode = todolist.INFOCHANGE
  425. todo.Status = listInfo.Status
  426. todo.CreateTime = item.CreateTime
  427. todoliststemp = append(todoliststemp, todo)
  428. }
  429. } else if wfName == workflow.OIL_REGISTER_APPLY {
  430. //企业用户注册
  431. var todo todolist.TodoList
  432. regsvc := register.GetOilCorporateInfoService(utils.DBE)
  433. var listinfo register.OilCorporateInfo
  434. has = regsvc.GetEntityById(id, &listinfo)
  435. if has {
  436. todo.Id = listinfo.Id
  437. todo.Type = todolist.REGISTER
  438. todo.SupplierName = listinfo.SupplierName
  439. todo.UserName = this.User.Realname
  440. todo.TaskName = item.TaskName
  441. todo.SupplierTypeCode = todolist.REGISTER
  442. todo.Status = strconv.Itoa(listinfo.CheckStatus)
  443. todo.CreateTime = item.CreateTime
  444. todoliststemp = append(todoliststemp, todo)
  445. }
  446. } else if wfName == workflow.OIL_SUPPLIER_VERIFY {
  447. //待开发票
  448. var todo todolist.TodoList
  449. regsvc := invoiceinfo.GetInvoiceService(utils.DBE)
  450. var listinfo invoiceinfo.OilInvoiceInfo
  451. has = regsvc.GetEntityById(id, &listinfo)
  452. if has {
  453. todo.Id = listinfo.Id
  454. todo.Type = todolist.INVOICE
  455. todo.SupplierName = listinfo.SupplierName
  456. todo.UserName = this.User.Realname
  457. todo.TaskName = item.TaskName
  458. todo.SupplierTypeCode = todolist.INVOICE
  459. todo.Status = "已开"
  460. todo.CreateTime = item.CreateTime
  461. todoliststemp = append(todoliststemp, todo)
  462. }
  463. } else if wfName == workflow.OIL_Catalog {
  464. // 目录审批
  465. var todo todolist.TodoList
  466. regsvc := invoiceinfo.GetInvoiceService(utils.DBE)
  467. var listinfo oilcatalogsub.OilCatalogSub
  468. has = regsvc.GetEntityById(id, &listinfo)
  469. if has {
  470. var list oilcatalog.OilCatalog
  471. regsvc.GetEntity(&list, "SubId="+strconv.Itoa(listinfo.Id))
  472. todo.Id = listinfo.Id
  473. todo.Type = todolist.INCOME
  474. todo.SupplierName = list.CompanyName
  475. todo.UserName = this.User.Realname
  476. todo.TaskName = item.TaskName
  477. if listinfo.Type == "6" {
  478. todo.SupplierTypeCode = todolist.INCOME + "-6"
  479. } else if listinfo.Type == "7" {
  480. todo.SupplierTypeCode = todolist.INCOME + "-7"
  481. }
  482. todo.Status = listinfo.Status
  483. todo.CreateTime = item.CreateTime
  484. todoliststemp = append(todoliststemp, todo)
  485. }
  486. } else if wfName == workflow.OIL_DAILY_CONTRACT_EVALUATION {
  487. // 合同日常评审
  488. var todo todolist.TodoList
  489. conRev := contractReview.GetOilContractReviewService(utils.DBE)
  490. var contractReviewEntity contractReview.OilContractReview
  491. has = conRev.GetEntityById(id, &contractReviewEntity)
  492. contractSvc := contract.GetOilContractService(utils.DBE)
  493. var contractEntity contract.OilContract
  494. contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
  495. if has {
  496. todo.Id = contractReviewEntity.Id
  497. todo.Type = todolist.DAILY
  498. todo.TaskName = item.TaskName
  499. todo.UserName = this.User.Realname
  500. todo.CreateTime = item.CreateTime
  501. todo.SupplierTypeCode = contractEntity.ContractClass
  502. todo.SupplierName = contractEntity.SupplierName
  503. todo.Status = contractReviewEntity.Status
  504. todoliststemp = append(todoliststemp, todo)
  505. }
  506. } else if wfName == workflow.OIL_ANNUAL_CONTRACT_EVALUATION {
  507. // 合同年度评审
  508. var todo todolist.TodoList
  509. conRev := contractSumScore.GetOilContractSumScoreService(utils.DBE)
  510. var contractSumEntity contractSumScore.OilContractSumScore
  511. has = conRev.GetEntityById(id, &contractSumEntity)
  512. if has {
  513. todo.Id = contractSumEntity.Id
  514. todo.Type = todolist.ANNUAL
  515. todo.TaskName = item.TaskName
  516. todo.UserName = this.User.Realname
  517. todo.CreateTime = item.CreateTime
  518. todo.SupplierTypeCode = contractSumEntity.ContractClass
  519. todo.SupplierName = contractSumEntity.SupplierName
  520. todo.Status = contractSumEntity.Status
  521. todoliststemp = append(todoliststemp, todo)
  522. }
  523. } else if wfName == workflow.OIL_DAILY_CONTRACT_EVA_BY_BUSINESS {
  524. // 专业处室提交的合同日常评审
  525. var todo todolist.TodoList
  526. conRev := contractReview.GetOilContractReviewService(utils.DBE)
  527. var contractReviewEntity contractReview.OilContractReview
  528. has = conRev.GetEntityById(id, &contractReviewEntity)
  529. contractSvc := contract.GetOilContractService(utils.DBE)
  530. var contractEntity contract.OilContract
  531. contractSvc.GetEntityById(contractReviewEntity.ContractId, &contractEntity)
  532. if has {
  533. todo.Id = contractReviewEntity.Id
  534. todo.Type = todolist.DAILY_BUSINESS
  535. todo.TaskName = item.TaskName
  536. todo.UserName = this.User.Realname
  537. todo.CreateTime = item.CreateTime
  538. todo.SupplierTypeCode = contractEntity.ContractClass
  539. todo.SupplierName = contractEntity.SupplierName
  540. todo.Status = contractReviewEntity.Status
  541. todoliststemp = append(todoliststemp, todo)
  542. }
  543. }
  544. }
  545. var todolists []todolist.TodoList
  546. CreateOn := this.GetString("CreateOn")
  547. if CreateOn != "" {
  548. dates := strings.Split(CreateOn, ",")
  549. var minDate time.Time
  550. var maxDate time.Time
  551. if len(dates) == 2 {
  552. minDate, _ = utils.TimeParse(dates[0], "2006-01-02 15:04")
  553. maxDate, _ = utils.TimeParse(dates[1], "2006-01-02 15:04")
  554. }
  555. for i := 0; i < len(todoliststemp); i++ {
  556. if todoliststemp[i].CreateTime > minDate.Unix()*1000 && todoliststemp[i].CreateTime < maxDate.Unix()*1000 {
  557. todolists = append(todolists, todoliststemp[i])
  558. }
  559. }
  560. } else {
  561. todolists = todoliststemp
  562. }
  563. sort.Slice(todolists, func(i, j int) bool {
  564. return todolists[i].CreateTime > todolists[j].CreateTime
  565. })
  566. var datainfo DataInfo
  567. datainfo.Items = todolists
  568. datainfo.CurrentItemCount = pagingResult.Total
  569. datainfo.PageIndex = page.CurrentPage
  570. datainfo.ItemsPerPage = page.Size
  571. this.Data["json"] = &datainfo
  572. this.ServeJSON()
  573. }
  574. // @Title 获取待办-发港信通提醒
  575. // @Description get user by token
  576. // @Success 200 {object} []supplier.OilSupplierView
  577. // @router /getToDoSend [get]
  578. func (this *TodoListController) GetToDoSend() {
  579. page := this.GetPageInfoForm()
  580. supplierTypeCode := this.GetString("SupplierTypeCode")
  581. supplierName := this.GetString("SupplierName")
  582. wfNames := ""
  583. var pagingResult workflow.ActiMyPagingResultVM
  584. var myTasksRetWithTimes []workflow.ActiMyTasksRetWithTimeVM
  585. actisvc := workflow.GetActivitiService(utils.DBE)
  586. svcActiviti := workflow.GetActivitiService(utils.DBE)
  587. var userList []userRole.Base_User
  588. var settingList []auditsetting.Base_OilAuditSetting
  589. usvc := userRole.GetUserService(utils.DBE)
  590. usvc.GetEntities(&settingList, "1=1")
  591. tempstr := ""
  592. for _,setting := range settingList {
  593. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  594. tempstr += "," + strings.Join(ids, ",")
  595. }
  596. uids := strings.Replace(tempstr, "uid_", "", -1)
  597. uids = strings.Trim(uids, ",")
  598. if uids != "" {
  599. where := "Id in (" + uids + ")"
  600. usvc.GetEntities(&userList, where)
  601. }
  602. for _,user := range userList {
  603. pagingResult = actisvc.GetMyAllTypePagingTasksWithTime(strconv.Itoa(user.Id), page.CurrentPage, page.Size, wfNames, supplierTypeCode, supplierName)
  604. myTasksRetWithTimes = pagingResult.TaskList
  605. if len(myTasksRetWithTimes) > 0 {
  606. var sendVM todolist.SendVM
  607. //wordTempVM.Datas = datas
  608. //wordTempVM.TemplateUrl = templateUrl
  609. //wordTempVM.FileName = fileName
  610. jsonParam, err := json.Marshal(sendVM)
  611. if err != nil {
  612. fmt.Println(err, "生成json字符串错误")
  613. }
  614. params := string(jsonParam)
  615. svcActiviti.PostOrigin("/v1.0/send-sys-msg", params, "")
  616. }
  617. }
  618. }