fix(calculate_sale_amounts): SQL 补「产品精确+类别默认」匹配分支
原 SQL 只覆盖: (类别+产品精确)/(类别精确+产品默认)/(全默认), 缺「产品精确+类别为NULL」,导致只填 productid 不填 prodtypeid 的折扣查不到, supply_discount 回落到 default_discount=1.0。补第3优先级。
This commit is contained in:
parent
3a93804655
commit
927ee954ac
@ -664,11 +664,13 @@ WHERE resellerid = ${resellerid}$
|
|||||||
WHERE contract_id = ${contract_id}$
|
WHERE contract_id = ${contract_id}$
|
||||||
AND ((prodtypeid = ${prodtypeid}$ AND productid = ${productid}$)
|
AND ((prodtypeid = ${prodtypeid}$ AND productid = ${productid}$)
|
||||||
OR (prodtypeid = ${prodtypeid}$ AND productid IS NULL)
|
OR (prodtypeid = ${prodtypeid}$ AND productid IS NULL)
|
||||||
|
OR (prodtypeid IS NULL AND productid = ${productid}$)
|
||||||
OR (prodtypeid IS NULL AND productid IS NULL))
|
OR (prodtypeid IS NULL AND productid IS NULL))
|
||||||
ORDER BY
|
ORDER BY
|
||||||
CASE WHEN prodtypeid IS NOT NULL AND productid IS NOT NULL THEN 1
|
CASE WHEN prodtypeid IS NOT NULL AND productid IS NOT NULL THEN 1
|
||||||
WHEN prodtypeid IS NOT NULL AND productid IS NULL THEN 2
|
WHEN prodtypeid IS NOT NULL AND productid IS NULL THEN 2
|
||||||
ELSE 3 END
|
WHEN prodtypeid IS NULL AND productid IS NOT NULL THEN 3
|
||||||
|
ELSE 4 END
|
||||||
LIMIT 1"""
|
LIMIT 1"""
|
||||||
recs_sci = await sor.sqlExe(sql_sci, {
|
recs_sci = await sor.sqlExe(sql_sci, {
|
||||||
"contract_id": contract_id,
|
"contract_id": contract_id,
|
||||||
@ -705,11 +707,13 @@ WHERE resellerid = ${resellerid}$
|
|||||||
WHERE agreement_id = ${agreement_id}$
|
WHERE agreement_id = ${agreement_id}$
|
||||||
AND ((prodtypeid = ${prodtypeid}$ AND productid = ${productid}$)
|
AND ((prodtypeid = ${prodtypeid}$ AND productid = ${productid}$)
|
||||||
OR (prodtypeid = ${prodtypeid}$ AND productid IS NULL)
|
OR (prodtypeid = ${prodtypeid}$ AND productid IS NULL)
|
||||||
|
OR (prodtypeid IS NULL AND productid = ${productid}$)
|
||||||
OR (prodtypeid IS NULL AND productid IS NULL))
|
OR (prodtypeid IS NULL AND productid IS NULL))
|
||||||
ORDER BY
|
ORDER BY
|
||||||
CASE WHEN prodtypeid IS NOT NULL AND productid IS NOT NULL THEN 1
|
CASE WHEN prodtypeid IS NOT NULL AND productid IS NOT NULL THEN 1
|
||||||
WHEN prodtypeid IS NOT NULL AND productid IS NULL THEN 2
|
WHEN prodtypeid IS NOT NULL AND productid IS NULL THEN 2
|
||||||
ELSE 3 END
|
WHEN prodtypeid IS NULL AND productid IS NOT NULL THEN 3
|
||||||
|
ELSE 4 END
|
||||||
LIMIT 1"""
|
LIMIT 1"""
|
||||||
recs_dai = await sor.sqlExe(sql_dai, {
|
recs_dai = await sor.sqlExe(sql_dai, {
|
||||||
"agreement_id": agreement_id,
|
"agreement_id": agreement_id,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user