42 lines
1.2 KiB
Plaintext
42 lines
1.2 KiB
Plaintext
|
||
# 供应商结算确认(同add_provider_settlement逻辑,update用于确认操作)
|
||
ns = params_kw.copy()
|
||
record_id = ns.get('id', '')
|
||
remark = ns.get('remark', '')
|
||
|
||
if not record_id:
|
||
return json.dumps({'success': False, 'error': '缺少记录ID'}, ensure_ascii=False)
|
||
|
||
sc_dbname = get_module_dbname('supplychain')
|
||
userorgid = await get_userorgid()
|
||
|
||
db = DBPools()
|
||
async with db.sqlorContext(sc_dbname) as sor:
|
||
recs = await sor.sqlExe("""
|
||
SELECT sa.* FROM supplychain_accounting sa
|
||
WHERE sa.id = ${record_id}$
|
||
""", {'record_id': record_id})
|
||
|
||
if not recs:
|
||
return json.dumps({'success': False, 'error': '记录不存在'}, ensure_ascii=False)
|
||
|
||
rec = recs[0]
|
||
|
||
# 更新结算状态
|
||
async with db.sqlorContext(sc_dbname) as sc_sor:
|
||
await sc_sor.sqlExe("""
|
||
UPDATE sales_ledger
|
||
SET settlement_status = '1', updated_at = NOW(), remark = ${remark}$
|
||
WHERE productid = ${productid}$
|
||
AND supplier_id = ${supplier_id}$
|
||
AND sale_date = ${sale_date}$
|
||
""", {
|
||
'productid': rec.productid,
|
||
'supplier_id': rec.supplier_id,
|
||
'sale_date': str(rec.sale_date),
|
||
'remark': remark
|
||
})
|
||
|
||
debug(f'update_provider_settlement: confirmed {record_id}')
|
||
return json.dumps({'success': True, 'message': '结算已确认'}, ensure_ascii=False)
|