From 0852acae13603be95eaaa0b501f3441508ff3fe5 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 14 四月 2025 09:52:12 +0800
Subject: [PATCH] 大屏统计修改

---
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBoxServiceImpl.java |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBoxServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBoxServiceImpl.java
index faa6752..73a5847 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBoxServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwBoxServiceImpl.java
@@ -48,9 +48,9 @@
             boxStatisticsVO.setTotal(boxList.size());
             boxStatisticsVO.setBrokenCount(boxList.stream().filter(box -> BoxStatusEnum.BROKEN.getCode().equals(box.getStatus())).count());
             boxStatisticsVO.setLostCount(boxList.stream().filter(box -> BoxStatusEnum.LOST.getCode().equals(box.getStatus())).count());
-            boxStatisticsVO.setDisposeCount(boxList.stream().filter(box -> BoxProcessEnum.DISPOSAL.getCode().equals(box.getStatus())).count());
-            boxStatisticsVO.setHospitalUsingCount(boxList.stream().filter(box -> BoxProcessEnum.HOSPITAL_USING.getCode().equals(box.getStatus())).count());
-            boxStatisticsVO.setTransitingCount(boxList.stream().filter(box -> BoxProcessEnum.TRANSITING.getCode().equals(box.getStatus())).count());
+            boxStatisticsVO.setDisposeCount(boxList.stream().filter(box -> BoxProcessEnum.DISPOSAL.getCode().equals(box.getLink())).count());
+            boxStatisticsVO.setHospitalUsingCount(boxList.stream().filter(box -> BoxProcessEnum.HOSPITAL_USING.getCode().equals(box.getLink())).count());
+            boxStatisticsVO.setTransitingCount(boxList.stream().filter(box -> BoxProcessEnum.TRANSITING.getCode().equals(box.getLink())).count());
         }
         return boxStatisticsVO;
     }
@@ -72,7 +72,7 @@
                 .between(Objects.nonNull(query.getLastUseTimeStart())
                                 && Objects.nonNull(query.getLastUseTimeEnd()),
                         MwBox::getLastUseTime, query.getLastUseTimeStart(), query.getLastUseTimeEnd())
-                .orderByDesc(MwBox::getBoxNumber)
+                .orderByDesc(MwBox::getCreateTime)
                 .page(new Page<>(query.getPageCurr(), query.getPageSize()));
         return PageDTO.of(page, MwBoxVO.class);
     }
@@ -87,10 +87,10 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void add(String boxNumberStart, String boxNumberEnd) {
-        String regx = "\\d+";
-        if (boxNumberStart.length() != 11 || boxNumberEnd.length() != 11 || !boxNumberStart.matches(regx) || !boxNumberEnd.matches(regx)) {
-            throw new ServiceException("请输入有效的11位数字编号!");
-        }
+        //String regx = "\\d+";
+        //if (boxNumberStart.length() != 11 || boxNumberEnd.length() != 11 || !boxNumberStart.matches(regx) || !boxNumberEnd.matches(regx)) {
+        //    throw new ServiceException("请输入有效的11位数字编号!");
+        //}
         BigDecimal start = new BigDecimal(boxNumberStart);
         BigDecimal end = new BigDecimal(boxNumberEnd);
         if (start.compareTo(end) > 0) {
@@ -99,7 +99,9 @@
         List<MwBox> boxList = new ArrayList<>();
         for (BigDecimal i = start; i.compareTo(end) <= 0; i = i.add(BigDecimal.ONE)) {
             MwBox mwBox = new MwBox();
-            mwBox.setBoxNumber(i.toString());
+            // 每次生成编号时,确保其为11位
+            String formattedBoxNumber = String.format("%011d", i.longValue());
+            mwBox.setBoxNumber(formattedBoxNumber);
             mwBox.setStatus(BoxStatusEnum.NORMAL.getCode());
             boxList.add(mwBox);
         }
@@ -122,6 +124,7 @@
         List<Long> idList = dto.getIdList();
         List<MwBox> boxList = idList.stream().map(id -> {
             MwBox mwBox = new MwBox();
+            mwBox.setId(id);
             mwBox.setStatus(dto.getStatus());
             mwBox.setRemark(dto.getRemark());
             return mwBox;

--
Gitblit v1.7.1