首页统计接口以及导入表格中数据格式错误的问题

This commit is contained in:
2026-02-03 15:55:03 +08:00
parent c880e5f48a
commit 4582778bb3
10 changed files with 435 additions and 11 deletions

View File

@@ -111,6 +111,184 @@
WHERE ri.exec_status = 1
AND ri.is_delete = 0
</select>
<select id="selectStockAgeStat" resultType="com.zg.project.wisdom.domain.vo.StockAgeStatVO">
<![CDATA[
SELECT '10-20天' AS name, COUNT(*) AS value
FROM rk_info ri
WHERE ri.is_delete = '0'
AND ri.is_chuku = '0'
AND ri.operation_time IS NOT NULL
AND TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) > 10
AND TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) <= 20
UNION ALL
SELECT '20-30天' AS name, COUNT(*) AS value
FROM rk_info ri
WHERE ri.is_delete = '0'
AND ri.is_chuku = '0'
AND ri.operation_time IS NOT NULL
AND TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) > 20
AND TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) <= 30
UNION ALL
SELECT '30天以上' AS name, COUNT(*) AS value
FROM rk_info ri
WHERE ri.is_delete = '0'
AND ri.is_chuku = '0'
AND ri.operation_time IS NOT NULL
AND TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) > 30
UNION ALL
SELECT '30-60天' AS name, COUNT(*) AS value
FROM rk_info ri
WHERE ri.is_delete = '0'
AND ri.is_chuku = '0'
AND ri.operation_time IS NOT NULL
AND TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) > 30
AND TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) <= 60
UNION ALL
SELECT '60天以上' AS name, COUNT(*) AS value
FROM rk_info ri
WHERE ri.is_delete = '0'
AND ri.is_chuku = '0'
AND ri.operation_time IS NOT NULL
AND TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) > 60
]]>
</select>
<select id="selectTodoStat" resultType="com.zg.project.wisdom.domain.vo.TodoStatVO">
<![CDATA[
SELECT
'应到未到[部分未到]' AS type,
COUNT(DISTINCT g.xm_no) AS projectCnt,
ROUND(
COALESCE(
SUM(GREATEST(g.jh_qty - g.real_qty, 0)),
0
),
3
) AS totalQty,
ROUND(
COALESCE(
SUM(GREATEST(g.jh_qty - g.real_qty, 0) * g.ht_dj),
0
),
3
) AS totalAmt
FROM gys_jh g
WHERE g.is_delete = '0'
AND g.status = '2'
UNION ALL
SELECT
'应到未到[全部未到]' AS type,
COUNT(DISTINCT g.xm_no) AS projectCnt,
ROUND(
COALESCE(
SUM(g.jh_qty),
0
),
3
) AS totalQty,
ROUND(
COALESCE(
SUM(g.jh_qty * g.ht_dj),
0
),
3
) AS totalAmt
FROM gys_jh g
WHERE g.is_delete = '0'
AND g.status = '0'
UNION ALL
SELECT
'应出未出[全部未出]' AS type,
COUNT(DISTINCT g.xm_no) AS projectCnt,
ROUND(
COALESCE(
SUM(g.real_qty),
0
),
3
) AS totalQty,
ROUND(
COALESCE(
SUM(g.real_qty * g.ht_dj),
0
),
3
) AS totalAmt
FROM gys_jh g
WHERE g.is_delete = '0'
AND g.status = '1';
]]>
</select>
<select id="selectWarehouseSlotStat"
resultType="com.zg.project.wisdom.domain.vo.WarehouseSlotStatVO">
<![CDATA[
SELECT
p.warehouse_code AS cangkuCode,
p.warehouse_name AS cangkuName,
COUNT(DISTINCT p.pcode) AS totalSlot,
COUNT(DISTINCT CASE WHEN r.id IS NOT NULL THEN p.pcode END) AS usedSlot,
COUNT(DISTINCT p.pcode)
- COUNT(DISTINCT CASE WHEN r.id IS NOT NULL THEN p.pcode END) AS unusedSlot
FROM pcde_detail p
LEFT JOIN rk_info r
ON r.pcode = p.pcode
AND r.cangku = p.warehouse_code
AND r.is_delete = '0'
AND r.is_chuku = '0'
WHERE p.is_delete = '0'
AND p.warehouse_name IS NOT NULL
AND TRIM(p.warehouse_name) <> ''
GROUP BY p.warehouse_code, p.warehouse_name
ORDER BY p.warehouse_code
]]>
</select>
<select id="selectStockAgeExport30"
resultType="com.zg.project.wisdom.domain.vo.StockAgeExportVO">
<![CDATA[
SELECT
CASE
WHEN TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) >= 60 THEN '>60天'
ELSE '>30天'
END AS stockAgeGroup,
ri.id AS id,
ri.xm_no AS projectNo,
ri.xm_ms AS projectDesc,
ri.operation_time AS inTime,
TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) AS stockAgeDays,
ri.ht_dj AS unitPrice,
ri.real_qty AS qty,
ROUND(COALESCE(ri.ht_dj, 0) * COALESCE(ri.real_qty, 0), 3) AS lineAmount,
ri.pcode AS slotCode,
ri.tray_code AS trayCode,
ri.bill_no AS billNo
FROM rk_info ri
WHERE ri.is_delete = '0'
AND ri.is_chuku = '0'
AND ri.operation_time IS NOT NULL
AND TIMESTAMPDIFF(DAY, ri.operation_time, NOW()) >= 30
ORDER BY
stockAgeGroup DESC,
stockAgeDays DESC,
ri.operation_time ASC
]]>
</select>
</mapper>