From ccd758bcd9b357b365c28f62efde203faa83fb93 Mon Sep 17 00:00:00 2001 From: luoyisheng <yangdongji@argo-ai.cn> Date: 星期一, 24 二月 2025 14:45:10 +0800 Subject: [PATCH] bug --- medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java | 437 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 420 insertions(+), 17 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..ce874a1 100644 --- a/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java +++ b/medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java @@ -1,25 +1,32 @@ 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.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.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.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; 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.*; @@ -27,7 +34,7 @@ import javax.validation.Valid; import java.io.IOException; import java.time.LocalDate; -import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -42,19 +49,405 @@ @Api(tags = {"医院工作人员"}) @RequiredArgsConstructor @RequestMapping("/applet/mwCollectRecord") + public class AppMwCollectRecordController { private final MwCollectRecordService collectRecordService; @Autowired private ISysUserService userService; + private final MwBoxService boxService; + private final MwCheckoutRecordService checkoutRecordService; + private final MwCheckoutRecordItemService checkoutRecordItemService; + private final SysDepartmentService departmentService; + private final MwDisposalRecordService disposalRecordService; + private final MwDisposalRecordItemService disposalRecordItemService; + private final MwDisposalHandleRecordService disposalHandleRecordService; + private final MwDisposalHandleRecordItemService disposalHandleRecordItemService; + private final MwStagingRoomService roomService; + private final ISysDictDataService dictDataService; + private final MwTransitCarService carService; + private final MwTransitCarCollectPointService mwTransitCarCollectPointService; + private final MwTransitRouteService transitRouteService; - - @ApiOperation("新增医废记录") + @ApiOperation(value = "新增医废记录") @PostMapping("/add") - public R<?> edit(@Valid @RequestBody MwCollectRecord mwCollectRecord) { + public R<?> add(@Valid @RequestBody MwCollectRecord mwCollectRecord) { + SysUser sysUser1 = SecurityUtils.getLoginUser().getUser(); + SysUser sysUser = userService.getById(sysUser1.getUserId()); + + MwBox one = boxService.lambdaQuery().eq(MwBox::getBoxNumber, mwCollectRecord.getBoxNumber()).one(); + if (one==null){ + return R.fail("当前转运箱不存在"); + } + one.setLink(1); + one.setLastUseTime(new Date()); + boxService.updateById(one); + mwCollectRecord.setBoxId(one.getId()); + MwStagingRoom one1 = roomService.lambdaQuery().eq(MwStagingRoom::getDepartmentId, sysUser.getDepartmentId()).one(); + if (one1==null){ + return R.fail("当前单位没有暂存间"); + } + mwCollectRecord.setStagingRoomId(one1.getId()); + mwCollectRecord.setDepartmentId(sysUser.getDepartmentId()); + mwCollectRecord.setBoxTime(new Date()); + mwCollectRecord.setCollectUserId(sysUser.getUserId()); + + // 创建一个随机数生成器实例 + Random random = new Random(); + + // 生成一个6位数范围内的随机整数(100000 到 999999) + int randomNumber = 10000000 + random.nextInt(90000000); + mwCollectRecord.setMedicalWasteNumber(String.valueOf(randomNumber)); + + SysDictData medicalWasteType = dictDataService.getById(mwCollectRecord.getWasteType()); + if (medicalWasteType!=null){ + mwCollectRecord.setWasteTypeStr(medicalWasteType.getDictLabel()); + } collectRecordService.save(mwCollectRecord); return R.ok(); } + + @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); + 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 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()){ + return R.ok(); + } + Set<String> boxes = new HashSet<>(); + BigDecimal sum = new BigDecimal(0); + for (MwCollectRecord mwCollectRecord : list) { + mwCollectRecord.setStatus(2); + mwCollectRecord.setCheckoutUserId(sysUser.getUserId()); + mwCollectRecord.setCheckoutTime(new Date()); + mwCollectRecord.setDriverId(sysUser.getUserId()); + mwCollectRecord.setCarId(sysUser.getCarId()); + boxes.add(mwCollectRecord.getBoxNumber()); + sum= sum.add(mwCollectRecord.getWeight()); + } + //插入入库记录以及中间表数据 + 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); + MwBox byId = boxService.getById(list.get(0).getStagingRoomId()); + byId.setLink(2); + boxService.updateById(byId); + + //查询当前医废收集路线 + Long departmentId = list.get(0).getDepartmentId(); + MwTransitRoute route = transitRouteService.queryRouteByDepartmentId(departmentId); + if (Objects.nonNull(route)){ + //查询当前车辆已运输路线记录 + MwTransitCarCollectPoint carCollectPoint = mwTransitCarCollectPointService.lambdaQuery().eq(MwTransitCarCollectPoint::getCarId, sysUser.getCarId()) + .eq(MwTransitCarCollectPoint::getRouteId, route.getId()) + .eq(MwTransitCarCollectPoint::getTransitDate, DateUtil.format(new Date(), DatePattern.NORM_DATE_PATTERN)) + .last("LIMIT 1").one(); + List<Long> departmentIdList = new ArrayList<>(); + //如果当前收集医院不是第一家且当前收集医院未被记录 + if (Objects.nonNull(carCollectPoint) && !carCollectPoint.getPointList().contains(departmentId.toString())){ + departmentIdList = JSONArray.parseArray(carCollectPoint.getPointList(), Long.class); + departmentIdList.add(departmentId); + }else if (Objects.isNull(carCollectPoint) ){//当前医院为第一个收集的医院 + carCollectPoint = new MwTransitCarCollectPoint(); + carCollectPoint.setCarId(carCollectPoint.getCarId()); + carCollectPoint.setRouteId(route.getId()); + carCollectPoint.setTransitDate(new Date()); + departmentIdList.add(departmentId); + } + carCollectPoint.setPointList(JSONArray.toJSONString(departmentIdList)); + mwTransitCarCollectPointService.saveOrUpdate(carCollectPoint); + } + + return R.ok(); + + } + + @ApiOperation(value = "运输统计上",tags = "运输人员") + @PostMapping("/trans/collect/total") + public R<List<CollectTotalUpDto>> tanscollecttotal1(@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(@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); + } + + @ApiOperation(value = "运输统计下",tags = "运输人员") + @PostMapping("/trans/down/collect/total") + public R<List<HospitalCollectTotalUpDto>> tanscollecttotal2(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + //先获取医院ids + List<MwCollectRecord> list = collectRecordService.lambdaQuery().ge(MwCollectRecord::getCheckoutTime, date.atStartOfDay()) + .le(MwCollectRecord::getCheckoutTime, date.atTime(23,59,59)) + .eq(MwCollectRecord::getCheckoutUserId, sysUser.getUserId()).groupBy(MwCollectRecord::getDepartmentId).list(); + //循环医院,然后放入 + List<HospitalCollectTotalUpDto> list1 = new ArrayList<>(); + for (MwCollectRecord mwCollectRecord : list) { + 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<HospitalCollectTotalUp1Dto>> tanscollecttotal3(String boxNum) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one(); + if (one==null){ + return R.ok(); + } + //先获取医院ids + List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus,2).eq(MwCollectRecord::getCheckoutUserId, one.getCheckoutUserId()).groupBy(MwCollectRecord::getDepartmentId).list(); + //循环医院,然后放入 + List<HospitalCollectTotalUp1Dto> list1 = new ArrayList<>(); + for (MwCollectRecord mwCollectRecord : list) { + List<CollectDto> collectTotalUpDtos = collectRecordService.getGroup2(null, mwCollectRecord.getDepartmentId()); + HospitalCollectTotalUp1Dto hospitalCollectTotalUpDto = new HospitalCollectTotalUp1Dto(); + hospitalCollectTotalUpDto.setHospitalName(mwCollectRecord.getHospitalName()); + hospitalCollectTotalUpDto.setCollectTotalUpDtos(collectTotalUpDtos); + list1.add(hospitalCollectTotalUpDto); + } + return R.ok(list1); + } + + @ApiOperation(value = "获取车辆",tags = "处置人员") + @PostMapping("/end/down/collect/car") + public R<CarDto> tanscollecttotal7(String boxNum) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one(); + if (one == null) { + return R.ok(); + } + MwTransitCar byId = carService.getById(one.getCarId()); + SysUser one1 = userService.lambdaQuery().eq(SysUser::getCarId, byId.getId()).last("limit 1").one(); + CarDto carDto = new CarDto(); + carDto.setLicensePlateNumber(byId.getLicensePlateNumber()); + carDto.setUserName(one1.getUserName()); + return R.ok(carDto); + } + + + @ApiOperation(value = "扫码接收列表上获取医院",tags = "处置人员") + @PostMapping("/end/down/collect/up") + public R<SysDepartment> tanscollecttotal4(String boxNum) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one(); + if (one == null) { + return R.ok(); + } + SysDepartment byId = departmentService.getById(one.getDepartmentId()); + return R.ok(byId); + } + + @ApiOperation(value = "确认接受",tags = "处置人员") + @PostMapping("/end/down/collect/confirm") + public R 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).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list(); + if (list.isEmpty()){ + return R.ok(); + } + + Set<String> boxes = new HashSet<>(); + BigDecimal receiveQuantity = BigDecimal.ZERO; + for (MwCollectRecord mwCollectRecord : list) { + mwCollectRecord.setStatus(3); + boxes.add(mwCollectRecord.getBoxNumber()); + mwCollectRecord.setReceiveUserId(sysUser.getUserId()); + mwCollectRecord.setReceiveTime(new Date()); + mwCollectRecord.setReceiveDepartmentId(sysUser.getDepartmentId()); + receiveQuantity = receiveQuantity.add(mwCollectRecord.getWeight()); + } + collectRecordService.updateBatchById(list); + //插入接收记录以及子表 + MwDisposalRecord mwDisposalRecord = new MwDisposalRecord(); + mwDisposalRecord.setDepartmentId(sysUser.getDepartmentId()); + mwDisposalRecord.setDisposalUnitName(byId.getDepartmentName()); + mwDisposalRecord.setReceiveQuantity(boxes.size()); + mwDisposalRecord.setReceiveTime(new Date()); + mwDisposalRecord.setReceiveWeight(receiveQuantity); + mwDisposalRecord.setReceiverId(sysUser.getUserId()); + mwDisposalRecord.setUnloadQuantity(boxes.size()); + mwDisposalRecord.setUnloadWeight(receiveQuantity); + mwDisposalRecord.setTotalHandledQuantity(list.size()); + mwDisposalRecord.setDisposalFlag(0); + mwDisposalRecord.setTotalHandledWeight(receiveQuantity); + mwDisposalRecord.setDriverId(list.get(0).getDriverId()); + mwDisposalRecord.setCarId(list.get(0).getCarId()); + disposalRecordService.save(mwDisposalRecord); + //插入子表 + List<MwDisposalRecordItem> items = new ArrayList<>(); + for (MwCollectRecord mwCollectRecord : list) { + MwDisposalRecordItem mwDisposalRecordItem = new MwDisposalRecordItem(); + mwDisposalRecordItem.setCollectRecordId(mwCollectRecord.getId()); + mwDisposalRecordItem.setDisposalRecordId(mwDisposalRecord.getId()); + items.add(mwDisposalRecordItem); + } + disposalRecordItemService.saveBatch(items); + MwTransitRoute route = transitRouteService.queryRouteByDepartmentId(list.get(0).getDepartmentId()); + if (Objects.nonNull(route)) { + //查询当前车辆已运输路线记录 + MwTransitCarCollectPoint carCollectPoint = mwTransitCarCollectPointService.lambdaQuery().eq(MwTransitCarCollectPoint::getCarId, sysUser.getCarId()) + .eq(MwTransitCarCollectPoint::getRouteId, route.getId()) + .eq(MwTransitCarCollectPoint::getTransitDate, DateUtil.format(new Date(), DatePattern.NORM_DATE_PATTERN)) + .last("LIMIT 1").one(); + List<Long> departmentIdList = new ArrayList<>(); + if (Objects.nonNull(carCollectPoint)) { + departmentIdList = JSONArray.parseArray(carCollectPoint.getPointList(), Long.class); + departmentIdList.add(byId.getId()); + carCollectPoint.setPointList(JSONArray.toJSONString(departmentIdList)); + mwTransitCarCollectPointService.updateById(carCollectPoint); + } + } + return R.ok(); + } + + @ApiOperation(value = "待处置列表",tags = "处置人员") + @PostMapping("/wait/list") + public R<List<CollectDto>> list1(String boxNumber) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + SysUser byId = userService.getById(sysUser.getUserId()); + List<CollectDto> collectDtos = collectRecordService.getGroupWithStatus(boxNumber,byId.getDepartmentId(),3); + return R.ok(collectDtos); + } + @ApiOperation(value = "处置操作",tags = "处置人员") + @PostMapping("/wait/out") + public R<List<CollectDto>> list2(@RequestBody BoxListDto boxListDto) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + SysDepartment byId = departmentService.getById(sysUser.getDepartmentId()); + List<MwCollectRecord> list = collectRecordService.lambdaQuery().eq(MwCollectRecord::getStatus, 3).in(MwCollectRecord::getBoxNumber, boxListDto.getBoxNum()).list(); + if (list.isEmpty()){ + return R.ok(); + } + //新增处置记录 + MwDisposalHandleRecord mwDisposalHandleRecord = new MwDisposalHandleRecord(); + mwDisposalHandleRecord.setDepartmentId(byId.getId()); + mwDisposalHandleRecord.setDisposalUnitName(byId.getDepartmentName()); + mwDisposalHandleRecord.setDisposalTime(new Date()); + mwDisposalHandleRecord.setDisposalUserId(sysUser.getUserId()); + mwDisposalHandleRecord.setDriverId(list.get(0).getDriverId()); + mwDisposalHandleRecord.setCarId(list.get(0).getCarId()); + disposalHandleRecordService.save(mwDisposalHandleRecord); + List<Long> collectIdList = list.stream().map(MwCollectRecord::getId).collect(Collectors.toList()); + //查询收集记录对应的接收记录 + List<MwDisposalRecordItem> disposalRecordItems = disposalRecordItemService.lambdaQuery().in(MwDisposalRecordItem::getCollectRecordId, collectIdList).list(); + Map<Long, Long> disposalRecordItemMap = disposalRecordItems.stream().collect(Collectors.toMap(MwDisposalRecordItem::getCollectRecordId, MwDisposalRecordItem::getDisposalRecordId)); + + //将收集记录以及子表改变为已处置 + if (!list.isEmpty()) { + List<Long> ids = new ArrayList<>(); + List<MwDisposalHandleRecordItem> mwDisposalHandleRecordItems = new ArrayList<>(); + for (MwCollectRecord mwCollectRecord : list) { + ids.add(mwCollectRecord.getId()); + mwCollectRecord.setStatus(4); + mwCollectRecord.setDisposalUserId(sysUser.getUserId()); + mwCollectRecord.setDisposalTime(new Date()); + MwDisposalHandleRecordItem mwDisposalHandleRecordItem = new MwDisposalHandleRecordItem(); + mwDisposalHandleRecordItem.setCollectRecordId(mwCollectRecord.getId()); + mwDisposalHandleRecordItem.setDisposalHandleRecordId(mwDisposalHandleRecord.getId()); + mwDisposalHandleRecordItem.setDisposalRecordId(disposalRecordItemMap.getOrDefault(mwCollectRecord.getId(), null)); + mwDisposalHandleRecordItems.add(mwDisposalHandleRecordItem); + } + disposalHandleRecordItemService.saveBatch(mwDisposalHandleRecordItems); + collectRecordService.updateBatchById(list); + } +// //将接收记录以及子表变为已处置 +// List<MwDisposalRecordItem> list1 = disposalRecordItemService.lambdaQuery().in(MwDisposalRecordItem::getCollectRecordId, ids).list(); +// if (!list1.isEmpty()){ +// List<Long> ids2 = new ArrayList<>(); +// for (MwDisposalRecordItem mwDisposalRecordItem : list1) { +// mwDisposalRecordItem.setDisposalFlag(1); +// mwDisposalRecordItem.setDisposalUserId(sysUser.getUserId()); +// mwDisposalRecordItem.setDisposalTime(new Date()); +// ids2.add(mwDisposalRecordItem.getId()); +// } +// disposalRecordItemService.updateBatchById(list1); +// List<MwDisposalRecord> list2 = disposalRecordService.lambdaQuery().in(MwDisposalRecord::getId, ids2).list(); +// for (MwDisposalRecord mwDisposalRecord : list2) { +// mwDisposalRecord.setDisposalFlag(1); +// mwDisposalRecord.setDisposalTime(new Date()); +// mwDisposalRecord.setDisposalUserId(sysUser.getUserId()); +// } +// disposalRecordService.updateBatchById(list2); +// } +// } +// MwBox byId1 = boxService.getById(list.get(0).getStagingRoomId()); +// byId1.setLink(4); +// boxService.updateById(byId1); + return R.ok(); + } + + + + + @ApiOperation(value = "已装车列表",tags = "运输人员") + @PostMapping("/box/has/collect") + public R<List<CollectCarTotalUpDto>> hascollect(String name) { + //获取车辆id + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + SysUser byId = userService.getById(sysUser.getUserId()); + //通过车辆id查询列表 + List<CollectCarTotalUpDto> list = collectRecordService.carGroup(byId.getCarId(),name); + return R.ok(list); + } + + @ApiOperation(value = "已装车列表详情",tags = "运输人员") + @PostMapping("/box/has/collect/detail") + public R<List<CollectDto>> hascollectdetail(@RequestParam Long hospitalId) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + SysUser byId = userService.getById(sysUser.getUserId()); + List<CollectDto> collectDtos = collectRecordService.getGroup3(null,hospitalId,byId.getCarId()); + return R.ok(collectDtos); + } + @ApiOperation("库存信息") @PostMapping("/list") public R<List<CollectDto>> list(String boxNumber) { @@ -71,15 +464,25 @@ @ApiOperation("收集统计上") @PostMapping("/collect/total") - public R<List<CollectTotalUpDto>> collecttotal1(LocalDate date) { + public R<List<CollectTotalUpDto>> collecttotal1(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); - return R.ok(collectRecordService.collectTotal(date,sysUser.getDepartmentId())); + SysUser byId = userService.getById(sysUser.getUserId()); + if (date==null){ + date = LocalDate.now(); + } + return R.ok(collectRecordService.collectTotal(date,byId.getDepartmentId())); } @ApiOperation("收集统计下") @PostMapping("/collect/down/total") - public R<Page<MwCollectRecord>> collecttotal2(LocalDate date,@RequestParam Integer pageNum, @RequestParam Integer pageSize) { + public R<Page<MwCollectRecord>> collecttotal2(@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)LocalDate date,@RequestParam Integer pageNum, @RequestParam Integer pageSize) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); - Page<MwCollectRecord> page = collectRecordService.lambdaQuery().eq(date!=null,MwCollectRecord::getCollectTime,date).eq(MwCollectRecord::getDepartmentId, sysUser.getDepartmentId()).orderByDesc(MwCollectRecord::getCollectTime).page(Page.of(pageNum, pageSize)); + SysUser byId = userService.getById(sysUser.getUserId()); + Page<MwCollectRecord> page = collectRecordService.lambdaQuery() + .ge(MwCollectRecord::getCreateTime, date.atStartOfDay()) + .le(MwCollectRecord::getCreateTime, date.atTime(23,59,59)) + .eq(MwCollectRecord::getDepartmentId, byId.getDepartmentId()) + .orderByDesc(MwCollectRecord::getCollectTime) + .page(Page.of(pageNum, pageSize)); return R.ok(page); } @@ -88,9 +491,9 @@ @PostMapping("/total") public R<CollectTotalDto> total(String boxNumber) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); - + SysUser byId = userService.getById(sysUser.getUserId()); CollectTotalDto collectTotalDto = new CollectTotalDto(); - List<CollectDto> collectDtos = collectRecordService.getGroup(boxNumber,sysUser.getDepartmentId()); + List<CollectDto> collectDtos = collectRecordService.getGroup(boxNumber,byId.getDepartmentId()); for (CollectDto collectDto : collectDtos) { collectTotalDto.setBoxNum(collectTotalDto.getBoxNum()+1); collectTotalDto.setCarNum(collectTotalDto.getCarNum()+collectDto.getNum()); -- Gitblit v1.7.1