Compare commits

..

No commits in common. "d1a4f364ca71698e99d666a78519d73fdf46e898" and "3f66820e553b504546dc0d16e7b7e16e9ec957de" have entirely different histories.

1 changed files with 17 additions and 26 deletions

View File

@ -594,31 +594,22 @@
</select> </select>
<update id="recalculateTeamNewBoxNum"> <update id="recalculateTeamNewBoxNum">
MERGE INTO ${retailsTableName} s UPDATE ${retailsTableName}
USING ( SET ENABLE_STATUS = 0, TEAM_NEW_BOX_NUM = (
SELECT SUM(boxNum) AS boxNum, SUM(pv) AS pv, pk_id SELECT SUM(boxNum)
FROM ( FROM (
SELECT b.PK_ID, SELECT b.PK_ID, NVL(s.NEW_BOX_NUM, 0) AS boxNum
NVL(s.NEW_BOX_NUM, 0) AS boxNum, FROM ${retailsTableName} s
NVL(s.NEW_CONSUME_PV, 0) AS pv RIGHT JOIN (
FROM ${retailsTableName} s SELECT cm.PK_ID
RIGHT JOIN ( FROM cu_member cm
SELECT cm.PK_ID WHERE cm.PK_ID != #{pkId}
FROM cu_member cm START WITH cm.PK_ID = #{pkId}
WHERE cm.PK_ID != #{pkId} CONNECT BY PRIOR cm.pk_id = cm.pk_parent
START WITH cm.PK_ID = #{pkId} ORDER BY LEVEL
CONNECT BY PRIOR cm.pk_id = cm.pk_parent ) b ON s.PK_MEMBER = b.PK_ID
ORDER BY LEVEL ) c
) b ON s.PK_MEMBER = b.PK_ID )
) c WHERE PK_MEMBER = #{pkId}
GROUP BY pk_id
) result
ON (s.PK_MEMBER = result.PK_ID)
WHEN MATCHED THEN
UPDATE SET
s.ENABLE_STATUS = 0,
s.TEAM_NEW_BOX_NUM = result.boxNum,
s.TEAM_NEW_PV = result.pv
WHERE s.PK_MEMBER = #{pkId};
</update> </update>
</mapper> </mapper>