|
- package svc
-
- import (
- md2 "applet/app/admin/md"
- "applet/app/admin/svc/order"
- "applet/app/bigData/md"
- "applet/app/db"
- "applet/app/db/model"
- "applet/app/utils"
- "encoding/json"
- "time"
- )
-
- func LeftDataForMake() (resp []md.LeftDataForMakeResp, err error) {
- //now := time.Now()
- //startDate := now.Format("2006-01-02") + " 00:00:00"
- //endDate := now.AddDate(0, 0, 1).Format("2006-01-02") + " 00:00:00"
- //engine := db.Db
- //var enterprise []model.Enterprise
- //err = engine.Where("1=1").Find(&enterprise)
- //if err != nil {
- // return
- //}
- //var enterpriseMap = map[int]model.Enterprise{}
- //for _, v := range enterprise {
- // enterpriseMap[v.Id] = v
- //}
- //
- ////1、查找当天的 order 数据(大于 待制作)
- //var orders []model.Order
- //err = engine.Where("create_at >= ?", startDate).And("create_at < ?", endDate).And("state > ? and state != 5", 0).Find(&orders)
- //if err != nil {
- // return
- //}
- //var oIds []int64
- //for _, v := range orders {
- // oIds = append(oIds, v.Oid)
- //}
- //
- ////2、查找对应的订单产品记录
- //var orderGoods []model.OrderGoods
- //err = engine.In("oid", oIds).Find(&orderGoods)
- //if err != nil {
- // return
- //}
- //var orderGoodsMap = map[int64][]model.OrderGoods{}
- //var records []int
- //for _, v := range orderGoods {
- // if orderGoodsMap[v.Oid] == nil {
- // orderGoodsMap[v.Oid] = []model.OrderGoods{}
- // }
- // orderGoodsMap[v.Oid] = append(orderGoodsMap[v.Oid], v)
- // records = append(records, v.Id)
- //}
- //
- ////3、用户订单商品操作流程
- //var orderGoodsDoingFlows []model.OrderGoodsDoingFlow
- //err = engine.Where("state = 2").In("record_id", records).Find(&orderGoodsDoingFlows)
- //if err != nil {
- // return
- //}
- //var orderGoodsDoingFlowsMap = map[int]model.OrderGoodsDoingFlow{}
- //for _, v := range orderGoodsDoingFlows {
- // orderGoodsDoingFlowsMap[v.RecordId] = v
- //}
- //
- ////4、整合数据
- //orderStateArr := []string{"待制作", "制作中", "烘焙完成", "分拣完成", "已取消"}
- //for _, v := range orders {
- // var list []md.LeftDataForMakeList
- // if len(orderGoodsMap[v.Oid]) > 0 {
- // orderGoodsStateArr := []string{"待制作", "制作中"}
- // for _, vv := range orderGoodsMap[v.Oid] {
- // skuData := make([]md2.Sku, 0)
- // json.Unmarshal([]byte(vv.Sku), &skuData)
- // skuStr := ""
- // for _, v1 := range skuData {
- // if skuStr != "" {
- // skuStr += ";"
- // }
- // skuStr += v1.Value
- // }
- // var stateZh = "已完成"
- // if vv.State <= 1 {
- // stateZh = orderGoodsStateArr[vv.State]
- // }
- // list = append(list, md.LeftDataForMakeList{
- // GoodsName: vv.GoodsTitle,
- // Sku: skuStr,
- // Num: vv.Num,
- // SuccessNum: orderGoodsDoingFlowsMap[vv.Id].SuccessNum,
- // StateZh: stateZh,
- // State: vv.State,
- // })
- // }
- //
- // resp = append(resp, md.LeftDataForMakeResp{
- // EnterpriseName: enterpriseMap[v.EnterpriseId].Name,
- // EnterpriseId: v.EnterpriseId,
- // StateZh: orderStateArr[v.State],
- // State: v.State,
- // List: list,
- // })
- // }
- //}
- return
- }
-
- func LeftDataForBaking() (resp []md.LeftDataForMakeResp, err error) {
- //now := time.Now()
- //startDate := now.Format("2006-01-02") + " 00:00:00"
- //endDate := now.AddDate(0, 0, 1).Format("2006-01-02") + " 00:00:00"
- //engine := db.Db
- //var enterprise []model.Enterprise
- //err = engine.Where("1=1").Find(&enterprise)
- //if err != nil {
- // return
- //}
- //var enterpriseMap = map[int]model.Enterprise{}
- //for _, v := range enterprise {
- // enterpriseMap[v.Id] = v
- //}
- //
- ////1、查找当天的 order 数据(大于 待制作)
- //var orders []model.Order
- //err = engine.Where("create_at >= ?", startDate).And("create_at < ?", endDate).And("state > ? and state != 5", 1).Find(&orders)
- //if err != nil {
- // return
- //}
- //var oIds []int64
- //for _, v := range orders {
- // oIds = append(oIds, v.Oid)
- //}
- //
- ////2、查找对应的订单产品记录
- //var orderGoods []model.OrderGoods
- //err = engine.In("oid", oIds).Find(&orderGoods)
- //if err != nil {
- // return
- //}
- //var orderGoodsMap = map[int64][]model.OrderGoods{}
- //var records []int
- //for _, v := range orderGoods {
- // if orderGoodsMap[v.Oid] == nil {
- // orderGoodsMap[v.Oid] = []model.OrderGoods{}
- // }
- // orderGoodsMap[v.Oid] = append(orderGoodsMap[v.Oid], v)
- // records = append(records, v.Id)
- //}
- //
- ////3、用户订单商品操作流程
- //var orderGoodsDoingFlows []model.OrderGoodsDoingFlow
- //err = engine.Where("state = 2").In("record_id", records).Find(&orderGoodsDoingFlows)
- //if err != nil {
- // return
- //}
- //var orderGoodsDoingFlowsMap = map[int]model.OrderGoodsDoingFlow{}
- //for _, v := range orderGoodsDoingFlows {
- // orderGoodsDoingFlowsMap[v.RecordId] = v
- //}
- //
- ////4、整合数据
- //orderStateArr := []string{"待制作", "制作中", "制作完成", "烘焙完成", "分拣完成", "已取消"}
- //for _, v := range orders {
- // var list []md.LeftDataForMakeList
- // if len(orderGoodsMap[v.Oid]) > 0 {
- // for _, vv := range orderGoodsMap[v.Oid] {
- // skuData := make([]md2.Sku, 0)
- // json.Unmarshal([]byte(vv.Sku), &skuData)
- // skuStr := ""
- // for _, v1 := range skuData {
- // if skuStr != "" {
- // skuStr += ";"
- // }
- // skuStr += v1.Value
- // }
- // var stateZh = "已完成"
- // if vv.State == 2 {
- // stateZh = "烘焙中"
- // }
- //
- // list = append(list, md.LeftDataForMakeList{
- // GoodsName: vv.GoodsTitle,
- // Sku: skuStr,
- // Num: vv.Num,
- // SuccessNum: orderGoodsDoingFlowsMap[vv.Id].SuccessNum,
- // StateZh: stateZh,
- // State: vv.State,
- // })
- // }
- //
- // resp = append(resp, md.LeftDataForMakeResp{
- // EnterpriseName: enterpriseMap[v.EnterpriseId].Name,
- // EnterpriseId: v.EnterpriseId,
- // StateZh: orderStateArr[v.State],
- // State: v.State,
- // List: list,
- // })
- // }
- //}
- return
- }
-
- func LeftDataForSorting() (resp []md.LeftDataForMakeResp, err error) {
- engine := db.Db
- var enterprise []model.Enterprise
- err = engine.Where("1=1").Find(&enterprise)
- if err != nil {
- return
- }
- var enterpriseMap = map[int]model.Enterprise{}
- for _, v := range enterprise {
- enterpriseMap[v.Id] = v
- }
-
- //1、查找不等于4 5
- today := utils.GetTimeRange("today")
- if time.Now().Hour() < 2 {
- today = utils.GetTimeRange("yesterday")
- }
- var orders []model.Order
- err = engine.Where(" state != 4 and state != 5 and create_at>=?", time.Unix(today["start"], 0).Format("2006-01-02 15:04:05")).Find(&orders)
- if err != nil {
- return
- }
- var oIds []int64
- for _, v := range orders {
- v1 := order.JudgePackageOrdOrdState(&v)
- if v1.State == 4 || v1.State == 5 {
- continue
- }
- oIds = append(oIds, v.Oid)
- }
-
- //2、查找对应的订单产品记录
- var orderGoods []model.OrderGoods
- err = engine.In("oid", oIds).Find(&orderGoods)
- if err != nil {
- return
- }
- var orderGoodsMap = map[int64][]model.OrderGoods{}
- var records []int
- for _, v := range orderGoods {
- if orderGoodsMap[v.Oid] == nil {
- orderGoodsMap[v.Oid] = []model.OrderGoods{}
- }
- orderGoodsMap[v.Oid] = append(orderGoodsMap[v.Oid], v)
- records = append(records, v.Id)
- }
-
- //4、整合数据
- orderStateArr := []string{"待分拣", "待分拣", "待分拣", "待分拣", "已完成", "已取消"}
- for _, v := range orders {
- var list []md.LeftDataForMakeList
- if len(orderGoodsMap[v.Oid]) > 0 {
- orderGoodsStateArr := []string{"待分拣", "待分拣", "待分拣", "待分拣", "已完成"}
- for _, vv := range orderGoodsMap[v.Oid] {
- skuData := make([]md2.Sku, 0)
- json.Unmarshal([]byte(vv.Sku), &skuData)
- skuStr := ""
- for _, v1 := range skuData {
- if skuStr != "" {
- skuStr += ";"
- }
- skuStr += v1.Value
- }
- var stateZh = orderGoodsStateArr[vv.State]
- list = append(list, md.LeftDataForMakeList{
- GoodsName: vv.GoodsTitle,
- Sku: skuStr,
- Num: vv.Num,
- SuccessNum: vv.SuccessNum,
- StateZh: stateZh,
- State: vv.State,
- })
- }
- resp = append(resp, md.LeftDataForMakeResp{
- EnterpriseName: enterpriseMap[v.EnterpriseId].Name,
- EnterpriseId: v.EnterpriseId,
- StateZh: orderStateArr[v.State],
- State: v.State,
- List: list,
- })
- }
- }
- return
- }
-
- func RightDataForMake(req md.RightDataForMakeReq) (resp []md.RightDataForMakeResp, total int64, err error) {
- now := time.Now()
- startDate := now.Format("2006-01-02") + " 00:00:00"
- endDate := now.AddDate(0, 0, 1).Format("2006-01-02") + " 00:00:00"
- engine := db.Db
- var enterprise []model.Enterprise
- err = engine.Where("1=1").Find(&enterprise)
- if err != nil {
- return
- }
- var enterpriseMap = map[int]model.Enterprise{}
- for _, v := range enterprise {
- enterpriseMap[v.Id] = v
- }
-
- //1、查找当天的 order 数据(大于 待制作)
- var orders []model.Order
- total, err = engine.Where("create_at >= ?", startDate).And("create_at < ?", endDate).And("state > ? and state != 5", 0).
- Limit(req.Limit, (req.Page-1)*req.Limit).FindAndCount(&orders)
- if err != nil {
- return
- }
- var oIds []int64
- for _, v := range orders {
- oIds = append(oIds, v.Oid)
- }
-
- //2、整合数据
- orderStateArr := []string{"待制作", "制作中", "制作完成", "烘焙完成", "分拣完成", "已取消"}
- for _, v := range orders {
- resp = append(resp, md.RightDataForMakeResp{
- EnterpriseName: enterpriseMap[v.EnterpriseId].Name,
- EnterpriseId: v.EnterpriseId,
- StateZh: orderStateArr[v.State],
- State: v.State,
- })
- }
- return
- }
-
- func RightDataForBaking(req md.RightDataForMakeReq) (resp []md.RightDataForMakeResp, total int64, err error) {
- now := time.Now()
- startDate := now.Format("2006-01-02") + " 00:00:00"
- endDate := now.AddDate(0, 0, 1).Format("2006-01-02") + " 00:00:00"
- engine := db.Db
- var enterprise []model.Enterprise
- err = engine.Where("1=1").Find(&enterprise)
- if err != nil {
- return
- }
- var enterpriseMap = map[int]model.Enterprise{}
- for _, v := range enterprise {
- enterpriseMap[v.Id] = v
- }
-
- //1、查找当天的 order 数据(大于 待制作)
- var orders []model.Order
- total, err = engine.Where("create_at >= ?", startDate).And("create_at < ?", endDate).And("state > ? and state != 5", 1).
- Limit(req.Limit, (req.Page-1)*req.Limit).FindAndCount(&orders)
- if err != nil {
- return
- }
- var oIds []int64
- for _, v := range orders {
- oIds = append(oIds, v.Oid)
- }
-
- //2、整合数据
- orderStateArr := []string{"待制作", "制作中", "制作完成", "烘焙完成", "分拣完成", "已取消"}
- for _, v := range orders {
- resp = append(resp, md.RightDataForMakeResp{
- EnterpriseName: enterpriseMap[v.EnterpriseId].Name,
- EnterpriseId: v.EnterpriseId,
- StateZh: orderStateArr[v.State],
- State: v.State,
- })
- }
- return
- }
-
- func RightDataForSorting(req md.RightDataForMakeReq) (resp []md.RightDataForMakeResp, total int64, err error) {
- now := time.Now()
- startDate := now.Format("2006-01-02") + " 00:00:00"
- endDate := now.AddDate(0, 0, 1).Format("2006-01-02") + " 00:00:00"
- engine := db.Db
- var enterprise []model.Enterprise
- err = engine.Where("1=1").Find(&enterprise)
- if err != nil {
- return
- }
- var enterpriseMap = map[int]model.Enterprise{}
- for _, v := range enterprise {
- enterpriseMap[v.Id] = v
- }
-
- //1、查找当天的 order 数据(大于 待制作)
- var orders []model.Order
- total, err = engine.Where("create_at >= ?", startDate).And("create_at < ?", endDate).And("state > ? and state != 5", 2).
- Limit(req.Limit, (req.Page-1)*req.Limit).FindAndCount(&orders)
- if err != nil {
- return
- }
- var oIds []int64
- for _, v := range orders {
- oIds = append(oIds, v.Oid)
- }
-
- //2、整合数据
- orderStateArr := []string{"待制作", "制作中", "制作完成", "烘焙完成", "分拣完成", "已取消"}
- for _, v := range orders {
- resp = append(resp, md.RightDataForMakeResp{
- EnterpriseName: enterpriseMap[v.EnterpriseId].Name,
- EnterpriseId: v.EnterpriseId,
- StateZh: orderStateArr[v.State],
- State: v.State,
- })
- }
- return
- }
|