luodangjia
2025-01-03 4a8c7756c66e2c5128dc9974ff7d3335deb903e4
merge
26个文件已修改
1个文件已添加
369 ■■■■ 已修改文件
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppLoginController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMonitorDeviceController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java 146 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/screen/ScreenController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/resources/application-dev.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/resources/application-prod.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-framework/src/main/java/com/sinata/framework/config/SecurityConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/MwDisposalHandleRecordItem.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoutePoints.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CarDto.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/UserInfoDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/MwMonitorDeviceService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMonitorDeviceServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java
@@ -17,6 +17,7 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -55,14 +56,16 @@
    @PostMapping("/regionTree")
    @ApiImplicitParam(name = "keyword", value = "关键字", required = false)
    public R<List<SysDepartmentVO>> getRegionTree(@RequestParam(required = false) String keyword) {
        return R.ok(sysDepartmentService.getRegionTree1(keyword));
        List<SysDepartmentVO> regionTree1 = sysDepartmentService.getRegionTree2(keyword);
        return R.ok(regionTree1);
    }
    @ApiOperation("获取区域树")
    @PostMapping("/pub/regionTree")
    @ApiImplicitParam(name = "keyword", value = "关键字", required = false)
    public R<List<SysDepartmentVO>> getRegionTree1(@RequestParam(required = false) String keyword) {
        return R.ok(sysDepartmentService.getRegionTree1(keyword));
        List<SysDepartmentVO> regionTree1 = sysDepartmentService.getRegionTree2(keyword);
        return R.ok(regionTree1);
    }
@@ -90,8 +93,8 @@
    @ApiOperation("获取医院监管列表")
    @PostMapping("/hospita/list")
    public R<List<SysDepartment>> list(String name) {
        List<SysDepartment> list = sysDepartmentService.lambdaQuery().like(name!=null,SysDepartment::getDepartmentName,name).eq(SysDepartment::getOrgType, 2).list();
    public R<List<SysDepartment>> list(String name,Long areaId) {
        List<SysDepartment> list = sysDepartmentService.lambdaQuery().eq(areaId!=null,SysDepartment::getParentId,areaId).like(name!=null,SysDepartment::getDepartmentName,name).eq(SysDepartment::getOrgType, 2).list();
        for (SysDepartment sysDepartment : list) {
            //获取医院暂存间信息
            MwStagingRoom one = roomService.lambdaQuery().eq(MwStagingRoom::getDepartmentId, sysDepartment.getId()).one();
@@ -120,11 +123,11 @@
        LocalDate now = LocalDate.now();
        for (SysDepartment sysDepartment : list) {
            //获取库存总量
            Long count1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).eq(MwCollectRecord::getStatus, 3).groupBy(MwCollectRecord::getBoxNumber).count();
            Long count1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).count();
            //获取接收数量
            Long count2 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveTime,now).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).eq(MwCollectRecord::getStatus, 3).groupBy(MwCollectRecord::getBoxNumber).count();
            Long count2 = collectRecordService.lambdaQuery().isNotNull(MwCollectRecord::getReceiveTime).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).count();
            //获取处置数量
            Long count3 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveTime,now).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).eq(MwCollectRecord::getStatus, 4).groupBy(MwCollectRecord::getBoxNumber).count();
            Long count3 = collectRecordService.lambdaQuery().isNotNull(MwCollectRecord::getDisposalTime).eq(MwCollectRecord::getReceiveDepartmentId, sysDepartment.getId()).count();
            sysDepartment.setCont1(count1);
            sysDepartment.setCont2(count2);
            sysDepartment.setCont3(count3);
@@ -154,7 +157,7 @@
    @ApiOperation(value = "医院转运记录")
    @PostMapping("/trans")
    public R<List<CheckOutDto>> trans(LocalDate date,@ApiParam("医院id")@RequestParam Long departmentId) {
    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();
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppLoginController.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sinata.common.constant.Constants;
import com.sinata.common.core.domain.AjaxResult;
import com.sinata.common.core.domain.R;
@@ -17,9 +18,12 @@
import com.sinata.framework.web.service.SysPermissionService;
import com.sinata.framework.web.service.TokenService;
import com.sinata.system.domain.SysDepartment;
import com.sinata.system.domain.SysUserRole;
import com.sinata.system.domain.dto.UserInfoDTO;
import com.sinata.system.mapper.SysUserRoleMapper;
import com.sinata.system.service.ISysMenuService;
import com.sinata.system.service.ISysRoleService;
import com.sinata.system.service.ISysUserService;
import com.sinata.system.service.SysDepartmentService;
import com.sinata.system.service.biz.AliSmsService;
import com.sinata.web.controller.tool.weChat.WXCore;
@@ -66,6 +70,8 @@
    private SysDepartmentService departmentService;
    @Resource
    private AliSmsService aliSmsService;
    @Resource
    private ISysUserService userService;
    @PostMapping("/getCode")
@@ -140,17 +146,25 @@
        SysDepartment byId = departmentService.getById(user.getDepartmentId());
        return R.ok(byId);
    }
    @Resource
    private  SysUserRoleMapper sysUserRoleMapper;
    @PostMapping("/get/user")
    @ApiOperation("获取个人信息")
    public R<UserInfoDTO> user()
    {
        SysUser user = SecurityUtils.getLoginUser().getUser();
        SysUser user1 = SecurityUtils.getLoginUser().getUser();
        SysUser user = userService.getById(user1.getUserId());
        Set<String> roles = permissionService.getRolePermission(user);
        SysDepartment byId2 = departmentService.getById(user.getDepartmentId());
        UserInfoDTO userInfoDTO = new UserInfoDTO();
        userInfoDTO.setNickName(user.getNickName());
        userInfoDTO.setDepartment(byId2);
        userInfoDTO.setRoles(roles);
        SysUserRole sysUserRole = sysUserRoleMapper.selectOne(Wrappers.<SysUserRole>lambdaQuery().eq(SysUserRole::getUserId, user.getUserId()));
        if (sysUserRole != null) {
            SysRole byId = roleService.getById(sysUserRole.getRoleId());
            userInfoDTO.setRole(byId);
        }
        return R.ok(userInfoDTO);
    }
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMonitorDeviceController.java
@@ -13,6 +13,7 @@
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
/**
@@ -53,8 +54,8 @@
     */
    @ApiOperation("实时监控列表")
    @PostMapping("/monitor/page")
    public R<PageDTO<MwMonitorDeviceVO>> monitorPageList(@Valid @RequestBody MwMonitorDeviceQuery query) {
        return R.ok(mwMonitorDeviceService.pageMonitorPage(query));
    public R<List<MwMonitorDeviceVO>> monitorPageList(@Valid @RequestBody MwMonitorDeviceQuery query) {
        return R.ok(mwMonitorDeviceService.pageMonitorPage1(query).getList());
    }
    /**
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java
@@ -61,7 +61,8 @@
    @PostMapping("/total")
    public R<List<CollectTotalUpDto>> total(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        return R.ok(mwCheckoutRecordService.totalUp(date,sysUser.getDepartmentId()));
        SysUser byId = userService.getById(sysUser.getUserId());
        return R.ok(mwCheckoutRecordService.totalUp(date,byId.getDepartmentId()));
    }
    @ApiOperation(value = "接收统计上",tags = "处置人员")
@@ -73,7 +74,8 @@
    @ApiOperation(value = "接收统计下",tags = "处置人员")
    @PostMapping("/out/record")
    public R<List<CheckOutDto>> record1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date1,@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date2) {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        SysUser sysUser1 = SecurityUtils.getLoginUser().getUser();
        SysUser sysUser = userService.getById(sysUser1.getUserId());
        LocalDate now = LocalDate.now();
        List<MwDisposalRecord> list = disposalRecordService.lambdaQuery().ge(date1!=null,MwDisposalRecord::getReceiveTime, date1).le(date2!=null,MwDisposalRecord::getReceiveTime,date2).eq(MwDisposalRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwDisposalRecord::getReceiveTime).list();
        List<CheckOutDto> backList = new ArrayList<>();
@@ -84,7 +86,7 @@
            MwTransitCar byId1 = carService.getById(mwCheckoutRecord.getCarId());
            checkOutDto.setLicensePlateNumber(byId1.getLicensePlateNumber());
            checkOutDto.setCheckoutTime(mwCheckoutRecord.getReceiveTime());
            List<CollectTotalUpDto> records =  mwCheckoutRecordService.totalUp1(mwCheckoutRecord.getId());
            List<CollectTotalUpDto> records =  mwCheckoutRecordService.totalUp6(mwCheckoutRecord.getId());
            checkOutDto.setRecords(records);
            backList.add(checkOutDto);
        }
@@ -126,8 +128,9 @@
    @PostMapping("/record")
    public R<List<CheckOutDto>> record() {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        SysUser byId2 = userService.getById(sysUser.getUserId());
        LocalDate now = LocalDate.now();
        List<MwCheckoutRecord> list = mwCheckoutRecordService.lambdaQuery().eq(MwCheckoutRecord::getCheckoutTime, now).eq(MwCheckoutRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwCheckoutRecord::getCheckoutTime).list();
        List<MwCheckoutRecord> list = mwCheckoutRecordService.lambdaQuery().eq(MwCheckoutRecord::getDepartmentId, byId2.getDepartmentId()).orderByDesc(MwCheckoutRecord::getCheckoutTime).list();
        List<CheckOutDto> backList = new ArrayList<>();
        for (MwCheckoutRecord mwCheckoutRecord : list) {
            CheckOutDto checkOutDto = new CheckOutDto();
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
@@ -58,14 +58,22 @@
    private final MwDisposalHandleRecordItemService disposalHandleRecordItemService;
    private final MwStagingRoomService roomService;
    private final ISysDictDataService dictDataService;
    private final MwTransitCarService carService;
    @ApiOperation(value = "新增医废记录")
    @PostMapping("/add")
    public R<?> add(@Valid @RequestBody MwCollectRecord mwCollectRecord) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        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){
@@ -99,14 +107,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()){
@@ -117,6 +128,7 @@
        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());
@@ -145,20 +157,23 @@
        }
        checkoutRecordItemService.saveBatch(recordItems);
        collectRecordService.updateBatchById(list);
        MwBox byId = boxService.getById(list.get(0).getStagingRoomId());
        byId.setLink(2);
        boxService.updateById(byId);
        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);
@@ -166,7 +181,7 @@
    @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();
@@ -195,7 +210,7 @@
        //循环医院,然后放入
        List<HospitalCollectTotalUp1Dto> list1 = new ArrayList<>();
        for (MwCollectRecord mwCollectRecord : list) {
            List<CollectDto> collectTotalUpDtos = collectRecordService.getGroup1(null, mwCollectRecord.getDepartmentId());
            List<CollectDto> collectTotalUpDtos = collectRecordService.getGroup2(null, mwCollectRecord.getDepartmentId());
            HospitalCollectTotalUp1Dto hospitalCollectTotalUpDto = new HospitalCollectTotalUp1Dto();
            hospitalCollectTotalUpDto.setHospitalName(mwCollectRecord.getHospitalName());
            hospitalCollectTotalUpDto.setCollectTotalUpDtos(collectTotalUpDtos);
@@ -204,13 +219,46 @@
        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()).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 tanscollecttotal4(@RequestParam BoxListDto boxListDto) {
    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, boxListDto.getBoxNum()).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) {
@@ -246,6 +294,9 @@
            mwDisposalRecordItem.setDisposalRecordId(mwDisposalRecord.getId());
            items.add(mwDisposalRecordItem);
        }
        disposalRecordItemService.saveBatch(items);
        return R.ok();
    }
@@ -254,16 +305,19 @@
    @PostMapping("/wait/list")
    public R<List<CollectDto>> list1(String boxNumber) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        List<CollectDto> collectDtos =  collectRecordService.getGroupWithStatus(boxNumber,sysUser.getDepartmentId(),3);
        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(String boxNumber) {
    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).eq(MwCollectRecord::getBoxNumber, boxNumber).list();
        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());
@@ -278,7 +332,7 @@
            List<Long> ids = new ArrayList<>();
            List<MwDisposalHandleRecordItem> mwDisposalHandleRecordItems = new ArrayList<>();
            for (MwCollectRecord mwCollectRecord : list) {
                    ids.add(mwCollectRecord.getId());
                ids.add(mwCollectRecord.getId());
                mwCollectRecord.setStatus(4);
                mwCollectRecord.setDisposalUserId(sysUser.getUserId());
                mwCollectRecord.setDisposalTime(new Date());
@@ -287,28 +341,32 @@
                mwDisposalHandleRecordItem.setDisposalRecordId(mwDisposalHandleRecord.getId());
                mwDisposalHandleRecordItems.add(mwDisposalHandleRecordItem);
            }
            disposalHandleRecordItemService.saveBatch(mwDisposalHandleRecordItems);
//            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);
            }
        }
//            //将接收记录以及子表变为已处置
//            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();
    }
@@ -317,11 +375,12 @@
    @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);
    }
@@ -329,7 +388,9 @@
    @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);
    }
@@ -351,13 +412,16 @@
    @PostMapping("/collect/total")
    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());
        return R.ok(collectRecordService.collectTotal(date,byId.getDepartmentId()));
    }
    @ApiOperation("收集统计下")
    @PostMapping("/collect/down/total")
    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().eq(date!=null,MwCollectRecord::getCollectTime,date).eq(MwCollectRecord::getDepartmentId, byId.getDepartmentId()).orderByDesc(MwCollectRecord::getCollectTime).page(Page.of(pageNum, pageSize));
        return R.ok(page);
    }
@@ -366,9 +430,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());
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java
@@ -11,10 +11,7 @@
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 com.sinata.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@@ -44,6 +41,7 @@
    private final MwTransitRouteCarService transitRouteCarService;
    private final MwTransitRoutePointsService pointsService;
    private final SysDepartmentService departmentService;
    private final ISysUserService userService;
    /**
     * 分页列表
@@ -56,14 +54,19 @@
    @PostMapping("/line")
    public R<List<MwTransitRoute>> line() {
        //获取当前用户的车辆
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        SysUser sysUser1 = SecurityUtils.getLoginUser().getUser();
        SysUser sysUser = userService.getById(sysUser1.getUserId());
        Long carId = sysUser.getCarId();
        //根据车辆获取线路列表
        List<MwTransitRouteCar> list = transitRouteCarService.lambdaQuery().eq(MwTransitRouteCar::getCarId, carId).list();
        List<Long> routeIds = new ArrayList<>();
        for (MwTransitRouteCar mwTransitRouteCar : list) {
            routeIds.add(mwTransitRouteCar.getRouteId());
        }
        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());
@@ -76,9 +79,11 @@
    @ApiOperation("获取途径点")
    @PostMapping("/get")
    public R<List<MwTransitRoutePoints>> pageList(@RequestParam Long routeId) {
        List<MwTransitRoutePoints> list1 = pointsService.lambdaQuery().eq(MwTransitRoutePoints::getRouteId, routeId).orderByAsc(MwTransitRoutePoints::getSortOrder).list();
        for (MwTransitRoutePoints mwTransitRoutePoints : list1) {
            SysDepartment byId = departmentService.getById(mwTransitRoutePoints.getDepartmentId());
            mwTransitRoutePoints.setDepartmentName(byId.getDepartmentName());
        }
        return R.ok(list1);
    }
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java
@@ -93,6 +93,17 @@
    }
    @ApiOperation(value = "取消绑定",tags = "运输人员")
    @PostMapping("/cancel")
    public R<SysUser> cancel() {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        sysUser.setCarId(-1L);
        userService.updateById(sysUser);
       return R.ok();
    }
medicalWaste-admin/src/main/java/com/sinata/web/controller/screen/ScreenController.java
@@ -87,10 +87,10 @@
    public R<TotalCollectWeightByTypeVO> totalCollectWeightByType(@ApiParam(name = "type", value = "统计类型 1:按周统计 2:按月统计") @PathVariable("type") Integer type) {
        return R.ok(screenService.totalCollectWeightByType(type));
    }
    /**
     * 医疗机构收集情况
     */
    @ApiOperation("医疗机构收集情况")
    @GetMapping("/medicalInstitutionCollectList")
    public R<List<MedicalInstitutionCollectListVO>>
//    /**
//     * 医疗机构收集情况
//     */
//    @ApiOperation("医疗机构收集情况")
//    @GetMapping("/medicalInstitutionCollectList")
//    public R<List<MedicalInstitutionCollectListVO>>
}
medicalWaste-admin/src/main/resources/application-dev.yml
@@ -93,7 +93,7 @@
      # 主库数据源
      master:
#        url: jdbc:mysql://localhost:3306/medical_waste?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        url: jdbc:dm://127.0.0.1:5236/MEDICAL_WASTE?schema=MEDICAL_WASTE
        url: jdbc:dm://192.168.110.188:5236/MEDICAL_WASTE?schema=MEDICAL_WASTE
        username: SYSDBA
        password: SYSDBA
      # 从库数据源
medicalWaste-admin/src/main/resources/application-prod.yml
@@ -93,7 +93,7 @@
      # 主库数据源
      master:
#        url: jdbc:mysql://localhost:3306/medical_waste?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
        url: jdbc:dm://127.0.0.1:5236/MEDICAL_WASTE?schema=MEDICAL_WASTE
        url: jdbc:dm://192.168.110.188:5236/MEDICAL_WASTE?schema=MEDICAL_WASTE
        username: SYSDBA
        password: SYSDBA
      # 从库数据源
medicalWaste-admin/src/main/resources/application.yml
@@ -1,3 +1,3 @@
spring:
  profiles:
    active: prod
    active: dev
medicalWaste-framework/src/main/java/com/sinata/framework/config/SecurityConfig.java
@@ -111,7 +111,7 @@
            .authorizeHttpRequests((requests) -> {
                permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
                // 对于登录login 注册register 验证码captchaImage 允许匿名访问
                requests.antMatchers("/backend/login","/applet/file/upload","/applet/sysDepartment/departmentSearchTree","/applet/getCode","/applet/login", "/register", "/captchaImage").permitAll()
                requests.antMatchers("/backend/login","/applet/mwApplication/set","/applet/file/upload","/applet/sysDepartment/departmentSearchTree","/applet/getCode","/applet/login", "/register", "/captchaImage").permitAll()
                    // 静态资源,可匿名访问
                        .antMatchers(HttpMethod.GET, "/", "/msg", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                    .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
medicalWaste-system/src/main/java/com/sinata/system/domain/MwDisposalHandleRecordItem.java
@@ -22,7 +22,7 @@
@Setter
@TableName("MW_DISPOSAL_HANDLE_RECORD_ITEM")
@ApiModel(value = "MwDisposalHandleRecordItem对象", description = "处置记录项")
public class MwDisposalHandleRecordItem extends BaseModel {
public class MwDisposalHandleRecordItem  {
    private static final long serialVersionUID = 1L;
medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoutePoints.java
@@ -36,6 +36,8 @@
    @TableField("DEPARTMENT_ID")
    private Long departmentId;
    @TableField(exist = false)
    private String departmentName;
    @TableField(exist = false)
    @ApiModelProperty("是否标红1是")
    private Integer isRed;
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CarDto.java
New file
@@ -0,0 +1,9 @@
package com.sinata.system.domain.dto;
import lombok.Data;
@Data
public class CarDto {
    private String licensePlateNumber;
    private String userName;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectDto.java
@@ -26,5 +26,6 @@
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date receiveTime;
    private String wasteTypeStr;
    private String departmentName;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/UserInfoDTO.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.sinata.common.annotation.Excel;
import com.sinata.common.core.domain.entity.SysRole;
import com.sinata.system.domain.SysDepartment;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -16,4 +17,5 @@
    private Set<String> roles;
    @ApiModelProperty("单位名称")
    private SysDepartment department;
    private SysRole role;
}
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCheckoutRecordMapper.java
@@ -99,6 +99,7 @@
    List<CollectTotalUpDto> totalUp5(@Param("departmentId")Long departmentId);
    List<CollectTotalUpDto> totalUp3(@Param("date1") LocalDate date1, @Param("date2") LocalDate date2,@Param("departmentId")Long departmentId);
    List<CollectTotalUpDto> totalUp1(@Param("outId")Long outId);
    List<CollectTotalUpDto> totalUp6(@Param("outId")Long outId);
    /**
     * 转移联单数据
medicalWaste-system/src/main/java/com/sinata/system/mapper/MwCollectRecordMapper.java
@@ -64,6 +64,8 @@
    List<CollectDto> getGroup(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId);
    List<CollectDto> getGroup1(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId);
    List<CollectDto> getGroup2(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId);
    List<CollectDto> getGroup3(@Param("boxNumber")String boxNumber,@Param("departmentId")Long departmentId,@Param("carId")Long carId);
    List<CollectDto> getGroupWithStatus(@Param("boxNumber")String boxNumber, @Param("departmentId")Long departmentId, @Param("status")Integer status);
@@ -71,7 +73,7 @@
    List<CollectTotalUpDto> collectTotal3(@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);
    List<CollectCarTotalUpDto> carGroup(@Param("carId")Long carId,@Param("name") String name);
    /**
     * 监管报表医疗废物产生列表
medicalWaste-system/src/main/java/com/sinata/system/service/MwCheckoutRecordService.java
@@ -110,6 +110,7 @@
    List<CollectTotalUpDto> totalUp5(Long departmentId);
    List<CollectTotalUpDto> totalUp3(LocalDate date1,LocalDate date2, Long departmentId);
    List<CollectTotalUpDto> totalUp1(Long outId);
    List<CollectTotalUpDto> totalUp6(Long outId);
    /**
     * 车辆转运异常预警
medicalWaste-system/src/main/java/com/sinata/system/service/MwCollectRecordService.java
@@ -55,6 +55,8 @@
    List<CollectDto> getGroup(String boxNumber,Long departmentId);
    List<CollectDto> getGroupWithStatus(String boxNumber,Long departmentId,Integer status);
    List<CollectDto> getGroup1(String boxNumber,Long departmentId);
    List<CollectDto> getGroup2(String boxNumber,Long departmentId);
    List<CollectDto> getGroup3(String boxNumber,Long departmentId,Long carId);
    /**
     * 流转过程
@@ -77,7 +79,7 @@
    List<CollectTotalUpDto>  collectTotal3(Long departmentId);
    List<CollectTotalUpDto>  collectTotal1(LocalDate date,Long checkOutUserId,Long hospitalId);
    List<CollectCarTotalUpDto> carGroup(Long carId);
    List<CollectCarTotalUpDto> carGroup(Long carId,String name);
    /**
     * 监管报表医疗废物产生列表
medicalWaste-system/src/main/java/com/sinata/system/service/MwMonitorDeviceService.java
@@ -55,4 +55,5 @@
     * @return
     */
    PageDTO<MwMonitorDeviceVO> pageMonitorPage(MwMonitorDeviceQuery query);
    PageDTO<MwMonitorDeviceVO> pageMonitorPage1(MwMonitorDeviceQuery query);
}
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCheckoutRecordServiceImpl.java
@@ -110,6 +110,10 @@
        return this.baseMapper.totalUp1(outId);
    }
    @Override
    public List<CollectTotalUpDto> totalUp6( Long outId) {
        return this.baseMapper.totalUp6(outId);
    }
    /**
     * 转运记录详情
     *
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwCollectRecordServiceImpl.java
@@ -98,7 +98,14 @@
    public List<CollectDto> getGroup1(String boxNumber,Long departmentId) {
        return this.baseMapper.getGroup1(boxNumber,departmentId);
    }
    @Override
    public List<CollectDto> getGroup2(String boxNumber,Long departmentId) {
        return this.baseMapper.getGroup2(boxNumber,departmentId);
    }
    @Override
    public List<CollectDto> getGroup3(String boxNumber,Long departmentId,Long carId) {
        return this.baseMapper.getGroup3(boxNumber,departmentId,carId);
    }
    /**
     * 流转过程
     *
@@ -152,8 +159,8 @@
    }
    @Override
    public List<CollectCarTotalUpDto> carGroup(Long carId) {
        return this.baseMapper.carGroup(carId);
    public List<CollectCarTotalUpDto> carGroup(Long carId,String name) {
        return this.baseMapper.carGroup(carId,name);
    }
    /**
medicalWaste-system/src/main/java/com/sinata/system/service/impl/MwMonitorDeviceServiceImpl.java
@@ -116,4 +116,21 @@
        });
        return PageDTO.of(page);
    }
    @Override
    public PageDTO<MwMonitorDeviceVO> pageMonitorPage1(MwMonitorDeviceQuery query) {
        query.setPageCurr(1);
        query.setPageSize(999999999);
        //获取视频服务器中的在线设备列表
        List<String> deviceList = monitorDeviceApiNewService.getDeviceList();
        String treeCode = sysDepartmentService.getTreeCodeByDepartmentId(query.getDepartmentId());
        if (StringUtils.isBlank(treeCode)) {
            return PageDTO.empty(0L, 0L);
        }
        Page<MwMonitorDeviceVO> page = baseMapper.pageMonitorPage(new Page<>(query.getPageCurr(), query.getPageSize()), query.getStatus(), treeCode, deviceList);
        page.getRecords().stream().filter(item -> deviceList.contains(item.getDeviceNumber())).peek(item -> {
            item.setStatus(1);
        });
        return PageDTO.of(page);
    }
}
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -246,10 +246,10 @@
        <where>
            RECEIVE_USER_ID is not null AND RECEIVE_USER_ID = #{departmentId}
            <if test="date1 != null">
              and   DATE(RECEIVE_TIME) >= #{date1}
                AND TRUNC(RECEIVE_TIME, 'DAY') >= TO_DATE(#{date1},'YYYY-MM-DD')
            </if>
            <if test="date2 != null">
             and    DATE(RECEIVE_TIME) &lt;= #{date2}
                AND TRUNC(RECEIVE_TIME, 'DAY') &lt; TO_DATE(#{date2},'YYYY-MM-DD')
            </if>
        </where>
@@ -268,12 +268,10 @@
        <where>
            DISPOSAL_USER_ID is not null AND DISPOSAL_USER_ID = #{departmentId}
            <if test="date1 != null">
              and  DATE(DISPOSAL_TIME) >= #{date1}
                AND TRUNC(DISPOSAL_TIME, 'DAY') >= TO_DATE(#{date1},'YYYY-MM-DD')
            </if>
            <if test="date2 != null">
             and   DATE(DISPOSAL_TIME) &lt;= #{date2}
            </if>
                AND TRUNC(DISPOSAL_TIME, 'DAY') &lt; TO_DATE(#{date2},'YYYY-MM-DD')            </if>
        </where>
        GROUP BY WASTE_TYPE
    </select>
@@ -282,7 +280,15 @@
        SELECT t2.WASTE_TYPE as wasteType,WASTE_TYPE_STR as wasteTypeStr,COUNT(DISTINCT t2.BOX_NUMBER ) as boxNum ,COUNT(t2.ID)as num,sum(t2.WEIGHT) as weight
        from MEDICAL_WASTE.MW_CHECKOUT_RECORD_ITEM t1
        left join MEDICAL_WASTE.MW_COLLECT_RECORD  t2 on t1.COLLECT_RECORD_ID = t2.ID
        where  t2.CHECKOUT_RECORD_ID = #{outId}
        where  t1.CHECKOUT_RECORD_ID = #{outId}
        GROUP BY t2.WASTE_TYPE
    </select>
    <select id="totalUp6" resultType="com.sinata.system.domain.dto.CollectTotalUpDto">
        SELECT t2.WASTE_TYPE as wasteType,WASTE_TYPE_STR as wasteTypeStr,COUNT(DISTINCT t2.BOX_NUMBER ) as boxNum ,COUNT(t2.ID)as num,sum(t2.WEIGHT) as weight
        from MEDICAL_WASTE.MW_DISPOSAL_RECORD_ITEM t1
                 left join MEDICAL_WASTE.MW_COLLECT_RECORD  t2 on t1.COLLECT_RECORD_ID = t2.ID
        where  t1.DISPOSAL_RECORD_ID = #{outId}
        GROUP BY t2.WASTE_TYPE
    </select>
    <select id="getCheckoutRecordList" resultMap="TransformVOMap">
medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml
@@ -232,6 +232,29 @@
        GROUP BY BOX_ID
    </select>
    <select id="getGroup2" resultType="com.sinata.system.domain.dto.CollectDto">
        SELECT BOX_NUMBER as boxNumber,WASTE_TYPE_STR as wasteTypeStr,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 BOX_NUMBER like concat('%',#{boxNumber},'%')
            </if>
        </where>
        GROUP BY BOX_ID
    </select>
    <select id="getGroup3" resultType="com.sinata.system.domain.dto.CollectDto">
        SELECT BOX_NUMBER as boxNumber,WASTE_TYPE_STR as wasteTypeStr,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} and CAR_ID = #{carId}
            <if test="boxNumber != null and boxNumber != ''">
                and BOX_NUMBER like concat('%',#{boxNumber},'%')
            </if>
        </where>
        GROUP BY BOX_ID
    </select>
    <select id="getGroupWithStatus" resultType="com.sinata.system.domain.dto.CollectDto">
        SELECT BOX_NUMBER as boxNumber,
               WASTE_TYPE as wasteType,COUNT(1) as num ,
@@ -241,7 +264,7 @@
        RECEIVE_TIME as receiveTime
        from MEDICAL_WASTE.MW_COLLECT_RECORD
        <where>
            STATUS = #{status} AND DEPARTMENT_ID = #{departmentId}
            STATUS = #{status} AND RECEIVE_DEPARTMENT_ID = #{departmentId}
            <if test="boxNumber != null and boxNumber != ''">
                and BOX_NUMBER like concat('%',#{boxNumber},'%')
            </if>
@@ -252,7 +275,7 @@
    <select id="collectTotal" 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
        <where>
            STATUS = 2 AND DEPARTMENT_ID = #{departmentId}
            DEPARTMENT_ID = #{departmentId}
        </where>
        GROUP BY WASTE_TYPE
    </select>
@@ -270,7 +293,7 @@
        <where>
            CHECKOUT_USER_ID = #{checkOutUserId}
            <if test="date !=null">
                DATE(CHECKOUT_TIME) = #{date}
                AND TRUNC(CHECKOUT_TIME, 'DAY') = TO_DATE(#{date},'YYYY-MM-DD')
            </if>
            <if test="id != null ">
                and DEPARTMENT_ID = #{id}
@@ -285,13 +308,13 @@
               COUNT(DISTINCT t3.BOX_NUMBER ) as boxNum,
               COUNT(t3.ID) as num ,
        WASTE_TYPE_STR as wasteTypeStr,
               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
               sum(T3.WEIGHT) as weight
        FROM  MEDICAL_WASTE.MW_COLLECT_RECORD t3
        <where>
        t1.CAR_ID = #{carId}
           t3.CAR_ID = #{carId}
            <if test="name != null and name != ''">
            AND t3.HOSPITAL_NAME LIKE CONCAT(#{name},'%')
        </if>
        </where>
        GROUP BY t3.HOSPITAL_NAME