Skip to content

采购单据

采购单据


stock/purchase_sheet/create

接口描述: 后台新建时保存草稿、保存并新建两个按钮请求的接口


请求方法: POST

请求参数: 
        settle_supplier_id        M       str         供应商id
        purchaser_id        C       int         采购员id,保存并提交时采购员字段必填
        submit              M       bool        是否提交 0:不提交、保存草稿,1:保存并提交
        sheet_remark        O       str        单据备注(不能超过50个字)
        details
            [
                {
                    purchase_price           M      float       采购单价(单位:分)
                    spec_id                 M       str         采购规格id
                    purchase_amount         M       float       采购数量(基本单位)
                    goods_remark            O       str         商品备注(不能超过50个字)
                }
                。。。
                ]

响应: 
    purchase_sheet_id           M           str         采购单据号

示例:
    request:
            http://station.guanmai.cn/stock/purchase_sheet/create
            params:
                settle_supplier_id: T28533
                purchaser_id: 200565
                submit: 1
                details: [{"purchase_price":"300","spec_id":"D3152388","purchase_amount":33,"goods_remark":""}]
                sheet_remark: d

    response:
        purchase_sheet_id: "T4969-CGD-2019-09-17-00004"

stock/settle_supplier/supply_sku 拉取按供应商分类的采购规格

接口描述: 采购单据增加条目,返回当前供应商和其他供应商的采购规格,

请求方法: GET

请求参数: 
        settle_supplier_id          M           str         供应商id
        name                        M           str         搜索关键词

响应: 
    {
        target_supplier          M          list<dict>      当前供应商数据
        [
            {
                'settle_supplier_name': M str   供应商名称
                'sale_ratio': M float   采购ratio
                'spec_name': M str  采购规格名称
                'spu_name': M str   spu名称
                'spec_id': M str    采购规格id
                'sale_unit_name': M str 采购单位
                'std_unit_name': M str  基本单位
                'station_id': M str 站点id
                'settle_supplier_id': M str 供应商id
                'purchase_price_limit': M float
                'category_id_1': M str  一级分类
                'category_id_1_name': M str
                'category_id_2': M str二级分类
                'category_id_2_name': M str,
                'price': M float    当前供应商的最近询价
                'plan_amount': None
                'stock':M float 库存
                'description':M float   采购描述
                'last_in_stock_price': M float  供应商最近入库价
                'last_purchase_price': M float  供应商最近采购价
                'last_quote_price': M float 供应商最近询价
                'latest_in_stock_price': M float    最近入库价
                'latest_purchase_price': M float    最近采购价
                'latest_quote_price': M float   最近询价
                'stock_avg_price': M float  库存均价
            }
       ]   
        other_supplier          M          list<dict>      其他供应商数据
       [
           {
                'settle_supplier_name': M str   供应商名称
                'sale_ratio': M float   采购ratio
                'spec_name': M str  采购规格名称
                'spu_name': M str   spu名称
                'spec_id': M str    采购规格id
                'sale_unit_name': M str 采购单位
                'std_unit_name': M str  基本单位
                'station_id': M str 站点id
                'settle_supplier_id': M str 供应商id
                'purchase_price_limit': M float
                'category_id_1': M str  一级分类
                'category_id_1_name': M str
                'category_id_2': M str二级分类
                'category_id_2_name': M str,
                'price': M float    当前供应商的最近询价
                'plan_amount': None
                'stock':M float 库存
                'description':M float   采购描述
                'last_in_stock_price': M float  供应商最近入库价
                'last_purchase_price': M float  供应商最近采购价
                'last_quote_price': M float 供应商最近询价
                'latest_in_stock_price': M float    最近入库价
                'latest_purchase_price': M float    最近采购价
                'latest_quote_price': M float   最近询价
                'stock_avg_price': M float  库存均价
           }
       ]
        }

示例:
    requeset:
        https://station.guanmai.cn/stock/settle_supplier/supply_sku?settle_supplier_id=T13384&name=d

    response:
        {
        code: 0,
        msg: "ok",
        data: {
            target_supplier: [
                        {
                        spec_id: "D11289041",
                        station_id: "T7936",
                        category_id_1: "A6834",
                        spu_name: "本地西瓜",
                        sale_ratio: 3,
                        std_unit_name: "斤",
                        category_id_2: "B33358",
                        plan_amount: null,
                        spec_name: "本地西瓜|3斤/斤",
                        purchase_price_limit: null,
                        price: 100,
                        category_id_1_name: "水果",
                        sale_unit_name: "斤",
                        category_id_2_name: "瓜果",
                        settle_supplier_id: "T13384"
                        },
                        ]
            other_supplier: [
                        {
                        spec_id: "D11289041",
                        station_id: "T7936",
                        category_id_1: "A6834",
                        spu_name: "本地西瓜",
                        sale_ratio: 3,
                        std_unit_name: "斤",
                        category_id_2: "B33358",
                        plan_amount: null,
                        spec_name: "本地西瓜|3斤/斤",
                        purchase_price_limit: null,
                        price: 100,
                        category_id_1_name: "水果",
                        sale_unit_name: "斤",
                        category_id_2_name: "瓜果",
                        settle_supplier_id: "T13384"
                        },
                        ]
               }

逻辑:
    采购单据新增条目时如果当前供应商无该商品时,采购员可以从其他供应商那里拿货,
    但是该商品的预警价格还是希望用当前供应商的,所以在other_supplier里面返回了
    当前供应商的id用于查询。

stock/purchase_sheet/details 采购单据打印

接口描述: 采购单据打印

请求方法: GET

请求参数: 
        sheet_no              M           str             采购单据号

响应: 
    {
        in_stock_sheet_id                 O           str       入库单据号
        tasks           M           list<dict>
            [
            {
                supplier_purchase_avg_price         M           float       供应商采购均价
                spec_name                           M           str         采购规格名称
                suggest_purchase_num                M           float       建议采购数
                purchase_amount                     M           float       采购数量
                category_name_1                     M           str         一级分类名称
                category_name_2                     M           str         二级分类名称
                plan_amount                         M           float       计划采购数
                release_id                          O           int         发布id
                ratio                               M           float       ratio比例
                purchase_price                      M           float       采购价
                pinlei_name                         M           str         品类名称
                already_purchased_amount            M           float       已采购数
                release_time                        O           datetime    发布时间
                spec_id                             M           str         采购规格id
                std_unit_name                       M           str         基本单位
                address                             M           list<dict>  地址
                last_purchase_price                 O           float       最后一次采购价
                ref_price                           M           float       参考价
                status                              M           int         采购单据状态
                purchase_unit_name                  M           str         采购单位
                spu_status                          M           int         spu状态
                stock                               M           float       库存
                goods_remark                        M           str         采购商品备注,没有时为空字符串
                description                         M           str         采购描述,没有时为空字符串
                }
            ]
        purchase_sheet      M           list<dict>
            [
            {
                create_time                         M           datetime    创建时间
                station_name                        M           str         站点名称
                purchase_sheet_id                   M           str         采购单据号id
                purchaser_phone_num                 M           str         采购员电话
                customer_id                         M           str         商户名称
                operator                            M           str         操作人
                status                              M           int         采购单据状态:-1:已删除 2:已提交 3:未提交
                submit_time                         O           datetime    提交时间
                require_goods_sheet_status          M           int         要货单状态: 1:未发送 2:未提交 3:已提交 4:已删除
                supplier_name                       M           str         供应商名称
                settle_supplier_id                  M           str         供应商id
                supplier_phone_num                  O           str         供应商电话
                sheet_remark                        M           str         单据备注
                source                              M           int          来源  0:业务平台  1:采购APP  2:后台建单
                purchaser_id                        M           int          采购员id,只有后台建单的才会返回,可能为空
                purchaser_name                      M           str         采购员名称,只有后台建单的才会返回,可能为空
                }
            ]
    }

示例:
    request:
        http://station.guanmai.cn/stock/purchase_sheet/details?sheet_no=T4969-CGD-2019-09-17-00004

    response:
        {
    code:0,
    msg:"ok",
    data:{
        purchase_sheet:{
            create_time:"2019-09-17T12:00:34.343",
            supplier_name:"【总仓】蔬菜供应商",
            station_name:"总仓-李铭",
            purchaser_phone_num:"14533432345",
            customer_id:"SC",
            operator:"liming",
            status:3,
            submit_time:null,
            require_goods_sheet_status:1,
            settle_supplier_id:"T4971",
            supplier_phone_num:"15896369856"
        },
        in_stock_sheet_id:"",
        tasks:[
            {
                supplier_purchase_avg_price:"44.0",
                id:"5d805a62ec568261c14eae02",
                spec_name:"大白菜【斤】",
                suggest_purchase_num:-30,
                purchase_amount:3,
                category_name_2:"叶菜类",
                plan_amount:3,
                release_id:91,
                ratio:1,
                purchase_price:"300",
                category_name_1:"蔬菜",
                pinlei_name:"空心菜",
                already_purchased_amount:0,
                release_time:"2019-09-17T12:00:26",
                spec_id:"D2191489",
                std_unit_name:"斤",
                address:[
                    {
                        res_name:"",
                        remark:"",
                        sort_id:"",
                        plan_amount:3,
                        suggest_purchase_num:0,
                        address_id:null
                    }
                ],
                last_purchase_price:44,
                ref_price:300,
                status:2,
                purchase_unit_name:"斤",
                spu_status:1,
                stock:33
            }
        ]
    }
}

stock/purchase_sheet/details_no_login 采购单据分享

接口描述: 采购单据分享、同采购单据打印,请求参数稍有不同

请求方法: GET

请求参数: 
        sheet_no              M           str             采购单据号
        station_id              M           str             站点id
        token              M           str             token

响应: 
    {
        in_stock_sheet_id                 O           str       入库单据号
        tasks           M           list<dict>
            [
            {
                supplier_purchase_avg_price         M           float       供应商采购均价
                spec_name                           M           str         采购规格名称
                suggest_purchase_num                M           float       建议采购数
                purchase_amount                     M           float       采购数量
                category_name_1                     M           str         一级分类名称
                category_name_2                     M           str         二级分类名称
                plan_amount                         M           float       计划采购数
                release_id                          O           int         发布id
                ratio                               M           float       ratio比例
                purchase_price                      M           float       采购价
                pinlei_name                         M           str         品类名称
                already_purchased_amount            M           float       已采购数
                release_time                        O           datetime    发布时间
                spec_id                             M           str         采购规格id
                std_unit_name                       M           str         基本单位
                address                             M           list<dict>  地址
                last_purchase_price                 O           float       最后一次采购价
                ref_price                           M           float       参考价
                status                              M           int         采购单据状态
                purchase_unit_name                  M           str         采购单位
                spu_status                          M           int         spu状态
                stock                               M           float       库存
                goods_remark                        M           str         采购商品备注,没有时为空字符串
                description                         M           str         采购描述,没有时为空字符串
                }
            ]
        purchase_sheet      M           list<dict>
            [
            {
                create_time                         M           datetime    创建时间
                station_name                        M           str         站点名称
                purchase_sheet_id                   M           str         采购单据号id
                purchaser_phone_num                 M           str         采购员电话
                customer_id                         M           str         商户名称
                operator                            M           str         操作人
                status                              M           int         采购单据状态:-1:已删除 2:已提交 3:未提交
                submit_time                         O           datetime    提交时间
                require_goods_sheet_status          M           int         要货单状态: 1:未发送 2:未提交 3:已提交 4:已删除
                supplier_name                       M           str         供应商名称
                settle_supplier_id                  M           str         供应商id
                supplier_phone_num                  O           str         供应商电话
                sheet_remark                        M           str         单据备注
                source                              M           int          来源  0:业务平台  1:采购APP  2:后台建单
                purchaser_id                        M           int          采购员id,只有后台建单的才会返回,可能为空
                purchaser_name                      M           str         采购员名称,只有后台建单的才会返回,可能为空
                }
            ]
    }

示例:
    request:
        http://station.purchase.devhost.guanmai.cn/stock/purchase_sheet/details?sheet_no=T4969-CGD-2019-09-17-00004

    response:
        {
    code:0,
    msg:"ok",
    data:{
        purchase_sheet:{
            create_time:"2019-09-17T12:00:34.343",
            supplier_name:"【总仓】蔬菜供应商",
            station_name:"总仓-李铭",
            purchaser_phone_num:"14533432345",
            customer_id:"SC",
            operator:"liming",
            status:3,
            submit_time:null,
            require_goods_sheet_status:1,
            settle_supplier_id:"T4971",
            supplier_phone_num:"15896369856"
        },
        in_stock_sheet_id:"",
        tasks:[
            {
                supplier_purchase_avg_price:"44.0",
                id:"5d805a62ec568261c14eae02",
                spec_name:"大白菜【斤】",
                suggest_purchase_num:-30,
                purchase_amount:3,
                category_name_2:"叶菜类",
                plan_amount:3,
                release_id:91,
                ratio:1,
                purchase_price:"300",
                category_name_1:"蔬菜",
                pinlei_name:"空心菜",
                already_purchased_amount:0,
                release_time:"2019-09-17T12:00:26",
                spec_id:"D2191489",
                std_unit_name:"斤",
                address:[
                    {
                        res_name:"",
                        remark:"",
                        sort_id:"",
                        plan_amount:3,
                        suggest_purchase_num:0,
                        address_id:null
                    }
                ],
                last_purchase_price:44,
                ref_price:300,
                status:2,
                purchase_unit_name:"斤",
                spu_status:1,
                stock:33
            }
        ]
    }
}

stock/purchase_sheet/modify 采购单据保存草稿

接口描述: 采购单据保存草稿

请求方法: POST

请求参数: 
        purchase_sheet_id              M           str             采购单据号
        settle_supplier_id              M           str             采购员id
        sheet_remark              O       str         单据备注(不能超过50个字)
        resend_require_goods_sheet      O           int         是否再次发送要货申请
        details              M           list<dict>             采购单据详情
                [
                    {
                        purchase_price          M           float       采购金额(单位:分)
                        spec_id                 M           str         采购规格id
                        purchase_amount         M           float       采购数量
                        goods_remark            O       str         商品备注(不能超过50个字)
                    }
                    ]


响应: 
    ok

示例:
    request:
        http://station.purchase.devhost.guanmai.cn/stock/purchase_sheet/modify
        params:
            purchase_sheet_id: T7936-CGD-2019-09-20-00001
            settle_supplier_id: T34873
            sheet_remark: aaaaabbbbbb
            details: [{"purchase_price":"1300","spec_id":"D11289041","purchase_amount":"30","goods_remark": "cccccc"},
            {"purchase_price":"237","spec_id":"D12521823","id":"5d84391a406de12af5bff204","purchase_amount":"3"}]
            resend_require_goods_sheet: 0

    response:
        {
    code:0,
    msg:"ok",
    data: null
    }
}

逻辑:
    采购单据保存草稿时访问的接口,如果是修改之后直接点的保存,前端也是需要先请求modify接口再请求submit接口

stock/purchase_sheet/submit 采购单据提交

接口描述: 采购单据提交

请求方法: POST

请求参数: 
        sheet_no              M           str             采购单据号

响应: 
    data           M           list<dict>
            [
            {
                spec_name                           M           str         采购规格名称
                plan_amount                         M           float       计划采购数
                release_id                          O           int         发布id
                ratio                               M           float       ratio比例
                purchase_price                      M           float       采购价
                already_purchased_amount            M           float       已采购数
                release_time                        O           datetime    发布时间
                spec_id                             M           str         采购规格id
                std_unit_name                       M           str         基本单位
                purchase_unit_name                  M           str         采购单位
                supplier_name                       M           str         供应商名称
                }
            ]

示例:
    request:
        http://station.purchase.devhost.guanmai.cn/stock/purchase_sheet/submit
        params:
            sheet_no: T7936-CGD-2019-09-20-00001

    response:
        {
    code:0,
    msg:"ok",
    data: [
           {already_purchased_amount: 6
            plan_amount: 3
            purchase_price: 237
            purchase_unit_name: "包"
            ratio: 1
            release_id: 104372218
            release_time: "2019-09-05T11:00:05"
            spec_id: "D12521823"
            spec_name: "夏威夷果|1包/包"
            std_unit_name: "包"
            supplier_name: "三只松鼠供应商"
                }
            ]
    }
}

逻辑:
    采购单据的整单备注会同步带到入库单的整单备注

stock/purchase_sheet/get

接口描述: 获取采购单列表

请求方法: get

请求参数: 
    start_time              M           date            开始时间   
    end_time                M           date            结束时间 
    sheet_no                O           str             采购单据号
    settle_supplier_id      O           str             供应商id
    status                  O           int             状态:3:未提交,2:已提交
    require_goods_sheet_status  O       int             要货单状态
    export                  O           int             是否导出
    page_obj(分页相关)
    reverse
    limit
    count
    offset
    peek

响应: 
    id          M       str         采购单据id
    source      M       int         来源  0:业务平台  1:采购APP  2:后台建单
    status      M       int         采购单据状态:2:已提交,3:未提交
    station_id      M       str         站点id
    require_goods_sheet_status      M       int         要货单状态
    purchase_plan_money      M       float         预采购金额
    submit_time      M       datetime         提交时间
    purchaser_id      M       int         采购员id
    purchaser      M       str         采购员名称
    operator_id      M       int         操作人id
    operator      M       str         操作人名称
    create_time      M       datetime         创建时间
    settle_supplier_id      M       str         供应商id
    settle_supplier_name      M       str         供应商名称
    ref_price_type      M       int         
    purchase_sku_money      M       float         采购金额
    purchase_sku_num      M       float         采购数量

示例:
    request:
        http://station.env-zzq.dev.k8s.guanmai.cn/stock/purchase_sheet/get?
        start_time=2019-09-23&end_time=2019-09-29&sheet_no=&settle_supplier_id=&
        status=&require_goods_sheet_status=&limit=10&offset=0&peek=60
    response:
        {
        data: [
            {
                id: "T8521-CGD-2019-09-27-00005",
                source: 2,
                status: 2,
                station_id: "T8521",
                require_goods_sheet_status: 1,
                purchase_plan_money: 54,
                submit_time: "2019-09-27T17:08:22.247",
                purchaser_id: 200565,
                operator_id: 1910,
                create_time: "2019-09-27 15:25:16",
                purchaser: "status",
                settle_supplier_id: "T12478",
                ref_price_type: 1,
                settle_supplier_name: "综合供应商",
                operator: "zhoumin",
                purchase_sku_money: 900,
                purchase_sku_num: 1
            }
        ],
        pagination: {
            more: true,
            page_obj: "{"previous": {"_id": "T8521 - CGD - 2019 - 09 - 27 - 00005", "create_time": {"$date
            ": 159597916889}}, "}
        msg: "ok",
        code: 0
        }

purchase/quote_price/search 询价记录搜索

接口描述: 询价记录搜索

请求方法: GET

请求参数: 
        category1_ids        O
        category2_ids        O
        pinlei_ids           O
        settle_supplier_id   O
        begin_time           M
        end_time             M
        search_text          O         str         采购规格名,采购规格ID
        source               O         int         询价来源, 1位采购APP, 2为业务平台, 3为供应商APP


响应: 
            {
            code:0,
            msg:"ok",
            data: [
                   {
                        category1_name
                        category2_name
                        create_time             date        创建时间
                        creator                 str         询价人 
                        customer_id             str         供应商ID
                        origin_place            str         生产地
                        pinlei_name
                        purchase_price          float       询价价格 (采购单位)
                        purchase_unit_name
                        ratio
                        remark                  str         备注
                        settle_supplier_name    str         供应商名称
                        source                  int         询价来源, 1位采购APP, 2为业务平台, 3为供应商APP
                        spec_id
                        spec_name
                        std_unit_name
                        std_unit_price          float       询价价格 (基本单位)
                    }
                ]
            }

示例:
    request:
        http://station.supplier_assistant.devhost.guanmai.cn/purchase/quote_price/search?begin_time=2019-09-23&end_time=2019-09-23&count=1&limit=20&offset=0&source=2

    response:

            {
            code:0,
            msg:"ok",
            data: [
                   {
                        category1_name: "水果"
                        category2_name: "进口水果"
                        create_time: "2019-09-23T19:33:14"
                        creator: "zhoumin"
                        customer_id: "T8523"
                        origin_place: ""
                        pinlei_name: "进口香蕉"
                        purchase_price: 500
                        purchase_unit_name: "把"
                        ratio: 3
                        remark: ""
                        settle_supplier_name: "蔬菜供应商"
                        source: 2
                        spec_id: "D3152358"
                        spec_name: "巴西香蕉|3斤/把"
                        std_unit_name: "斤"
                        std_unit_price: 167
                    }
                ]
            }
}