diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index bc7ba11..594c591 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -101,9 +101,9 @@ */ @ApiOperation("设备终止") @PostMapping("/terminate") - public ReturnDTO forcedTerminate(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { - Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); + public ReturnDTO forcedTerminate(@RequestBody @Valid List deviceReceiveDTO, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); }); return bizDispatchService.forcedTerminate(deviceReceiveDTO); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index bc7ba11..594c591 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -101,9 +101,9 @@ */ @ApiOperation("设备终止") @PostMapping("/terminate") - public ReturnDTO forcedTerminate(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { - Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); + public ReturnDTO forcedTerminate(@RequestBody @Valid List deviceReceiveDTO, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); }); return bizDispatchService.forcedTerminate(deviceReceiveDTO); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index c127c2f..5cdc941 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -220,11 +220,15 @@ */ @Override @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.TERMINATED); - if (updateFlag > 0) { + public ReturnDTO forcedTerminate(List deviceReceiveDTO) { + boolean batchUpdateFlag = true; + for (DeviceStatusChangeDTO deviceStatusChangeDTO : deviceReceiveDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.TERMINATED); + batchUpdateFlag &= updateFlag > 0; + } + if (batchUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java index bc7ba11..594c591 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessDispatchController.java @@ -101,9 +101,9 @@ */ @ApiOperation("设备终止") @PostMapping("/terminate") - public ReturnDTO forcedTerminate(@RequestBody @Valid DeviceStatusChangeDTO deviceReceiveDTO) { - Assert.isFalse(Objects.isNull(deviceReceiveDTO.getOrderId()) || Objects.isNull(deviceReceiveDTO.getSampleId()), () -> { - throw new BusinessException(BusinessExceptionEnum.ID_NULL); + public ReturnDTO forcedTerminate(@RequestBody @Valid List deviceReceiveDTO, BindingResult bindingResult) { + Assert.isFalse(bindingResult.hasErrors(), () -> { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); }); return bizDispatchService.forcedTerminate(deviceReceiveDTO); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java index c127c2f..5cdc941 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/IBusinessDispatchServiceImpl.java @@ -220,11 +220,15 @@ */ @Override @Transactional - public ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO) { - Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); - //实验室状态数据的更新 - updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.TERMINATED); - if (updateFlag > 0) { + public ReturnDTO forcedTerminate(List deviceReceiveDTO) { + boolean batchUpdateFlag = true; + for (DeviceStatusChangeDTO deviceStatusChangeDTO : deviceReceiveDTO) { + Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, true); + //实验室状态数据的更新 + updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.TERMINATED); + batchUpdateFlag &= updateFlag > 0; + } + if (batchUpdateFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java index 1d38667..416beb0 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessDispatchService.java @@ -20,7 +20,7 @@ ReturnDTO statusBatchChange(DeviceBatchStatusChangeDTO deviceBatchStatusChangeDTO); - ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO); + ReturnDTO forcedTerminate(List deviceReceiveDTO); ReturnDTO bindLabel(LabelBindDTO deviceScanDTO) throws Exception;