优化成本计算问题,加入辅料备件分摊页面
This commit is contained in:
@@ -17,6 +17,8 @@ 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.domain.vo.AuxMaterialBreakdownVo;
|
||||
import com.klp.ems.domain.vo.SparePartBreakdownVo;
|
||||
import com.klp.ems.service.IEnergyCostReportService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -111,4 +113,16 @@ public class EnergyCostReportController extends BaseController {
|
||||
}).collect(Collectors.toList());
|
||||
ExcelUtil.exportExcel(exportList, "入场卷成本汇总", CoilTotalMergedExportVo.class, response);
|
||||
}
|
||||
|
||||
@Log(title = "辅料分摊构成", businessType = BusinessType.OTHER)
|
||||
@GetMapping("/material/aux/breakdown")
|
||||
public TableDataInfo<AuxMaterialBreakdownVo> auxMaterialBreakdown(CoilTotalCostBo bo, PageQuery pageQuery) {
|
||||
return reportService.auxMaterialBreakdown(bo, pageQuery);
|
||||
}
|
||||
|
||||
@Log(title = "备件分摊构成", businessType = BusinessType.OTHER)
|
||||
@GetMapping("/material/spare/breakdown")
|
||||
public TableDataInfo<SparePartBreakdownVo> sparePartBreakdown(CoilTotalCostBo bo, PageQuery pageQuery) {
|
||||
return reportService.sparePartBreakdown(bo, pageQuery);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,6 +65,15 @@ public class WmsEnergyCoilDailyController extends BaseController {
|
||||
return R.ok(statistics);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询待操作钢卷的能源成本详情(单卷)
|
||||
*/
|
||||
@GetMapping("/pendingAction/detail")
|
||||
public R<WmsEnergyCoilDailyVo> pendingActionDetail(@NotNull @RequestParam Long coilId) {
|
||||
WmsEnergyCoilDailyVo detail = coilDailyService.queryPendingActionCoilCostDetail(coilId);
|
||||
return R.ok(detail);
|
||||
}
|
||||
|
||||
@Log(title = "钢卷能源分摊", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(WmsEnergyCoilDailyBo bo, HttpServletResponse response) {
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.klp.ems.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 辅料成本分摊构成 Vo
|
||||
*/
|
||||
@Data
|
||||
public class AuxMaterialBreakdownVo {
|
||||
/** 物料编码 */
|
||||
private String itemCode;
|
||||
|
||||
/** 物料名称 */
|
||||
private String itemName;
|
||||
|
||||
/** 规格 */
|
||||
private String spec;
|
||||
|
||||
/** 单位 */
|
||||
private String unit;
|
||||
|
||||
/** 全厂消耗总数量 */
|
||||
private BigDecimal totalQty;
|
||||
|
||||
/** 全厂消耗总金额 */
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
/** 分摊数量 */
|
||||
private BigDecimal allocatedQty;
|
||||
|
||||
/** 分摊金额 */
|
||||
private BigDecimal allocatedAmount;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.klp.ems.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class SparePartBreakdownVo {
|
||||
private String itemCode;
|
||||
private String itemName;
|
||||
private String spec;
|
||||
private String unit;
|
||||
|
||||
private BigDecimal totalQty;
|
||||
private BigDecimal totalAmount;
|
||||
|
||||
private BigDecimal allocatedQty;
|
||||
private BigDecimal allocatedAmount;
|
||||
}
|
||||
@@ -84,8 +84,14 @@ public interface WmsEnergyCoilDailyMapper extends BaseMapper<WmsEnergyCoilDaily>
|
||||
/** 入场卷号维度能源+囤积成本汇总(导出) */
|
||||
List<CoilTotalCostVo> selectCoilTotalMergedExport(@Param("bo") CoilTotalCostBo bo);
|
||||
|
||||
/** 辅料分摊构成(按物料汇总,金额与数量按卷的日分摊系数分摊) */
|
||||
IPage<AuxMaterialBreakdownVo> selectAuxMaterialBreakdown(Page<AuxMaterialBreakdownVo> page, @Param("bo") CoilTotalCostBo bo);
|
||||
|
||||
/** 备件分摊构成(按备件汇总,金额与数量按卷的日分摊系数分摊) */
|
||||
IPage<SparePartBreakdownVo> selectSparePartBreakdown(Page<SparePartBreakdownVo> page, @Param("bo") CoilTotalCostBo bo);
|
||||
|
||||
/** 查询待操作钢卷的能源成本(一次性SQL查询) */
|
||||
List<WmsEnergyCoilDailyVo> selectPendingActionCoilCost();
|
||||
List<WmsEnergyCoilDailyVo> selectPendingActionCoilCost(@Param("bo") WmsEnergyCoilDailyBo bo);
|
||||
|
||||
/** 查询待操作钢卷的能源成本统计 */
|
||||
WmsEnergyCoilDailyStatisticsVo selectPendingActionCoilCostStatistics(
|
||||
@@ -93,4 +99,7 @@ public interface WmsEnergyCoilDailyMapper extends BaseMapper<WmsEnergyCoilDaily>
|
||||
@Param("currentCoilNo") String currentCoilNo,
|
||||
@Param("warehouseId") Long warehouseId
|
||||
);
|
||||
|
||||
/** 查询待操作钢卷的能源成本详情(单卷) */
|
||||
WmsEnergyCoilDailyVo selectPendingActionCoilCostDetail(@Param("coilId") Long coilId);
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ 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.domain.vo.AuxMaterialBreakdownVo;
|
||||
import com.klp.ems.domain.vo.SparePartBreakdownVo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -49,4 +51,10 @@ public interface IEnergyCostReportService {
|
||||
|
||||
/** 入场卷号维度能源+囤积综合汇总导出 */
|
||||
java.util.List<CoilTotalCostVo> coilTotalMergedExport(CoilTotalCostBo bo);
|
||||
|
||||
/** 辅料分摊构成(按物料汇总,数量与金额按卷的日分摊系数分摊) */
|
||||
TableDataInfo<AuxMaterialBreakdownVo> auxMaterialBreakdown(CoilTotalCostBo bo, PageQuery pageQuery);
|
||||
|
||||
/** 备件分摊构成(按备件汇总,数量与金额按卷的日分摊系数分摊) */
|
||||
TableDataInfo<SparePartBreakdownVo> sparePartBreakdown(CoilTotalCostBo bo, PageQuery pageQuery);
|
||||
}
|
||||
|
||||
@@ -34,6 +34,11 @@ public interface IWmsEnergyCoilDailyService {
|
||||
*/
|
||||
WmsEnergyCoilDailyStatisticsVo queryPendingActionCoilCostStatistics(String enterCoilNo, String currentCoilNo, Long warehouseId);
|
||||
|
||||
/**
|
||||
* 查询待操作钢卷的能源成本详情(单卷)
|
||||
*/
|
||||
WmsEnergyCoilDailyVo queryPendingActionCoilCostDetail(Long coilId);
|
||||
|
||||
Boolean insertByBo(WmsEnergyCoilDailyBo bo);
|
||||
|
||||
Boolean updateByBo(WmsEnergyCoilDailyBo bo);
|
||||
|
||||
@@ -13,6 +13,8 @@ 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.domain.vo.AuxMaterialBreakdownVo;
|
||||
import com.klp.ems.domain.vo.SparePartBreakdownVo;
|
||||
import com.klp.ems.mapper.WmsEnergyCoilDailyMapper;
|
||||
import com.klp.ems.service.IEnergyCostReportService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -142,4 +144,22 @@ public class EnergyCostReportServiceImpl implements IEnergyCostReportService {
|
||||
public java.util.List<CoilTotalCostVo> coilTotalMergedExport(CoilTotalCostBo bo) {
|
||||
return coilDailyMapper.selectCoilTotalMergedExport(bo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<AuxMaterialBreakdownVo> auxMaterialBreakdown(CoilTotalCostBo bo, PageQuery pageQuery) {
|
||||
if (pageQuery.getPageSize() == null) {
|
||||
pageQuery.setPageSize(15);
|
||||
}
|
||||
IPage<AuxMaterialBreakdownVo> page = coilDailyMapper.selectAuxMaterialBreakdown(pageQuery.build(), bo);
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<SparePartBreakdownVo> sparePartBreakdown(CoilTotalCostBo bo, PageQuery pageQuery) {
|
||||
if (pageQuery.getPageSize() == null) {
|
||||
pageQuery.setPageSize(15);
|
||||
}
|
||||
IPage<SparePartBreakdownVo> page = coilDailyMapper.selectSparePartBreakdown(pageQuery.build(), bo);
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public class WmsEnergyCoilDailyServiceImpl implements IWmsEnergyCoilDailyService
|
||||
public TableDataInfo<WmsEnergyCoilDailyVo> queryPendingActionCoilCost(WmsEnergyCoilDailyBo bo, PageQuery pageQuery) {
|
||||
// 使用SQL一次性查询待操作钢卷的能源成本
|
||||
// 所有的关联、聚合、计算都在SQL中完成,性能更高
|
||||
List<WmsEnergyCoilDailyVo> resultList = baseMapper.selectPendingActionCoilCost();
|
||||
List<WmsEnergyCoilDailyVo> resultList = baseMapper.selectPendingActionCoilCost(bo);
|
||||
|
||||
if (CollUtil.isEmpty(resultList)) {
|
||||
log.warn("[PendingActionCoilCost] No pending action coils found");
|
||||
@@ -76,6 +76,11 @@ public class WmsEnergyCoilDailyServiceImpl implements IWmsEnergyCoilDailyService
|
||||
return baseMapper.selectPendingActionCoilCostStatistics(enterCoilNo, currentCoilNo, warehouseId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WmsEnergyCoilDailyVo queryPendingActionCoilCostDetail(Long coilId) {
|
||||
return baseMapper.selectPendingActionCoilCostDetail(coilId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean insertByBo(WmsEnergyCoilDailyBo bo) {
|
||||
WmsEnergyCoilDaily add = BeanUtil.toBean(bo, WmsEnergyCoilDaily.class);
|
||||
|
||||
Reference in New Issue
Block a user