库位使用统计sql优化

This commit is contained in:
2026-02-28 08:51:23 +08:00
parent d29b336252
commit 8f802a8738
4 changed files with 33 additions and 16 deletions

View File

@@ -70,6 +70,7 @@ public class RkStatisticsController {
List<TodoStatVO> list = rkStatisticsService.selectTodoStat(); List<TodoStatVO> list = rkStatisticsService.selectTodoStat();
return AjaxResult.success(list); return AjaxResult.success(list);
} }
/** /**
* 小仓库位使用情况统计(总库位/已使用/未使用) * 小仓库位使用情况统计(总库位/已使用/未使用)
*/ */
@@ -78,6 +79,7 @@ public class RkStatisticsController {
List<WarehouseSlotStatVO> list = rkStatisticsService.selectWarehouseSlotStat(); List<WarehouseSlotStatVO> list = rkStatisticsService.selectWarehouseSlotStat();
return AjaxResult.success(list); return AjaxResult.success(list);
} }
/** /**
* 库龄>=30天明细导出分组>30天 / >60天 * 库龄>=30天明细导出分组>30天 / >60天
*/ */

View File

@@ -288,7 +288,7 @@ public class RkInfoServiceImpl implements IRkInfoService
scan.setTaskId(taskId); scan.setTaskId(taskId);
scan.setPcode(r.getPcode()); scan.setPcode(r.getPcode());
// 👉 你要求:全部都是正常 // 全部都是正常
scan.setStatus("0"); scan.setStatus("0");
scan.setDeviceId(deviceId); scan.setDeviceId(deviceId);

View File

@@ -230,6 +230,7 @@ public class RkRecordServiceImpl implements IRkRecordService
info.setHtDj(rkRecord.getHtDj()); info.setHtDj(rkRecord.getHtDj());
info.setCangku(rkRecord.getCangku()); info.setCangku(rkRecord.getCangku());
info.setPcode(rkRecord.getPcode()); info.setPcode(rkRecord.getPcode());
info.setRemark(rkRecord.getRemark());
info.setIsChuku("0"); info.setIsChuku("0");
} }
@@ -266,6 +267,7 @@ public class RkRecordServiceImpl implements IRkRecordService
info.setHtDj(rkRecord.getHtDj()); info.setHtDj(rkRecord.getHtDj());
info.setCangku(rkRecord.getCangku()); info.setCangku(rkRecord.getCangku());
info.setPcode(rkRecord.getPcode()); info.setPcode(rkRecord.getPcode());
info.setRemark(rkRecord.getRemark());
} }
/* ====================== 4. 更新库存表 ====================== */ /* ====================== 4. 更新库存表 ====================== */

View File

@@ -253,33 +253,46 @@
</select> </select>
<select id="selectWarehouseSlotStat" <select id="selectWarehouseSlotStat"
resultType="com.zg.project.wisdom.domain.vo.WarehouseSlotStatVO"> resultType="com.zg.project.wisdom.domain.vo.WarehouseSlotStatVO">
<![CDATA[ <![CDATA[
SELECT SELECT
p.warehouse_code AS cangkuCode, p.warehouse_code AS cangkuCode,
p.warehouse_name AS cangkuName, p.warehouse_name AS cangkuName,
COUNT(DISTINCT p.pcode) AS totalSlot, COUNT(p.pcode) AS totalSlot,
COUNT(DISTINCT CASE WHEN r.id IS NOT NULL THEN p.pcode END) AS usedSlot, COUNT(u.pcode) AS usedSlot,
COUNT(DISTINCT p.pcode) COUNT(p.pcode) - COUNT(u.pcode) AS unusedSlot
- COUNT(DISTINCT CASE WHEN r.id IS NOT NULL THEN p.pcode END) AS unusedSlot
FROM pcde_detail p FROM pcde_detail p
LEFT JOIN rk_info r
ON r.pcode = p.pcode LEFT JOIN (
AND r.cangku = p.warehouse_code SELECT DISTINCT
AND r.is_delete = '0' pcode,
AND r.is_chuku = '0' cangku
FROM rk_info
WHERE is_delete = '0'
AND is_chuku = '0'
AND exec_status = '1'
) u
ON u.pcode = p.pcode
AND u.cangku = p.warehouse_code
WHERE p.is_delete = '0' WHERE p.is_delete = '0'
AND p.warehouse_name IS NOT NULL AND p.warehouse_name IS NOT NULL
AND TRIM(p.warehouse_name) <> '' AND TRIM(p.warehouse_name) <> ''
GROUP BY p.warehouse_code, p.warehouse_name GROUP BY
ORDER BY p.warehouse_code p.warehouse_code,
p.warehouse_name
ORDER BY
p.warehouse_code
]]> ]]>
</select> </select>
<select id="selectStockAgeExport30" <select id="selectStockAgeExport30"
resultType="com.zg.project.wisdom.domain.vo.StockAgeExportVO"> resultType="com.zg.project.wisdom.domain.vo.StockAgeExportVO">
<![CDATA[ <![CDATA[