diff --git a/assets/js/index.js b/assets/js/index.js new file mode 100644 index 0000000..8c63d33 --- /dev/null +++ b/assets/js/index.js @@ -0,0 +1,6 @@ +$(document).ready(function () { + setTimeout(function() { + console.log("refresh"); + location.reload(); + }, 2000); +}); diff --git a/handlers/index.go b/handlers/index.go index 451f9de..98decf6 100644 --- a/handlers/index.go +++ b/handlers/index.go @@ -13,10 +13,11 @@ import ( func IndexHandler(storage storage.Storager) httprouter.Handle { type PageView struct { - Stats *types.Stats - BundlesATA12 []types.BundleData - BundlesATA345 []types.BundleData - Barcodes []types.Barcode + Stats *types.Stats + BundlesATA12 []types.BundleData + BundlesATA345 []types.BundleData + BarcodesATA12 []types.Barcode + BarcodesATA345 []types.Barcode } return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { // get current shift dates @@ -25,23 +26,37 @@ func IndexHandler(storage storage.Storager) httprouter.Handle { http.Error(w, err.Error(), http.StatusInternalServerError) return } - // + // get ata12 shift bundles bundles12, err := storage.ShiftListBundle(r.Context(), dates[0], dates[1], types.ATA12) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } + // get ata345 shift bundles bundles345, err := storage.ShiftListBundle(r.Context(), dates[0], dates[1], types.ATA345) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } + // get ata12 shift barcodes + barcodesATA12, err := storage.ShiftListBarcode(r.Context(), dates[0], dates[1], types.ATA12) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + // get ata345 shift barcodes + barcodesATA345, err := storage.ShiftListBarcode(r.Context(), dates[0], dates[1], types.ATA345) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } // create view view := &PageView{ - Stats: &types.Stats{}, - BundlesATA12: bundles12, - BundlesATA345: bundles345, - Barcodes: []types.Barcode{}, + Stats: &types.Stats{}, + BundlesATA12: bundles12, + BundlesATA345: bundles345, + BarcodesATA12: barcodesATA12, + BarcodesATA345: barcodesATA345, } t, _ := template.ParseFiles("templates/base.html", "templates/index.html") diff --git a/handlers/labels.go b/handlers/labels.go index 3a9ce89..33f1102 100644 --- a/handlers/labels.go +++ b/handlers/labels.go @@ -8,9 +8,19 @@ import ( ) func LabelsHandler() httprouter.Handle { + type PageView struct { + Label12 string + Label345 string + } return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { + + la := `data:image/png;base64,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YAFz587FTmpqKueccw6t5UCIBDN48GA0TcM0TaxUVVVxxx134HQ6CYfDBINB7Jx55pkMGjSIU9Ull1zC3LlzsbNhwwYmTJiAw+EgEAhgmiaxuPTSS4nkwIEDnGwXXXQRycnJeL1e7Lz00kssWrQIXdcJBAKYpokdTdMYP348kWiaxsiRI9m8eTN2Dh06xM0334zT6SQUChEKhYjFqFGjSE5OJlb79+/HTn5+Ppqm0Ra6rjNy5Ei2bduGnfLycm688UacTiehUIhQKEQsLr/8ctxuN82lp6czbNgw3nnnHexs3bqV6667DqfTSTgcJhgMEovMzEwuu+wyIunatSvFxcXs27cPK01NTdx///386U9/IhwOEwwGiUVJSQn5+fm0lo4QCeaCCy4gPT2dWJimid/vJxgMEourrrqKpKQkTlUjRowgJSWFWITDYfx+P6ZpEovMzEyGDx9OJEeOHOFky8vLY9iwYcQqGAzi9/sxTZNYlJaWcs455xDNhAkT0HWdWJimid/vJxQKEQtN07jmmmtoifLycuzk5uai6zptdcUVV6DrOrEwTRO/308oFCIWmqZxzTXXEImmaVx11VXEyjRN/H4/wWCQWE2aNInMzEwicTgcXH755cTK7/cTDAaJ1fjx42kLHSESTFZWFqNHjybeUlJSuPXWWzmV5efnM2rUKNrD2LFjOeOMM4ikurqaU8GNN95Ie7njjjvQNI1oLrzwQs4++2zaQ/fu3RkzZgwtcfjwYezk5uYSD0OHDqVnz560h549ezJ69GiimTJlCnl5ebQHl8vFXXfdhZWpU6ei6zrxlpSUxH/913/RFjpCJKA777wTh8NBPN18882cddZZnOp+9atf4XA4iCeXy8Xdd99NNHV1dZwKrrjiCnr37k289e3bl6lTp2LF4XBw7733omka8aRpGg888ABJSUm0REVFBXaysrKIB6fTyb333ku86brOzJkzcbvdRJOWlsa9995Le5g2bRrnnXceVoYOHcqQIUOItylTptC9e3faQkeIBDR06FDGjx9PvHTr1o0HHniA08GwYcOYOHEi8TRt2jQGDBhANF6vl1NBcnIyjzzyCEop4iUpKYmnnnqKlJQU7PzsZz9j0KBBxNOYMWP42c9+RksYhkFDQwN20tPTiZdrr72W888/n3gaN24cV199NXZ+8Ytf0K9fP+KpR48ePPbY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` + + view := &PageView{ + Label12: la, + } t, _ := template.ParseFiles("templates/base.html", "templates/labels.html") - err := t.Execute(w, nil) + err := t.Execute(w, view) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return diff --git a/storage/storage.go b/storage/storage.go index 1e946bb..61f0856 100644 --- a/storage/storage.go +++ b/storage/storage.go @@ -26,6 +26,7 @@ type DBConfig struct { type Storager interface { Barcode(ctx context.Context, reading string) (barcode *types.Barcode, err error) ListBarcode(ctx context.Context, lb types.LoadingBed, inicio, final time.Time) (barcodes []types.Barcode, err error) + ShiftListBarcode(ctx context.Context, inicio, final time.Time, lb types.LoadingBed) (bundles []types.Barcode, err error) Bundle(ctx context.Context, ua string) (bundle *types.BundleData, err error) ListBundle(ctx context.Context, lb types.LoadingBed, inicio, final time.Time, confirmed bool) (bundles []types.BundleData, err error) ShiftListBundle(ctx context.Context, inicio, final time.Time, lb types.LoadingBed) (bundles []types.BundleData, err error) @@ -36,6 +37,14 @@ type storage struct { mux sync.RWMutex } +// ShiftListBarcode implements Storager. +func (s *storage) ShiftListBarcode(ctx context.Context, inicio time.Time, final time.Time, lb types.LoadingBed) (barcodes []types.Barcode, err error) { + if err := s.db.Where("substr(barcode,1,3)=? and created_at >= ? and created_at < ?", types.MapQueryBed[lb], inicio, final).Order("created_at desc").Limit(limit).Find(&barcodes).WithContext(ctx).Error; err != nil { + return nil, err + } + return +} + // ShiftListBundle implements Storager. func (s *storage) ShiftListBundle(ctx context.Context, inicio, final time.Time, lb types.LoadingBed) (bundles []types.BundleData, err error) { if err := s.db.Where("substr(nromatricula,1,3)=? and created_at >= ? and created_at < ?", types.MapQueryBed[lb], inicio, final).Order("created_at desc").Limit(limit).Find(&bundles).WithContext(ctx).Error; err != nil { diff --git a/templates/index.html b/templates/index.html index 14b2ddc..3a6d826 100644 --- a/templates/index.html +++ b/templates/index.html @@ -49,17 +49,20 @@ + {{if .BarcodesATA12}} + {{ range .BarcodesATA12}} - 9401234567 - 1 - 05/10/2024 08:19 + {{ .Barcode}} + {{ .LoadingBed}} + {{ .FormatCreatedAt}} + {{ end }} + {{ end }} - {{ if .BundlesATA12 }}
- {{ end }} - {{ if .BundlesATA345 }} +
- {{ end }} -{{ end }} \ No newline at end of file + +{{ end }} diff --git a/templates/labels.html b/templates/labels.html index 7983899..a3dc8ae 100644 --- a/templates/labels.html +++ b/templates/labels.html @@ -9,12 +9,16 @@
diff --git a/types/barcode.go b/types/barcode.go index a2f4ac2..31d847f 100644 --- a/types/barcode.go +++ b/types/barcode.go @@ -46,9 +46,9 @@ func (b *Barcode) FormatLoadingBed() string { } func (b *Barcode) FormatCreatedAt() string { - return b.CreatedAt.Format("02/01/2006 15:04:03") + return b.CreatedAt.Format("02/01/2006 15:04:05") } func (b *Barcode) FormatUpdateAt() string { - return b.UpdatedAt.Format("02/01/2006 15:04:03") + return b.UpdatedAt.Format("02/01/2006 15:04:05") }