From cf49f4f936a11b27de3f9ec3cbb50603f3b1cd5b Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期六, 28 十二月 2024 16:16:18 +0800
Subject: [PATCH] merge

---
 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java |   15 +
 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java  |   89 +++++++++++
 medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java             |    7 
 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java |  188 ++++++++++++++++++++++-
 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java            |   22 ++
 medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java                      |    3 
 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java            |   63 +++++++
 medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java               |    5 
 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SignCollectDto.java                  |   13 +
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java    |   13 +
 medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml                      |   43 +++++
 medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUpDto.java       |   17 ++
 12 files changed, 462 insertions(+), 16 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 130754a..30ad0ed 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
@@ -1,20 +1,19 @@
 package com.sinata.web.controller.applet;
+import java.util.Date;
+import java.math.BigDecimal;
+import java.util.*;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sinata.common.core.domain.R;
 import com.sinata.common.core.domain.entity.SysUser;
 import com.sinata.common.entity.PageDTO;
 import com.sinata.common.utils.SecurityUtils;
-import com.sinata.system.domain.MwCollectRecord;
-import com.sinata.system.domain.dto.CollectDto;
-import com.sinata.system.domain.dto.CollectTotalDto;
-import com.sinata.system.domain.dto.CollectTotalUpDto;
-import com.sinata.system.domain.dto.MwCollectRecordDTO;
+import com.sinata.system.domain.*;
+import com.sinata.system.domain.dto.*;
 import com.sinata.system.domain.query.MwCollectRecordQuery;
 import com.sinata.system.domain.vo.MedicalWasteProcessVO;
 import com.sinata.system.domain.vo.MwCollectRecordVO;
-import com.sinata.system.service.ISysUserService;
-import com.sinata.system.service.MwCollectRecordService;
+import com.sinata.system.service.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -27,7 +26,6 @@
 import javax.validation.Valid;
 import java.io.IOException;
 import java.time.LocalDate;
-import java.util.List;
 
 /**
  * <p>
@@ -46,15 +44,185 @@
     private final MwCollectRecordService collectRecordService;
     @Autowired
     private ISysUserService userService;
-
+    private final MwBoxService boxService;
+    private final MwCheckoutRecordService checkoutRecordService;
+    private final MwCheckoutRecordItemService checkoutRecordItemService;
+    private final SysDepartmentService departmentService;
 
 
     @ApiOperation("新增医废记录")
     @PostMapping("/add")
-    public R<?> edit(@Valid @RequestBody MwCollectRecord mwCollectRecord) {
+    public R<?> add(@Valid @RequestBody MwCollectRecord mwCollectRecord) {
+        MwBox one = boxService.lambdaQuery().eq(MwBox::getBoxNumber, mwCollectRecord.getBoxNumber()).one();
+        mwCollectRecord.setBoxId(one.getId());
         collectRecordService.save(mwCollectRecord);
         return R.ok();
     }
+
+    @ApiOperation(value = "扫描箱号获取医废",tags = "运输人员")
+    @PostMapping("/box/list")
+    public R<List<CollectDto>> boxlist(@RequestParam String boxNumber) {
+        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,1).eq(MwCollectRecord::getBoxNumber, boxNumber).list();
+        if (list.isEmpty()){
+            return R.ok();
+        }
+        Long departmentId = list.get(0).getDepartmentId();
+        List<CollectDto> collectDtos =  collectRecordService.getGroup1(boxNumber,departmentId);
+        return R.ok(collectDtos);
+    }
+
+    @ApiOperation(value = "装车",tags = "运输人员")
+    @PostMapping("/box/collect")
+    public R<List<CollectDto>> collect(@RequestBody SignCollectDto signCollectDto) {
+        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
+
+        //将收集记录的状态改变
+        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,1).in(MwCollectRecord::getBoxNumber, signCollectDto.getBoxNumbers()).list();
+       if (list.isEmpty()){
+           return R.ok();
+       }
+        Set<String> boxes = new HashSet<>();
+        BigDecimal sum = new BigDecimal(0);
+        for (MwCollectRecord mwCollectRecord : list) {
+            mwCollectRecord.setStatus(2);
+            mwCollectRecord.setCheckoutUserId(sysUser.getUserId());
+            boxes.add(mwCollectRecord.getBoxNumber());
+            sum= sum.add(mwCollectRecord.getWeight());
+        }
+        //插入入库记录以及中间表数据
+        MwCheckoutRecord mwCheckoutRecord = new MwCheckoutRecord();
+        mwCheckoutRecord.setCheckoutTime(new Date());
+        mwCheckoutRecord.setDepartmentId(list.get(0).getDepartmentId());
+        mwCheckoutRecord.setHospitalName(list.get(0).getHospitalName());
+        mwCheckoutRecord.setStagingRoomId(list.get(0).getStagingRoomId());
+        mwCheckoutRecord.setHospitalSignature(signCollectDto.getSignUrl());
+        mwCheckoutRecord.setDriverId(sysUser.getUserId());
+        mwCheckoutRecord.setCarId(sysUser.getCarId());
+        mwCheckoutRecord.setBoxNum(boxes.size());
+        mwCheckoutRecord.setBagNum(list.size());
+        mwCheckoutRecord.setTotalWeight(sum);
+        checkoutRecordService.save(mwCheckoutRecord);
+        //插入中间表数据
+        List<MwCheckoutRecordItem> recordItems = new ArrayList<>();
+        for (MwCollectRecord mwCollectRecord : list) {
+            MwCheckoutRecordItem mwCheckoutRecordItem = new MwCheckoutRecordItem();
+            mwCheckoutRecordItem.setCollectRecordId(mwCollectRecord.getId());
+            mwCheckoutRecordItem.setCheckoutRecordId(mwCheckoutRecord.getId());
+            recordItems.add(mwCheckoutRecordItem);
+        }
+        checkoutRecordItemService.saveBatch(recordItems);
+        collectRecordService.updateBatchById(list);
+        return R.ok();
+
+    }
+
+    @ApiOperation(value = "运输统计上",tags = "运输人员")
+    @PostMapping("/trans/collect/total")
+    public R<List<CollectTotalUpDto>> tanscollecttotal1(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) {
+        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);
+    }
+
+    @ApiOperation(value = "运输统计下",tags = "运输人员")
+    @PostMapping("/trans/down/collect/total")
+    public R<List<HospitalCollectTotalUpDto>> tanscollecttotal2(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<HospitalCollectTotalUpDto> list1 = new ArrayList<>();
+        for (MwCollectRecord mwCollectRecord : list) {
+            List<CollectTotalUpDto> collectTotalUpDtos = collectRecordService.collectTotal1(date, sysUser.getUserId(), mwCollectRecord.getDepartmentId());
+            HospitalCollectTotalUpDto hospitalCollectTotalUpDto = new HospitalCollectTotalUpDto();
+            hospitalCollectTotalUpDto.setHospitalName(mwCollectRecord.getHospitalName());
+            hospitalCollectTotalUpDto.setCollectTotalUpDtos(collectTotalUpDtos);
+            list1.add(hospitalCollectTotalUpDto);
+        }
+        return R.ok(list1);
+    }
+
+    @ApiOperation(value = "扫码接收列表",tags = "处置人员")
+    @PostMapping("/end/down/collect/total")
+    public R<List<HospitalCollectTotalUpDto>> tanscollecttotal3(String boxNum) {
+        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
+        MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one();
+
+        //先获取医院ids
+        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).eq(MwCollectRecord::getCheckoutUserId, one.getCheckoutUserId()).groupBy(MwCollectRecord::getDepartmentId).list();
+        //循环医院,然后放入
+        List<HospitalCollectTotalUpDto> list1 = new ArrayList<>();
+        for (MwCollectRecord mwCollectRecord : list) {
+            List<CollectTotalUpDto> collectTotalUpDtos = collectRecordService.collectTotal1(null, sysUser.getUserId(), mwCollectRecord.getDepartmentId());
+            HospitalCollectTotalUpDto hospitalCollectTotalUpDto = new HospitalCollectTotalUpDto();
+            hospitalCollectTotalUpDto.setHospitalName(mwCollectRecord.getHospitalName());
+            hospitalCollectTotalUpDto.setCollectTotalUpDtos(collectTotalUpDtos);
+            list1.add(hospitalCollectTotalUpDto);
+        }
+        return R.ok(list1);
+    }
+
+    @ApiOperation(value = "确认接受",tags = "处置人员")
+    @PostMapping("/end/down/collect/confirm")
+    public R<List<HospitalCollectTotalUpDto>> tanscollecttotal4(String boxNum) {
+        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();
+        Set<String> boxes = new HashSet<>();
+        BigDecimal receiveQuantity = BigDecimal.ZERO;
+        for (MwCollectRecord mwCollectRecord : list) {
+            mwCollectRecord.setStatus(3);
+            boxes.add(mwCollectRecord.getBoxNumber());
+            receiveQuantity = receiveQuantity.add(mwCollectRecord.getWeight());
+        }
+        //插入处置记录以及子表
+        MwDisposalRecord mwDisposalRecord = new MwDisposalRecord();
+        mwDisposalRecord.setDepartmentId(sysUser.getDepartmentId());
+        mwDisposalRecord.setDisposalUnitName(byId.getDepartmentName());
+        mwDisposalRecord.setReceiveQuantity(boxes.size());
+        mwDisposalRecord.setReceiveTime(new Date());
+        mwDisposalRecord.setReceiveWeight(receiveQuantity);
+        mwDisposalRecord.setReceiverId(sysUser.getUserId());
+        mwDisposalRecord.setUnloadQuantity(boxes.size());
+        mwDisposalRecord.setUnloadWeight(receiveQuantity);
+        mwDisposalRecord.setTotalHandledQuantity(0);
+        mwDisposalRecord.setDisposalFlag(0);
+        mwDisposalRecord.setTotalHandledWeight(new BigDecimal("0"));
+
+
+        return null;
+
+
+    }
+
+
+
+    @ApiOperation(value = "已装车列表",tags = "运输人员")
+    @PostMapping("/box/has/collect")
+    public R<List<CollectCarTotalUpDto>> hascollect() {
+        //获取车辆id
+        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
+        //通过车辆id查询列表
+        List<CollectCarTotalUpDto> list = collectRecordService.carGroup(sysUser.getCarId());
+        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);
+        return R.ok(collectDtos);
+    }
+
     @ApiOperation("库存信息")
     @PostMapping("/list")
     public R<List<CollectDto>> list(String boxNumber) {
diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java
new file mode 100644
index 0000000..d573a92
--- /dev/null
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java
@@ -0,0 +1,89 @@
+package com.sinata.web.controller.applet;
+
+import com.sinata.common.core.domain.R;
+import com.sinata.common.core.domain.entity.SysUser;
+import com.sinata.common.entity.PageDTO;
+import com.sinata.common.utils.SecurityUtils;
+import com.sinata.system.domain.MwTransitRoute;
+import com.sinata.system.domain.MwTransitRouteCar;
+import com.sinata.system.domain.MwTransitRoutePoints;
+import com.sinata.system.domain.SysDepartment;
+import com.sinata.system.domain.dto.MwTransitRouteDTO;
+import com.sinata.system.domain.query.MwTransitRouteQuery;
+import com.sinata.system.domain.vo.MwTransitRouteVO;
+import com.sinata.system.service.MwTransitRouteCarService;
+import com.sinata.system.service.MwTransitRoutePointsService;
+import com.sinata.system.service.MwTransitRouteService;
+import com.sinata.system.service.SysDepartmentService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 转运线路 前端控制器
+ * </p>
+ *
+ * @author mitao
+ * @since 2024-12-02
+ */
+@Validated
+@RestController
+@RequiredArgsConstructor
+@Api(tags = {"运输路线"})
+@RequestMapping("/applet/mwTransitRoute")
+public class AppMwTransitRouteController {
+    private final MwTransitRouteService mwTransitRouteService;
+    private final MwTransitRouteCarService transitRouteCarService;
+    private final MwTransitRoutePointsService pointsService;
+    private final SysDepartmentService departmentService;
+
+    /**
+     * 分页列表
+     *
+     * @param query
+     * @return
+     */
+
+    @ApiOperation("线路列表")
+    @PostMapping("/line")
+    public R<List<MwTransitRoute>> line() {
+        //获取当前用户的车辆
+        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+        Long carId = sysUser.getCarId();
+        //根据车辆获取线路列表
+        List<MwTransitRouteCar> list = transitRouteCarService.lambdaQuery().eq(MwTransitRouteCar::getCarId, carId).list();
+        List<Long> routeIds = new ArrayList<>();
+        if (routeIds.isEmpty()){
+            return R.ok();
+        }
+        List<MwTransitRoute> list1 = mwTransitRouteService.lambdaQuery().in(MwTransitRoute::getId, routeIds).list();
+        for (MwTransitRoute mwTransitRoute : list1) {
+            SysDepartment byId = departmentService.getById(mwTransitRoute.getDepartmentId());
+            if (byId != null) {
+                mwTransitRoute.setHospitalName(byId.getDepartmentName());
+            }
+        }
+
+        return R.ok(list1);
+
+    }
+    @ApiOperation("分页列表")
+    @PostMapping("/get")
+    public R<List<MwTransitRoutePoints>> pageList(@RequestParam Long routeId) {
+
+
+        List<MwTransitRoutePoints> list1 = pointsService.lambdaQuery().eq(MwTransitRoutePoints::getRouteId, routeId).orderByAsc(MwTransitRoutePoints::getSortOrder).list();
+        return R.ok(list1);
+    }
+
+
+
+}
diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java
index 312aebf..c282814 100644
--- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java
@@ -1,6 +1,10 @@
 package com.sinata.web.controller.applet;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sinata.common.core.domain.R;
+import com.sinata.common.core.domain.entity.SysUser;
+import com.sinata.common.utils.SecurityUtils;
+import com.sinata.system.domain.MwWarningRecord;
 import com.sinata.system.domain.dto.CollectTotalUpDto;
 import com.sinata.system.service.MwWarningRecordService;
 import io.swagger.annotations.Api;
@@ -24,16 +28,17 @@
  */
 @RestController
 @RequestMapping("/applet/mwWarningRecord")
-@Api(tags = {"医院工作人员-预警"})
+@Api(tags = {"医院工作人员"})
 @AllArgsConstructor
 public class AppMwWarningRecordController {
     private  final MwWarningRecordService mwWarningRecordService;
 
-    @ApiOperation("记录")
+    @ApiOperation("预警记录")
     @PostMapping("/record")
-    public R<List<CollectTotalUpDto>> record(@RequestParam Integer pageNum,@RequestParam Integer pageSize) {
-
-
+    public R<Page<MwWarningRecord>> record(@RequestParam Integer pageNum,@RequestParam Integer pageSize) {
+        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+        Page<MwWarningRecord> page = mwWarningRecordService.lambdaQuery().eq(MwWarningRecord::getDepartmentId, sysUser.getDepartmentId()).page(Page.of(pageNum, pageSize));
+        return R.ok(page);
     }
 
 }
diff --git a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java
new file mode 100644
index 0000000..351327c
--- /dev/null
+++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java
@@ -0,0 +1,63 @@
+package com.sinata.web.controller.applet;
+
+import com.sinata.common.annotation.Log;
+import com.sinata.common.core.controller.BaseController;
+import com.sinata.common.core.domain.AjaxResult;
+import com.sinata.common.core.domain.R;
+import com.sinata.common.core.domain.entity.SysDept;
+import com.sinata.common.core.domain.entity.SysRole;
+import com.sinata.common.core.domain.entity.SysUser;
+import com.sinata.common.core.page.TableDataInfo;
+import com.sinata.common.entity.PageDTO;
+import com.sinata.common.enums.BusinessType;
+import com.sinata.common.utils.SecurityUtils;
+import com.sinata.common.utils.StringUtils;
+import com.sinata.common.utils.poi.ExcelUtil;
+import com.sinata.system.domain.MwApplication;
+import com.sinata.system.domain.MwTransitCar;
+import com.sinata.system.domain.dto.SysUserDTO;
+import com.sinata.system.domain.dto.SysUserStatusDTO;
+import com.sinata.system.domain.query.SysUserQuery;
+import com.sinata.system.domain.vo.SysUserVO;
+import com.sinata.system.service.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.ArrayUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 用户信息
+ * 
+ * @author ruoyi
+ */
+@Validated
+@RestController
+@RequestMapping("/applet/user")
+@AllArgsConstructor
+public class AppUserController extends BaseController
+{
+    private  final MwTransitCarService carService;
+    @ApiOperation(value = "获取绑定车辆",tags = "运输人员")
+    @PostMapping("/car")
+    public R<MwTransitCar> car() {
+        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+        if (sysUser.getCarId()==null){
+            return R.fail("当前暂无绑定车辆,请绑定后操作");
+        }
+        MwTransitCar byId = carService.getById(sysUser.getCarId());
+        return R.ok(byId);
+    }
+
+
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java
index 19acb03..79e4d2a 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoute.java
@@ -37,6 +37,9 @@
     @ApiModelProperty("线路名称")
     @TableField("ROUTE_NAME")
     private String routeName;
+    @ApiModelProperty("医院名称")
+    @TableField(exist = false)
+    private String hospitalName;
 
     @ApiModelProperty("医院数量")
     @TableField("HOSPITAL_QUANTITY")
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java
new file mode 100644
index 0000000..29d1b11
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java
@@ -0,0 +1,22 @@
+package com.sinata.system.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class CollectCarTotalUpDto {
+    @ApiModelProperty("医院名称")
+    private String hospitalName;
+    @ApiModelProperty("医院id")
+    private Long hospitalId;
+    @ApiModelProperty("出库id")
+    private Long checkOutId;
+    @ApiModelProperty("总箱数")
+    private Integer boxNum;
+    @ApiModelProperty("总袋数")
+    private Integer num;
+    @ApiModelProperty("总重量")
+    private BigDecimal weight;
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUpDto.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUpDto.java
new file mode 100644
index 0000000..f91b776
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUpDto.java
@@ -0,0 +1,17 @@
+package com.sinata.system.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import jdk.internal.dynalink.linker.LinkerServices;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Data
+public class HospitalCollectTotalUpDto {
+    @ApiModelProperty("医院名称")
+    private String hospitalName;
+    @ApiModelProperty("列表")
+    private List<CollectTotalUpDto> collectTotalUpDtos;
+
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SignCollectDto.java b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SignCollectDto.java
new file mode 100644
index 0000000..5f8d8f0
--- /dev/null
+++ b/medicalWaste-system/src/main/java/com/sinata/system/domain/dto/SignCollectDto.java
@@ -0,0 +1,13 @@
+package com.sinata.system.domain.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+@Data
+public class SignCollectDto {
+    @ApiModelProperty("签名图片地址")
+    private String signUrl;
+    @ApiModelProperty("选中的箱号")
+    private List<String> boxNumbers;
+}
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java
index bc97ea8..6ee669b 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sinata.system.domain.MwCollectRecord;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sinata.system.domain.dto.CollectCarTotalUpDto;
 import com.sinata.system.domain.dto.CollectDto;
 import com.sinata.system.domain.dto.CollectTotalUpDto;
 import com.sinata.system.domain.query.MwCollectRecordQuery;
@@ -57,6 +58,10 @@
     List<MwCollectRecordVO> getExportList(@Param("query") MwCollectRecordQuery query, @Param("treeCode") String treeCode);
 
     List<CollectDto> getGroup(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId);
+    List<CollectDto> getGroup1(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId);
 
     List<CollectTotalUpDto> collectTotal(@Param("date")LocalDate date,@Param("departmentId")Long departmentId);
+    List<CollectTotalUpDto> collectTotal1(@Param("date")LocalDate date,@Param("checkOutUserId")Long checkOutUserId,@Param("id") Long id);
+
+    List<CollectCarTotalUpDto> carGroup(@Param("carId")Long carId);
 }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java b/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java
index e4f6fea..900bb3f 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.sinata.common.entity.PageDTO;
 import com.sinata.system.domain.MwCollectRecord;
+import com.sinata.system.domain.dto.CollectCarTotalUpDto;
 import com.sinata.system.domain.dto.CollectDto;
 import com.sinata.system.domain.dto.CollectTotalUpDto;
 import com.sinata.system.domain.dto.MwCollectRecordDTO;
@@ -47,6 +48,7 @@
      */
     void edit(MwCollectRecordDTO dto);
     List<CollectDto> getGroup(String boxNumber,Long departmentId);
+    List<CollectDto> getGroup1(String boxNumber,Long departmentId);
 
     /**
      * 流转过程
@@ -58,5 +60,8 @@
 
     void export(MwCollectRecordQuery query, HttpServletResponse response) throws IOException;
 
-    List<CollectTotalUpDto> collectTotal(LocalDate date,Long departmentId);
+    List<CollectTotalUpDto>  collectTotal(LocalDate date,Long departmentId);
+    List<CollectTotalUpDto>  collectTotal1(LocalDate date,Long checkOutUserId,Long hospitalId);
+
+    List<CollectCarTotalUpDto> carGroup(Long carId);
 }
diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
index 9d59890..1793c66 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
@@ -6,6 +6,7 @@
 import com.sinata.common.entity.PageDTO;
 import com.sinata.common.utils.StringUtils;
 import com.sinata.system.domain.MwCollectRecord;
+import com.sinata.system.domain.dto.CollectCarTotalUpDto;
 import com.sinata.system.domain.dto.CollectDto;
 import com.sinata.system.domain.dto.CollectTotalUpDto;
 import com.sinata.system.domain.dto.MwCollectRecordDTO;
@@ -83,6 +84,9 @@
     @Override
     public List<CollectDto> getGroup(String boxNumber,Long departmentId) {
         return this.baseMapper.getGroup(boxNumber,departmentId);
+    }   @Override
+    public List<CollectDto> getGroup1(String boxNumber,Long departmentId) {
+        return this.baseMapper.getGroup1(boxNumber,departmentId);
     }
 
     /**
@@ -116,4 +120,13 @@
     public List<CollectTotalUpDto> collectTotal(LocalDate date,Long departmentId) {
         return baseMapper.collectTotal(date,departmentId);
     }
+    @Override
+    public List<CollectTotalUpDto> collectTotal1(LocalDate date,Long checkOutUserId,Long id ) {
+        return baseMapper.collectTotal1(date,checkOutUserId,id);
+    }
+
+    @Override
+    public List<CollectCarTotalUpDto> carGroup(Long carId) {
+        return this.baseMapper.carGroup(carId);
+    }
 }
diff --git a/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml b/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml
index 1fb8f42..52530e2 100644
--- a/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml
+++ b/medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml
@@ -218,6 +218,18 @@
          </where>
         GROUP BY BOX_ID
     </select>
+
+    <select id="getGroup1" resultType="com.sinata.system.domain.dto.CollectDto">
+        SELECT BOX_NUMBER as boxNumber,WASTE_TYPE as wasteType,COUNT(1) as num ,sum(WEIGHT) as weight,MAX(COLLECT_TIME) as lastTime from MEDICAL_WASTE.MW_COLLECT_RECORD
+        <where>
+            STATUS = 2 AND DEPARTMENT_ID = #{departmentId}
+            <if test="boxNumber != null and boxNumber != ''">
+                and boxNumber like concat('%',#{boxNumber},'%')
+            </if>
+        </where>
+        GROUP BY BOX_ID
+    </select>
+
     <select id="collectTotal" resultType="com.sinata.system.domain.dto.CollectTotalUpDto">
         SELECT WASTE_TYPE as wasteType,COUNT(DISTINCT BOX_NUMBER ) as boxNum ,COUNT(1)as num,sum(WEIGHT) as weight from MEDICAL_WASTE.MW_COLLECT_RECORD
         <where>
@@ -226,4 +238,35 @@
         GROUP BY WASTE_TYPE
     </select>
 
+    <select id="collectTotal1" resultType="com.sinata.system.domain.dto.CollectTotalUpDto">
+        SELECT WASTE_TYPE as wasteType,COUNT(DISTINCT BOX_NUMBER ) as boxNum ,COUNT(1)as num,sum(WEIGHT) as weight from MEDICAL_WASTE.MW_COLLECT_RECORD
+        <where>
+            CHECKOUT_USER_ID = #{checkOutUserId}
+            <if test="date !=null">
+                DATE(CHECKOUT_TIME) = #{date}
+            </if>
+            <if test="id != null ">
+                and DEPARTMENT_ID = #{id}
+            </if>
+        </where>
+        GROUP BY WASTE_TYPE
+    </select>
+
+    <select id="carGroup" resultType="com.sinata.system.domain.dto.CollectCarTotalUpDto">
+        SELECT t3.DEPARTMENT_ID as hospitalId,
+               t3.HOSPITAL_NAME as hospitalName,
+               COUNT(DISTINCT t3.BOX_NUMBER ) as boxNum,
+               COUNT(t3.ID) as num ,
+               sum(T3.WEIGHT) as weight,
+        t1.ID as checkOutId
+        FROM MW_CHECKOUT_RECORD t1
+        left join MW_CHECKOUT_RECORD_ITEM  t2 on t1.ID = t2.CHECKOUT_RECORD_ID
+        left join MEDICAL_WASTE.MW_COLLECT_RECORD t3 on t2.COLLECT_RECORD_ID = t3.ID
+        <where>
+        t1.CAR_ID = #{carId}
+        </where>
+        GROUP BY t3.HOSPITAL_NAME
+
+    </select>
+
 </mapper>

--
Gitblit v1.7.1