diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml index 0e357fa..fe73951 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml @@ -57,7 +57,7 @@ and mpi.item_name like concat('%', #{request.priceItem}, '%') - and t1.id in + and mp.id in #{id} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml index 0e357fa..fe73951 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml @@ -57,7 +57,7 @@ and mpi.item_name like concat('%', #{request.priceItem}, '%') - and t1.id in + and mp.id in #{id} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java index 7eec3dc..70af45c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java @@ -45,6 +45,9 @@ @ApiModelProperty(value = "创建时间", dataType = "String") private String createTime; + @ApiModelProperty(value = "申请时间", dataType = "String") + private String applicantTime; + @ApiModelProperty(value = "分包项目申请审批状态类型-字典code", dataType = "String") private String applyApprovalStatus; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml index 0e357fa..fe73951 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml @@ -57,7 +57,7 @@ and mpi.item_name like concat('%', #{request.priceItem}, '%') - and t1.id in + and mp.id in #{id} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java index 7eec3dc..70af45c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java @@ -45,6 +45,9 @@ @ApiModelProperty(value = "创建时间", dataType = "String") private String createTime; + @ApiModelProperty(value = "申请时间", dataType = "String") + private String applicantTime; + @ApiModelProperty(value = "分包项目申请审批状态类型-字典code", dataType = "String") private String applyApprovalStatus; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java new file mode 100644 index 0000000..c8fd062 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 10:50 + */ +@ApiModel +@Data +public class SampleMeasureChartResponse { + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + + @ApiModelProperty(value = "数量", dataType = "Integer") + private Integer measureQuantity; + + @ApiModelProperty(value = "总数", dataType = "Integer") + private Integer totalQuantity; + + @ApiModelProperty(value = "占比", dataType = "String") + private String rate; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml index 0e357fa..fe73951 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml @@ -57,7 +57,7 @@ and mpi.item_name like concat('%', #{request.priceItem}, '%') - and t1.id in + and mp.id in #{id} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java index 7eec3dc..70af45c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java @@ -45,6 +45,9 @@ @ApiModelProperty(value = "创建时间", dataType = "String") private String createTime; + @ApiModelProperty(value = "申请时间", dataType = "String") + private String applicantTime; + @ApiModelProperty(value = "分包项目申请审批状态类型-字典code", dataType = "String") private String applyApprovalStatus; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java new file mode 100644 index 0000000..c8fd062 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 10:50 + */ +@ApiModel +@Data +public class SampleMeasureChartResponse { + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + + @ApiModelProperty(value = "数量", dataType = "Integer") + private Integer measureQuantity; + + @ApiModelProperty(value = "总数", dataType = "Integer") + private Integer totalQuantity; + + @ApiModelProperty(value = "占比", dataType = "String") + private String rate; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java new file mode 100644 index 0000000..0dbda1f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java @@ -0,0 +1,35 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 9:18 + */ +@ApiModel +@Data +public class SampleMeasureResponse { + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml index 0e357fa..fe73951 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml @@ -57,7 +57,7 @@ and mpi.item_name like concat('%', #{request.priceItem}, '%') - and t1.id in + and mp.id in #{id} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java index 7eec3dc..70af45c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java @@ -45,6 +45,9 @@ @ApiModelProperty(value = "创建时间", dataType = "String") private String createTime; + @ApiModelProperty(value = "申请时间", dataType = "String") + private String applicantTime; + @ApiModelProperty(value = "分包项目申请审批状态类型-字典code", dataType = "String") private String applyApprovalStatus; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java new file mode 100644 index 0000000..c8fd062 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 10:50 + */ +@ApiModel +@Data +public class SampleMeasureChartResponse { + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + + @ApiModelProperty(value = "数量", dataType = "Integer") + private Integer measureQuantity; + + @ApiModelProperty(value = "总数", dataType = "Integer") + private Integer totalQuantity; + + @ApiModelProperty(value = "占比", dataType = "String") + private String rate; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java new file mode 100644 index 0000000..0dbda1f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java @@ -0,0 +1,35 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 9:18 + */ +@ApiModel +@Data +public class SampleMeasureResponse { + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java index 75a4c19..cc1b39d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.business.workbench; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -8,9 +9,10 @@ * @Author: wangpeng * @Date: 2023/4/19 13:53 */ +@ApiModel @Data public class SampleMonitorResponse { - @ApiModelProperty(value = "样品id", dataType = "String") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @@ -26,7 +28,7 @@ private String nextSegment; @ApiModelProperty(value = "进度", dataType = "String") - private String progress; + private String progress = "0.00%"; @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml index 0e357fa..fe73951 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml @@ -57,7 +57,7 @@ and mpi.item_name like concat('%', #{request.priceItem}, '%') - and t1.id in + and mp.id in #{id} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java index 7eec3dc..70af45c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java @@ -45,6 +45,9 @@ @ApiModelProperty(value = "创建时间", dataType = "String") private String createTime; + @ApiModelProperty(value = "申请时间", dataType = "String") + private String applicantTime; + @ApiModelProperty(value = "分包项目申请审批状态类型-字典code", dataType = "String") private String applyApprovalStatus; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java new file mode 100644 index 0000000..c8fd062 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 10:50 + */ +@ApiModel +@Data +public class SampleMeasureChartResponse { + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + + @ApiModelProperty(value = "数量", dataType = "Integer") + private Integer measureQuantity; + + @ApiModelProperty(value = "总数", dataType = "Integer") + private Integer totalQuantity; + + @ApiModelProperty(value = "占比", dataType = "String") + private String rate; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java new file mode 100644 index 0000000..0dbda1f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java @@ -0,0 +1,35 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 9:18 + */ +@ApiModel +@Data +public class SampleMeasureResponse { + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java index 75a4c19..cc1b39d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.business.workbench; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -8,9 +9,10 @@ * @Author: wangpeng * @Date: 2023/4/19 13:53 */ +@ApiModel @Data public class SampleMonitorResponse { - @ApiModelProperty(value = "样品id", dataType = "String") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @@ -26,7 +28,7 @@ private String nextSegment; @ApiModelProperty(value = "进度", dataType = "String") - private String progress; + private String progress = "0.00%"; @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java index f9e2b4b..2d3b431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java @@ -43,7 +43,7 @@ private String priceName; @TableField("check_type") - @ExcelProperty(value = "校验类型") +// @ExcelProperty(value = "校验类型") @ApiModelProperty(value = "校验类型-字典value", dataType = "String") private String checkType; @@ -88,7 +88,7 @@ private String priceDescription; @TableField("operator_discount_permission") - @ExcelProperty(value = "业务员折扣权限") +// @ExcelProperty(value = "业务员折扣权限") @ApiModelProperty(value = "业务员折扣权限-字典value", dataType = "String") private String operatorDiscountPermission; @@ -98,7 +98,7 @@ private String operatorDiscountPermissionName; @TableField("director_discount_permission") - @ExcelProperty(value = "负责人折扣权限") +// @ExcelProperty(value = "负责人折扣权限") @ApiModelProperty(value = "负责人折扣权限-字典value", dataType = "String") private String directorDiscountPermission; @@ -116,7 +116,7 @@ private Integer isDel; @TableField("model") - @ExcelProperty(value = "型号",order = 3) +// @ExcelProperty(value = "型号",order = 3) @ApiModelProperty(value = "型号", dataType = "String") private String model; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml index 0e357fa..fe73951 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml @@ -57,7 +57,7 @@ and mpi.item_name like concat('%', #{request.priceItem}, '%') - and t1.id in + and mp.id in #{id} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java index 7eec3dc..70af45c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java @@ -45,6 +45,9 @@ @ApiModelProperty(value = "创建时间", dataType = "String") private String createTime; + @ApiModelProperty(value = "申请时间", dataType = "String") + private String applicantTime; + @ApiModelProperty(value = "分包项目申请审批状态类型-字典code", dataType = "String") private String applyApprovalStatus; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java new file mode 100644 index 0000000..c8fd062 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 10:50 + */ +@ApiModel +@Data +public class SampleMeasureChartResponse { + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + + @ApiModelProperty(value = "数量", dataType = "Integer") + private Integer measureQuantity; + + @ApiModelProperty(value = "总数", dataType = "Integer") + private Integer totalQuantity; + + @ApiModelProperty(value = "占比", dataType = "String") + private String rate; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java new file mode 100644 index 0000000..0dbda1f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java @@ -0,0 +1,35 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 9:18 + */ +@ApiModel +@Data +public class SampleMeasureResponse { + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java index 75a4c19..cc1b39d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.business.workbench; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -8,9 +9,10 @@ * @Author: wangpeng * @Date: 2023/4/19 13:53 */ +@ApiModel @Data public class SampleMonitorResponse { - @ApiModelProperty(value = "样品id", dataType = "String") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @@ -26,7 +28,7 @@ private String nextSegment; @ApiModelProperty(value = "进度", dataType = "String") - private String progress; + private String progress = "0.00%"; @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java index f9e2b4b..2d3b431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java @@ -43,7 +43,7 @@ private String priceName; @TableField("check_type") - @ExcelProperty(value = "校验类型") +// @ExcelProperty(value = "校验类型") @ApiModelProperty(value = "校验类型-字典value", dataType = "String") private String checkType; @@ -88,7 +88,7 @@ private String priceDescription; @TableField("operator_discount_permission") - @ExcelProperty(value = "业务员折扣权限") +// @ExcelProperty(value = "业务员折扣权限") @ApiModelProperty(value = "业务员折扣权限-字典value", dataType = "String") private String operatorDiscountPermission; @@ -98,7 +98,7 @@ private String operatorDiscountPermissionName; @TableField("director_discount_permission") - @ExcelProperty(value = "负责人折扣权限") +// @ExcelProperty(value = "负责人折扣权限") @ApiModelProperty(value = "负责人折扣权限-字典value", dataType = "String") private String directorDiscountPermission; @@ -116,7 +116,7 @@ private Integer isDel; @TableField("model") - @ExcelProperty(value = "型号",order = 3) +// @ExcelProperty(value = "型号",order = 3) @ApiModelProperty(value = "型号", dataType = "String") private String model; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java index d5854fa..5e92634 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java @@ -1,19 +1,34 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.business.labExecutive.MeasureProcessDTO; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessLabExecutiveInfoMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.mapper.meter.MeterStaffMapper; +import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.BusinessWorkbenchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; @@ -29,11 +44,12 @@ private BusinessOrderSampleRelationMapper orderSampleRelationMapper; @Autowired private BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; + @Autowired + private MeterStaffMapper staffMapper; @Override - public Page sampleMonitor(Page page) { + public Page sampleMonitorListPage(Page page) { Page sampleList = orderSampleRelationMapper.selectSampleMonitorListByStatus(page, SampleStatusEnum.IN_MEASURE); - //获取当前检测实验室及下一检测实验室 List records = sampleList.getRecords(); if(CollectionUtils.isEmpty(records)){ return new Page<>(); @@ -47,9 +63,9 @@ return; } List statusList = new ArrayList<>(); - statusList.add(SampleStatusEnum.TO_HANDOUT); - statusList.add(SampleStatusEnum.IN_MEASURE); - statusList.add(SampleStatusEnum.MEASURE_COMPLETE); + statusList.add(MeasureStatusEnum.TO_ALLOCATE); + statusList.add(MeasureStatusEnum.TO_MEASURE); + statusList.add(MeasureStatusEnum.IN_MEASURE); measureProcessDTOS.forEach(measureProcessDTO -> { if(statusList.contains(measureProcessDTO.getMeasureStatus())){ sample.setCurrentSegment(measureProcessDTO.getMeasureSegment()); @@ -57,11 +73,94 @@ return; } }); - MeasureProcessDTO measureProcessDTO = measureProcessDTOS.stream().filter(s -> sample.getCurrentNo().equals(s.getMeasureSequence())).collect(Collectors.toList()).get(0); - if(Objects.nonNull(measureProcessDTO)){ - sample.setNextSegment(measureProcessDTO.getMeasureSegment()); + if(Objects.isNull(sample.getCurrentSegment())){ + return; + } + //获取当前检测实验室及下一检测实验室 + List collect = measureProcessDTOS.stream().filter(s -> { + if (Objects.isNull(s.getMeasureSequence()) || Objects.isNull(sample.getCurrentNo())) { + return false; + } + Integer nextNo = sample.getCurrentNo() + 1; + return nextNo.equals(s.getMeasureSequence()); + }).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(collect)){ + sample.setNextSegment(collect.get(0).getMeasureSegment()); + int size = measureProcessDTOS.size(); + //计算进度 + String progress = BigDecimal.valueOf(sample.getCurrentNo()).multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(size), 2, BigDecimal.ROUND_HALF_UP).toPlainString() + "%"; + sample.setProgress(progress); } }); return sampleList; } + + @Override + public Page sampleMeasureListPage(Page page) throws Exception { + AuthUser authUser = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(authUser), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + MeterStaff meterStaff = getMeterStaffInfo(authUser); + Page sampleMeasurePage = new Page<>(); + //计量人员只能查看自己的检测样品 + if(Objects.nonNull(meterStaff)) { + //实验室组长查看部门检测 + Map resultMap = selectDirectDept(authUser); + if(!CollectionUtils.isEmpty(resultMap) && Objects.nonNull(resultMap.get("deptId"))) { + Long deptId = (Long) resultMap.get("deptId"); + sampleMeasurePage = labExecutiveInfoMapper.selectListByDeptId(page, deptId); + }else { + //组员查看我的检测 + Long userId = meterStaff.getId(); + sampleMeasurePage = labExecutiveInfoMapper.selectListByUserId(page, userId); + } + }else { + //非计量人员可以查看全部的检测样品 + sampleMeasurePage = labExecutiveInfoMapper.selectAllList(page); + } + if(Objects.isNull(sampleMeasurePage) || CollectionUtils.isEmpty(sampleMeasurePage.getRecords())){ + return new Page<>(); + } + for (SampleMeasureResponse record : sampleMeasurePage.getRecords()) { + DictCodeUtils.convertDictMultiCodeToName(record); + } + return sampleMeasurePage; + } + + @Override + public List sampleMeasureChart() throws Exception { + //当月检测列表按待检测、检测中、检测完3种状态分组 + List list = labExecutiveInfoMapper.selectListGroupByStatus(); + if(CollectionUtils.isEmpty(list)) { + return new ArrayList<>(); + } + int sum = list.stream().mapToInt(s -> s.getMeasureQuantity()).sum(); + for (SampleMeasureChartResponse chartResponse : list) { + DictCodeUtils.convertDictMultiCodeToName(chartResponse); + chartResponse.setTotalQuantity(sum); + String rate = BigDecimal.valueOf(chartResponse.getMeasureQuantity()).multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(sum), 2, BigDecimal.ROUND_HALF_UP).toPlainString() + "%"; + chartResponse.setRate(rate); + } + return list; + } + + private MeterStaff getMeterStaffInfo(AuthUser user) { + String account = user.getAccount(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("account", account); + return staffMapper.selectOne(wrapper); + } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml index 0e357fa..fe73951 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml @@ -57,7 +57,7 @@ and mpi.item_name like concat('%', #{request.priceItem}, '%') - and t1.id in + and mp.id in #{id} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java index 7eec3dc..70af45c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java @@ -45,6 +45,9 @@ @ApiModelProperty(value = "创建时间", dataType = "String") private String createTime; + @ApiModelProperty(value = "申请时间", dataType = "String") + private String applicantTime; + @ApiModelProperty(value = "分包项目申请审批状态类型-字典code", dataType = "String") private String applyApprovalStatus; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java new file mode 100644 index 0000000..c8fd062 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 10:50 + */ +@ApiModel +@Data +public class SampleMeasureChartResponse { + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + + @ApiModelProperty(value = "数量", dataType = "Integer") + private Integer measureQuantity; + + @ApiModelProperty(value = "总数", dataType = "Integer") + private Integer totalQuantity; + + @ApiModelProperty(value = "占比", dataType = "String") + private String rate; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java new file mode 100644 index 0000000..0dbda1f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java @@ -0,0 +1,35 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 9:18 + */ +@ApiModel +@Data +public class SampleMeasureResponse { + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java index 75a4c19..cc1b39d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.business.workbench; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -8,9 +9,10 @@ * @Author: wangpeng * @Date: 2023/4/19 13:53 */ +@ApiModel @Data public class SampleMonitorResponse { - @ApiModelProperty(value = "样品id", dataType = "String") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @@ -26,7 +28,7 @@ private String nextSegment; @ApiModelProperty(value = "进度", dataType = "String") - private String progress; + private String progress = "0.00%"; @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java index f9e2b4b..2d3b431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java @@ -43,7 +43,7 @@ private String priceName; @TableField("check_type") - @ExcelProperty(value = "校验类型") +// @ExcelProperty(value = "校验类型") @ApiModelProperty(value = "校验类型-字典value", dataType = "String") private String checkType; @@ -88,7 +88,7 @@ private String priceDescription; @TableField("operator_discount_permission") - @ExcelProperty(value = "业务员折扣权限") +// @ExcelProperty(value = "业务员折扣权限") @ApiModelProperty(value = "业务员折扣权限-字典value", dataType = "String") private String operatorDiscountPermission; @@ -98,7 +98,7 @@ private String operatorDiscountPermissionName; @TableField("director_discount_permission") - @ExcelProperty(value = "负责人折扣权限") +// @ExcelProperty(value = "负责人折扣权限") @ApiModelProperty(value = "负责人折扣权限-字典value", dataType = "String") private String directorDiscountPermission; @@ -116,7 +116,7 @@ private Integer isDel; @TableField("model") - @ExcelProperty(value = "型号",order = 3) +// @ExcelProperty(value = "型号",order = 3) @ApiModelProperty(value = "型号", dataType = "String") private String model; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java index d5854fa..5e92634 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java @@ -1,19 +1,34 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.business.labExecutive.MeasureProcessDTO; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessLabExecutiveInfoMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.mapper.meter.MeterStaffMapper; +import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.BusinessWorkbenchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; @@ -29,11 +44,12 @@ private BusinessOrderSampleRelationMapper orderSampleRelationMapper; @Autowired private BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; + @Autowired + private MeterStaffMapper staffMapper; @Override - public Page sampleMonitor(Page page) { + public Page sampleMonitorListPage(Page page) { Page sampleList = orderSampleRelationMapper.selectSampleMonitorListByStatus(page, SampleStatusEnum.IN_MEASURE); - //获取当前检测实验室及下一检测实验室 List records = sampleList.getRecords(); if(CollectionUtils.isEmpty(records)){ return new Page<>(); @@ -47,9 +63,9 @@ return; } List statusList = new ArrayList<>(); - statusList.add(SampleStatusEnum.TO_HANDOUT); - statusList.add(SampleStatusEnum.IN_MEASURE); - statusList.add(SampleStatusEnum.MEASURE_COMPLETE); + statusList.add(MeasureStatusEnum.TO_ALLOCATE); + statusList.add(MeasureStatusEnum.TO_MEASURE); + statusList.add(MeasureStatusEnum.IN_MEASURE); measureProcessDTOS.forEach(measureProcessDTO -> { if(statusList.contains(measureProcessDTO.getMeasureStatus())){ sample.setCurrentSegment(measureProcessDTO.getMeasureSegment()); @@ -57,11 +73,94 @@ return; } }); - MeasureProcessDTO measureProcessDTO = measureProcessDTOS.stream().filter(s -> sample.getCurrentNo().equals(s.getMeasureSequence())).collect(Collectors.toList()).get(0); - if(Objects.nonNull(measureProcessDTO)){ - sample.setNextSegment(measureProcessDTO.getMeasureSegment()); + if(Objects.isNull(sample.getCurrentSegment())){ + return; + } + //获取当前检测实验室及下一检测实验室 + List collect = measureProcessDTOS.stream().filter(s -> { + if (Objects.isNull(s.getMeasureSequence()) || Objects.isNull(sample.getCurrentNo())) { + return false; + } + Integer nextNo = sample.getCurrentNo() + 1; + return nextNo.equals(s.getMeasureSequence()); + }).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(collect)){ + sample.setNextSegment(collect.get(0).getMeasureSegment()); + int size = measureProcessDTOS.size(); + //计算进度 + String progress = BigDecimal.valueOf(sample.getCurrentNo()).multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(size), 2, BigDecimal.ROUND_HALF_UP).toPlainString() + "%"; + sample.setProgress(progress); } }); return sampleList; } + + @Override + public Page sampleMeasureListPage(Page page) throws Exception { + AuthUser authUser = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(authUser), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + MeterStaff meterStaff = getMeterStaffInfo(authUser); + Page sampleMeasurePage = new Page<>(); + //计量人员只能查看自己的检测样品 + if(Objects.nonNull(meterStaff)) { + //实验室组长查看部门检测 + Map resultMap = selectDirectDept(authUser); + if(!CollectionUtils.isEmpty(resultMap) && Objects.nonNull(resultMap.get("deptId"))) { + Long deptId = (Long) resultMap.get("deptId"); + sampleMeasurePage = labExecutiveInfoMapper.selectListByDeptId(page, deptId); + }else { + //组员查看我的检测 + Long userId = meterStaff.getId(); + sampleMeasurePage = labExecutiveInfoMapper.selectListByUserId(page, userId); + } + }else { + //非计量人员可以查看全部的检测样品 + sampleMeasurePage = labExecutiveInfoMapper.selectAllList(page); + } + if(Objects.isNull(sampleMeasurePage) || CollectionUtils.isEmpty(sampleMeasurePage.getRecords())){ + return new Page<>(); + } + for (SampleMeasureResponse record : sampleMeasurePage.getRecords()) { + DictCodeUtils.convertDictMultiCodeToName(record); + } + return sampleMeasurePage; + } + + @Override + public List sampleMeasureChart() throws Exception { + //当月检测列表按待检测、检测中、检测完3种状态分组 + List list = labExecutiveInfoMapper.selectListGroupByStatus(); + if(CollectionUtils.isEmpty(list)) { + return new ArrayList<>(); + } + int sum = list.stream().mapToInt(s -> s.getMeasureQuantity()).sum(); + for (SampleMeasureChartResponse chartResponse : list) { + DictCodeUtils.convertDictMultiCodeToName(chartResponse); + chartResponse.setTotalQuantity(sum); + String rate = BigDecimal.valueOf(chartResponse.getMeasureQuantity()).multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(sum), 2, BigDecimal.ROUND_HALF_UP).toPlainString() + "%"; + chartResponse.setRate(rate); + } + return list; + } + + private MeterStaff getMeterStaffInfo(AuthUser user) { + String account = user.getAccount(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("account", account); + return staffMapper.selectOne(wrapper); + } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index ab30ff5..d9c0055 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -126,7 +126,7 @@ if(!CollectionUtils.isEmpty(meterPriceRequest.getIds())){ MeterPriceRequest request = new MeterPriceRequest(); request.setIds(meterPriceRequest.getIds()); - meterPrices = meterPriceMapper.queryPriceList(request); + meterPrices = supplementList(meterPriceMapper.queryPriceList(request)); }else{ meterPrices = supplementList(meterPriceMapper.queryPriceList(meterPriceRequest)); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java index c37446f..147a643 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/MinioFileController.java @@ -59,9 +59,10 @@ * 文件流下载(minio) */ @ApiOperation("文件流下载") - @PostMapping("/download/stream/{fileName}") + @PostMapping("/download/stream") + @CrossOrigin @ResponseBody - public void upload(@PathVariable(name = "fileName") String fileName, HttpServletResponse response) { + public void upload(@RequestParam(name = "fileName") String fileName, HttpServletResponse response) { minioUtil.downloadStream(fileName, response); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index d59e37d..d97e701 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java @@ -2,9 +2,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; 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.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; import com.casic.missiles.service.business.BusinessWorkbenchService; import io.swagger.annotations.Api; @@ -14,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Description: 业务管理-工作台 * @Author: wangpeng @@ -31,8 +36,28 @@ * 分页展示全部检测中样品(对应实验室待分配、待检测、检测中),按实验室记录时间排序 */ @ApiOperation("样品监控") - @GetMapping("/sample/monitor") - public ReturnDTO> sampleMonitor(Page page) { - return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitor(page))); + @GetMapping("/sample/monitor/listPage") + public ReturnDTO> sampleMonitorListPage() { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMonitorListPage(page))); } + + /** + * 样品检测 + * 列表:根据权限不同展示不同的当月检测样品列表 + * 占比图:不分权限展示所有的当月检测样品列表 + */ + @ApiOperation("样品检测列表") + @GetMapping("/sample/measure/listPage") + public ReturnDTO> sampleMeasureListPage() throws Exception { + Page page = PageFactory.defaultPage(); + return ReturnUtil.success(super.packForBT(workbenchService.sampleMeasureListPage(page))); + } + + @ApiOperation("样品检测占比图") + @GetMapping("/sample/measure/chart") + public ReturnDTO> sampleMeasureChart() throws Exception { + return ReturnUtil.success(workbenchService.sampleMeasureChart()); + } + } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java index d259dc5..cd934f9 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessLabExecutiveInfoMapper.java @@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.dto.business.labExecutive.*; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.model.business.BusinessLabExecutiveInfo; import org.apache.ibatis.annotations.Param; @@ -37,4 +39,12 @@ int updateForSendBack(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); Long selectMinSeq(@Param("orderId") Long orderId, @Param("sampleId") Long sampleId); + + Page selectListByDeptId(Page page, @Param("deptId") Long deptId); + + Page selectListByUserId(Page page, @Param("userId") Long userId); + + Page selectAllList(Page page); + + List selectListGroupByStatus(); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml index 2ed7843..5d2c2b1 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessLabExecutiveInfoMapper.xml @@ -205,4 +205,40 @@ AND sample_id = #{sampleId} + + + + + + + diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml index a1b9888..f3bfe90 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -303,7 +303,7 @@ JOIN customer_sample_info csi ON csi.id = bosr.sample_id WHERE bo.is_del = 0 AND bosr.measure_type = 1 - AND bosr.sample_status = #{request.sampleStatus} + AND bosr.sample_status = #{status} ORDER BY bosr.create_time DESC diff --git a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml index 0e357fa..fe73951 100644 --- a/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/meter/MeterPriceMapper.xml @@ -57,7 +57,7 @@ and mpi.item_name like concat('%', #{request.priceItem}, '%') - and t1.id in + and mp.id in #{id} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java index 7eec3dc..70af45c 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OutsourceProjectApprovalListResponse.java @@ -45,6 +45,9 @@ @ApiModelProperty(value = "创建时间", dataType = "String") private String createTime; + @ApiModelProperty(value = "申请时间", dataType = "String") + private String applicantTime; + @ApiModelProperty(value = "分包项目申请审批状态类型-字典code", dataType = "String") private String applyApprovalStatus; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java new file mode 100644 index 0000000..c8fd062 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureChartResponse.java @@ -0,0 +1,32 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 10:50 + */ +@ApiModel +@Data +public class SampleMeasureChartResponse { + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; + + @ApiModelProperty(value = "数量", dataType = "Integer") + private Integer measureQuantity; + + @ApiModelProperty(value = "总数", dataType = "Integer") + private Integer totalQuantity; + + @ApiModelProperty(value = "占比", dataType = "String") + private String rate; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java new file mode 100644 index 0000000..0dbda1f --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMeasureResponse.java @@ -0,0 +1,35 @@ +package com.casic.missiles.dto.business.workbench; + +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; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/4/20 9:18 + */ +@ApiModel +@Data +public class SampleMeasureResponse { + @ApiModelProperty(value = "样品id", dataType = "String") + private Long sampleId; + + @ApiModelProperty(value = "样品名称", dataType = "String") + private String sampleName; + + @ApiModelProperty(value = "委托方id", dataType = "Long") + private Long customerId; + + @ApiModelProperty(value = "委托方名称", dataType = "String") + private String customerName; + + @DictCodeField(message = "检定状态不合法", cacheName = MeterDictCode.MEASURE_STATUS) + @ApiModelProperty(value = "检定状态(字典code)", dataType = "String") + private String measureStatus; + + @ApiModelProperty(value = "检定状态(字典value)", dataType = "String") + private String measureStatusName; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java index 75a4c19..cc1b39d 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/workbench/SampleMonitorResponse.java @@ -1,5 +1,6 @@ package com.casic.missiles.dto.business.workbench; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -8,9 +9,10 @@ * @Author: wangpeng * @Date: 2023/4/19 13:53 */ +@ApiModel @Data public class SampleMonitorResponse { - @ApiModelProperty(value = "样品id", dataType = "String") + @ApiModelProperty(value = "样品id", dataType = "Long") private Long sampleId; @ApiModelProperty(value = "样品编号", dataType = "String") @@ -26,7 +28,7 @@ private String nextSegment; @ApiModelProperty(value = "进度", dataType = "String") - private String progress; + private String progress = "0.00%"; @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java index f9e2b4b..2d3b431 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/meter/MeterPrice.java @@ -43,7 +43,7 @@ private String priceName; @TableField("check_type") - @ExcelProperty(value = "校验类型") +// @ExcelProperty(value = "校验类型") @ApiModelProperty(value = "校验类型-字典value", dataType = "String") private String checkType; @@ -88,7 +88,7 @@ private String priceDescription; @TableField("operator_discount_permission") - @ExcelProperty(value = "业务员折扣权限") +// @ExcelProperty(value = "业务员折扣权限") @ApiModelProperty(value = "业务员折扣权限-字典value", dataType = "String") private String operatorDiscountPermission; @@ -98,7 +98,7 @@ private String operatorDiscountPermissionName; @TableField("director_discount_permission") - @ExcelProperty(value = "负责人折扣权限") +// @ExcelProperty(value = "负责人折扣权限") @ApiModelProperty(value = "负责人折扣权限-字典value", dataType = "String") private String directorDiscountPermission; @@ -116,7 +116,7 @@ private Integer isDel; @TableField("model") - @ExcelProperty(value = "型号",order = 3) +// @ExcelProperty(value = "型号",order = 3) @ApiModelProperty(value = "型号", dataType = "String") private String model; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java index d5854fa..5e92634 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessWorkbenchServiceImpl.java @@ -1,19 +1,34 @@ package com.casic.missiles.service.Impl.business; +import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.toolkit.SqlRunner; +import com.casic.missiles.core.model.auth.AuthUser; +import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.business.labExecutive.MeasureProcessDTO; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.enums.BusinessExceptionEnum; +import com.casic.missiles.enums.business.MeasureStatusEnum; import com.casic.missiles.enums.sample.SampleStatusEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessLabExecutiveInfoMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.mapper.meter.MeterStaffMapper; +import com.casic.missiles.model.meter.MeterStaff; import com.casic.missiles.service.business.BusinessWorkbenchService; +import com.casic.missiles.utils.DictCodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; @@ -29,11 +44,12 @@ private BusinessOrderSampleRelationMapper orderSampleRelationMapper; @Autowired private BusinessLabExecutiveInfoMapper labExecutiveInfoMapper; + @Autowired + private MeterStaffMapper staffMapper; @Override - public Page sampleMonitor(Page page) { + public Page sampleMonitorListPage(Page page) { Page sampleList = orderSampleRelationMapper.selectSampleMonitorListByStatus(page, SampleStatusEnum.IN_MEASURE); - //获取当前检测实验室及下一检测实验室 List records = sampleList.getRecords(); if(CollectionUtils.isEmpty(records)){ return new Page<>(); @@ -47,9 +63,9 @@ return; } List statusList = new ArrayList<>(); - statusList.add(SampleStatusEnum.TO_HANDOUT); - statusList.add(SampleStatusEnum.IN_MEASURE); - statusList.add(SampleStatusEnum.MEASURE_COMPLETE); + statusList.add(MeasureStatusEnum.TO_ALLOCATE); + statusList.add(MeasureStatusEnum.TO_MEASURE); + statusList.add(MeasureStatusEnum.IN_MEASURE); measureProcessDTOS.forEach(measureProcessDTO -> { if(statusList.contains(measureProcessDTO.getMeasureStatus())){ sample.setCurrentSegment(measureProcessDTO.getMeasureSegment()); @@ -57,11 +73,94 @@ return; } }); - MeasureProcessDTO measureProcessDTO = measureProcessDTOS.stream().filter(s -> sample.getCurrentNo().equals(s.getMeasureSequence())).collect(Collectors.toList()).get(0); - if(Objects.nonNull(measureProcessDTO)){ - sample.setNextSegment(measureProcessDTO.getMeasureSegment()); + if(Objects.isNull(sample.getCurrentSegment())){ + return; + } + //获取当前检测实验室及下一检测实验室 + List collect = measureProcessDTOS.stream().filter(s -> { + if (Objects.isNull(s.getMeasureSequence()) || Objects.isNull(sample.getCurrentNo())) { + return false; + } + Integer nextNo = sample.getCurrentNo() + 1; + return nextNo.equals(s.getMeasureSequence()); + }).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(collect)){ + sample.setNextSegment(collect.get(0).getMeasureSegment()); + int size = measureProcessDTOS.size(); + //计算进度 + String progress = BigDecimal.valueOf(sample.getCurrentNo()).multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(size), 2, BigDecimal.ROUND_HALF_UP).toPlainString() + "%"; + sample.setProgress(progress); } }); return sampleList; } + + @Override + public Page sampleMeasureListPage(Page page) throws Exception { + AuthUser authUser = ShiroKit.getUser(); + Assert.isFalse(Objects.isNull(authUser), () -> { + throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED); + }); + MeterStaff meterStaff = getMeterStaffInfo(authUser); + Page sampleMeasurePage = new Page<>(); + //计量人员只能查看自己的检测样品 + if(Objects.nonNull(meterStaff)) { + //实验室组长查看部门检测 + Map resultMap = selectDirectDept(authUser); + if(!CollectionUtils.isEmpty(resultMap) && Objects.nonNull(resultMap.get("deptId"))) { + Long deptId = (Long) resultMap.get("deptId"); + sampleMeasurePage = labExecutiveInfoMapper.selectListByDeptId(page, deptId); + }else { + //组员查看我的检测 + Long userId = meterStaff.getId(); + sampleMeasurePage = labExecutiveInfoMapper.selectListByUserId(page, userId); + } + }else { + //非计量人员可以查看全部的检测样品 + sampleMeasurePage = labExecutiveInfoMapper.selectAllList(page); + } + if(Objects.isNull(sampleMeasurePage) || CollectionUtils.isEmpty(sampleMeasurePage.getRecords())){ + return new Page<>(); + } + for (SampleMeasureResponse record : sampleMeasurePage.getRecords()) { + DictCodeUtils.convertDictMultiCodeToName(record); + } + return sampleMeasurePage; + } + + @Override + public List sampleMeasureChart() throws Exception { + //当月检测列表按待检测、检测中、检测完3种状态分组 + List list = labExecutiveInfoMapper.selectListGroupByStatus(); + if(CollectionUtils.isEmpty(list)) { + return new ArrayList<>(); + } + int sum = list.stream().mapToInt(s -> s.getMeasureQuantity()).sum(); + for (SampleMeasureChartResponse chartResponse : list) { + DictCodeUtils.convertDictMultiCodeToName(chartResponse); + chartResponse.setTotalQuantity(sum); + String rate = BigDecimal.valueOf(chartResponse.getMeasureQuantity()).multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(sum), 2, BigDecimal.ROUND_HALF_UP).toPlainString() + "%"; + chartResponse.setRate(rate); + } + return list; + } + + private MeterStaff getMeterStaffInfo(AuthUser user) { + String account = user.getAccount(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("account", account); + return staffMapper.selectOne(wrapper); + } + + private Map selectDirectDept(AuthUser user) { + Map resultMap = SqlRunner.db().selectOne( + "SELECT su.DEPT_ID as deptId, sd.SIMPLE_NAME AS deptName FROM sys_role sr " + + "JOIN sys_ru_relation srr ON sr.ID = srr.ROLEID " + + "JOIN sys_user su ON srr.USERID = su.ID " + + "JOIN sys_dept sd ON su.DEPT_ID = sd.ID " + + "WHERE su.ID = {0}" + + "AND sr.TIPS = {1}", String.valueOf(user.getId()), "director"); + return resultMap; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java index ab30ff5..d9c0055 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterPriceServiceImpl.java @@ -126,7 +126,7 @@ if(!CollectionUtils.isEmpty(meterPriceRequest.getIds())){ MeterPriceRequest request = new MeterPriceRequest(); request.setIds(meterPriceRequest.getIds()); - meterPrices = meterPriceMapper.queryPriceList(request); + meterPrices = supplementList(meterPriceMapper.queryPriceList(request)); }else{ meterPrices = supplementList(meterPriceMapper.queryPriceList(meterPriceRequest)); } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/BusinessWorkbenchService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/BusinessWorkbenchService.java index 9208c82..964387e 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/BusinessWorkbenchService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/BusinessWorkbenchService.java @@ -1,13 +1,21 @@ package com.casic.missiles.service.business; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.dto.business.workbench.SampleMeasureChartResponse; +import com.casic.missiles.dto.business.workbench.SampleMeasureResponse; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import java.util.List; + /** * @Description: * @Author: wangpeng * @Date: 2023/4/19 14:00 */ public interface BusinessWorkbenchService { - Page sampleMonitor(Page page); + Page sampleMonitorListPage(Page page); + + Page sampleMeasureListPage(Page page) throws Exception; + + List sampleMeasureChart() throws Exception; }