diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsInventoryController.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsInventoryController.java index 9eb5f153..21833941 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsInventoryController.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/controller/WmsInventoryController.java @@ -45,7 +45,7 @@ public class WmsInventoryController extends BaseController { /** * 查询物料库存列表 */ - @SaCheckPermission("system:inventory:list") + @SaCheckPermission("wms:inventory:list") @GetMapping("/list") public TableDataInfo list(WmsInventoryBo bo, PageQuery pageQuery) { return wmsInventoryService.queryPageList(bo, pageQuery); @@ -65,7 +65,7 @@ public class WmsInventoryController extends BaseController { /** * 导出物料库存列表 */ - @SaCheckPermission("system:inventory:export") + @SaCheckPermission("wms:inventory:export") @Log(title = "物料库存", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(WmsInventoryBo bo, HttpServletResponse response) { @@ -78,7 +78,7 @@ public class WmsInventoryController extends BaseController { * * @param inventoryId 主键 */ - @SaCheckPermission("system:inventory:query") + @SaCheckPermission("wms:inventory:query") @GetMapping("/{inventoryId}") public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long inventoryId) { @@ -88,7 +88,7 @@ public class WmsInventoryController extends BaseController { /** * 新增物料库存 */ - @SaCheckPermission("system:inventory:add") + @SaCheckPermission("wms:inventory:add") @Log(title = "物料库存", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() @@ -99,7 +99,7 @@ public class WmsInventoryController extends BaseController { /** * 修改物料库存 */ - @SaCheckPermission("system:inventory:edit") + @SaCheckPermission("wms:inventory:edit") @Log(title = "物料库存", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() @@ -112,7 +112,7 @@ public class WmsInventoryController extends BaseController { * * @param inventoryIds 主键串 */ - @SaCheckPermission("system:inventory:remove") + @SaCheckPermission("wms:inventory:remove") @Log(title = "物料库存", businessType = BusinessType.DELETE) @DeleteMapping("/{inventoryIds}") public R remove(@NotEmpty(message = "主键不能为空") @@ -142,7 +142,7 @@ public class WmsInventoryController extends BaseController { /** * 查询库存台账列表 */ - @SaCheckPermission("system:inventory:list") +// @SaCheckPermission("wms:inventory:list") @GetMapping("/ledger/list") public TableDataInfo ledgerList(WmsInventoryLedgerBo bo, PageQuery pageQuery) { return wmsInventoryService.queryInventoryLedgerPageList(bo, pageQuery); @@ -151,7 +151,7 @@ public class WmsInventoryController extends BaseController { /** * 导出库存台账列表 */ - @SaCheckPermission("system:inventory:export") + @SaCheckPermission("wms:inventory:export") @Log(title = "库存台账", businessType = BusinessType.EXPORT) @PostMapping("/ledger/export") public void exportLedger(WmsInventoryLedgerBo bo, HttpServletResponse response) { diff --git a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryServiceImpl.java b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryServiceImpl.java index abbf2c4e..c2217057 100644 --- a/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryServiceImpl.java +++ b/ruoyi-modules/hwmom-wms/src/main/java/org/dromara/wms/service/impl/WmsInventoryServiceImpl.java @@ -292,16 +292,16 @@ public class WmsInventoryServiceImpl implements IWmsInventoryService { @Override public TableDataInfo queryInventoryLedgerPageList(WmsInventoryLedgerBo bo, PageQuery pageQuery) { List ledgerList = queryInventoryLedgerList(bo); - + // 手动分页处理 int total = ledgerList.size(); int pageNum = pageQuery.getPageNum(); int pageSize = pageQuery.getPageSize(); int fromIndex = (pageNum - 1) * pageSize; int toIndex = Math.min(fromIndex + pageSize, total); - + List pageList = fromIndex < total ? ledgerList.subList(fromIndex, toIndex) : new ArrayList<>(); - + TableDataInfo dataInfo = TableDataInfo.build(pageList); dataInfo.setTotal(total); return dataInfo; @@ -316,28 +316,52 @@ public class WmsInventoryServiceImpl implements IWmsInventoryService { @Override public List queryInventoryLedgerList(WmsInventoryLedgerBo bo) { List ledgerList = new ArrayList<>(); - - // 1. 查询入库记录 - ledgerList.addAll(getInstockRecords(bo)); - - // 2. 查询出库记录 - ledgerList.addAll(getOutstockRecords(bo)); - - // 3. 查询盘点调账记录 - ledgerList.addAll(getInventoryCheckRecords(bo)); - - // 4. 查询退库记录 - ledgerList.addAll(getReturnOrderRecords(bo)); - - // 5. 查询调拨记录 - ledgerList.addAll(getTransferRecords(bo)); - + + // 根据变动类型筛选查询哪些记录 + String changeType = bo.getChangeType(); + + if (changeType == null || changeType.isEmpty()) { + // 查询所有类型 + ledgerList.addAll(getInstockRecords(bo)); + ledgerList.addAll(getOutstockRecords(bo)); + ledgerList.addAll(getInventoryCheckRecords(bo)); + ledgerList.addAll(getReturnOrderRecords(bo)); +// ledgerList.addAll(getTransferRecords(bo)); + } else { + // 根据指定类型查询 + switch (changeType) { + case "INBOUND": + ledgerList.addAll(getInstockRecords(bo)); + break; + case "OUTBOUND": + ledgerList.addAll(getOutstockRecords(bo)); + break; + case "RETURN": + ledgerList.addAll(getReturnOrderRecords(bo)); + break; +// case "TRANSFER": +// ledgerList.addAll(getTransferRecords(bo)); +// break; + case "ADJUST": + ledgerList.addAll(getInventoryCheckRecords(bo)); + break; + default: + // 未知类型,查询所有 + ledgerList.addAll(getInstockRecords(bo)); + ledgerList.addAll(getOutstockRecords(bo)); + ledgerList.addAll(getInventoryCheckRecords(bo)); + ledgerList.addAll(getReturnOrderRecords(bo)); +// ledgerList.addAll(getTransferRecords(bo)); + break; + } + } + // 按时间排序 ledgerList.sort(Comparator.comparing(WmsInventoryLedgerVo::getChangeDate)); - + // 计算结存数量 calculateBalanceQty(ledgerList); - + return ledgerList; } @@ -381,7 +405,7 @@ public class WmsInventoryServiceImpl implements IWmsInventoryService { */ private void calculateBalanceQty(List ledgerList) { Map balanceMap = new HashMap<>(); - + for (WmsInventoryLedgerVo record : ledgerList) { String key = record.getMaterialId() + "_" + record.getBatchCode() + "_" + record.getLocationCode(); BigDecimal currentBalance = balanceMap.getOrDefault(key, BigDecimal.ZERO); diff --git a/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsInventoryMapper.xml b/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsInventoryMapper.xml index 9aaa2ae9..b7f6db2b 100644 --- a/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsInventoryMapper.xml +++ b/ruoyi-modules/hwmom-wms/src/main/resources/mapper/wms/WmsInventoryMapper.xml @@ -154,9 +154,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND ir.create_time <= #{bo.endDate} - - AND '1' = #{bo.changeType} - ORDER BY ir.create_time ASC @@ -212,9 +209,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND ors.create_time <= #{bo.endDate} - + ORDER BY ors.create_time ASC @@ -263,9 +260,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND icr.create_time <= #{bo.endDate} - - AND '5' = #{bo.changeType} - + ORDER BY icr.create_time ASC @@ -318,9 +315,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND ro.create_time <= #{bo.endDate} - + ORDER BY ro.create_time ASC @@ -368,9 +365,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND ht.create_time <= #{bo.endDate} - + ORDER BY ht.create_time ASC