数据库
供采分析
按下单时间供采分析表
表名:purchase_analyse_by_order_time
字段 类型 备注
spec_id string 采购规格
spu_id string 商品id
relative_plan_amount Double 关联单据计划采购数量
purchase_amount Double 采购数量
relative_stock_amount Double 关联单据入库数量
relative_plan_sum_money Double 关联单据参考采购金额
purchase_sum_money Double 实际采购金额
relative_stock_sum_money Double 关联单据实际入库金额
purchase_plan_amount Double 采购商品计划采购数量
purchase_stock_amount Double 采购商品入库数量
purchase_plan_sum_money Double 采购商品参考采购金额
stock_sum_money Double 采购商品实际入库金额
order_time Date 下单时间(按天区分)
create_time Date 按商品插入时间
modify_time Date 按商品修改时间
station_id string 站点id
group_id string group id
按收货时间供采分析表
表名:purchase_analyse_by_receive_time
字段 类型 备注
spec_id string 采购规格
spu_id string 商品id
relative_plan_amount Double 关联单据计划采购数量
purchase_amount Double 采购数量
relative_stock_amount Double 关联单据入库数量
relative_plan_sum_money Double 关联单据参考采购金额
purchase_sum_money Double 实际采购金额
relative_stock_sum_money Double 关联单据实际入库金额
purchase_plan_amount Double 采购商品计划采购数量
purchase_stock_amount Double 采购商品入库数量
purchase_plan_sum_money Double 采购商品参考采购金额
stock_sum_money Double 采购商品实际入库金额
receive_begin_time Date 收货时间(按天区分)
create_time Date 按商品插入时间
modify_time Date 按商品修改时间
station_id string 站点id
group_id string group id
采购员评估
按下单时间采购员评估表
表名: purchaser_assess_by_order_time
字段 类型 备注
purchaser_id string 采购员账号
purchase_sum_money Double 采购金额
stock_sum_money Double 入库金额
order_time Date 下单时间
create_time Date 按商品插入时间
modify_time Date 按商品修改时间
station_id string 站点id
group_id string group id
按收货时间采购员评估表
表名:purchaser_assess_by_receive_time
字段 类型 备注
purchaser_id string 采购员账号
purchase_sum_money Double 采购金额
stock_sum_money Double 入库金额
receive_begin_time Date 收货时间(按天区分)
create_time Date 按商品插入时间
modify_time Date 按商品修改时间
station_id string 站点id
group_id string group id
供应商评估
按下单时间供应商评估表
表名: supplier_assess_by_order_time
字段 类型 备注
settle_supplier_id string 供应商编号
purchase_sum_money Double 采购金额
stock_sum_money Double 入库金额
order_time Date 下单时间
create_time Date 按商品插入时间
modify_time Date 按商品修改时间
station_id string 站点id
group_id string group id
按收货时间供应商评估表
表名:supplier_assess_by_receive_time
字段 类型 备注
settle_supplier_id string 供应商编号
purchase_sum_money Double 采购金额
stock_sum_money Double 入库金额
receive_begin_time Date 收货时间(按天区分)
create_time Date 按商品插入时间
modify_time Date 按商品修改时间
station_id string 站点id
group_id string group id
stock
实时更新落表的接口
提交采购商品时更新落表
/station/stock/purchase_sheet/submit 提交采购商品接口(老接口)
接口
/station/stock/purchase_sheet/submit
逻辑:
在提交采购商品时应更新落表,重新拉取和计算:
1.关联单据的:商品,采购数量,采购金额, 采购均价
2.采购商品的:采购数量,采购金额,采购均价
添加实时发消息部分:
采用异步回调机制,发送相应的消息作为回调函数的入参数
/purchase_assistant/purchase_sheet/submit 采购app中提交采购商品(老接口)
接口
/purchase_assistant/purchase_sheet/submit
逻辑:
在提交采购商品时应更新落表,重新拉取和计算:
1.关联单据的:商品,采购数量,采购金额,采购均价
2.采购商品的:采购数量,采购金额,采购均价
添加实时发消息部分:
采用异步回调机制,发送相应的消息作为回调函数的入参数
/purchase/analyse/purchase_sheet/check_serial 提交采购商品时,保证数据库和落表数据同步的一致性(新接口)
接口 /purchase/analyse/purchase_sheet/check_serial
Method
get
请求参数:
sheet_no M str 采购商品号
serial M str 序列号
响应:
code: 1
msg :"ok"
data:{
res M bool True/False
}
/purchase/analyse/purchase_sheet/async_calculate 提交采购商品时,更新落表的回调接口(新接口)
接口
/purchase/analyse/purchase_sheet/async_calculate
Method
get
请求参数:
purchase_sku_incement[{ M list
spec_id M str 采购规格id
purchase_sheet_id M str
sku_name M str 采购规格name
relative_plan_amount M int 关联单据计划采购数量
relative_plan_price M Double 关联单据计划采购金额
purchase_amount M int 关联单据采购数量/采购数量
purchase_price M Double 关联单据采购金额/采购金额
}]
响应:
code: 1
msg :"ok"
data:{
res M bool True/False
}
提交入库单据时更新落表
/station/stock/in_stock_sheet/material/modify 在提交入库单据时的接口,需增加发消息部分(老接口)
接口
/station/stock/in_stock_sheet/material/modify
逻辑:
在提交入库单据时应更新落表,重新拉取和计算:
1.关联单据的:入库数量,入库金额,入库均价
2.采购商品的:入库数量,入库金额,入库均价
添加实时发消息部分:
采用异步回调机制,发送相应的消息作为回调函数的入参数
/station/stock/in_stock_sheet/material/cancel 提交入库单据后若点击了冲销,则减去相应的数量(老接口)
接口
/station/stock/in_stock_sheet/material/cancel
逻辑:
在提交入库单据后,若点击了冲销,应更新落表,重新拉取和计算:
1.关联单据的:入库数量,入库金额,入库均价
2.采购商品的:入库数量,入库金额,入库均价
添加实时发消息部分:
采用异步回调机制,发送相应的消息作为回调函数的入参数
station/stock/in_stock_sheet/material/review 提交入库单后若点击了审核不通过,则减去相应的数量(老接口)
接口
station/stock/in_stock_sheet/material/review
逻辑:
在提交入库单据后,若点击了审核不通过,应更新落表,重新拉取和计算:
1.关联单据的:入库数量,入库金额,入库均价
2.采购商品的:入库数量,入库金额,入库均价
添加实时发消息部分:
采用异步回调机制,发送相应的消息作为回调函数的入参数
/purchase/analyse/in_stock_sheet/material/check_serial 提交入库单据时,保证数据库和落表数据同步的一致性(新接口)
接口
/purchase/analyse/in_stock_sheet/material/check_serial
Method
get
请求参数:
stock_sheet M str 入库单据号
serial M str 序列号
响应:
code: 1
msg : "ok"
data:{
res M bool True/False
}
/purchase/analyse/in_stock_sheet/material/modify/async_calculate 提交入库单据时,更新落表的回调接口(新接口)
接口
/purchase/analyse/in_stock_sheet/material/modify/async_calculate
Method
get
请求参数
details[{ M list 商品详情
stock_sheet_id M str 入库单
delta_stock_price M float 入库单价
spec_id M str 采购规格id
delta_quantity M int 入库数量
},...]
响应:
code: 1
msg :"ok"
data:{
res M bool True/False
}
调用生成采购任务的异步接口时
/station/task/purchase/async_order
接口
/station/task/purchase/async_order
逻辑:
当调用生成采购任务的异步接口时,重新拉取和计算:
1.关联单据:计划采购数量,参考采购金额
2.采购商品:计划采购数量,参考采购金额
添加实时发消息部分:
采用异步回调机制,发送相应的消息作为回调函数的入参数
/purchase/analyse/purchase/async_calculate 调用生成采购任务的异步接口时,更新落表的回调接口(新接口)
接口:
/purchase/analyse/purchase/async_calculate
Method
get
请求参数:请求参数:
purchase_task_list[{ M list 采购任务列表
purchase_task_id M int 采购规格id
delta_plan_purchase_amount M int 计划采购数量
delta_plan_price M Double 计划采购金额
},...]
响应:
code: 1
msg : "ok"
data:{
res M bool True/False
}
创建/删除采购任务时更新落表
/station/task/purchase/create 创建采购任务时,需增加发消息部分(老接口)
接口
/station/task/purchase/create
逻辑:
在创建采购任务时,应更新落表,重新拉取和计算:
1.关联单据:计划采购数量,参考采购金额
2.采购商品:计划采购数量,参考采购金额
添加实时发消息部分:
采用异步回调机制,发送相应的消息作为回调函数的入参数
/station/task/purchase/item/delete 删除采购任务时,需增加发消息部分(老接口)
接口
/station/task/purchase/item/delete
逻辑:
在删除采购任务时,应更新落表,重新拉取和计算:
1.关联单据:计划采购数量,参考采购金额
2.采购商品:计划采购数量,参考采购金额
添加实时发消息部分:
采用异步回调机制,发送相应的消息作为回调函数的入参数
/purchase/analyse/purchase/check_serial 创建采购任务时,保证数据库和落表数据同步的一致性(新接口)
接口
/purchase/analyse/purchase/check_serial
Method
get
请求参数:
purchase_sheet_id M str 采购任务号
serial M str 序列号
响应:
code: 1
msg : "ok"
data: {
res M bool True/False
}
采购模块
采供分析
/purchase/analyse/purchase/list 采供分析搜索 (新接口)
接口
/purchase/analyse/purchase/list
Method
get
请求参数:
q_type M int 请求类型(下单日期:1,收货日期:3)
begin_time M Date 起始日期
end_time M Date 结束日期
q O str 筛选条件,这里是:商品(采购规格)
category1_ids O list 一级分类id
category2_ids O list 二级分类id
pinlei_ids O list 品类id
view_type M int 查看方式(按关联单据:1,按采购商品:2)
page_obj O string 起始页(不包含),默认第0页
limit O int 返回条数,默认10。传0表示返回所有数据
offset O int 查询起点偏移条数,默认0
响应:
code : 0
msg : "ok"
data:[
{
name M str 商品名称
unit_name M str 采购单位
std_unit_name M str 基本单位
ratio M Double 采购规格
category_1 M str 一级分类
category_2 M str 二级分类
pinlei M str 品类
plan_amount M Double 计划采购数
purchase_amount M Double 采购数量
stock_amount M Double 入库数量
plan_sum_money M Double 参考采购金额
purchase_sum_money M Double 实际采购金额
stock_sum_money M Double 实际入库金额
purchase_avg_price M Double 采购均价
stock_avg_price M Double 入库均价
current_inventory M Double 当前库存
}
]
pagination: { M dict
more M bool 是否有更多数据
page_obj M str
}
}
/purchase/analyse/purchase/export 采供分析异步导出(新接口)
接口
/purchase/analyse/purchase/export
Method
get
请求参数:
q_type M int 请求类型(下单日期:1,收货日期:3)
begin_time M Date 起始日期
end_time M Date 结束日期
q O str 筛选条件,这里是:商品(采购规格)
category1_ids O list 一级分类id
category2_ids O list 二级分类id
pinlei_ids O list 品类id
view_type M int 查看方式(按关联单据:1,按采购商品:2)
响应:
code : 0
msg : "ok"
data{
async M int 1:异步
task_url M str 返回excel表格的url
filename M str excel表格文件名
data M null 返回null
}
采购员分析
/purchase/analyse/purchaser/list 采购员分析搜索 (新接口)
接口
/purchase/analyse/purchaser/list
Method
get
请求参数:
q_type M int 请求类型(下单日期:1,收货日期:3)
begin_time M Date 起始日期
end_time M Date 结束日期
q O str 筛选条件,这里是:采购员账号或名称
page_obj O string 起始页(不包含),默认第0页
limit O int 返回条数,默认10。传0表示返回所有数据
offset O int 查询起点偏移条数,默认0
响应:
code : 0
msg : "ok"
data:[
{
purchaser_id M str 采购员id
purchaser_account M str 采购员账号
purchaser_name M str 采购员姓名
purchaser_phone M str 采购员电话号码
plan_sum_money M Double 预采购金额
purchase_sum_money M Double 采购金额
stock_sum_money M Double 入库金额
purchase_frequence M int 采购频次
spec_ids M int 采购商品种类数
purchase_avg_time M int 平均采购时长
},
]
pagination: { M dict
more M bool 是否有更多数据
page_obj M string
}
/purchase/analyse/purchaser/export 采购员分析导出 (新接口)
接口
/purchase/analyse/purchaser/export
Method
get
请求参数:
q_type M int 请求类型(下单日期:1,收货日期:3)
begin_time M Date 起始日期
end_time M Date 结束日期
q O str 筛选条件,这里是:采购员账号或名称
响应:
{
"code": 0,
"msg": "ok",
"data": {
async M int 0:同步,1:异步
task_url M str 异步返回url,同步则为None
filename M str excel表格文件名
}
}
同步时data内容如下:
data:[
{
purchaser_id M str 采购员账号
purchaser_name M str 采购员姓名
purchaser_phone M str 采购员电话号码
plan_sum_money M Double 预采购金额
purchase_sum_money M Double 采购金额
stock_sum_money M Double 入库金额
purchase_frequence M int 采购频次
purchase_kinds M int 采购商品种类数
delivery_avg_period M int 平均交货周期
},
]
供应商分析
/purchase/analyse/supplier/list 供应商分析搜索 (新接口)
接口
/purchase/analyse/supplier/list
Method
get
请求参数:
q_type M int 请求类型(下单日期:1,收货日期:3)
begin_time M Date 起始日期
end_time M Date 结束日期
q O str 筛选条件,这里是:供应商名称、编号
page_obj O string 起始页(不包含),默认第0页
limit O int 返回条数,默认10。传0表示返回所有数据
offset O int 查询起点偏移条数,默认0
响应:
data:[
{
supplier_id M str 供应商编号
supplier_name M str 供应商姓名
supplier_phone M str 供应商电话号码
plan_sum_money M Double 预采购金额
purchase_sum_money M Double 采购金额
stock_sum_money M Double 入库金额
purchase_frequence M int 采购频次
purchase_kinds M int 采购商品种类数
},
]
pagination: { M dict
more M bool 是否有更多数据
page_obj M string
}
/purchase/analyse/supplier/export 供应商分析导出 (新接口)
接口
/purchase/analyse/supplier/export
Method
get
请求参数:
q_type M int 请求类型(下单日期:1,收货日期:3)
begin_time M Date 起始日期
end_time M Date 结束日期
q O str 筛选条件,这里是:供应商名称、编号
响应:
{
"code": 0,
"msg": "ok",
"data": {
async M int 0:同步,1:异步
task_url M str 异步返回url,同步则为None
filename M str excel表格文件名
}
}
采购总览模块
采购概况
/purchase/analyse/overview 采购概况和采购趋势(新接口)
接口
/purchase/analyse/overview
Method
get
请求参数:
q_type M int 请求类型(下单日期:1)
begin_time M Date 起始日期
end_time M Date 结束日期
响应:
data:{
overview:{
plan_sum_money M Double 预采购金额
purchase_sum_money M Double 采购金额
stock_sum_money M Double 入库金额
purchase_kinds M int 采购商品种类数
},
trend:{
[
date M Date 日期
plan_money M Double 预采购金额
purchase_money M Double 采购金额
],
......
}
}
/purchase/analyse/spec/top 预采购/采购商品top k (新接口)
接口
/purchase/analyse/spec/top
Method
get
请求参数:
q_type M int 请求类型(下单日期:1)
begin_time M Date 起始日期
end_time M Date 结束日期
响应:
data:[
{ sku_name M str 商品名(采购规格)
purchase_sum_money M Double 实际采购金额
rank M int 排名
},
......
]
/purchase/analyse/purchaser/top 采购员占比top k (新接口)
接口
/purchase/analyse/purchaser/top
Method
get
请求参数:
q_type M int 请求类型(下单日期:1)
begin_time M Date 起始日期
end_time M Date 结束日期
响应:
data:[
{ purchaser_name M str 采购员名字
purchase_sum_money M Double 实际采购金额
},
......
]
/purchase/analyse/supplier/top 供应商占比top k (新接口)
接口
/purchase/analyse/supplier/top
Method
get
请求参数:
q_type M int 请求类型(下单日期:1)
begin_time M Date 起始日期
end_time M Date 结束日期
响应:
data:[
{ supplier_name M str 供应商名字
purchase_sum_money M Double 实际采购金额
},
......
]
采购单据页工具栏增加:预采购金额显示
/station/stock/purchase_sheet/get (老接口)
接口
/station/stock/purchase_sheet/get
Method
get
请求参数:不变
响应参数:增加计算预采购金额
purchase_plan_money M Double 预采购金额(单位:元)
采购单据详情页增加:最近一次采购价显示
/stock/purchase_sheet/detail (老接口)
接口
/stock/purchase_sheet/detail
Method
get
请求参数:不变
响应参数:增加计算预采购金额
data:{
purchase_sheet: {}
tasks: [
{last_purchase_price M Double 最近一次采购价(参考价,新增,单位:元)}
...]
}
采购规格均价趋势图接口
/purchase/purchase_spec/price_statistics/no_supplier(新接口)
接口:
/purchase/purchase_spec/price_statistics/no_supplier
Method
get
请求参数:
spec_id M str 采购规格id
query_type M int 查询类型(1:采购价, 2:询价, 3:入库价)
响应:
code: 0
msg: "ok"
data: {
latest_price M list 最新价格
max_price M str 七天最高
min_price M str 七天最低
query_type M int 查询类型
ring_ratio M str 环比变化率
station_day_avg_price M list 七天单天均价
station_avg_price M str 七天均价
}
权限控制
xnn_core_product_2.tbl_permission_class
需将以下两行替换
id name name_en level parent_id
27 采购员 采购员 2 2
36 询价记录 询价记录 2 2
替换为:
27 采购资料 采购资料 2 2
36 采购分析 采购分析 2 2
xnn_core_product_2.auth_permission表中插入权限
新增:
name name_en codename level2_id
查看采购总览 Get Purchase Overview get_purchase_overview 36
查看供采分析 Get Supply And Analysis get_supply_and_analysis 36
查看采购员评估 Get Purchaser Assess get_purchaser_assess 36
查看供应商评估 Get Supplier Assess get_supplier_assess 36
导出供采分析 Export Supply And Analysis export_supply_and_analysis 36
导出采购员评估 Export Purchaser Assess export_purchaser_assess 36
导出供应商评估 Export Supplier Assess export_supplier_assess 36
查看参考信息 Get Reference Information get_reference_information 27
查看询价记录 Get Quoted Price Record get_quote_price_record 36
修改:(将这些权限的 level2_id 由25改为27)
name name_en codename level2_id
查看采购规格 Get Pur Spec get_pur_spec 27
新建采购规格 Add Pur Spec add_pur_spec 27
编辑采购规格 Edit Pur Spec edit_pur_spec 27
删除采购规格 Delete Pur Spec delete_pur_spec 27
查看询价 View Quoted Price get_quote_price 27
录入询价 Input Quoted Price edit_quote_price 27
导入询价 Import Quoted Price import_quote_price 27
开发计划:
所有接口:
1. /station/stock/purchase_sheet/submit 提交采购商品接口(老接口)
2. /purchase_assistant/purchase_sheet/submit 采购app中提交采购商品(老接口)
3. /purchase/analyse/purchase_sheet/check_serial 提交采购商品时,保证数据库和落表数据同步的一致性(新接口)
4. /purchase/analyse/purchase_sheet/async_calculate 提交采购商品时,更新落表的回调接口(新接口)
5. /station/stock/in_stock_sheet/material/modify 在提交入库单据时的接口,需增加发消息部分(老接口)
6. /station/stock/in_stock_sheet/material/cancel 提交入库单据后若点击了冲销,则减去相应的数量(老接口)
7. /station/stock/in_stock_sheet/material/review 提交入库单后若点击了审核不通过,则减去相应的数量(老接口)
8./purchase/analyse/in_stock_sheet/material/check_serial 提交入库单据时,保证数据库和落表数据同步的一致性(新接口)
9. /purchase/analyse/in_stock_sheet/material/modify/async_calculate 提交入库单据时,更新落表的回调接口(新接口)
10. /station/task/purchase/async_order
12. /purchase/analyse/purchase/async_calculate 调用生成采购任务的异步接口时,更新落表的回调接口(新接口)
13. /station/task/purchase/create 创建采购任务时,需增加发消息部分(老接口)
14. /station/task/purchase/item/delete 删除采购任务时,需增加发消息部分(老接口)
15. /purchase/analyse/purchase/check_serial 创建采购任务时,保证数据库和落表数据同步的一致性(新接口)
16. /purchase/analyse/purchase/async_calculate 创建/删除采购任务时,更新落表的回调接口(新接口)
17. /purchase/analyse/purchase/list 采供分析搜索 (新接口)
18. /purchase/analyse/purchase/export 采供分析异步导出(新接口)
19. /purchase/analyse/purchaser/list 采购员分析搜索 (新接口)
20. /purchase/analyse/purchaser/export 采购员分析导出 (新接口)
21. /purchase/analyse/supplier/list 供应商分析搜索 (新接口)
22. /purchase/analyse/supplier/export 供应商分析导出 (新接口)
23. /purchase/analyse/overview 采购概况和采购趋势(新接口)
24. /purchase/analyse/spec/top 预采购/采购商品top k (新接口)
25. /purchase/analyse/purchaser/top 采购员占比top k (新接口)
26. /purchase/analyse/supplier/top 供应商占比top k (新接口)
27. /station/task/purchase/purchaser/list 采购员(老接口)
28. /station/stock/purchase_sheet/get (老接口)
29. 添加权限
5-31 1.数据库建表,修改接口:
1./station/stock/purchase_sheet/submit
2./purchase_assistant/purchase_sheet/submit
6-03 开发接口,进行部分调试和测试:
3./purchase/analyse/purchase_sheet/check_serial
4./station/stock/purchase_sheet/submit/async_calculate
6-04 修改接口:
5./station/stock/in_stock_sheet/material/modify
6./station/stock/in_stock_sheet/material/cancel
6-05 修改接口和新接口开发:
7./station/stock/in_stock_sheet/material/review
8./station/stock/in_stock_sheet/material/check_serial
6-06 新接口开发和进行调试和测试:
9./purchase/analyse/in_stock_sheet/material/modify/async_calculate
(开始多人合作) 20个接口 比较难的接口(甲,乙, 丙)
6-07~6-09 生成采购任务的异步接口实时更新部分: 甲
/station/task/purchase/async_order
6-07~6-09 创建采购任务的接口实时更新部分: 乙
/station/task/purchase/create
/station/task/purchase/item/delete
/purchase/analyse/purchase/check_serial
/purchase/analyse/purchase/async_calculate
采供分析模块:
6-07~6-09 /purchase/analyse/purchase/list 采供分析搜索 (新接口) 丙
6-10 ~ 6-12 /purchase/analyse/purchase/export 采供分析异步导出(新接口) 丙
添加异步导出脚本:purchase_analyse_export.py
gm_task添加异步任务
采购员分析模块:
6-10 ~ 6-12 /purchase/analyse/purchaser/list和 分页 采购员分析搜索 (新接口) 甲
6-13 ~ 6-14 /purchase/analyse/purchaser/export 采购员分析导出 (新接口) 甲
添加异步导出脚本:purchaser_analyse_export.py
gm_task添加异步任务
供应商分析模块:
6-10 ~ 6-12 /purchase/analyse/supplier/list 供应商分析搜索 (新接口) 乙
6-13 ~ 6-14 /purchase/analyse/supplier/export 供应商分析导出 (新接口) 乙
添加异步导出脚本: supplier_analyse_export.py
gm_task添加异步任务
采购总览模块:
6-13 ~ 6-16
/purchase/analyse/overview 采购概况和采购趋势(新接口) 丙
/purchase/analyse/spec/top 预采购/采购商品top k (新接口) 丙
6-15 ~ 6-16
/purchase/analyse/purchaser/top 采购员占比top k (新接口) 甲
/purchase/analyse/supplier/top 供应商占比top k (新接口) 甲
6-15 ~ 6-16 乙
/station/task/purchase/purchaser/list 采购员(老接口)
/station/stock/purchase_sheet/get (老接口)
权限控制
刷数据
6-17 ~ 60-21:连调
6-24 ~ 6—28:测试: