Commit acd22bf64a9259e0a3d400706c4634b9a59bf003
1 parent
f6d51d9c
feat:一个用户允许有多个角色
Showing
4 changed files
with
61 additions
and
31 deletions
src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/vo/Test.java
0 → 100644
1 | +package com.huaheng.pc.inventory.inventoryTransaction.domain.vo; | |
2 | + | |
3 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
4 | + | |
5 | +import java.io.IOException; | |
6 | +import java.io.StringReader; | |
7 | + | |
8 | +public class Test { | |
9 | + public static InventoryRankVO deserializeInventoryRankVO(String jsonString) throws IOException { | |
10 | + ObjectMapper objectMapper = new ObjectMapper(); | |
11 | + return objectMapper.readValue(new StringReader(jsonString), InventoryRankVO.class); | |
12 | + } | |
13 | + | |
14 | + public static void main(String[] args) throws IOException { | |
15 | + String jsonString = "{\"materialCode\":\"SW035-S-02T25\",\"inQty\":88,\"outQty\":396,\"materialName\":\"内胎\",\"materialSpec\":\"焊接件\",\"materialUnit\":\"件\"}"; | |
16 | + | |
17 | + InventoryRankVO inventoryRankVO = deserializeInventoryRankVO(jsonString); | |
18 | + | |
19 | + System.out.println("Material Code: " + inventoryRankVO.getMaterialCode()); | |
20 | + System.out.println("In Quantity: " + inventoryRankVO.getInQty()); | |
21 | + System.out.println("Out Quantity: " + inventoryRankVO.getOutQty()); | |
22 | + } | |
23 | +} | |
... | ... |
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
... | ... | @@ -572,14 +572,17 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
572 | 572 | } |
573 | 573 | |
574 | 574 | List<InventoryDetail> inventoryList = shippingCombinationService.getInventorys(item, true, false, false); |
575 | - //去除已锁的库存 | |
575 | + //去除已锁的库存列表 | |
576 | 576 | ArrayList<InventoryDetail> removeInventoryList = new ArrayList<>(); |
577 | + //获取未完成的任务列表 | |
577 | 578 | List<TaskHeader> taskHeaderList = taskHeaderService.getUnCompleteTaskList(); |
579 | + //获取未完成的入库组盘列表 | |
578 | 580 | List<ReceiptContainerHeader> receiptContainerHeaderList = receiptContainerHeaderService.getUnCompleteCombineList(); |
579 | 581 | boolean lock = false; |
580 | 582 | for (InventoryDetail inventoryDetail : inventoryList) { |
581 | 583 | Container container = containerService.getOne(new LambdaQueryWrapper<Container>().eq(Container::getCode, inventoryDetail.getContainerCode())); |
582 | 584 | if (QuantityConstant.STATUS_CONTAINER_LOCK.equals(container.getStatus())) { |
585 | + //托盘锁定的 | |
583 | 586 | removeInventoryList.add(inventoryDetail); |
584 | 587 | lock = true; |
585 | 588 | } |
... | ... | @@ -603,14 +606,14 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
603 | 606 | return AjaxResult.error("'物料名称:" + item.getMaterialName() + ",物料编码:" + item.getMaterialCode() + "' 所在托盘全部处于锁定状态,请完成或取消任务后再进行组盘"); |
604 | 607 | } |
605 | 608 | |
606 | - //if (inventoryList.isEmpty() && item.getWaveId() != 0) { | |
607 | - // Wave wave = waveService.getById(item.getWaveId()); | |
608 | - // wave.setStatus(QuantityConstant.WAVE_STATUS_ERROR); | |
609 | - // wave.setCurrentWaveStep(QuantityConstant.WAVE_STEP_ERROR); | |
610 | - // wave.setLastWaveStep(QuantityConstant.WAVE_STEP_BUILD); | |
611 | - // waveService.updateById(wave); | |
612 | - // throw new ServiceException("主单为" + item.getShipmentCode() + "子单id为" + item.getId() + "的单据没有库存,波次失败"); | |
613 | - //} | |
609 | + if (inventoryList.isEmpty() && item.getWaveId() != 0) { | |
610 | + Wave wave = waveService.getById(item.getWaveId()); | |
611 | + wave.setStatus(QuantityConstant.WAVE_STATUS_ERROR); | |
612 | + wave.setCurrentWaveStep(QuantityConstant.WAVE_STEP_ERROR); | |
613 | + wave.setLastWaveStep(QuantityConstant.WAVE_STEP_BUILD); | |
614 | + waveService.updateById(wave); | |
615 | + throw new ServiceException("主单为" + item.getShipmentCode() + "子单id为" + item.getId() + "的单据没有库存,波次失败"); | |
616 | + } | |
614 | 617 | if (inventoryList.isEmpty()) { |
615 | 618 | num = num + 1; |
616 | 619 | } else { |
... | ... | @@ -620,16 +623,16 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
620 | 623 | break; |
621 | 624 | } |
622 | 625 | |
623 | - if (inventory.getLocationCode().startsWith("K05") || inventory.getLocationCode().startsWith("K06") || | |
624 | - inventory.getLocationCode().startsWith("K07") || inventory.getLocationCode().startsWith("K08")) { | |
625 | - String value = configService.getKey("shipmentTaskBy5RoadLimit"); | |
626 | - if (StringUtils.isNotEmpty(value)) { | |
627 | - if (taskHeaderService.getShipmentTaskBy5Road() > Integer.parseInt(value)) { | |
628 | - throw new ServiceException("5号巷道不能存在超过" + value + "个组盘和任务"); | |
629 | - } | |
630 | - } | |
631 | - | |
632 | - } | |
626 | + //if (inventory.getLocationCode().startsWith("K05") || inventory.getLocationCode().startsWith("K06") || | |
627 | + // inventory.getLocationCode().startsWith("K07") || inventory.getLocationCode().startsWith("K08")) { | |
628 | + // String value = configService.getKey("shipmentTaskBy5RoadLimit"); | |
629 | + // if (StringUtils.isNotEmpty(value)) { | |
630 | + // if (taskHeaderService.getShipmentTaskBy5Road() > Integer.parseInt(value)) { | |
631 | + // throw new ServiceException("5号巷道不能存在超过" + value + "个组盘和任务"); | |
632 | + // } | |
633 | + // } | |
634 | + // | |
635 | + //} | |
633 | 636 | BigDecimal inventoryQty = inventory.getQty().subtract(inventory.getTaskQty()); |
634 | 637 | ShipmentCombinationModel shipmentCombination = new ShipmentCombinationModel(); |
635 | 638 | shipmentCombination.setInventoryDetailId(inventory.getId()); |
... | ... | @@ -642,8 +645,10 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
642 | 645 | } else { |
643 | 646 | shipmentCombination.setShipQty(inventoryQty); |
644 | 647 | } |
645 | - ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.combination(shipmentCombination, isAutoShipment); | |
646 | - list.add(shipmentContainerHeader.getId()); | |
648 | + if (shipmentCombination.getShipQty().compareTo(new BigDecimal(0)) > 0) { | |
649 | + ShipmentContainerHeader shipmentContainerHeader = shipmentContainerHeaderService.combination(shipmentCombination, isAutoShipment); | |
650 | + list.add(shipmentContainerHeader.getId()); | |
651 | + } | |
647 | 652 | shipmentQty = shipmentQty.subtract(shipmentCombination.getShipQty()); |
648 | 653 | } |
649 | 654 | } |
... | ... |
src/main/java/com/huaheng/pc/system/user/controller/UserController.java
... | ... | @@ -109,10 +109,10 @@ public class UserController extends BaseController { |
109 | 109 | if (StringUtils.isNotNull(user.getId()) && User.unAdmin(user.getId())) { |
110 | 110 | return error("不允许修改超级管理员用户"); |
111 | 111 | } |
112 | - List<Integer> roleList = user.getRoleIds(); | |
113 | - if (roleList != null && roleList.size() > 1) { | |
114 | - return error("一个用户不允许有多个角色"); | |
115 | - } | |
112 | + //List<Integer> roleList = user.getRoleIds(); | |
113 | + //if (roleList != null && roleList.size() > 1) { | |
114 | + // return error("一个用户不允许有多个角色"); | |
115 | + //} | |
116 | 116 | AjaxResult ajaxResult = toAjax(userService.insertUser(user)); |
117 | 117 | return ajaxResult; |
118 | 118 | } |
... | ... | @@ -142,10 +142,10 @@ public class UserController extends BaseController { |
142 | 142 | if (StringUtils.isNotNull(user.getId()) && User.unAdmin(user.getId())) { |
143 | 143 | return error("不允许修改超级管理员用户"); |
144 | 144 | } |
145 | - List<Integer> roleList = user.getRoleIds(); | |
146 | - if (roleList != null && roleList.size() > 1) { | |
147 | - return error("一个用户不允许有多个角色"); | |
148 | - } | |
145 | + //List<Integer> roleList = user.getRoleIds(); | |
146 | + //if (roleList != null && roleList.size() > 1) { | |
147 | + // return error("一个用户不允许有多个角色"); | |
148 | + //} | |
149 | 149 | AjaxResult ajaxResult = toAjax(userService.updateUser(user)); |
150 | 150 | |
151 | 151 | if (ShiroUtils.getLoginName().equals(user.getUserName())) { |
... | ... |
src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
... | ... | @@ -366,7 +366,9 @@ public class ShipmentTaskService { |
366 | 366 | if (inventoryDetails != null && !inventoryDetails.isEmpty()) { |
367 | 367 | for (InventoryDetail inventoryDetail : inventoryDetails) { |
368 | 368 | inventoryDetail.setLocationCode(task.getToLocation()); |
369 | - inventoryDetailService.updateById(inventoryDetail); | |
369 | + if (!inventoryDetailService.updateById(inventoryDetail)) { | |
370 | + throw new ServiceException("完成出库任务,库存修改目标库位时失败" + inventoryDetail.getId()); | |
371 | + } | |
370 | 372 | } |
371 | 373 | } |
372 | 374 | } |
... | ... | @@ -376,7 +378,7 @@ public class ShipmentTaskService { |
376 | 378 | for (TaskDetail taskDetail : taskDetails) { |
377 | 379 | if (taskDetail.getStatus() < QuantityConstant.TASK_STATUS_RUNNING) { |
378 | 380 | materialCodes.add(taskDetail.getMaterialCode()); |
379 | - //获取出库子货箱 | |
381 | + //获取出库组盘明细 | |
380 | 382 | ShipmentContainerDetail shipmentContainerDetail = shipmentContainerDetailService.getById(taskDetail.getAllocationId()); |
381 | 383 | //获取对应库存记录 |
382 | 384 | InventoryDetail inventoryDetail = inventoryDetailService.getById(taskDetail.getToInventoryId()); |
... | ... |