luoyisheng
2025-03-25 b03d89e792a34c486f0afeab69e837f85d8cbe16
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
@@ -1,40 +1,74 @@
package com.sinata.web.controller.applet;
import java.util.Date;
import java.math.BigDecimal;
import java.util.*;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSONArray;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sinata.common.core.domain.R;
import com.sinata.common.core.domain.entity.SysDictData;
import com.sinata.common.core.domain.entity.SysUser;
import com.sinata.common.entity.PageDTO;
import com.sinata.common.utils.DateUtils;
import com.sinata.common.utils.SecurityUtils;
import com.sinata.common.utils.StringUtils;
import com.sinata.system.domain.*;
import com.sinata.system.domain.dto.*;
import com.sinata.system.domain.query.MwCollectRecordQuery;
import com.sinata.system.domain.vo.MedicalWasteProcessVO;
import com.sinata.system.domain.vo.MwCollectRecordVO;
import com.sinata.system.service.*;
import com.sinata.system.domain.MwBox;
import com.sinata.system.domain.MwCheckoutRecord;
import com.sinata.system.domain.MwCheckoutRecordItem;
import com.sinata.system.domain.MwCollectRecord;
import com.sinata.system.domain.MwDisposalHandleRecord;
import com.sinata.system.domain.MwDisposalHandleRecordItem;
import com.sinata.system.domain.MwDisposalRecord;
import com.sinata.system.domain.MwDisposalRecordItem;
import com.sinata.system.domain.MwStagingRoom;
import com.sinata.system.domain.MwTransitCar;
import com.sinata.system.domain.MwTransitCarCollectPoint;
import com.sinata.system.domain.MwTransitRoute;
import com.sinata.system.domain.SysDepartment;
import com.sinata.system.domain.dto.BoxListDto;
import com.sinata.system.domain.dto.CarDto;
import com.sinata.system.domain.dto.CollectCarTotalUpDto;
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.HospitalCollectTotalUp1Dto;
import com.sinata.system.domain.dto.HospitalCollectTotalUpDto;
import com.sinata.system.domain.dto.SignCollectDto;
import com.sinata.system.service.ISysDictDataService;
import com.sinata.system.service.ISysUserService;
import com.sinata.system.service.MwBoxService;
import com.sinata.system.service.MwCheckoutRecordItemService;
import com.sinata.system.service.MwCheckoutRecordService;
import com.sinata.system.service.MwCollectRecordService;
import com.sinata.system.service.MwDisposalHandleRecordItemService;
import com.sinata.system.service.MwDisposalHandleRecordService;
import com.sinata.system.service.MwDisposalRecordItemService;
import com.sinata.system.service.MwDisposalRecordService;
import com.sinata.system.service.MwStagingRoomService;
import com.sinata.system.service.MwTransitCarCollectPointService;
import com.sinata.system.service.MwTransitCarService;
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 java.math.BigDecimal;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Random;
import java.util.Set;
import java.util.stream.Collectors;
import javax.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.io.IOException;
import java.time.LocalDate;
import java.util.stream.Collectors;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * <p>
@@ -124,6 +158,7 @@
    @ApiOperation(value = "装车",tags = "运输人员")
    @PostMapping("/box/collect")
    @Transactional(rollbackFor = Exception.class)
    public R<List<CollectDto>> collect(@RequestBody SignCollectDto signCollectDto) {
        SysUser  sysUser1 = SecurityUtils.getLoginUser().getUser();
        SysUser sysUser = userService.getById(sysUser1.getUserId());
@@ -284,8 +319,10 @@
    @ApiOperation(value = "确认接受",tags = "处置人员")
    @PostMapping("/end/down/collect/confirm")
    @Transactional(rollbackFor = Exception.class)
    public R tanscollecttotal4(@RequestBody BoxListDto boxListDto) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        Long userId = SecurityUtils.getUserId();
        SysUser sysUser = userService.getById(userId);
        SysDepartment byId = departmentService.getById(sysUser.getDepartmentId());
        //将record变为已接受
        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list();
@@ -355,10 +392,13 @@
        List<CollectDto> collectDtos =  collectRecordService.getGroupWithStatus(boxNumber,byId.getDepartmentId(),3);
        return R.ok(collectDtos);
    }
    @Transactional(rollbackFor = Exception.class)
    @ApiOperation(value = "处置操作",tags = "处置人员")
    @PostMapping("/wait/out")
    public R<List<CollectDto>> list2(@RequestBody BoxListDto boxListDto) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        Long userId = SecurityUtils.getUserId();
        SysUser sysUser = userService.getById(userId);
        SysDepartment byId = departmentService.getById(sysUser.getDepartmentId());
        List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus, 3).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list();
        if (list.isEmpty()){
@@ -448,7 +488,8 @@
    @ApiOperation("库存信息")
    @PostMapping("/list")
    public R<List<CollectDto>> list(String boxNumber) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        Long userId = SecurityUtils.getUserId();
        SysUser sysUser = userService.getById(userId);
        List<CollectDto> collectDtos =  collectRecordService.getGroup(boxNumber,sysUser.getDepartmentId());
        return R.ok(collectDtos);
    }