feat:库存查询,库存记录查询、入库记录查询

This commit is contained in:
禁止呵呵
2025-12-09 16:10:37 +08:00
parent 1187038ba8
commit 2790ed7ea1
24 changed files with 645 additions and 12 deletions

View File

@@ -99,7 +99,7 @@ public class MaterialBatchAssignController extends AbstractFileUploadController
@GetMapping("/get-by-inf") @GetMapping("/get-by-inf")
@Operation(summary = "获得物料批次分发") @Operation(summary = "获得物料批次分发")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "productId", description = "产品大类编号", required = true)
// @PreAuthorize("@ss.hasPermission('qms:material-batch-assign:query')") // @PreAuthorize("@ss.hasPermission('qms:material-batch-assign:query')")
public CommonResult<PageResult<MaterialBatchAssignRespVO>> getMaterialBatchAssignByInfiId(MaterialBatchAssignPageReqVO pageReqVO) { public CommonResult<PageResult<MaterialBatchAssignRespVO>> getMaterialBatchAssignByInfiId(MaterialBatchAssignPageReqVO pageReqVO) {

View File

@@ -10,11 +10,13 @@ import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.excel.core.util.ExcelUtils; import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInventoryInboundDetailPageReqVO; import com.zt.plat.module.qms.resource.material.controller.vo.*;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInventoryInboundDetailRespVO; import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInventoryDO;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInventoryInboundDetailSaveReqVO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInventoryInboundDetailDO; import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInventoryInboundDetailDO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialProductDO;
import com.zt.plat.module.qms.resource.material.service.MaterialInventoryInboundDetailService; import com.zt.plat.module.qms.resource.material.service.MaterialInventoryInboundDetailService;
import com.zt.plat.module.qms.resource.material.service.MaterialInventoryService;
import com.zt.plat.module.qms.resource.material.service.MaterialProductService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
@@ -36,7 +38,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
@RequestMapping("/qms/resource/material-inventory") @RequestMapping("/qms/resource/material-inventory")
@Validated @Validated
@FileUploadController(source = "qms.materiainfo") @FileUploadController(source = "qms.materiainfo")
public class MaterialInventoryController extends AbstractFileUploadController implements BusinessControllerMarker{ public class MaterialInventoryController extends AbstractFileUploadController implements BusinessControllerMarker {
static { static {
FileUploadController annotation = MaterialInventoryController.class.getAnnotation(FileUploadController.class); FileUploadController annotation = MaterialInventoryController.class.getAnnotation(FileUploadController.class);
@@ -48,6 +50,10 @@ public class MaterialInventoryController extends AbstractFileUploadController im
@Resource @Resource
private MaterialInventoryInboundDetailService materialInventoryInboundDetailService; private MaterialInventoryInboundDetailService materialInventoryInboundDetailService;
@Resource
private MaterialInventoryService mterialInventoryService;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建入库明细,出库明细,含领用出库、退货出库、盘亏出库、销毁出库等") @Operation(summary = "创建入库明细,出库明细,含领用出库、退货出库、盘亏出库、销毁出库等")
@PreAuthorize("@ss.hasPermission('qms:material-inventory-inbound-detail:create')") @PreAuthorize("@ss.hasPermission('qms:material-inventory-inbound-detail:create')")
@@ -91,9 +97,9 @@ public class MaterialInventoryController extends AbstractFileUploadController im
} }
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得入库明细,出库明细,含领用出库、退货出库、盘亏出库、销毁出库等分页") @Operation(summary = "获得库存明细")
// @PreAuthorize("@ss.hasPermission('qms:material-inventory-inbound-detail:query')") // @PreAuthorize("@ss.hasPermission('qms:material-inventory-inbound-detail:query')")
public CommonResult<PageResult<MaterialInventoryInboundDetailRespVO>> getMaterialInventoryInboundDetailPage(@Valid MaterialInventoryInboundDetailPageReqVO pageReqVO) { public CommonResult<PageResult<MaterialInventoryInboundDetailRespVO>> getMaterialInventoryPage(@Valid MaterialInventoryInboundDetailPageReqVO pageReqVO) {
PageResult<MaterialInventoryInboundDetailDO> pageResult = materialInventoryInboundDetailService.getMaterialInventoryInboundDetailPage(pageReqVO); PageResult<MaterialInventoryInboundDetailDO> pageResult = materialInventoryInboundDetailService.getMaterialInventoryInboundDetailPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, MaterialInventoryInboundDetailRespVO.class)); return success(BeanUtils.toBean(pageResult, MaterialInventoryInboundDetailRespVO.class));
} }
@@ -111,4 +117,24 @@ public class MaterialInventoryController extends AbstractFileUploadController im
BeanUtils.toBean(list, MaterialInventoryInboundDetailRespVO.class)); BeanUtils.toBean(list, MaterialInventoryInboundDetailRespVO.class));
} }
@GetMapping("/getList")
@Operation(summary = "获得库存列表")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<PageResult<MaterialInventoryRespVO>> getMaterialProduct(MaterialInventoryRespVO pageReqVO) {
PageResult<MaterialInventoryDO> pageResult = mterialInventoryService.getMaterialInventoryPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, MaterialInventoryRespVO.class));
}
@GetMapping("/get_mtrl_inf")
@Operation(summary = "获取实例列表")
@Parameter(name = "id", description = "编号", required = true)
public CommonResult<PageResult<MaterialInventoryRespVO>> getInfomation(MaterialInventoryRespVO pageReqVO) {
PageResult<MaterialInventoryDO> pageResult = mterialInventoryService.getMaterialInventoryPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, MaterialInventoryRespVO.class));
}
} }

View File

@@ -37,7 +37,7 @@ import com.zt.plat.module.qms.resource.material.service.MaterialInventoryInbound
@Tag(name = "管理后台 - 入库明细,出库明细,含领用出库、退货出库、盘亏出库、销毁出库等") @Tag(name = "管理后台 - 入库明细,出库明细,含领用出库、退货出库、盘亏出库、销毁出库等")
@RestController @RestController
@RequestMapping("/qms/material-inventory-inbound-detail") @RequestMapping("/qms/resource/material-inventory-inbound-detail")
@Validated @Validated
@FileUploadController(source = "qms.materialinventoryinbounddetail") @FileUploadController(source = "qms.materialinventoryinbounddetail")
public class MaterialInventoryInboundDetailController extends AbstractFileUploadController implements BusinessControllerMarker{ public class MaterialInventoryInboundDetailController extends AbstractFileUploadController implements BusinessControllerMarker{

View File

@@ -0,0 +1,102 @@
package com.zt.plat.module.qms.resource.material.controller.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 库存列表分页 Request VO")
@Data
public class MaterialInventoryPageReqVO extends PageParam {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.AUTO, example = "32133")
private Long id;
@Schema(description = "父id", example = "6098")
private Long parentId;
@Schema(description = "id路径")
private String idPath;
@Schema(description = "节点类型,分类|产品", example = "2")
private String nodeType;
@Schema(description = "名称", example = "张三")
private String name;
@Schema(description = "其他配置")
private String customConfig;
@Schema(description = "自定义表单")
private String customForm;
@Schema(description = "扩展数据")
private String customData;
@Schema(description = "标签")
private String tag;
@Schema(description = "标签模板")
private String labelTemplateKey;
@Schema(description = "型号")
private String modelNo;
@Schema(description = "规格")
private String specification;
@Schema(description = "技术参数")
private String parameter;
@Schema(description = "制造商")
private String manufacturer;
@Schema(description = "单位")
private String unit;
@Schema(description = "允许按量领取")
private String enablePartial;
@Schema(description = "保质期(天)")
private Integer due;
@Schema(description = "开封后保质期是否变化")
private String openDueFlag;
@Schema(description = "开封后保质期(天)")
private Integer openDueAfter;
@Schema(description = "是否危险品")
private String hazardous;
@Schema(description = "是否标准溶液")
private String standardSolutionFlag;
@Schema(description = "是否标准物质")
private String standardMaterialFlag;
@Schema(description = "复标周期,单位天。小于等于0-不复标")
private Integer reviewDue;
@Schema(description = "排序号")
private Integer sortNo;
@Schema(description = "禁用")
private String cancelFlag;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@@ -0,0 +1,143 @@
package com.zt.plat.module.qms.resource.material.controller.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.module.qms.core.aspect.annotation.Dict;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 库存列表 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MaterialInventoryRespVO extends PageParam {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "32133")
@ExcelProperty("主键")
private Long id;
@Schema(description = "父id", example = "6098")
@ExcelProperty("父id")
private Long parentId;
@Schema(description = "id路径")
@ExcelProperty("id路径")
private String idPath;
@Schema(description = "节点类型,分类|产品", example = "2")
@ExcelProperty("节点类型,分类|产品")
private String nodeType;
@Schema(description = "名称", example = "张三")
@ExcelProperty("名称")
private String name;
@Schema(description = "其他配置")
@ExcelProperty("其他配置")
private String customConfig;
@Schema(description = "自定义表单")
@ExcelProperty("自定义表单")
private String customForm;
@Schema(description = "扩展数据")
@ExcelProperty("扩展数据")
private String customData;
@Schema(description = "标签")
@ExcelProperty("标签")
private String tag;
@Schema(description = "标签模板")
@ExcelProperty("标签模板")
private String labelTemplateKey;
@Schema(description = "型号")
@ExcelProperty("型号")
private String modelNo;
@Schema(description = "规格")
@ExcelProperty("规格")
private String specification;
@Schema(description = "技术参数")
@ExcelProperty("技术参数")
private String parameter;
@Schema(description = "制造商")
@ExcelProperty("制造商")
private String manufacturer;
@Schema(description = "单位")
@ExcelProperty("单位")
private String unit;
@Schema(description = "允许按量领取")
@ExcelProperty("允许按量领取")
@Dict(dicCode = "yes_or_no")
private String enablePartial;
@Schema(description = "保质期(天)")
@ExcelProperty("保质期(天)")
private Integer due;
@Schema(description = "开封后保质期是否变化")
@ExcelProperty("开封后保质期是否变化")
@Dict(dicCode = "yes_or_no")
private String openDueFlag;
@Schema(description = "开封后保质期(天)")
@ExcelProperty("开封后保质期(天)")
private Integer openDueAfter;
@Schema(description = "是否危险品")
@ExcelProperty("是否危险品")
@Dict(dicCode = "yes_or_no")
private String hazardous;
@Schema(description = "是否标准溶液")
@ExcelProperty("是否标准溶液")
@Dict(dicCode = "yes_or_no")
private String standardSolutionFlag;
@Schema(description = "是否标准物质")
@ExcelProperty("是否标准物质")
@Dict(dicCode = "yes_or_no")
private String standardMaterialFlag;
@Schema(description = "复标周期,单位天。小于等于0-不复标")
@ExcelProperty("复标周期")
private Integer reviewDue;
@Schema(description = "排序号")
@ExcelProperty("排序号")
private Integer sortNo;
@Schema(description = "禁用")
@ExcelProperty("禁用")
private String cancelFlag;
@Schema(description = "所属部门")
@ExcelProperty("所属部门")
private String systemDepartmentCode;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createTime;
/**
* 总数量
*/
@TableField("INB_QTY")
@Schema(description = "库存总量")
@ExcelProperty("库存总量")
private Long inboundQuantity;
}

View File

@@ -0,0 +1,169 @@
package com.zt.plat.module.qms.resource.material.dal.dataobject;
import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
import lombok.*;
/**
* 物料大类 DO
*
* @author 后台管理
*/
@TableName("t_mtrl_pdt")
@KeySequence("t_mtrl_pdt_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
/**
* 支持业务基类继承isBusiness=true 时继承 BusinessBaseDO否则继承 BaseDO
*/
public class MaterialInventoryDO extends BusinessBaseDO {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 父id
*/
@TableField("PRN_ID")
private Long parentId;
/**
* id路径
*/
@TableField("ID_PATH")
private String idPath;
/**
* 节点类型,分类|产品
*/
@TableField("NDE_TP")
private String nodeType;
/**
* 名称
*/
@TableField("NAME")
private String name;
/**
* 其他配置
*/
@TableField("CST_CFG")
private String customConfig;
/**
* 自定义表单
*/
@TableField("CST_FORM")
private String customForm;
/**
* 扩展数据
*/
@TableField("CST_DAT")
private String customData;
/**
* 标签
*/
@TableField("TAG")
private String tag;
/**
* 标签模板
*/
@TableField("LBL_TMPL_KY")
private String labelTemplateKey;
/**
* 型号
*/
@TableField("MDL_NO")
private String modelNo;
/**
* 规格
*/
@TableField("SPEC")
private String specification;
/**
* 技术参数
*/
@TableField("PRM")
private String parameter;
/**
* 制造商
*/
@TableField("MFR")
private String manufacturer;
/**
* 单位
*/
@TableField("UNT")
private String unit;
/**
* 允许按量领取,1-领用时输入量按量领取0-领用时不能输入量,整个领走
*/
@TableField("ENB_PRTL")
private String enablePartial;
/**
* 保质期(天)
*/
@TableField("DUE")
private Integer due;
/**
* 开封后保质期是否变化
*/
@TableField("OPN_DUE_FLG")
private String openDueFlag;
/**
* 开封后保质期(天)
*/
@TableField("OPN_DUE_AFT")
private Integer openDueAfter;
/**
* 是否危险品
*/
@TableField("HZRD")
private String hazardous;
/**
* 是否标准溶液
*/
@TableField("STD_SOL_FLG")
private String standardSolutionFlag;
/**
* 是否标准物质
*/
@TableField("STD_MTRL_FLG")
private String standardMaterialFlag;
/**
* 复标周期,单位天。小于等于0-不复标
*/
@TableField("RVW_DUE")
private Integer reviewDue;
/**
* 排序号
*/
@TableField("SRT_NO")
private Integer sortNo;
/**
* 禁用
*/
@TableField("CNL_FLG")
private String cancelFlag;
/**
* 所属部门
*/
@TableField("SYS_DEPT_CD")
private String systemDepartmentCode;
/**
* 备注
*/
@TableField("RMK")
private String remark;
/**
* 总数量
*/
@TableField("INB_QTY")
private Long inboundQuantity;
}

View File

@@ -0,0 +1,34 @@
package com.zt.plat.module.qms.resource.material.dal.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInventoryInboundPageReqVO;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInventoryRespVO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInventoryDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 入库 Mapper
*
* @author 后台管理
*/
@Mapper
public interface MaterialInventoryMapper extends BaseMapperX<MaterialInventoryDO> {
// default PageResult<MaterialInventoryDO> selectPage(MaterialInventoryRespVO reqVO) {
// return selectPage(reqVO, new LambdaQueryWrapperX<MaterialInventoryDO>()
//
// .eqIfPresent(MaterialInventoryDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
// .eqIfPresent(MaterialInventoryDO::getRemark, reqVO.getRemark())
// .betweenIfPresent(MaterialInventoryDO::getCreateTime, reqVO.getCreateTime())
// .orderByDesc(MaterialInventoryDO::getId));
// }
IPage<MaterialInventoryDO> selectPageList (IPage<?> page,@Param("param")MaterialInventoryRespVO RespVO);
}

View File

@@ -0,0 +1,26 @@
package com.zt.plat.module.qms.resource.material.service;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInventoryPageReqVO;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInventoryRespVO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInventoryDO;
import jakarta.validation.Valid;
import java.util.List;
/**
* 库存管理 Service 接口
*
* @author 后台管理
*/
public interface MaterialInventoryService {
/**
* 单个入库/上架
*/
PageResult<MaterialInventoryDO> getMaterialInventoryPage(MaterialInventoryRespVO pageReqVO);
}

View File

@@ -0,0 +1,30 @@
package com.zt.plat.module.qms.resource.material.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleEntrustRegistrationExtendRespVO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustRegistrationDO;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
import com.zt.plat.module.qms.resource.material.controller.vo.MaterialInventoryRespVO;
import com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInventoryDO;
import com.zt.plat.module.qms.resource.material.dal.mapper.MaterialInventoryMapper;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
@Service
public class MaterialInventoryServiceImpl implements MaterialInventoryService{
@Resource
private MaterialInventoryMapper materialInventoryMapper;
@Override
public PageResult<MaterialInventoryDO> getMaterialInventoryPage(MaterialInventoryRespVO pageReqVO){
IPage<MaterialInventoryDO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
IPage<MaterialInventoryDO> pageList = materialInventoryMapper.selectPageList(page, pageReqVO);
PageResult<MaterialInventoryDO> pageResult = new PageResult<>(pageList.getRecords(), pageList.getTotal());
return BeanUtils.toBean(pageResult, MaterialInventoryDO.class);
}
}

View File

@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zt.plat.module.qms.resource.material.dal.mapper.MaterialInventoryMapper">
<!-- 结果映射 -->
<resultMap id="MaterialInventoryMap"
type="com.zt.plat.module.qms.resource.material.dal.dataobject.MaterialInventoryDO">
<!-- 基础字段 -->
<id column="id" property="id"/>
<result column="CRT_ID" property="creator"/>
<result column="CRT_NM" property="creatorName"/>
<result column="CRT_IP" property="createIp"/>
<result column="CRT_TM" property="createTime"/>
<result column="UPD_ID" property="updater"/>
<result column="UPD_NM" property="updaterName"/>
<result column="UPD_IP" property="updateIp"/>
<result column="UPD_TM" property="updateTime"/>
<result column="DEL_FLG" property="deleted"/>
<!-- 业务字段 -->
<result column="PRN_ID" property="parentId"/>
<result column="ID_PATH" property="idPath"/>
<result column="NDE_TP" property="nodeType"/>
<result column="NAME" property="name"/>
<result column="CST_CFG" property="customConfig"/>
<result column="CST_FORM" property="customForm"/>
<result column="CST_DAT" property="customData"/>
<result column="TAG" property="tag"/>
<result column="LBL_TMPL_KY" property="labelTemplateKey"/>
<result column="MDL_NO" property="modelNo"/>
<result column="SPEC" property="specification"/>
<result column="PRM" property="parameter"/>
<result column="MFR" property="manufacturer"/>
<result column="UNT" property="unit"/>
<result column="ENB_PRTL" property="enablePartial"/>
<result column="DUE" property="due"/>
<result column="OPN_DUE_FLG" property="openDueFlag"/>
<result column="OPN_DUE_AFT" property="openDueAfter"/>
<result column="HZRD" property="hazardous"/>
<result column="STD_SOL_FLG" property="standardSolutionFlag"/>
<result column="STD_MTRL_FLG" property="standardMaterialFlag"/>
<result column="RVW_DUE" property="reviewDue"/>
<result column="SRT_NO" property="sortNo"/>
<result column="CNL_FLG" property="cancelFlag"/>
<result column="SYS_DEPT_CD" property="systemDepartmentCode"/>
<result column="RMK" property="remark"/>
<result column="INB_QTY" property="inboundQuantity"/>
</resultMap>
<!-- 查询数据库列表 -->
<select id="selectPageList"
resultMap="MaterialInventoryMap">
SELECT
PDT.id,
PDT.PRN_ID,
PDT.ID_PATH,
PDT.NDE_TP,
PDT.NAME,
PDT.CST_CFG,
PDT.CST_FORM,
PDT.CST_DAT,
PDT.TAG,
PDT.LBL_TMPL_KY,
PDT.MDL_NO,
PDT.SPEC,
PDT.PRM,
PDT.MFR,
PDT.UNT,
PDT.ENB_PRTL,
PDT.DUE,
PDT.OPN_DUE_FLG,
PDT.OPN_DUE_AFT,
PDT.HZRD,
PDT.STD_SOL_FLG,
PDT.STD_MTRL_FLG,
PDT.RVW_DUE,
PDT.SRT_NO,
PDT.CNL_FLG,
PDT.SYS_DEPT_CD,
PDT.RMK,
ASN_SUM.INB_QTY_SUM AS INB_QTY
FROM
T_MTRL_PDT PDT
LEFT JOIN (
SELECT
PDT_ID,
SUM(INB_QTY) AS INB_QTY_SUM
FROM T_MTRL_BAT_ASN
WHERE DELETED = '0'
GROUP BY PDT_ID
) ASN_SUM ON PDT.id = ASN_SUM.PDT_ID
<where>
PDT.DELETED = '0'
<if test="param != null and param.id != null">
AND PDT.PRN_ID = #{param.id}
</if>
</where>
ORDER BY PDT.id DESC
</select>
</mapper>