|
@@ -4,18 +4,18 @@
|
|
|
|
|
|
<select id="productionReport" resultType="com.fjhx.form.entity.ProductionReportBo">
|
|
|
SELECT pod.id,
|
|
|
- pod.company_id AS factoryId,
|
|
|
+ pod.company_id AS factoryId,
|
|
|
po.`code` AS orderCode,
|
|
|
pod.product_id,
|
|
|
pod.quantity,
|
|
|
po.delivery_period,
|
|
|
pod.finish_time,
|
|
|
IF(DATE_FORMAT(IFNULL(po.finish_time, NOW()), '%Y-%m-%d') > DATE_FORMAT(po.delivery_period, '%Y-%m-%d'),
|
|
|
- 1, 0) as isOverdue,
|
|
|
+ 1, 0) as isOverdue,
|
|
|
IF(DATE_FORMAT(IFNULL(po.finish_time, NOW()), '%Y-%m-%d') > DATE_FORMAT(po.delivery_period, '%Y-%m-%d'),
|
|
|
DATEDIFF(IFNULL(po.finish_time, NOW()), po.delivery_period), 0) as overdueDay,
|
|
|
DATEDIFF(po.delivery_period, po.produce_time) /
|
|
|
- DATEDIFF(IFNULL(po.finish_time, NOW()), po.produce_time) * 100 as timelyRate
|
|
|
+ DATEDIFF(IFNULL(po.finish_time, NOW()), po.produce_time) * 100 as timelyRate
|
|
|
FROM production_order_detail pod
|
|
|
LEFT JOIN production_order po ON pod.produce_order_id = po.id
|
|
|
</select>
|
|
@@ -67,4 +67,68 @@
|
|
|
AND po.produce_status = 5
|
|
|
GROUP BY c.salesman_id
|
|
|
</select>
|
|
|
+ <select id="orderSummary" resultType="com.fjhx.form.entity.OrderSummaryBo">
|
|
|
+ SELECT c.id,
|
|
|
+ c.`code` AS contractCode,
|
|
|
+ c.salesman_id,
|
|
|
+ c.merch_user_id,
|
|
|
+ c.belong_type,
|
|
|
+ c.amount,
|
|
|
+ c.factory_amount,
|
|
|
+ IFNULL(cor.sumOutFactoryMoney, 0) AS sumOutFactoryMoney,
|
|
|
+ (c.amount * c.advance_ratio / 100) AS deposit,
|
|
|
+ NULL AS difference,
|
|
|
+ IF(IFNULL(cla.sumClaimMoney, 0) >= c.amount AND IFNULL(cor.sumOutMoney, 0) >= c.factory_amount, '可结算',
|
|
|
+ '不可结算') AS isSettlement,
|
|
|
+ c.settle_start_date,
|
|
|
+ c.settle_end_date,
|
|
|
+ c.contract_type,
|
|
|
+ cu.`name` AS customerName,
|
|
|
+ cu.short_name AS customerShortName,
|
|
|
+ IFNULL(cor.sumOutMoney, 0) AS receivableAmount,
|
|
|
+ IFNULL(cla.sumClaimMoney, 0) AS sumClaimMoney,
|
|
|
+ IFNULL(cor.sumOutMoney, 0) - IFNULL(cla.sumClaimMoney, 0) AS outstandingAmount,
|
|
|
+ cor.firstTruckDate AS firstTruckDate,
|
|
|
+ CASE
|
|
|
+ WHEN IFNULL(#{dto.accountAgeDate} THEN
|
|
|
+ WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) <= 30 THEN
|
|
|
+ '0~30'
|
|
|
+ WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) <= 60 THEN
|
|
|
+ '30~60'
|
|
|
+ WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) <= 90 THEN
|
|
|
+ '60~90'
|
|
|
+ WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) <= 120 THEN
|
|
|
+ '90~120'
|
|
|
+ WHEN IFNULL(DATEDIFF( IFNULL(#{dto.accountAgeDate},NOW()), cor.firstTruckDate ),0) > 120 THEN
|
|
|
+ '120以上'
|
|
|
+ END AS accountAge
|
|
|
+ FROM
|
|
|
+ contract c
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ cc.contract_id,
|
|
|
+ SUM( cc.contract_money ) AS sumClaimMoney
|
|
|
+ FROM
|
|
|
+ claim_contract cc
|
|
|
+ JOIN claim cl ON cc.claim_id = cl.id
|
|
|
+ WHERE
|
|
|
+ cl.confirm_status = 1
|
|
|
+ GROUP BY
|
|
|
+ cc.contract_id
|
|
|
+ ) cla ON cla.contract_id = c.id
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT
|
|
|
+ cor.contract_id,
|
|
|
+ MIN( coi.truck_date ) AS firstTruckDate,
|
|
|
+ sum( cor.price * cor.truck_quantity ) AS sumOutMoney,
|
|
|
+ sum( cor.factory_price * cor.truck_quantity ) AS sumOutFactoryMoney
|
|
|
+ FROM
|
|
|
+ contract_outbound_records cor
|
|
|
+ JOIN contract_outbound_info coi ON cor.record_id = coi.id
|
|
|
+ GROUP BY
|
|
|
+ cor.contract_id
|
|
|
+ ) cor ON cor.contract_id = c.id
|
|
|
+ LEFT JOIN customer cu ON c.buy_corporation_id = cu.id
|
|
|
+ ${ew.customSqlSegment}
|
|
|
+ </select>
|
|
|
</mapper>
|