From 98d527c246e3879ba39d537ef55d94a63c1273e1 Mon Sep 17 00:00:00 2001 From: caoyizhong <1270296080@qq.com> Date: Thu, 13 Jul 2023 10:32:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A5=E5=BA=93=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/entity/BasicMaterialEntity.java | 12 +-- .../WarehouseWarehousingDetailEntity.java | 10 ++ .../WarehouseWarehousingEntryEntity.java | 15 +++ .../vo/WarehouseWarehousingEntryVO.java | 5 + .../WarehouseWarehousingEntryController.java | 10 ++ .../IWarehouseWarehousingEntryService.java | 7 ++ .../WarehouseWarehousingEntryServiceImpl.java | 99 ++++++++++++++++++- 7 files changed, 148 insertions(+), 10 deletions(-) diff --git a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicMaterialEntity.java b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicMaterialEntity.java index c63e87d65..c162bb4cd 100644 --- a/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicMaterialEntity.java +++ b/blade-service-api/logpm-basic-api/src/main/java/com/logpm/basic/entity/BasicMaterialEntity.java @@ -101,27 +101,27 @@ public class BasicMaterialEntity extends TenantEntity { * 长 */ @ApiModelProperty(value = "长") - private BigDecimal extent; + private String extent; /** * 宽 */ @ApiModelProperty(value = "宽") - private BigDecimal breadth; + private String breadth; /** * 高度 */ @ApiModelProperty(value = "高度") - private BigDecimal altitude; + private String altitude; /** * 体积 */ @ApiModelProperty(value = "体积") - private BigDecimal volume; + private String volume; /** * 总量 */ @ApiModelProperty(value = "总量") - private BigDecimal weight; + private String weight; /** * 备注 */ @@ -140,6 +140,6 @@ public class BasicMaterialEntity extends TenantEntity { private String sku; @ApiModelProperty(value = "包装数量") - private Integer packageNum; + private String packageNum; } diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWarehousingDetailEntity.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWarehousingDetailEntity.java index cfcb88391..10e6ab31b 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWarehousingDetailEntity.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWarehousingDetailEntity.java @@ -86,11 +86,21 @@ public class WarehouseWarehousingDetailEntity extends TenantEntity { */ @ApiModelProperty(value = "包装数量") private String packagingNumber; + /** + * 物料ID + */ + @ApiModelProperty(value = "物料Id") + private Long materialId; /** * 包装规格 */ @ApiModelProperty(value = "包装规格") private String packagingSpecifications; + /** + * 详情状态 1.待确定 2部分入库 3.已确定 + */ + @ApiModelProperty(value = "详情状态") + private String conditions; /** * 创建入库数量 */ diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWarehousingEntryEntity.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWarehousingEntryEntity.java index e502d5a00..00a36f236 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWarehousingEntryEntity.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/entity/WarehouseWarehousingEntryEntity.java @@ -123,6 +123,21 @@ public class WarehouseWarehousingEntryEntity extends TenantEntity { */ @ApiModelProperty(value = "入库状态") private String conditions; + /** + * 客户ID + */ + @ApiModelProperty(value = "客户ID") + private Long clientId; + /** + * 门店 + */ + @ApiModelProperty(value = "门店") + private Long storeId; + /** + * 仓库Id + */ + @ApiModelProperty(value = "仓库Id") + private Long warehouseId; /** * 入库总件数 */ diff --git a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWarehousingEntryVO.java b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWarehousingEntryVO.java index 83db60f4f..97bcbe279 100644 --- a/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWarehousingEntryVO.java +++ b/blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/vo/WarehouseWarehousingEntryVO.java @@ -16,11 +16,14 @@ */ package com.logpm.warehouse.vo; +import com.logpm.warehouse.entity.WarehouseWarehousingDetailEntity; import com.logpm.warehouse.entity.WarehouseWarehousingEntryEntity; import org.springblade.core.tool.node.INode; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.List; + /** * 仓库入库单 视图实体类 * @@ -32,4 +35,6 @@ import lombok.EqualsAndHashCode; public class WarehouseWarehousingEntryVO extends WarehouseWarehousingEntryEntity { private static final long serialVersionUID = 1L; + private List list; + } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWarehousingEntryController.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWarehousingEntryController.java index 9b9d8cbf6..783fa99a8 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWarehousingEntryController.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/controller/WarehouseWarehousingEntryController.java @@ -69,6 +69,16 @@ public class WarehouseWarehousingEntryController extends BladeController { WarehouseWarehousingEntryEntity detail = warehouseWarehousingEntryService.getOne(Condition.getQueryWrapper(warehouseWarehousingEntry)); return R.data(detail); } + /** + * 仓库入库单 详情 自 + */ + @GetMapping("/detailOwn") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "详情", notes = "传入warehouseWarehousingEntry") + public R detailOwn(WarehouseWarehousingEntryEntity warehouseWarehousingEntry) { + WarehouseWarehousingEntryVO detail = warehouseWarehousingEntryService.getOneOwn(warehouseWarehousingEntry); + return R.data(detail); + } /** * 仓库入库单 分页 */ diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWarehousingEntryService.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWarehousingEntryService.java index c4e308c44..a59f810a9 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWarehousingEntryService.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWarehousingEntryService.java @@ -56,4 +56,11 @@ public interface IWarehouseWarehousingEntryService extends BaseService implements IWarehouseWarehousingEntryService { private final IWarehouseWarehousingDetailService warehouseWarehousingDetailService; + + + @Override public IPage selectWarehouseWarehousingEntryPage(IPage page, WarehouseWarehousingEntryVO warehouseWarehousingEntry) { return page.setRecords(baseMapper.selectWarehouseWarehousingEntryPage(page, warehouseWarehousingEntry)); @@ -61,13 +72,52 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl list = warehouseWarehousingEntryDTO.getList(); WarehouseWarehousingEntryEntity warehouseWarehousingEntry = new WarehouseWarehousingEntryEntity(); BeanUtil.copyProperties(warehouseWarehousingEntryDTO,warehouseWarehousingEntry); if(ObjectUtils.isNotNull(warehouseWarehousingEntryDTO.getId())){ + List detailEntityList = new ArrayList<>(); //修改 this.updateById(warehouseWarehousingEntry); + List list1 = warehouseWarehousingDetailService.list(Wrappers.query().lambda() + .eq(WarehouseWarehousingDetailEntity::getWarehousingEntryId, warehouseWarehousingEntry.getId()) + ); + list1.forEach( i ->{ + boolean b = list.stream().anyMatch(w -> w.getMaterialId().equals(i.getMaterialId())); + if(b){ + Iterator iterator = list.iterator(); + while (iterator.hasNext()){ + WarehouseWarehousingDetailEntity next = iterator.next(); + if(next.getMaterialId().equals(i.getMaterialId())){ + //修改 + WarehouseWarehousingDetailEntity detailEntity = new WarehouseWarehousingDetailEntity(); + detailEntity.setId(i.getId()); + detailEntity.setActualReceipt(next.getActualReceipt()); + if(next.getActualReceipt().equals(i.getCreateInventory())){ + detailEntity.setConditions("3"); + }else{ + detailEntity.setConditions("2"); + } + warehouseWarehousingDetailService.updateById(detailEntity);//修改数据 + //当前入库数量 + int i1 = next.getActualReceipt() - i.getActualReceipt(); + //添加库存品 + addInventory(i1,warehouseWarehousingEntryDTO,i); + iterator.remove(); + } + } + + }else{ + //删除 + detailEntityList.add(i.getId()); + } + }); + if(detailEntityList.size() > 0){ + //删除多余的 + warehouseWarehousingDetailService.deleteLogic(detailEntityList); + } }else{ //添加 warehouseWarehousingEntry.setSource("添加"); @@ -75,11 +125,52 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl - i.setWarehousingEntryId(warehouseWarehousingEntry.getId()) - ); - warehouseWarehousingDetailService.saveBatch(list); + if(list.size() > 0){ + list.forEach(i ->{ + i.setWarehousingEntryId(warehouseWarehousingEntry.getId()); + i.setConditions("1"); + } + ); + warehouseWarehousingDetailService.saveBatch(list); + } return true; } + /** + * 添加库存品 + * @param num + * @param warehousingEntryDTO + * @param warehousingDetail + * @return + */ + public Boolean addInventory(Integer num,WarehouseWarehousingEntryDTO warehousingEntryDTO,WarehouseWarehousingDetailEntity warehousingDetail){ + + + + + + + + + return null; + } + + + /** + * + * @param warehouseWarehousingEntry + * @return + */ + @Override + public WarehouseWarehousingEntryVO getOneOwn(WarehouseWarehousingEntryEntity warehouseWarehousingEntry) { + WarehouseWarehousingEntryEntity one = this.getOne(Condition.getQueryWrapper(warehouseWarehousingEntry)); + List list = warehouseWarehousingDetailService.list(Wrappers.query().lambda() + .eq(WarehouseWarehousingDetailEntity::getWarehousingEntryId, one.getId()) + ); + WarehouseWarehousingEntryVO warehouseWarehousingEntryVO = new WarehouseWarehousingEntryVO(); + BeanUtils.copyProperties(one,warehouseWarehousingEntryVO); + warehouseWarehousingEntryVO.setList(list); + return warehouseWarehousingEntryVO; + } + }