From 1df6b6e3e42bd1cea882fbed7c7bc81cc2503107 Mon Sep 17 00:00:00 2001 From: yanghh <1344638791@qq.com> Date: Fri, 29 Dec 2023 16:05:56 +0800 Subject: [PATCH] =?UTF-8?q?update=E4=B8=80=E4=BA=9B=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=9A=84=E6=9B=B4=E6=96=B0=20=E4=BB=A5=E5=8F=8A=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E4=BA=86=E4=B8=80=E4=BA=9B=E7=BB=9F=E8=AE=A1=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseCatalogueController.java | 2 - .../ReagentConsumableInventoryController.java | 110 +++--------- .../platform/reagent/entity/BatchDetails.java | 3 +- .../reagent/entity/StatisticalCornerMark.java | 14 ++ .../ReagentConsumableInventoryMapper.java | 3 +- .../ReagentConsumableInventoryService.java | 11 +- ...ReagentConsumableInventoryServiceImpl.java | 160 ++++++++---------- .../platform/reagent/vo/BatchDetailsVO.java | 4 + .../ReagentConsumableInventoryMapper.xml | 57 ++++++- 9 files changed, 169 insertions(+), 195 deletions(-) create mode 100644 src/main/java/digital/laboratory/platform/reagent/entity/StatisticalCornerMark.java diff --git a/src/main/java/digital/laboratory/platform/reagent/controller/PurchaseCatalogueController.java b/src/main/java/digital/laboratory/platform/reagent/controller/PurchaseCatalogueController.java index bb7398a..fd6b9ee 100644 --- a/src/main/java/digital/laboratory/platform/reagent/controller/PurchaseCatalogueController.java +++ b/src/main/java/digital/laboratory/platform/reagent/controller/PurchaseCatalogueController.java @@ -119,9 +119,7 @@ public class PurchaseCatalogueController { DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); if (startTime != null && endTime != null) { - IPage purchaseCatalogueVOPage1 = purchaseCatalogueService.getPurchaseCatalogueVOPage(page, Wrappers.query().ge("create_time", startTime).le("create_time", endTime).orderByDesc("create_time")); - return R.ok(purchaseCatalogueVOPage1); } diff --git a/src/main/java/digital/laboratory/platform/reagent/controller/ReagentConsumableInventoryController.java b/src/main/java/digital/laboratory/platform/reagent/controller/ReagentConsumableInventoryController.java index e3bf4ea..95565e0 100644 --- a/src/main/java/digital/laboratory/platform/reagent/controller/ReagentConsumableInventoryController.java +++ b/src/main/java/digital/laboratory/platform/reagent/controller/ReagentConsumableInventoryController.java @@ -16,6 +16,7 @@ import digital.laboratory.platform.reagent.dto.ReagentConsumableInventoryDTO; import digital.laboratory.platform.reagent.entity.BatchDetails; import digital.laboratory.platform.reagent.entity.ReagentConsumableInventory; import digital.laboratory.platform.reagent.entity.ReferenceMaterial; +import digital.laboratory.platform.reagent.entity.StatisticalCornerMark; import digital.laboratory.platform.reagent.mapper.ReagentConsumableInventoryMapper; import digital.laboratory.platform.reagent.service.ReagentConsumableInventoryService; import digital.laboratory.platform.reagent.service.ReferenceMaterialService; @@ -71,11 +72,8 @@ public class ReagentConsumableInventoryController { @GetMapping("/{reagentConsumableInventoryId}") // @PreAuthorize("@pms.hasPermission('reagent_reagent_consumable_inventory_get')") public R getById(@PathVariable("reagentConsumableInventoryId") String reagentConsumableInventoryId, HttpServletRequest theHttpServletRequest) { - - ReagentConsumableInventory reagentConsumableInventory = reagentConsumableInventoryService.getById(reagentConsumableInventoryId); return R.ok(reagentConsumableInventory); - //return R.ok(reagentConsumableInventoryService.getById(reagentConsumableInventoryId)); } @@ -86,111 +84,35 @@ public class ReagentConsumableInventoryController { @ApiOperation(value = "标准物质列表", notes = "标准物质列表") @GetMapping("/RList") // @PreAuthorize("@pms.hasPermission('reagent_reagent_consumable_inventory_get')") - public R> getReagentConsumableInventoryPage(Page page, String reagentConsumableName, Integer referenceMaterialStatus, HttpServletRequest theHttpServletRequest) { - Principal principal = theHttpServletRequest.getUserPrincipal(); - DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); - + public R> getReagentConsumableInventoryPage(Page page, String reagentConsumableName, Integer referenceMaterialStatus) { QueryWrapper referenceMaterialQueryWrapper = new QueryWrapper<>(); - String number = reagentConsumableName; - referenceMaterialQueryWrapper + .and(qw -> qw + .ne(referenceMaterialStatus == null, "status", -4) + .eq(referenceMaterialStatus != null, "status", referenceMaterialStatus)) .like(StrUtil.isNotBlank(reagentConsumableName), "reagent_consumable_name", reagentConsumableName) - .ne(referenceMaterialStatus == null, "status", -4) - .eq(referenceMaterialStatus != null, "status", referenceMaterialStatus) .or() - .ne(referenceMaterialStatus == null, "status", -4) - .like(StrUtil.isNotBlank(reagentConsumableName), "number", reagentConsumableName) - .eq(referenceMaterialStatus != null, "status", referenceMaterialStatus); + .like(StrUtil.isNotBlank(reagentConsumableName), "number", reagentConsumableName); - IPage allList = reagentConsumableInventoryService.getAllList(page, referenceMaterialQueryWrapper, referenceMaterialStatus, number); + IPage allList = reagentConsumableInventoryService.getStandardAllList(page, referenceMaterialQueryWrapper, referenceMaterialStatus, number); return R.ok(allList); -// return R.ok(reagentConsumableInventoryService.page(page, Wrappers.query(reagentConsumableInventory))); } @ApiOperation(value = "标准物质管理列表", notes = "标准物质管理列表") @GetMapping("/standardList") -// @PreAuthorize("@pms.hasPermission('reagent_reagent_consumable_inventory_get')") - public R> getReagentConsumableInventoryList(Page page, Integer warning, String reagentConsumableName, HttpServletRequest theHttpServletRequest) { - Principal principal = theHttpServletRequest.getUserPrincipal(); - DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); - IPage reagentConsumableInventoryRMVOList = reagentConsumableInventoryService.getReagentConsumableInventoryRMVOList(page, - Wrappers.query() - .like(StrUtil.isNotBlank(reagentConsumableName), "reagent_consumable_name", reagentConsumableName) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "标准物质").or() - - .like(StrUtil.isNotBlank(reagentConsumableName), "remark", reagentConsumableName) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "标准物质").or() - - .like(StrUtil.isNotBlank(reagentConsumableName), "reagent_consumable_name", reagentConsumableName) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "标准储备溶液").or() - - .like(StrUtil.isNotBlank(reagentConsumableName), "remark", reagentConsumableName) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "标准储备溶液").or() - - .like(StrUtil.isNotBlank(reagentConsumableName), "species", reagentConsumableName) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "标准物质").or(). - - like(StrUtil.isNotBlank(reagentConsumableName), "species", reagentConsumableName) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "标准储备溶液").or(), warning); - - + public R> getStandardList(Page page, Integer warning, String keywords) { + IPage reagentConsumableInventoryRMVOList = reagentConsumableInventoryService.getReagentConsumableInventoryRMVOList(page, warning, keywords); return R.ok(reagentConsumableInventoryRMVOList); -// return R.ok(reagentConsumableInventoryService.page(page, Wrappers.query(reagentConsumableInventory))); } @ApiOperation(value = "试剂耗材管理列表", notes = "试剂耗材管理列表") @GetMapping("/List") -// @PreAuthorize("@pms.hasPermission('reagent_reagent_consumable_inventory_get')") - public R> getList(Page page, String reagentConsumableName, Integer warning, String remark, String category, HttpServletRequest theHttpServletRequest) { - Principal principal = theHttpServletRequest.getUserPrincipal(); - DLPUser dlpUser = (DLPUser) ((OAuth2Authentication) principal).getUserAuthentication().getPrincipal(); - IPage reagentConsumableInventoryRMVOList = reagentConsumableInventoryService.getReagentConsumableInventoryREVOList(page, Wrappers.query() -// .like(StrUtil.isNotBlank(category), "category", category) -// .ne("category", "标准物质") -// .ne("category", "标准储备溶液") -// .and(qw -> qw.like(StrUtil.isNotBlank(reagentConsumableName), "reagent_consumable_name", reagentConsumableName) -// .or().like(StrUtil.isNotBlank(reagentConsumableName), "remark", reagentConsumableName)) -// .like(warning != null && warning == 1, "warning_information", "库存不足"), warning); - - .like(StrUtil.isNotBlank(reagentConsumableName), "reagent_consumable_name", reagentConsumableName) - .like(StrUtil.isNotBlank(category), "category", category) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "试剂").or() - - .like(StrUtil.isNotBlank(reagentConsumableName), "remark", reagentConsumableName) - .like(StrUtil.isNotBlank(category), "category", category) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "试剂").or() - - .like(StrUtil.isNotBlank(reagentConsumableName), "reagent_consumable_name", reagentConsumableName) - .like(StrUtil.isNotBlank(category), "category", category) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "耗材").or() - - .like(StrUtil.isNotBlank(reagentConsumableName), "remark", reagentConsumableName) - .like(StrUtil.isNotBlank(category), "category", category) - .like(warning != null && warning == 1, "warning_information", "库存不足") - .eq("category", "耗材").or() - - .like(StrUtil.isNotBlank(reagentConsumableName), "reagent_consumable_name", reagentConsumableName) - .like(StrUtil.isNotBlank(category), "category", category) - .like(warning != null && warning == 1, "species", "库存不足") - .eq("category", "试剂").or() - - .like(StrUtil.isNotBlank(reagentConsumableName), "remark", reagentConsumableName) - .like(StrUtil.isNotBlank(category), "category", category) - .like(warning != null && warning == 1, "species", "库存不足") - .eq("category", "耗材").or(), warning); + public R> getList(Page page, Integer warning, String keywords) { + IPage reagentConsumableInventoryRMVOList = reagentConsumableInventoryService.getReagentConsumableInventoryREVOList(page, warning, keywords); return R.ok(reagentConsumableInventoryRMVOList); -// return R.ok(reagentConsumableInventoryService.page(page, Wrappers.query(reagentConsumableInventory))); + } /** @@ -323,7 +245,7 @@ public class ReagentConsumableInventoryController { * * @param id id */ - @ApiOperation(value = "", notes = "通过id,获取标准物质所有信息") + @ApiOperation(value = "", notes = "通过id或者code(也就是标准物质编号),获取标准物质所有信息") @GetMapping("/getByCode") @PreAuthorize("@pms.hasPermission('reagent_reagent_consumable_inventory_get_by_code')") public R getByCode(String id, String number, HttpServletResponse httpServletResponse) { @@ -424,4 +346,10 @@ public class ReagentConsumableInventoryController { return R.failed("导出失败"); } } + + @GetMapping("/get/statistical/mark") + public R> getStatisticalCornerMarkList() { + return R.ok(reagentConsumableInventoryService.getStatisticalCornerMarkList()); + } + } diff --git a/src/main/java/digital/laboratory/platform/reagent/entity/BatchDetails.java b/src/main/java/digital/laboratory/platform/reagent/entity/BatchDetails.java index 6ea9204..06515db 100644 --- a/src/main/java/digital/laboratory/platform/reagent/entity/BatchDetails.java +++ b/src/main/java/digital/laboratory/platform/reagent/entity/BatchDetails.java @@ -100,6 +100,7 @@ public class BatchDetails extends BaseEntity { @ApiModelProperty(value="batchDetailsId") private String batchDetailsId; - + @TableField(exist = false) + private String supplierName; } diff --git a/src/main/java/digital/laboratory/platform/reagent/entity/StatisticalCornerMark.java b/src/main/java/digital/laboratory/platform/reagent/entity/StatisticalCornerMark.java new file mode 100644 index 0000000..9a04198 --- /dev/null +++ b/src/main/java/digital/laboratory/platform/reagent/entity/StatisticalCornerMark.java @@ -0,0 +1,14 @@ +package digital.laboratory.platform.reagent.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class StatisticalCornerMark { + + private String markName; + private Integer markQuantity; +} diff --git a/src/main/java/digital/laboratory/platform/reagent/mapper/ReagentConsumableInventoryMapper.java b/src/main/java/digital/laboratory/platform/reagent/mapper/ReagentConsumableInventoryMapper.java index e2a2cd7..3aeb7cf 100644 --- a/src/main/java/digital/laboratory/platform/reagent/mapper/ReagentConsumableInventoryMapper.java +++ b/src/main/java/digital/laboratory/platform/reagent/mapper/ReagentConsumableInventoryMapper.java @@ -9,6 +9,7 @@ import digital.laboratory.platform.reagent.entity.ReferenceMaterial; import digital.laboratory.platform.reagent.vo.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.springframework.security.core.parameters.P; import java.util.List; @@ -21,7 +22,7 @@ import java.util.List; @Mapper public interface ReagentConsumableInventoryMapper extends BaseMapper { - IPage getReagentConsumableInventoryVOPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + IPage getReagentConsumableInventoryVOPage(IPage page, @Param("warning") Integer warning,@Param("keywords") String keywords,@Param("reagentCategory") Integer reagentCategory); IPage getReagentConsumableInventoryFullVOPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); diff --git a/src/main/java/digital/laboratory/platform/reagent/service/ReagentConsumableInventoryService.java b/src/main/java/digital/laboratory/platform/reagent/service/ReagentConsumableInventoryService.java index 878c07a..844287f 100644 --- a/src/main/java/digital/laboratory/platform/reagent/service/ReagentConsumableInventoryService.java +++ b/src/main/java/digital/laboratory/platform/reagent/service/ReagentConsumableInventoryService.java @@ -8,6 +8,7 @@ import digital.laboratory.platform.reagent.dto.ReagentConsumableInventoryDTO; import digital.laboratory.platform.reagent.entity.BatchDetails; import digital.laboratory.platform.reagent.entity.ReagentConsumableInventory; import digital.laboratory.platform.reagent.entity.ReferenceMaterial; +import digital.laboratory.platform.reagent.entity.StatisticalCornerMark; import digital.laboratory.platform.reagent.vo.*; import org.springframework.transaction.annotation.Transactional; @@ -25,21 +26,21 @@ import java.util.Map; */ public interface ReagentConsumableInventoryService extends IService { - //试剂耗材/标准物质标准物质管理列表 - IPage getReagentConsumableInventoryREVOList(IPage page, QueryWrapper qw, Integer warning); + //试剂耗材列表 + IPage getReagentConsumableInventoryREVOList(IPage page, Integer warning,String keywords); ReagentConsumableInventory addById(String reagentConsumableId, Integer quantity); ReagentConsumableInventory reduceById(String reagentConsumableId, Integer quantity); - IPage getAllList(Page page, QueryWrapper qw, Integer status, String number); + IPage getStandardAllList(Page page, QueryWrapper qw, Integer status, String number); ReagentConsumableInventoryFullVO getByCode(String id); //分页查询试剂耗材 IPage getAllRM(IPage page, QueryWrapper qw); - IPage getReagentConsumableInventoryRMVOList(IPage page,QueryWrapperqw,Integer warning); + IPage getReagentConsumableInventoryRMVOList(IPage page,Integer warning,String keywords); List getReagentConsumableInventoryFull(QueryWrapper qw); @@ -75,5 +76,7 @@ public interface ReagentConsumableInventoryService extends IService reagentConsumableInventoryFullVOList); + List getStatisticalCornerMarkList(); + // List getOrgList(); } diff --git a/src/main/java/digital/laboratory/platform/reagent/service/impl/ReagentConsumableInventoryServiceImpl.java b/src/main/java/digital/laboratory/platform/reagent/service/impl/ReagentConsumableInventoryServiceImpl.java index c3f02e3..c3aa4ad 100644 --- a/src/main/java/digital/laboratory/platform/reagent/service/impl/ReagentConsumableInventoryServiceImpl.java +++ b/src/main/java/digital/laboratory/platform/reagent/service/impl/ReagentConsumableInventoryServiceImpl.java @@ -38,7 +38,6 @@ import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; -import org.apache.poi.xssf.usermodel.XSSFCellStyle; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mock.web.MockMultipartFile; @@ -49,7 +48,6 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.swing.*; import java.io.*; import java.nio.file.Files; import java.nio.file.Paths; @@ -112,82 +110,49 @@ public class ReagentConsumableInventoryServiceImpl extends ServiceImpl getReagentConsumableInventoryRMVOList(IPage page, QueryWrapper qw, Integer warning) { - - - if (warning != null) { - - if (warning == 2) { - - List reagentConsumableInventoryVOList = new ArrayList<>(); - - List list = batchDetailsService.list(Wrappers.query().eq("warning_information", "即将过期").or().eq("warning_information", "已过期").or().eq("warning_information", "即将到达存储期限").or().eq("warning_information", "已超过存储期限")); - - if (list.size() != 0) { - for (BatchDetails batchDetails : list) { - - ReagentConsumableInventory byId = this.getById(batchDetails.getReagentConsumableInventoryId()); - ReagentConsumableInventoryVO reagentConsumableInventoryVO = new ReagentConsumableInventoryVO(); - BeanUtils.copyProperties(byId, reagentConsumableInventoryVO); - reagentConsumableInventoryVO.setBatchDetailsVOS(batchDetailsService.getBatchDetailsList(reagentConsumableInventoryVO.getReagentConsumableInventoryId())); - if (!reagentConsumableInventoryVOList.contains(reagentConsumableInventoryVO)) { - if (reagentConsumableInventoryVO.getCategory().equals("标准物质")) { - reagentConsumableInventoryVOList.add(reagentConsumableInventoryVO); - } - } - - } - } - PageUtils pageUtils = new PageUtils(); - - return pageUtils.getPages((int) page.getCurrent(), (int) page.getSize(), reagentConsumableInventoryVOList); - } - } - - - IPage reagentConsumableInventoryVOPage = baseMapper.getReagentConsumableInventoryVOPage(page, qw); - - List records = reagentConsumableInventoryVOPage.getRecords(); - - for (ReagentConsumableInventoryVO reagentConsumableInventoryVO : records) { - - List batchDetailsVOList = batchDetailsService.getBatchDetailsList(reagentConsumableInventoryVO.getReagentConsumableInventoryId()); - //赋值试剂耗材批次明细 - reagentConsumableInventoryVO.setBatchDetailsVOS(batchDetailsVOList); + public IPage getReagentConsumableInventoryRMVOList(IPage page, Integer warning, String keywords) { + Integer reagentCategory = 1; + if (warning != null && warning == 2) { + return this.getReagentConsumableInventoryWarningPage((Page) page, reagentCategory); } + IPage reagentConsumableInventoryVOPage = baseMapper.getReagentConsumableInventoryVOPage(page, warning, keywords, reagentCategory); return reagentConsumableInventoryVOPage; } @Override//试剂耗材管理列表 - public IPage getReagentConsumableInventoryREVOList(IPage page, QueryWrapper qw, Integer warning) { + public IPage getReagentConsumableInventoryREVOList(IPage page, Integer warning, String keywords) { + Integer reagentCategory = 0; if (warning != null && warning == 2) { - List reagentConsumableInventoryVOList = new ArrayList<>(); - List list = batchDetailsService.list(Wrappers.query().eq("warning_information", "即将过期").or().eq("warning_information", "已过期").or().eq("warning_information", "即将到达存储期限").or().eq("warning_information", "已超过存储期限")); - //查找具有到期批次物品的试剂耗材类信息 - if (list != null && list.size() != 0) { - for (BatchDetails batchDetails : list) { - ReagentConsumableInventory reagentConsumableInventory = this.getOne(new LambdaQueryWrapper().eq(ReagentConsumableInventory::getReagentConsumableInventoryId, batchDetails.getReagentConsumableInventoryId()).ne(ReagentConsumableInventory::getCategory, "标准物质").ne(ReagentConsumableInventory::getCategory, "标准储备溶液")); - if (reagentConsumableInventory != null) { - ReagentConsumableInventoryVO reagentConsumableInventoryVO = new ReagentConsumableInventoryVO(); - BeanUtils.copyProperties(reagentConsumableInventory, reagentConsumableInventoryVO); - reagentConsumableInventoryVO.setBatchDetailsVOS(batchDetailsService.getBatchDetailsList(reagentConsumableInventoryVO.getReagentConsumableInventoryId())); - reagentConsumableInventoryVOList.add(reagentConsumableInventoryVO); - } - } - } - PageUtils pageUtils = new PageUtils(); - return pageUtils.getPages((int) page.getCurrent(), (int) page.getSize(), reagentConsumableInventoryVOList); - } - IPage reagentConsumableInventoryVOPage = baseMapper.getReagentConsumableInventoryVOPage(page, qw); - List records = reagentConsumableInventoryVOPage.getRecords(); - for (ReagentConsumableInventoryVO reagentConsumableInventoryVO : records) { - List batchDetailsVOList = batchDetailsService.getBatchDetailsList(reagentConsumableInventoryVO.getReagentConsumableInventoryId()); - //赋值试剂耗材批次明细 - reagentConsumableInventoryVO.setBatchDetailsVOS(batchDetailsVOList); + return this.getReagentConsumableInventoryWarningPage((Page) page, reagentCategory); } + IPage reagentConsumableInventoryVOPage = baseMapper.getReagentConsumableInventoryVOPage(page, warning, keywords, reagentCategory); return reagentConsumableInventoryVOPage; } + //查询即将到期的试剂耗材、标准物质:reagentCategory:0代表试剂耗材,1代表标准物质、标准储备溶液 + public IPage getReagentConsumableInventoryWarningPage(Page page, Integer reagentCategory) { + List reagentConsumableInventoryVOList = new ArrayList<>(); + List list = batchDetailsService.list(Wrappers.query().eq("warning_information", "即将过期").or().eq("warning_information", "已过期").or().eq("warning_information", "即将到达存储期限").or().eq("warning_information", "已超过存储期限")); + //查找具有到期批次物品的试剂耗材\标准物质类信息 + if (list != null && list.size() != 0) { + for (BatchDetails batchDetails : list) { + ReagentConsumableInventory reagentConsumableInventory = new ReagentConsumableInventory(); + if (reagentCategory == 0) { + reagentConsumableInventory = this.getOne(new LambdaQueryWrapper().eq(ReagentConsumableInventory::getReagentConsumableInventoryId, batchDetails.getReagentConsumableInventoryId()).ne(ReagentConsumableInventory::getCategory, "标准物质").ne(ReagentConsumableInventory::getCategory, "标准储备溶液")); + } else { + reagentConsumableInventory = this.getOne(new LambdaQueryWrapper().eq(ReagentConsumableInventory::getReagentConsumableInventoryId, batchDetails.getReagentConsumableInventoryId()).ne(ReagentConsumableInventory::getCategory, "试剂").ne(ReagentConsumableInventory::getCategory, "耗材")); + } + if (reagentConsumableInventory != null) { + ReagentConsumableInventoryVO reagentConsumableInventoryVO = new ReagentConsumableInventoryVO(); + BeanUtils.copyProperties(reagentConsumableInventory, reagentConsumableInventoryVO); + reagentConsumableInventoryVO.setBatchDetailsVOS(batchDetailsService.getBatchDetailsList(reagentConsumableInventoryVO.getReagentConsumableInventoryId())); + reagentConsumableInventoryVOList.add(reagentConsumableInventoryVO); + } + } + } + PageUtils pageUtils = new PageUtils(); + return pageUtils.getPages((int) page.getCurrent(), (int) page.getSize(), reagentConsumableInventoryVOList); + } @Override//入库增加库存 public ReagentConsumableInventory addById(String reagentConsumableId, Integer quantity) { @@ -231,32 +196,21 @@ public class ReagentConsumableInventoryServiceImpl extends ServiceImpl getAllList(Page page, QueryWrapper qw, Integer status, String number) { - //如果扫码 - - if (StrUtil.isNotBlank(number)) { - - ReferenceMaterial referenceMaterial = referenceMaterialService.getOne(Wrappers.query().eq("number", number)); - - if (referenceMaterial != null) { - - ReagentConsumableInventoryFullVO byCode = this.getByCode(referenceMaterial.getId()); - - List reagentConsumableInventoryFullVOS = new ArrayList<>(); - - reagentConsumableInventoryFullVOS.add(byCode); - - PageUtils pageUtils = new PageUtils(); - - Page pages = pageUtils.getPages(page.getCurrent(), page.getSize(), reagentConsumableInventoryFullVOS); - - return pages; - - } - } - + public IPage getStandardAllList(Page page, QueryWrapper qw, Integer status, String number) { +// //如果扫码 +// if (StrUtil.isNotBlank(number)) { +// ReferenceMaterial referenceMaterial = referenceMaterialService.getOne(Wrappers.query().eq("number", number)); +// if (referenceMaterial != null) { +// ReagentConsumableInventoryFullVO byCode = this.getByCode(referenceMaterial.getId()); +// List reagentConsumableInventoryFullVOS = new ArrayList<>(); +// reagentConsumableInventoryFullVOS.add(byCode); +// PageUtils pageUtils = new PageUtils(); +// Page pages = pageUtils.getPages(page.getCurrent(), page.getSize(), reagentConsumableInventoryFullVOS); +// return pages; +// +// } +// } IPage referenceMaterialPage = baseMapper.getReferenceMaterialPage(page, qw); - return referenceMaterialPage; } @@ -1043,4 +997,24 @@ public class ReagentConsumableInventoryServiceImpl extends ServiceImpl getStatisticalCornerMarkList() { + List statisticalCornerMarkList = new ArrayList<>(); + //到期标识 + Integer expireWarning = 2; + //库存不足标识 + Integer understockWarning = 1; + Page page = new Page<>(9999, 9999); + int understockReagentConsumableQuantity = (int) this.getReagentConsumableInventoryREVOList(page, 1, "").getTotal(); + statisticalCornerMarkList.add(new StatisticalCornerMark("库存不足的试剂耗材种类数量", understockReagentConsumableQuantity)); + int expireReagentConsumableQuantity = (int) this.getReagentConsumableInventoryREVOList(page, 2, "").getTotal(); + statisticalCornerMarkList.add(new StatisticalCornerMark("即将到期的试剂耗材种类数量", expireReagentConsumableQuantity)); + + int understockReferenceMaterialQuantity = (int) this.getReagentConsumableInventoryRMVOList(page, 1, "").getTotal(); + statisticalCornerMarkList.add(new StatisticalCornerMark("库存不足的标准物质种类数量", understockReferenceMaterialQuantity)); + int expireReferenceMaterialQuantity = (int) this.getReagentConsumableInventoryRMVOList(page, 2, "").getTotal(); + statisticalCornerMarkList.add(new StatisticalCornerMark("即将到期的标准物质种类数量", expireReferenceMaterialQuantity)); + + return statisticalCornerMarkList; + } } diff --git a/src/main/java/digital/laboratory/platform/reagent/vo/BatchDetailsVO.java b/src/main/java/digital/laboratory/platform/reagent/vo/BatchDetailsVO.java index 6e4d1c9..91e48b7 100644 --- a/src/main/java/digital/laboratory/platform/reagent/vo/BatchDetailsVO.java +++ b/src/main/java/digital/laboratory/platform/reagent/vo/BatchDetailsVO.java @@ -3,13 +3,17 @@ package digital.laboratory.platform.reagent.vo; import digital.laboratory.platform.reagent.entity.BatchDetails; import digital.laboratory.platform.reagent.entity.ReferenceMaterial; import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @Data +@AllArgsConstructor +@NoArgsConstructor public class BatchDetailsVO extends BatchDetails { @ApiModelProperty(value="供应商名称") diff --git a/src/main/resources/mapper/ReagentConsumableInventoryMapper.xml b/src/main/resources/mapper/ReagentConsumableInventoryMapper.xml index 3bb2e0c..aef6009 100644 --- a/src/main/resources/mapper/ReagentConsumableInventoryMapper.xml +++ b/src/main/resources/mapper/ReagentConsumableInventoryMapper.xml @@ -42,7 +42,45 @@ + extends="reagentConsumableInventoryMap"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - select * - from reagent_consumable_inventory ${ew.customSqlSegment} + select r.* from reagent_consumable_inventory r + where + + r.category in ('试剂','耗材') + + + r.category in ('标准物质','标准储备溶液') + + + and r.warning_information = '库存不足' + + + and r.reagent_consumable_name like concat('%',#{keywords},'%') + or r.remark like like concat('%',#{keywords},'%') +