|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- package db
-
- import (
- "applet/app/db/model"
- "applet/app/md"
- "applet/app/utils"
- "applet/app/utils/logx"
- "time"
- "xorm.io/xorm"
- )
-
- func GetPrinterIndexAll(Db *xorm.Engine, storeId string) ([]model.CommunityTeamStorePrinter, error) {
- var list []model.CommunityTeamStorePrinter
- session := Db.Where("store_id= ? ", storeId)
- //排序
- err := session.Desc("create_time").Find(&list)
- if err != nil {
- return nil, err
- }
- return list, err
- }
- func GetPrinterIndexById(Db *xorm.Engine, id, storeId string) (*model.CommunityTeamStorePrinter, error) {
- var list model.CommunityTeamStorePrinter
- session := Db.Where("id=? and store_id=?", id, storeId)
- //排序
- has, err := session.Desc("create_time").Get(&list)
- if has == false || err != nil {
- return nil, err
- }
- return &list, err
- }
-
- func GetPrinterIndexByBluetooth(Db *xorm.Engine, storeId string) (*model.CommunityTeamStorePrinter, error) {
- var list model.CommunityTeamStorePrinter
- session := Db.Where("type=? and store_id=?", "bluetooth", storeId)
- //排序
- has, err := session.Desc("create_time").Get(&list)
- if has == false || err != nil {
- return nil, err
- }
- return &list, err
- }
-
- // 分页查询方案
- func GetPrinterIndexList(Db *xorm.Engine, parameter *md.IndexRequest) ([]md.IndexResList, error) {
- var list []model.CommunityTeamStorePrinter
- var webList []md.IndexResList
-
- session := Db.Where("store_id= ? ", parameter.StoreId)
- //分页
- if utils.StrToInt(parameter.P) > 0 && utils.StrToInt(parameter.PageSize) > 0 {
- session = session.Limit(utils.StrToInt(parameter.PageSize), (utils.StrToInt(parameter.P)-1)*utils.StrToInt(parameter.PageSize))
- }
- //排序
- err := session.Desc("create_time").Find(&list)
- if err != nil {
- return nil, err
- }
- var typeList = map[string]string{
- "ordinary": "普通打印机",
- "cloud": "云打印机",
- "bluetooth": "蓝牙打印机",
- }
- var locationTypeList = map[string]string{
- "reception": "前台",
- "kitchen": "后厨",
- }
- for _, v := range list {
- var tmp = md.IndexResList{
- Id: utils.IntToStr(v.Id),
- Name: v.Name,
- IsUse: utils.IntToStr(v.IsUse),
- StoreId: utils.IntToStr(v.StoreId),
- SnNum: v.SnNum,
- IdentificationCode: v.IdentificationCode,
- ModuleId: utils.IntToStr(v.ModuleId),
- Type: v.Type,
- TypeStr: typeList[v.Type],
- LocationType: v.LocationType,
- LocationTypeStr: locationTypeList[v.LocationType],
- }
- webList = append(webList, tmp)
- }
- return webList, nil
- }
-
- func indexGetCount(Db *xorm.Engine, parameter *md.IndexRequest) int {
- var ord model.CommunityTeamStorePrinter
- session := Db.Where("store_id= ? ", parameter.StoreId)
- count, err := session.Count(&ord)
- if err != nil {
- return 0
- }
- return int(count)
- }
- func IndexExists(Db *xorm.Engine, parameter *md.IndexSaveRequest) int {
- var ord model.CommunityTeamStorePrinter
- session := Db.Where("sn_num= ? ", parameter.SnNum)
- count, err := session.Count(&ord)
- if err != nil {
- return 0
- }
- return int(count)
- }
- func IndexById(Db *xorm.Engine, parameter *md.IndexSaveRequest) (*model.CommunityTeamStorePrinter, error) {
- var ord model.CommunityTeamStorePrinter
- session := Db.Where("id= ? ", parameter.Id)
- _, err := session.Get(&ord)
- return &ord, err
- }
-
- // 写入数据
- func IndexInsert(eg *xorm.Engine, m *model.CommunityTeamStorePrinter) (int64, error) {
- if m.Id > 0 { //编辑
- id, err := IndexUpdate(eg, m, "type,is_use,sn_num,identification_code,name,update_time,location_type")
- if id == 0 || err != nil {
- return 0, logx.Warn("cannot insert data :", err)
- }
- return id, nil
- }
- m.CreateTime = time.Now()
- //写入
- id, err := eg.InsertOne(m)
- if id == 0 || err != nil {
- return 0, logx.Warn("cannot insert data :", err)
- }
- return id, nil
- }
-
- // 修改数据
- func IndexUpdate(eg *xorm.Engine, m *model.CommunityTeamStorePrinter, cols ...string) (int64, error) {
- update, err := eg.ID(m.Id).Cols(cols...).Update(m)
- if err != nil || update == 0 {
- return int64(m.Id), err
- }
- return int64(m.Id), nil
-
- }
-
- // 分页查询打印明细
- func GetPrinterRecordList(Db *xorm.Engine, parameter *md.RecordRequest) ([]md.RecordResList, error) {
- var list []model.CommunityTeamStorePrinterDetail
- var webList []md.RecordResList
- session := Db.Where("store_id >0 and store_id=?", parameter.StoreId)
- if utils.StrToInt(parameter.PrinterId) > 0 {
- session.And("printer_id=? ", parameter.PrinterId)
- }
- if parameter.StartTime != "" {
- session.And("create_time>=? ", parameter.StartTime)
- }
- if parameter.EndTime != "" {
- session.And("create_time<=? ", parameter.EndTime)
- }
- //分页
- if utils.StrToInt(parameter.P) > 0 && utils.StrToInt(parameter.PageSize) > 0 {
- session = session.Limit(utils.StrToInt(parameter.PageSize), (utils.StrToInt(parameter.P)-1)*utils.StrToInt(parameter.PageSize))
- }
- //排序
- if parameter.Sort == "printer_time_desc" {
- session.Desc("create_time")
- } else if parameter.Sort == "printer_time_asc" {
- session.Asc("create_time")
- } else {
- session.Desc("id")
- }
- //排序
- err := session.Find(&list)
- if err != nil {
- return nil, err
- }
- for _, v := range list {
-
- var tmp = md.RecordResList{
- Id: utils.IntToStr(v.Id),
- OrdId: v.OrdId,
- OrdType: utils.IntToStr(v.OrdType),
- PrintContent: v.PrintContent,
- State: utils.IntToStr(v.State),
- PrintTime: v.PrintTime.Format("2006-01-02 15:04:05"),
- CreateTime: v.CreateTime.Format("2006-01-02 15:04:05"),
- }
- if tmp.PrintTime == "0001-01-01 00:00:00" {
- tmp.PrintTime = ""
- }
- webList = append(webList, tmp)
- }
- return webList, nil
- }
|