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,14 +572,17 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont | ||
572 | } | 572 | } |
573 | 573 | ||
574 | List<InventoryDetail> inventoryList = shippingCombinationService.getInventorys(item, true, false, false); | 574 | List<InventoryDetail> inventoryList = shippingCombinationService.getInventorys(item, true, false, false); |
575 | - //去除已锁的库存 | 575 | + //去除已锁的库存列表 |
576 | ArrayList<InventoryDetail> removeInventoryList = new ArrayList<>(); | 576 | ArrayList<InventoryDetail> removeInventoryList = new ArrayList<>(); |
577 | + //获取未完成的任务列表 | ||
577 | List<TaskHeader> taskHeaderList = taskHeaderService.getUnCompleteTaskList(); | 578 | List<TaskHeader> taskHeaderList = taskHeaderService.getUnCompleteTaskList(); |
579 | + //获取未完成的入库组盘列表 | ||
578 | List<ReceiptContainerHeader> receiptContainerHeaderList = receiptContainerHeaderService.getUnCompleteCombineList(); | 580 | List<ReceiptContainerHeader> receiptContainerHeaderList = receiptContainerHeaderService.getUnCompleteCombineList(); |
579 | boolean lock = false; | 581 | boolean lock = false; |
580 | for (InventoryDetail inventoryDetail : inventoryList) { | 582 | for (InventoryDetail inventoryDetail : inventoryList) { |
581 | Container container = containerService.getOne(new LambdaQueryWrapper<Container>().eq(Container::getCode, inventoryDetail.getContainerCode())); | 583 | Container container = containerService.getOne(new LambdaQueryWrapper<Container>().eq(Container::getCode, inventoryDetail.getContainerCode())); |
582 | if (QuantityConstant.STATUS_CONTAINER_LOCK.equals(container.getStatus())) { | 584 | if (QuantityConstant.STATUS_CONTAINER_LOCK.equals(container.getStatus())) { |
585 | + //托盘锁定的 | ||
583 | removeInventoryList.add(inventoryDetail); | 586 | removeInventoryList.add(inventoryDetail); |
584 | lock = true; | 587 | lock = true; |
585 | } | 588 | } |
@@ -603,14 +606,14 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont | @@ -603,14 +606,14 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont | ||
603 | return AjaxResult.error("'物料名称:" + item.getMaterialName() + ",物料编码:" + item.getMaterialCode() + "' 所在托盘全部处于锁定状态,请完成或取消任务后再进行组盘"); | 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 | if (inventoryList.isEmpty()) { | 617 | if (inventoryList.isEmpty()) { |
615 | num = num + 1; | 618 | num = num + 1; |
616 | } else { | 619 | } else { |
@@ -620,16 +623,16 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont | @@ -620,16 +623,16 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont | ||
620 | break; | 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 | BigDecimal inventoryQty = inventory.getQty().subtract(inventory.getTaskQty()); | 636 | BigDecimal inventoryQty = inventory.getQty().subtract(inventory.getTaskQty()); |
634 | ShipmentCombinationModel shipmentCombination = new ShipmentCombinationModel(); | 637 | ShipmentCombinationModel shipmentCombination = new ShipmentCombinationModel(); |
635 | shipmentCombination.setInventoryDetailId(inventory.getId()); | 638 | shipmentCombination.setInventoryDetailId(inventory.getId()); |
@@ -642,8 +645,10 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont | @@ -642,8 +645,10 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont | ||
642 | } else { | 645 | } else { |
643 | shipmentCombination.setShipQty(inventoryQty); | 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 | shipmentQty = shipmentQty.subtract(shipmentCombination.getShipQty()); | 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,10 +109,10 @@ public class UserController extends BaseController { | ||
109 | if (StringUtils.isNotNull(user.getId()) && User.unAdmin(user.getId())) { | 109 | if (StringUtils.isNotNull(user.getId()) && User.unAdmin(user.getId())) { |
110 | return error("不允许修改超级管理员用户"); | 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 | AjaxResult ajaxResult = toAjax(userService.insertUser(user)); | 116 | AjaxResult ajaxResult = toAjax(userService.insertUser(user)); |
117 | return ajaxResult; | 117 | return ajaxResult; |
118 | } | 118 | } |
@@ -142,10 +142,10 @@ public class UserController extends BaseController { | @@ -142,10 +142,10 @@ public class UserController extends BaseController { | ||
142 | if (StringUtils.isNotNull(user.getId()) && User.unAdmin(user.getId())) { | 142 | if (StringUtils.isNotNull(user.getId()) && User.unAdmin(user.getId())) { |
143 | return error("不允许修改超级管理员用户"); | 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 | AjaxResult ajaxResult = toAjax(userService.updateUser(user)); | 149 | AjaxResult ajaxResult = toAjax(userService.updateUser(user)); |
150 | 150 | ||
151 | if (ShiroUtils.getLoginName().equals(user.getUserName())) { | 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,7 +366,9 @@ public class ShipmentTaskService { | ||
366 | if (inventoryDetails != null && !inventoryDetails.isEmpty()) { | 366 | if (inventoryDetails != null && !inventoryDetails.isEmpty()) { |
367 | for (InventoryDetail inventoryDetail : inventoryDetails) { | 367 | for (InventoryDetail inventoryDetail : inventoryDetails) { |
368 | inventoryDetail.setLocationCode(task.getToLocation()); | 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,7 +378,7 @@ public class ShipmentTaskService { | ||
376 | for (TaskDetail taskDetail : taskDetails) { | 378 | for (TaskDetail taskDetail : taskDetails) { |
377 | if (taskDetail.getStatus() < QuantityConstant.TASK_STATUS_RUNNING) { | 379 | if (taskDetail.getStatus() < QuantityConstant.TASK_STATUS_RUNNING) { |
378 | materialCodes.add(taskDetail.getMaterialCode()); | 380 | materialCodes.add(taskDetail.getMaterialCode()); |
379 | - //获取出库子货箱 | 381 | + //获取出库组盘明细 |
380 | ShipmentContainerDetail shipmentContainerDetail = shipmentContainerDetailService.getById(taskDetail.getAllocationId()); | 382 | ShipmentContainerDetail shipmentContainerDetail = shipmentContainerDetailService.getById(taskDetail.getAllocationId()); |
381 | //获取对应库存记录 | 383 | //获取对应库存记录 |
382 | InventoryDetail inventoryDetail = inventoryDetailService.getById(taskDetail.getToInventoryId()); | 384 | InventoryDetail inventoryDetail = inventoryDetailService.getById(taskDetail.getToInventoryId()); |