From 8c7bd9143f75ef085c36f11b95c8627160706ba8 Mon Sep 17 00:00:00 2001 From: youjie <272855983@qq.com> Date: Mon, 18 Sep 2023 16:17:28 +0800 Subject: [PATCH] 通过物料编码在库存查看界面查询库存 --- ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue | 15 ++++++++++----- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java | 8 ++++++-- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java | 19 +++++++++++++++++-- huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java | 4 ++++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java | 2 ++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java | 9 +++++++++ huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java | 3 +++ 7 files changed, 51 insertions(+), 9 deletions(-) diff --git a/ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue b/ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue index 2d23e41..ded4c9f 100644 --- a/ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue +++ b/ant-design-vue-jeecg/src/views/system/inventory/InventoryHeaderList.vue @@ -20,11 +20,16 @@ <a-input placeholder="请输入库位编码" v-model="queryParam.locationCode"></a-input> </a-form-item> </a-col> - <a-col :xl="6" :lg="7" :md="8" :sm="24"> - <a-form-item label="容器编码"> - <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> - </a-form-item> - </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="物料编码"> + <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input> + </a-form-item> + </a-col> + <a-col :xl="6" :lg="7" :md="8" :sm="24"> + <a-form-item label="容器编码"> + <a-input placeholder="请输入容器编码" v-model="queryParam.containerCode"></a-input> + </a-form-item> + </a-col> <a-col :xl="6" :lg="7" :md="8" :sm="24"> <a-form-item label="容器状态"> <j-dict-select-tag placeholder="请选择容器状态" v-model="queryParam.containerStatus" diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java index 971beac..71453eb 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java @@ -196,8 +196,12 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container .eq(StringUtils.isNotEmpty(container.getCode()), Container::getCode, container.getCode()) .eq(StringUtils.isNotEmpty(container.getLocationCode()), Container::getLocationCode, container.getLocationCode()); List<Container> list = this.list(lambdaQueryWrapper); - list.addAll(containerList); - return list; + if (containerList.size() != 0) { + containerList.addAll(list); + return containerList; + } else { + return list; + } } private int getStartNumber(String containerTypeCode, String warehouseCode) { diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java index f646847..f903443 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/controller/InventoryHeaderController.java @@ -43,6 +43,7 @@ import org.springframework.web.servlet.ModelAndView; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -86,13 +87,14 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, public Result<IPage<InventoryHeader>> queryPageList(InventoryHeader inventoryHeader, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { HuahengJwtUtil.setWarehouseCode(req, inventoryHeader); + String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req); String realName = HuahengJwtUtil.getCurrentOperator(); + String materialCode = inventoryHeader.getMaterialCode(); String inventoryHeaderZoneCode = inventoryHeader.getZoneCode(); LambdaQueryWrapper<InventoryHeader> inventoryHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); QueryWrapper<InventoryHeader> queryWrapper = QueryGenerator.initQueryWrapper(inventoryHeader, req.getParameterMap()); queryWrapper.orderByDesc("id"); - Page<InventoryHeader> page = new Page<InventoryHeader>(pageNo, pageSize); - IPage<InventoryHeader> pageList = inventoryHeaderService.page(page, queryWrapper); + inventoryHeaderLambdaQueryWrapper = queryWrapper.lambda(); if (StringUtils.isEmpty(inventoryHeaderZoneCode)) { if (StringUtils.isNotEmpty(realName)) { SysUser sysUser = sysUserService.getUserByRealName(realName); @@ -105,6 +107,19 @@ public class InventoryHeaderController extends JeecgController<InventoryHeader, } } } + if (StringUtils.isNotEmpty(materialCode)) { + InventoryDetail inventoryDetail = new InventoryDetail(); + inventoryDetail.setMaterialCode(materialCode); + List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByMaterialCode(materialCode, warehouseCode); + if (CollectionUtils.isNotEmpty(inventoryDetailList)) { + List<String> containerCodeList = inventoryDetailList.stream().distinct().map(InventoryDetail::getContainerCode).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(containerCodeList)) { + inventoryHeaderLambdaQueryWrapper.in(InventoryHeader::getContainerCode, containerCodeList); + } + } + } + Page<InventoryHeader> page = new Page<InventoryHeader>(pageNo, pageSize); + IPage<InventoryHeader> pageList = inventoryHeaderService.page(page, queryWrapper); return Result.OK(pageList); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java index 799015e..4daf9c3 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/entity/InventoryHeader.java @@ -74,6 +74,10 @@ public class InventoryHeader implements Serializable { @Excel(name = "总重量", width = 15) @ApiModelProperty(value = "总重量") private Integer totalWeight; + /** 物料编码 */ + @TableField(exist = false) + @ApiModelProperty(value = "物料编码") + private String materialCode; /** 备用字段1 */ @Excel(name = "备用字段1", width = 15) @ApiModelProperty(value = "备用字段1") diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java index f7fe95a..572289d 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryDetailService.java @@ -27,6 +27,8 @@ public interface IInventoryDetailService extends IService<InventoryDetail> { List<InventoryDetail> getInventoryDetailListByContainerCode(String containerCode, String warehouseCode); + List<InventoryDetail> getInventoryDetailListByMaterialCode(String materialCode, String warehouseCode); + // 求一种物料的库存之和(总数) BigDecimal getInventorySumQty(InventoryDetail inventoryDetail); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java index f9ef9c1..11d84e8 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryDetailServiceImpl.java @@ -89,6 +89,15 @@ public class InventoryDetailServiceImpl extends ServiceImpl<InventoryDetailMappe } @Override + public List<InventoryDetail> getInventoryDetailListByMaterialCode(String materialCode, String warehouseCode) { + LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); + inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getMaterialCode, materialCode).eq(InventoryDetail::getWarehouseCode, warehouseCode) + .eq(InventoryDetail::getEnable, QuantityConstant.INVENTORY_DETAIL_STATUS_ENABLE); + List<InventoryDetail> inventoryDetailList = list(inventoryDetailLambdaQueryWrapper); + return inventoryDetailList; + } + + @Override public BigDecimal getInventorySumQty(InventoryDetail inventoryDetail) { LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getInventoryStatus, inventoryDetail.getInventoryStatus()) diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java index 06f7675..4661a15 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java @@ -1887,6 +1887,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea throw new JeecgBootException("快速入库, 生成补充任务时必须有入库口"); } } + if (!receiptHeaderService.updateReceiptHeader(receiptHeader.getId())) { + throw new JeecgBootException("快速入库, 更新入库表单头失败"); + } return Result.OK("快速入库成功"); } -- libgit2 0.22.2