Browse Source

中心仓入库明细导入增加库区与批次号

liyuan 3 weeks ago
parent
commit
e131fe9472

+ 14 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/entity/PjOrderItems.java

@@ -393,4 +393,18 @@ public class PjOrderItems implements Serializable {
 	 */
 	@ApiModelProperty(value = "退款类型")
 	private String refundType;
+
+
+	/**
+	 * 库区id
+	 */
+	@TableField(exist = false)
+	private Long regionId;
+
+	/**
+	 * 库区名称
+	 */
+	@TableField(exist = false)
+	private String regionName;
+
 }

+ 12 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/excel/ShipItemImportXSCodeExcel.java

@@ -38,4 +38,16 @@ public class ShipItemImportXSCodeExcel implements Serializable {
 	@ExcelProperty(value = "单价")
 	private BigDecimal price;
 
+	/**
+	 * 库区
+	 */
+	@ExcelProperty("库区")
+	private String regionName;
+
+	/**
+	 * 批次号
+	 */
+	@ExcelProperty("批次号")
+	private String dot;
+
 }

+ 0 - 13
blade-service-api/tire-center-warehouse-api/src/main/java/com/ecp/tire/center/warehouse/api/plan/entity/CenterOrderPlan.java

@@ -1,6 +1,5 @@
 package com.ecp.tire.center.warehouse.api.plan.entity;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
@@ -285,16 +284,4 @@ public class CenterOrderPlan implements Serializable {
 	private String shortcutJoin;
 
 
-	/**
-	 *  品牌
-	 */
-	@TableField(exist = false)
-	private String b1name;
-
-	/**
-	 * 规格型号
-	 */
-	@TableField(exist = false)
-	private String p1name;
-
 }

+ 9 - 1
blade-service-api/tire-center-warehouse-api/src/main/java/com/ecp/tire/center/warehouse/api/plan/vo/CenterOrderPlanVo.java

@@ -1,6 +1,5 @@
 package com.ecp.tire.center.warehouse.api.plan.vo;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.ecp.tire.center.warehouse.api.plan.entity.CenterOrderPlan;
 import com.ecp.tire.center.warehouse.api.plan.entity.CenterOrderPlanItem;
 import com.ecp.tire.center.warehouse.api.ship.entity.CenterShipCost;
@@ -150,4 +149,13 @@ public class CenterOrderPlanVo extends CenterOrderPlan {
 
 	private Integer isAdmin;
 
+	/**
+	 *  品牌
+	 */
+	private String brand;
+
+	/**
+	 * 规格型号
+	 */
+	private String propertyName;
 }

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

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

+ 20 - 5
blade-service/tire-center-warehouse/src/main/java/com/ecp/tire/center/warehouse/plan/impl/CenterOrderPlanServiceImpl.java

@@ -10,6 +10,7 @@ import com.ecp.tire.center.warehouse.api.ship.entity.CenterShip;
 import com.ecp.tire.center.warehouse.api.ship.entity.CenterShipCost;
 import com.ecp.tire.center.warehouse.api.stock.entity.CenterStockDesc;
 import com.ecp.tire.center.warehouse.api.stock.vo.CenterExportPlanInVo;
+import com.ecp.tire.center.warehouse.api.storage.entity.CenterStorageRegion;
 import com.ecp.tire.center.warehouse.api.storage.vo.PlanAuditVo;
 import com.ecp.tire.center.warehouse.pagehelper.PageHelperUtil;
 import com.ecp.tire.center.warehouse.plan.mapper.CenterOrderPlanItemMapper;
@@ -19,6 +20,7 @@ import com.ecp.tire.center.warehouse.plan.service.ICenterOrderPlanService;
 import com.ecp.tire.center.warehouse.ship.service.ICenterShipCostService;
 import com.ecp.tire.center.warehouse.ship.service.ICenterShipService;
 import com.ecp.tire.center.warehouse.stock.service.ICenterStockDescService;
+import com.ecp.tire.center.warehouse.storage.mapper.CenterStorageRegionMapper;
 import com.ecp.tire.center.warehouse.util.BillCodeUtil;
 import com.github.pagehelper.PageHelper;
 import org.springblade.common.enums.CenterTypeEnum;
@@ -58,7 +60,6 @@ public class CenterOrderPlanServiceImpl extends ServiceImpl<CenterOrderPlanMappe
 
 	private final CenterOrderPlanItemMapper centerOrderPlanItemMapper;
 
-
 	private final IPJCorpClient corpClient;
 
 	private final ICenterOrderPlanItemService centerOrderPlanItemService;
@@ -73,11 +74,14 @@ public class CenterOrderPlanServiceImpl extends ServiceImpl<CenterOrderPlanMappe
 
 	private final IPJCorpClient pjCorpClient;
 
+	private final CenterStorageRegionMapper centerStorageRegionMapper;
+
 
 	public CenterOrderPlanServiceImpl(CenterOrderPlanItemMapper centerOrderPlanItemMapper, IPJCorpClient corpClient,
 									  ICenterOrderPlanItemService centerOrderPlanItemService, ISysClient sysClient,
 									  ICenterShipService centerShipService, ICenterShipCostService centerShipCostService,
-									  ICenterStockDescService centerStockDescService, IPJCorpClient pjCorpClient) {
+									  ICenterStockDescService centerStockDescService, IPJCorpClient pjCorpClient,
+									  CenterStorageRegionMapper centerStorageRegionMapper) {
 		this.centerOrderPlanItemMapper = centerOrderPlanItemMapper;
 		this.corpClient = corpClient;
 		this.centerOrderPlanItemService = centerOrderPlanItemService;
@@ -86,7 +90,7 @@ public class CenterOrderPlanServiceImpl extends ServiceImpl<CenterOrderPlanMappe
 		this.pjCorpClient = pjCorpClient;
 		this.centerShipCostService = centerShipCostService;
 		this.centerStockDescService = centerStockDescService;
-
+		this.centerStorageRegionMapper = centerStorageRegionMapper;
 	}
 
 
@@ -377,7 +381,7 @@ public class CenterOrderPlanServiceImpl extends ServiceImpl<CenterOrderPlanMappe
 	}
 
 	@Override
-	public R importCenterPlanItemCode(List<ShipItemImportXSCodeExcel> excelList) {
+	public R importCenterPlanItemCode(List<ShipItemImportXSCodeExcel> excelList, Long storageId) {
 		List<PjOrderItems> list = new ArrayList<>();
 		List<String> codesList = excelList.stream().map(ShipItemImportXSCodeExcel::getCode).distinct()
 			.filter(Objects::nonNull).collect(Collectors.toList());
@@ -389,6 +393,11 @@ public class CenterOrderPlanServiceImpl extends ServiceImpl<CenterOrderPlanMappe
 		if (CollectionUtils.isEmpty(goodsDescList)) {
 			return R.fail("未找到商品数据,请核实后重试");
 		}
+		List<CenterStorageRegion> storageRegionList = centerStorageRegionMapper.selectList(new LambdaQueryWrapper<CenterStorageRegion>()
+			.eq(CenterStorageRegion::getTenantId, bladeUser.getTenantId()).eq(CenterStorageRegion::getIsDeleted, 0).eq(CenterStorageRegion::getParentId, storageId));
+		if (CollectionUtils.isEmpty(storageRegionList)) {
+			return R.fail("未在选择的仓库中找到库区数据,请核实后重试");
+		}
 		StringBuilder text = new StringBuilder();
 		int itemNum = 0;
 		for (ShipItemImportXSCodeExcel excelItem : excelList) {
@@ -402,6 +411,7 @@ public class CenterOrderPlanServiceImpl extends ServiceImpl<CenterOrderPlanMappe
 				text.append("第").append(itemNum).append("行,数量为空").append("\n");
 				add = false;
 			}
+			CenterStorageRegion storageRegion = storageRegionList.stream().filter(item -> item.getRegionName().equals(excelItem.getRegionName())).findFirst().orElse(null);
 			PjOrderItems item = new PjOrderItems();
 			item.setGoodsNum(excelItem.getGoodsNum());
 			item.setGoodsNo(excelItem.getCode());
@@ -421,6 +431,11 @@ public class CenterOrderPlanServiceImpl extends ServiceImpl<CenterOrderPlanMappe
 			item.setGoodsDescription(goodsDesc.getGoodsDescription());
 			item.setPattern(goodsDesc.getBrandItem());
 			item.setSendNum(BigDecimal.ZERO);
+			item.setDot(excelItem.getDot());
+			if (storageRegion != null) {
+				item.setRegionId(storageRegion.getId());
+				item.setRegionName(storageRegion.getRegionName());
+			}
 			if (add) {
 				list.add(item);
 			}
@@ -433,7 +448,7 @@ public class CenterOrderPlanServiceImpl extends ServiceImpl<CenterOrderPlanMappe
 		BladeUser bladeUser = AuthUtil.getUser();
 		centerOrderPlanVo.setCreateUser(bladeUser.getUserId());
 		centerOrderPlanVo.setCreateDept(Long.valueOf(bladeUser.getDeptId()));
-		centerOrderPlanVo.setIsAdmin(AuthUtil.isAdmin() ? 0: 1);
+		// centerOrderPlanVo.setIsAdmin(AuthUtil.isAdmin() ? 0: 1);
 		return baseMapper.exportPlanInData(centerOrderPlanVo);
 	}
 

+ 12 - 4
blade-service/tire-center-warehouse/src/main/java/com/ecp/tire/center/warehouse/plan/mapper/CenterOrderPlanMapper.xml

@@ -51,6 +51,7 @@
     <select id="exportPlanInData" resultType="com.ecp.tire.center.warehouse.api.stock.vo.CenterExportPlanInVo"
             parameterType="com.ecp.tire.center.warehouse.api.plan.vo.CenterOrderPlanVo">
         SELECT
+            distinct
         cop.ord_no as planNo,
         cop.status as statusName,
         cop.goods_total_num as totalNum,
@@ -99,10 +100,17 @@
             and cop.create_user = #{createUser}
             and (cop.create_dept = #{createDept} or cop.warehouse_keeper = #{createUser})
         </if>
+        <if test="brand != null and brand != ''">
+            AND copi.brand_name LIKE CONCAT('%', #{brand}, '%')
+        </if>
+        <if test="propertyName != null and propertyName != ''">
+            AND copi.property_name LIKE CONCAT('%', #{propertyName}, '%')
+        </if>
         order by cop.id desc
     </select>
     <select id="getCenterPlanPageList" resultMap="orderPlanMap" parameterType="com.ecp.tire.center.warehouse.api.plan.vo.CenterOrderPlanVo">
         SELECT
+            distinct
         cop.*
         FROM
         center_order_plan cop
@@ -131,11 +139,11 @@
         <if test="ordNo != null and ordNo != ''">
             AND cop.ord_no LIKE CONCAT('%', #{ordNo}, '%')
         </if>
-        <if test="b1name != null and b1name != ''">
-            AND copi.brand_name LIKE CONCAT('%', #{b1name}, '%')
+        <if test="brand != null and brand != ''">
+            AND copi.brand_name LIKE CONCAT('%', #{brand}, '%')
         </if>
-        <if test="p1name != null and p1name != ''">
-            AND copi.property_name LIKE CONCAT('%', #{p1name}, '%')
+        <if test="propertyName != null and propertyName != ''">
+            AND copi.property_name LIKE CONCAT('%', #{propertyName}, '%')
         </if>
         <if test="businesDateList != null and businesDateList.size() > 0">
             AND cop.busines_date >= #{businesDateList[0]}

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

@@ -72,9 +72,10 @@ public interface ICenterOrderPlanService extends IService<CenterOrderPlan> {
 	 * 导入入库明细
 	 *
 	 * @param excelList 入库明细
+	 * @param storageId 仓库id
 	 * @return 结果
 	 */
-	R importCenterPlanItemCode(List<ShipItemImportXSCodeExcel> excelList);
+	R importCenterPlanItemCode(List<ShipItemImportXSCodeExcel> excelList, Long storageId);
 
 
 	/**