From 196ac84b6ec0dd05304dd6577f169f7fbf5fe726 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 01 一月 2025 10:13:18 +0800
Subject: [PATCH] merge

---
 medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java |   54 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 49 insertions(+), 5 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..b3794e3 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,6 +50,8 @@
     private final SysDepartmentService departmentService;
     private final MwDisposalRecordService disposalRecordService;
     private final MwDisposalRecordItemService disposalRecordItemService;
+    private final MwDisposalHandleRecordService disposalHandleRecordService;
+    private final MwDisposalHandleRecordItemService disposalHandleRecordItemService;
 
 
     @ApiOperation("新增医废记录")
@@ -88,6 +90,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());
         }
@@ -183,6 +187,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 +206,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 +233,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