From ccd758bcd9b357b365c28f62efde203faa83fb93 Mon Sep 17 00:00:00 2001
From: luoyisheng <yangdongji@argo-ai.cn>
Date: 星期一, 24 二月 2025 14:45:10 +0800
Subject: [PATCH] bug

---
 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java |  299 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 267 insertions(+), 32 deletions(-)

diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
index 30ad0ed..ce874a1 100644
--- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
@@ -3,11 +3,18 @@
 import java.math.BigDecimal;
 import java.util.*;
 
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson2.JSONArray;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.sinata.common.core.domain.R;
+import com.sinata.common.core.domain.entity.SysDictData;
 import com.sinata.common.core.domain.entity.SysUser;
 import com.sinata.common.entity.PageDTO;
+import com.sinata.common.utils.DateUtils;
 import com.sinata.common.utils.SecurityUtils;
+import com.sinata.common.utils.StringUtils;
 import com.sinata.system.domain.*;
 import com.sinata.system.domain.dto.*;
 import com.sinata.system.domain.query.MwCollectRecordQuery;
@@ -19,6 +26,7 @@
 import io.swagger.annotations.ApiParam;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -26,6 +34,7 @@
 import javax.validation.Valid;
 import java.io.IOException;
 import java.time.LocalDate;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -40,6 +49,7 @@
 @Api(tags = {"医院工作人员"})
 @RequiredArgsConstructor
 @RequestMapping("/applet/mwCollectRecord")
+
 public class AppMwCollectRecordController {
     private final MwCollectRecordService collectRecordService;
     @Autowired
@@ -48,13 +58,51 @@
     private final MwCheckoutRecordService checkoutRecordService;
     private final MwCheckoutRecordItemService checkoutRecordItemService;
     private final SysDepartmentService departmentService;
+    private final MwDisposalRecordService disposalRecordService;
+    private final MwDisposalRecordItemService disposalRecordItemService;
+    private final MwDisposalHandleRecordService disposalHandleRecordService;
+    private final MwDisposalHandleRecordItemService disposalHandleRecordItemService;
+    private final MwStagingRoomService roomService;
+    private final ISysDictDataService dictDataService;
+    private final MwTransitCarService carService;
+    private final MwTransitCarCollectPointService mwTransitCarCollectPointService;
+    private final MwTransitRouteService transitRouteService;
 
 
-    @ApiOperation("新增医废记录")
+    @ApiOperation(value = "新增医废记录")
     @PostMapping("/add")
     public R<?> add(@Valid @RequestBody MwCollectRecord mwCollectRecord) {
+        SysUser  sysUser1 = SecurityUtils.getLoginUser().getUser();
+        SysUser  sysUser = userService.getById(sysUser1.getUserId());
+
         MwBox one = boxService.lambdaQuery().eq(MwBox::getBoxNumber, mwCollectRecord.getBoxNumber()).one();
+        if (one==null){
+            return R.fail("当前转运箱不存在");
+        }
+        one.setLink(1);
+        one.setLastUseTime(new Date());
+        boxService.updateById(one);
         mwCollectRecord.setBoxId(one.getId());
+        MwStagingRoom one1 = roomService.lambdaQuery().eq(MwStagingRoom::getDepartmentId, sysUser.getDepartmentId()).one();
+        if (one1==null){
+            return R.fail("当前单位没有暂存间");
+        }
+        mwCollectRecord.setStagingRoomId(one1.getId());
+        mwCollectRecord.setDepartmentId(sysUser.getDepartmentId());
+        mwCollectRecord.setBoxTime(new Date());
+        mwCollectRecord.setCollectUserId(sysUser.getUserId());
+
+        // 创建一个随机数生成器实例
+        Random random = new Random();
+
+        // 生成一个6位数范围内的随机整数(100000 到 999999)
+        int randomNumber = 10000000 + random.nextInt(90000000);
+        mwCollectRecord.setMedicalWasteNumber(String.valueOf(randomNumber));
+
+        SysDictData medicalWasteType = dictDataService.getById(mwCollectRecord.getWasteType());
+        if (medicalWasteType!=null){
+            mwCollectRecord.setWasteTypeStr(medicalWasteType.getDictLabel());
+        }
         collectRecordService.save(mwCollectRecord);
         return R.ok();
     }
@@ -68,14 +116,17 @@
         }
         Long departmentId = list.get(0).getDepartmentId();
         List<CollectDto> collectDtos =  collectRecordService.getGroup1(boxNumber,departmentId);
+        for (CollectDto collectDto : collectDtos) {
+            collectDto.setDepartmentName(departmentService.getById(departmentId).getDepartmentName());
+        }
         return R.ok(collectDtos);
     }
 
     @ApiOperation(value = "装车",tags = "运输人员")
     @PostMapping("/box/collect")
     public R<List<CollectDto>> collect(@RequestBody SignCollectDto signCollectDto) {
-        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
-
+        SysUser  sysUser1 = SecurityUtils.getLoginUser().getUser();
+        SysUser sysUser = userService.getById(sysUser1.getUserId());
         //将收集记录的状态改变
         List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,1).in(MwCollectRecord::getBoxNumber, signCollectDto.getBoxNumbers()).list();
        if (list.isEmpty()){
@@ -86,6 +137,9 @@
         for (MwCollectRecord mwCollectRecord : list) {
             mwCollectRecord.setStatus(2);
             mwCollectRecord.setCheckoutUserId(sysUser.getUserId());
+            mwCollectRecord.setCheckoutTime(new Date());
+            mwCollectRecord.setDriverId(sysUser.getUserId());
+            mwCollectRecord.setCarId(sysUser.getCarId());
             boxes.add(mwCollectRecord.getBoxNumber());
             sum= sum.add(mwCollectRecord.getWeight());
         }
@@ -112,20 +166,49 @@
         }
         checkoutRecordItemService.saveBatch(recordItems);
         collectRecordService.updateBatchById(list);
+        MwBox byId = boxService.getById(list.get(0).getStagingRoomId());
+        byId.setLink(2);
+        boxService.updateById(byId);
+
+        //查询当前医废收集路线
+        Long departmentId = list.get(0).getDepartmentId();
+        MwTransitRoute route = transitRouteService.queryRouteByDepartmentId(departmentId);
+        if (Objects.nonNull(route)){
+            //查询当前车辆已运输路线记录
+            MwTransitCarCollectPoint carCollectPoint = mwTransitCarCollectPointService.lambdaQuery().eq(MwTransitCarCollectPoint::getCarId, sysUser.getCarId())
+                    .eq(MwTransitCarCollectPoint::getRouteId, route.getId())
+                    .eq(MwTransitCarCollectPoint::getTransitDate, DateUtil.format(new Date(), DatePattern.NORM_DATE_PATTERN))
+                    .last("LIMIT 1").one();
+            List<Long> departmentIdList = new ArrayList<>();
+            //如果当前收集医院不是第一家且当前收集医院未被记录
+            if (Objects.nonNull(carCollectPoint) && !carCollectPoint.getPointList().contains(departmentId.toString())){
+                departmentIdList = JSONArray.parseArray(carCollectPoint.getPointList(), Long.class);
+                departmentIdList.add(departmentId);
+            }else if (Objects.isNull(carCollectPoint) ){//当前医院为第一个收集的医院
+                carCollectPoint = new MwTransitCarCollectPoint();
+                carCollectPoint.setCarId(carCollectPoint.getCarId());
+                carCollectPoint.setRouteId(route.getId());
+                carCollectPoint.setTransitDate(new Date());
+                departmentIdList.add(departmentId);
+            }
+            carCollectPoint.setPointList(JSONArray.toJSONString(departmentIdList));
+            mwTransitCarCollectPointService.saveOrUpdate(carCollectPoint);
+        }
+
         return R.ok();
 
     }
 
     @ApiOperation(value = "运输统计上",tags = "运输人员")
     @PostMapping("/trans/collect/total")
-    public R<List<CollectTotalUpDto>> tanscollecttotal1(LocalDate date) {
+    public R<List<CollectTotalUpDto>> tanscollecttotal1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) {
         SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
         return R.ok(collectRecordService.collectTotal1(date,sysUser.getUserId(),null));
     }
 
     @ApiOperation(value = "运输统计上(医院数量)",tags = "运输人员")
     @PostMapping("/trans/collect/hospital/count")
-    public R<Long> tanscollecttotal12(LocalDate date) {
+    public R<Long> tanscollecttotal12(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) {
         SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
         Long count = collectRecordService.lambdaQuery().eq(date!=null,MwCollectRecord::getCheckoutTime,date).eq(MwCollectRecord::getCheckoutUserId, sysUser.getUserId()).groupBy(MwCollectRecord::getDepartmentId).count();
         return R.ok(count);
@@ -133,10 +216,12 @@
 
     @ApiOperation(value = "运输统计下",tags = "运输人员")
     @PostMapping("/trans/down/collect/total")
-    public R<List<HospitalCollectTotalUpDto>> tanscollecttotal2(LocalDate date) {
+    public R<List<HospitalCollectTotalUpDto>> tanscollecttotal2(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) {
         SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
         //先获取医院ids
-        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(date!=null,MwCollectRecord::getCheckoutTime,date).eq(MwCollectRecord::getCheckoutUserId, sysUser.getUserId()).groupBy(MwCollectRecord::getDepartmentId).list();
+        List<MwCollectRecord> list = collectRecordService.lambdaQuery().ge(MwCollectRecord::getCheckoutTime, date.atStartOfDay())
+                .le(MwCollectRecord::getCheckoutTime, date.atTime(23,59,59))
+                .eq(MwCollectRecord::getCheckoutUserId, sysUser.getUserId()).groupBy(MwCollectRecord::getDepartmentId).list();
         //循环医院,然后放入
         List<HospitalCollectTotalUpDto> list1 = new ArrayList<>();
         for (MwCollectRecord mwCollectRecord : list) {
@@ -151,17 +236,19 @@
 
     @ApiOperation(value = "扫码接收列表",tags = "处置人员")
     @PostMapping("/end/down/collect/total")
-    public R<List<HospitalCollectTotalUpDto>> tanscollecttotal3(String boxNum) {
+    public R<List<HospitalCollectTotalUp1Dto>> tanscollecttotal3(String boxNum) {
         SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
         MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one();
-
+        if (one==null){
+            return R.ok();
+        }
         //先获取医院ids
         List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).eq(MwCollectRecord::getCheckoutUserId, one.getCheckoutUserId()).groupBy(MwCollectRecord::getDepartmentId).list();
         //循环医院,然后放入
-        List<HospitalCollectTotalUpDto> list1 = new ArrayList<>();
+        List<HospitalCollectTotalUp1Dto> list1 = new ArrayList<>();
         for (MwCollectRecord mwCollectRecord : list) {
-            List<CollectTotalUpDto> collectTotalUpDtos = collectRecordService.collectTotal1(null, sysUser.getUserId(), mwCollectRecord.getDepartmentId());
-            HospitalCollectTotalUpDto hospitalCollectTotalUpDto = new HospitalCollectTotalUpDto();
+            List<CollectDto> collectTotalUpDtos = collectRecordService.getGroup2(null, mwCollectRecord.getDepartmentId());
+            HospitalCollectTotalUp1Dto hospitalCollectTotalUpDto = new HospitalCollectTotalUp1Dto();
             hospitalCollectTotalUpDto.setHospitalName(mwCollectRecord.getHospitalName());
             hospitalCollectTotalUpDto.setCollectTotalUpDtos(collectTotalUpDtos);
             list1.add(hospitalCollectTotalUpDto);
@@ -169,21 +256,58 @@
         return R.ok(list1);
     }
 
+    @ApiOperation(value = "获取车辆",tags = "处置人员")
+    @PostMapping("/end/down/collect/car")
+    public R<CarDto> tanscollecttotal7(String boxNum) {
+        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+        MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one();
+        if (one == null) {
+            return R.ok();
+        }
+        MwTransitCar byId = carService.getById(one.getCarId());
+        SysUser one1 = userService.lambdaQuery().eq(SysUser::getCarId, byId.getId()).last("limit 1").one();
+        CarDto carDto = new CarDto();
+        carDto.setLicensePlateNumber(byId.getLicensePlateNumber());
+        carDto.setUserName(one1.getUserName());
+        return R.ok(carDto);
+    }
+
+
+    @ApiOperation(value = "扫码接收列表上获取医院",tags = "处置人员")
+    @PostMapping("/end/down/collect/up")
+    public R<SysDepartment> tanscollecttotal4(String boxNum) {
+        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+        MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one();
+        if (one == null) {
+            return R.ok();
+        }
+        SysDepartment byId = departmentService.getById(one.getDepartmentId());
+        return R.ok(byId);
+    }
+
     @ApiOperation(value = "确认接受",tags = "处置人员")
     @PostMapping("/end/down/collect/confirm")
-    public R<List<HospitalCollectTotalUpDto>> tanscollecttotal4(String boxNum) {
+    public R tanscollecttotal4(@RequestBody BoxListDto boxListDto) {
         SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
         SysDepartment byId = departmentService.getById(sysUser.getDepartmentId());
         //将record变为已接受
-        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).eq(MwCollectRecord::getBoxNumber, boxNum).list();
+        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list();
+      if (list.isEmpty()){
+          return R.ok();
+      }
+
         Set<String> boxes = new HashSet<>();
         BigDecimal receiveQuantity = BigDecimal.ZERO;
         for (MwCollectRecord mwCollectRecord : list) {
             mwCollectRecord.setStatus(3);
             boxes.add(mwCollectRecord.getBoxNumber());
+            mwCollectRecord.setReceiveUserId(sysUser.getUserId());
+            mwCollectRecord.setReceiveTime(new Date());
+            mwCollectRecord.setReceiveDepartmentId(sysUser.getDepartmentId());
             receiveQuantity = receiveQuantity.add(mwCollectRecord.getWeight());
         }
-        //插入处置记录以及子表
+        collectRecordService.updateBatchById(list);
+        //插入接收记录以及子表
         MwDisposalRecord mwDisposalRecord = new MwDisposalRecord();
         mwDisposalRecord.setDepartmentId(sysUser.getDepartmentId());
         mwDisposalRecord.setDisposalUnitName(byId.getDepartmentName());
@@ -193,33 +317,134 @@
         mwDisposalRecord.setReceiverId(sysUser.getUserId());
         mwDisposalRecord.setUnloadQuantity(boxes.size());
         mwDisposalRecord.setUnloadWeight(receiveQuantity);
-        mwDisposalRecord.setTotalHandledQuantity(0);
+        mwDisposalRecord.setTotalHandledQuantity(list.size());
         mwDisposalRecord.setDisposalFlag(0);
-        mwDisposalRecord.setTotalHandledWeight(new BigDecimal("0"));
-
-
-        return null;
-
-
+        mwDisposalRecord.setTotalHandledWeight(receiveQuantity);
+        mwDisposalRecord.setDriverId(list.get(0).getDriverId());
+        mwDisposalRecord.setCarId(list.get(0).getCarId());
+        disposalRecordService.save(mwDisposalRecord);
+        //插入子表
+        List<MwDisposalRecordItem> items = new ArrayList<>();
+        for (MwCollectRecord mwCollectRecord : list) {
+            MwDisposalRecordItem mwDisposalRecordItem = new MwDisposalRecordItem();
+            mwDisposalRecordItem.setCollectRecordId(mwCollectRecord.getId());
+            mwDisposalRecordItem.setDisposalRecordId(mwDisposalRecord.getId());
+            items.add(mwDisposalRecordItem);
+        }
+        disposalRecordItemService.saveBatch(items);
+        MwTransitRoute route = transitRouteService.queryRouteByDepartmentId(list.get(0).getDepartmentId());
+        if (Objects.nonNull(route)) {
+            //查询当前车辆已运输路线记录
+            MwTransitCarCollectPoint carCollectPoint = mwTransitCarCollectPointService.lambdaQuery().eq(MwTransitCarCollectPoint::getCarId, sysUser.getCarId())
+                    .eq(MwTransitCarCollectPoint::getRouteId, route.getId())
+                    .eq(MwTransitCarCollectPoint::getTransitDate, DateUtil.format(new Date(), DatePattern.NORM_DATE_PATTERN))
+                    .last("LIMIT 1").one();
+            List<Long> departmentIdList = new ArrayList<>();
+            if (Objects.nonNull(carCollectPoint)) {
+                departmentIdList = JSONArray.parseArray(carCollectPoint.getPointList(), Long.class);
+                departmentIdList.add(byId.getId());
+                carCollectPoint.setPointList(JSONArray.toJSONString(departmentIdList));
+                mwTransitCarCollectPointService.updateById(carCollectPoint);
+            }
+        }
+        return R.ok();
     }
+
+    @ApiOperation(value = "待处置列表",tags = "处置人员")
+    @PostMapping("/wait/list")
+    public R<List<CollectDto>> list1(String boxNumber) {
+        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
+        SysUser byId = userService.getById(sysUser.getUserId());
+        List<CollectDto> collectDtos =  collectRecordService.getGroupWithStatus(boxNumber,byId.getDepartmentId(),3);
+        return R.ok(collectDtos);
+    }
+    @ApiOperation(value = "处置操作",tags = "处置人员")
+    @PostMapping("/wait/out")
+    public R<List<CollectDto>> list2(@RequestBody BoxListDto boxListDto) {
+        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
+        SysDepartment byId = departmentService.getById(sysUser.getDepartmentId());
+        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus, 3).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list();
+        if (list.isEmpty()){
+            return R.ok();
+        }
+        //新增处置记录
+        MwDisposalHandleRecord mwDisposalHandleRecord  = new MwDisposalHandleRecord();
+        mwDisposalHandleRecord.setDepartmentId(byId.getId());
+        mwDisposalHandleRecord.setDisposalUnitName(byId.getDepartmentName());
+        mwDisposalHandleRecord.setDisposalTime(new Date());
+        mwDisposalHandleRecord.setDisposalUserId(sysUser.getUserId());
+        mwDisposalHandleRecord.setDriverId(list.get(0).getDriverId());
+        mwDisposalHandleRecord.setCarId(list.get(0).getCarId());
+        disposalHandleRecordService.save(mwDisposalHandleRecord);
+        List<Long> collectIdList = list.stream().map(MwCollectRecord::getId).collect(Collectors.toList());
+        //查询收集记录对应的接收记录
+        List<MwDisposalRecordItem> disposalRecordItems = disposalRecordItemService.lambdaQuery().in(MwDisposalRecordItem::getCollectRecordId, collectIdList).list();
+        Map<Long, Long> disposalRecordItemMap = disposalRecordItems.stream().collect(Collectors.toMap(MwDisposalRecordItem::getCollectRecordId, MwDisposalRecordItem::getDisposalRecordId));
+
+        //将收集记录以及子表改变为已处置
+        if (!list.isEmpty()) {
+            List<Long> ids = new ArrayList<>();
+            List<MwDisposalHandleRecordItem> mwDisposalHandleRecordItems = new ArrayList<>();
+            for (MwCollectRecord mwCollectRecord : list) {
+                ids.add(mwCollectRecord.getId());
+                mwCollectRecord.setStatus(4);
+                mwCollectRecord.setDisposalUserId(sysUser.getUserId());
+                mwCollectRecord.setDisposalTime(new Date());
+                MwDisposalHandleRecordItem mwDisposalHandleRecordItem = new MwDisposalHandleRecordItem();
+                mwDisposalHandleRecordItem.setCollectRecordId(mwCollectRecord.getId());
+                mwDisposalHandleRecordItem.setDisposalHandleRecordId(mwDisposalHandleRecord.getId());
+                mwDisposalHandleRecordItem.setDisposalRecordId(disposalRecordItemMap.getOrDefault(mwCollectRecord.getId(), null));
+                mwDisposalHandleRecordItems.add(mwDisposalHandleRecordItem);
+            }
+            disposalHandleRecordItemService.saveBatch(mwDisposalHandleRecordItems);
+            collectRecordService.updateBatchById(list);
+        }
+//            //将接收记录以及子表变为已处置
+//            List<MwDisposalRecordItem> list1 = disposalRecordItemService.lambdaQuery().in(MwDisposalRecordItem::getCollectRecordId, ids).list();
+//            if (!list1.isEmpty()){
+//                List<Long> ids2 = new ArrayList<>();
+//                for (MwDisposalRecordItem mwDisposalRecordItem : list1) {
+//                    mwDisposalRecordItem.setDisposalFlag(1);
+//                    mwDisposalRecordItem.setDisposalUserId(sysUser.getUserId());
+//                    mwDisposalRecordItem.setDisposalTime(new Date());
+//                    ids2.add(mwDisposalRecordItem.getId());
+//                }
+//                disposalRecordItemService.updateBatchById(list1);
+//                List<MwDisposalRecord> list2 = disposalRecordService.lambdaQuery().in(MwDisposalRecord::getId, ids2).list();
+//                for (MwDisposalRecord mwDisposalRecord : list2) {
+//                    mwDisposalRecord.setDisposalFlag(1);
+//                    mwDisposalRecord.setDisposalTime(new Date());
+//                    mwDisposalRecord.setDisposalUserId(sysUser.getUserId());
+//                }
+//                disposalRecordService.updateBatchById(list2);
+//            }
+//        }
+//        MwBox byId1 = boxService.getById(list.get(0).getStagingRoomId());
+//        byId1.setLink(4);
+//        boxService.updateById(byId1);
+        return R.ok();
+    }
+
 
 
 
     @ApiOperation(value = "已装车列表",tags = "运输人员")
     @PostMapping("/box/has/collect")
-    public R<List<CollectCarTotalUpDto>> hascollect() {
+    public R<List<CollectCarTotalUpDto>> hascollect(String name) {
         //获取车辆id
         SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
+        SysUser byId = userService.getById(sysUser.getUserId());
         //通过车辆id查询列表
-        List<CollectCarTotalUpDto> list = collectRecordService.carGroup(sysUser.getCarId());
+        List<CollectCarTotalUpDto> list = collectRecordService.carGroup(byId.getCarId(),name);
         return R.ok(list);
-
     }
 
     @ApiOperation(value = "已装车列表详情",tags = "运输人员")
     @PostMapping("/box/has/collect/detail")
     public R<List<CollectDto>> hascollectdetail(@RequestParam Long hospitalId) {
-        List<CollectDto> collectDtos =  collectRecordService.getGroup1("",hospitalId);
+        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
+        SysUser byId = userService.getById(sysUser.getUserId());
+        List<CollectDto> collectDtos =  collectRecordService.getGroup3(null,hospitalId,byId.getCarId());
         return R.ok(collectDtos);
     }
 
@@ -239,15 +464,25 @@
 
     @ApiOperation("收集统计上")
     @PostMapping("/collect/total")
-    public R<List<CollectTotalUpDto>> collecttotal1(LocalDate date) {
+    public R<List<CollectTotalUpDto>> collecttotal1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) {
         SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
-        return R.ok(collectRecordService.collectTotal(date,sysUser.getDepartmentId()));
+        SysUser byId = userService.getById(sysUser.getUserId());
+        if (date==null){
+            date = LocalDate.now();
+        }
+        return R.ok(collectRecordService.collectTotal(date,byId.getDepartmentId()));
     }
     @ApiOperation("收集统计下")
     @PostMapping("/collect/down/total")
-    public R<Page<MwCollectRecord>> collecttotal2(LocalDate date,@RequestParam Integer pageNum, @RequestParam Integer pageSize) {
+    public R<Page<MwCollectRecord>> collecttotal2(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date,@RequestParam Integer pageNum, @RequestParam Integer pageSize) {
         SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
-        Page<MwCollectRecord> page = collectRecordService.lambdaQuery().eq(date!=null,MwCollectRecord::getCollectTime,date).eq(MwCollectRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwCollectRecord::getCollectTime).page(Page.of(pageNum, pageSize));
+        SysUser byId = userService.getById(sysUser.getUserId());
+        Page<MwCollectRecord> page = collectRecordService.lambdaQuery()
+                .ge(MwCollectRecord::getCreateTime, date.atStartOfDay())
+                .le(MwCollectRecord::getCreateTime, date.atTime(23,59,59))
+            .eq(MwCollectRecord::getDepartmentId, byId.getDepartmentId())
+            .orderByDesc(MwCollectRecord::getCollectTime)
+            .page(Page.of(pageNum, pageSize));
         return R.ok(page);
     }
 
@@ -256,9 +491,9 @@
     @PostMapping("/total")
     public R<CollectTotalDto> total(String boxNumber) {
         SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
-
+        SysUser byId = userService.getById(sysUser.getUserId());
         CollectTotalDto collectTotalDto = new CollectTotalDto();
-        List<CollectDto> collectDtos =  collectRecordService.getGroup(boxNumber,sysUser.getDepartmentId());
+        List<CollectDto> collectDtos =  collectRecordService.getGroup(boxNumber,byId.getDepartmentId());
         for (CollectDto collectDto : collectDtos) {
             collectTotalDto.setBoxNum(collectTotalDto.getBoxNum()+1);
             collectTotalDto.setCarNum(collectTotalDto.getCarNum()+collectDto.getNum());

--
Gitblit v1.7.1