luodangjia
2025-01-01 2dc478231fd09a88a4d86d44388ae807aca08bc5
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwCollectRecordController.java
@@ -48,6 +48,10 @@
    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;
    @ApiOperation("新增医废记录")
@@ -86,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());
        }
@@ -171,7 +177,7 @@
    @ApiOperation(value = "确认接受",tags = "处置人员")
    @PostMapping("/end/down/collect/confirm")
    public R<List<HospitalCollectTotalUpDto>> tanscollecttotal4(String boxNum) {
    public R tanscollecttotal4(String boxNum) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        SysDepartment byId = departmentService.getById(sysUser.getDepartmentId());
        //将record变为已接受
@@ -181,9 +187,13 @@
        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());
@@ -193,16 +203,87 @@
        mwDisposalRecord.setReceiverId(sysUser.getUserId());
        mwDisposalRecord.setUnloadQuantity(boxes.size());
        mwDisposalRecord.setUnloadWeight(receiveQuantity);
        mwDisposalRecord.setTotalHandledQuantity(0);
        mwDisposalRecord.setTotalHandledQuantity(list.size());
        mwDisposalRecord.setDisposalFlag(0);
        mwDisposalRecord.setTotalHandledWeight(new BigDecimal("0"));
        return null;
        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);
        return R.ok();
    }
    @ApiOperation(value = "待处置列表",tags = "处置人员")
    @PostMapping("/wait/list")
    public R<List<CollectDto>> list1(String boxNumber) {
        SysUser  sysUser = SecurityUtils.getLoginUser().getUser();
        List<CollectDto> collectDtos =  collectRecordService.getGroupWithStatus(boxNumber,sysUser.getDepartmentId(),3);
        return R.ok(collectDtos);
    }
    @ApiOperation(value = "处置操作",tags = "处置人员")
    @PostMapping("/wait/out")
    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();
    }
    @ApiOperation(value = "已装车列表",tags = "运输人员")