zoie hace 1 año
padre
commit
d42c009362

+ 1 - 1
app/admin/controller/car_info.go

@@ -112,7 +112,7 @@ func (e CarInfoController) Insert(c *gin.Context) {
 	}
 	p := actions.GetPermissionFromContext(c)
 	// 获取运输企业code
-	truck, err := model.GetProvCode(p.DeptId)
+	truck, err := model.GetProvCodeById(p.DeptId)
 	if err != nil {
 		e.Logger.Error(err)
 		e.Error(500, err, err.Error())

+ 2 - 2
app/admin/controller/customer.go

@@ -151,7 +151,7 @@ func (e CustomerController) Insert(c *gin.Context) {
 	}
 	p := actions.GetPermissionFromContext(c)
 	// 获取销售门店code
-	store, err := model.GetProvCode(p.DeptId)
+	store, err := model.GetProvCodeById(p.DeptId)
 	if err != nil {
 		e.Logger.Error(err)
 		e.Error(500, err, err.Error())
@@ -268,7 +268,7 @@ func (e CustomerController) InsertOrUpdate(c *gin.Context) {
 	}
 	p := actions.GetPermissionFromContext(c)
 	// 获取销售门店code
-	store, err := model.GetProvCode(p.DeptId)
+	store, err := model.GetProvCodeById(p.DeptId)
 	if err != nil {
 		e.Logger.Error(err)
 		e.Error(500, err, err.Error())

+ 31 - 0
app/admin/controller/gas_cylinder.go

@@ -128,3 +128,34 @@ func (e GasCylinderController) GetByUid(c *gin.Context) {
 		"operationLog": operationLogList,
 	}, "查询成功")
 }
+
+// Mock 模拟气瓶数据
+// @Summary 通过id获取商品
+// @Description 通过id获取商品
+// @Tags 商品
+// @Param id path string true "商品id"
+// @Success 200 {object} response.Response{data=model.GasCylinder} "{"code": 200, "data": [...]}"
+// @Router /api/goods/{id} [get]
+// @Security Bearer
+func (e GasCylinderController) Mock(c *gin.Context) {
+	s := service.GasCylinder{}
+	req := dto.GasCylinderMockReq{}
+	err := e.MakeContext(c).
+		MakeOrm().
+		Bind(&req, binding.JSON).
+		MakeService(&s.Service).
+		Errors
+	if err != nil {
+		e.Logger.Error(err)
+		e.Error(500, err, err.Error())
+		return
+	}
+	//数据权限检查
+	err = s.Mock(&req)
+	if err != nil {
+		e.Error(500, err, err.Error())
+		return
+	}
+
+	e.OK(nil, "生成成功")
+}

+ 29 - 0
app/admin/controller/sys_menu.go

@@ -208,3 +208,32 @@ func (e SysMenuController) GetMenuRole(c *gin.Context) {
 
 	e.OK(result, "")
 }
+
+// GetMenuRole 根据登录角色名称获取菜单列表数据【左菜单使用】
+// @Summary 根据登录角色名称获取菜单列表数据【左菜单使用】
+// @Description 根据登录角色名称获取菜单列表数据【左菜单使用】
+// @Tags 菜单
+// @Success 200 {object} response.Response{data=[]model.SysMenu} "{"code": 200, "data": [...]}"
+// @Router /api/select-menu [get]
+// @Security Bearer
+func (e SysMenuController) MenuSelect(c *gin.Context) {
+	s := new(service.SysMenu)
+	err := e.MakeContext(c).
+		MakeOrm().
+		MakeService(&s.Service).
+		Errors
+	if err != nil {
+		e.Logger.Error(err)
+		e.Error(500, err, err.Error())
+		return
+	}
+	p := actions.GetPermissionFromContext(c)
+	result, err := s.MenuSelect(user.GetRoleKey(c), user.GetUserId(c), p)
+
+	if err != nil {
+		e.Error(500, err, err.Error())
+		return
+	}
+
+	e.OK(result, "")
+}

+ 1 - 1
app/admin/controller/sys_user.go

@@ -171,7 +171,7 @@ func (e SysUser) Insert(c *gin.Context) {
 
 	p := actions.GetPermissionFromContext(c)
 	// 获取销售门店code
-	store, err := model.GetProvCode(p.DeptId)
+	store, err := model.GetProvCodeById(p.DeptId)
 	if err != nil {
 		e.Logger.Error(err)
 		e.Error(500, err, err.Error())

+ 20 - 1
app/admin/model/sys_dept.go

@@ -152,7 +152,7 @@ func GetEnterDeptNameCacheKey(c *gin.Context) string {
 	return fmt.Sprintf("enter-dept-name-%s-%d", tokenId, userId)
 }
 
-func GetProvCode(id int) (SysDept, error) {
+func GetProvCodeById(id int) (SysDept, error) {
 	var err error
 	var deptModel SysDept
 	//准备db
@@ -171,3 +171,22 @@ func GetProvCode(id int) (SysDept, error) {
 
 	return deptModel, nil
 }
+func GetDeptByCmpCode(CmpCode string) (SysDept, error) {
+	var err error
+	var deptModel SysDept
+	//准备db
+	db := sdk.Runtime.GetDbByKey(config.ApplicationConfig.Host)
+	if db == nil {
+		err = errors.New("db not exist")
+		log.Errorf("host[%s]'s %s", err.Error())
+		return deptModel, err
+	}
+	err = db.Where("cmp_code = ?", CmpCode).First(&deptModel).Error
+	if err != nil {
+		log.Errorf("db error: %s", err)
+		err = errors.New("获取企业信息失败")
+		return deptModel, err
+	}
+
+	return deptModel, nil
+}

+ 1 - 0
app/admin/router/gas_cylinder.go

@@ -30,5 +30,6 @@ func registerGasCylinderRouterRouter2(v1 *gin.RouterGroup) {
 	r := v1.Group("/gas-cylinder")
 	{
 		r.GET("/uid/:chipUid", cont.GetByUid)
+		r.POST("/mock", cont.Mock)
 	}
 }

+ 0 - 1
app/admin/router/operation_log.go

@@ -32,6 +32,5 @@ func registerOperationLogRouter2(v1 *gin.RouterGroup) {
 	r := v1.Group("/operation-log")
 	{
 		r.POST("/gas-station", cont.InsertForGasStation)
-
 	}
 }

+ 1 - 0
app/admin/router/sys_menu.go

@@ -27,6 +27,7 @@ func registerSysMenuRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddle
 	r1 := v1.Group("").Use(authMiddleware.MiddlewareFunc()).Use(actions.PermissionAction())
 	{
 		r1.GET("/menu-role", cont.GetMenuRole)
+		r1.GET("/menu-select", cont.MenuSelect)
 	}
 
 }

+ 5 - 0
app/admin/service/dto/address.go

@@ -9,6 +9,11 @@ import (
 type AddressGetPageReq struct {
 	dto.Pagination `search:"-"`
 	CustomerId     string `form:"customerId" search:"type:contains;column:customer_id;table:address"` // 角色名称
+	AddressOrder
+}
+
+type AddressOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:address" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *AddressGetPageReq) GetNeedSearch() interface{} {

+ 5 - 0
app/admin/service/dto/car_info.go

@@ -9,6 +9,11 @@ import (
 type CarInfoGetPageReq struct {
 	dto.Pagination `search:"-"`
 	CarNo          string `form:"carNo" search:"type:contains;column:car_no;table:car_info"` // 角色名称
+	CarInfoOrder
+}
+
+type CarInfoOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:car_info" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *CarInfoGetPageReq) GetNeedSearch() interface{} {

+ 23 - 22
app/admin/service/dto/customer.go

@@ -11,6 +11,7 @@ type CustomerGetPageReq struct {
 	PrincipalPhone string `form:"principalPhone" search:"type:contains;column:principal_phone;table:customer"` // 电话
 	Type           string `form:"type" search:"type:exact;column:type;table:customer"`                         // 类型
 	Address        string `form:"address" search:"type:contains;column:address;table:customer"`                // 地址
+	CustomerOrder
 }
 
 type CustomerOrder struct {
@@ -22,18 +23,18 @@ func (m *CustomerGetPageReq) GetNeedSearch() interface{} {
 }
 
 type CustomerInsertReq struct {
-	Id             string  `json:"id" swaggerignore:"true"`                         // 主键ID
-	Name           string  `json:"name"`                                            // 名字
+	Id             string  `json:"id" swaggerignore:"true"`                   // 主键ID
+	Name           string  `json:"name"`                                      // 名字
 	PrincipalPhone string  `json:"principalPhone" vd:"len($)>0;msg:'电话不能为空'"` // 负责人电话
-	Address        string  `json:"address"`                                         // 地址
-	AddressImg     string  `json:"addressImg"`                                      // 现场图片
-	Lng            float64 `json:"lng"`                                             // 经度
-	Lat            float64 `json:"lat"`                                             // 纬度
-	Type           int     `json:"type"`                                            // 类型 0-商户 1-私人
-	City           string  `json:"city"`                                            // 所在地市
-	Area           string  `json:"area"`                                            // 所属区/县
-	Remark         string  `json:"remark"`                                          // 备注描述
-	StoreCode      string  `swaggerignore:"true"`                                   // 门店登记编号
+	Address        string  `json:"address"`                                   // 地址
+	AddressImg     string  `json:"addressImg"`                                // 现场图片
+	Lng            float64 `json:"lng"`                                       // 经度
+	Lat            float64 `json:"lat"`                                       // 纬度
+	Type           int     `json:"type"`                                      // 类型 0-商户 1-私人
+	City           string  `json:"city"`                                      // 所在地市
+	Area           string  `json:"area"`                                      // 所属区/县
+	Remark         string  `json:"remark"`                                    // 备注描述
+	StoreCode      string  `swaggerignore:"true"`                             // 门店登记编号
 
 	common.ControlBy `swaggerignore:"true"`
 	common.DeptBy    `swaggerignore:"true"`
@@ -79,18 +80,18 @@ func (s *CustomerInsertReq) SetStoreCode(storeCode string) {
 }
 
 type CustomerUpdateReq struct {
-	Id             string  `json:"id" vd:"len($)>0"`                                 // 主键ID
-	Name           string  `json:"name"`                                             // 名字
+	Id             string  `json:"id" vd:"len($)>0"`                           // 主键ID
+	Name           string  `json:"name"`                                       // 名字
 	PrincipalPhone string  `json:"principalPhone"  vd:"len($)>0;msg:'电话不能为空'"` // 负责人电话
-	Address        string  `json:"address"`                                          // 地址
-	AddressImg     string  `json:"addressImg"`                                       // 现场图片
-	Lng            float64 `json:"lng"`                                              // 经度
-	Lat            float64 `json:"lat"`                                              // 纬度
-	Type           int     `json:"type"`                                             // 类型 0-商户 1-私人
-	City           string  `json:"city"`                                             // 所在地市
-	Area           string  `json:"area"`                                             // 所属区/县
-	Remark         string  `json:"remark"`                                           // 备注描述
-	StoreCode      string  `swaggerignore:"true"`                                    // 门店登记编号
+	Address        string  `json:"address"`                                    // 地址
+	AddressImg     string  `json:"addressImg"`                                 // 现场图片
+	Lng            float64 `json:"lng"`                                        // 经度
+	Lat            float64 `json:"lat"`                                        // 纬度
+	Type           int     `json:"type"`                                       // 类型 0-商户 1-私人
+	City           string  `json:"city"`                                       // 所在地市
+	Area           string  `json:"area"`                                       // 所属区/县
+	Remark         string  `json:"remark"`                                     // 备注描述
+	StoreCode      string  `swaggerignore:"true"`                              // 门店登记编号
 
 	common.ControlBy `swaggerignore:"true"`
 	common.DeptBy    `swaggerignore:"true"`

+ 4 - 0
app/admin/service/dto/device.go

@@ -9,6 +9,10 @@ import (
 type DeviceGetPageReq struct {
 	dto.Pagination `search:"-"`
 	Sn             string `form:"sn" search:"type:contains;column:sn;table:device"` // 设备编码
+	DeviceOrder
+}
+type DeviceOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:device" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *DeviceGetPageReq) GetNeedSearch() interface{} {

+ 4 - 0
app/admin/service/dto/dispatch_cost.go

@@ -9,6 +9,10 @@ import (
 type DispatchCostGetPageReq struct {
 	dto.Pagination `search:"-"`
 	Name           string `form:"name" search:"type:contains;column:name;table:dispatch_cost"` // 商品名称
+	DispatchCostOrder
+}
+type DispatchCostOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:dispatch_cost" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *DispatchCostGetPageReq) GetNeedSearch() interface{} {

+ 4 - 0
app/admin/service/dto/fill_ckeck.go

@@ -9,6 +9,10 @@ import (
 type FillCheckGetPageReq struct {
 	dto.Pagination `search:"-"`
 	InnerCode      string `form:"innerCode" search:"type:contains;column:inner_code;table:fill_check"` //
+	FillCheckOrder
+}
+type FillCheckOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:fill_check" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *FillCheckGetPageReq) GetNeedSearch() interface{} {

+ 4 - 1
app/admin/service/dto/fill_data.go

@@ -13,7 +13,10 @@ type FillDataGetPageReq struct {
 	ChipId         string `form:"chipId" search:"-"`                                                  // 高频编码
 	StartFillTime  string `form:"startFillTime" search:"-"`                                           // 充装开始时间
 	EndFillTime    string `form:"endFillTime" search:"-"`                                             // 充装结束时间
-
+	FillDataOrder
+}
+type FillDataOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:fill_data" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *FillDataGetPageReq) GetNeedSearch() interface{} {

+ 4 - 0
app/admin/service/dto/fill_gun.go

@@ -11,6 +11,10 @@ type FillGunGetPageReq struct {
 	GunCode        string `form:"gunCode" search:"type:contains;column:gun_code;table:fill_gun"`          // 充装枪编码
 	ScanGunCode    string `form:"scanGunCode" search:"type:contains;column:scan_gun_code;table:fill_gun"` // 扫描枪编码
 	PersonCode     string `form:"personCode" search:"type:contains;column:person_Code;table:fill_gun"`    // 充装人员编码
+	FillGunOrder
+}
+type FillGunOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:fill_gun" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *FillGunGetPageReq) GetNeedSearch() interface{} {

+ 8 - 0
app/admin/service/dto/gas_cylinder.go

@@ -7,6 +7,10 @@ import (
 type GasCylinderGetPageReq struct {
 	dto.Pagination `search:"-"`
 	InnerCode      string `form:"innerCode" search:"type:contains;column:inner_code;table:gas_cylinder"` // 商品名称
+	GasCylinderOrder
+}
+type GasCylinderOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:gas_cylinder" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *GasCylinderGetPageReq) GetNeedSearch() interface{} {
@@ -28,3 +32,7 @@ type GasCylinderGetByUidReq struct {
 func (s *GasCylinderGetByUidReq) GetChipUid() interface{} {
 	return s.ChipUid
 }
+
+type GasCylinderMockReq struct {
+	DeptId int `json:"deptId"`
+}

+ 4 - 0
app/admin/service/dto/gas_cylinder_spec.go

@@ -9,6 +9,10 @@ import (
 type GasCylinderSpecGetPageReq struct {
 	dto.Pagination `search:"-"`
 	Name           string `form:"name" search:"type:contains;column:name;table:gas_cylinder_spec"` // 商品名称
+	GasCylinderSpecOrder
+}
+type GasCylinderSpecOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:gas_cylinder_spec" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *GasCylinderSpecGetPageReq) GetNeedSearch() interface{} {

+ 4 - 0
app/admin/service/dto/goods.go

@@ -11,6 +11,10 @@ type GoodsGetPageReq struct {
 	Name           string `form:"name" search:"type:contains;column:name;table:goods"`            // 商品名称
 	MediaType      string `form:"mediaType" search:"type:contains;column:media_type;table:goods"` // 介质类型
 	IsShow         int    `form:"isShow" search:"-"`                                              // 是否展示 1-展示 2-不展示
+	GoodsOrder
+}
+type GoodsOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:goods" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *GoodsGetPageReq) GetNeedSearch() interface{} {

+ 5 - 0
app/admin/service/dto/inspect_record.go

@@ -7,6 +7,7 @@ import (
 	"time"
 )
 
+// 入库安全检查
 type InspectRecordGetPageReq struct {
 	dto.Pagination   `search:"-"`
 	State            int    `form:"state" search:"type:exact;column:state;table:inspect_record"`                 // 订单状态 状态 0-待整改 1-整改中 2-已整改
@@ -14,6 +15,10 @@ type InspectRecordGetPageReq struct {
 	InspectEndTime   string `form:"inspectEndTime" search:"type:lte;column:inspect_time;table:inspect_record"`   // 检查结束时间
 	CustomerName     string `form:"customerName" search:"-"`                                                     // 客户名称
 	InspectorName    string `form:"inspectorName" search:"-"`                                                    // 检查人
+	InspectRecordOrder
+}
+type InspectRecordOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:inspect_record" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *InspectRecordGetPageReq) GetNeedSearch() interface{} {

+ 4 - 0
app/admin/service/dto/operation_log.go

@@ -8,6 +8,10 @@ type OperationLogGetPageReq struct {
 	dto.Pagination `search:"-"`
 	OptType        int    `form:"optType" search:"type:exact;column:opt_type;table:operation_log"`        // 气瓶流转步骤
 	InnerCode      string `form:"innerCode" search:"type:contains;column:inner_code;table:operation_log"` //
+	OperationLogOrder
+}
+type OperationLogOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:operation_log" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *OperationLogGetPageReq) GetNeedSearch() interface{} {

+ 4 - 0
app/admin/service/dto/order.go

@@ -16,6 +16,10 @@ type OrderGetPageReq struct {
 	OrderEndTime   string `form:"orderEndTime" search:"type:lte;column:order_time;table:order"`     // 下单结束时间
 	Phone          string `form:"phone" search:"type:contains;column:phone;table:order"`            // 客户电话
 	CustomerId     string `form:"customerId" search:"type:contains;column:customer_id;table:order"` // 客户id
+	OrderOrder
+}
+type OrderOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:order" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *OrderGetPageReq) GetNeedSearch() interface{} {

+ 4 - 0
app/admin/service/dto/real_fill_data.go

@@ -8,7 +8,11 @@ import (
 type RealFillDataGetPageReq struct {
 	dto.Pagination `search:"-"`
 	GunCode        int `form:"gunCode" search:"type:exact;column:state;table:real_fill_data"` // 枪编码
+	RealFillDataOrder
+}
 
+type RealFillDataOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:real_fill_data" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *RealFillDataGetPageReq) GetNeedSearch() interface{} {

+ 5 - 0
app/admin/service/dto/warehouse.go

@@ -9,6 +9,11 @@ import (
 type WarehouseGetPageReq struct {
 	dto.Pagination `search:"-"`
 	Name           string `form:"name" search:"type:contains;column:name;table:warehouse"` // 商品名称
+	WarehouseOrder
+}
+
+type WarehouseOrder struct {
+	CreatedAtOrder string `search:"type:order;column:created_at;table:warehouse" form:"createdAtOrder" default:"desc"`
 }
 
 func (m *WarehouseGetPageReq) GetNeedSearch() interface{} {

+ 61 - 0
app/admin/service/gas_cylinder.go

@@ -3,6 +3,7 @@ package service
 import (
 	"encoding/json"
 	"errors"
+	"fmt"
 	"gas-cylinder-api/app/admin/model"
 	"gas-cylinder-api/app/admin/service/dto"
 	"gas-cylinder-api/common/actions"
@@ -12,6 +13,8 @@ import (
 	"github.com/go-resty/resty/v2"
 	"gogs.baozhida.cn/zoie/OAuth-core/service"
 	"gorm.io/gorm"
+	"math/rand"
+	"time"
 )
 
 type GasCylinder struct {
@@ -149,3 +152,61 @@ func (e *GasCylinder) GetByUid(d *dto.GasCylinderGetByUidReq, data *model.ProvGa
 
 	return nil
 }
+
+func (e *GasCylinder) Mock(d *dto.GasCylinderMockReq) error {
+	// TODO 通过省平台获取气瓶详情
+
+	for i := 0; i < 20; i++ {
+		rand.New(rand.NewSource(time.Now().UnixNano()))
+		// 生成随机数后八位
+		randomSuffix := rand.Intn(9999999999999999)
+		randomSuffix2 := rand.Intn(999999999999)
+
+		// 组合成16位随机数
+		InnerCode := fmt.Sprintf("%16d", randomSuffix)
+		uid := fmt.Sprintf("%12d", randomSuffix2)
+		client := resty.New()
+
+		resp, err := client.R().Get("https://mock.apifox.com/m2/4037076-0-default/151344663")
+		if err != nil {
+			e.Log.Errorf("db error: %s", err)
+			return global.GetFailedErr
+		}
+		var data model.GasCylinder
+		err = json.Unmarshal(resp.Body(), &data)
+		if err != nil {
+			e.Log.Errorf("json Unmarshal err: %s", err)
+			return global.GetFailedErr
+		}
+		obj := model.GasCylinder{
+			ProVariety:    data.ProVariety,
+			ProName:       data.ProName,
+			ProNo:         data.ProNo,
+			FillMedia:     data.FillMedia,
+			MakeUnit:      data.MakeUnit,
+			MakeTime:      data.MakeTime,
+			WorkPressure:  data.WorkPressure,
+			InnerCode:     InnerCode,
+			Volume:        data.Volume,
+			CheckTime:     data.CheckTime,
+			NextCheckTime: data.NextCheckTime,
+			ProUuid:       data.ProUuid,
+			Uid:           uid,
+			ProductId:     data.ProductId,
+			DeadlineTime:  data.DeadlineTime,
+			CheckInTime:   data.CheckInTime,
+			DeptBy: model2.DeptBy{
+				DeptId: d.DeptId,
+			},
+		}
+
+		err = e.Orm.Create(&obj).Error
+		if err != nil {
+			e.Log.Errorf("db error: %s", err)
+			return global.GetFailedErr
+		}
+
+	}
+
+	return nil
+}

+ 20 - 2
app/admin/service/operation_log.go

@@ -10,6 +10,7 @@ import (
 	cModel "gas-cylinder-api/common/model"
 	log "gogs.baozhida.cn/zoie/OAuth-core/logger"
 	"gogs.baozhida.cn/zoie/OAuth-core/service"
+	"gorm.io/gorm/utils"
 
 	"gorm.io/gorm"
 	"time"
@@ -70,7 +71,7 @@ func (e *OperationLog) Get(d *dto.OperationLogGetReq, carInfoModel *model.Operat
 func (e *OperationLog) Insert(c *dto.OperationLogInsertReq, p *actions.DataPermission) error {
 	var err error
 	data := make([]model.OperationLog, 0)
-	company, err := model.GetProvCode(p.DeptId)
+	//company, err := model.GetProvCodeById(p.DeptId)
 	if err != nil {
 		e.Log.Errorf("db error: %s", err)
 		return global.CreateFailedErr
@@ -91,17 +92,32 @@ func (e *OperationLog) Insert(c *dto.OperationLogInsertReq, p *actions.DataPermi
 	switch c.OptType {
 	case "25", "27":
 		// 送气员领重瓶
+		// 查询门店
+		store, err := model.GetDeptByCmpCode(c.CurrentEnterprise)
+		if err != nil {
+			tx.Rollback()
+			log.Errorf("db error: %s", err)
+			return errors.New("获取门店信息失败")
+		}
 		for _, chipUid := range c.ChipUidList {
 			// 1、通过高频ID查询气瓶内编码
 			var gasCylinder model.GasCylinder
 			err = tx.Where("uid = ?", chipUid).First(&gasCylinder).Error
+			if err != nil {
+				tx.Rollback()
+				log.Errorf("db error: %s", err)
+				return global.CreateFailedErr
+			}
 			operationLog := model.OperationLog{
 				ProvOperationLog: model.ProvOperationLog{
 					InnerCode:         gasCylinder.InnerCode,
 					OptType:           c.OptType,
 					OptUser:           user.ProvUserId,
 					CompanyId:         user.ProvUser.CmpCode,
-					CurrentEnterprise: company.CmpCode,
+					CurrentEnterprise: user.ProvUser.CmpCode,
+					CurrentStore:      store.CmpCode,
+					Lng:               utils.ToString(store.ProvStore.Lng),
+					Lat:               utils.ToString(store.ProvStore.Lat),
 					OptTime:           time.Now().Format("2006-01-02 15:04:05"),
 				},
 				ControlBy: cModel.ControlBy{
@@ -165,6 +181,8 @@ func (e *OperationLog) Insert(c *dto.OperationLogInsertReq, p *actions.DataPermi
 					CompanyId:         user.ProvUser.CmpCode,
 					CurrentEnterprise: user.ProvUser.CmpCode,
 					CurrentStore:      user.ProvUser.CmpCode,
+					Lng:               utils.ToString(user.Dept.ProvStore.Lng),
+					Lat:               utils.ToString(user.Dept.ProvStore.Lat),
 					OptTime:           time.Now().Format("2006-01-02 15:04:05"),
 				},
 				ControlBy: cModel.ControlBy{

+ 1 - 1
app/admin/service/order.go

@@ -45,7 +45,7 @@ func (e *Order) GetDeliveryPage(c *dto.OrderGetDeliveryPageReq, list *[]model.Or
 			cDto.MakeCondition(c.GetNeedSearch()),
 			cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
 		).
-		Where("user_id = ?", p.UserId).
+		Where("user_id = ? and state > 1", p.UserId).
 		Preload("Customer").Preload("Store").Preload("Goods").Preload("Spec").
 		Find(list).Limit(-1).Offset(-1).
 		Count(count).Error

+ 71 - 0
app/admin/service/sys_menu.go

@@ -596,3 +596,74 @@ func (e *SysMenu) SetMenuRole(roleKey string, userId int, p *actions.DataPermiss
 	_ = model.SetRoleMenuCache(cacheKey, m)
 	return
 }
+func (e *SysMenu) MenuSelect(roleKey string, userId int, p *actions.DataPermission) (m []model.SysMenu, err error) {
+
+	menus, err := e.getByRoleName(roleKey)
+	if err != nil {
+		return m, global.GetFailedErr
+	}
+	m = make([]model.SysMenu, 0)
+
+	var menuList []model.SysMenu
+
+	if p.DeptId == 0 {
+		if roleKey == "admin" {
+			err = e.Orm.Table("sys_menu").
+				Where("sys_menu.visible = 1 and sys_menu.deleted_at is null").
+				Order("sys_menu.sort").
+				Order("id").
+				Scan(&menuList).Error
+			if err != nil {
+				return m, global.GetFailedErr
+			}
+		} else {
+			menuIds := make([]int, 0)
+			for _, menu := range menus {
+				menuIds = append(menuIds, menu.Id)
+			}
+			err = e.Orm.Table("sys_menu").
+				Where("sys_menu.id in (?) and sys_menu.visible = 1 and sys_menu.deleted_at is null", menuIds).
+				Order("sys_menu.sort").
+				Order("id").
+				Scan(&menuList).Error
+			if err != nil {
+				return m, global.GetFailedErr
+			}
+		}
+	} else {
+
+		if roleKey == "admin" {
+			err = e.Orm.Table("sys_menu").
+				Where("sys_menu.visible = 1 and sys_menu.deleted_at is null").
+				Order("sys_menu.sort").
+				Order("id").
+				Scan(&menuList).Error
+			if err != nil {
+				return m, global.GetFailedErr
+			}
+		} else {
+			menuIds := make([]int, 0)
+			for _, menu := range menus {
+				menuIds = append(menuIds, menu.Id)
+			}
+			err = e.Orm.Table("sys_menu").
+				Where("sys_menu.id in (?) and sys_menu.visible = 1 and sys_menu.deleted_at is null", menuIds).
+				Order("sys_menu.sort").
+				Order("id").
+				Scan(&menuList).Error
+			if err != nil {
+				return m, global.GetFailedErr
+			}
+		}
+	}
+
+	//sort.Sort(model.SysMenuSlice(menuList))
+	for i := 0; i < len(menuList); i++ {
+		if menuList[i].ParentId != 0 {
+			continue
+		}
+		menusInfo := menuCall(&menuList, menuList[i])
+		m = append(m, menusInfo)
+	}
+	return
+}