Merge branch 'master' of https://codeup.aliyun.com/61c0318acd8b75daa5a125f7/medical/openhis
This commit is contained in:
@@ -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);
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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>
|
||||
@@ -201,7 +201,7 @@
|
||||
<el-table-column prop="rateCode" label="用药频次" width="80" />
|
||||
<el-table-column prop="dose" label="单词剂量" width="160" />
|
||||
<el-table-column prop="speed" label="输液速度" width="80" />
|
||||
<el-table-column prop="orgId_dictText" label="发放科室" width="120" />
|
||||
<el-table-column prop="performOrg_dictText" label="发放科室" width="120" />
|
||||
<el-table-column
|
||||
prop="medicationStatusEnum_enumText"
|
||||
label="药品状态"
|
||||
@@ -337,8 +337,7 @@ function handleQueryRight() {
|
||||
listInfusionRecord(createTimeSTime, createTimeETime).then((response) => {
|
||||
infusionList.value = response.data;
|
||||
});
|
||||
listPatientInfusionPerformRecord(createTimeSTime, createTimeETime).then(
|
||||
(response) => {
|
||||
listPatientInfusionPerformRecord(createTimeSTime, createTimeETime).then((response) => {
|
||||
historyRecordsList.value = response.data;
|
||||
}
|
||||
);
|
||||
@@ -456,10 +455,9 @@ function handleSelectionChange(selection) {
|
||||
selection.forEach((item) => {
|
||||
selectedItems.value.add(item);
|
||||
});
|
||||
// 更新 selectedGroupIds 和 selectedPrescriptionNos
|
||||
// 更新 selectedGroupIds
|
||||
selection.forEach((item) => {
|
||||
const groupId = item.groupId;
|
||||
const prescriptionNo = item.prescriptionNo;
|
||||
// 检查 groupId 是否同时存在
|
||||
if (selectedGroupIds.value.has(groupId)) {
|
||||
// 如果都存在,则移除它们
|
||||
@@ -476,16 +474,7 @@ function handleSelectionChange(selection) {
|
||||
});
|
||||
}
|
||||
function clearSelections() {
|
||||
// // 清空选中状态
|
||||
// selectedItems.value.clear();
|
||||
// selectedGroupIds.value.clear();
|
||||
// selectedPrescriptionNos.value.clear();
|
||||
// // 取消表格所有行的选中状态
|
||||
// infusionList.value.forEach(row => {
|
||||
// tableRef.value.toggleRowSelection(row, false);
|
||||
// });
|
||||
dateRangeRight.value = [];
|
||||
// 检查 currentRow.value 是否存在
|
||||
if (!currentRow.value) {
|
||||
const createTimeSTime = timeRightStart.value || null;
|
||||
const createTimeETime = timeRightEnd.value || null;
|
||||
@@ -519,6 +508,10 @@ function handleCurrentChange(row) {
|
||||
console.log("当前选中行的数据:", currentRow.value);
|
||||
listPatientInfusionRecord(currentRow.value).then((response) => {
|
||||
infusionList.value = response.data;
|
||||
// 统计每个 groupId 的行数
|
||||
const groupCounts = countGroupRows(infusionList.value);
|
||||
// 设置每行的标记
|
||||
markers.value = getRowMarkers(groupCounts, infusionList.value);
|
||||
});
|
||||
listPatientInfusionPerformRecord(currentRow.value).then((response) => {
|
||||
historyRecordsList.value = response.data;
|
||||
@@ -544,6 +537,6 @@ getList();
|
||||
}
|
||||
|
||||
:deep(.el-table tbody tr:hover > td) {
|
||||
background-color: unset !important;
|
||||
background-color: inherit !important;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user