real_fill_data.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. // TODO 异常码处理
  56. err = tx.Create(&data).Error
  57. if err != nil {
  58. e.Log.Errorf("db error: %s", err)
  59. return global.UpdateFailedErr
  60. }
  61. c.Id = data.Id
  62. return nil
  63. }