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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - - - + + + - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 56d89b6..ca6cd6f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -137,15 +137,6 @@ } } - @Override - public Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception { - page.setRecords(this.baseMapper.exchangeSampleList(page, request)); - for (InterchangeSampleListResponse sampleListResponse : page.getRecords()) { - DictCodeUtils.convertDictCodeToName(sampleListResponse); - } - return page; - } - private void initFlushEmpty(InterchangeListRequest request) { request.setEndTime(null); 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 56d89b6..ca6cd6f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -137,15 +137,6 @@ } } - @Override - public Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception { - page.setRecords(this.baseMapper.exchangeSampleList(page, request)); - for (InterchangeSampleListResponse sampleListResponse : page.getRecords()) { - DictCodeUtils.convertDictCodeToName(sampleListResponse); - } - return page; - } - private void initFlushEmpty(InterchangeListRequest request) { request.setEndTime(null); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 5264fab..3fd6219 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -94,6 +94,7 @@ for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); if (null != customerSampleInfo) { + customerSampleInfo.setSampleStatus(orderSample.getSampleStatus()); customerSampleInfo.setIsExistSample("1"); customerSampleList.add(customerSampleInfo); } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 56d89b6..ca6cd6f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -137,15 +137,6 @@ } } - @Override - public Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception { - page.setRecords(this.baseMapper.exchangeSampleList(page, request)); - for (InterchangeSampleListResponse sampleListResponse : page.getRecords()) { - DictCodeUtils.convertDictCodeToName(sampleListResponse); - } - return page; - } - private void initFlushEmpty(InterchangeListRequest request) { request.setEndTime(null); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 5264fab..3fd6219 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -94,6 +94,7 @@ for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); if (null != customerSampleInfo) { + customerSampleInfo.setSampleStatus(orderSample.getSampleStatus()); customerSampleInfo.setIsExistSample("1"); customerSampleList.add(customerSampleInfo); } 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 e7ed7fe..bfc1dca 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 @@ -11,9 +11,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.business.MeasureStatusEnum; @@ -29,6 +27,7 @@ import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.business.IBusinessDispatchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -145,12 +144,15 @@ @Override @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + //涉及实际送达时间,需判断前置为待收入转入的 boolean incomeStatusFlag = incomeStatusChange(deviceStatusChangeDTO); - if (deviceStatusChangeDTO.getStatus().equals(COMPLETE)) { - this.updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); - } + //涉及归还时间 + boolean giveBackStatusFlag = giveBackStatusChange(deviceStatusChangeDTO); + //完成状态 + toGiveBackStatusChange(deviceStatusChangeDTO); + //状态变更 Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0 && incomeStatusFlag) { + if (updateFlag > 0 && incomeStatusFlag && giveBackStatusFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -171,6 +173,22 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + + /** + * 1、通过可更新状态查询前置状态 + * 2、根据前置状态对标签进行筛选 + */ + @Override + @Transactional + public Page deviceScanStatus(Page page, DeviceScanDTO deviceScanDTO) throws Exception { + //查询委托书和样品关联表中的各状态的样品 + Page deviceScanVOPage = orderSampleRelationMapper.deviceScanStatus(page, deviceScanDTO); + for (DeviceScanVO deviceScanVO : deviceScanVOPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(deviceScanVO); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + /** * 进行已收入分页的当前环节回填、出具证书回填 */ @@ -317,7 +335,7 @@ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { if (!INSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment =OUT_UNDERTAKE; + String currentSegment = OUT_UNDERTAKE; dispatchVO.setCurrentSegment(currentSegment); dispatchVO.setIsSelfMeasure(false); return true; @@ -357,7 +375,7 @@ } private boolean incomeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { - if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + if (statusChangeDTO.getStatus().equals(TO_HANDOUT)) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); @@ -365,7 +383,7 @@ Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); if (orderSampleRelationOptional.isPresent()) { BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); - if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + if (businessOrderSampleRelation.getSampleStatus().equals(TO_RECEIVE)) { BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); @@ -376,4 +394,44 @@ return true; } + /** + * 是归还状态,填写归还时间 + * + * @param statusChangeDTO + * @return + */ + private boolean giveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(GIVE_BACK_COMPLETE)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setReturnTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + return true; + } + + private void toGiveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_GIVE_BACK)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_HANDOUT) + || businessOrderSampleRelation.getSampleStatus().equals(IN_MEASURE) + || businessOrderSampleRelation.getSampleStatus().equals(MEASURE_COMPLETE)) { + if (statusChangeDTO.getStatus().equals(COMPLETE)) { + this.updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); + } + } + } + } + } + + } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 56d89b6..ca6cd6f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -137,15 +137,6 @@ } } - @Override - public Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception { - page.setRecords(this.baseMapper.exchangeSampleList(page, request)); - for (InterchangeSampleListResponse sampleListResponse : page.getRecords()) { - DictCodeUtils.convertDictCodeToName(sampleListResponse); - } - return page; - } - private void initFlushEmpty(InterchangeListRequest request) { request.setEndTime(null); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 5264fab..3fd6219 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -94,6 +94,7 @@ for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); if (null != customerSampleInfo) { + customerSampleInfo.setSampleStatus(orderSample.getSampleStatus()); customerSampleInfo.setIsExistSample("1"); customerSampleList.add(customerSampleInfo); } 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 e7ed7fe..bfc1dca 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 @@ -11,9 +11,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.business.MeasureStatusEnum; @@ -29,6 +27,7 @@ import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.business.IBusinessDispatchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -145,12 +144,15 @@ @Override @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + //涉及实际送达时间,需判断前置为待收入转入的 boolean incomeStatusFlag = incomeStatusChange(deviceStatusChangeDTO); - if (deviceStatusChangeDTO.getStatus().equals(COMPLETE)) { - this.updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); - } + //涉及归还时间 + boolean giveBackStatusFlag = giveBackStatusChange(deviceStatusChangeDTO); + //完成状态 + toGiveBackStatusChange(deviceStatusChangeDTO); + //状态变更 Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0 && incomeStatusFlag) { + if (updateFlag > 0 && incomeStatusFlag && giveBackStatusFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -171,6 +173,22 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + + /** + * 1、通过可更新状态查询前置状态 + * 2、根据前置状态对标签进行筛选 + */ + @Override + @Transactional + public Page deviceScanStatus(Page page, DeviceScanDTO deviceScanDTO) throws Exception { + //查询委托书和样品关联表中的各状态的样品 + Page deviceScanVOPage = orderSampleRelationMapper.deviceScanStatus(page, deviceScanDTO); + for (DeviceScanVO deviceScanVO : deviceScanVOPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(deviceScanVO); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + /** * 进行已收入分页的当前环节回填、出具证书回填 */ @@ -317,7 +335,7 @@ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { if (!INSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment =OUT_UNDERTAKE; + String currentSegment = OUT_UNDERTAKE; dispatchVO.setCurrentSegment(currentSegment); dispatchVO.setIsSelfMeasure(false); return true; @@ -357,7 +375,7 @@ } private boolean incomeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { - if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + if (statusChangeDTO.getStatus().equals(TO_HANDOUT)) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); @@ -365,7 +383,7 @@ Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); if (orderSampleRelationOptional.isPresent()) { BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); - if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + if (businessOrderSampleRelation.getSampleStatus().equals(TO_RECEIVE)) { BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); @@ -376,4 +394,44 @@ return true; } + /** + * 是归还状态,填写归还时间 + * + * @param statusChangeDTO + * @return + */ + private boolean giveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(GIVE_BACK_COMPLETE)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setReturnTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + return true; + } + + private void toGiveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_GIVE_BACK)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_HANDOUT) + || businessOrderSampleRelation.getSampleStatus().equals(IN_MEASURE) + || businessOrderSampleRelation.getSampleStatus().equals(MEASURE_COMPLETE)) { + if (statusChangeDTO.getStatus().equals(COMPLETE)) { + this.updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); + } + } + } + } + } + + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index 8e9644b..82d0530 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -10,10 +10,8 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; @@ -172,6 +170,31 @@ return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } + @Override + public Page listPageByOrder(Page page, OrderSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByOrder(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageByInterchange(Page page, InterchangeSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByInterchange(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageBySubpackage(Page page, SubpackageSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageBySubpackage(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", sampleId) 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 56d89b6..ca6cd6f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -137,15 +137,6 @@ } } - @Override - public Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception { - page.setRecords(this.baseMapper.exchangeSampleList(page, request)); - for (InterchangeSampleListResponse sampleListResponse : page.getRecords()) { - DictCodeUtils.convertDictCodeToName(sampleListResponse); - } - return page; - } - private void initFlushEmpty(InterchangeListRequest request) { request.setEndTime(null); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 5264fab..3fd6219 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -94,6 +94,7 @@ for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); if (null != customerSampleInfo) { + customerSampleInfo.setSampleStatus(orderSample.getSampleStatus()); customerSampleInfo.setIsExistSample("1"); customerSampleList.add(customerSampleInfo); } 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 e7ed7fe..bfc1dca 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 @@ -11,9 +11,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.business.MeasureStatusEnum; @@ -29,6 +27,7 @@ import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.business.IBusinessDispatchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -145,12 +144,15 @@ @Override @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + //涉及实际送达时间,需判断前置为待收入转入的 boolean incomeStatusFlag = incomeStatusChange(deviceStatusChangeDTO); - if (deviceStatusChangeDTO.getStatus().equals(COMPLETE)) { - this.updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); - } + //涉及归还时间 + boolean giveBackStatusFlag = giveBackStatusChange(deviceStatusChangeDTO); + //完成状态 + toGiveBackStatusChange(deviceStatusChangeDTO); + //状态变更 Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0 && incomeStatusFlag) { + if (updateFlag > 0 && incomeStatusFlag && giveBackStatusFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -171,6 +173,22 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + + /** + * 1、通过可更新状态查询前置状态 + * 2、根据前置状态对标签进行筛选 + */ + @Override + @Transactional + public Page deviceScanStatus(Page page, DeviceScanDTO deviceScanDTO) throws Exception { + //查询委托书和样品关联表中的各状态的样品 + Page deviceScanVOPage = orderSampleRelationMapper.deviceScanStatus(page, deviceScanDTO); + for (DeviceScanVO deviceScanVO : deviceScanVOPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(deviceScanVO); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + /** * 进行已收入分页的当前环节回填、出具证书回填 */ @@ -317,7 +335,7 @@ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { if (!INSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment =OUT_UNDERTAKE; + String currentSegment = OUT_UNDERTAKE; dispatchVO.setCurrentSegment(currentSegment); dispatchVO.setIsSelfMeasure(false); return true; @@ -357,7 +375,7 @@ } private boolean incomeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { - if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + if (statusChangeDTO.getStatus().equals(TO_HANDOUT)) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); @@ -365,7 +383,7 @@ Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); if (orderSampleRelationOptional.isPresent()) { BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); - if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + if (businessOrderSampleRelation.getSampleStatus().equals(TO_RECEIVE)) { BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); @@ -376,4 +394,44 @@ return true; } + /** + * 是归还状态,填写归还时间 + * + * @param statusChangeDTO + * @return + */ + private boolean giveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(GIVE_BACK_COMPLETE)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setReturnTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + return true; + } + + private void toGiveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_GIVE_BACK)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_HANDOUT) + || businessOrderSampleRelation.getSampleStatus().equals(IN_MEASURE) + || businessOrderSampleRelation.getSampleStatus().equals(MEASURE_COMPLETE)) { + if (statusChangeDTO.getStatus().equals(COMPLETE)) { + this.updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); + } + } + } + } + } + + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index 8e9644b..82d0530 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -10,10 +10,8 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; @@ -172,6 +170,31 @@ return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } + @Override + public Page listPageByOrder(Page page, OrderSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByOrder(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageByInterchange(Page page, InterchangeSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByInterchange(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageBySubpackage(Page page, SubpackageSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageBySubpackage(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", sampleId) 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 cbf2cf5..0c8b726 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 @@ -2,9 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import javax.servlet.http.HttpServletResponse; @@ -21,5 +19,8 @@ ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO); + Page deviceScanStatus(Page page,DeviceScanDTO deviceScanDTO) throws Exception ; + + ReturnDTO remindWorker(DeviceStatusChangeDTO deviceStatusChangeDTO); } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 56d89b6..ca6cd6f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -137,15 +137,6 @@ } } - @Override - public Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception { - page.setRecords(this.baseMapper.exchangeSampleList(page, request)); - for (InterchangeSampleListResponse sampleListResponse : page.getRecords()) { - DictCodeUtils.convertDictCodeToName(sampleListResponse); - } - return page; - } - private void initFlushEmpty(InterchangeListRequest request) { request.setEndTime(null); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 5264fab..3fd6219 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -94,6 +94,7 @@ for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); if (null != customerSampleInfo) { + customerSampleInfo.setSampleStatus(orderSample.getSampleStatus()); customerSampleInfo.setIsExistSample("1"); customerSampleList.add(customerSampleInfo); } 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 e7ed7fe..bfc1dca 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 @@ -11,9 +11,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.business.MeasureStatusEnum; @@ -29,6 +27,7 @@ import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.business.IBusinessDispatchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -145,12 +144,15 @@ @Override @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + //涉及实际送达时间,需判断前置为待收入转入的 boolean incomeStatusFlag = incomeStatusChange(deviceStatusChangeDTO); - if (deviceStatusChangeDTO.getStatus().equals(COMPLETE)) { - this.updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); - } + //涉及归还时间 + boolean giveBackStatusFlag = giveBackStatusChange(deviceStatusChangeDTO); + //完成状态 + toGiveBackStatusChange(deviceStatusChangeDTO); + //状态变更 Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0 && incomeStatusFlag) { + if (updateFlag > 0 && incomeStatusFlag && giveBackStatusFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -171,6 +173,22 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + + /** + * 1、通过可更新状态查询前置状态 + * 2、根据前置状态对标签进行筛选 + */ + @Override + @Transactional + public Page deviceScanStatus(Page page, DeviceScanDTO deviceScanDTO) throws Exception { + //查询委托书和样品关联表中的各状态的样品 + Page deviceScanVOPage = orderSampleRelationMapper.deviceScanStatus(page, deviceScanDTO); + for (DeviceScanVO deviceScanVO : deviceScanVOPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(deviceScanVO); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + /** * 进行已收入分页的当前环节回填、出具证书回填 */ @@ -317,7 +335,7 @@ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { if (!INSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment =OUT_UNDERTAKE; + String currentSegment = OUT_UNDERTAKE; dispatchVO.setCurrentSegment(currentSegment); dispatchVO.setIsSelfMeasure(false); return true; @@ -357,7 +375,7 @@ } private boolean incomeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { - if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + if (statusChangeDTO.getStatus().equals(TO_HANDOUT)) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); @@ -365,7 +383,7 @@ Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); if (orderSampleRelationOptional.isPresent()) { BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); - if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + if (businessOrderSampleRelation.getSampleStatus().equals(TO_RECEIVE)) { BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); @@ -376,4 +394,44 @@ return true; } + /** + * 是归还状态,填写归还时间 + * + * @param statusChangeDTO + * @return + */ + private boolean giveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(GIVE_BACK_COMPLETE)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setReturnTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + return true; + } + + private void toGiveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_GIVE_BACK)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_HANDOUT) + || businessOrderSampleRelation.getSampleStatus().equals(IN_MEASURE) + || businessOrderSampleRelation.getSampleStatus().equals(MEASURE_COMPLETE)) { + if (statusChangeDTO.getStatus().equals(COMPLETE)) { + this.updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); + } + } + } + } + } + + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index 8e9644b..82d0530 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -10,10 +10,8 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; @@ -172,6 +170,31 @@ return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } + @Override + public Page listPageByOrder(Page page, OrderSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByOrder(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageByInterchange(Page page, InterchangeSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByInterchange(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageBySubpackage(Page page, SubpackageSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageBySubpackage(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", sampleId) 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 cbf2cf5..0c8b726 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 @@ -2,9 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import javax.servlet.http.HttpServletResponse; @@ -21,5 +19,8 @@ ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO); + Page deviceScanStatus(Page page,DeviceScanDTO deviceScanDTO) throws Exception ; + + ReturnDTO remindWorker(DeviceStatusChangeDTO deviceStatusChangeDTO); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java index 50ca6e2..97d106b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java @@ -31,6 +31,4 @@ void exportExchange(InterchangeListRequest request, HttpServletResponse response); - Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception; - } 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 56d89b6..ca6cd6f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -137,15 +137,6 @@ } } - @Override - public Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception { - page.setRecords(this.baseMapper.exchangeSampleList(page, request)); - for (InterchangeSampleListResponse sampleListResponse : page.getRecords()) { - DictCodeUtils.convertDictCodeToName(sampleListResponse); - } - return page; - } - private void initFlushEmpty(InterchangeListRequest request) { request.setEndTime(null); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 5264fab..3fd6219 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -94,6 +94,7 @@ for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); if (null != customerSampleInfo) { + customerSampleInfo.setSampleStatus(orderSample.getSampleStatus()); customerSampleInfo.setIsExistSample("1"); customerSampleList.add(customerSampleInfo); } 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 e7ed7fe..bfc1dca 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 @@ -11,9 +11,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.business.MeasureStatusEnum; @@ -29,6 +27,7 @@ import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.business.IBusinessDispatchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -145,12 +144,15 @@ @Override @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + //涉及实际送达时间,需判断前置为待收入转入的 boolean incomeStatusFlag = incomeStatusChange(deviceStatusChangeDTO); - if (deviceStatusChangeDTO.getStatus().equals(COMPLETE)) { - this.updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); - } + //涉及归还时间 + boolean giveBackStatusFlag = giveBackStatusChange(deviceStatusChangeDTO); + //完成状态 + toGiveBackStatusChange(deviceStatusChangeDTO); + //状态变更 Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0 && incomeStatusFlag) { + if (updateFlag > 0 && incomeStatusFlag && giveBackStatusFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -171,6 +173,22 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + + /** + * 1、通过可更新状态查询前置状态 + * 2、根据前置状态对标签进行筛选 + */ + @Override + @Transactional + public Page deviceScanStatus(Page page, DeviceScanDTO deviceScanDTO) throws Exception { + //查询委托书和样品关联表中的各状态的样品 + Page deviceScanVOPage = orderSampleRelationMapper.deviceScanStatus(page, deviceScanDTO); + for (DeviceScanVO deviceScanVO : deviceScanVOPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(deviceScanVO); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + /** * 进行已收入分页的当前环节回填、出具证书回填 */ @@ -317,7 +335,7 @@ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { if (!INSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment =OUT_UNDERTAKE; + String currentSegment = OUT_UNDERTAKE; dispatchVO.setCurrentSegment(currentSegment); dispatchVO.setIsSelfMeasure(false); return true; @@ -357,7 +375,7 @@ } private boolean incomeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { - if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + if (statusChangeDTO.getStatus().equals(TO_HANDOUT)) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); @@ -365,7 +383,7 @@ Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); if (orderSampleRelationOptional.isPresent()) { BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); - if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + if (businessOrderSampleRelation.getSampleStatus().equals(TO_RECEIVE)) { BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); @@ -376,4 +394,44 @@ return true; } + /** + * 是归还状态,填写归还时间 + * + * @param statusChangeDTO + * @return + */ + private boolean giveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(GIVE_BACK_COMPLETE)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setReturnTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + return true; + } + + private void toGiveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_GIVE_BACK)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_HANDOUT) + || businessOrderSampleRelation.getSampleStatus().equals(IN_MEASURE) + || businessOrderSampleRelation.getSampleStatus().equals(MEASURE_COMPLETE)) { + if (statusChangeDTO.getStatus().equals(COMPLETE)) { + this.updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); + } + } + } + } + } + + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index 8e9644b..82d0530 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -10,10 +10,8 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; @@ -172,6 +170,31 @@ return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } + @Override + public Page listPageByOrder(Page page, OrderSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByOrder(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageByInterchange(Page page, InterchangeSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByInterchange(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageBySubpackage(Page page, SubpackageSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageBySubpackage(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", sampleId) 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 cbf2cf5..0c8b726 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 @@ -2,9 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import javax.servlet.http.HttpServletResponse; @@ -21,5 +19,8 @@ ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO); + Page deviceScanStatus(Page page,DeviceScanDTO deviceScanDTO) throws Exception ; + + ReturnDTO remindWorker(DeviceStatusChangeDTO deviceStatusChangeDTO); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java index 50ca6e2..97d106b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java @@ -31,6 +31,4 @@ void exportExchange(InterchangeListRequest request, HttpServletResponse response); - Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception; - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java index d5d00ee..36f7a4f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java @@ -2,11 +2,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.model.customer.CustomerSampleInfo; import javax.servlet.http.HttpServletResponse; @@ -31,7 +28,12 @@ Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest); + Page listPageByOrder(Page page, OrderSampleListRequest request) throws Exception; + + Page listPageByInterchange(Page page, InterchangeSampleListRequest request) throws Exception; + + Page listPageBySubpackage(Page page, SubpackageSampleListRequest request) throws Exception; /** * 根据 委托书id、样品编号、样品名称查询样品信息(分页) * 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 56d89b6..ca6cd6f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -137,15 +137,6 @@ } } - @Override - public Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception { - page.setRecords(this.baseMapper.exchangeSampleList(page, request)); - for (InterchangeSampleListResponse sampleListResponse : page.getRecords()) { - DictCodeUtils.convertDictCodeToName(sampleListResponse); - } - return page; - } - private void initFlushEmpty(InterchangeListRequest request) { request.setEndTime(null); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 5264fab..3fd6219 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -94,6 +94,7 @@ for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); if (null != customerSampleInfo) { + customerSampleInfo.setSampleStatus(orderSample.getSampleStatus()); customerSampleInfo.setIsExistSample("1"); customerSampleList.add(customerSampleInfo); } 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 e7ed7fe..bfc1dca 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 @@ -11,9 +11,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.business.MeasureStatusEnum; @@ -29,6 +27,7 @@ import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.business.IBusinessDispatchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -145,12 +144,15 @@ @Override @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + //涉及实际送达时间,需判断前置为待收入转入的 boolean incomeStatusFlag = incomeStatusChange(deviceStatusChangeDTO); - if (deviceStatusChangeDTO.getStatus().equals(COMPLETE)) { - this.updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); - } + //涉及归还时间 + boolean giveBackStatusFlag = giveBackStatusChange(deviceStatusChangeDTO); + //完成状态 + toGiveBackStatusChange(deviceStatusChangeDTO); + //状态变更 Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0 && incomeStatusFlag) { + if (updateFlag > 0 && incomeStatusFlag && giveBackStatusFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -171,6 +173,22 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + + /** + * 1、通过可更新状态查询前置状态 + * 2、根据前置状态对标签进行筛选 + */ + @Override + @Transactional + public Page deviceScanStatus(Page page, DeviceScanDTO deviceScanDTO) throws Exception { + //查询委托书和样品关联表中的各状态的样品 + Page deviceScanVOPage = orderSampleRelationMapper.deviceScanStatus(page, deviceScanDTO); + for (DeviceScanVO deviceScanVO : deviceScanVOPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(deviceScanVO); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + /** * 进行已收入分页的当前环节回填、出具证书回填 */ @@ -317,7 +335,7 @@ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { if (!INSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment =OUT_UNDERTAKE; + String currentSegment = OUT_UNDERTAKE; dispatchVO.setCurrentSegment(currentSegment); dispatchVO.setIsSelfMeasure(false); return true; @@ -357,7 +375,7 @@ } private boolean incomeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { - if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + if (statusChangeDTO.getStatus().equals(TO_HANDOUT)) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); @@ -365,7 +383,7 @@ Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); if (orderSampleRelationOptional.isPresent()) { BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); - if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + if (businessOrderSampleRelation.getSampleStatus().equals(TO_RECEIVE)) { BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); @@ -376,4 +394,44 @@ return true; } + /** + * 是归还状态,填写归还时间 + * + * @param statusChangeDTO + * @return + */ + private boolean giveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(GIVE_BACK_COMPLETE)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setReturnTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + return true; + } + + private void toGiveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_GIVE_BACK)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_HANDOUT) + || businessOrderSampleRelation.getSampleStatus().equals(IN_MEASURE) + || businessOrderSampleRelation.getSampleStatus().equals(MEASURE_COMPLETE)) { + if (statusChangeDTO.getStatus().equals(COMPLETE)) { + this.updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); + } + } + } + } + } + + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index 8e9644b..82d0530 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -10,10 +10,8 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; @@ -172,6 +170,31 @@ return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } + @Override + public Page listPageByOrder(Page page, OrderSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByOrder(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageByInterchange(Page page, InterchangeSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByInterchange(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageBySubpackage(Page page, SubpackageSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageBySubpackage(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", sampleId) 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 cbf2cf5..0c8b726 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 @@ -2,9 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import javax.servlet.http.HttpServletResponse; @@ -21,5 +19,8 @@ ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO); + Page deviceScanStatus(Page page,DeviceScanDTO deviceScanDTO) throws Exception ; + + ReturnDTO remindWorker(DeviceStatusChangeDTO deviceStatusChangeDTO); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java index 50ca6e2..97d106b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java @@ -31,6 +31,4 @@ void exportExchange(InterchangeListRequest request, HttpServletResponse response); - Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception; - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java index d5d00ee..36f7a4f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java @@ -2,11 +2,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.model.customer.CustomerSampleInfo; import javax.servlet.http.HttpServletResponse; @@ -31,7 +28,12 @@ Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest); + Page listPageByOrder(Page page, OrderSampleListRequest request) throws Exception; + + Page listPageByInterchange(Page page, InterchangeSampleListRequest request) throws Exception; + + Page listPageBySubpackage(Page page, SubpackageSampleListRequest request) throws Exception; /** * 根据 委托书id、样品编号、样品名称查询样品信息(分页) * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java index bde219c..6abd3af 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java @@ -64,12 +64,8 @@ * 文件自定义名称参数构建器 */ protected void customizedSignNamesParamCreator() { - keyParamList.add("发起人"); - keyParamList.add("审批中"); - keyParamList.add("审批完成"); - customizedSignNames.add("发起人"); - customizedSignNames.add("核验人"); - customizedSignNames.add("批准人"); + keyParamList=Arrays.asList("发起人","审批中","审批完成"); + customizedSignNames=Arrays.asList("发起人","核验人","批准人"); } /** 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 da43bd4..2eadcdb 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 @@ -7,9 +7,7 @@ import com.casic.missiles.core.page.PageInfoBT; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.business.BusinessOrder; @@ -17,6 +15,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -24,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.util.Collections; import java.util.Objects; /** @@ -71,6 +71,15 @@ return bizDispatchService.statusChange(deviceReceiveDTO); } + @ApiOperation("设备标签") + @PostMapping("/scan/listPage") + public ReturnDTO> deviceScanStatus(@RequestBody @Valid DeviceScanDTO deviceScanDTO)throws Exception { + Assert.isFalse(CollectionUtils.isEmpty(deviceScanDTO.getLabels()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(bizDispatchService.deviceScanStatus(page,deviceScanDTO)); + } /** * 设备终止,,同时要进行终止原因的回填 */ @@ -83,6 +92,8 @@ return bizDispatchService.forcedTerminate(deviceReceiveDTO); } + + /** * 催办会产生催办消息,对相关操作人员进行消息提示 */ diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java index 481f92e..c925e6e 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessInterchangeController.java @@ -99,15 +99,4 @@ bizExchangeService.exportExchange(request, response); } - - @ApiOperation("样品列表") - @PostMapping("/sampleList") - public ReturnDTO> exchangeSampleList(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception{ - if (bindingResult.hasErrors()) { - throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); - } - Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(bizExchangeService.exchangeSampleList(page, request))); - } - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java index 16d1465..604fb64 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerSampleController.java @@ -8,11 +8,8 @@ import com.casic.missiles.dto.IdDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.customer.CustomerSampleInfo; @@ -51,7 +48,7 @@ @ApiOperation("样品新增") @PostMapping("/add") - public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult)throws Exception { + public ReturnDTO addSample(@RequestBody @Valid CustomerSampleInfo customerSampleInfo, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } @@ -100,4 +97,35 @@ return ReturnUtil.success(super.packForBT(customerSampleService.measureRecordsById(customerSampleIdRequest))); } + @ApiOperation("样品列表(委托书页面)") + @PostMapping("/listPageByOrder") + public ReturnDTO> listPageByOrder(@RequestBody @Valid OrderSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByOrder(page, request))); + } + + @ApiOperation("样品列表(交接单页面)") + @PostMapping("/listPageByInterchange") + public ReturnDTO> listPageByInterchange(@RequestBody @Valid InterchangeSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageByInterchange(page, request))); + } + + @ApiOperation("样品列表(分包页面)") + @PostMapping("/listPageBySubpackage") + public ReturnDTO> listPageBySubpackage(@RequestBody @Valid SubpackageSampleListRequest request, BindingResult bindingResult) throws Exception { + if (bindingResult.hasErrors()) { + throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); + } + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(customerSampleService.listPageBySubpackage(page, request))); + } + + } diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java index 168a4c8..e152b28 100644 --- a/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java +++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/sample/SampleStatusEnum.java @@ -12,6 +12,7 @@ String MEASURE_COMPLETE = "4"; //检测完 String TO_GIVE_BACK = "5"; //待归还 String GIVE_BACK_COMPLETE = "6"; //已归还 + String NO_NEED_MEASURE = "7"; //无需检测 String BE_OVERDUE = "8"; //超期 } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java index ee36461..493fcf2 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessInterchangeMapper.java @@ -21,8 +21,6 @@ List selectInterchangeListPage(@Param("page") Page page, @Param("request") InterchangeListRequest request); - List exchangeSampleList(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); - BusinessInterchangeDetailResponse getInfoById(@Param("id")Long id); Long selectMaxExchangeNo(); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index bddf56f..2680670 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -7,6 +7,8 @@ import com.casic.missiles.dto.business.SampleHandOutListResponse; import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; +import com.casic.missiles.dto.business.dispatch.DeviceScanDTO; +import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.model.business.BusinessOrderSampleRelation; import org.apache.ibatis.annotations.Param; @@ -27,6 +29,7 @@ Page getSampleListByStatus(@Param("page") Page page, @Param("request") DeviceDispatchDTO request); + Page deviceScanStatus(@Param("page") Page page, @Param("request") DeviceScanDTO request); SampleHandOutDetailResponse selectSampleDetail(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); int updateByOrderIdAndSampleId(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId, @Param("status") String status); diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java index 2b5c96f..7d180d1 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/customer/CustomerSampleMapper.java @@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.model.customer.CustomerSampleInfo; import org.apache.ibatis.annotations.Param; +import java.util.List; + public interface CustomerSampleMapper extends BaseMapper { Long selectMaxSampleNo(); - Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); + Page measureRecordsById(Page page, @Param("request") CustomerSampleIdRequest customerSampleIdRequest); Page samplesByOderId(Page page, @@ -21,4 +22,14 @@ @Param("sampleNo") String sampleNo, @Param("sampleName") String sampleName); + List listPageByOrder(@Param("page") Page page, @Param("request") OrderSampleListRequest request); + + + List listPageByInterchange(@Param("page") Page page, @Param("request") InterchangeSampleListRequest request); + + + List listPageBySubpackage(@Param("page") Page page, @Param("request") SubpackageSampleListRequest request); + + + } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml index 7b48432..2d42e48 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessInterchangeMapper.xml @@ -86,36 +86,6 @@ FROM business_interchange - - + + + - SELECT IFNULL(MAX(RIGHT(sample_no, 12)), 0) + SELECT IFNULL(MAX(RIGHT (sample_no, 12)), 0) FROM customer_sample_info @@ -43,8 +43,7 @@ + + + + + + + + (SELECT sample_id + FROM business_lab_executive_info + WHERE measure_status = '3' + OR measure_status = '4' + OR measure_status = '5') + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java index f464b93..a4b3d8d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceDispatchVO.java @@ -76,6 +76,12 @@ @ExcelProperty(value = "实际送达时间", order = 10) private String realDeliverTime; + //数据库暂时没有字段 + @ApiModelProperty(value = "样品归还时间", dataType = "String") + @ExcelProperty(value = "样品归还时间", order = 10) + private String returnTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") @ExcelProperty(value = "样品所属", order = 11) private String sampleBelong; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java new file mode 100644 index 0000000..c2a518e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanDTO.java @@ -0,0 +1,18 @@ +package com.casic.missiles.dto.business.dispatch; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +@ApiModel("设备扫描参数") +public class DeviceScanDTO { + + @NotNull + @ApiModelProperty("标签列表") + private List labels; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java new file mode 100644 index 0000000..88fcec4 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceScanVO.java @@ -0,0 +1,78 @@ +package com.casic.missiles.dto.business.dispatch; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel("样品扫描列表") +@Data +public class DeviceScanVO { + + + private static final long serialVersionUID = 1L; + + private Long id; + + private Long orderId; + + private Long sampleId; + + @ApiModelProperty(value = "样品状态", dataType = "String") + @DictCodeField(message = "样品状态不合法", cacheName = MeterDictCode.SAMPLE_STATUS) + private String sampleStatus; + + @ApiModelProperty(value = "样品状态", dataType = "String") + private String sampleStatusName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "要求检完时间", dataType = "String") + private String requireOverTime; + + @ApiModelProperty(value = "送检人", dataType = "String") + private String deliverer; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "委托书名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "计划送达时间", dataType = "String") + private String planDeliverTime; + + //数据库暂时没有字段 + @ApiModelProperty(value = "实际送达时间", dataType = "String") + private String realDeliverTime; + + @ApiModelProperty(value = "样品所属", dataType = "String") + @ExcelProperty(value = "样品所属", order = 11) + private String sampleBelong; + + @ApiModelProperty(value = "是否加急", dataType = "Integer") + private Integer isUrgent; + + @ApiModelProperty(value = "是否自检", dataType = "boolean") + private Boolean isSelfMeasure; + + @JSONField(serialize = false) + private Integer measureType; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java index 9fc56ae..30b79d2 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/dispatch/DeviceStatusChangeDTO.java @@ -14,7 +14,7 @@ @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; - @ApiModelProperty(value = "状态变更(无需检测状态7,收入状态2,归还6,回退状态1,2,5,终止6)", dataType = "String") + @ApiModelProperty(value = "状态变更(无需检测状态7,前进状态2、5、6,回退状态1,2,5)", dataType = "String") private String status; @ApiModelProperty(value = "操作原因(终止操作必填,其他无需填写)", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java deleted file mode 100644 index 0fec67d..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListRequest.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; - -@Data -public class InterchangeSampleListRequest { - - @ApiModelProperty(value = "客户id", dataType = "String") - @NotBlank(message = "客户id不能为空") - private String customerId; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java deleted file mode 100644 index d68cf6c..0000000 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/interchange/InterchangeSampleListResponse.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.casic.missiles.dto.business.interchange; - -import com.casic.missiles.annotation.DictCodeField; -import com.casic.missiles.constants.MeterDictCode; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel("样品列表(交接单引用实现)") -public class InterchangeSampleListResponse { - - @ApiModelProperty(value = "委托书id", dataType = "String") - private Long orderId; - - @ApiModelProperty(value = "委托书代码", dataType = "String") - private String customer; - - @ApiModelProperty(value = "委托方代码", dataType = "String") - private String customerNo; - - @ApiModelProperty(value = "样品id", dataType = "String") - private Long sampleId; - - @ApiModelProperty(value = "样品名称", dataType = "String") - private String sampleName; - - @ApiModelProperty(value = "样品编号", dataType = "String") - private String sampleNo; - - @ApiModelProperty(value = "上次检定时间", dataType = "String") - private String measureLastTime; - - @ApiModelProperty(value = "样品型号", dataType = "String") - private String sampleModel; - - @ApiModelProperty(value = "出厂编号", dataType = "String") - private String manufacturingNo; - - @ApiModelProperty(value = "附件说明", dataType = "String") - private String appendixDescn; - - @ApiModelProperty(value = "检定要求", dataType = "Integer") - private String measureContent; - - @ApiModelProperty(value = "外观", dataType = "String") - private String remark; - - @ApiModelProperty(value = "样品状态", dataType = "String") - @DictCodeField(message = "样品状态描述不合法", cacheName = MeterDictCode.SAMPLE_STATUS) - private String sampleStatus; - - @ApiModelProperty(value = "样品状态", dataType = "String") - private String sampleStatusName; - - @ApiModelProperty(value = "委托方名称", dataType = "String") - private String customerName; - - @ApiModelProperty(value = "检定周期", dataType = "String") - private String measurePeriod; - - @ApiModelProperty(value = "证书过期时间", dataType = "String") - private String validDeadline; - -} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java index 9cf2e13..079f275 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/order/OrderListRequest.java @@ -31,12 +31,14 @@ @ApiModelProperty(value = "委托书开始时间", dataType = "String") private String startTime; + @ApiModelProperty(value = "委托书结束时间", dataType = "String") + private String endTime; + /** * 导出ids */ @ApiModelProperty(value = "导出ids(查询不用传)", dataType = "List") private List ids; - @ApiModelProperty(value = "委托书结束时间", dataType = "String") - private String endTime; + } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java new file mode 100644 index 0000000..7b071a0 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/InterchangeSampleListRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 多项数据样品列表,适用于多种场景 + * 这里的样品的列表数据不存在太多,s + */ +@Data +@ApiModel("交接单页面样品列表请求参数") +public class InterchangeSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java new file mode 100644 index 0000000..dfcff9e --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/MultiItemSampleListResponse.java @@ -0,0 +1,52 @@ +package com.casic.missiles.dto.customer.sample; + +import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.constants.MeterDictCode; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel("多场景样品列表") +public class MultiItemSampleListResponse { + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "上次检定时间", dataType = "String") + private String measureLastTime; + + @ApiModelProperty(value = "样品型号", dataType = "String") + private String sampleModel; + + @ApiModelProperty(value = "出厂编号", dataType = "String") + private String manufacturingNo; + + @ApiModelProperty(value = "附件说明", dataType = "String") + private String appendixDescn; + + @ApiModelProperty(value = "检定要求", dataType = "Integer") + private String measureContent; + + @ApiModelProperty(value = "外观", dataType = "String") + private String remark; + + @ApiModelProperty(value = "检定周期", dataType = "String") + private String measurePeriod; + + @ApiModelProperty(value = "证书过期时间", dataType = "String") + private String validDeadline; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java new file mode 100644 index 0000000..6e5584f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/OrderSampleListRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("委托书页面样品列表请求参数") +public class OrderSampleListRequest { + + @ApiModelProperty(value = "委托方id", dataType = "String") + private String customerId; + + @ApiModelProperty(value = "委托方编号", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托书id(编辑状态必传)", dataType = "String") + private String orderId; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java new file mode 100644 index 0000000..b7ead9a --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/sample/SubpackageSampleListRequest.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.customer.sample; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +@Data +@ApiModel("分包页面样品列表请求参数") +public class SubpackageSampleListRequest { + + @ApiModelProperty(value = "样品编号", dataType = "String") + private String sampleNo; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方代码", dataType = "String") + private String customerNo; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @ApiModelProperty(value = "委托书编号", dataType = "String") + private String orderCode; + + @ApiModelProperty(value = "开始时间", dataType = "String") + private String startTime; + + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9a49e2c..42c618f 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -72,6 +72,12 @@ private String realDeliverTime; /** + * 归还时间 + */ + @TableField("return_time") + private String returnTime; + + /** * 标价-财务产值业务结算使用 */ @TableField("posted_price") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index facc923..9647d33 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -147,5 +147,9 @@ @TableField(exist = false) @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") + private String sampleStatus; + + @TableField(exist = false) + @ApiModelProperty(value = "是否存在样品库(0-不存在,1-存在)", dataType = "String") private String isExistSample; } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java index 56d89b6..ca6cd6f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessInterchangeServiceImpl.java @@ -137,15 +137,6 @@ } } - @Override - public Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception { - page.setRecords(this.baseMapper.exchangeSampleList(page, request)); - for (InterchangeSampleListResponse sampleListResponse : page.getRecords()) { - DictCodeUtils.convertDictCodeToName(sampleListResponse); - } - return page; - } - private void initFlushEmpty(InterchangeListRequest request) { request.setEndTime(null); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 5264fab..3fd6219 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -94,6 +94,7 @@ for (BusinessOrderSampleRelation orderSample : orderSampleList) { CustomerSampleInfo customerSampleInfo = customerSampleService.sampleDetail(orderSample.getSampleId()); if (null != customerSampleInfo) { + customerSampleInfo.setSampleStatus(orderSample.getSampleStatus()); customerSampleInfo.setIsExistSample("1"); customerSampleList.add(customerSampleInfo); } 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 e7ed7fe..bfc1dca 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 @@ -11,9 +11,7 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.business.HandOutLabExecutiveDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import com.casic.missiles.enums.*; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.business.MeasureStatusEnum; @@ -29,6 +27,7 @@ import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.model.workbench.WorkbenchRemindMessage; import com.casic.missiles.service.business.IBusinessDispatchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -145,12 +144,15 @@ @Override @Transactional public ReturnDTO statusChange(DeviceStatusChangeDTO deviceStatusChangeDTO) { + //涉及实际送达时间,需判断前置为待收入转入的 boolean incomeStatusFlag = incomeStatusChange(deviceStatusChangeDTO); - if (deviceStatusChangeDTO.getStatus().equals(COMPLETE)) { - this.updateLabExecutiveInfo(deviceStatusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); - } + //涉及归还时间 + boolean giveBackStatusFlag = giveBackStatusChange(deviceStatusChangeDTO); + //完成状态 + toGiveBackStatusChange(deviceStatusChangeDTO); + //状态变更 Integer updateFlag = this.statusChangeUpdator(deviceStatusChangeDTO, false); - if (updateFlag > 0 && incomeStatusFlag) { + if (updateFlag > 0 && incomeStatusFlag && giveBackStatusFlag) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -171,6 +173,22 @@ throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + + /** + * 1、通过可更新状态查询前置状态 + * 2、根据前置状态对标签进行筛选 + */ + @Override + @Transactional + public Page deviceScanStatus(Page page, DeviceScanDTO deviceScanDTO) throws Exception { + //查询委托书和样品关联表中的各状态的样品 + Page deviceScanVOPage = orderSampleRelationMapper.deviceScanStatus(page, deviceScanDTO); + for (DeviceScanVO deviceScanVO : deviceScanVOPage.getRecords()) { + DictCodeUtils.convertDictCodeToName(deviceScanVO); + } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); + } + /** * 进行已收入分页的当前环节回填、出具证书回填 */ @@ -317,7 +335,7 @@ private boolean notSelfMeasure(DeviceDispatchVO dispatchVO) { if (!ObjectUtils.isEmpty(dispatchVO.getMeasureType())) { if (!INSIDE_MEASURE.equals(String.valueOf(dispatchVO.getMeasureType()))) { - String currentSegment =OUT_UNDERTAKE; + String currentSegment = OUT_UNDERTAKE; dispatchVO.setCurrentSegment(currentSegment); dispatchVO.setIsSelfMeasure(false); return true; @@ -357,7 +375,7 @@ } private boolean incomeStatusChange(DeviceStatusChangeDTO statusChangeDTO) { - if (statusChangeDTO.getStatus().equals(TO_INCOME)) { + if (statusChangeDTO.getStatus().equals(TO_HANDOUT)) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); @@ -365,7 +383,7 @@ Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); if (orderSampleRelationOptional.isPresent()) { BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); - if (businessOrderSampleRelation.getSampleStatus().equals(TO_ALLOCATE)) { + if (businessOrderSampleRelation.getSampleStatus().equals(TO_RECEIVE)) { BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); businessOrderSample.setRealDeliverTime(DateUtil.format(new Date(), "yyyy-MM-dd")); int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); @@ -376,4 +394,44 @@ return true; } + /** + * 是归还状态,填写归还时间 + * + * @param statusChangeDTO + * @return + */ + private boolean giveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(GIVE_BACK_COMPLETE)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + BusinessOrderSampleRelation businessOrderSample = new BusinessOrderSampleRelation(); + businessOrderSample.setReturnTime(DateUtil.format(new Date(), "yyyy-MM-dd")); + int updateFlag = this.orderSampleRelationMapper.update(businessOrderSample, queryWrapper); + return updateFlag > 0 ? true : false; + } + return true; + } + + private void toGiveBackStatusChange(DeviceStatusChangeDTO statusChangeDTO) { + if (statusChangeDTO.getStatus().equals(TO_GIVE_BACK)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_id", statusChangeDTO.getOrderId()); + queryWrapper.eq("sample_id", statusChangeDTO.getSampleId()); + List orderSampleRelationList = this.orderSampleRelationMapper.selectList(queryWrapper); + Optional orderSampleRelationOptional = orderSampleRelationList.stream().findFirst(); + if (orderSampleRelationOptional.isPresent()) { + BusinessOrderSampleRelation businessOrderSampleRelation = orderSampleRelationOptional.get(); + if (businessOrderSampleRelation.getSampleStatus().equals(TO_HANDOUT) + || businessOrderSampleRelation.getSampleStatus().equals(IN_MEASURE) + || businessOrderSampleRelation.getSampleStatus().equals(MEASURE_COMPLETE)) { + if (statusChangeDTO.getStatus().equals(COMPLETE)) { + this.updateLabExecutiveInfo(statusChangeDTO, MeasureStatusEnum.MEASURE_COMPLETE); + } + } + } + } + } + + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index 8e9644b..82d0530 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -10,10 +10,8 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.enums.PrefixCodeEnum; @@ -172,6 +170,31 @@ return this.baseMapper.samplesByOderId(page, orderId, sampleNo, sampleName); } + @Override + public Page listPageByOrder(Page page, OrderSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByOrder(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageByInterchange(Page page, InterchangeSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageByInterchange(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + + public Page listPageBySubpackage(Page page, SubpackageSampleListRequest request) throws Exception{ + page.setRecords(this.baseMapper.listPageBySubpackage(page, request)); + for (MultiItemSampleListResponse multiItemSampleResponse : page.getRecords()) { + DictCodeUtils.convertDictCodeToName(multiItemSampleResponse); + } + return page; + } + private BusinessOrderSampleRelation getSampleStatusById(Long sampleId) { QueryWrapper wrapper = new QueryWrapper() .eq("sample_id", sampleId) 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 cbf2cf5..0c8b726 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 @@ -2,9 +2,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchDTO; -import com.casic.missiles.dto.business.dispatch.DeviceDispatchVO; -import com.casic.missiles.dto.business.dispatch.DeviceStatusChangeDTO; +import com.casic.missiles.dto.business.dispatch.*; import javax.servlet.http.HttpServletResponse; @@ -21,5 +19,8 @@ ReturnDTO forcedTerminate(DeviceStatusChangeDTO deviceStatusChangeDTO); + Page deviceScanStatus(Page page,DeviceScanDTO deviceScanDTO) throws Exception ; + + ReturnDTO remindWorker(DeviceStatusChangeDTO deviceStatusChangeDTO); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java index 50ca6e2..97d106b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessInterchangeService.java @@ -31,6 +31,4 @@ void exportExchange(InterchangeListRequest request, HttpServletResponse response); - Page exchangeSampleList(Page page, InterchangeSampleListRequest request) throws Exception; - } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java index d5d00ee..36f7a4f 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerSampleService.java @@ -2,11 +2,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.customer.CertificationResponse; +import com.casic.missiles.dto.customer.sample.*; import com.casic.missiles.dto.customer.MeasureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; import com.casic.missiles.model.customer.CustomerSampleInfo; import javax.servlet.http.HttpServletResponse; @@ -31,7 +28,12 @@ Page measureRecordsById(CustomerSampleIdRequest customerSampleIdRequest); + Page listPageByOrder(Page page, OrderSampleListRequest request) throws Exception; + + Page listPageByInterchange(Page page, InterchangeSampleListRequest request) throws Exception; + + Page listPageBySubpackage(Page page, SubpackageSampleListRequest request) throws Exception; /** * 根据 委托书id、样品编号、样品名称查询样品信息(分页) * diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java index bde219c..6abd3af 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileDataSupport.java @@ -64,12 +64,8 @@ * 文件自定义名称参数构建器 */ protected void customizedSignNamesParamCreator() { - keyParamList.add("发起人"); - keyParamList.add("审批中"); - keyParamList.add("审批完成"); - customizedSignNames.add("发起人"); - customizedSignNames.add("核验人"); - customizedSignNames.add("批准人"); + keyParamList=Arrays.asList("发起人","审批中","审批完成"); + customizedSignNames=Arrays.asList("发起人","核验人","批准人"); } /** diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java index b60febd..7dc234d 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/listeners/processor/register/PrintFileRegister.java @@ -91,10 +91,7 @@ /** * 从mini文件服务器下载文件,获取文件的读写权限,用户证书报告的生成 */ - private void downTemplateFile(String fileName, String templocalFileDir) { -// Properties properties = new Properties(); -// String bucketName = properties.getProperty("minio.bucketName"); -// MinioClient minioClient = SpringContextUtil.getBean(MinioClient.class); + private void downTemplateFile(String fileName, String tempLocalFileDir) { InputStream in = null; ByteArrayOutputStream out = null; try { @@ -103,7 +100,7 @@ IOUtils.copy(in, out); //封装返回值 byte[] bytes = out.toByteArray(); - FilePrintRegisterUtils.byteToFile(bytes, templocalFileDir, fileName); + FilePrintRegisterUtils.byteToFile(bytes, tempLocalFileDir, fileName); } catch (Exception e) { e.printStackTrace(); } finally {