diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml index 0dbe03b..b7f396b 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml @@ -14,6 +14,8 @@ + + @@ -35,4 +37,22 @@ FROM business_order WHERE is_del = 0 AND status = #{orderStatus} + + + + + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml index 0dbe03b..b7f396b 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml @@ -14,6 +14,8 @@ + + @@ -35,4 +37,22 @@ FROM business_order WHERE is_del = 0 AND status = #{orderStatus} + + + + + + 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 a248ae9..7ebe1f3 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -388,4 +388,48 @@ AND DATE_FORMAT(bo.plan_deliver_time, '%Y%m') = DATE_FORMAT(CURDATE() ,'%Y%m') ORDER BY bosr.create_time DESC + + + + + + diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml index 0dbe03b..b7f396b 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml @@ -14,6 +14,8 @@ + + @@ -35,4 +37,22 @@ FROM business_order WHERE is_del = 0 AND status = #{orderStatus} + + + + + + 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 a248ae9..7ebe1f3 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -388,4 +388,48 @@ AND DATE_FORMAT(bo.plan_deliver_time, '%Y%m') = DATE_FORMAT(CURDATE() ,'%Y%m') ORDER BY bosr.create_time DESC + + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java new file mode 100644 index 0000000..2126ecf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 计量作业响应实体 + * @Author: wangpeng + * @Date: 2023/6/5 14:10 + */ +@Data +public class MeasureWorkResponse { + @ApiModelProperty(value = "年度订单", dataType = "Integer") + private Integer ordersThisYear; + @ApiModelProperty(value = "月度订单", dataType = "Integer") + private Integer ordersThisMonth; + @ApiModelProperty(value = "今日订单数", dataType = "Integer") + private Integer ordersToday; + @ApiModelProperty(value = "本月业务量", dataType = "Integer") + private Integer trafficThisMonth; + @ApiModelProperty(value = "上月业务量", dataType = "Integer") + private Integer trafficLastMonth; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml index 0dbe03b..b7f396b 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml @@ -14,6 +14,8 @@ + + @@ -35,4 +37,22 @@ FROM business_order WHERE is_del = 0 AND status = #{orderStatus} + + + + + + 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 a248ae9..7ebe1f3 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -388,4 +388,48 @@ AND DATE_FORMAT(bo.plan_deliver_time, '%Y%m') = DATE_FORMAT(CURDATE() ,'%Y%m') ORDER BY bosr.create_time DESC + + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java new file mode 100644 index 0000000..2126ecf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 计量作业响应实体 + * @Author: wangpeng + * @Date: 2023/6/5 14:10 + */ +@Data +public class MeasureWorkResponse { + @ApiModelProperty(value = "年度订单", dataType = "Integer") + private Integer ordersThisYear; + @ApiModelProperty(value = "月度订单", dataType = "Integer") + private Integer ordersThisMonth; + @ApiModelProperty(value = "今日订单数", dataType = "Integer") + private Integer ordersToday; + @ApiModelProperty(value = "本月业务量", dataType = "Integer") + private Integer trafficThisMonth; + @ApiModelProperty(value = "上月业务量", dataType = "Integer") + private Integer trafficLastMonth; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java new file mode 100644 index 0000000..62535e2 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 业务量统计响应体 + * @Author: wangpeng + * @Date: 2023/6/6 10:48 + */ +@Data +public class TrafficStatisticsResponse { + @ApiModelProperty(value = "月份", dataType = "Integer") + private String month; + @ApiModelProperty(value = "业务量", dataType = "Integer") + private Integer traffic; +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml index 0dbe03b..b7f396b 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml @@ -14,6 +14,8 @@ + + @@ -35,4 +37,22 @@ FROM business_order WHERE is_del = 0 AND status = #{orderStatus} + + + + + + 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 a248ae9..7ebe1f3 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -388,4 +388,48 @@ AND DATE_FORMAT(bo.plan_deliver_time, '%Y%m') = DATE_FORMAT(CURDATE() ,'%Y%m') ORDER BY bosr.create_time DESC + + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java new file mode 100644 index 0000000..2126ecf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 计量作业响应实体 + * @Author: wangpeng + * @Date: 2023/6/5 14:10 + */ +@Data +public class MeasureWorkResponse { + @ApiModelProperty(value = "年度订单", dataType = "Integer") + private Integer ordersThisYear; + @ApiModelProperty(value = "月度订单", dataType = "Integer") + private Integer ordersThisMonth; + @ApiModelProperty(value = "今日订单数", dataType = "Integer") + private Integer ordersToday; + @ApiModelProperty(value = "本月业务量", dataType = "Integer") + private Integer trafficThisMonth; + @ApiModelProperty(value = "上月业务量", dataType = "Integer") + private Integer trafficLastMonth; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java new file mode 100644 index 0000000..62535e2 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 业务量统计响应体 + * @Author: wangpeng + * @Date: 2023/6/6 10:48 + */ +@Data +public class TrafficStatisticsResponse { + @ApiModelProperty(value = "月份", dataType = "Integer") + private String month; + @ApiModelProperty(value = "业务量", dataType = "Integer") + private Integer traffic; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index b9e7712..7f126f9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -61,6 +61,14 @@ @TableField("customer_id") private Long customerId; + @ApiModelProperty(value = "证书单位名称", dataType = "String") + @TableField("certification_company") + private String certificationCompany; + + @ApiModelProperty(value = "证书单位地址", dataType = "String") + @TableField("certification_company_address") + private String certificationCompanyAddress; + @ApiModelProperty(value = "委托方名称", dataType = "String") private String customerName; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml index 0dbe03b..b7f396b 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml @@ -14,6 +14,8 @@ + + @@ -35,4 +37,22 @@ FROM business_order WHERE is_del = 0 AND status = #{orderStatus} + + + + + + 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 a248ae9..7ebe1f3 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -388,4 +388,48 @@ AND DATE_FORMAT(bo.plan_deliver_time, '%Y%m') = DATE_FORMAT(CURDATE() ,'%Y%m') ORDER BY bosr.create_time DESC + + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java new file mode 100644 index 0000000..2126ecf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 计量作业响应实体 + * @Author: wangpeng + * @Date: 2023/6/5 14:10 + */ +@Data +public class MeasureWorkResponse { + @ApiModelProperty(value = "年度订单", dataType = "Integer") + private Integer ordersThisYear; + @ApiModelProperty(value = "月度订单", dataType = "Integer") + private Integer ordersThisMonth; + @ApiModelProperty(value = "今日订单数", dataType = "Integer") + private Integer ordersToday; + @ApiModelProperty(value = "本月业务量", dataType = "Integer") + private Integer trafficThisMonth; + @ApiModelProperty(value = "上月业务量", dataType = "Integer") + private Integer trafficLastMonth; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java new file mode 100644 index 0000000..62535e2 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 业务量统计响应体 + * @Author: wangpeng + * @Date: 2023/6/6 10:48 + */ +@Data +public class TrafficStatisticsResponse { + @ApiModelProperty(value = "月份", dataType = "Integer") + private String month; + @ApiModelProperty(value = "业务量", dataType = "Integer") + private Integer traffic; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index b9e7712..7f126f9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -61,6 +61,14 @@ @TableField("customer_id") private Long customerId; + @ApiModelProperty(value = "证书单位名称", dataType = "String") + @TableField("certification_company") + private String certificationCompany; + + @ApiModelProperty(value = "证书单位地址", dataType = "String") + @TableField("certification_company_address") + private String certificationCompanyAddress; + @ApiModelProperty(value = "委托方名称", dataType = "String") private String customerName; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 996b525..ee98f33 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -20,7 +20,7 @@ import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; -import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; +import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -55,7 +55,7 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService, PrefixCodeEnum, OrderStatusEnum, SampleStatusEnum, MeasureTypeEnum { - private final BusinessOrderListReponseMapper orderListResponseMapper; + private final BusinessOrderListResponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml index 0dbe03b..b7f396b 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml @@ -14,6 +14,8 @@ + + @@ -35,4 +37,22 @@ FROM business_order WHERE is_del = 0 AND status = #{orderStatus} + + + + + + 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 a248ae9..7ebe1f3 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -388,4 +388,48 @@ AND DATE_FORMAT(bo.plan_deliver_time, '%Y%m') = DATE_FORMAT(CURDATE() ,'%Y%m') ORDER BY bosr.create_time DESC + + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java new file mode 100644 index 0000000..2126ecf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 计量作业响应实体 + * @Author: wangpeng + * @Date: 2023/6/5 14:10 + */ +@Data +public class MeasureWorkResponse { + @ApiModelProperty(value = "年度订单", dataType = "Integer") + private Integer ordersThisYear; + @ApiModelProperty(value = "月度订单", dataType = "Integer") + private Integer ordersThisMonth; + @ApiModelProperty(value = "今日订单数", dataType = "Integer") + private Integer ordersToday; + @ApiModelProperty(value = "本月业务量", dataType = "Integer") + private Integer trafficThisMonth; + @ApiModelProperty(value = "上月业务量", dataType = "Integer") + private Integer trafficLastMonth; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java new file mode 100644 index 0000000..62535e2 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 业务量统计响应体 + * @Author: wangpeng + * @Date: 2023/6/6 10:48 + */ +@Data +public class TrafficStatisticsResponse { + @ApiModelProperty(value = "月份", dataType = "Integer") + private String month; + @ApiModelProperty(value = "业务量", dataType = "Integer") + private Integer traffic; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index b9e7712..7f126f9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -61,6 +61,14 @@ @TableField("customer_id") private Long customerId; + @ApiModelProperty(value = "证书单位名称", dataType = "String") + @TableField("certification_company") + private String certificationCompany; + + @ApiModelProperty(value = "证书单位地址", dataType = "String") + @TableField("certification_company_address") + private String certificationCompanyAddress; + @ApiModelProperty(value = "委托方名称", dataType = "String") private String customerName; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 996b525..ee98f33 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -20,7 +20,7 @@ import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; -import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; +import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -55,7 +55,7 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService, PrefixCodeEnum, OrderStatusEnum, SampleStatusEnum, MeasureTypeEnum { - private final BusinessOrderListReponseMapper orderListResponseMapper; + private final BusinessOrderListResponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/cockpit/HomepageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/cockpit/HomepageServiceImpl.java new file mode 100644 index 0000000..75d8e43 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/cockpit/HomepageServiceImpl.java @@ -0,0 +1,56 @@ +package com.casic.missiles.service.Impl.cockpit; + +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.mapper.business.BusinessOrderMapper; +import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.service.cockpit.IHomepageService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Objects; + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 13:56 + */ +@Service +@AllArgsConstructor +public class HomepageServiceImpl implements IHomepageService { + private final BusinessOrderMapper businessOrderMapper; + + private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; + + @Override + public MeasureWorkResponse measureWork() { + MeasureWorkResponse response = new MeasureWorkResponse(); + //年度订单 + Integer ordersThisYear = businessOrderMapper.ordersThisYear(); + //月度订单 + Integer ordersThisMonth = businessOrderMapper.ordersThisMonth(); + //今日订单数 + Integer ordersToday = businessOrderMapper.ordersToday(); + //本月业务量,本月检完的样品数,样品检完状态/待归还状态/和已归还状态和updateTime + Integer samplesThisMonth = orderSampleRelationMapper.selectCountThisMonthForMeasureWork(); + //上月业务量,上月检完的样品数 + Integer samplesLastMonth = orderSampleRelationMapper.selectCountLastMonthForMeasureWork(); + + response.setOrdersThisYear(ordersThisYear); + response.setOrdersThisMonth(ordersThisMonth); + response.setOrdersToday(ordersToday); + response.setTrafficThisMonth(samplesThisMonth); + response.setTrafficLastMonth(samplesLastMonth); + return response; + } + + @Override + public List trafficStatistics(Integer months) { + if(Objects.isNull(months)){ + months = 12; + } + List responseList = orderSampleRelationMapper.selectCountForTrafficStatisticsByMonths(months); + return responseList; + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml index 0dbe03b..b7f396b 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml @@ -14,6 +14,8 @@ + + @@ -35,4 +37,22 @@ FROM business_order WHERE is_del = 0 AND status = #{orderStatus} + + + + + + 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 a248ae9..7ebe1f3 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -388,4 +388,48 @@ AND DATE_FORMAT(bo.plan_deliver_time, '%Y%m') = DATE_FORMAT(CURDATE() ,'%Y%m') ORDER BY bosr.create_time DESC + + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java new file mode 100644 index 0000000..2126ecf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 计量作业响应实体 + * @Author: wangpeng + * @Date: 2023/6/5 14:10 + */ +@Data +public class MeasureWorkResponse { + @ApiModelProperty(value = "年度订单", dataType = "Integer") + private Integer ordersThisYear; + @ApiModelProperty(value = "月度订单", dataType = "Integer") + private Integer ordersThisMonth; + @ApiModelProperty(value = "今日订单数", dataType = "Integer") + private Integer ordersToday; + @ApiModelProperty(value = "本月业务量", dataType = "Integer") + private Integer trafficThisMonth; + @ApiModelProperty(value = "上月业务量", dataType = "Integer") + private Integer trafficLastMonth; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java new file mode 100644 index 0000000..62535e2 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 业务量统计响应体 + * @Author: wangpeng + * @Date: 2023/6/6 10:48 + */ +@Data +public class TrafficStatisticsResponse { + @ApiModelProperty(value = "月份", dataType = "Integer") + private String month; + @ApiModelProperty(value = "业务量", dataType = "Integer") + private Integer traffic; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index b9e7712..7f126f9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -61,6 +61,14 @@ @TableField("customer_id") private Long customerId; + @ApiModelProperty(value = "证书单位名称", dataType = "String") + @TableField("certification_company") + private String certificationCompany; + + @ApiModelProperty(value = "证书单位地址", dataType = "String") + @TableField("certification_company_address") + private String certificationCompanyAddress; + @ApiModelProperty(value = "委托方名称", dataType = "String") private String customerName; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 996b525..ee98f33 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -20,7 +20,7 @@ import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; -import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; +import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -55,7 +55,7 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService, PrefixCodeEnum, OrderStatusEnum, SampleStatusEnum, MeasureTypeEnum { - private final BusinessOrderListReponseMapper orderListResponseMapper; + private final BusinessOrderListResponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/cockpit/HomepageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/cockpit/HomepageServiceImpl.java new file mode 100644 index 0000000..75d8e43 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/cockpit/HomepageServiceImpl.java @@ -0,0 +1,56 @@ +package com.casic.missiles.service.Impl.cockpit; + +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.mapper.business.BusinessOrderMapper; +import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.service.cockpit.IHomepageService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Objects; + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 13:56 + */ +@Service +@AllArgsConstructor +public class HomepageServiceImpl implements IHomepageService { + private final BusinessOrderMapper businessOrderMapper; + + private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; + + @Override + public MeasureWorkResponse measureWork() { + MeasureWorkResponse response = new MeasureWorkResponse(); + //年度订单 + Integer ordersThisYear = businessOrderMapper.ordersThisYear(); + //月度订单 + Integer ordersThisMonth = businessOrderMapper.ordersThisMonth(); + //今日订单数 + Integer ordersToday = businessOrderMapper.ordersToday(); + //本月业务量,本月检完的样品数,样品检完状态/待归还状态/和已归还状态和updateTime + Integer samplesThisMonth = orderSampleRelationMapper.selectCountThisMonthForMeasureWork(); + //上月业务量,上月检完的样品数 + Integer samplesLastMonth = orderSampleRelationMapper.selectCountLastMonthForMeasureWork(); + + response.setOrdersThisYear(ordersThisYear); + response.setOrdersThisMonth(ordersThisMonth); + response.setOrdersToday(ordersToday); + response.setTrafficThisMonth(samplesThisMonth); + response.setTrafficLastMonth(samplesLastMonth); + return response; + } + + @Override + public List trafficStatistics(Integer months) { + if(Objects.isNull(months)){ + months = 12; + } + List responseList = orderSampleRelationMapper.selectCountForTrafficStatisticsByMonths(months); + return responseList; + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/finance/FinanceAgreementInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/finance/FinanceAgreementInfoServiceImpl.java index 1a54b44..aa95d80 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/finance/FinanceAgreementInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/finance/FinanceAgreementInfoServiceImpl.java @@ -26,7 +26,7 @@ import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; +import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.finance.FinanceAgreementInfoMapper; @@ -80,7 +80,7 @@ @Resource private RuntimeService runtimeService; @Autowired - private BusinessOrderListReponseMapper orderListResponseMapper; + private BusinessOrderListResponseMapper orderListResponseMapper; @Autowired private BusinessOrderSampleRelationMapper sampleRelationMapper; @Autowired diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java new file mode 100644 index 0000000..9a7661e --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/AssetMonitorController.java @@ -0,0 +1,42 @@ +package com.casic.missiles.controller.cockpit; + +import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 计量管理驾驶舱-资产监控 + * @Author: wangpeng + * @Date: 2023/6/5 15:52 + */ +@Api(tags = "计量管理驾驶舱-资产监控") +@Slf4j +@RestController +@RequestMapping("/cockpit/asset/monitor") +@AllArgsConstructor +public class AssetMonitorController { + + @ApiOperation("资产管理-设备总数、装置总数、能力总数") + @GetMapping("/assetManagement") + public ReturnDTO assetManagement() { + return ReturnUtil.success(); + } + + @ApiOperation("计量设备-在用设备、闲置设备、禁用设备、逾期未检定") + @GetMapping("/equipment") + public ReturnDTO equipment() { + return ReturnUtil.success(); + } + + @ApiOperation("本月设备到期详情") + @GetMapping("/expireDeviceList") + public ReturnDTO expireDeviceList() { + return ReturnUtil.success(); + } +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java new file mode 100644 index 0000000..b42b750 --- /dev/null +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/cockpit/HomepageController.java @@ -0,0 +1,71 @@ +package com.casic.missiles.controller.cockpit; + +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.order.OrderListRequest; +import com.casic.missiles.dto.business.order.OrderListResponse; +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.service.business.IBusinessOrderService; +import com.casic.missiles.service.cockpit.IHomepageService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 11:35 + */ +@Api(tags = "计量管理驾驶舱-首页") +@Slf4j +@RestController +@RequestMapping("/cockpit/homepage") +@AllArgsConstructor +public class HomepageController extends ExportController { + + private final IBusinessOrderService businessOrderService; + + private final IHomepageService homepageService; + + + @ApiOperation("年度经营数据-年度产值、月度产值") + @GetMapping("/annualData") + public ReturnDTO annualData() { + return ReturnUtil.success(); + } + + @ApiOperation("计量作业-年度订单、月度订单、今日订单数、本月业务量、上月业务量") + @GetMapping("/measureWork") + public ReturnDTO measureWork() { + MeasureWorkResponse response = homepageService.measureWork(); + return ReturnUtil.success(response); + } + + @ApiOperation("业务量统计-近n个月每月业务量") + @GetMapping("/trafficStatistics/{months}") + public ReturnDTO> trafficStatistics(@PathVariable(name = "months") Integer months) { + List responseList = homepageService.trafficStatistics(months); + return ReturnUtil.success(responseList); + } + + @ApiOperation("实时订单数据") + @GetMapping("/orderList") + public ReturnDTO> orderList() throws Exception { + Page page = PageFactory.defaultPage(); + OrderListRequest request = new OrderListRequest(); + return ReturnUtil.success(super.packForBT(businessOrderService.orderListPage(page, request))); + } +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java deleted file mode 100644 index f50c68b..0000000 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListReponseMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.casic.missiles.mapper.business; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.dto.business.order.OrderListResponse; - -public interface BusinessOrderListReponseMapper extends BaseMapper { -} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java new file mode 100644 index 0000000..384ff04 --- /dev/null +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderListResponseMapper.java @@ -0,0 +1,7 @@ +package com.casic.missiles.mapper.business; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.dto.business.order.OrderListResponse; + +public interface BusinessOrderListResponseMapper extends BaseMapper { +} diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java index 1feda7f..0a34e47 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderMapper.java @@ -21,4 +21,10 @@ Long selectMaxCOrderNo(); List selectIdsByStatus(@Param("orderStatus") String orderStatus); + + Integer ordersToday(); + + Integer ordersThisYear(); + + Integer ordersThisMonth(); } diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java index 79944a2..6aeb586 100644 --- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java +++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOrderSampleRelationMapper.java @@ -11,6 +11,7 @@ import com.casic.missiles.dto.business.dispatch.DeviceScanVO; import com.casic.missiles.dto.business.outsource.OrderSampleDTO; import com.casic.missiles.dto.business.workbench.SampleMonitorResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; import com.casic.missiles.dto.customer.sample.CustomerSampleListVO; import com.casic.missiles.dto.finance.SamplePriceDTO; import com.casic.missiles.dto.finance.SettlementSampleDTO; @@ -56,4 +57,10 @@ Page getSampleListByStatusMonth(Page page, @Param("request") DeviceDispatchDTO request); Page selectSampleListByStatusMonth(Page handOutPage, @Param("request") SampleHandOutListRequest request); + + Integer selectCountThisMonthForMeasureWork(); + + Integer selectCountLastMonthForMeasureWork(); + + List selectCountForTrafficStatisticsByMonths(@Param("months") Integer months); } diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml index 0dbe03b..b7f396b 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderMapper.xml @@ -14,6 +14,8 @@ + + @@ -35,4 +37,22 @@ FROM business_order WHERE is_del = 0 AND status = #{orderStatus} + + + + + + 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 a248ae9..7ebe1f3 100644 --- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOrderSampleRelationMapper.xml @@ -388,4 +388,48 @@ AND DATE_FORMAT(bo.plan_deliver_time, '%Y%m') = DATE_FORMAT(CURDATE() ,'%Y%m') ORDER BY bosr.create_time DESC + + + + + + diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java new file mode 100644 index 0000000..2126ecf --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/MeasureWorkResponse.java @@ -0,0 +1,23 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 计量作业响应实体 + * @Author: wangpeng + * @Date: 2023/6/5 14:10 + */ +@Data +public class MeasureWorkResponse { + @ApiModelProperty(value = "年度订单", dataType = "Integer") + private Integer ordersThisYear; + @ApiModelProperty(value = "月度订单", dataType = "Integer") + private Integer ordersThisMonth; + @ApiModelProperty(value = "今日订单数", dataType = "Integer") + private Integer ordersToday; + @ApiModelProperty(value = "本月业务量", dataType = "Integer") + private Integer trafficThisMonth; + @ApiModelProperty(value = "上月业务量", dataType = "Integer") + private Integer trafficLastMonth; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java new file mode 100644 index 0000000..62535e2 --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/cockpit/TrafficStatisticsResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.cockpit; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Description: 业务量统计响应体 + * @Author: wangpeng + * @Date: 2023/6/6 10:48 + */ +@Data +public class TrafficStatisticsResponse { + @ApiModelProperty(value = "月份", dataType = "Integer") + private String month; + @ApiModelProperty(value = "业务量", dataType = "Integer") + private Integer traffic; +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java index b9e7712..7f126f9 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrder.java @@ -61,6 +61,14 @@ @TableField("customer_id") private Long customerId; + @ApiModelProperty(value = "证书单位名称", dataType = "String") + @TableField("certification_company") + private String certificationCompany; + + @ApiModelProperty(value = "证书单位地址", dataType = "String") + @TableField("certification_company_address") + private String certificationCompanyAddress; + @ApiModelProperty(value = "委托方名称", dataType = "String") private String customerName; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java index 996b525..ee98f33 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOrderServiceImpl.java @@ -20,7 +20,7 @@ import com.casic.missiles.enums.sample.SampleStatusEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.business.BusinessDealRecordMapper; -import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; +import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.model.business.BusinessDealRecord; @@ -55,7 +55,7 @@ @AllArgsConstructor public class BusinessOrderServiceImpl extends ServiceImpl implements IBusinessOrderService, PrefixCodeEnum, OrderStatusEnum, SampleStatusEnum, MeasureTypeEnum { - private final BusinessOrderListReponseMapper orderListResponseMapper; + private final BusinessOrderListResponseMapper orderListResponseMapper; private final IBaseExportService iBaseExportService; private final CustomerSampleService customerSampleService; private final BusinessOrderSampleRelationMapper sampleRelationMapper; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/cockpit/HomepageServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/cockpit/HomepageServiceImpl.java new file mode 100644 index 0000000..75d8e43 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/cockpit/HomepageServiceImpl.java @@ -0,0 +1,56 @@ +package com.casic.missiles.service.Impl.cockpit; + +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; +import com.casic.missiles.mapper.business.BusinessOrderMapper; +import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; +import com.casic.missiles.service.cockpit.IHomepageService; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Objects; + +/** + * @Description: 计量管理驾驶舱首页 + * @Author: wangpeng + * @Date: 2023/6/5 13:56 + */ +@Service +@AllArgsConstructor +public class HomepageServiceImpl implements IHomepageService { + private final BusinessOrderMapper businessOrderMapper; + + private final BusinessOrderSampleRelationMapper orderSampleRelationMapper; + + @Override + public MeasureWorkResponse measureWork() { + MeasureWorkResponse response = new MeasureWorkResponse(); + //年度订单 + Integer ordersThisYear = businessOrderMapper.ordersThisYear(); + //月度订单 + Integer ordersThisMonth = businessOrderMapper.ordersThisMonth(); + //今日订单数 + Integer ordersToday = businessOrderMapper.ordersToday(); + //本月业务量,本月检完的样品数,样品检完状态/待归还状态/和已归还状态和updateTime + Integer samplesThisMonth = orderSampleRelationMapper.selectCountThisMonthForMeasureWork(); + //上月业务量,上月检完的样品数 + Integer samplesLastMonth = orderSampleRelationMapper.selectCountLastMonthForMeasureWork(); + + response.setOrdersThisYear(ordersThisYear); + response.setOrdersThisMonth(ordersThisMonth); + response.setOrdersToday(ordersToday); + response.setTrafficThisMonth(samplesThisMonth); + response.setTrafficLastMonth(samplesLastMonth); + return response; + } + + @Override + public List trafficStatistics(Integer months) { + if(Objects.isNull(months)){ + months = 12; + } + List responseList = orderSampleRelationMapper.selectCountForTrafficStatisticsByMonths(months); + return responseList; + } +} diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/finance/FinanceAgreementInfoServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/finance/FinanceAgreementInfoServiceImpl.java index 1a54b44..aa95d80 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/finance/FinanceAgreementInfoServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/finance/FinanceAgreementInfoServiceImpl.java @@ -26,7 +26,7 @@ import com.casic.missiles.enums.meter.MeterDictEnum; import com.casic.missiles.enums.system.ApprovalStatusEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.mapper.business.BusinessOrderListReponseMapper; +import com.casic.missiles.mapper.business.BusinessOrderListResponseMapper; import com.casic.missiles.mapper.business.BusinessOrderMapper; import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.finance.FinanceAgreementInfoMapper; @@ -80,7 +80,7 @@ @Resource private RuntimeService runtimeService; @Autowired - private BusinessOrderListReponseMapper orderListResponseMapper; + private BusinessOrderListResponseMapper orderListResponseMapper; @Autowired private BusinessOrderSampleRelationMapper sampleRelationMapper; @Autowired diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/cockpit/IHomepageService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/cockpit/IHomepageService.java new file mode 100644 index 0000000..cd497d4 --- /dev/null +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/cockpit/IHomepageService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.service.cockpit; + +import com.casic.missiles.dto.cockpit.MeasureWorkResponse; +import com.casic.missiles.dto.cockpit.TrafficStatisticsResponse; + +import java.util.List; + +/** + * @Description: + * @Author: wangpeng + * @Date: 2023/6/5 13:55 + */ +public interface IHomepageService { + MeasureWorkResponse measureWork(); + + List trafficStatistics(Integer months); +}