Browse Source

中心仓导出、库区禁用问题优化

liyuan 3 months ago
parent
commit
0c5964f1cb

+ 9 - 1
blade-service/tire-center-warehouse/src/main/java/com/ecp/tire/center/warehouse/plan/controller/CenterOrderPlanController.java

@@ -120,11 +120,19 @@ public class CenterOrderPlanController{
 	}
 
 
+	/**
+	 * 导出模板
+	 */
+	@GetMapping("/exportPlanTemplate")
+	public void exportPlanTemplate(HttpServletResponse response) {
+		ExcelUtil.export(response, "导入模板-入库信息(code)", "导入模板-入库信息(code)", null, ShipItemImportXSCodeExcel.class);
+	}
+
 	@PostMapping("/import-item-code")
 	@ApiOperationSupport(order = 13)
 	@ApiOperation(value = "入库明细导入", notes = "传入excel")
 	@RepeatSubmit
-	public R importItemCode(@RequestParam("file") MultipartFile file, @RequestParam("storageId") Long storageId) {
+	public R importItemCode(@RequestParam("file") MultipartFile file) {
 		List<ShipItemImportXSCodeExcel> excelList = ExcelUtil.read(file, ShipItemImportXSCodeExcel.class);
 		if (CollectionUtils.isEmpty(excelList)) {
 			throw new SecurityException("数据不能为空");

+ 3 - 3
blade-service/tire-center-warehouse/src/main/java/com/ecp/tire/center/warehouse/stock/controller/CenterStockDescController.java

@@ -145,12 +145,12 @@ public class CenterStockDescController {
 	/**
 	 * 出库明细导入
 	 */
-	@PostMapping("/import-item-code")
+	@PostMapping("/import-item-code/{storageId}")
 	@RepeatSubmit
-	public R importItemCode(@RequestParam("file") MultipartFile file) {
+	public R importItemCode(@RequestParam("file") MultipartFile file, @PathVariable("storageId") Long storageId) {
 		//导入数据
 		List<CenterStockImportCodeExcel> excelList = ExcelUtil.read(file, CenterStockImportCodeExcel.class);
-		return centerStockDescService.importItemCode(excelList);
+		return centerStockDescService.importItemCode(excelList, storageId);
 	}
 
 

+ 2 - 2
blade-service/tire-center-warehouse/src/main/java/com/ecp/tire/center/warehouse/stock/impl/CenterStockDescServiceImpl.java

@@ -103,7 +103,7 @@ public class CenterStockDescServiceImpl extends ServiceImpl<CenterStockDescMappe
 	}
 
 	@Override
-	public R importItemCode(List<CenterStockImportCodeExcel> excelList) {
+	public R importItemCode(List<CenterStockImportCodeExcel> excelList, Long storageId) {
 		if (CollectionUtils.isEmpty(excelList)) {
 			return R.fail("导入数据不能为空");
 		}
@@ -118,7 +118,7 @@ public class CenterStockDescServiceImpl extends ServiceImpl<CenterStockDescMappe
 		lambdaQueryWrapper.eq(CenterStockDesc::getTenantId, bladeUser.getTenantId())
 			.eq(CenterStockDesc::getIsDeleted, 0)
 			// 需前端传仓库
-			.eq(CenterStockDesc::getStorageId, 0)
+			.eq(CenterStockDesc::getStorageId, storageId)
 			.in(CenterStockDesc::getCode, excelList.stream().map(CenterStockImportCodeExcel::getCode).filter(StringUtils::hasText).distinct().collect(Collectors.toList()));
 		List<CenterStockDesc> centerStockDescList = baseMapper.selectList(lambdaQueryWrapper);
 		StringBuilder text = new StringBuilder();

+ 2 - 1
blade-service/tire-center-warehouse/src/main/java/com/ecp/tire/center/warehouse/stock/service/ICenterStockDescService.java

@@ -42,9 +42,10 @@ public interface ICenterStockDescService extends IService<CenterStockDesc> {
 	 * 出库商品明细导入
 	 *
 	 * @param excelList 导入数据
+	 * @param storageId 仓库id
 	 * @return 结果
 	 */
-	R importItemCode(List<CenterStockImportCodeExcel> excelList);
+	R importItemCode(List<CenterStockImportCodeExcel> excelList, Long storageId);
 
 	/**
 	 * 获取库存商品明细

+ 13 - 5
blade-service/tire-center-warehouse/src/main/java/com/ecp/tire/center/warehouse/storage/controller/CenterStorageRegionController.java

@@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.Date;
+import java.util.Objects;
 
 /**
  * 中心仓库区 控制器
@@ -117,11 +118,13 @@ public class CenterStorageRegionController{
 			centerStorageRegion.setUpdateUser(bladeUser.getUserId());
 			centerStorageRegion.setUpdateTime(new Date());
 		}
-		int count = centerOrderPlanItemService.count(new LambdaQueryWrapper<CenterOrderPlanItem>()
-			.eq(CenterOrderPlanItem::getRegionId, centerStorageRegion.getParentId())
-			.eq(CenterOrderPlanItem::getTenantId, bladeUser.getTenantId()).eq(CenterOrderPlanItem::getIsDeleted, NumberEnum.Zero.number));
-		if (count > 0) {
-			return R.fail("该库区已被使用,无法新增子区域");
+		if (Objects.isNull(centerStorageRegion.getId())) {
+			int count = centerOrderPlanItemService.count(new LambdaQueryWrapper<CenterOrderPlanItem>()
+				.eq(CenterOrderPlanItem::getRegionId, centerStorageRegion.getParentId())
+				.eq(CenterOrderPlanItem::getTenantId, bladeUser.getTenantId()).eq(CenterOrderPlanItem::getIsDeleted, NumberEnum.Zero.number));
+			if (count > 0) {
+				return R.fail("该库区已被使用,无法新增子区域");
+			}
 		}
 		boolean success = centerStorageRegionService.saveOrUpdate(centerStorageRegion);
 		if (!success) {
@@ -153,4 +156,9 @@ public class CenterStorageRegionController{
 		return R.data(centerStorageRegionService.getRegionSelected(storageId));
 	}
 
+	@PostMapping("/disabledStorageRegion")
+	public R disabledStorageRegion(@RequestParam("id") Long id) {
+		return centerStorageRegionService.disabledStorageRegion(id);
+	}
+
 }

+ 18 - 0
blade-service/tire-center-warehouse/src/main/java/com/ecp/tire/center/warehouse/storage/impl/CenterStorageRegionServiceImpl.java

@@ -14,6 +14,7 @@ import lombok.AllArgsConstructor;
 import org.springblade.common.enums.NumberEnum;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.util.CollectionUtils;
@@ -78,6 +79,23 @@ public class CenterStorageRegionServiceImpl extends ServiceImpl<CenterStorageReg
 			}).collect(Collectors.toList());
 	}
 
+	@Override
+	public R disabledStorageRegion(Long id) {
+		BladeUser bladeUser = AuthUtil.getUser();
+		int sonsCount = baseMapper.selectCount(new LambdaQueryWrapper<CenterStorageRegion>()
+			.eq(CenterStorageRegion::getTenantId, bladeUser.getTenantId()).eq(CenterStorageRegion::getIsDeleted, NumberEnum.Zero.number)
+			.eq(CenterStorageRegion::getParentId, id));
+		if (sonsCount > 0) {
+			return R.fail("请先删除该库区下的所有子库区");
+		}
+		CenterStorageRegion updateStorageRegion = new CenterStorageRegion();
+		updateStorageRegion.setId(id);
+		updateStorageRegion.setStatus(NumberEnum.Zero.number);
+		updateStorageRegion.setUpdateUser(bladeUser.getUserId());
+		updateStorageRegion.setUpdateTime(new Date());
+		return R.status(baseMapper.updateById(updateStorageRegion) > 0);
+	}
+
 	private List<StorageRegionTreeVo> getChildrenData(Long id, List<CenterStorageRegion> centerStorageRegionList){
 		List<CenterStorageRegion> storageRegionList = centerStorageRegionList.stream().filter(storageRegion -> storageRegion.getParentId().equals(id)).collect(Collectors.toList());
 		if (CollectionUtils.isEmpty(storageRegionList)) {

+ 9 - 0
blade-service/tire-center-warehouse/src/main/java/com/ecp/tire/center/warehouse/storage/service/ICenterStorageRegionService.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ecp.tire.center.warehouse.api.storage.entity.CenterStorageRegion;
 import com.ecp.tire.center.warehouse.api.storage.vo.CenterStorageRegionVo;
 import com.ecp.tire.center.warehouse.api.storage.vo.StorageRegionTreeVo;
+import org.springblade.core.tool.api.R;
 
 import java.util.List;
 
@@ -41,4 +42,12 @@ public interface ICenterStorageRegionService extends IService<CenterStorageRegio
 	 * @return 结果
 	 */
 	List<CenterStorageRegion> getRegionSelected(Long storageId);
+
+	/**
+	 * 禁用仓库区
+	 *
+	 * @param id 库区id
+	 * @return 结果
+	 */
+	R disabledStorageRegion(Long id);
 }