diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/CostStatisticsController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/CostStatisticsController.java index 87211301..e1d9d1b7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/CostStatisticsController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/CostStatisticsController.java @@ -39,11 +39,11 @@ import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.BladeUser; -import org.springblade.core.secure.annotation.IsAdmin; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.desk.cost.excel.CostStatisticsExcel; +import org.springblade.desk.cost.excel.StStockInoutRecordExcel; import org.springblade.desk.cost.pojo.entity.CostStatisticsEntity; import org.springblade.desk.cost.pojo.vo.CostStatisticsVO; import org.springblade.desk.cost.service.ICostStatisticsService; @@ -143,7 +143,6 @@ public class CostStatisticsController extends BladeController { /** * 导出数据 */ - @IsAdmin @GetMapping("/export") @ApiOperationSupport(order = 9) @Operation(summary = "导出数据", description = "传入CostStatistics") @@ -172,4 +171,35 @@ public class CostStatisticsController extends BladeController { return R.status(costStatisticsService.costCalculation(month)); } + + /** + * 导出数据 + */ + @GetMapping("/exportWorkCenterMaterialCost") + @ApiOperationSupport(order = 9) + public void exportCostStatistics(@Parameter(hidden = true) @RequestParam Map costStatistics, HttpServletResponse response) { + List list = costStatisticsService.exportWorkCenterMaterialCost(Long.valueOf(costStatistics.get("workCenterId").toString()),costStatistics.get("month").toString()); + ExcelUtil.export(response, "作业中心材料费用统计数据" + DateUtil.time(), "作业中心材料费用统计数据", list, StStockInoutRecordExcel.class); + } + + /** + * 导出数据 + */ + @GetMapping("/exportAssistantMaterialCost") + @ApiOperationSupport(order = 9) + public void exportAssistantMaterialCost(@Parameter(hidden = true) @RequestParam Map costStatistics, HttpServletResponse response) { + List list = costStatisticsService.exportAssistantMaterialCost(costStatistics.get("month").toString()); + ExcelUtil.export(response, "辅助人员材料费用统计数据" + DateUtil.time(), "辅助人员材料费用统计数据", list, StStockInoutRecordExcel.class); + } + + /** + * 导出数据 + */ + @GetMapping("/exportMaterialCost") + @ApiOperationSupport(order = 9) + public void exportMaterialCost(@Parameter(hidden = true) @RequestParam Map costStatistics, HttpServletResponse response) { + List list = costStatisticsService.exportMaterialCost(Long.valueOf(costStatistics.get("workCenterId").toString()),costStatistics.get("month").toString()); + ExcelUtil.export(response, "作业中心材料费用统计数据" + DateUtil.time(), "作业中心材料费用统计数据", list, StStockInoutRecordExcel.class); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/SubjectFeeDetailController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/SubjectFeeDetailController.java index 3e5985e4..3390fe87 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/SubjectFeeDetailController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/controller/SubjectFeeDetailController.java @@ -28,6 +28,7 @@ package org.springblade.desk.cost.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -169,7 +170,9 @@ public class SubjectFeeDetailController extends BladeController { @ApiOperationSupport(order = 2) @Operation(summary = "分页", description = "传入SubjectFeeDetail") public R findList(@Parameter(hidden = true) @RequestParam Map subjectFeeDetail) { - List list = subjectFeeDetailService.list(Condition.getQueryWrapper(subjectFeeDetail, SubjectFeeDetailEntity.class)); + List list = subjectFeeDetailService.list(Wrappers.lambdaQuery() + .eq(SubjectFeeDetailEntity::getMonth,subjectFeeDetail.get("month")) + .eq(SubjectFeeDetailEntity::getWorkCenterId,subjectFeeDetail.get("workCenterId"))); if(CollectionUtils.isNotEmpty(list)){ Iterator iterator = list.iterator(); while (iterator.hasNext()) { diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/StStockInoutRecordExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/StStockInoutRecordExcel.java new file mode 100644 index 00000000..c531eeb0 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/StStockInoutRecordExcel.java @@ -0,0 +1,125 @@ +package org.springblade.desk.cost.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @version 1.0 + * @program: jonhon-mes-svr + * @ClassName StStockInoutRecordExcel + * @description: 出入库记录表 Excel实体类 + * @autor: WuSiYu + * @create 2026-01-04 11:23 + **/ + +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(18) +public class StStockInoutRecordExcel implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 物料编码 + */ + @ColumnWidth(20) + @ExcelProperty("物料编码") + private String goodsCode; + + /** + * 物料名称 + */ + @ColumnWidth(20) + @ExcelProperty("物料名称") + private String goodsName; + + /** + * 批号 + */ + @ColumnWidth(20) + @ExcelProperty("批号") + private String piNo; + /** + * 出入库数量 + */ + @ColumnWidth(20) + @ExcelProperty("出入库数量") + private Double quantity; + /** + * 金额 + */ + @ColumnWidth(20) + @ExcelProperty("金额") + private Double sirMoney; + /** + * 采购单号 + */ + @ColumnWidth(20) + @ExcelProperty("采购单号") + private String buyCode; + /** + * 检验单号 + */ + @ColumnWidth(20) + @ExcelProperty("检验单号") + private String checkNo; + /** + * 生产标识 + */ + @ColumnWidth(20) + @ExcelProperty("生产标识") + private String quantityLevel; + + /** + * 过期/报废日期 + */ + @ColumnWidth(20) + @ExcelProperty("过期/报废日期") + private Date scrapCycle; + /** + * 炉批号 + */ + @ColumnWidth(20) + @ExcelProperty("炉批号") + private String stovePiNo; + + + /** + * 出入库原因 + */ + @ColumnWidth(20) + @ExcelProperty("出入库原因") + private String inOutReason; + /** + * 出入库日期 + */ + @ColumnWidth(20) + @ExcelProperty("出入库日期") + private Date inOutDate; + + /** + * 业务人员/领用人ID + */ + @ColumnWidth(20) + @ExcelProperty("业务人员/领用人") + private String userName; + + /** + * 出入库单号 + */ + @ColumnWidth(20) + @ExcelProperty("出入库单号") + private String sirCode; + + +} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/SubjectFeeDetailExcel.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/SubjectFeeDetailExcel.java index e4ec5b50..7fa81fe3 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/SubjectFeeDetailExcel.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/excel/SubjectFeeDetailExcel.java @@ -34,7 +34,6 @@ import lombok.Data; import java.io.Serial; import java.io.Serializable; -import java.math.BigDecimal; /** @@ -52,53 +51,40 @@ public class SubjectFeeDetailExcel implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** - * id - */ - @ColumnWidth(20) - @ExcelProperty("id") - private BigDecimal id; + /** * 月份 */ @ColumnWidth(20) @ExcelProperty("月份") private String month; + /** - * 作业中心id + * 作业中心名称 */ @ColumnWidth(20) - @ExcelProperty("作业中心id") - private BigDecimal workCenterId; + @ExcelProperty("作业中心名称") + private String workCenterName; + /** * 作业中心名称 */ @ColumnWidth(20) - @ExcelProperty("作业中心名称") - private String workCenterName; + @ExcelProperty("科目名称") + private String subjectName; + /** * 比例 */ @ColumnWidth(20) @ExcelProperty("比例") - private BigDecimal rate; + private Double rate; /** * 费用金额 */ @ColumnWidth(20) @ExcelProperty("费用金额") - private BigDecimal fee; - /** - * 备注 - */ - @ColumnWidth(20) - @ExcelProperty("备注") - private String remarks; - /** - * 是否删除 - */ - @ColumnWidth(20) - @ExcelProperty("是否删除") - private Long isDeleted; + private Double fee; + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/mapper/CostStatisticsMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/mapper/CostStatisticsMapper.java index 54f376fa..efd4e354 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/mapper/CostStatisticsMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/mapper/CostStatisticsMapper.java @@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springblade.desk.cost.excel.CostStatisticsExcel; +import org.springblade.desk.cost.excel.StStockInoutRecordExcel; import org.springblade.desk.cost.pojo.entity.CostStatisticsEntity; import org.springblade.desk.cost.pojo.vo.CostStatisticsVO; @@ -70,4 +71,7 @@ public interface CostStatisticsMapper extends BaseMapper { BigDecimal getMonthOutPutArea(@Param("workCenterId")Long workCenterId,@Param("processId")Long processId,@Param("month")String month); BigDecimal getMonthOutPutVolume(@Param("workCenterId")Long workCenterId,@Param("processId")Long processId,@Param("month")String month); + + List exportWorkCenterMaterialCost(@Param("workCenterId")Long workCenterId, @Param("month")String month); + List exportAssistantMaterialCost(@Param("month")String month); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/mapper/CostStatisticsMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/mapper/CostStatisticsMapper.xml index d631875e..4e5d9b7a 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/mapper/CostStatisticsMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/mapper/CostStatisticsMapper.xml @@ -33,9 +33,10 @@ is_deleted = 0 - and `month` = #{param2.month} + and MONTH = #{param2.month} + order by work_center_id @@ -118,4 +119,71 @@ AND to_char( a.FACT_END_TIME, 'yyyy-MM' ) = #{month} + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/ICostStatisticsService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/ICostStatisticsService.java index 33e92ac9..d451252f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/ICostStatisticsService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/ICostStatisticsService.java @@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; import org.springblade.core.tool.api.R; import org.springblade.desk.cost.excel.CostStatisticsExcel; +import org.springblade.desk.cost.excel.StStockInoutRecordExcel; import org.springblade.desk.cost.pojo.entity.CostStatisticsEntity; import org.springblade.desk.cost.pojo.vo.CostStatisticsVO; @@ -63,4 +64,8 @@ public interface ICostStatisticsService extends BaseService exportWorkCenterMaterialCost(Long workCenterId, String month); + List exportAssistantMaterialCost(String month); + + List exportMaterialCost(Long workCenterId, String month); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java index f2612aac..002d892c 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/cost/service/impl/CostStatisticsServiceImpl.java @@ -37,6 +37,7 @@ import org.springblade.core.tool.api.R; import org.springblade.desk.basic.pojo.entity.WorkCenter; import org.springblade.desk.basic.service.IWorkCenterService; import org.springblade.desk.cost.excel.CostStatisticsExcel; +import org.springblade.desk.cost.excel.StStockInoutRecordExcel; import org.springblade.desk.cost.mapper.CostStatisticsMapper; import org.springblade.desk.cost.pojo.entity.CostCalculationProcessEntity; import org.springblade.desk.cost.pojo.entity.CostStatisticsEntity; @@ -124,7 +125,6 @@ public class CostStatisticsServiceImpl extends BaseServiceImpl exportWorkCenterMaterialCost(Long workCenterId, String month) { + return baseMapper.exportWorkCenterMaterialCost(workCenterId,month); + } + + @Override + public List exportAssistantMaterialCost(String month) { + return baseMapper.exportAssistantMaterialCost(month); + } + + @Override + public List exportMaterialCost(Long workCenterId, String month) { + List exportList = new ArrayList<>(); + List workCenterMaterialCostList = baseMapper.exportWorkCenterMaterialCost(workCenterId,month); + List assistantMaterialCostList = baseMapper.exportAssistantMaterialCost(month); + exportList.addAll(workCenterMaterialCostList); + exportList.addAll(assistantMaterialCostList); + return exportList; + } + + public BigDecimal getProductCost(WorkCenter workCenter, String month){ //【制造费用】=科目费用中除【辅助人员材料费用】外各作业中心的所有费用的总和 BigDecimal productCost = BigDecimal.ZERO;