From 1697b3079afb1fc7d2ce42a89bbd5add6aa2229a Mon Sep 17 00:00:00 2001 From: PigBaoBei <2739175034@qq.com> Date: Thu, 1 Feb 2024 18:58:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E8=B4=A7=E5=BA=93=E4=BD=8D=E5=8C=85?= =?UTF-8?q?=E4=BB=B6=E6=89=AB=E6=8F=8F=E6=8E=A5=E5=8F=A3=E3=80=81=E5=8C=85?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E6=9E=B6=E6=95=B0=E6=8D=AE=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/IDisStockListDetailClient.java | 7 +- .../distribution/vo/UpDownStockupAreaVO.java | 30 +++ .../WarehouseUpdownStockupAreaEntity.java | 91 +++++++ .../WarehouseUpdownStockupAreaLogEntity.java | 98 ++++++++ .../feign/DisStockListDetailClient.java | 12 + .../mapper/DisStockListDetailMapper.java | 11 + .../mapper/DisStockListDetailMapper.xml | 19 ++ .../service/IDisStockListDetailService.java | 9 + .../impl/DisStockListDetailServiceImpl.java | 12 + ...rehouseUpdownStockupAreaApiController.java | 128 ++++++++++ .../dto/UpStockupAreaPackageDTO.java | 54 +++++ .../logpm/warehouse/dto/UpdownTypeDTO.java | 2 + .../WarehouseUpdownStockupAreaLogMapper.java | 31 +++ .../WarehouseUpdownStockupAreaLogMapper.xml | 67 ++++++ .../WarehouseUpdownStockupAreaMapper.java | 41 ++++ .../WarehouseUpdownStockupAreaMapper.xml | 67 ++++++ .../IWarehouseTaryAllocationService.java | 2 + ...IWarehouseUpdownStockupAreaLogService.java | 33 +++ .../IWarehouseUpdownStockupAreaService.java | 60 +++++ ...ehouseUpdownStockupAreaLogServiceImpl.java | 67 ++++++ ...WarehouseUpdownStockupAreaServiceImpl.java | 227 ++++++++++++++++++ 21 files changed, 1067 insertions(+), 1 deletion(-) create mode 100644 blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/UpDownStockupAreaVO.java create mode 100644 blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaEntity.java create mode 100644 blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaLogEntity.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseUpdownStockupAreaApiController.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpStockupAreaPackageDTO.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaLogMapper.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaLogMapper.xml create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaMapper.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaMapper.xml create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaLogService.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaLogServiceImpl.java create mode 100644 blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDisStockListDetailClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDisStockListDetailClient.java index d55599a67..3ebb98ef0 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDisStockListDetailClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDisStockListDetailClient.java @@ -17,6 +17,8 @@ package com.logpm.distribution.feign; import com.logpm.distribution.entity.DisStockListDetailEntity; +import com.logpm.distribution.vo.UpDownStockupAreaVO; +import org.springblade.common.constant.ModuleNameConstant; import org.springblade.core.mp.support.BladePage; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -29,7 +31,7 @@ import org.springframework.web.bind.annotation.RequestParam; * @since 2023-09-04 */ @FeignClient( - value = "disStockOrdercodeReco" + value = ModuleNameConstant.APPLICATION_DISTRIBUTION_NAME ) public interface IDisStockListDetailClient { @@ -46,4 +48,7 @@ public interface IDisStockListDetailClient { @GetMapping(TOP) BladePage topDisStockListDetail(@RequestParam("current") Integer current, @RequestParam("size") Integer size); + + @GetMapping(TOP+"/findByPacketBarCodeAndWarehouseId") + UpDownStockupAreaVO findByPacketBarCodeAndWarehouseId(@RequestParam("warehouseId")Long warehouseId, @RequestParam("orderPackageCode") String orderPackageCode); } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/UpDownStockupAreaVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/UpDownStockupAreaVO.java new file mode 100644 index 000000000..0170dfa25 --- /dev/null +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/UpDownStockupAreaVO.java @@ -0,0 +1,30 @@ +package com.logpm.distribution.vo; + +import lombok.Data; + +/** + * 上架备货库位货物VO + */ +@Data +public class UpDownStockupAreaVO { + + + private Long marketId; + + private Long warehouseId; + + private String marketName; + + private String associationType; + + private String associationValue; + + private Long associationId; + + private String incomingBatch; + + private String goodsType; + + + +} diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaEntity.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaEntity.java new file mode 100644 index 000000000..427b8dd9d --- /dev/null +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaEntity.java @@ -0,0 +1,91 @@ +package com.logpm.warehouse.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +@Data +@TableName("logpm_warehouse_updown_goods") +@ApiModel(value = "UpdownGoods对象", description = "货位货物绑定表") +@EqualsAndHashCode(callSuper = true) +public class WarehouseUpdownStockupAreaEntity extends TenantEntity { + + /** 预留1 */ + @ApiModelProperty(name = "预留1",notes = "") + private String reserve1 ; + /** 预留2 */ + @ApiModelProperty(name = "预留2",notes = "") + private String reserve2 ; + /** 预留3 */ + @ApiModelProperty(name = "预留3",notes = "") + private String reserve3 ; + /** 预留4 */ + @ApiModelProperty(name = "预留4",notes = "") + private String reserve4 ; + /** 预留5 */ + @ApiModelProperty(name = "预留5",notes = "") + private String reserve5 ; + /** 上架方式id */ + @ApiModelProperty(name = "上架方式id",notes = "") + private String updownType ; + /** 货区id */ + @ApiModelProperty(name = "货区id",notes = "") + private Long areaId ; + /** 货区名称 */ + @ApiModelProperty(name = "货区名称",notes = "") + private String areaTitle ; + /** 货架id */ + @ApiModelProperty(name = "货架id",notes = "") + private Long shelfId ; + /** 货架名称 */ + @ApiModelProperty(name = "货架名称",notes = "") + private String shelfTitle ; + /** 货位id */ + @ApiModelProperty(name = "货位id",notes = "") + private Long allocationId ; + /** 货位名称 */ + @ApiModelProperty(name = "货位名称",notes = "") + private String allocationTitle ; + /** 完整货位 */ + @ApiModelProperty(name = "完整货位",notes = "") + private String positionCode ; + /** 货物类型;1有数据 2无数据 */ + @ApiModelProperty(name = "货物类型",notes = "1有数据 2无数据") + private String goodsType ; + /** 关联id */ + @ApiModelProperty(name = "关联id",notes = "") + private Long associationId ; + /** 关联值 */ + @ApiModelProperty(name = "关联值",notes = "") + private String associationValue ; + /** 关联类型;1.订单号 2运单号 3包件码 */ + @ApiModelProperty(name = "关联类型",notes = "1.订单号 2运单号 3包件码 4库存品") + private String associationType ; + /** 货物名称 */ + @ApiModelProperty(name = "货物名称",notes = "") + private String goodsName ; + /** 数量 */ + @ApiModelProperty(name = "数量",notes = "") + private Integer num ; + /** 商场id */ + @ApiModelProperty(name = "商场id",notes = "") + private Long marketId ; + /** 商场名称 */ + @ApiModelProperty(name = "商场名称",notes = "") + private String marketName ; + /** 批次号 */ + @ApiModelProperty(name = "批次号",notes = "") + private String incomingBatch ; + /** 物料编码 */ + @ApiModelProperty(name = "物料编码",notes = "") + private String materielCode ; + /** 物料名称 */ + @ApiModelProperty(name = "物料名称",notes = "") + private String materielName ; + /** 仓库id */ + @ApiModelProperty(name = "仓库id",notes = "") + private Long warehouseId; +} diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaLogEntity.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaLogEntity.java new file mode 100644 index 000000000..3a6cb59b3 --- /dev/null +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseUpdownStockupAreaLogEntity.java @@ -0,0 +1,98 @@ +package com.logpm.warehouse.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.tenant.mp.TenantEntity; + +@Data +@TableName("logpm_warehouse_updown_goods_log") +@ApiModel(value = "UpdownGoodsLog对象", description = "上下架记录表") +@EqualsAndHashCode(callSuper = true) +public class WarehouseUpdownStockupAreaLogEntity extends TenantEntity { + + /** 预留1 */ + @ApiModelProperty(name = "预留1",notes = "") + private String reserve1 ; + /** 预留2 */ + @ApiModelProperty(name = "预留2",notes = "") + private String reserve2 ; + /** 预留3 */ + @ApiModelProperty(name = "预留3",notes = "") + private String reserve3 ; + /** 预留4 */ + @ApiModelProperty(name = "预留4",notes = "") + private String reserve4 ; + /** 预留5 */ + @ApiModelProperty(name = "预留5",notes = "") + private String reserve5 ; + /** 上架方式id */ + @ApiModelProperty(name = "上架方式id",notes = "") + private Long updownTypeId ; + /** 货区id */ + @ApiModelProperty(name = "货区id",notes = "") + private Long areaId ; + /** 货区名称 */ + @ApiModelProperty(name = "货区名称",notes = "") + private String areaTitle ; + /** 货架id */ + @ApiModelProperty(name = "货架id",notes = "") + private Long shelfId ; + /** 货架名称 */ + @ApiModelProperty(name = "货架名称",notes = "") + private String shelfTitle ; + /** 货位id */ + @ApiModelProperty(name = "货位id",notes = "") + private Long allocationId ; + /** 货位名称 */ + @ApiModelProperty(name = "货位名称",notes = "") + private String allocationTitle ; + /** 完整货位 */ + @ApiModelProperty(name = "完整货位",notes = "") + private String positionCode ; + /** 上架类型;1=上架,2=下架 */ + @ApiModelProperty(name = "上架类型",notes = "1=上架,2=下架") + private Integer bindingType ; + /** 是否整托;0不是 1是 */ + @ApiModelProperty(name = "是否整托",notes = "0不是 1是") + private Integer isAlltrays ; + /** 货物类型;有数据 无数据 */ + @ApiModelProperty(name = "货物类型",notes = "有数据 无数据") + private String goodsType ; + /** 关联类型 */ + @ApiModelProperty(name = "关联类型",notes = "") + private String associationType ; + /** 关联值 */ + @ApiModelProperty(name = "关联值",notes = "") + private String associationValue ; + /** 关联id */ + @ApiModelProperty(name = "关联id",notes = "") + private Long associationId ; + /** 上下架数量 */ + @ApiModelProperty(name = "上下架数量",notes = "") + private Integer num ; + /** 备注 */ + @ApiModelProperty(name = "备注",notes = "") + private String remark ; + /** 商场id */ + @ApiModelProperty(name = "商场id",notes = "") + private Long marketId ; + /** 商场名称 */ + @ApiModelProperty(name = "商场名称",notes = "") + private String marketName ; + /** 批次号 */ + @ApiModelProperty(name = "批次号",notes = "") + private String incomingBatch ; + /** 物料编码 */ + @ApiModelProperty(name = "物料编码",notes = "") + private String materielCode ; + /** 物料名称 */ + @ApiModelProperty(name = "物料名称",notes = "") + private String materielName ; + /** 仓库Id */ + @ApiModelProperty(name = "仓库Id",notes = "") + private Long warehouseId ; + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DisStockListDetailClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DisStockListDetailClient.java index adacc400b..106f46cf0 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DisStockListDetailClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DisStockListDetailClient.java @@ -19,6 +19,7 @@ package com.logpm.distribution.feign; import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.entity.DisStockListDetailEntity; import com.logpm.distribution.service.IDisStockListDetailService; +import com.logpm.distribution.vo.UpDownStockupAreaVO; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; @@ -50,4 +51,15 @@ public class DisStockListDetailClient implements IDisStockListDetailClient { return BladePage.of(page); } + /** + * @param warehouseId + * @param orderPackageCode + * @return + */ + @GetMapping(TOP+"/findByPacketBarCodeAndWarehouseId") + @Override + public UpDownStockupAreaVO findByPacketBarCodeAndWarehouseId(Long warehouseId, String orderPackageCode) { + return disStockListDetailService.findByPacketBarCodeAndWarehouseId(warehouseId,orderPackageCode); + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DisStockListDetailMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DisStockListDetailMapper.java index cdcb7f543..bdd5400f7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DisStockListDetailMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DisStockListDetailMapper.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.entity.DisStockListDetailEntity; import com.logpm.distribution.excel.DisStockListDetailExcel; import com.logpm.distribution.vo.DisStockListDetailVO; +import com.logpm.distribution.vo.UpDownStockupAreaVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -63,4 +64,14 @@ public interface DisStockListDetailMapper extends BaseMapper SELECT * FROM logpm_dis_stock_list_detail ${ew.customSqlSegment} + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockListDetailService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockListDetailService.java index 2fcbee1c4..257c67f22 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockListDetailService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockListDetailService.java @@ -23,6 +23,7 @@ import com.logpm.distribution.excel.DisStockListDetailExcel; import com.logpm.distribution.vo.DisStockListDetailVO; import com.logpm.distribution.vo.DisStockListVO; import com.logpm.distribution.vo.OrderPackgeCodeDataVO; +import com.logpm.distribution.vo.UpDownStockupAreaVO; import org.springblade.core.mp.base.BaseService; import java.util.List; @@ -74,4 +75,12 @@ public interface IDisStockListDetailService extends BaseService upStockupAreaPackageDTOS = updownTypeDTO.getUpStockupAreaPackageDTOS(); + Long allocationId = updownTypeDTO.getAllocationId();//库位码 + try{ + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + if(Objects.isNull(myCurrentWarehouse)){ + log.warn(method+"仓库信息不能为空"); + return R.fail(403,"仓库信息不能为空"); + } + + int size = upStockupAreaPackageDTOS.size(); + if(size == 0 ){ + log.warn(method+"没有处理的数据"); + return R.fail(403,"无处理数据"); + } + if(Objects.isNull(allocationId)){ + log.warn(method+"库位信息不能为空 allocationId={}",allocationId); + return R.fail(403,"库位信息不能为空"); + } + + //查询该库位的货物信息 + return warehouseUpdownStockupAreaService.upStockupAreaPackage(upStockupAreaPackageDTOS,allocationId,myCurrentWarehouse.getId()); + }catch (CustomerException e){ + log.warn(e.message); + return R.fail(e.code,e.message); + }catch (Exception e){ + log.error(method+"系统异常,联系管理员",e); + return R.fail(500,"系统异常,联系管理员"); + } + + } + + + + @ResponseBody + @PostMapping("/upShelfScanPackage") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "备货库位上架包条级别扫描接口", notes = "传入trayTypeDTO") + public R upShelfScanPackage(@RequestBody UpdownTypeDTO updownTypeDTO ) { + String method = "###########upShelfScanPackage: "; + log.info(method + "上架扫描备货库位 updownTypeDTO={}", updownTypeDTO); + try{ + + BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); + if(Objects.isNull(myCurrentWarehouse)){ + log.warn(method+"仓库信息不能为空"); + return R.fail(403,"仓库信息不能为空"); + } + //查询该库位的货物信息 + UpDownStockupAreaVO upDownStockupAreaVO = warehouseUpdownStockupAreaService.upShelfScanPackage(myCurrentWarehouse.getId(), updownTypeDTO.getOrderPackageCode()); + //此包件是否已经完成上架了 + if (Func.isNotEmpty(upDownStockupAreaVO)){ + //查询是否上架 + WarehouseUpdownStockupAreaEntity updownStockupAreaEntity = warehouseUpdownStockupAreaService.getOne(Wrappers.query().lambda() + .eq(WarehouseUpdownStockupAreaEntity::getWarehouseId, myCurrentWarehouse.getId()) + .eq(WarehouseUpdownStockupAreaEntity::getAssociationValue, upDownStockupAreaVO.getAssociationValue()) + .eq(WarehouseUpdownStockupAreaEntity::getAllocationId, upDownStockupAreaVO.getAssociationId()) + .eq(WarehouseUpdownStockupAreaEntity::getGoodsType, upDownStockupAreaVO.getGoodsType()) + ); + if (Func.isNotEmpty(updownStockupAreaEntity)){ + //已经在备货库位进行上架了 + return Resp.scanFail("该包件已上架","该包件已上架"); + } + return R.data(updownStockupAreaEntity); + }else { + return Resp.scanFail("该包件不存在","该包件不存在"); + + } + }catch (CustomerException e){ + log.warn(e.message); + return Resp.scanFail(e.code,e.message,e.message); + }catch (Exception e){ + log.error(method+"系统异常,联系管理员",e); + return R.fail(500,"系统异常,联系管理员"); + } + } + + + + +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpStockupAreaPackageDTO.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpStockupAreaPackageDTO.java new file mode 100644 index 000000000..cb01be439 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpStockupAreaPackageDTO.java @@ -0,0 +1,54 @@ +package com.logpm.warehouse.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +@Data +@ApiModel(value = "UpShelfPackageDTO对象", description = "包件DTO") +public class UpStockupAreaPackageDTO implements Serializable { + + /** + * 商城ID + */ + private Long marketId; + /** + * 商场名称 + */ + private String marketName; + /** + * 仓库ID + */ + private Long warehouseId; + + /** + * 绑定类型 1-订单 2-订制品 3-库存品 4-托盘 + */ + private String associationType; + + /** + * 绑定值 与上方对应 + */ + private String associationValue; + + /** + * 绑定ID 与上方对应 + */ + private String associationId; + + /** + * 批次号 库存品专属 + */ + private String incomingBatch; + + /** + * 有无数据 1-有 2-无 + */ + private String goodsType; + + + + +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpdownTypeDTO.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpdownTypeDTO.java index 7d1a5daf8..7abd24797 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpdownTypeDTO.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/dto/UpdownTypeDTO.java @@ -31,6 +31,8 @@ public class UpdownTypeDTO implements Serializable { private List upShelfOrderList = new ArrayList<>(); @ApiModelProperty(name = "包件列表",notes = "包件列表") private List upShelfPackageList = new ArrayList<>(); + @ApiModelProperty(name = "备货库位上架数据传输",notes = "备货库位上架数据传输") + private List upStockupAreaPackageDTOS = new ArrayList<>(); @ApiModelProperty(name = "零担列表",notes = "零担列表") private List upShelfZeroOrderList = new ArrayList<>(); @ApiModelProperty(name = "库存品列表",notes = "库存品列表") diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaLogMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaLogMapper.java new file mode 100644 index 000000000..3aa29e658 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaLogMapper.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.warehouse.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.logpm.warehouse.entity.WarehouseUpdownStockupAreaEntity; +import com.logpm.warehouse.entity.WarehouseUpdownStockupAreaLogEntity; + +/** + * 货位与货物绑定表 Mapper 接口 + * + * @author lmy + * @since 2023-08-14 + */ +public interface WarehouseUpdownStockupAreaLogMapper extends BaseMapper { + +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaLogMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaLogMapper.xml new file mode 100644 index 000000000..a9e52b227 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaLogMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaMapper.java new file mode 100644 index 000000000..37fc3e856 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaMapper.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.warehouse.mapper; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.warehouse.dto.TaskSearchDTO; +import com.logpm.warehouse.entity.QuestDetailEntity; +import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; +import com.logpm.warehouse.entity.WarehouseUpdownStockupAreaEntity; +import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel; +import com.logpm.warehouse.vo.*; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 货位与货物绑定表 Mapper 接口 + * + * @author lmy + * @since 2023-08-14 + */ +public interface WarehouseUpdownStockupAreaMapper extends BaseMapper { + +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaMapper.xml new file mode 100644 index 000000000..4b6b3d68a --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseUpdownStockupAreaMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTaryAllocationService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTaryAllocationService.java index ff97b1cc8..a5b89e666 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTaryAllocationService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTaryAllocationService.java @@ -4,6 +4,8 @@ import com.logpm.basicdata.entity.BasicdataTrayEntity; import com.logpm.warehouse.entity.WarehouseTaryAllocationEntity; import org.springblade.core.mp.base.BaseService; +import java.util.List; + public interface IWarehouseTaryAllocationService extends BaseService { BasicdataTrayEntity getTrayByAllocation(String targetAllocation); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaLogService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaLogService.java new file mode 100644 index 000000000..1ff3d95b1 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaLogService.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.warehouse.service; + +import com.logpm.warehouse.entity.WarehouseUpdownStockupAreaLogEntity; +import org.springblade.core.mp.base.BaseService; + +import java.util.List; + +/** + * 货位与货物绑定表 服务类 + * + * @author lmy + * @since 2023-08-14 + */ +public interface IWarehouseUpdownStockupAreaLogService extends BaseService { + + +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java new file mode 100644 index 000000000..9210563ee --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownStockupAreaService.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.warehouse.service; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.distribution.vo.UpDownStockupAreaVO; +import com.logpm.warehouse.dto.UpShelfPackageDTO; +import com.logpm.warehouse.dto.UpStockupAreaPackageDTO; +import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; +import com.logpm.warehouse.entity.WarehouseUpdownStockupAreaEntity; +import com.logpm.warehouse.entity.WarehouseUpdownTypeEntity; +import com.logpm.warehouse.excel.WarehouseUpdownGoodsExcel; +import com.logpm.warehouse.vo.*; +import org.springblade.core.mp.base.BaseService; +import org.springblade.core.tool.api.R; + +import java.util.List; +import java.util.Map; + +/** + * 货位与货物绑定表 服务类 + * + * @author lmy + * @since 2023-08-14 + */ +public interface IWarehouseUpdownStockupAreaService extends BaseService { + + /** + * 上架备货库位扫描接口 + * @param warehouseId + * @param orderPackageCode + * @return + */ + UpDownStockupAreaVO upShelfScanPackage(Long warehouseId, String orderPackageCode); + + /** + * 备货库位上架数据保存 + * @param upStockupAreaPackageDTOS + * @param allocationId + * @param id + * @return + */ + R upStockupAreaPackage(List upStockupAreaPackageDTOS, Long allocationId, Long id); +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaLogServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaLogServiceImpl.java new file mode 100644 index 000000000..2136ea13e --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaLogServiceImpl.java @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.warehouse.service.impl; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.logpm.basicdata.entity.BasicdataGoodsAllocationEntity; +import com.logpm.basicdata.entity.BasicdataGoodsAreaEntity; +import com.logpm.basicdata.entity.BasicdataGoodsShelfEntity; +import com.logpm.basicdata.entity.BasicdataWarehouseEntity; +import com.logpm.basicdata.feign.IBasicdataGoodsAllocationClient; +import com.logpm.basicdata.feign.IBasicdataGoodsAreaClient; +import com.logpm.basicdata.feign.IBasicdataGoodsShelfClient; +import com.logpm.basicdata.feign.IBasicdataWarehouseClient; +import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.distribution.feign.IDisStockListDetailClient; +import com.logpm.distribution.feign.IDistributionParcelListClient; +import com.logpm.distribution.vo.UpDownStockupAreaVO; +import com.logpm.warehouse.dto.UpShelfPackageDTO; +import com.logpm.warehouse.dto.UpStockupAreaPackageDTO; +import com.logpm.warehouse.entity.WarehouseUpdownGoodsEntity; +import com.logpm.warehouse.entity.WarehouseUpdownStockupAreaEntity; +import com.logpm.warehouse.entity.WarehouseUpdownStockupAreaLogEntity; +import com.logpm.warehouse.mapper.WarehouseUpdownStockupAreaLogMapper; +import com.logpm.warehouse.mapper.WarehouseUpdownStockupAreaMapper; +import com.logpm.warehouse.service.*; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springblade.common.exception.CustomerException; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * 货位与货物绑定表 服务实现类 + * + * @author lmy + * @since 2023-08-14 + */ +@AllArgsConstructor +@Service +@Log4j2 +public class WarehouseUpdownStockupAreaLogServiceImpl extends BaseServiceImpl implements IWarehouseUpdownStockupAreaLogService { + + + +} diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java new file mode 100644 index 000000000..9552a5100 --- /dev/null +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownStockupAreaServiceImpl.java @@ -0,0 +1,227 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 庄骞 (smallchill@163.com) + */ +package com.logpm.warehouse.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.BeanUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.logpm.basicdata.entity.BasicdataGoodsAllocationEntity; +import com.logpm.basicdata.entity.BasicdataGoodsAreaEntity; +import com.logpm.basicdata.entity.BasicdataGoodsShelfEntity; +import com.logpm.basicdata.entity.BasicdataWarehouseEntity; +import com.logpm.basicdata.feign.IBasicdataGoodsAllocationClient; +import com.logpm.basicdata.feign.IBasicdataGoodsAreaClient; +import com.logpm.basicdata.feign.IBasicdataGoodsShelfClient; +import com.logpm.basicdata.feign.IBasicdataWarehouseClient; +import com.logpm.distribution.entity.DistributionParcelListEntity; +import com.logpm.distribution.feign.IDisStockListDetailClient; +import com.logpm.distribution.feign.IDistributionParcelListClient; +import com.logpm.distribution.vo.UpDownStockupAreaVO; +import com.logpm.warehouse.dto.UpShelfPackageDTO; +import com.logpm.warehouse.dto.UpStockupAreaPackageDTO; +import com.logpm.warehouse.entity.*; +import com.logpm.warehouse.mapper.WarehouseUpdownStockupAreaMapper; +import com.logpm.warehouse.service.*; +import com.logpm.warehouse.vo.UpShelfAllocationVO; +import com.logpm.warehouse.vo.UpShelfDataVO; +import lombok.AllArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.springblade.common.exception.CustomerException; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.Func; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +/** + * 货位与货物绑定表 服务实现类 + * + * @author lmy + * @since 2023-08-14 + */ +@AllArgsConstructor +@Service +@Log4j2 +public class WarehouseUpdownStockupAreaServiceImpl extends BaseServiceImpl implements IWarehouseUpdownStockupAreaService { + + + private final IBasicdataWarehouseClient basicdataWarehouseClient; + + private final IBasicdataGoodsAreaClient basicdataGoodsAreaClient; + + private final IBasicdataGoodsShelfClient basicdataGoodsShelfClient; + + private final IBasicdataGoodsAllocationClient basicdataGoodsAllocationClient; + + private final IWarehouseUpdownTypeService warehouseUpdownTypeService; + + private final IWarehouseUpdownGoodsService warehouseUpdownGoodsService; + + private final IWarehouseTrayGoodsService warehouseTrayGoodsService; + + private final IWarehouseTrayTypeService warehouseTrayTypeService; + + private final IDistributionParcelListClient parcelListClient; + + private final IDisStockListDetailClient disStockListDetailClient; + + private final IWarehouseUpdownStockupAreaLogService warehouseUpdownStockupAreaLogService; + + + + /** + * @param warehouseId + * @param orderPackageCode + * @return + */ + @Override + public UpDownStockupAreaVO upShelfScanPackage(Long warehouseId, String orderPackageCode) { + String method = "###############WarehouseUpdownStockupAreaServiceImpl.upShelfScanPackage,"; + //这里有可能会查询出订制品包件和有数据的库存品包件 + DistributionParcelListEntity parcelListEntity = parcelListClient.findByPacketBarCodeAndWarehouseId( orderPackageCode,warehouseId); + if (Func.isNotEmpty(parcelListEntity)){ + UpDownStockupAreaVO stockupAreaVo = Func.copy(parcelListEntity, UpDownStockupAreaVO.class); + if (Func.isNotEmpty(parcelListEntity.getMallId())){ + stockupAreaVo.setMarketId(parcelListEntity.getMallId()); + } + if (Func.isNotEmpty(parcelListEntity.getMallName())){ + stockupAreaVo.setMarketName(parcelListEntity.getMallName()); + } + stockupAreaVo.setGoodsType("1"); + stockupAreaVo.setAssociationId(parcelListEntity.getId()); + stockupAreaVo.setAssociationValue(parcelListEntity.getOrderPackageCode()); + if (1==parcelListEntity.getConditions()){ + stockupAreaVo.setAssociationType("2"); + }else { + stockupAreaVo.setAssociationType("3"); + } + return stockupAreaVo; + } + if (Func.isEmpty(parcelListEntity)){ + //查询无数据已备货库存品包件 + UpDownStockupAreaVO stockupAreaVo =disStockListDetailClient.findByPacketBarCodeAndWarehouseId(warehouseId,orderPackageCode); + if (Func.isNotEmpty(stockupAreaVo)){ + return stockupAreaVo; + } + } + log.warn(method+"未查询到数据"); + return null; + } + + /** + * @param upStockupAreaPackageDTOS + * @param allocationId + * @param id + * @return + */ + @Override + @Transactional + public R upStockupAreaPackage(List upStockupAreaPackageDTOS, Long allocationId, Long warehouseId) { + String method = "###############WarehouseUpdownStockupAreaServiceImpl.upStockupAreaPackage,"; + + BasicdataGoodsAllocationEntity goodsAllocationEntity = basicdataGoodsAllocationClient.getEntityByAllocationId(allocationId); + if(Objects.isNull(goodsAllocationEntity)){ + log.warn("##############upShelfPackage: 库位不存在 allocationId={}",allocationId); + return R.fail(403,"库位不存在"); + } + String enableStatus = goodsAllocationEntity.getEnableStatus(); + Long goodsShelfId = goodsAllocationEntity.getGoodsShelfId(); + if("2".equals(enableStatus)){ + log.warn("##############upShelfPackage: 库位已被禁用 allocationId={}",allocationId); + return R.fail(403,"库位已被禁用"); + } + BasicdataGoodsShelfEntity goodsShelfEntity = basicdataGoodsShelfClient.getEntityByGoodsShelfId(goodsShelfId); + if(Objects.isNull(goodsShelfEntity)){ + log.warn("##############upShelfPackage: 货架不存在 goodsShelfId={}",goodsShelfId); + return R.fail(403,"货架不存在"); + } + Long goodsAreaId = goodsShelfEntity.getGoodsAreaId(); + BasicdataGoodsAreaEntity goodsAreaEntity = basicdataGoodsAreaClient.getEntityByGoodsAreaId(goodsAreaId); + if(Objects.isNull(goodsAreaEntity)){ + log.warn("##############upShelfPackage: 货区不存在 goodsAreaId={}",goodsAreaId); + return R.fail(403,"货区不存在"); + } + String areaType = goodsAreaEntity.getAreaType(); + if(!"1".equals(areaType)){ + log.warn("#################upShelfPackage: 备货区不能上下架 goodsAreaId={}",goodsAreaId); + throw new CustomerException(403,"请扫描备货库位"); + } + + Long wid = goodsAreaEntity.getWarehouseId(); + BasicdataWarehouseEntity warehouseEntity = basicdataWarehouseClient.getEntityWarehouseId(wid); + if(Objects.isNull(warehouseEntity)){ + log.warn("##############upShelfPackage: 仓库不存在 warehouseId={}",wid); + return R.fail(403,"仓库不存在"); + } + + if(!wid.equals(warehouseId)){ + log.warn("##############upShelfPackage: 库位不属于本仓库 wid={}",wid); + return R.fail(403,"库位不属于本仓库"); + } + List waitUpShelfPackageDTO = new ArrayList<>(); + List waitSaveWarehouseUpdownStockupAreaEntity = new ArrayList<>(); + List waitSaveWarehouseUpdownStockupAreaLogEntity = new ArrayList<>(); + for (UpStockupAreaPackageDTO upStockupAreaPackageDTO : upStockupAreaPackageDTOS) { + if ("1".equals(upStockupAreaPackageDTO.getGoodsType())){ + //有数据的包件 + WarehouseUpdownGoodsEntity updownGoodsEntity = warehouseUpdownGoodsService.getOne(Wrappers.query().lambda() + .eq(WarehouseUpdownGoodsEntity::getWarehouseId, warehouseId) + .eq(WarehouseUpdownGoodsEntity::getAssociationValue, warehouseId) + .eq(WarehouseUpdownGoodsEntity::getAssociationType, "3") + ); + if (!Objects.isNull(updownGoodsEntity)){ + //进行下架解托操作 + UpShelfPackageDTO upShelfPackageDTO = new UpShelfPackageDTO(); + upShelfPackageDTO.setOrderPackageCode(updownGoodsEntity.getAssociationValue()); + waitUpShelfPackageDTO.add(upShelfPackageDTO); + } + } + WarehouseUpdownStockupAreaEntity updownStockupAreaEntity = BeanUtil.copy(upStockupAreaPackageDTO, WarehouseUpdownStockupAreaEntity.class); + updownStockupAreaEntity.setAreaTitle(goodsAreaEntity.getHeadline()); + updownStockupAreaEntity.setAreaId(goodsAreaEntity.getId()); + updownStockupAreaEntity.setShelfId(goodsShelfEntity.getId()); + updownStockupAreaEntity.setShelfTitle(goodsShelfEntity.getGoodsShelfName()); + updownStockupAreaEntity.setAllocationId(goodsAllocationEntity.getId()); + updownStockupAreaEntity.setAllocationTitle(goodsAllocationEntity.getGoodsAllocationName()); + updownStockupAreaEntity.setPositionCode(goodsAllocationEntity.getQrCode()); + updownStockupAreaEntity.setUpdownType("包条"); + waitSaveWarehouseUpdownStockupAreaEntity.add(updownStockupAreaEntity); + WarehouseUpdownStockupAreaLogEntity warehouseUpdownStockupAreaLogEntity = BeanUtil.copy(updownStockupAreaEntity, WarehouseUpdownStockupAreaLogEntity.class); + warehouseUpdownStockupAreaLogEntity.setRemark("扫描上架:包条上架"); + warehouseUpdownStockupAreaLogEntity.setBindingType(1); + waitSaveWarehouseUpdownStockupAreaLogEntity.add(warehouseUpdownStockupAreaLogEntity); + //查询是否进行了上架,如果进行了上架需要进行对原库位进行下架, + + } + if (Func.isNotEmpty(waitUpShelfPackageDTO)){ + //存在需要进行下架操作的包件 + R r = warehouseUpdownTypeService.downPackageOrDelTray(waitUpShelfPackageDTO, warehouseId); + if (200 !=r.getCode()){ + //进行异常保证事务回滚 + log.warn(method+"执行下架失败"); + throw new RuntimeException("执行下架失败"); + } + } + warehouseUpdownStockupAreaLogService.saveBatch(waitSaveWarehouseUpdownStockupAreaLogEntity); + return R.status(this.saveBatch(waitSaveWarehouseUpdownStockupAreaEntity)); + } +}