|
|
aae4271668
|
fix: align create_sub_reseller with sub_distributors model — sub_dist_name, no code field
|
2026-07-09 16:55:07 +08:00 |
|
|
|
880e9e59c4
|
fix: use datetime.now instead of ServerEnv in _generate_sub_reseller_code
|
2026-07-09 16:53:49 +08:00 |
|
|
|
06f809fc32
|
fix: use request._run_ns instead of ServerEnv() in create_sub_reseller
|
2026-07-09 16:39:07 +08:00 |
|
|
|
6c926cf3d5
|
fix: add status codes to models — prevents empty code field in search_form
|
2026-07-09 14:07:17 +08:00 |
|
|
|
5705e674b5
|
feat: add orgid to sub_resellers + get_distribution_chain
- create_sub_reseller auto-creates organization record with orgid
- get_distribution_chain walks from product_owner down to seller via sub_resellers
|
2026-07-07 12:20:39 +08:00 |
|
|
|
82579b14ad
|
fix: override file_uploaded to return FileMgrResult — base returns None causing NoneType.status
|
2026-07-03 17:37:06 +08:00 |
|
|
|
0203dc1c24
|
fix: quota 0→1000000000 (unlimited) for contract attachments
|
2026-07-03 17:33:31 +08:00 |
|
|
|
587cabeb1e
|
fix: ContractAttachMgr 覆盖 owner/quota 校验
is_folder_ownerid: 直接返回 True (合同附件不校验owner)
get_organization_quota: 无限制配额
|
2026-07-03 17:18:03 +08:00 |
|
|
|
a914380a9b
|
feat: ContractAttachMgr — supplychain 自有附件管理器
ContractAttachMgr 继承 FileMgr, fiid 从 params_kw 透传
contract_upload.dspy: 自有上传端点
contract_attach.ui: 改用 supplychain 自己的上传 dspy
|
2026-07-03 17:05:24 +08:00 |
|
|
|
832d0828df
|
fix: ensure_contract_folder 去掉不存在的 ownerid 列
|
2026-07-03 16:27:01 +08:00 |
|
|
|
fa5a1a3a8e
|
feat: 供应合同和分销协议支持附件上传下载
contract_attach.ui: 附件管理页面(Tabular文件列表 + 上传按钮)
contract_attach_list.dspy: 查询合同附件列表
init.py: ensure_contract_folder() 自动创建附件目录
supply_contracts_list + distribution_agreements_list: 新增'合同附件'toolbar
实现: filemgr folder(contract_id=id, fiid=type)自动管理
|
2026-07-03 15:32:41 +08:00 |
|
Hermes Agent
|
2ff2ca7685
|
feat: 供应商表增加机构ID、内外部标识、结算周期/日、付款方式字段
- models/suppliers.json: 新增 orgid, is_external, settlement_cycle, settlement_day, payment_type
- 外部供应商创建时自动在sage库开设机构
- 内部供应商通过机构名称搜索选择机构ID
- suppliers_create.dspy: 处理is_external逻辑
- get_search_orgid.dspy: 机构名称搜索API
- load_path.py: 注册新API路由
|
2026-06-17 18:59:51 +08:00 |
|
Hermes Agent
|
bfc50f2364
|
feat: 补充供销协议和协议产品明细折扣CRUD管理
- 新增 json/supply_contracts_list.json CRUD定义(供销协议管理)
- 新增 json/supply_contract_items_list.json CRUD定义(协议产品明细折扣)
- 修复 json/suppliers_list.json JSON语法错误(缺少逗号)
- 修复6个API dspy文件违规(移除import/print,改用return)
- 新增4个搜索API(供应商/合同/产品分类/产品下拉数据)
- 新增 supplychain/__init__.py 导出所有公共函数
- 重新生成CRUD UI文件并修正editable URL指向自定义API
- 更新load_path.py注册新路径
- 添加.gitignore排除自动生成文件
|
2026-06-17 15:03:46 +08:00 |
|
|
|
8766afa8c0
|
fix(supplychain): 规范修复 + P0函数注册 + 文档完善
- 修复12个.dspy文件: 移除import/print, 改用return
- init.py: 添加9个P0 CRUD函数 + 单复数兼容注册
- load_path.py: 补充15个CRUD子目录路径
- README.md: 添加P0表说明 + 业务API + 部署清单
- global_menu.ui: 已有supplychain入口(验证通过)
|
2026-06-05 22:34:09 +08:00 |
|
|
|
74579d115c
|
Remove backup file
|
2026-05-26 14:21:40 +08:00 |
|
|
|
ed9c96d719
|
Initial commit: supplychain module - supplier, sub-reseller, contract, agreement, and sales ledger management
|
2026-05-26 14:21:31 +08:00 |
|
|
|
092d74133e
|
fix: 添加product引用, 创建scripts/load_path.py, 修复.dspy代码生成逻辑
- models/*.json: 在supply_contract_items, distribution_agreement_items,
supplychain_accounting的codes段添加products/product_types引用
- scripts/load_path.py: 模块RBAC权限管理脚本, 包含any/logined/operator/sale四类权限
- supplychain/init.py: 重命名get_module_dbname为_get_dbname避免覆盖全局函数
- wwwroot/api/*_create.dspy: 修复自动编号生成逻辑(移除死代码条件判断)
|
2026-05-25 15:37:06 +08:00 |
|
|
|
da32159ad9
|
feat: 供应商和分销商管理模块 (supplychain)
- 7个数据库表: suppliers, supply_contracts, supply_contract_items,
sub_distributors, distribution_agreements, distribution_agreement_items,
supplychain_accounting
- CRUD JSON配置 (7个列表 + editable段)
- API端点: create/update/delete (21个) + calculate_accounting + query_discount (2个)
- 前端页面: index.ui + 5个功能页 + menu.ui
- 记账计算: 自动查找有效合同/协议折扣,计算进货金额、分销金额、利润
- 折扣查找优先级: 精确产品 > 产品分类 > 默认折扣
- productid/prodtypeid引用product模块(即将开发)
|
2026-05-25 15:37:06 +08:00 |
|