From b44b174f656aac1fe03e7f96851e564c3982f67d Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 28 三月 2025 16:52:25 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/boymi/YiFeiNN

---
 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java       |   35 ++++++++++++-----
 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java |    5 +-
 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CountTwoDto.java                      |    6 ++-
 medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartment.java                        |    8 ++-
 medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml                      |    8 ++-
 5 files changed, 41 insertions(+), 21 deletions(-)

diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java
index 6138c85..7c320c9 100644
--- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java
@@ -24,6 +24,7 @@
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.List;
@@ -126,11 +127,17 @@
         LocalDate now = LocalDate.now();
         for (SysDepartment sysDepartment : list) {
             //获取库存总量
-            Long count1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).count();
+            BigDecimal count1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).list().stream()
+                    .map(MwCollectRecord::getWeight)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add);
             //获取接收数量
-            Long count2 = collectRecordService.lambdaQuery().ge(MwCollectRecord::getReceiveTime,now.atStartOfDay()).le(MwCollectRecord::getReceiveTime,now.atTime(23,59,59)).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).count();
+            BigDecimal count2 = collectRecordService.lambdaQuery().ge(MwCollectRecord::getReceiveTime,now.atStartOfDay()).le(MwCollectRecord::getReceiveTime,now.atTime(23,59,59)).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).list().stream()
+                    .map(MwCollectRecord::getWeight)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add);
             //获取处置数量
-            Long count3 = collectRecordService.lambdaQuery().ge(MwCollectRecord::getDisposalTime,now.atStartOfDay()).le(MwCollectRecord::getDisposalTime,now.atTime(23,59,59)).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).count();
+            BigDecimal count3 = collectRecordService.lambdaQuery().ge(MwCollectRecord::getDisposalTime,now.atStartOfDay()).le(MwCollectRecord::getDisposalTime,now.atTime(23,59,59)).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).list().stream()
+                    .map(MwCollectRecord::getWeight)
+                    .reduce(BigDecimal.ZERO, BigDecimal::add);
             sysDepartment.setCont1(count1);
             sysDepartment.setCont2(count2);
             sysDepartment.setCont3(count3);
@@ -153,19 +160,21 @@
         MwStagingRoom one = roomService.lambdaQuery().eq(MwStagingRoom::getDepartmentId, departmentId).one();
         Long count = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStagingRoomId, one.getId()).eq(MwCollectRecord::getStatus, 1).count();
         MwCollectRecord one1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStagingRoomId, one.getId()).eq(MwCollectRecord::getStatus, 1).orderByDesc(MwCollectRecord::getBoxTime).last("limit 1").one();
+        if (one1!=null){
+            one.setBoxTime(one1.getBoxTime());
+        }
         one.setCount(count);
-        one.setBoxTime(one1.getBoxTime());
         return R.ok(one);
     }
 
     @ApiOperation(value = "医院转运记录")
     @PostMapping("/trans")
     public R<List<CheckOutDto>> trans(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date, @ApiParam("医院id")@RequestParam Long departmentId) {
-        LocalDate now = LocalDate.now().minusDays(7);
-        if (date!=null){
-            now = LocalDate.now();
-        }
-        List<MwCheckoutRecord> list = mwCheckoutRecordService.lambdaQuery().ge(date ==null,MwCheckoutRecord::getCheckoutTime, now).eq(MwCheckoutRecord::getDepartmentId, departmentId).orderByDesc(MwCheckoutRecord::getCheckoutTime).list();
+//        LocalDate now = LocalDate.now().minusDays(7);
+//        if (date!=null){
+//            now = LocalDate.now();
+//        }
+        List<MwCheckoutRecord> list = mwCheckoutRecordService.lambdaQuery().ge(MwCheckoutRecord::getCheckoutTime, date.atStartOfDay()).le(MwCheckoutRecord::getCheckoutTime , date.atTime(23,59,59)).eq(MwCheckoutRecord::getDepartmentId, departmentId).orderByDesc(MwCheckoutRecord::getCheckoutTime).list();
         List<CheckOutDto> backList = new ArrayList<>();
         for (MwCheckoutRecord mwCheckoutRecord : list) {
             CheckOutDto checkOutDto = new CheckOutDto();
@@ -186,8 +195,12 @@
     public R<CountTwoDto> outtotal2(@ApiParam("处置机构id")@RequestParam Long departmentId) {
         CountTwoDto countTwoDto = new CountTwoDto();
         LocalDate now = LocalDate.now();
-        Long count = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, departmentId).ge(MwCollectRecord::getReceiveTime, now.atStartOfDay()).le(MwCollectRecord::getReceiveTime,now.atTime(23,59,59)).count();
-        Long count1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, departmentId).ge(MwCollectRecord::getDisposalTime, now.atStartOfDay()).le(MwCollectRecord::getDisposalTime,now.atTime(23,59,59)).count();
+        BigDecimal count = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, departmentId).ge(MwCollectRecord::getReceiveTime, now.atStartOfDay()).le(MwCollectRecord::getReceiveTime,now.atTime(23,59,59)).list().stream()
+                .map(MwCollectRecord::getWeight)
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal count1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, departmentId).ge(MwCollectRecord::getDisposalTime, now.atStartOfDay()).le(MwCollectRecord::getDisposalTime,now.atTime(23,59,59)).list().stream()
+                .map(MwCollectRecord::getWeight)
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
         countTwoDto.setCount(count);
         countTwoDto.setCount1(count1);
         return R.ok(countTwoDto);
diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java
index d50a0f8..281d65f 100644
--- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java
@@ -94,8 +94,9 @@
     @ApiOperation(value = "处置统计上",tags = "处置人员")
     @PostMapping("/end/total")
     public R<List<CollectTotalUpDto>> outtotal1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) {
-        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
-        return R.ok(mwCheckoutRecordService.totalUp2(date,sysUser.getDepartmentId()));
+        SysDepartment myDepartment = departmentService.getMyDepartment();
+        List<CollectTotalUpDto> collectTotalUpDtos = mwCheckoutRecordService.totalUp2(date, myDepartment.getId());
+        return R.ok(collectTotalUpDtos);
     }
 
     @ApiOperation(value = "处置统下",tags = "处置人员")
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartment.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartment.java
index 8d0a308..9e0d994 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartment.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/SysDepartment.java
@@ -10,6 +10,8 @@
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 区域表
@@ -101,13 +103,13 @@
     private String percentage;
     @ApiModelProperty("处置-库存总")
     @TableField(exist = false)
-    private Long cont1;
+    private BigDecimal cont1;
     @ApiModelProperty("处置-今日接收")
     @TableField(exist = false)
-    private Long cont2;
+    private BigDecimal cont2;
     @ApiModelProperty("处置-今日处置")
     @TableField(exist = false)
-    private Long cont3;
+    private BigDecimal cont3;
     @ApiModelProperty("当前预警量")
     @TableField(exist = false)
     private Long dangerCount;
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CountTwoDto.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CountTwoDto.java
index 58c34f6..7c466d3 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CountTwoDto.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CountTwoDto.java
@@ -3,10 +3,12 @@
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
+
 @Data
 public class CountTwoDto {
     @ApiModelProperty("今日接收")
-    private Long count;
+    private BigDecimal count;
     @ApiModelProperty("今日处置")
-    private Long count1;
+    private BigDecimal count1;
 }
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
index 8b0d107..3e0f672 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -303,11 +303,12 @@
 
 
     <select id="totalUp2" resultType="com.sinata.system.domain.dto.CollectTotalUpDto">
-        SELECT WASTE_TYPE as wasteType,WASTE_TYPE_STR as wasteTypeStr,COUNT(DISTINCT BOX_NUMBER ) as boxNum ,COUNT(1)as num,sum(WEIGHT) as weight from MEDICAL_WASTE.MW_COLLECT_RECORD
+        SELECT WASTE_TYPE as wasteType, WASTE_TYPE_STR as wasteTypeStr, COUNT(DISTINCT BOX_NUMBER) as boxNum, COUNT(1) as num, sum(WEIGHT) as weight
+        FROM MEDICAL_WASTE.MW_COLLECT_RECORD
         <where>
             RECEIVE_USER_ID is not null AND DEPARTMENT_ID = #{departmentId}
             <if test="date != null">
-                AND TRUNC(RECEIVE_TIME) == TO_DATE(#{date},'YYYY-MM-DD')
+                AND TRUNC(RECEIVE_TIME) = TO_DATE(#{date}, 'YYYY-MM-DD')
             </if>
         </where>
         GROUP BY WASTE_TYPE
@@ -328,7 +329,8 @@
                 AND TRUNC(DISPOSAL_TIME, 'DAY') >= TO_DATE(#{date1},'YYYY-MM-DD')
             </if>
             <if test="date2 != null">
-                AND TRUNC(DISPOSAL_TIME, 'DAY') &lt; TO_DATE(#{date2},'YYYY-MM-DD')            </if>
+                AND TRUNC(DISPOSAL_TIME, 'DAY') &lt; TO_DATE(#{date2},'YYYY-MM-DD')
+            </if>
         </where>
         GROUP BY WASTE_TYPE
     </select>

--
Gitblit v1.7.1