Commit acd22bf64a9259e0a3d400706c4634b9a59bf003

Authored by 易文鹏
1 parent f6d51d9c

feat:一个用户允许有多个角色

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&lt;ShipmentCont @@ -603,14 +606,14 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;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&lt;ShipmentCont @@ -620,16 +623,16 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;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&lt;ShipmentCont @@ -642,8 +645,10 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;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());