Skip to content

采购任务

采购任务


purchase/task/create

接口描述: 手动创建采购任务,可以进行批量新建,使用同步方式新建

请求方法: POST

请求参数: 
        tasks        M       list<dict>         
                [
                    {
                        spec_id          M           str         采购规格
                        plan_purchase_amount     M           float         采购量(基本单位)
                        setttle_supplier_id     M           str         供应商id
                        purchaser_id        O       int         采购员id(该供应商无默认采购员时可以不传)
                        time_config_id      O       str         报价单id
                        cycle_start_time    O       datetime    收货时间(如:2019-09-09 13:30:00)
                    }
                    。。。
                ]

响应: ok

示例:
    request:
        https://station.guanmai.cn/purchase/task/create
        POST请求参数:
            tasks: [
                {"spec_id":  "D14393659",
                "plan_purchase_amount": 22,
                "setttle_supplier_id":  "T3455",
                "purchaser_id":    33,
                "time_config_id":       "ST4292",
                "cycle_start_time":     2019-09-09 13:30:00
                },
                {"spec_id":  "D14392239",
                "plan_purchase_amount": 33.33,
                "setttle_supplier_id":  "T1125",
                },
                    ]

    response:
        code: 0
        data: null
        msg: "ok"

逻辑:
    校验该sku是否存在

    创建采购任务

    特殊逻辑:
    用户选择商品之后,可以选择任意供应商,即使选择的供应商无法供应该商品,
    但是会将可供应和不可供应的供应商区分开来

purchase/task/get_create_source 新建任务获取采购规格

接口描述: 传入spu id返回对应的采购规格和相关信息

请求方法: GET

请求参数: 
        spu_id                  M               str             spu id

响应: 
    【
        {
            spec_id             M               str             采购规格id
            ratio               M               float           采购ratio
            unit_name           M               str             采购单位
            std_unit_name       M               str             基本单位
        }
    】

示例:
    request:
        http://station.guanmai.cn/purchase/task/get_create_source?spu_id=C1968040

    response:
        {
        data: [
                {
                std_unit_name: "KG",
                ratio: 1,
                unit_name: "KG",
                spec_id: "D12042547"
                }
                ],
        msg: "ok",
        code: 0
        }

逻辑:
    拉取采购规格,放开了供应商的限制,既采购规格不与供应商是否可以供应绑定

purchase/task/suppliers 采购任务获取供应商

接口描述: 传入spec id返回可采购该规格的供应商以及不可采购的供应商以及他们的默认采购员

请求方法: GET

请求参数: 
        spec_id        M       str         采购规格


响应: 
    【
        supply        M       list<dict>          可供应供应商
            [
                {
                    settle_supplier_id              M           str         供应商id
                    supplier_name                   M           str         供应商名称
                    default_purchaser_id            O         int         该供应商默认采购员id(没有时返回null)
                    default_purchaser_name          O         str         该供应商默认采购员名称(没有时返回null)
                }
            ]
        cant_supply        M       list<dict>          不可供应供应商
            [
                {
                    settle_supplier_id              M           str         供应商id
                    supplier_name                   M           str         供应商名称
                    default_purchaser_id            O         int         该供应商默认采购员id(没有时返回null)
                    default_purchaser_name          O         str         该供应商默认采购员名称(没有时返回null)
                }
            ]
    】

示例:
    request:
        http://station.env-zzq.dev.k8s.guanmai.cn/purchase/task/suppliers?spec_id=D12042547

    response:
        {
    data:{
        cant_supply:[
            {
                supplier_name:"水果33供应商",
                default_purchaser_id:200568,
                default_purchaser_name:"asdfasdgedfg",
                settle_supplier_id:"T8524"
            },
        ],
        supply:[
            {
                supplier_name:"t",
                default_purchaser_id:200565,
                default_purchaser_name:"status",
                settle_supplier_id:"T32760"
            },
        ]
    },
    msg:"ok",
    code:0
    }


purchase/task/print 采购任务打印

接口描述: 采购任务打印

请求方法: GET

请求参数: 
        q_type              C           int             查询类型,1:按下单时间,2:按运营周期,3:按收货时间
        q                   O           str             搜索字段,支持订单号和商品名称搜索
        address_id              O           str             需要过滤的站点(一乙定制功能)
        category1_ids       O       list        一级分类
        category2_ids       O       list        二级分类
        pinlei_ids          O       list        品类
        settle_supplier_id  O       string      供应商ID
        time_config_id      O       string      时间配置ID
        status              O       int         任务状态
        order_status        O       int         订单状态
        purchaser_id            O           int             筛选的采购员id
        route_id                O           int             线路id
        weight_status           O           int             分拣状态,1:已完成,2:未完成
        has_created_sheet       O           bool            是否生成采购单,0:未生成,1:已生成
        begin_time              C           datetime        开始时间(格式:2019-07-18 00:00:00)
        end_time                C           datetime        结束时间(格式:2019-07-18 00:00:00)

响应: 
    【
        {
            customer_id         M           str         商户名称
            settle_supplier_id  M           str         供应商id
            settle_supplier_name    M       str         供应商名称
            station_name            M       str         站点名称
            tasks               M           list<dict>
                [
                    {
                        pinlei_name     M           str         品类
                        sku_name        M           str         采购规格名称
                        suggest_purchase_num        M       float       建议采购
                        address_count       M       int
                        price           M          float
                        sale_unit_name      M      str          采购单位
                        addresses       M           list<str>   地址        
                        sale_ratio      M           float       采购ratio(命名由于历史原因未改)
                        category1_name  M           str         一级分类
                        category2_name  M           str         二级分类
                        std_unit_name   M           str         基本单位
                        stock           M           float       库存
                        description     M           str         采购描述
                    }
                ]
            settle_suppliers        M       list<dict>
                [
                    {
                        id
                        name
                        default_purchaser_id(新增)      M         int         该供应商默认采购员id(没有时返回null)
                        default_purchaser_name(新增)      M         str         该供应商默认采购员名称(没有时返回null)
                    }
                ]
        }
    】

示例:
    request:
        http://station.purchase.devhost.guanmai.cn/purchase/task/print?begin_time=2019-09-17+00%3A00%3A00&
        end_time=2019-09-17+00%3A00%3A00&print_what=task&q_type=1&is_print=1

    response:
        {
    code: 0,
    msg: "ok",
    data: [
        {
            purchaser: [
                {
                    purchaser_name: "liming",
                    purchaser_id: 1
                }
            ],
            station_name: "总仓-李铭",
            customer_id: "332",
            purchaser_phone_num: "14533432345",
            settle_supplier_id: "T33194",
            supplier_phone_num: "15989513401!@#¥字符",
            settle_supplier_name: "名字很长",
            tasks: [
                {
                    pinlei_name: "空心菜",
                    sku_name: "大白菜【斤】",
                    suggest_purchase_num: -30,
                    address_count: 1,
                    price: 300,
                    sale_unit_name: "斤",
                    addresses: [
                        {
                            res_name: "",
                            remark: "",
                            sale_unit_name: "斤",
                            sale_ratio: 1,
                            sort_id: "",
                            address_id: "",
                            plan_purchase_amount: 3
                        }
                    ],
                    sale_ratio: 1,
                    category1_name: "蔬菜",
                    category2_name: "叶菜类",
                    std_unit_name: "斤",
                    stock: 33
                }
            ]
        },
    ]
}



逻辑:
    打印接口无参数检查校验、可以同时传采购员和供应商进行打印,分享接口做了限制

purchase/task/print_no_login 采购任务分享

接口描述:参考上方的采购任务打印接口,两者用的同一个类

逻辑:
    分享接口校验了采购员和供应商,只能二者选一

purchase/task/export 采购任务导出

接口描述: 采购单据导出

请求方法: GET

请求参数: 
    type                    M           int             导出类型,1:汇总,2:二维表导出,3:按供应商
    q_type                  C           int             查询类型,1:按下单时间,2:按运营周期,3:按收货时间
    category1_ids           O           list<str>       一级分类
    category2_ids           O           list<str>       二级分类
    pinlei_ids              O           list<str>       品类   
    address_id              O           str             需要过滤的站点(一乙定制功能)
    settle_supplier_id      O           str             筛选的供应商id
    status                  O           int             采购任务状态,1:未发布任务,2:已发布任务,3:已完成任务
    time_config_id          O           str             运营时间id
    begin_time              C           datetime        开始时间(格式:2019-07-18 00:00:00)
    end_time                C           datetime        结束时间(格式:2019-07-18 00:00:00)
    purchaser_id            O           int             筛选的采购员id
    route_id                O           int             线路id
    weight_status           O           int             分拣状态,1:已完成,2:未完成
    has_created_sheet       O           bool            是否生成采购单,0:未生成,1:已生成

响应: 
    excel文件

示例:
    request:
        https://station.guanmai.cn/purchase/task/export?q_type=1&q=&
        category1_ids=&category2_ids=&pinlei_ids=&status=&order_status=
        &settle_supplier_id=&route_id=&purchaser_id=&
        begin_time=2019-09-03%2000%3A00%3A00&end_time=2019-09-23%2000%3A00%3A00&type=1


    response:
        excel文件
}

purchase/task/search 采购任务搜索

接口描述: 采购任务搜索

请求方法: GET

请求参数: 
        category1_ids           O           list<str>       一级分类
        category2_ids           O           list<str>       二级分类
        pinlei_ids              O           list<str>       品类   
        settle_supplier_id      O           str             筛选的供应商id
        status                  O           int             采购任务状态,1:未发布任务,2:已发布任务,3:已完成任务
        begin_time              C           datetime        开始时间(格式:2019-07-18 00:00:00)
        end_time                C           datetime        结束时间(格式:2019-07-18 00:00:00)
        purchaser_id            O           int             筛选的采购员id
        spec_id                 M           str             采购规格id
        q                       O           str             搜索订单号或者商品名称
        address_id              O           str             需要过滤的站点(一乙定制功能)
        has_created_sheet       O           bool            是否生成采购单,0:未生成,1:已生成
        weight_status           O           int             分拣状态,1:已完成,2:未完成
        route_id                O           int             线路id
        order_status            O           list<int>       1为等待分拣, 5为分拣中, 10为配送中, 15为已签收     
        q_type                  C           int             查询类型,1:按下单时间,2:按运营周期,3:按收货时间
        time_config_id          O           str             运营时间ID

响应: 
        {
        code:0,
        msg:"ok",
        data: [
               {
                    already_purchase_amount            float       已采购数
                    category1_name          
                    category2_name          
                    editable: true                     bool        是否可编辑
                    generated_purchase_sheet           bool        是否已生成采购单
                    latest_in_stock_price         
                    latest_purchase_price              
                    latest_quote_from_supplier         bool        最近询价来自供应商
                    latest_quote_price         
                    name         
                    pinlei_name         
                    plan_purchase_amount               float       计划采购数
                    purchaser_id                       int         采购员ID 
                    purchaser_name                     str         采购员名称
                    release_id                         int         发布ID
                    release_time                       date        发布时间
                    sale_ratio                         float       销售比例
                    sale_unit_name         
                    settle_supplier_id                 str         供应商ID
                    settle_supplier_name         
                    spec_id                            str         采购规格
                    status                             int         状态
                    std_unit_name         
                    stock                              float       已有库存数
                    stock_avg_price         
                    suggest_purchase_num               float       建议采购数
                    tasks: [                           list        包含的任务详情
                        {     
                            editable                   bool        是否可编辑
                            id                         int         任务ID
                            order_id                   str         订单号
                            order_status               int         订单状态
                            plan_purchase_amount       float       计划采购数
                            purchaser_name     
                            remark                     str         订单备注
                            res_name                   str         商户名称
                            route_name                 str         线路名称
                            sale_ratio
                            sale_unit_name
                            settle_supplier_id
                            settle_supplier_name
                            std_unit_name
                        }


                    ]
                }
        ]
    }

示例:
    request:
        http://station.supplier_assistant.devhost.guanmai.cn/purchase/task/search?q_type=1&q=&begin_time=2019-09-23+00%3A00%3A00&end_time=2019-09-23+00%3A00%3A00&limit=10


    response:
    {
        code:0,
        msg:"ok",
        data: [
               {
                    already_purchase_amount: 0
                    category1_name: "水果"
                    category2_name: "进口水果"
                    editable: true
                    generated_purchase_sheet: true
                    latest_in_stock_price: null
                    latest_purchase_price: null
                    latest_quote_from_supplier: false
                    latest_quote_price: null
                    name: "新西兰车厘子|13斤/斤"
                    pinlei_name: "进口车厘子"
                    plan_purchase_amount: 55
                    purchaser_id: 1
                    purchaser_name: "sdfsdfhsdf"
                    release_id: 119
                    release_time: "2019-09-23T17:30:48"
                    sale_ratio: 13
                    sale_unit_name: "斤"
                    settle_supplier_id: "T8523"
                    settle_supplier_name: "蔬菜供应商"
                    spec_id: "D11862270"
                    status: 2
                    std_unit_name: "斤"
                    stock: 34
                    stock_avg_price: 500
                    suggest_purchase_num: 21
                    task:[
                        {
                            editable: true
                            id: 119
                            order_id: "PL6141953"
                            order_status: 5
                            plan_purchase_amount: 55
                            purchaser_name: "sdfsdfhsdf"
                            remark: ""
                            res_name: "。。"
                            route_name: "无线路"
                            sale_ratio: 1
                            sale_unit_name: "斤"
                            settle_supplier_id: "T8523"
                            settle_supplier_name: "蔬菜供应商"
                            std_unit_name: "斤"
                        }
                    ]
                }
        ]
    }
}