库位使用统计sql优化
This commit is contained in:
@@ -70,6 +70,7 @@ public class RkStatisticsController {
|
||||
List<TodoStatVO> list = rkStatisticsService.selectTodoStat();
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 小仓库位使用情况统计(总库位/已使用/未使用)
|
||||
*/
|
||||
@@ -78,6 +79,7 @@ public class RkStatisticsController {
|
||||
List<WarehouseSlotStatVO> list = rkStatisticsService.selectWarehouseSlotStat();
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 库龄>=30天明细导出(分组:>30天 / >60天)
|
||||
*/
|
||||
|
||||
@@ -288,7 +288,7 @@ public class RkInfoServiceImpl implements IRkInfoService
|
||||
scan.setTaskId(taskId);
|
||||
scan.setPcode(r.getPcode());
|
||||
|
||||
// 👉 你要求:全部都是正常
|
||||
// 全部都是正常
|
||||
scan.setStatus("0");
|
||||
|
||||
scan.setDeviceId(deviceId);
|
||||
|
||||
@@ -230,6 +230,7 @@ public class RkRecordServiceImpl implements IRkRecordService
|
||||
info.setHtDj(rkRecord.getHtDj());
|
||||
info.setCangku(rkRecord.getCangku());
|
||||
info.setPcode(rkRecord.getPcode());
|
||||
info.setRemark(rkRecord.getRemark());
|
||||
info.setIsChuku("0");
|
||||
}
|
||||
|
||||
@@ -266,6 +267,7 @@ public class RkRecordServiceImpl implements IRkRecordService
|
||||
info.setHtDj(rkRecord.getHtDj());
|
||||
info.setCangku(rkRecord.getCangku());
|
||||
info.setPcode(rkRecord.getPcode());
|
||||
info.setRemark(rkRecord.getRemark());
|
||||
}
|
||||
|
||||
/* ====================== 4. 更新库存表 ====================== */
|
||||
|
||||
@@ -253,33 +253,46 @@
|
||||
</select>
|
||||
<select id="selectWarehouseSlotStat"
|
||||
resultType="com.zg.project.wisdom.domain.vo.WarehouseSlotStatVO">
|
||||
<![CDATA[
|
||||
<![CDATA[
|
||||
|
||||
SELECT
|
||||
p.warehouse_code AS cangkuCode,
|
||||
p.warehouse_name AS cangkuName,
|
||||
p.warehouse_code AS cangkuCode,
|
||||
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(DISTINCT CASE WHEN r.id IS NOT NULL THEN p.pcode END) AS unusedSlot
|
||||
COUNT(p.pcode) - COUNT(u.pcode) 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'
|
||||
|
||||
LEFT JOIN (
|
||||
SELECT DISTINCT
|
||||
pcode,
|
||||
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'
|
||||
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
|
||||
GROUP BY
|
||||
p.warehouse_code,
|
||||
p.warehouse_name
|
||||
|
||||
ORDER BY
|
||||
p.warehouse_code
|
||||
|
||||
]]>
|
||||
</select>
|
||||
</select>
|
||||
|
||||
<select id="selectStockAgeExport30"
|
||||
resultType="com.zg.project.wisdom.domain.vo.StockAgeExportVO">
|
||||
<![CDATA[
|
||||
|
||||
Reference in New Issue
Block a user