Commit 121d18ed55ec4c1e38c0c95b877beb3c2201cfa1
1 parent
aa5f9cb3
feat:入库时不同的原仓库,物料不能入到同一个托盘内
Showing
3 changed files
with
31 additions
and
0 deletions
src/main/java/com/huaheng/framework/config/ShiroConfig.java
... | ... | @@ -274,6 +274,15 @@ public class ShiroConfig { |
274 | 274 | filterChainDefinitionMap.put("/manager/**", "anon"); |
275 | 275 | filterChainDefinitionMap.put("/API/WMS/v2/**", "anon"); |
276 | 276 | filterChainDefinitionMap.put("/mobile/receipt/batch/**", "anon"); |
277 | + | |
278 | + //todo pda出入库查询,测试后注释 | |
279 | + filterChainDefinitionMap.put("/receipt/receiptHeader/listPda", "anon"); | |
280 | + filterChainDefinitionMap.put("/receipt/receiptDetail/list", "anon"); | |
281 | + filterChainDefinitionMap.put("/task/taskHeader/getTaskByTaskId", "anon"); | |
282 | + filterChainDefinitionMap.put("/task/taskHeader/getTaskByShipmentCode", "anon"); | |
283 | + filterChainDefinitionMap.put("/mobile/inventory/completeTaskListByWMS", "anon"); | |
284 | + | |
285 | + | |
277 | 286 | // 系统权限列表 |
278 | 287 | // filterChainDefinitionMap.putAll(SpringUtils.getBean(IMenuService.class).selectPermsAll()); |
279 | 288 | |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
... | ... | @@ -107,6 +107,9 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
107 | 107 | return AjaxResult.error("不允许超收"); |
108 | 108 | } |
109 | 109 | |
110 | + //入库时不同的原仓库,物料不能入到同一个托盘内 | |
111 | + checkWarehouse(receiptCode, containerCode); | |
112 | + | |
110 | 113 | //检查容器编码合法性 |
111 | 114 | Integer taskType = checkContainer(containerCode, detail.getMaterialCode()); |
112 | 115 | if (taskType == 1) { |
... | ... | @@ -232,6 +235,20 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
232 | 235 | return ajaxResult; |
233 | 236 | } |
234 | 237 | |
238 | + //入库时不同的原仓库,物料不能入到同一个托盘内 | |
239 | + private void checkWarehouse(String receiptCode, String containerCode) { | |
240 | + String warehouse = receiptHeaderService.getReceiptHeaderByCode(receiptCode).getWarehouse(); | |
241 | + if (StringUtils.isNotBlank(warehouse)) { | |
242 | + List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(new LambdaQueryWrapper<InventoryDetail>().eq(InventoryDetail::getContainerCode, containerCode)); | |
243 | + if (!inventoryDetailList.isEmpty()) { | |
244 | + String inventoryDetailWarehouse = inventoryDetailList.get(0).getWarehouse(); | |
245 | + if (!inventoryDetailWarehouse.equals(warehouse)) { | |
246 | + throw new ServiceException("入库时不同的原仓库:" + receiptCode + ",物料不能入到同一个托盘内:" + inventoryDetailWarehouse); | |
247 | + } | |
248 | + } | |
249 | + } | |
250 | + } | |
251 | + | |
235 | 252 | @Transactional(rollbackFor = Exception.class) |
236 | 253 | @Override |
237 | 254 | public AjaxResult flatSaveContainer(String receiptCode, Integer receiptDetailId, String locationType, BigDecimal qty) { |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptHeader/service/ReceiptHeaderService.java
... | ... | @@ -67,6 +67,11 @@ public class ReceiptHeaderService extends ServiceImpl<ReceiptHeaderMapper, Recei |
67 | 67 | @Resource |
68 | 68 | private InventoryTransactionService inventoryTransactionService; |
69 | 69 | |
70 | + | |
71 | + public ReceiptHeader getReceiptHeaderByCode(String receiptCode) { | |
72 | + return getOne(new LambdaQueryWrapper<ReceiptHeader>().eq(ReceiptHeader::getCode, receiptCode)); | |
73 | + } | |
74 | + | |
70 | 75 | /** |
71 | 76 | * 保存入库单 |
72 | 77 | * |
... | ... |