diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java index 4e2155d8b..243940675 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/DictBizConstant.java @@ -51,7 +51,10 @@ public class DictBizConstant { //---------------2023-08-08 仓库模块 - public static final String PALLET_TYPE = "pallet_type";//打托类型 1服务号 2合同号 3商场 4门店 5客户 6仓库 7其他 + public static final String PALLET_ORDER_TYPE = "pallet_order_type";//打托类型 1服务号 2合同号 3商场 4门店 5客户 6仓库 7其他 + public static final String PALLET_ZERO_TYPE = "pallet_zero_type";//打托类型 1服务号 2合同号 3商场 4门店 5客户 6仓库 7其他 + public static final String PALLET_STOCK_TYPE = "pallet_stock_type";//打托类型 1服务号 2合同号 3商场 4门店 5客户 6仓库 7其他 + public static final String PALLET_STOCKNODATA_TYPE = "pallet_stocknodata_type";//打托类型 1服务号 2合同号 3商场 4门店 5客户 6仓库 7其他 public static final String PALLET_ARTIFICIAL_TYPE = "pallet_artificial_type";//人工打托类型 diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/apiwarehouse/PalletProductTypeConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/apiwarehouse/PalletProductTypeConstant.java index a761038ed..8d9563ece 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/apiwarehouse/PalletProductTypeConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/apiwarehouse/PalletProductTypeConstant.java @@ -4,6 +4,7 @@ public interface PalletProductTypeConstant { String CUSTOMIZED = "1"; String ARTIFICIAL = "2"; - String INVENTORY = "3"; + String STOCKDATA = "3"; + String STOCKNODATA = "4"; } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java index bc10809f0..496d8c022 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockListClient.java @@ -18,6 +18,7 @@ package com.logpm.distribution.feign; import com.logpm.distribution.entity.DistributionStockListEntity; import com.logpm.distribution.vo.DistributionStockListVO; +import com.logpm.distribution.vo.app.StockMallVO; import org.springblade.common.constant.ModuleNameConstant; import org.springblade.core.mp.support.BladePage; import org.springframework.cloud.openfeign.FeignClient; @@ -26,6 +27,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * 库存品管理 Feign接口类 * @@ -75,6 +78,13 @@ public interface IDistributionStockListClient { @GetMapping(API_PREFIX+"/getStockListById") DistributionStockListEntity getStockListById(@RequestParam("stockListId") Long stockListId); + @GetMapping(API_PREFIX+"/getStockListByParcelListId") + DistributionStockListEntity getStockListByParcelListId(@RequestParam("parcelListId") Long parcelListId); + + @GetMapping(API_PREFIX+"/getAllStockMall") + List getAllStockMall(); + + // /** // * 修改某个客户信息及物品信息 diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/StockMallVO.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/StockMallVO.java new file mode 100644 index 000000000..7ca9fc8df --- /dev/null +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/vo/app/StockMallVO.java @@ -0,0 +1,17 @@ +package com.logpm.distribution.vo.app; + +import lombok.Data; + +import javax.swing.*; +import java.io.Serializable; + +@Data +public class StockMallVO implements Serializable { + + private Long marketId; + + private Spring marketName; + + private String marketCode; + +} diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java index 989713930..9a9a78819 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/TrayTypeDataVO.java @@ -18,6 +18,9 @@ public class TrayTypeDataVO implements Serializable { private Integer trayNum;//托盘件数 private String name;//名称 + private Long marketId;//商场名称 + private String marketCode;//商场编码 + private String marketName;//商场名称 private Integer orderTotalNum;//总件数 diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTrayTypeVO.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTrayTypeVO.java index f89720c58..5ee81d873 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTrayTypeVO.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseTrayTypeVO.java @@ -10,4 +10,9 @@ public class WarehouseTrayTypeVO extends WarehouseTrayTypeEntity { private String trayTypeName; + private Long marketId; + + private String marketName; + + private String marketCode; } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java index 7e8dd3d1f..362b1c5b7 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockListClient.java @@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.logpm.distribution.entity.DistributionStockListEntity; import com.logpm.distribution.service.IDistributionStockListService; import com.logpm.distribution.vo.DistributionStockListVO; +import com.logpm.distribution.vo.app.StockMallVO; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.Condition; @@ -30,6 +31,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import java.util.List; + /** * 库存品管理 Feign实现类 * @@ -91,5 +94,18 @@ public class DistributionStockListClient implements IDistributionStockListClient return distributionStockListService.getById(stockListId); } + @Override + public DistributionStockListEntity getStockListByParcelListId(Long parcelListId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("parcel_list_id",parcelListId) + .eq("is_deleted",0); + return distributionStockListService.getOne(queryWrapper); + } + + @Override + public List getAllStockMall() { + return distributionStockListService.getAllStockMall(); + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java index aaa929e03..e5e1ba05f 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.java @@ -24,6 +24,7 @@ import com.logpm.distribution.excel.DistributionStockListExcel; import com.logpm.distribution.vo.DistributionStockListVO; import com.logpm.distribution.vo.DistributionStockupStockListInfoVO; import com.logpm.distribution.vo.StockListInfoListVO; +import com.logpm.distribution.vo.app.StockMallVO; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -69,4 +70,6 @@ public interface DistributionStockListMapper extends BaseMapper pageClinet(IPage page,@Param("param") DistributionStockListEntity distributionStockListEntity,@Param("clientIds") List clientIds); + List getAllStockMall(); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml index 170659fb0..f61aeb742 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockListMapper.xml @@ -255,4 +255,13 @@ where id = #{stockListId} + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java index 52e6c1e00..8d0537bde 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockListService.java @@ -25,6 +25,7 @@ import com.logpm.distribution.vo.DistributionStockArticleVO; import com.logpm.distribution.vo.DistributionStockListVO; import com.logpm.distribution.vo.DistributionStockupStockListInfoVO; import com.logpm.distribution.vo.StockListInfoListVO; +import com.logpm.distribution.vo.app.StockMallVO; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; @@ -96,4 +97,7 @@ public interface IDistributionStockListService extends BaseService pageClient(IPage page, Map distributionStockList); + + List getAllStockMall(); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java index 1ea3addb0..681c804e8 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockListServiceImpl.java @@ -36,9 +36,9 @@ import com.logpm.distribution.vo.DistributionStockArticleVO; import com.logpm.distribution.vo.DistributionStockListVO; import com.logpm.distribution.vo.DistributionStockupStockListInfoVO; import com.logpm.distribution.vo.StockListInfoListVO; +import com.logpm.distribution.vo.app.StockMallVO; import lombok.AllArgsConstructor; import org.springblade.common.constant.DictBizConstant; -import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; @@ -306,4 +306,9 @@ public class DistributionStockListServiceImpl extends BaseServiceImpl getAllStockMall(){ + return baseMapper.getAllStockMall(); + } + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java index bb17add0a..d41c7e0f2 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/api/WarehouseTrayTypeApiController.java @@ -2,10 +2,9 @@ package com.logpm.warehouse.api; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; -import com.logpm.distribution.feign.IDistributionStockArticleClient; +import com.logpm.distribution.feign.IDistributionStockListClient; import com.logpm.warehouse.dto.TrayTypeDTO; import com.logpm.warehouse.dto.ZeroOrderVO; -import com.logpm.warehouse.service.IWarehouseTrayGoodsService; import com.logpm.warehouse.service.IWarehouseTrayTypeService; import com.logpm.warehouse.vo.TrayTypeDataListVO; import com.logpm.warehouse.vo.TrayTypeDataVO; @@ -36,9 +35,7 @@ public class WarehouseTrayTypeApiController { private final IWarehouseTrayTypeService warehouseTrayTypeService; - private final IDistributionStockArticleClient distributionStockArticleClient; - - private final IWarehouseTrayGoodsService warehouseTrayGoodsService; + private final IDistributionStockListClient distributionStockListClient; //----------------------订单分拣-------------------------------- @ResponseBody @@ -96,7 +93,7 @@ public class WarehouseTrayTypeApiController { TrayTypeDataVO trayTypeDataVO = warehouseTrayTypeService.getEntityByTrayCode(trayCode); if(Objects.isNull(trayTypeDataVO)){ //如果没有对应数据就返回打托方式 - List list = DictBizCache.getList(DictBizConstant.PALLET_TYPE); + List list = DictBizCache.getList(DictBizConstant.PALLET_ORDER_TYPE); map.put("is_has_data",0); map.put("data",list); }else{ @@ -234,7 +231,7 @@ public class WarehouseTrayTypeApiController { TrayTypeDataVO trayTypeDataVO = warehouseTrayTypeService.getEntityByTrayCode(trayCode); if(Objects.isNull(trayTypeDataVO)){ //如果没有对应数据就返回打托方式 - List list = DictBizCache.getList(DictBizConstant.PALLET_TYPE); + List list = DictBizCache.getList(DictBizConstant.PALLET_ZERO_TYPE); map.put("is_has_data",0); map.put("data",list); }else{ @@ -419,7 +416,7 @@ public class WarehouseTrayTypeApiController { } try{ - //查询订制品打托列表 + //查询有数据库存品打托列表 IPage pages = warehouseTrayTypeService.stockPageList(trayTypeDTO); return R.data(pages); }catch (CustomerException e){ @@ -450,14 +447,15 @@ public class WarehouseTrayTypeApiController { TrayTypeDataVO trayTypeDataVO = warehouseTrayTypeService.getEntityByTrayCode(trayCode); if(Objects.isNull(trayTypeDataVO)){ //如果没有对应数据就返回打托方式 - List list = DictBizCache.getList(DictBizConstant.PALLET_TYPE); + List list = DictBizCache.getList(DictBizConstant.PALLET_STOCK_TYPE); +// List stockMallVOList = distributionStockListClient.getAllStockMall(); map.put("is_has_data",0); map.put("data",list); +// map.put("stockMallList",stockMallVOList); }else{ map.put("is_has_data",1); map.put("data",trayTypeDataVO); } - return R.data(map); }catch (CustomerException e){ log.warn(e.message); @@ -468,5 +466,37 @@ public class WarehouseTrayTypeApiController { } } + @ResponseBody + @PostMapping("/scanStockOrderPackageCode") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "扫码库存品包件码", notes = "传入trayTypeDTO") + public R scanStockOrderPackageCode(@RequestBody TrayTypeDTO trayTypeDTO) { + String method = "###########scanStockOrderPackageCode: "; + log.info(method + "扫码库存品包件码 trayTypeDTO={}", trayTypeDTO); + String orderPackageCode = trayTypeDTO.getOrderPackageCode();//包件码 + String trayType = trayTypeDTO.getTrayType();//打托方式 + String trayCode = trayTypeDTO.getTrayCode();//托盘码 + try{ + if(!StringUtil.hasLength(trayCode)){ + log.warn(method+"托盘码不能为空 trayCode={}",trayCode); + return R.fail(403,"托盘码不能为空"); + } + if(!StringUtil.hasLength(trayType)){ + log.warn(method+"打托方式不能为空 trayType={}",trayType); + return R.fail(403,"打托方式不能为空"); + } + if(!StringUtil.hasLength(orderPackageCode)){ + log.warn(method+"包条码不能为空 orderPackageCode={}",orderPackageCode); + return R.fail(403,"包条码不能为空"); + } + return warehouseTrayTypeService.scanStockOrderPackageCode(trayCode,trayType,orderPackageCode); + }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,"系统异常,联系管理员"); + } + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.java index 9d90d1558..172c08456 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.java @@ -21,4 +21,6 @@ public interface WarehouseTrayGoodsMapper extends BaseMapper getStockListByTrayTypeId(@Param("trayTypeId") Long trayTypeId); + + List getStockListNoDataByTrayTypeId(@Param("trayTypeId") Long trayTypeId); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.xml b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.xml index 5a1e81e5d..edd34c3f5 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.xml +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/mapper/WarehouseTrayGoodsMapper.xml @@ -56,4 +56,18 @@ lbm.`name` + + diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java index 812c60f5b..ca5430d2b 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayGoodsService.java @@ -32,4 +32,7 @@ public interface IWarehouseTrayGoodsService extends BaseService getStockListByTrayTypeId(Long trayTypeId); + + List getStockListNoDataByTrayTypeId(Long trayTypeId); + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java index 684037089..a77c360bb 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java @@ -36,4 +36,5 @@ public interface IWarehouseTrayTypeService extends BaseService stockPageList(TrayTypeDTO trayTypeDTO); + R scanStockOrderPackageCode(String trayCode, String trayType, String orderPackageCode); } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java index b981c352e..44595db1e 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java @@ -104,4 +104,9 @@ public class WarehouseTrayGoodsServiceImpl extends BaseServiceImpl0?true:false; } + + @Override + public List getStockListNoDataByTrayTypeId(Long trayTypeId) { + return baseMapper.getStockListNoDataByTrayTypeId(trayTypeId); + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java index 1c02954ce..1894eed7a 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java @@ -3,11 +3,13 @@ package com.logpm.warehouse.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.logpm.basic.entity.BasicMaterialEntity; import com.logpm.basic.feign.IBasicMaterialClient; import com.logpm.basicdata.entity.BasicdataTrayEntity; import com.logpm.basicdata.feign.IBasicdataTrayClient; import com.logpm.distribution.entity.DistributionParcelListEntity; import com.logpm.distribution.entity.DistributionStockArticleEntity; +import com.logpm.distribution.entity.DistributionStockListEntity; import com.logpm.distribution.feign.IDistributionParcelListClient; import com.logpm.distribution.feign.IDistributionStockArticleClient; import com.logpm.distribution.feign.IDistributionStockListClient; @@ -88,6 +90,12 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl queryTrayTypeWrapper = new QueryWrapper<>(); queryTrayTypeWrapper.eq("tray_code",trayCode) @@ -99,27 +107,54 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl list = warehouseTrayGoodsService.getListByTrayTypeId(trayTypeId); trayTypeDataVO.setList(list); }else if(PalletProductTypeConstant.ARTIFICIAL.equals(type)){ + String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_ZERO_TYPE, trayTypeEntity.getTrayType()); + trayTypeDataVO.setTrayTypeName(trayTypeName); List list = warehouseTrayGoodsService.getZeroListByTrayTypeId(trayTypeId); trayTypeDataVO.setList(list); - }else if(PalletProductTypeConstant.INVENTORY.equals(type)){ + }else if(PalletProductTypeConstant.STOCKDATA.equals(type)){ + String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_STOCK_TYPE, trayTypeEntity.getTrayType()); + trayTypeDataVO.setTrayTypeName(trayTypeName); List list = warehouseTrayGoodsService.getStockListByTrayTypeId(trayTypeId); trayTypeDataVO.setList(list); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("tray_type_id",trayTypeId); + List ls = warehouseTrayGoodsService.list(queryWrapper); + Long stockListId = ls.get(0).getAssociationId();//库存品id + DistributionStockListEntity stockListEntity = distributionStockListClient.getStockListById(stockListId); + trayTypeDataVO.setMarketId(stockListEntity.getMarketId()); + trayTypeDataVO.setMarketCode(stockListEntity.getMarketCode()); + trayTypeDataVO.setMarketName(stockListEntity.getMarketName()); + }else if(PalletProductTypeConstant.STOCKNODATA.equals(type)){ + String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_STOCKNODATA_TYPE, trayTypeEntity.getTrayType()); + trayTypeDataVO.setTrayTypeName(trayTypeName); + List list = warehouseTrayGoodsService.getStockListNoDataByTrayTypeId(trayTypeId); + trayTypeDataVO.setList(list); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("tray_type_id",trayTypeId); + List ls = warehouseTrayGoodsService.list(queryWrapper); + Long stockListId = ls.get(0).getAssociationId();//库存品id + DistributionStockListEntity stockListEntity = distributionStockListClient.getStockListById(stockListId); + trayTypeDataVO.setMarketId(stockListEntity.getMarketId()); + trayTypeDataVO.setMarketCode(stockListEntity.getMarketCode()); + trayTypeDataVO.setMarketName(stockListEntity.getMarketName()); }else { log.warn("##################getEntityByTrayCode: 未知的打托类型"); } @@ -453,14 +488,14 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl pageList = baseMapper.orderPageList(page,trayTypeDTO); IPage warehouseTrayTypeVOIPage = WarehouseTrayTypeWrapper.build().pageVO(pageList); + List records = warehouseTrayTypeVOIPage.getRecords(); + for (WarehouseTrayTypeVO warehouseTrayTypeVO:records){ + Long trayTypeId = warehouseTrayTypeVO.getId();//打托方式id + QueryWrapper trayGoodsEntityQueryWrapper = new QueryWrapper<>(); + trayGoodsEntityQueryWrapper.eq("tray_type_id",trayTypeId); + List list = warehouseTrayGoodsService.list(trayGoodsEntityQueryWrapper); + WarehouseTrayGoodsEntity trayGoodsEntity = list.get(0); + Long stockListId = trayGoodsEntity.getAssociationId(); + DistributionStockListEntity stockListEntity = distributionStockListClient.getStockListById(stockListId); + Long marketId = stockListEntity.getMarketId(); + String marketName = stockListEntity.getMarketName(); + String marketCode = stockListEntity.getMarketCode(); + warehouseTrayTypeVO.setMarketId(marketId); + warehouseTrayTypeVO.setMarketName(marketName); + warehouseTrayTypeVO.setMarketCode(marketCode); + } + warehouseTrayTypeVOIPage.setRecords(records); return warehouseTrayTypeVOIPage; } + @Override + public R scanStockOrderPackageCode(String trayCode, String trayType, String orderPackageCode) { + //查询托盘信息 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("tray_code",trayCode) + .eq("is_deleted",0); + WarehouseTrayTypeEntity trayTypeEntity = baseMapper.selectOne(queryWrapper); + if(Objects.isNull(trayTypeEntity)){ + //如果为空则该托盘为空 + //第一次存入数据 + trayTypeEntity = saveTrayTypeByStock(trayType, trayCode, orderPackageCode); + } + String tt = trayTypeEntity.getTrayType(); + Long filterId = trayTypeEntity.getFilterId(); + String filterValue = trayTypeEntity.getFilterValue(); + + if(tt.equals(trayType)){ + log.warn("##############scanStockOrderPackageCode: 打托方式不正确 {}={}",trayType,tt); + return R.fail(403,"打托方式不正确"); + } + + //判断串货 + DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode); + if(Objects.isNull(parcelListEntity)){ + log.warn("#########scanStockOrderPackageCode: 未找到包件信息 orderPackageCode={}",orderPackageCode); + return R.fail(403,"未找到包件信息"); + } + Long parcelListId = parcelListEntity.getId();//包件id + DistributionStockListEntity distributionStockListEntity = distributionStockListClient.getStockListByParcelListId(parcelListId); + if(Objects.isNull(distributionStockListEntity)){ + log.warn("#########scanStockOrderPackageCode: 未找到库存品信息 parcelListId={}",parcelListId); + return R.fail(403,"未找到库存品信息"); + } + + Long materialId = distributionStockListEntity.getMaterialId();//物料id + Long marketId = distributionStockListEntity.getMarketId(); + String marketName = distributionStockListEntity.getMarketName(); + + BasicMaterialEntity materialEntity = basicMaterialClient.getMaterialOwnId(materialId); + if(Objects.isNull(materialEntity)){ + log.warn("#########scanStockOrderPackageCode: 未找到物料信息 materialId={}",materialId); + return R.fail(403,"未找到物料信息"); + } + String productCode = materialEntity.getProductCode(); + String name = materialEntity.getName(); + + boolean chuanFlag = false; + String msg = ""; + if (!filterId.equals(marketId)) { + chuanFlag = true; + msg = "商场"; + }else{ + if("10".equals(tt)) {//物料名称 + if (!filterValue.equals(name)) { + chuanFlag = true; + msg = "物料名称"; + } + }else if("20".equals(tt)){//物料编码 + if (!filterValue.equals(productCode)) { + chuanFlag = true; + msg = "物料编码"; + } + } + } + + //修改打托方式上的值 + changeStockTotalNumByTrayTypeId(distributionStockListEntity, trayTypeEntity.getId(), 1);//addSub 1加 2减 +// if(chuanFlag){ +// //存入零担与托盘绑定关系表 +// warehouseTrayGoodsService.saveEntityStock(distributionStockListEntity, trayTypeEntity, "1"); +// }else{ +// //存入零担与托盘绑定关系表 +// warehouseTrayGoodsService.saveEntityStock(distributionStockListEntity, trayTypeEntity, "0"); +// } +// //添加上拖日志表 +// warehouseTrayGoodsLogService.saveLogStock(distributionStockListEntity, trayTypeEntity, "1", "分拣打托:有数据库存品 分拣", "1"); + + if (chuanFlag){ + log.warn("#########scanStockOrderPackageCode: 不属于同一个"+msg+" 串货 filterValue={} filterValue={}", filterValue, filterValue); + return Resp.scanFail(2001, "不属于同一个"+msg, "串货"); + }else{ + return R.success("扫描成功"); + } + } + + private void changeStockTotalNumByTrayTypeId(DistributionStockListEntity distributionStockListEntity, Long trayTypeId, int addSub) { + log.info("#########changeStockTotalNumByTrayTypeId: 变更打托方式上的数量 trayTypeId={} addSub={}", trayTypeId, addSub); + + Integer quantityStock = distributionStockListEntity.getQuantityStock();//在库数量 +// distributionStockListEntity.get +// Integer totalNumber = stockArticleEntity.getTotalNumber(); +// String orderCode = stockArticleEntity.getOrderCode(); +// WarehouseTrayGoodsEntity trayGoodsEntity = warehouseTrayGoodsService.getZeroByTrayTypeIdAndOrderCode(trayTypeId, orderCode); +// +// +// if (addSub == 1) { +// if (Objects.isNull(trayGoodsEntity)) { +// //需要同时添加订单总数量到打托方式 +// baseMapper.changeTotalNumAndOrderTotalNumByTrayTypeId(num, totalNumber, trayTypeId); +// } else { +// baseMapper.changeTotalNumByTrayTypeId(num, trayTypeId); +// } +// } else if (addSub == 2) { +// if (Objects.isNull(trayGoodsEntity)) { +// log.warn("#################changeZeroTotalNumByTrayTypeId: 未找到对应的数据 orderCode={}",orderCode); +// throw new CustomerException(403,"未找到对应的数据"); +// } else { +// baseMapper.changeTotalNumAndOrderTotalNumByTrayTypeId(-num, -totalNumber, trayTypeId); +// } +// } else { +// log.warn("############changeZeroTotalNumByTrayTypeId:未知的计算类型"); +// } + + + } + + private WarehouseTrayTypeEntity saveTrayTypeByStock(String trayType, String trayCode, String orderPackageCode) { + log.info("#########saveTrayTypeByStock: 存入打托方式 trayType={},trayCode={} orderPackageCode={}",trayType,trayCode,orderPackageCode); + BasicdataTrayEntity trayEntity = basicdataTrayClient.getTrayByTrayCode(trayCode); + if(Objects.isNull(trayEntity)){ + log.warn("#########saveTrayTypeByStock: 未找到托盘信息 trayCode={}",trayCode); + throw new CustomerException(403,"未找到托盘信息"); + } + Long trayId = trayEntity.getId(); + //查询库存品数据 + DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCode(orderPackageCode); + if(Objects.isNull(parcelListEntity)){ + log.warn("#########saveTrayTypeByStock: 未找到包件信息 orderPackageCode={}",orderPackageCode); + throw new CustomerException(403,"未找到包件信息"); + } + Long parcelListId = parcelListEntity.getId();//包件id + DistributionStockListEntity distributionStockListEntity = distributionStockListClient.getStockListByParcelListId(parcelListId); + if(Objects.isNull(distributionStockListEntity)){ + log.warn("#########saveTrayTypeByStock: 未找到库存品信息 parcelListId={}",parcelListId); + throw new CustomerException(403,"未找到库存品信息"); + } + Long marketId = distributionStockListEntity.getMarketId(); + String marketName = distributionStockListEntity.getMarketName(); + Long materialId = distributionStockListEntity.getMaterialId();//物料id + BasicMaterialEntity materialEntity = basicMaterialClient.getMaterialOwnId(materialId); + if(Objects.isNull(materialEntity)){ + log.warn("#########saveTrayTypeByStock: 未找到物料信息 materialId={}",materialId); + throw new CustomerException(403,"未找到物料信息"); + } + String productCode = materialEntity.getProductCode();//物料编码 + String name = materialEntity.getName();//物料名称 + + WarehouseTrayTypeEntity trayTypeEntity = new WarehouseTrayTypeEntity(); + trayTypeEntity.setTrayId(trayId); + trayTypeEntity.setTrayCode(trayCode); + trayTypeEntity.setType(PalletProductTypeConstant.STOCKDATA); + trayTypeEntity.setTrayType(trayType); + trayTypeEntity.setOrderTotalNum(0); + trayTypeEntity.setTotalNum(0); + trayTypeEntity.setTenantId(AuthUtil.getTenantId()); + trayTypeEntity.setCreateDept(Long.parseLong(AuthUtil.getDeptId())); + trayTypeEntity.setCreateUser(AuthUtil.getUserId()); + trayTypeEntity.setUpdateUser(AuthUtil.getUserId()); + + if("10".equals(trayType)){//物料名称 + trayTypeEntity.setFilterValue(name); + }else if("20".equals(trayType)){//物料编码 + trayTypeEntity.setFilterId(materialId); + trayTypeEntity.setFilterValue(productCode); + } + baseMapper.insert(trayTypeEntity); + + //修改托盘的状态 + basicdataTrayClient.updateTrayStatus(trayId,2); + return trayTypeEntity; + } + }