diff --git a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java index 8196f9e1..2ebe26d3 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java @@ -127,6 +127,17 @@ public class WmsDeliveryPlanController extends BaseController { return R.ok(report); } + /** + * 获取收货报表统计信息(planType=1,对应钢卷待操作actionType=401) + */ + @GetMapping("/receivingReport") + public R getReceivingReport( + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime, + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime) { + WmsReceivingReportResultVo report = iWmsDeliveryPlanService.getReceivingReport(startTime, endTime); + return R.ok(report); + } + /** * 根据计划ID获取可选钢卷列表:计划绑定钢卷 - 明细已绑定钢卷 diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivingReportByTypeVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivingReportByTypeVo.java new file mode 100644 index 00000000..444149cb --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivingReportByTypeVo.java @@ -0,0 +1,45 @@ +package com.klp.domain.vo; + +import lombok.Data; +import java.math.BigDecimal; + +/** + * 收货报表按类型统计VO + */ +@Data +public class WmsReceivingReportByTypeVo { + /** + * 类型(品名) + */ + private String productName; + + /** + * 待操作记录数量 + */ + private Integer taskCount = 0; + + /** + * 钢卷数量 + */ + private Integer coilCount = 0; + + /** + * 总重量(吨) + */ + private BigDecimal totalWeight = BigDecimal.ZERO; + + /** + * 日均待操作数量 + */ + private BigDecimal dailyTaskCount = BigDecimal.ZERO; + + /** + * 日均钢卷数量 + */ + private BigDecimal dailyCoilCount = BigDecimal.ZERO; + + /** + * 日均重量(吨) + */ + private BigDecimal dailyWeight = BigDecimal.ZERO; +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivingReportResultVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivingReportResultVo.java new file mode 100644 index 00000000..5157ba84 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivingReportResultVo.java @@ -0,0 +1,20 @@ +package com.klp.domain.vo; + +import lombok.Data; +import java.util.List; + +/** + * 收货报表结果VO + */ +@Data +public class WmsReceivingReportResultVo { + /** + * 汇总统计 + */ + private WmsReceivingReportSummaryVo summary; + + /** + * 按类型统计明细 + */ + private List details; +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivingReportSummaryVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivingReportSummaryVo.java new file mode 100644 index 00000000..6b6fab69 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivingReportSummaryVo.java @@ -0,0 +1,51 @@ +package com.klp.domain.vo; + +import lombok.Data; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 收货报表汇总统计VO + */ +@Data +public class WmsReceivingReportSummaryVo { + /** + * 待操作记录数量 + */ + private Integer taskCount = 0; + + /** + * 钢卷数量 + */ + private Integer coilCount = 0; + + /** + * 总重量(吨) + */ + private BigDecimal totalWeight = BigDecimal.ZERO; + + /** + * 日均待操作数量 + */ + private BigDecimal dailyTaskCount = BigDecimal.ZERO; + + /** + * 日均钢卷数量 + */ + private BigDecimal dailyCoilCount = BigDecimal.ZERO; + + /** + * 日均重量(吨) + */ + private BigDecimal dailyWeight = BigDecimal.ZERO; + + /** + * 统计开始时间 + */ + private Date startTime; + + /** + * 统计结束时间 + */ + private Date endTime; +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java index 125178a6..9e673b54 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java @@ -6,6 +6,8 @@ import com.klp.domain.vo.WmsDeliveryPlanVo; import com.klp.common.core.mapper.BaseMapperPlus; import com.klp.domain.vo.WmsDeliveryReportByTypeVo; import com.klp.domain.vo.WmsDeliveryReportSummaryVo; +import com.klp.domain.vo.WmsReceivingReportByTypeVo; +import com.klp.domain.vo.WmsReceivingReportSummaryVo; import org.apache.ibatis.annotations.Param; import java.util.Date; @@ -24,4 +26,10 @@ public interface WmsDeliveryPlanMapper extends BaseMapperPlus selectDeliveryReportByType(@Param("startTime")Date startTime, @Param("endTime")Date endTime); WmsDeliveryReportSummaryVo selectDeliveryReportSummary(@Param("startTime") Date startTime, @Param("endTime") Date endTime); + + List selectReceivingReportByType(@Param("startTime") Date startTime, + @Param("endTime") Date endTime); + + WmsReceivingReportSummaryVo selectReceivingReportSummary(@Param("startTime") Date startTime, + @Param("endTime") Date endTime); } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java index 362c7125..722a940a 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java @@ -8,6 +8,7 @@ import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.klp.domain.vo.WmsDeliveryReportResultVo; import com.klp.domain.vo.WmsMaterialCoilVo; +import com.klp.domain.vo.WmsReceivingReportResultVo; import java.util.Collection; import java.util.Date; @@ -63,4 +64,9 @@ public interface IWmsDeliveryPlanService { List getSelectableCoilsByPlanId(Long planId); + /** + * 获取收货报表统计信息(包含汇总和按类型统计) + */ + WmsReceivingReportResultVo getReceivingReport(Date startTime, Date endTime); + } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java index 486739fb..795213be 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsDeliveryPlanServiceImpl.java @@ -188,6 +188,19 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService { return result; } + /** + * 获取收货报表统计信息 + */ + @Override + public WmsReceivingReportResultVo getReceivingReport(Date startTime, Date endTime) { + WmsReceivingReportResultVo result = new WmsReceivingReportResultVo(); + WmsReceivingReportSummaryVo summary = baseMapper.selectReceivingReportSummary(startTime, endTime); + result.setSummary(summary); + List details = baseMapper.selectReceivingReportByType(startTime, endTime); + result.setDetails(details); + return result; + } + @Override public List getSelectableCoilsByPlanId(Long planId) { if (planId == null) { diff --git a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml index 32cb8357..2d485c78 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml @@ -84,7 +84,9 @@ END as dailyWeight FROM wms_delivery_waybill_detail dwd LEFT JOIN wms_delivery_waybill dw ON dwd.waybill_id = dw.waybill_id AND dw.del_flag = 0 + LEFT JOIN wms_delivery_plan dp ON dw.plan_id = dp.plan_id AND dp.del_flag = 0 WHERE dwd.del_flag = 0 + AND dp.plan_type = 0 AND dw.create_time >= #{startTime} @@ -118,7 +120,9 @@ #{endTime} as endTime FROM wms_delivery_waybill_detail dwd LEFT JOIN wms_delivery_waybill dw ON dwd.waybill_id = dw.waybill_id AND dw.del_flag = 0 + LEFT JOIN wms_delivery_plan dp ON dw.plan_id = dp.plan_id AND dp.del_flag = 0 WHERE dwd.del_flag = 0 + AND dp.plan_type = 0 AND dw.create_time >= #{startTime} @@ -128,4 +132,65 @@ + + + + + +