库存单相关

This commit is contained in:
anxin
2025-03-26 17:02:40 +08:00
parent 416925005b
commit b9dd394730
11 changed files with 1033 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.appservice;
import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.openhis.web.inventorymanage.dto.*;
/**
* 采购入库明细查询 service
*
* @author
* @date 2025-03-10
*/
public interface IInventoryDetailsAppService {
/**
* 采购入库查询
*
* @param purchaseInSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 采购入库查询分页列表
*/
IPage<PurchaseInDetailDto> purchaseInGetPage(PurchaseInSearchParam purchaseInSearchParam, String searchKey,
Integer pageNo, Integer pageSize, HttpServletRequest request);
/**
* 领用出库查询
*
* @param requisitionOutSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 领用出库查询分页列表
*/
IPage<RequisitionOutDetailDto> requisitionOutGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request);
/**
* 商品调拨查询
*
* @param requisitionOutSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 商品调拨查询分页列表
*/
IPage<InventoryTransferDetailDto> inventoryTransferGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request);
/**
* 商品盘点查询
*
* @param requisitionOutSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 商品盘点查询分页列表
*/
IPage<InventoryStockTakeDetailDto> inventoryStockTakeGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
String searchKey, Integer pageNo, Integer pageSize, HttpServletRequest request);
}

View File

@@ -0,0 +1,133 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.appservice.impl;
import java.util.Arrays;
import java.util.HashSet;
import javax.servlet.http.HttpServletRequest;
import com.openhis.web.inventorymanage.dto.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
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.openhis.common.utils.HisQueryUtils;
import com.openhis.web.inventorymanage.appservice.IInventoryDetailsAppService;
import com.openhis.web.inventorymanage.mapper.InventoryDetailsMapper;
/**
* 采购入库明细查询 impl
*
* @author
* @date 2025-03-10
*/
@Service
public class InventoryDetailsAppServiceImpl implements IInventoryDetailsAppService {
@Autowired
private InventoryDetailsMapper inventoryDetailsMapper;
/**
* 采购入库明细查询
*
* @param purchaseInSearchParam 查询条件
* @param searchKey 模糊查询关键字
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param request 请求数据
* @return 采购入库明细分页列表
*/
@Override
public IPage<PurchaseInDetailDto> purchaseInGetPage(PurchaseInSearchParam purchaseInSearchParam, String searchKey,
Integer pageNo, Integer pageSize, HttpServletRequest request) {
// 构建查询条件
// QueryWrapper<SupplyRequest> queryWrapper =
// HisQueryUtils.buildQueryWrapper(inventorySearchParam, searchKey, searchFields, request);
// 查询入库单据分页列表
// Page<InventoryReceiptPageDto> inventoryReceiptPage = purchaseInventoryMapper.selectInventoryReceiptPage(
// new Page<>(pageNo, pageSize), queryWrapper, SupplyType.PURCHASE_INVENTORY.getValue());
// return R.ok(inventoryReceiptPage);
QueryWrapper<PurchaseInSearchParam> queryWrapper = HisQueryUtils.buildQueryWrapper(purchaseInSearchParam,
searchKey, new HashSet<>(Arrays.asList("bus_no","item_name","item_no")), request);
Page<PurchaseInDetailDto> purchaseInInfo =
inventoryDetailsMapper.selectPurchaseInDetailsPage(new Page<>(pageNo, pageSize), queryWrapper);
return purchaseInInfo;
}
/**
* 领用出库明细查询
*
* @param requisitionOutSearchParam 查询条件
* @param searchKey 模糊查询关键字
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param request 请求数据
* @return 领用出库明细分页列表
*/
@Override
public IPage<RequisitionOutDetailDto> requisitionOutGetPage(RequisitionOutSearchParam requisitionOutSearchParam, String searchKey,
Integer pageNo, Integer pageSize, HttpServletRequest request) {
QueryWrapper<RequisitionOutSearchParam> queryWrapper = HisQueryUtils.buildQueryWrapper(requisitionOutSearchParam,
searchKey, new HashSet<>(Arrays.asList("bus_no","item_name","item_no")), request);
Page<RequisitionOutDetailDto> requisitionOutInfo =
inventoryDetailsMapper.selectRequisitionOutDetailsPage(new Page<>(pageNo, pageSize), queryWrapper);
return requisitionOutInfo;
}
/**
* 商品调拨明细查询
*
* @param requisitionOutSearchParam 查询条件
* @param searchKey 模糊查询关键字
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param request 请求数据
* @return 商品调拨明细分页列表
*/
@Override
public IPage<InventoryTransferDetailDto> inventoryTransferGetPage(RequisitionOutSearchParam requisitionOutSearchParam, String searchKey,
Integer pageNo, Integer pageSize, HttpServletRequest request) {
QueryWrapper<RequisitionOutSearchParam> queryWrapper = HisQueryUtils.buildQueryWrapper(requisitionOutSearchParam,
searchKey, new HashSet<>(Arrays.asList("bus_no","item_name","item_no")), request);
Page<InventoryTransferDetailDto> inventoryTransferInfo =
inventoryDetailsMapper.selectInventoryTransferDetailsPage(new Page<>(pageNo, pageSize), queryWrapper);
return inventoryTransferInfo;
}
/**
* 商品调拨明细查询
*
* @param requisitionOutSearchParam 查询条件
* @param searchKey 模糊查询关键字
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param request 请求数据
* @return 商品调拨明细分页列表
*/
@Override
public IPage<InventoryStockTakeDetailDto> inventoryStockTakeGetPage(RequisitionOutSearchParam requisitionOutSearchParam, String searchKey,
Integer pageNo, Integer pageSize, HttpServletRequest request) {
QueryWrapper<RequisitionOutSearchParam> queryWrapper = HisQueryUtils.buildQueryWrapper(requisitionOutSearchParam,
searchKey, new HashSet<>(Arrays.asList("bus_no","item_name","item_no")), request);
Page<InventoryStockTakeDetailDto> inventoryStockTakeInfo =
inventoryDetailsMapper.selectInventoryStockTakeDetailsPage(new Page<>(pageNo, pageSize), queryWrapper);
return inventoryStockTakeInfo;
}
}

View File

@@ -0,0 +1,111 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.core.common.core.domain.R;
import com.openhis.web.inventorymanage.appservice.IInventoryDetailsAppService;
import com.openhis.web.inventorymanage.dto.PurchaseInSearchParam;
import com.openhis.web.inventorymanage.dto.RequisitionOutSearchParam;
import lombok.extern.slf4j.Slf4j;
/**
* 库存相关明细查询 controller
*
* @author
* @date 2025-03-10
*/
@RestController
@RequestMapping("/inventory-manage-details")
@Slf4j
public class InventoryDetailsController {
@Autowired
private IInventoryDetailsAppService inventoryDetailsAppService;
/**
* 采购入库明细查询
*
* @param purchaseInSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 采购入库分页列表
*/
@GetMapping(value = "/purchase-in")
public R<?> purchaseInQueryGetPage(PurchaseInSearchParam purchaseInSearchParam,
@RequestParam(name = "searchKey", defaultValue = "") String searchKey,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
return R.ok(
inventoryDetailsAppService.purchaseInGetPage(purchaseInSearchParam, searchKey, pageNo, pageSize, request));
}
/**
* 领用出库明细查询
*
* @param requisitionOutSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 采购入库分页列表
*/
@GetMapping(value = "/requisition-out")
public R<?> RequisitionOutQueryGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
@RequestParam(name = "searchKey", defaultValue = "") String searchKey,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
return R.ok(inventoryDetailsAppService.requisitionOutGetPage(requisitionOutSearchParam, searchKey, pageNo,
pageSize, request));
}
/**
* 商品调拨明细查询
*
* @param requisitionOutSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 商品调拨分页列表
*/
@GetMapping(value = "/inventory-transfer")
public R<?> InventoryTransferQueryGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
@RequestParam(name = "searchKey", defaultValue = "") String searchKey,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
return R.ok(inventoryDetailsAppService.inventoryTransferGetPage(requisitionOutSearchParam, searchKey, pageNo,
pageSize, request));
}
/**
* 商品盘点明细查询
*
* @param requisitionOutSearchParam 查询条件
* @param pageNo 当前页码
* @param pageSize 查询条数
* @param searchKey 模糊查询关键字
* @param request 请求数据
* @return 商品盘点分页列表
*/
@GetMapping(value = "/inventory-stock-take")
public R<?> InventoryStockTakeQueryGetPage(RequisitionOutSearchParam requisitionOutSearchParam,
@RequestParam(name = "searchKey", defaultValue = "") String searchKey,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest request) {
return R.ok(inventoryDetailsAppService.inventoryStockTakeGetPage(requisitionOutSearchParam, searchKey, pageNo,
pageSize, request));
}
}

View File

@@ -0,0 +1,93 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.sun.jna.platform.unix.solaris.LibKstat;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 商品盘点
*
* @author
* @date 2025-03-15
*/
@Data
@Accessors(chain = true)
public class InventoryStockTakeDetailDto implements Serializable {
private static final long serialVersionUID = 1L;
/** ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/** 单据号 */
private String busNo;
/** 状态 */
private String statusEnum;
/** 项目类型 */
private String itemTable;
/** 物品编码 */
private Long itemNo;
/** 项目名称 */
private String itemName;
/** 项目规格 */
private String itemVolume;
/** 产品批号 */
private String lotNumber;
/** 厂家产地 */
private String manufacturerId;
/** 物品计量单位 */
private String unitCode;
/** 盘前数量 */
private BigDecimal itemQuantity;
/** 盘后数量 */
private BigDecimal itemQuantity1;
/** 盈亏数量 */
/** 盈亏原因 */
/** 目的仓库类型 */
private Integer purposeTypeEnum;
/** 目的仓库 */
private String purposeName;
/** 目的仓位 */
private String purposeStoreName;
/** 审批时间 */
private Date approvalTime;
/** 申请人 */
private String applicantName;
/** 审批人 */
private String approveName;
/** 租户ID */
private Integer tenantId;
}

View File

@@ -0,0 +1,102 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.sun.jna.platform.unix.solaris.LibKstat;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 商品调拨
*
* @author
* @date 2025-03-15
*/
@Data
@Accessors(chain = true)
public class InventoryTransferDetailDto implements Serializable {
private static final long serialVersionUID = 1L;
/** ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/** 单据号 */
private String busNo;
/** 状态 */
private String statusEnum;
/** 项目类型 */
private String itemTable;
/** 物品编码 */
private Long itemNo;
/** 项目名称 */
private String itemName;
/** 项目规格 */
private String itemVolume;
/** 产品批号 */
private String lotNumber;
/** 厂家产地 */
private String manufacturerId;
/** 调拨数量 */
private BigDecimal itemQuantity;
/** 物品计量单位 */
private String unitCode;
/** 采购单价 */
private BigDecimal price;
/** 合计金额 总价 */
private BigDecimal totalPrice;
/** 源仓库类型 */
private Integer sourceTypeEnum;
/** 源仓库 */
private String sourceName;
/** 源仓位 */
private String sourceStoreName;
/** 目的仓库类型 */
private Integer purposeTypeEnum;
/** 目的仓库 */
private String purposeName;
/** 目的仓位 */
private String purposeStoreName;
/** 审批时间 */
private Date approvalTime;
/** 有效期至 */
private Date occurrenceTime;
/** 申请人 */
private String applicantName;
/** 审批人 */
private String approveName;
/** 租户ID */
private Integer tenantId;
}

View File

@@ -0,0 +1,89 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 采购入库
*
* @author
* @date 2025-03-10
*/
@Data
@Accessors(chain = true)
public class PurchaseInDetailDto implements Serializable {
private static final long serialVersionUID = 1L;
/** ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/** 单据号 */
private String busNo;
/** 状态 */
private String statusEnum;
/** 项目类型 */
private String itemTable;
/** 物品编码 */
private Long itemNo;
/** 项目名称 */
private String itemName;
/** 项目规格 */
private String itemVolume;
/** 产品批号 */
private String lotNumber;
/** 供应商 */
private String supName;
/** 数量 */
private BigDecimal itemQuantity;
/** 单价 */
private BigDecimal price;
/** 总价 */
private BigDecimal totalPrice;
/** 物品计量单位 */
private String unitCode;
/** 目的仓库 */
private String locName;
/** 目的仓位 */
private String locstoreName;
/** 审批时间 */
private Date approvalTime;
/** 期望时间 */
private Date occurrenceTime;
/** 申请人 */
private String applicantName;
/** 审批人 */
private String approverName;
/** 租户ID */
private Integer tenantId;
}

View File

@@ -0,0 +1,35 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.dto;
import java.io.Serializable;
import org.hibernate.validator.constraints.Length;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 采购入库分页查询条件
*
* @author
* @date 2025-03-10
*/
@Data
@Accessors(chain = true)
public class PurchaseInSearchParam implements Serializable {
/** 单据号 */
@Length(max = 255)
private String busNo;
/** 项目编码 */
@Length(max = 255)
private String id;
/** 项目类型 */
// @Length(max = 255)
// private String busNo;
}

View File

@@ -0,0 +1,89 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 领用出库
*
* @author
* @date 2025-03-15
*/
@Data
@Accessors(chain = true)
public class RequisitionOutDetailDto implements Serializable {
private static final long serialVersionUID = 1L;
/** ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/** 单据号 */
private String busNo;
/** 状态 */
private String statusEnum;
/** 项目类型 */
private String itemTable;
/** 物品编码 */
private Long itemNo;
/** 项目名称 */
private String itemName;
/** 项目规格 */
private String itemVolume;
/** 项目规格 */
private String itemId;
/** 数量 */
private BigDecimal itemQuantity;
/** 物品计量单位 */
private String unitCode;
/** 产品批号 */
private String lotNumber;
/** 采购批次流水号 */
private String xxxNo;
/** 目的仓库 */
private String locName;
/** 目的仓位 */
private String locstoreName;
/** 制单时间 */
private Date applyTime;
/** 审批时间 */
private Date approvalTime;
/** 领用部门 */
private String xxxxxOrg;
/** 申请人 */
private String applicantName;
/** 审批人 */
private String approverName;
/** 租户ID */
private Integer tenantId;
}

View File

@@ -0,0 +1,36 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.dto;
import java.io.Serializable;
import java.util.Date;
import org.hibernate.validator.constraints.Length;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* 领用出库分页查询条件
*
* @author
* @date 2025-03-15
*/
@Data
@Accessors(chain = true)
public class RequisitionOutSearchParam implements Serializable {
/** 单据号 */
@Length(max = 255)
private String busNo;
/** 项目编码 */
@Length(max = 255)
private String id;
/** 项目类型 */
// @Length(max = 255)
// private String busNo;
}

View File

@@ -0,0 +1,62 @@
/*
* Copyright ©2023 CJB-CNIT Team. All rights reserved
*/
package com.openhis.web.inventorymanage.mapper;
import com.openhis.web.inventorymanage.dto.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
/**
* 采购入库查询用 mapper
*
* @author
* @date 2025-03-10
*/
@Repository
public interface InventoryDetailsMapper {
/**
* 查询采购入库分页列表
*
* @param page 分页
* @param queryWrapper 查询条件
* @return 采购入库分页列表
*/
Page<PurchaseInDetailDto> selectPurchaseInDetailsPage(@Param("page") Page<PurchaseInDetailDto> page,
@Param(Constants.WRAPPER) QueryWrapper<PurchaseInSearchParam> queryWrapper);
/**
* 查询领用出库分页列表
*
* @param page 分页
* @param queryWrapper 查询条件
* @return 领用出库分页列表
*/
Page<RequisitionOutDetailDto> selectRequisitionOutDetailsPage(@Param("page") Page<RequisitionOutDetailDto> page,
@Param(Constants.WRAPPER) QueryWrapper<RequisitionOutSearchParam> queryWrapper);
/**
* 查询商品调拨分页列表
*
* @param page 分页
* @param queryWrapper 查询条件
* @return 商品调拨分页列表
*/
Page<InventoryTransferDetailDto> selectInventoryTransferDetailsPage(@Param("page") Page<InventoryTransferDetailDto> page,
@Param(Constants.WRAPPER) QueryWrapper<RequisitionOutSearchParam> queryWrapper);
/**
* 查询商品盘点分页列表
*
* @param page 分页
* @param queryWrapper 查询条件
* @return 商品盘点分页列表
*/
Page<InventoryStockTakeDetailDto> selectInventoryStockTakeDetailsPage(@Param("page") Page<InventoryTransferDetailDto> page,
@Param(Constants.WRAPPER) QueryWrapper<RequisitionOutSearchParam> queryWrapper);
}

View File

@@ -0,0 +1,212 @@
<?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.openhis.web.inventorymanage.mapper.InventoryDetailsMapper">
<select id="selectPurchaseInDetailsPage"
resultType="com.openhis.web.inventorymanage.dto.PurchaseInDetailDto">
SELECT T10.id,
T10.bus_no,
T10.status_enum,
T10.item_table,
T10.item_no,
T10.item_name,
T10.item_volume,
T10.lot_number,
T10.sup_name,
T10.item_quantity,
T10.price,
T10.total_price,
T10.unit_code,
T10.loc_name,
T10.locstore_name,
T10.approval_time,
T10.occurrence_time,
T10.applicant_name,
T10.approver_name,
T10.tenant_id
FROM (SELECT T1.id,
T1.bus_no,
CASE T1.status_enum WHEN 2 THEN '已入库' ELSE '未入库' END AS status_enum,
CASE T1.item_table
WHEN 'med_medication_definition' THEN '药品'
WHEN 'adm_device' THEN '设备' END AS item_table,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T2.bus_no
WHEN T1.item_table = 'adm_device' THEN T4.bus_no END AS item_no,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T2.name
WHEN T1.item_table = 'adm_device' THEN T4.name END AS item_name,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T3.total_volume
WHEN T1.item_table = 'adm_device' THEN T4.device_specifications END AS item_volume,
T1.lot_number,
T4.name AS sup_name,
T1.item_quantity,
T1.price,
T1.total_price,
T1.unit_code,
T6.name AS loc_name,
T7.name AS locstore_name,
T1.approval_time,
T1.occurrence_time,
T8.name AS applicant_name,
T9.name AS approver_name,
T1.tenant_id
FROM wor_supply_request AS T1
LEFT JOIN med_medication_definition AS T2 ON T1.item_id = T2.id
LEFT JOIN med_medication AS T3 ON T1.item_id = T3.medication_def_id
LEFT JOIN adm_device AS T4 ON T1.item_id = T4.id
LEFT JOIN adm_supplier AS T5 ON T1.supplier_id = T5.id
LEFT JOIN adm_location AS T6 ON T1.purpose_location_id = T6.id
LEFT JOIN adm_location AS T7 ON T1.purpose_location_store_id = T7.id
LEFT JOIN adm_practitioner AS T8 ON T1.applicant_id = T8.id
LEFT JOIN adm_practitioner AS T9 ON T1.approver_id = T9.id
WHERE T1.delete_flag = '0'
ORDER BY T1.bus_no desc) AS T10
${ew.customSqlSegment}
</select>
<select id="selectRequisitionOutDetailsPage"
resultType="com.openhis.web.inventorymanage.dto.RequisitionOutDetailDto">
SELECT T10.id,
T10.bus_no,
T10.status_enum,
T10.item_table,
T10.item_no,
T10.item_name,
T10.item_volume,
T10.item_id,
T10.item_quantity,
T10.unit_code,
T10.lot_number,
T10.loc_name,
T10.locstore_name,
T10.apply_time,
T10.approval_time,
T10.applicant_name,
T10.approver_name,
T10.tenant_id
FROM (SELECT T1.id,
T1.bus_no,
CASE T1.status_enum WHEN 2 THEN '已出库' ELSE '未出库' END AS status_enum,
CASE T1.item_table
WHEN 'med_medication_definition' THEN '药品'
WHEN 'adm_device' THEN '设备' END AS item_table,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T2.bus_no
WHEN T1.item_table = 'adm_device' THEN T4.bus_no END AS item_no,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T2.name
WHEN T1.item_table = 'adm_device' THEN T4.name END AS item_name,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T3.total_volume
WHEN T1.item_table = 'adm_device' THEN T4.device_specifications END AS item_volume,
T1.item_id,
T1.item_quantity,
T1.unit_code,
T1.lot_number,
T6.name AS loc_name,
T7.name AS locstore_name,
T1.apply_time,
T1.approval_time,
T8.name AS applicant_name,
T9.name AS approver_name,
T1.tenant_id
FROM wor_supply_request AS T1
LEFT JOIN med_medication_definition AS T2 ON T1.item_id = T2.id
LEFT JOIN med_medication AS T3 ON T1.item_id = T3.medication_def_id
LEFT JOIN adm_device AS T4 ON T1.item_id = T4.id
LEFT JOIN adm_supplier AS T5 ON T1.supplier_id = T5.id
LEFT JOIN adm_location AS T6 ON T1.purpose_location_id = T6.id
LEFT JOIN adm_location AS T7 ON T1.purpose_location_store_id = T7.id
LEFT JOIN adm_practitioner AS T8 ON T1.applicant_id = T8.id
LEFT JOIN adm_practitioner AS T9 ON T1.approver_id = T9.id
WHERE T1.delete_flag = '0'
ORDER BY T1.bus_no desc) AS T10
${ew.customSqlSegment}
</select>
<select id="selectInventoryTransferDetailsPage"
resultType="com.openhis.web.inventorymanage.dto.InventoryTransferDetailDto">
SELECT T10.id,
T10.bus_no,
T10.status_enum,
T10.item_table,
T10.item_no,
T10.item_name,
T10.item_volume,
T10.item_id,
T10.lot_number,
T10.manufacturer_id,
T10.item_quantity,
T10.unit_code,
T10.price,
T10.total_price,
T10.source_type_enum,
T10.source_name,
T10.source_store_name,
T10.purpose_type_enum,
T10.purpose_name,
T10.purpose_store_name,
T10.approval_time,
T10.occurrence_time,
T10.applicant_name,
T10.approve_name,
T10.tenant_id
FROM (SELECT T1.id,
T1.bus_no,
CASE T1.status_enum WHEN 2 THEN '已调拨' ELSE '未调拨' END AS status_enum,
CASE T1.item_table
WHEN 'med_medication_definition' THEN '药品'
WHEN 'adm_device' THEN '设备' END AS item_table,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T2.bus_no
WHEN T1.item_table = 'adm_device' THEN T4.bus_no END AS ite m_no,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T2.name
WHEN T1.item_table = 'adm_device' THEN T4.name END AS item_name,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T3.total_volume
WHEN T1.item_table = 'adm_device' THEN T4.device_specifications END AS item_volume,
T1.item_id,
T1.lot_number,
CASE
WHEN T1.item_table = 'med_medication_definition' THEN T3.manufacturer_id
WHEN T1.item_table = 'adm_device' THEN T13.manufacturer_id END AS manufacturer_id,
T1.item_quantity,
T1.unit_code,
T1.price,
T1.total_price,
T1.source_type_enum,
T11.name AS source_name,
T12.name AS source_store_name,
T1.purpose_type_enum,
T6.name AS purpose_name,
T7.name AS purpose_store_name,
T1.approval_time,
T1.occurrence_time,
T8.name AS applicant_name,
T9.name AS approve_name,
T1.tenant_id
FROM wor_supply_request AS T1
LEFT JOIN med_medication_definition AS T2 ON T1.item_id = T2.id
LEFT JOIN med_medication AS T3 ON T1.item_id = T3.medication_def_id
LEFT JOIN adm_device AS T4 ON T1.item_id = T4.id
LEFT JOIN adm_device_definition AS T13 ON T4.device_def_id = T13.id
LEFT JOIN adm_supplier AS T5 ON T1.supplier_id = T5.id
LEFT JOIN adm_location AS T6 ON T1.purpose_location_id = T6.id
LEFT JOIN adm_location AS T7 ON T1.purpose_location_store_id = T7.id
LEFT JOIN adm_practitioner AS T8 ON T1.applicant_id = T8.id
LEFT JOIN adm_practitioner AS T9 ON T1.approver_id = T9.id
LEFT JOIN adm_location AS T11 ON T1.source_location_id = T11.id
LEFT JOIN adm_location AS T12 ON T1.source_location_store_id = T12.id
WHERE T1.delete_flag = '0'
ORDER BY T1.bus_no desc) AS T10
${ew.customSqlSegment}
</select>
<select id="selectInventoryStockTakeDetailsPage"
resultType="com.openhis.web.inventorymanage.dto.InventoryStockTakeDetailDto">
</select>
</mapper>