|
|
698f0f6e29
|
fix: unwrap list values from bricks code lookups (supplier_id was ['x','x']) before sor.C
|
2026-07-03 16:00:39 +08:00 |
|
|
|
fa81da2bbf
|
fix: return plain dict (ahserver handles serialization), match CRUD pattern exactly
|
2026-07-03 15:54:19 +08:00 |
|
|
|
4a0b9db82a
|
fix: follow CRUD add_llm pattern exactly — ns.copy(), sor.C, no param cleaning
|
2026-07-03 15:41:58 +08:00 |
|
|
|
6b6489af02
|
fix: back to sor.C with simple param cleaning
|
2026-07-03 15:40:11 +08:00 |
|
|
|
37c39a053f
|
fix: sor.I takes 1 arg (data), not 2
|
2026-07-03 15:33:42 +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 |
|
|
|
1d99375578
|
fix: use whitelist approach - only pass known table columns to sor.I
|
2026-07-03 15:29:08 +08:00 |
|
|
|
959d021537
|
fix: clean _text suffix fields, use sor.I instead of sor.C, json.dumps return
|
2026-07-03 15:11:26 +08:00 |
|
|
|
da64e09090
|
fix: supply_contracts_create remove json.dumps
|
2026-07-03 15:10:01 +08:00 |
|
|
|
32070a53b1
|
fix: supplychain_accounting update/delete return widgettype format
|
2026-07-03 15:08:21 +08:00 |
|
|
|
63a1bedeba
|
fix: clean non-table params before sor.C; return json.dumps instead of dict
|
2026-07-03 15:04:34 +08:00 |
|
|
|
f325ad0c93
|
fix: CRUD endpoint return format - remove json.dumps
|
2026-07-03 15:01:08 +08:00 |
|
|
|
2828426f76
|
fix: CRUD endpoint return format - remove json.dumps, use widgettype format
|
2026-07-03 14:53:31 +08:00 |
|
|
|
7c214552c5
|
fix: 供应商合同新增时 supplier_id 自动带过来
1. supplier_id 加入 editexclouded(表单不显示)
2. new_data_url 携带 supplier_id 查询参数
→ /api/supply_contracts_create.dspy?supplier_id=xxx
3. dspy 从 params_kw 自动获取 supplier_id
|
2026-07-03 14:34:37 +08:00 |
|
|
|
813882ff71
|
fix: supply_contracts_create generates contract_code automatically
|
2026-07-03 14:30:35 +08:00 |
|
|
|
3c742c0674
|
feat: 供应商管理添加「供应商合同」子表toolbar
选中供应商 → 点击「供应商合同」→ 弹出该供应商的合同列表
supplier_id 自动带过来,新增合同无需手动输入供应商
|
2026-07-03 14:23:20 +08:00 |
|
|
|
b146cbd628
|
feat: add per-module scripts/load_path.py with all RBAC paths
|
2026-07-03 14:11:57 +08:00 |
|
|
|
e766111aa1
|
fix: batch fix dspy violations — remove imports/print/ServerEnv, use return json.dumps, proper widgettype format
|
2026-07-03 13:57:26 +08:00 |
|
|
|
e79627c55f
|
fix: sor.U()参数错误 - id放data字典内而非单独传第3参数
|
2026-07-02 18:53:04 +08:00 |
|
|
|
ff50eff07e
|
fix: sync models/suppliers.json cond to use supplier_settle_cycle (was reverted by 60465fb)
|
2026-07-01 16:41:12 +08:00 |
|
|
|
60465fb15c
|
fix: cond settled_cycle对齐data.json的supplier_settlement_cycle
|
2026-07-01 16:40:03 +08:00 |
|
|
|
8dbdf5c3c6
|
fix: shorten supplier_settlement_cycle parentid (27→22 chars) so appcodes_kv.id fits VARCHAR(32)
|
2026-07-01 16:11:44 +08:00 |
|
|
|
0bdb019e29
|
fix: 供应商创建同步org+开账,去json.dumps
|
2026-07-01 16:01:24 +08:00 |
|
|
|
7dbdcf1d2f
|
fix: suppliers固定选项改用appcodes,model加codes定义,init补data
|
2026-07-01 15:54:57 +08:00 |
|
|
|
2cf0504fa0
|
fix: .gitignore补supplier_resource_price_list,去除CRUD生成文件追踪
|
2026-07-01 15:46:54 +08:00 |
|
|
|
7121c3accc
|
fix: 修复CRUD页面渲染问题 — 目录路径从any移到logined
CRUD列表目录(suppliers_list等)注册在any角色导致服务器直接返回原始JSON
(Content-Type: application/json)而非通过bricks模板引擎渲染为HTML。
修复:将所有CRUD目录路径从PATHS_ANY移到PATHS_LOGINED,
确保服务器走bricks模板引擎处理。
|
2026-06-25 16:32:26 +08:00 |
|
|
|
c4039d2b30
|
fix: 修复供应链模块全部CRUD配置问题
- suppliers_list: 添加orgid的code配置(dataurl+valueField/textField),加入editexclouded
- supplier_resource_price_list: 修正data_filter格式(fields→AND),补充alters全部code字段
- product_supplier_mapping_list: 添加editexclouded,补充product_id的code配置
- platform_supply_products_list: 添加editexclouded,补充relation_id/source_product_id的code配置
- platform_supply_relations_list: 添加editexclouded,补充supplier_org_id/buyer_org_id的code配置
- sales_ledger_list: 添加editexclouded,补充6个FK字段的code配置
- sub_resellers_list: 添加editexclouded
- supplychain_accounting_list: 添加data_filter+filter_labels,补充7个code字段的alters配置
- 新增get_search_sub_distributor_id.dspy和get_search_supply_relation_id.dspy
- load_path.py注册新路径
|
2026-06-25 16:07:23 +08:00 |
|
Hermes Agent
|
45e9090b69
|
feat: 菜单增加供应商资源定价入口
在外部供应商分组下增加供应商资源定价管理菜单项
|
2026-06-21 11:45:05 +08:00 |
|
Hermes Agent
|
ba4c123c09
|
fix: supplier_resource_price CRUD JSON合规格式 + CRUD dspy + load_path
- supplier_resource_price_list.json重写为规范格式(tblname+params)
- 3个新CRUD dspy(create/update/delete)
- load_path.py LOGINED+OPERATOR注册完整路径
|
2026-06-21 11:40:44 +08:00 |
|
Hermes Agent
|
c06d54d86a
|
feat: 供应商资源定价模块 + CRUD配置 + load_path更新
新增模型: supplier_resource_price (供应商资源定价表)
新增UI: supplier_resource_price_list/index.ui (定价管理界面)
新增DDL: supplier_resource_price建表语句
更新load_path: 添加定价CRUD路径权限
|
2026-06-20 12:10:48 +08:00 |
|
Hermes Agent
|
4eb24b0707
|
feat: add i18n translations (zh/en/jp/ko) for all modules
|
2026-06-19 15:01:42 +08:00 |
|
Hermes Agent
|
a005962abb
|
Revert "fix: root VBox height:100% instead of cheight:40"
This reverts commit 27fbb27e6344e21ebfe9f136945ba8af93684006.
|
2026-06-19 14:26:31 +08:00 |
|
Hermes Agent
|
27fbb27e63
|
fix: root VBox height:100% instead of cheight:40
|
2026-06-19 14:25:10 +08:00 |
|
Hermes Agent
|
ae8e323f16
|
feat: 结算处理+供应商充值后端dspy - get_reseller/provider_settlement: 查询未结算的supplychain_accounting记录 - add/update_settlement: 调用SettleAccounting发起结算 - get/add/update_provider_recharge: 供应商充值记录CRUD
|
2026-06-18 13:51:45 +08:00 |
|
Hermes Agent
|
a175d79cc2
|
feat: 对账与明细对账页面重构 - 对账: 按产品汇总的单边明细发生统计(supplychain_accounting + accounting_log) - 明细对账: 逐笔核对(supplychain_accounting每笔记录) - 分销商维度看dist_amount, 供应商维度看supply_amount - 核对状态: 待核对/我方单边/对方单边/一致
|
2026-06-18 13:47:35 +08:00 |
|
Hermes Agent
|
fa57ab7092
|
feat: 新增分销商结算和供应商财务7个页面
分销商结算:
- reseller_reconcile.ui: 分销商对账汇总
- reseller_detail_reconcile.ui: 明细对账
- reseller_settlement.ui: 结算处理
供应商财务:
- provider_recharge.ui: 供应商充值记录
- provider_reconcile.ui: 供应商对账
- provider_detail_reconcile.ui: 供应商明细对账
- provider_settlement.ui: 供应商结算
各页面含InlineForm筛选+Tabular数据展示+统计摘要栏
后端dspy待后续创建
|
2026-06-18 13:33:18 +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
|
2dd2953757
|
fix: rewrite all create dspy files to use pre-loaded functions
- Removed all imports (json, ServerEnv, datetime, getID)
- Replaced datetime.now().strftime with timestampstr()
- Added id=getID(), created_at=timestampstr(), updated_at=timestampstr()
- Added resellerid from user org context
- Used DBPools().sqlorContext pattern
- Pass data dict directly to sor.C() without field filtering
- Fixed: suppliers, sub_distributors, sub_resellers, distribution_agreements,
distribution_agreement_items, supply_contracts, supply_contract_items,
platform_supply_products, platform_supply_relations, product_supplier_mapping,
sales_ledger, supplychain_accounting
|
2026-06-17 17:49:48 +08:00 |
|
Hermes Agent
|
047ec1800a
|
feat: 完善分销商管理CRUD — sub_distributors/distribution_agreements/distribution_agreement_items
- 增强3个CRUD JSON配置:过滤器、子表关联、下拉选择alters
- 修复9个API dspy文件:移除违规import,改用init.py函数直接调用
- 新增2个搜索API:get_search_sub_reseller_id、get_search_agreement_id
- 自动生成分销商编号(SD-YYYYMMDD-NNNN)和协议编号(DA-YYYYMMDD-NNNN)
- 级联删除:删除分销商时级联删除协议及明细,删除协议时级联删除明细
- 更新load_path.py注册新API路径
|
2026-06-17 15:18:27 +08:00 |
|
Hermes Agent
|
669c491f93
|
fix: 供销协议CRUD自动生成合同编号+级联删除明细
- add_supply_contracts.dspy: 自动生成contract_code(SC-YYYYMMDD-NNNN)
- add_supply_contracts.dspy: 自动填充created_by/created_at/updated_at
- delete_supply_contracts.dspy: 删除协议时级联删除产品折扣明细
|
2026-06-17 15:04:32 +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 |
|
Hermes Agent
|
d26bb4cd0c
|
bugfix
|
2026-06-17 14:38:50 +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 |
|
|
|
dff8b0de2a
|
feat(supplychain): P0 平台内供应链 - 供销关系/产品映射/跨组织引入
新增3张核心表:
- platform_supply_relations: 平台内org-to-org供销关系(分销/代理/直供)
- platform_supply_products: 供销产品明细(供货价/折扣/佣金)
- product_supplier_mapping: 统一产品供应映射(内部+外部)
新增3个业务API:
- query_platform_suppliers: 查询平台可用供应方机构
- query_platform_products: 查询供应方产品目录
- import_supplier_product: 引入供应方产品到需求方
更新: init/data.json(6组appcodes), load_path.py(RBAC权限), menu.ui(分组菜单)
|
2026-06-05 22:11:33 +08:00 |
|
|
|
b8f361af41
|
fix: wrap Tabular in VBox with cheight for proper scrolling
|
2026-05-29 22:09:58 +08:00 |
|
|
|
5942e78968
|
feat: add DDL, CRUD dspy and list pages for all supplychain tables
|
2026-05-28 11:43:45 +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 |
|
|
|
58f427d530
|
refactor: dark theme 3-part layout with filler scrollable content
|
2026-05-26 14:07:19 +08:00 |
|
|
|
55b84f5fe8
|
docs: 恢复README.md完整内容, 更新集成步骤引用scripts/load_path.py
|
2026-05-25 15:39:10 +08:00 |
|