luodangjia
2025-01-02 51f460f3b1a8b9fa365e4195c41bb9c5e16fcb7c
merge
18个文件已修改
2个文件已添加
238 ■■■■ 已修改文件
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppAgreementController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppLoginController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-framework/src/main/java/com/sinata/framework/config/SecurityConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/MwStagingRoom.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoutePoints.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | 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/CollectTotalUpDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CountTwoDto.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUp1Dto.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppAgreementController.java
@@ -40,4 +40,10 @@
        SysAgreement one = sysAgreementService.lambdaQuery().eq(SysAgreement::getType, 1).one();
        return R.ok(one);
    }
    @ApiOperation("获取用户隐私协议")
    @PostMapping("/primary/get")
    public R<SysAgreement> save1(){
        SysAgreement one = sysAgreementService.lambdaQuery().eq(SysAgreement::getType, 2).one();
        return R.ok(one);
    }
}
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppDepartmentController.java
@@ -6,6 +6,7 @@
import com.sinata.system.domain.*;
import com.sinata.system.domain.dto.CheckOutDto;
import com.sinata.system.domain.dto.CollectTotalUpDto;
import com.sinata.system.domain.dto.CountTwoDto;
import com.sinata.system.domain.dto.SysDepartmentDTO;
import com.sinata.system.domain.vo.SysDepartmentVO;
import com.sinata.system.mapper.SysDepartmentMapper;
@@ -57,12 +58,24 @@
        return R.ok(sysDepartmentService.getRegionTree1(keyword));
    }
    @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));
    }
    @ApiOperation("获取单位详情")
    @PostMapping("/detail")
    public R<SysDepartment> getRegionTree(@RequestParam(required = true) Long id) {
        return R.ok(sysDepartmentService.getById(id));
    }
    /**
     * 获取区域树
     *
@@ -71,8 +84,8 @@
    @ApiOperation(value = "获取全部/区域/医疗机构/处置单位/监管单位树-搜索框用", notes = "0:全部 1:区域 2:医疗机构 3:处置单位 4:监管单位")
    @PostMapping("/departmentSearchTree")
    @ApiImplicitParam(name = "type", value = "查询类型", required = true)
    public R<List<SysDepartmentVO>> getDepartmentSearchTree(@RequestParam(value = "type", required = true) @NotNull(message = "类型不能为空") Integer type) {
        return R.ok(sysDepartmentService.listByType(type));
    public R<List<SysDepartmentVO>> getDepartmentSearchTree() {
        return R.ok(sysDepartmentService.getRegionTree2(null));
    }
    @ApiOperation("获取医院监管列表")
@@ -127,6 +140,18 @@
        return R.ok(collectRecordService.collectTotal3(departmentId));
    }
    @ApiOperation("医院暂存间情况上")
    @PostMapping("/up/room")
    public R<MwStagingRoom> collecttotal2(@ApiParam("医院id")@RequestParam Long departmentId) {
        MwStagingRoom one = roomService.lambdaQuery().eq(MwStagingRoom::getDepartmentId, departmentId).one();
        Long count = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStagingRoomId, one.getId()).eq(MwCollectRecord::getStatus, 1).count();
        MwCollectRecord one1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStagingRoomId, one.getId()).eq(MwCollectRecord::getStatus, 1).orderByDesc(MwCollectRecord::getBoxTime).last("limit 1").one();
        one.setCount(count);
        one.setBoxTime(one1.getBoxTime());
        return R.ok(one);
    }
    @ApiOperation(value = "医院转运记录")
    @PostMapping("/trans")
    public R<List<CheckOutDto>> trans(LocalDate date,@ApiParam("医院id")@RequestParam Long departmentId) {
@@ -150,6 +175,19 @@
        return R.ok(backList);
    }
    @ApiOperation(value = "处置详情上")
    @PostMapping("/end/total/up")
    public R<CountTwoDto> outtotal2(@ApiParam("处置机构id")@RequestParam Long departmentId) {
        CountTwoDto countTwoDto = new CountTwoDto();
        LocalDate now = LocalDate.now();
        Long count = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, departmentId).eq(MwCollectRecord::getReceiveTime, now).count();
        Long count1 = collectRecordService.lambdaQuery().eq(MwCollectRecord::getReceiveDepartmentId, departmentId).eq(MwCollectRecord::getDisposalTime, now).count();
        countTwoDto.setCount(count);
        countTwoDto.setCount1(count1);
        return R.ok(countTwoDto);
    }
    @ApiOperation(value = "处置详情")
    @PostMapping("/end/total")
    public R<List<CollectTotalUpDto>> outtotal1(@ApiParam("处置机构id")@RequestParam Long departmentId) {
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppLoginController.java
@@ -145,10 +145,12 @@
    public R<UserInfoDTO> user()
    {
        SysUser user = SecurityUtils.getLoginUser().getUser();
        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);
        return R.ok(userInfoDTO);
    }
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCheckoutRecordController.java
@@ -1,4 +1,5 @@
package com.sinata.web.controller.applet;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.google.common.collect.Lists;
import java.util.Date;
@@ -23,6 +24,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.*;
@@ -57,20 +59,20 @@
    @ApiOperation(value = "出库统计上")
    @PostMapping("/total")
    public R<List<CollectTotalUpDto>> total(LocalDate date) {
    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()));
    }
    @ApiOperation(value = "接收统计上",tags = "处置人员")
    @PostMapping("/out/total")
    public R<List<CollectTotalUpDto>> outtotal(@ApiParam("日期1") LocalDate date1,@ApiParam("日期2")LocalDate date2) {
    public R<List<CollectTotalUpDto>> outtotal(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date1,@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date2) {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        return R.ok(mwCheckoutRecordService.totalUp2(date1,date2,sysUser.getUserId()));
    }
    @ApiOperation(value = "接收统计下",tags = "处置人员")
    @PostMapping("/out/record")
    public R<List<CheckOutDto>> record1(@ApiParam("日期1") LocalDate date1,@ApiParam("日期2")LocalDate date2) {
    public R<List<CheckOutDto>> record1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date1,@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date2) {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        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();
@@ -91,14 +93,14 @@
    @ApiOperation(value = "处置统计上",tags = "处置人员")
    @PostMapping("/end/total")
    public R<List<CollectTotalUpDto>> outtotal1(@ApiParam("日期1") LocalDate date1,@ApiParam("日期2")LocalDate date2) {
    public R<List<CollectTotalUpDto>> outtotal1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date1, @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date2) {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        return R.ok(mwCheckoutRecordService.totalUp2(date1,date2,sysUser.getUserId()));
    }
    @ApiOperation(value = "处置统下",tags = "处置人员")
    @PostMapping("/end/record")
    public R<List<CheckOutDto>> record2(@ApiParam("日期1") LocalDate date1,@ApiParam("日期2")LocalDate date2) {
    public R<List<CheckOutDto>> record2(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date1,@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date2) {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        LocalDate now = LocalDate.now();
        List<MwDisposalHandleRecord> list = handleRecordService.lambdaQuery().ge(date1!=null,MwDisposalHandleRecord::getDisposalTime, date1).le(date2!=null,MwDisposalHandleRecord::getDisposalTime,date2).eq(MwDisposalHandleRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwDisposalHandleRecord::getDisposalTime).list();
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
@@ -4,7 +4,9 @@
import java.util.*;
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.SecurityUtils;
@@ -19,6 +21,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.*;
@@ -40,6 +43,7 @@
@Api(tags = {"医院工作人员"})
@RequiredArgsConstructor
@RequestMapping("/applet/mwCollectRecord")
public class AppMwCollectRecordController {
    private final MwCollectRecordService collectRecordService;
    @Autowired
@@ -53,9 +57,10 @@
    private final MwDisposalHandleRecordService disposalHandleRecordService;
    private final MwDisposalHandleRecordItemService disposalHandleRecordItemService;
    private final MwStagingRoomService roomService;
    private final ISysDictDataService dictDataService;
    @ApiOperation("新增医废记录")
    @ApiOperation(value = "新增医废记录")
    @PostMapping("/add")
    public R<?> add(@Valid @RequestBody MwCollectRecord mwCollectRecord) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
@@ -68,6 +73,7 @@
        }
        mwCollectRecord.setStagingRoomId(one1.getId());
        mwCollectRecord.setDepartmentId(sysUser.getDepartmentId());
        mwCollectRecord.setBoxTime(new Date());
        // 创建一个随机数生成器实例
        Random random = new Random();
@@ -75,6 +81,11 @@
        // 生成一个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();
    }
@@ -173,7 +184,7 @@
    @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){
@@ -182,10 +193,10 @@
        //先获取医院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.getGroup1(null, mwCollectRecord.getDepartmentId());
            HospitalCollectTotalUp1Dto hospitalCollectTotalUpDto = new HospitalCollectTotalUp1Dto();
            hospitalCollectTotalUpDto.setHospitalName(mwCollectRecord.getHospitalName());
            hospitalCollectTotalUpDto.setCollectTotalUpDtos(collectTotalUpDtos);
            list1.add(hospitalCollectTotalUpDto);
@@ -338,13 +349,13 @@
    @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()));
    }
    @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));
        return R.ok(page);
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java
@@ -71,11 +71,9 @@
                mwTransitRoute.setHospitalName(byId.getDepartmentName());
            }
        }
        return R.ok(list1);
    }
    @ApiOperation("分页列表")
    @ApiOperation("获取途径点")
    @PostMapping("/get")
    public R<List<MwTransitRoutePoints>> pageList(@RequestParam Long routeId) {
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwWarningRecordController.java
@@ -55,4 +55,12 @@
        return R.ok(list);
    }
    @ApiOperation(value = "预警统计详情",tags = "监管人员")
    @PostMapping("/detail/record")
    public R<Page<MwWarningRecord>> record1(@RequestParam Long id,@RequestParam Integer pageNum,@RequestParam Integer pageSize) {
        Page<MwWarningRecord> page = mwWarningRecordService.lambdaQuery().eq(MwWarningRecord::getDepartmentId, id).page(Page.of(pageNum, pageSize));
        return R.ok(page);
    }
}
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppUserController.java
@@ -48,10 +48,13 @@
public class AppUserController extends BaseController
{
    private  final MwTransitCarService carService;
    private final ISysUserService userService;
    @ApiOperation(value = "获取绑定车辆",tags = "运输人员")
    @PostMapping("/car")
    public R<MwTransitCar> car() {
        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
        SysUser user = SecurityUtils.getLoginUser().getUser();
        SysUser sysUser = userService.getById(user.getUserId());
        if (sysUser.getCarId()==null){
            return R.fail("当前暂无绑定车辆,请绑定后操作");
        }
@@ -59,5 +62,39 @@
        return R.ok(byId);
    }
    @ApiOperation(value = "获取车辆列表",tags = "运输人员")
    @PostMapping("/list")
    public R<List<MwTransitCar>> list() {
        List<MwTransitCar> list = carService.list();
        return R.ok(list);
    }
    @ApiOperation(value = "更换绑定车辆",tags = "运输人员")
    @PostMapping("/change")
    public R<List<MwTransitCar>> change(@RequestParam Long carId) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        SysUser byId = userService.getById(sysUser.getUserId());
        byId.setCarId(carId);
        userService.updateById(byId);
        return R.ok();
    }
    @ApiOperation(value = "绑定前校验",tags = "运输人员")
    @PostMapping("/check")
    public R<SysUser> check(@RequestParam Long carId) {
        SysUser one = userService.lambdaQuery().eq(SysUser::getCarId, carId).one();
        if (one!=null){
            return R.fail(one);
        }else {
            return R.ok();
        }
    }
}
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/regionTree","/applet/getCode","/applet/login", "/register", "/captchaImage").permitAll()
                requests.antMatchers("/backend/login","/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/MwStagingRoom.java
@@ -4,11 +4,14 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sinata.common.entity.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
/**
 * <p>
@@ -46,4 +49,13 @@
    @TableField("RELATION")
    private String relation;
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("最后装箱时间")
   private Date boxTime;
    @TableField(exist = false)
    @ApiModelProperty("当前已装箱")
    private Long count;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/MwTransitRoutePoints.java
@@ -35,6 +35,9 @@
    @ApiModelProperty("区域id(医院id)")
    @TableField("DEPARTMENT_ID")
    private Long departmentId;
    @TableField(exist = false)
    @ApiModelProperty("是否标红1是")
    private Integer isRed;
    @ApiModelProperty("排序")
    @TableField("SORT_ORDER")
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectCarTotalUpDto.java
@@ -19,4 +19,5 @@
    private Integer num;
    @ApiModelProperty("总重量")
    private BigDecimal weight;
    private  String  wasteTypeStr;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectDto.java
@@ -25,5 +25,6 @@
    @ApiModelProperty("接收时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date receiveTime;
    private String wasteTypeStr;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CollectTotalUpDto.java
@@ -16,4 +16,5 @@
    private Integer num;
    @ApiModelProperty("总重量")
    private BigDecimal weight;
    private String wasteTypeStr;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/CountTwoDto.java
New file
@@ -0,0 +1,12 @@
package com.sinata.system.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CountTwoDto {
    @ApiModelProperty("今日接收")
    private Long count;
    @ApiModelProperty("今日处置")
    private Long count1;
}
medicalWaste-system/src/main/java/com/sinata/system/domain/dto/HospitalCollectTotalUp1Dto.java
New file
@@ -0,0 +1,15 @@
package com.sinata.system.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class HospitalCollectTotalUp1Dto {
    @ApiModelProperty("医院名称")
    private String hospitalName;
    @ApiModelProperty("列表")
    private List<CollectDto> collectTotalUpDtos;
}
medicalWaste-system/src/main/java/com/sinata/system/service/SysDepartmentService.java
@@ -46,6 +46,7 @@
     */
    List<SysDepartmentVO> getRegionTree(String keyword);
    List<SysDepartmentVO> getRegionTree1(String keyword);
    List<SysDepartmentVO> getRegionTree2(String keyword);
    /**
     * 当前登录用户所在区域
medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysDepartmentServiceImpl.java
@@ -161,6 +161,24 @@
        }
        return root;
    }
    public List<SysDepartmentVO> getRegionTree2(String keyword) {
        List<SysDepartmentVO> root = new ArrayList<>();
        SysDepartment currentDepartment = this.baseMapper.selectById(-1);
        if (Objects.isNull(currentDepartment)) {
            return root;
        }
        if (!currentDepartment.getOrgType().equals(DepartmentEnum.REGION.getCode())) {
            return root;
        }
        Map<Long, List<SysDepartment>> childrenMap = getChildrenDepartmentByOrgType(currentDepartment, Collections.singletonList(DepartmentEnum.REGION.getCode()));
        SysDepartmentVO sysDepartmentVO = fillChildrenTreeModel(currentDepartment, childrenMap);
        root.add(sysDepartmentVO);
        if (StringUtils.isNotBlank(keyword)) {
            treeMatch(root, keyword);
        }
        return root;
    }
    /**
     * 获取当前登录用户所属区域
medicalWaste-system/src/main/resources/mapper/system/MwCheckoutRecordMapper.xml
@@ -225,7 +225,7 @@
        GROUP BY mcr.DEPARTMENT_ID
    </select>
    <select id="totalUp" 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
        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>
            CHECKOUT_TIME is not null AND DEPARTMENT_ID = #{departmentId}
        </where>
@@ -233,7 +233,7 @@
    </select>
    <select id="totalUp4" 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
    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>
        CHECKOUT_TIME is not null AND DEPARTMENT_ID = #{departmentId}
    </where>
@@ -242,14 +242,14 @@
    <select id="totalUp2" 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
        SELECT WASTE_TYPE as wasteType,WASTE_TYPE_STR as wasteTypeStr,COUNT(DISTINCT BOX_NUMBER ) as boxNum ,COUNT(1)as num,sum(WEIGHT) as weight from MEDICAL_WASTE.MW_COLLECT_RECORD
        <where>
            RECEIVE_USER_ID is not null AND RECEIVE_USER_ID = #{departmentId}
            <if test="date1 != null">
                DATE(RECEIVE_TIME) >= #{date1}
              and   DATE(RECEIVE_TIME) >= #{date1}
            </if>
            <if test="date2 != null">
                DATE(RECEIVE_TIME) &lt;= #{date2}
             and    DATE(RECEIVE_TIME) &lt;= #{date2}
            </if>
        </where>
@@ -257,21 +257,21 @@
    </select>
    <select id="totalUp5" 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
        SELECT WASTE_TYPE as wasteType,WASTE_TYPE_STR as wasteTypeStr,COUNT(DISTINCT BOX_NUMBER ) as boxNum ,COUNT(1)as num,sum(WEIGHT) as weight from MEDICAL_WASTE.MW_COLLECT_RECORD
        <where>
            RECEIVE_DEPARTMENT_ID is not null AND RECEIVE_DEPARTMENT_ID = #{departmentId}
        </where>
        GROUP BY WASTE_TYPE
    </select>
    <select id="totalUp3" 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
        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>
            DISPOSAL_USER_ID is not null AND DISPOSAL_USER_ID = #{departmentId}
            <if test="date1 != null">
                DATE(DISPOSAL_TIME) >= #{date1}
              and  DATE(DISPOSAL_TIME) >= #{date1}
            </if>
            <if test="date2 != null">
                DATE(DISPOSAL_TIME) &lt;= #{date2}
             and   DATE(DISPOSAL_TIME) &lt;= #{date2}
            </if>
        </where>
@@ -279,7 +279,7 @@
    </select>
    <select id="totalUp1" resultType="com.sinata.system.domain.dto.CollectTotalUpDto">
        SELECT t2.WASTE_TYPE as wasteType,COUNT(DISTINCT t2.BOX_NUMBER ) as boxNum ,COUNT(t2.ID)as num,sum(t2.WEIGHT) as weight
        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}
medicalWaste-system/src/main/resources/mapper/system/MwCollectRecordMapper.xml
@@ -210,7 +210,7 @@
        ORDER BY mcr.CREATE_TIME DESC
    </select>
    <select id="getGroup" 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
        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 = 1 AND DEPARTMENT_ID = #{departmentId}
             <if test="boxNumber != null and boxNumber != ''">
@@ -222,9 +222,9 @@
    </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
        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}
            STATUS = 1 AND DEPARTMENT_ID = #{departmentId}
            <if test="boxNumber != null and boxNumber != ''">
                and BOX_NUMBER like concat('%',#{boxNumber},'%')
            </if>
@@ -237,6 +237,7 @@
               WASTE_TYPE as wasteType,COUNT(1) as num ,
               sum(WEIGHT) as weight,
               BOX_TIME as lastTime ,
        WASTE_TYPE_STR as wasteTypeStr,
        RECEIVE_TIME as receiveTime
        from MEDICAL_WASTE.MW_COLLECT_RECORD
        <where>
@@ -249,14 +250,14 @@
    </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
        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}
        </where>
        GROUP BY WASTE_TYPE
    </select>
    <select id="collectTotal3" 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
        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 = 1 AND DEPARTMENT_ID = #{departmentId}
        </where>
@@ -265,7 +266,7 @@
    <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
        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>
            CHECKOUT_USER_ID = #{checkOutUserId}
            <if test="date !=null">
@@ -283,6 +284,7 @@
               t3.HOSPITAL_NAME as hospitalName,
               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