From aded6d51dd8cc3b7d2b5a9a0be54378c5b2ee924 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 01 一月 2025 15:11:15 +0800 Subject: [PATCH] merge --- medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java | 74 ++++++++++++++++++++++++++++++++++--- 1 files changed, 68 insertions(+), 6 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 6179373..d31c0e8 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 @@ -50,13 +50,31 @@ private final SysDepartmentService departmentService; private final MwDisposalRecordService disposalRecordService; private final MwDisposalRecordItemService disposalRecordItemService; + private final MwDisposalHandleRecordService disposalHandleRecordService; + private final MwDisposalHandleRecordItemService disposalHandleRecordItemService; + private final MwStagingRoomService roomService; @ApiOperation("新增医废记录") @PostMapping("/add") public R<?> add(@Valid @RequestBody MwCollectRecord mwCollectRecord) { + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + MwBox one = boxService.lambdaQuery().eq(MwBox::getBoxNumber, mwCollectRecord.getBoxNumber()).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()); + + // 创建一个随机数生成器实例 + Random random = new Random(); + + // 生成一个6位数范围内的随机整数(100000 到 999999) + int randomNumber = 10000000 + random.nextInt(90000000); + mwCollectRecord.setMedicalWasteNumber(String.valueOf(randomNumber)); collectRecordService.save(mwCollectRecord); return R.ok(); } @@ -88,6 +106,8 @@ for (MwCollectRecord mwCollectRecord : list) { mwCollectRecord.setStatus(2); mwCollectRecord.setCheckoutUserId(sysUser.getUserId()); + mwCollectRecord.setDriverId(sysUser.getUserId()); + mwCollectRecord.setCarId(sysUser.getCarId()); boxes.add(mwCollectRecord.getBoxNumber()); sum= sum.add(mwCollectRecord.getWeight()); } @@ -156,7 +176,9 @@ public R<List<HospitalCollectTotalUpDto>> tanscollecttotal3(String boxNum) { SysUser sysUser = SecurityUtils.getLoginUser().getUser(); MwCollectRecord one = collectRecordService.lambdaQuery().eq(MwCollectRecord::getBoxNumber, boxNum).eq(MwCollectRecord::getStatus, 2).last("limit 1").one(); - + 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(); //循环医院,然后放入 @@ -183,6 +205,9 @@ 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); @@ -199,6 +224,8 @@ 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<>(); @@ -224,18 +251,53 @@ public R<List<CollectDto>> list2(String boxNumber) { 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(); + //新增处置记录 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); //将收集记录以及子表改变为已处置 - - - //将接收记录以及子表变为已处置 - - + 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.setDisposalRecordId(mwDisposalHandleRecord.getId()); + 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); + } + } return R.ok(); } -- Gitblit v1.7.1