infa.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package back
  2. import "errors"
  3. // InformationMass
  4. type informationMass struct {
  5. Infa string `json:"Link"`
  6. Rows []string
  7. }
  8. func prepareInfa() []string {
  9. var e error
  10. var elist []string
  11. queries["Insert@Infa@"], e = db.Prepare(`INSERT INTO "InformationMass" ("infa", "published") VALUES($1, CURRENT_TIMESTAMP)`)
  12. if e != nil {
  13. elist = append(elist, e.Error())
  14. }
  15. queries["Select@Infa@"], e = db.Prepare(`SELECT "infa" FROM "InformationMass" ORDER BY "published" DESC`)
  16. if e != nil {
  17. elist = append(elist, e.Error())
  18. }
  19. queries["Insert@Record@"], e = db.Prepare(`INSERT INTO "Record"("Name", "Passport", "Phone", "Cause") VALUES ($1, $2, $3, $4) RETURNING "ID"`)
  20. if e != nil {
  21. elist = append(elist, "[Insert@Record@] - "+e.Error())
  22. }
  23. queries["Insert@TimeRecord@"], e = db.Prepare(`INSERT INTO "TimeRecord"("Date", "Time", "Record") VALUES($1, $2, $3)`)
  24. if e != nil {
  25. elist = append(elist, "[Insert@TimeRecord@] - "+e.Error())
  26. }
  27. queries["Update@TimeRecord@"], e = db.Prepare(`UPDATE "TimeRecord" SET "Record"=$1 WHERE "Date"=$2 AND "Time"=$3`)
  28. if e != nil {
  29. elist = append(elist, "[Insert@TimeRecord@] - "+e.Error())
  30. }
  31. queries["Select@TimeRecord@Times"], e = db.Prepare(`SELECT "Time" FROM "TimeRecord" WHERE "Date"=$1 AND "Record" IS NULL`)
  32. if e != nil {
  33. elist = append(elist, "[Select@TimeRecord@Times] - "+e.Error())
  34. }
  35. queries["Select#Order#"], e = db.Prepare(`SELECT o."ID", o."Name", o."Passport", o."Phone", o."Cause", a."Date", a."Time" FROM "Record" AS o INNER JOIN "TimeRecord" AS a ON o."ID"=a."Record"
  36. ORDER BY a."Date" ASC, a."Time"`)
  37. if e != nil {
  38. elist = append(elist, "Select#Order#"+e.Error())
  39. }
  40. return elist
  41. }
  42. func (m *informationMass) Insert() error {
  43. stmt, ok := queries["Insert@Infa@"]
  44. if !ok {
  45. return errors.New("Запрос Insert@Infa@ не найден")
  46. }
  47. _, e := stmt.Exec(m.Infa)
  48. if e != nil {
  49. return e
  50. }
  51. return nil
  52. }
  53. func (m *informationMass) Select() error {
  54. stmt, ok := queries["Select@Infa@"]
  55. if !ok {
  56. return errors.New("Запрос Select@Infa@ не найден")
  57. }
  58. rows, e := stmt.Query()
  59. if e != nil {
  60. return e
  61. }
  62. defer rows.Close()
  63. var infa string
  64. for rows.Next() {
  65. e = rows.Scan(&infa)
  66. if e != nil {
  67. return e
  68. }
  69. m.Rows = append(m.Rows, infa)
  70. }
  71. return nil
  72. }