real_fill_data.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package service
  2. import (
  3. "gas-cylinder-api/app/admin/model"
  4. "gas-cylinder-api/app/admin/service/dto"
  5. "gas-cylinder-api/common/actions"
  6. cDto "gas-cylinder-api/common/dto"
  7. "gas-cylinder-api/common/global"
  8. "gogs.baozhida.cn/zoie/OAuth-core/service"
  9. )
  10. type RealFillData struct {
  11. service.Service
  12. }
  13. // GetPage 获取RealFillData列表
  14. func (e *RealFillData) GetPage(c *dto.RealFillDataGetPageReq, list *[]model.RealFillData, count *int64, p *actions.DataPermission) error {
  15. var err error
  16. var data model.RealFillData
  17. err = e.Orm.Model(&data).
  18. Scopes(
  19. cDto.MakeCondition(c.GetNeedSearch()),
  20. cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
  21. actions.Permission(data.TableName(), p),
  22. ).Preload("FillGun").
  23. Find(list).Limit(-1).Offset(-1).
  24. Count(count).Error
  25. if err != nil {
  26. e.Log.Errorf("db error: %s", err)
  27. return global.GetFailedErr
  28. }
  29. return nil
  30. }
  31. // Insert 创建RealFillData对象
  32. func (e *RealFillData) Insert(c *dto.RealFillDataInsertReq, fillGun model.FillGun) error {
  33. var err error
  34. // TODO 确定状态 PersonFlag ChipFlag OpenStatus
  35. data := model.RealFillData{
  36. ProvRealFillData: model.ProvRealFillData{
  37. GunCode: fillGun.GunCode,
  38. //PersonFlag:1,
  39. //ChipFlag:1,
  40. //OpenStatus:1,
  41. PersonCode: fillGun.PersonCode,
  42. ChipID: c.ChipID,
  43. },
  44. }
  45. data.SetDeptId(fillGun.DeptId)
  46. tx := e.Orm.Begin()
  47. defer func() {
  48. if err != nil {
  49. tx.Rollback()
  50. } else {
  51. tx.Commit()
  52. }
  53. }()
  54. // TODO 1.1.1.23上报实时充装数据
  55. err = tx.Create(&data).Error
  56. if err != nil {
  57. e.Log.Errorf("db error: %s", err)
  58. return global.UpdateFailedErr
  59. }
  60. c.Id = data.Id
  61. return nil
  62. }