From 4ee874118bb8671348c1c622c0af141bd03299e3 Mon Sep 17 00:00:00 2001 From: siontion Date: Mon, 22 Jan 2024 12:46:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E7=AE=A1=E7=90=86?= =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=E7=89=A9=E6=96=99=E6=A8=A1=E7=B3=8A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 出入库管理 增加物料模糊查询 --- .../admin/storage/vo/StoragePageReqVO.java | 9 ++ .../storagelog/vo/StorageLogPageReqVO.java | 3 + .../storagelog/vo/StorageLogSaveReqVO.java | 95 ++++++++++--------- .../dataobject/storagelog/StorageLogDO.java | 5 + .../heli/dal/mysql/storage/StorageMapper.java | 65 +++++++++---- .../mapper/storagelog/StorageLogMapper.xml | 4 +- .../src/views/heli/storage/StorageForm.vue | 18 ++-- .../src/views/heli/storage/StorageOut.vue | 18 ++-- .../src/views/heli/storage/index.vue | 4 +- .../src/views/heli/storage/outdex.vue | 4 +- sql/v1.1.0/heli.sql | 1 + 11 files changed, 141 insertions(+), 85 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StoragePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StoragePageReqVO.java index faa79859..28b308be 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StoragePageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/vo/StoragePageReqVO.java @@ -74,4 +74,13 @@ public class StoragePageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] cancelTime; + @Schema(description = "物料编码") + private String matNo; + + @Schema(description = "物料名称") + private String matName; + + + + } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java index 0f7e9a66..da341cc6 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogPageReqVO.java @@ -37,6 +37,9 @@ public class StorageLogPageReqVO extends PageParam { @Schema(description = "批次号") private String lotNo; + @Schema(description = "状态") + private String status; + @Schema(description = "备注", example = "你说的对") private String description; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogSaveReqVO.java index 6b03f196..3dd4bfdc 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storagelog/vo/StorageLogSaveReqVO.java @@ -1,46 +1,49 @@ -package com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import javax.validation.constraints.*; -import java.util.*; -import java.math.BigDecimal; - -@Schema(description = "管理后台 - 入/出库日志新增/修改 Request VO") -@Data -public class StorageLogSaveReqVO { - - @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8048") - private Long id; - - @Schema(description = "入/出库Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3528") - @NotNull(message = "入/出库Id不能为空") - private Long stockId; - - @Schema(description = "物料 Id,对应 base_material表中的 Id 列", requiredMode = Schema.RequiredMode.REQUIRED, example = "21832") - @NotNull(message = "物料 Id,对应 base_material表中的 Id 列不能为空") - private Long matId; - - @Schema(description = "仓库 Id,对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3") - @NotNull(message = "仓库 Id,对应 wms_wh 表中的Id不能为空") - private Long whId; - - @Schema(description = "库区 Id,对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15108") - @NotNull(message = "库区 Id,对应 wms_rg 表中的Id不能为空") - private Long rgId; - - @Schema(description = "库区 Id,对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3954") - @NotNull(message = "库区 Id,对应 wms_rg 表中的Id不能为空") - private Long pnId; - - @Schema(description = "库存良品数量") - private BigDecimal storageOkQty; - - @Schema(description = "批次号") - private String lotNo; - - @Schema(description = "备注", example = "你说的对") - private String description; - -} \ No newline at end of file +package com.chanko.yunxi.mes.module.heli.controller.admin.storagelog.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import java.util.*; +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 入/出库日志新增/修改 Request VO") +@Data +public class StorageLogSaveReqVO { + + @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8048") + private Long id; + + @Schema(description = "入/出库Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3528") + @NotNull(message = "入/出库Id不能为空") + private Long stockId; + + @Schema(description = "物料 Id,对应 base_material表中的 Id 列", requiredMode = Schema.RequiredMode.REQUIRED, example = "21832") + @NotNull(message = "物料 Id,对应 base_material表中的 Id 列不能为空") + private Long matId; + + @Schema(description = "仓库 Id,对应 wms_wh 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3") + @NotNull(message = "仓库 Id,对应 wms_wh 表中的Id不能为空") + private Long whId; + + @Schema(description = "库区 Id,对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "15108") + @NotNull(message = "库区 Id,对应 wms_rg 表中的Id不能为空") + private Long rgId; + + @Schema(description = "库区 Id,对应 wms_rg 表中的Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3954") + @NotNull(message = "库区 Id,对应 wms_rg 表中的Id不能为空") + private Long pnId; + + @Schema(description = "库存良品数量") + private BigDecimal storageOkQty; + + @Schema(description = "批次号") + private String lotNo; + + @Schema(description = "备注", example = "你说的对") + private String description; + + @Schema(description = "状态", example = "你说的对") + private Integer status; + +} diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelog/StorageLogDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelog/StorageLogDO.java index f27f36ef..a3149927 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelog/StorageLogDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelog/StorageLogDO.java @@ -61,4 +61,9 @@ public class StorageLogDO extends BaseDO { */ private String description; + /** + * 状态 + */ + private Integer status; + } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java index f673819c..4d0c2931 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storage/StorageMapper.java @@ -5,9 +5,17 @@ import java.util.*; import com.chanko.yunxi.mes.framework.common.pojo.PageResult; import com.chanko.yunxi.mes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.chanko.yunxi.mes.framework.mybatis.core.mapper.BaseMapperX; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.customer.CustomerDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.material.MaterialDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.projectorder.ProjectOrderDO; import com.chanko.yunxi.mes.module.heli.dal.dataobject.storage.StorageDO; +import com.chanko.yunxi.mes.module.heli.dal.dataobject.storagemat.StorageMatDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.dept.DeptDO; +import com.chanko.yunxi.mes.module.system.dal.dataobject.user.AdminUserDO; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.*; +import org.springframework.util.StringUtils; /** * 入/出库 Mapper @@ -18,26 +26,43 @@ import com.chanko.yunxi.mes.module.heli.controller.admin.storage.vo.*; public interface StorageMapper extends BaseMapperX { default PageResult selectPage(StoragePageReqVO reqVO) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(StorageDO::getStockType, reqVO.getStockType()) - .eqIfPresent(StorageDO::getStockInType, reqVO.getStockInType()) - .eqIfPresent(StorageDO::getStockOutType, reqVO.getStockOutType()) - .eqIfPresent(StorageDO::getStockNo, reqVO.getStockNo()) - .eqIfPresent(StorageDO::getHeaderNo, reqVO.getHeaderNo()) - .eqIfPresent(StorageDO::getDescription, reqVO.getDescription()) - .eqIfPresent(StorageDO::getStatus, reqVO.getStatus()) - .eqIfPresent(StorageDO::getWhId, reqVO.getWhId()) - .eqIfPresent(StorageDO::getCreator, reqVO.getCreator()) - .betweenIfPresent(StorageDO::getCreateTime, reqVO.getCreateTime()) - .eqIfPresent(StorageDO::getUpdater, reqVO.getUpdater()) - .betweenIfPresent(StorageDO::getUpdateTime, reqVO.getUpdateTime()) - .eqIfPresent(StorageDO::getKeeper, reqVO.getKeeper()) - .betweenIfPresent(StorageDO::getKeeperTime, reqVO.getKeeperTime()) - .eqIfPresent(StorageDO::getOutbound, reqVO.getOutbound()) - .betweenIfPresent(StorageDO::getOutboundTime, reqVO.getOutboundTime()) - .eqIfPresent(StorageDO::getCancel, reqVO.getCancel()) - .betweenIfPresent(StorageDO::getCancelTime, reqVO.getCancelTime()) - .orderByDesc(StorageDO::getId)); + MPJLambdaWrapper query = new MPJLambdaWrapper<>(); + query.selectAll(StorageDO.class) + .select("mat.code as matNo", "mat.name as matName") + .leftJoin(StorageMatDO.class, "sm", StorageMatDO::getStockId, StorageDO::getId) + .leftJoin(MaterialDO.class, "mat", MaterialDO::getId, StorageMatDO::getMatId) + .orderByDesc(StorageDO::getId); + + query.like(!StringUtils.isEmpty(reqVO.getMatNo()), "mat.code", reqVO.getMatNo()) + .like(!StringUtils.isEmpty(reqVO.getMatName()), "mat.name", reqVO.getMatName()) + .like(!StringUtils.isEmpty(reqVO.getStockNo()),StorageDO::getStockNo, reqVO.getStockNo()) + .like(!StringUtils.isEmpty(reqVO.getHeaderNo()),StorageDO::getHeaderNo, reqVO.getHeaderNo()) + .eq(reqVO.getStockType() != null,StorageDO::getStockType, reqVO.getStockType()) + .eq(reqVO.getStockInType() != null,StorageDO::getStockInType, reqVO.getStockInType()) + .eq(reqVO.getWhId() != null,StorageDO::getWhId, reqVO.getWhId()) + .eq(reqVO.getStatus() != null,StorageDO::getStatus, reqVO.getStatus()); + + return selectPage(reqVO,query); +// return selectPage(reqVO, new LambdaQueryWrapperX() +// .eqIfPresent(StorageDO::getStockType, reqVO.getStockType()) +// .eqIfPresent(StorageDO::getStockInType, reqVO.getStockInType()) +// .eqIfPresent(StorageDO::getStockOutType, reqVO.getStockOutType()) +// .eqIfPresent(StorageDO::getStockNo, reqVO.getStockNo()) +// .eqIfPresent(StorageDO::getHeaderNo, reqVO.getHeaderNo()) +// .eqIfPresent(StorageDO::getDescription, reqVO.getDescription()) +// .eqIfPresent(StorageDO::getStatus, reqVO.getStatus()) +// .eqIfPresent(StorageDO::getWhId, reqVO.getWhId()) +// .eqIfPresent(StorageDO::getCreator, reqVO.getCreator()) +// .betweenIfPresent(StorageDO::getCreateTime, reqVO.getCreateTime()) +// .eqIfPresent(StorageDO::getUpdater, reqVO.getUpdater()) +// .betweenIfPresent(StorageDO::getUpdateTime, reqVO.getUpdateTime()) +// .eqIfPresent(StorageDO::getKeeper, reqVO.getKeeper()) +// .betweenIfPresent(StorageDO::getKeeperTime, reqVO.getKeeperTime()) +// .eqIfPresent(StorageDO::getOutbound, reqVO.getOutbound()) +// .betweenIfPresent(StorageDO::getOutboundTime, reqVO.getOutboundTime()) +// .eqIfPresent(StorageDO::getCancel, reqVO.getCancel()) +// .betweenIfPresent(StorageDO::getCancelTime, reqVO.getCancelTime()) +// .orderByDesc(StorageDO::getId)); } } \ No newline at end of file diff --git a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogMapper.xml b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogMapper.xml index f383c187..d89a38b3 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogMapper.xml +++ b/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/storagelog/StorageLogMapper.xml @@ -8,5 +8,7 @@ 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> - + \ No newline at end of file diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue index 4048ed93..659cef6c 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue @@ -217,10 +217,9 @@ -