| | |
| | | <if test="salesLedgerDto.projectName != null and salesLedgerDto.projectName != '' "> |
| | | AND T1.project_name LIKE CONCAT('%',#{salesLedgerDto.projectName},'%') |
| | | </if> |
| | | <if test="salesLedgerDto.shippingStatus != null and salesLedgerDto.shippingStatus != '' "> |
| | | AND T1.id IN ( |
| | | SELECT slp.sales_ledger_id |
| | | FROM sales_ledger_product slp |
| | | LEFT JOIN ( |
| | | SELECT si.sales_ledger_product_id, IFNULL(SUM(spd.quantity), 0) AS shipped_quantity |
| | | FROM shipping_info si |
| | | LEFT JOIN shipping_product_detail spd ON si.id = spd.shipping_info_id |
| | | WHERE si.status != '审核拒绝' |
| | | GROUP BY si.sales_ledger_product_id |
| | | ) ship ON ship.sales_ledger_product_id = slp.id |
| | | WHERE slp.type = 1 |
| | | GROUP BY slp.sales_ledger_id |
| | | HAVING |
| | | <choose> |
| | | <when test="'已发货'.equals(salesLedgerDto.shippingStatus)"> |
| | | SUM(CASE WHEN IFNULL(slp.quantity, 0) - IFNULL(ship.shipped_quantity, 0) > 0 THEN 1 ELSE 0 END) = 0 |
| | | </when> |
| | | <otherwise> |
| | | SUM(CASE WHEN IFNULL(slp.quantity, 0) - IFNULL(ship.shipped_quantity, 0) > 0 THEN 1 ELSE 0 END) > 0 |
| | | </otherwise> |
| | | </choose> |
| | | ) |
| | | </if> |
| | | <if test="salesLedgerDto.entryDateStart != null and salesLedgerDto.entryDateStart != '' "> |
| | | AND T1.entry_date >= DATE_FORMAT(#{salesLedgerDto.entryDateStart},'%Y-%m-%d') |
| | | </if> |
| | |
| | | AND T1.entry_date <= DATE_FORMAT(#{salesLedgerDto.entryDateEnd},'%Y-%m-%d') |
| | | </if> |
| | | </where> |
| | | order by T1.entry_date desc |
| | | order by T1.entry_date desc, T1.sales_contract_no desc |
| | | </select> |
| | | |
| | | <select id="selectIncomeStats" resultType="com.ruoyi.home.dto.IncomeExpenseAnalysisDto"> |