limsindexService.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package limsindex
  2. import (
  3. "dashoo.cn/backend/api/business/limsdataentry"
  4. . "dashoo.cn/backend/api/mydb"
  5. "dashoo.cn/utils"
  6. "fmt"
  7. . "dashoo.cn/utils/db"
  8. "github.com/go-xorm/xorm"
  9. )
  10. type LimsIndexService struct {
  11. MyServiceBase
  12. }
  13. func GetLimsIndexService(xormEngine *xorm.Engine) *LimsIndexService {
  14. s := new(LimsIndexService)
  15. s.DBE = xormEngine
  16. return s
  17. }
  18. //待办事项
  19. func (s *LimsIndexService) GetDataEntryWait(tblentry, tblbalance, tblentrustmain string, order, where string) (limsdataentry.LimsDateEntryModel) {
  20. var err error
  21. //var total int64
  22. if order != "" {
  23. order = " order by " + order
  24. }
  25. //获取总记录数
  26. if where == "" {
  27. where = "1=1"
  28. }
  29. //sqlCount := " select count(*) from " + tblentry + " a left join " + tblbalance + " b on b.Id = a.TaskId left join " + tblentrustmain + " c on c.Id=b.EId where " + where
  30. var sql string
  31. sql = ` select b.EId,b.EntrustNo,b.SampleTestId,b.BalanceTime,b.BalanceStatus,b.EntrustType,b.EntrustTypeId,b.ProjectType,b.ProjectTypeId,b.DataEntryStatus,b.TestDetail,b.TestDetailId,b.DetectSample,b.DetectSampleId,b.DataDoc,b.DataDocId,b.EquipmentTypeId,b.EquipmentType,b.EquipmentId,b.Equipment,b.BalanceId,a.*,c.* from ` + tblentry + ` a
  32. left join ` + tblbalance + ` b on b.Id = a.TaskId
  33. left join ` + tblentrustmain + ` c on c.Id=b.EId
  34. where ` + where + order
  35. fmt.Println(sql)
  36. //List := make([]limsdataentry.LimsDateEntryModel, 0)
  37. var List limsdataentry.LimsDateEntryModel
  38. utils.DBE.Sql(sql).Get(&List)
  39. //resultsSlice, err := s.DBE.Query(sqlCount)
  40. LogError(err)
  41. //if len(resultsSlice) > 0 {
  42. // results := resultsSlice[0]
  43. // for _, value := range results {
  44. // total, err = strconv.ParseInt(string(value), 10, 64)
  45. // LogError(err)
  46. // break
  47. // }
  48. //}
  49. return List
  50. }
  51. //待办事项
  52. func (s *LimsIndexService) GetDataEntryWait2(tblcreatereport, tblentrustmain string, order, where string) (limsdataentry.LimsDateEntryModel) {
  53. var err error
  54. if order != "" {
  55. order = " order by " + order
  56. }
  57. //获取总记录数
  58. if where == "" {
  59. where = "1=1"
  60. }
  61. var sql string
  62. sql = ` SELECT e.EntrustNo,e.CustomerName,c.* from ` + tblcreatereport + ` c
  63. left join ` + tblentrustmain + ` e on c.EId = e.Id
  64. where ` + where + order
  65. fmt.Println(sql)
  66. var List limsdataentry.LimsDateEntryModel
  67. utils.DBE.Sql(sql).Get(&List)
  68. LogError(err)
  69. return List
  70. }
  71. // 按月份统计检测任务
  72. func (s *LimsIndexService) GetEntrustService(entrust string, where string) (list []EntrustDateModel) {
  73. sql := `select (year(CreateOn)) as YearName,(month(CreateOn)) as MonthName ,count(1) Num from ` + entrust + ` where ` + where + ` group by YearName,MonthName `
  74. s.DBE.Sql(sql).Find(&list)
  75. return
  76. }
  77. // 按月份统计数据录入
  78. func (s *LimsIndexService) GetDataService(dataentry string, where string) (list []EntrustDateModel) {
  79. sql := `select (year(CreateOn)) as YearName,(month(CreateOn)) as MonthName ,count(1) Num from ` + dataentry + ` where ` + where + ` group by YearName,MonthName `
  80. s.DBE.Sql(sql).Find(&list)
  81. return
  82. }
  83. // 统计每种检测报告使用次数
  84. func (s *LimsIndexService) GetProjectService(entrust string, where string) (list []GrophListModel) {
  85. sql := `select ProjectTypeId as MId,ProjectType as Name ,count(1) Num from ` + entrust + ` where ` + where + ` group by MId,Name order by Num desc limit 10`
  86. s.DBE.Sql(sql).Find(&list)
  87. return
  88. }
  89. // 统计每个设备使用次数
  90. func (s *LimsIndexService) GetInstrumentService(instrument string, where string) (list []GrophListModel) {
  91. sql := `select InstrumentId as MId,InstrumenName as Name ,count(1) Num from ` + instrument + ` where ` + where + ` group by MId,Name order by Num desc`
  92. s.DBE.Sql(sql).Find(&list)
  93. return
  94. }
  95. // 委托方统计
  96. func (s *LimsIndexService) GetCustomerService(customer string, entrust string, where string, wherenum string) (list []GrophListModel) {
  97. sql := `select * from (
  98. select a.Id as MId,a.CustomerName Name,count(1) Num from ` + customer + ` a
  99. left join ` + entrust + ` b on a.Id = b.CustomerId
  100. where ` + where + ` group by MId,Name) m where ` + wherenum + ` order by Num desc`
  101. s.DBE.Sql(sql).Find(&list)
  102. return
  103. }