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 ce27096..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,10 +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/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index ce27096..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,10 +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/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index ce27096..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,10 +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/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index ce27096..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,10 +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-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/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index ce27096..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,10 +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-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/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index ce27096..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,10 +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-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/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index ce27096..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,10 +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-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/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index ce27096..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,10 +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-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-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 3fa85f4..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,20 +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; @@ -30,9 +44,11 @@ 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)){ @@ -70,8 +86,81 @@ }).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/business/BusinessWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessWorkbenchController.java index ce27096..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,10 +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-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-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 3fa85f4..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,20 +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; @@ -30,9 +44,11 @@ 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)){ @@ -70,8 +86,81 @@ }).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/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; }