l3能源成本分摊

This commit is contained in:
2025-12-09 16:43:45 +08:00
parent d919c5ce7a
commit a2d0cce233
36 changed files with 3297 additions and 1298 deletions

View File

@@ -143,6 +143,15 @@ public class EmsEnergyConsumptionController extends BaseController {
return R.ok(monthlyConsumption);
}
/**
* 获取最近一次抄表的时间范围
*/
@GetMapping("/latestMeterReadTime")
public R<com.klp.ems.domain.vo.LatestMeterReadTimeVo> getLatestMeterReadTime() {
com.klp.ems.domain.vo.LatestMeterReadTimeVo meterReadTime = iEmsEnergyConsumptionService.getLatestMeterReadTime();
return R.ok(meterReadTime);
}
/**
* 新增能耗记录
*/

View File

@@ -2,6 +2,7 @@ package com.klp.ems.controller;
import java.util.List;
import java.util.Arrays;
import java.util.Map;
import java.io.IOException;
import lombok.RequiredArgsConstructor;
@@ -20,6 +21,8 @@ import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.ems.domain.vo.EmsMeterVo;
import com.klp.ems.domain.vo.EnergyLinkMatrixVo;
import com.klp.ems.domain.vo.EnergyLinkStatisticsVo;
import com.klp.ems.domain.bo.EmsMeterBo;
import com.klp.ems.service.IEmsMeterService;
import com.klp.common.core.page.TableDataInfo;
@@ -115,4 +118,24 @@ public class EmsMeterController extends BaseController {
public R<Void> importMeters(@RequestParam("file") MultipartFile file) {
return toAjax(iEmsMeterService.importMeters(file));
}
/**
* 查询库区-设备绑定矩阵
* 按库区维度查询绑定的设备及其能源类型
*/
@GetMapping("/matrix")
public R<List<EnergyLinkMatrixVo>> queryEnergyLinkMatrix() {
List<EnergyLinkMatrixVo> matrix = iEmsMeterService.queryEnergyLinkMatrix();
return R.ok(matrix);
}
/**
* 查询能源绑定统计信息
* 统计库区总数、设备总数、绑定总数、能源类型总数
*/
@GetMapping("/statistics")
public R<EnergyLinkStatisticsVo> queryEnergyLinkStatistics() {
EnergyLinkStatisticsVo statistics = iEmsMeterService.queryEnergyLinkStatistics();
return R.ok(statistics);
}
}

View File

@@ -6,8 +6,16 @@ import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.domain.R;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.ems.domain.bo.EnergyCostReportBo;
import com.klp.ems.domain.bo.CoilTotalCostBo;
import com.klp.ems.domain.bo.WarehouseProductionBo;
import com.klp.ems.domain.vo.CoilTotalMergedExportVo;
import com.klp.ems.domain.vo.CoilTotalCostDetailVo;
import com.klp.ems.domain.vo.CoilTotalCostVo;
import com.klp.ems.domain.vo.EnergyCostSummaryVo;
import com.klp.ems.domain.vo.WarehouseProductionCoilVo;
import com.klp.ems.domain.vo.WarehouseProductionStatVo;
import com.klp.ems.domain.vo.WmsEnergyCoilDailyVo;
import com.klp.ems.service.IEnergyCostReportService;
import lombok.RequiredArgsConstructor;
@@ -16,8 +24,10 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 能源成本报表 Controller
@@ -47,4 +57,56 @@ public class EnergyCostReportController extends BaseController {
public TableDataInfo<WmsEnergyCoilDailyVo> detail(EnergyCostReportBo bo, PageQuery pageQuery) {
return reportService.detail(bo, pageQuery);
}
@Log(title = "仓库生产成本", businessType = BusinessType.OTHER)
@GetMapping("/warehouseProduction/stats")
public R<WarehouseProductionStatVo> warehouseProductionStats(WarehouseProductionBo bo) {
return R.ok(reportService.warehouseProductionStats(bo));
}
@Log(title = "仓库生产成本", businessType = BusinessType.OTHER)
@GetMapping("/warehouseProduction/detail")
public TableDataInfo<WarehouseProductionCoilVo> warehouseProductionDetail(WarehouseProductionBo bo, PageQuery pageQuery) {
return reportService.warehouseProductionDetail(bo, pageQuery);
}
@Log(title = "仓库生产成本", businessType = BusinessType.OTHER)
@GetMapping("/warehouseProduction/coilDetail")
public R<WarehouseProductionCoilVo> warehouseProductionCoilDetail(Long coilId) {
return R.ok(reportService.warehouseProductionCoilDetail(coilId));
}
@Log(title = "入场卷能源汇总", businessType = BusinessType.OTHER)
@GetMapping("/coilTotal/summary")
public R<CoilTotalCostVo> coilTotalEnergySummary(CoilTotalCostBo bo) {
return R.ok(reportService.coilTotalEnergySummary(bo));
}
@Log(title = "入场卷能源明细", businessType = BusinessType.OTHER)
@GetMapping("/coilTotal/detail")
public TableDataInfo<CoilTotalCostDetailVo> coilTotalEnergyDetail(CoilTotalCostBo bo, PageQuery pageQuery) {
return reportService.coilTotalEnergyDetail(bo, pageQuery);
}
@Log(title = "入场卷成本汇总", businessType = BusinessType.OTHER)
@GetMapping("/coilTotal/merged")
public TableDataInfo<CoilTotalCostVo> coilTotalMerged(CoilTotalCostBo bo, PageQuery pageQuery) {
return reportService.coilTotalMerged(bo, pageQuery);
}
@Log(title = "入场卷成本汇总", businessType = BusinessType.EXPORT)
@GetMapping("/coilTotal/merged/export")
public void coilTotalMergedExport(CoilTotalCostBo bo, HttpServletResponse response) {
List<CoilTotalCostVo> list = reportService.coilTotalMergedExport(bo);
List<CoilTotalMergedExportVo> exportList = list.stream().map(item -> {
CoilTotalMergedExportVo vo = new CoilTotalMergedExportVo();
vo.setEnterCoilNo(item.getEnterCoilNo());
vo.setCurrentCoilNo(item.getCurrentCoilNo());
vo.setEnergyCost(item.getTotalEnergyCost());
vo.setStockCost(item.getStockCost());
vo.setTotalCost(item.getTotalCost());
return vo;
}).collect(Collectors.toList());
ExcelUtil.exportExcel(exportList, "入场卷成本汇总", CoilTotalMergedExportVo.class, response);
}
}