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 7abe32ca..427c2298 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsDeliveryPlanController.java @@ -3,6 +3,7 @@ package com.klp.controller; import java.util.List; import java.util.Arrays; +import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -96,4 +97,15 @@ public class WmsDeliveryPlanController extends BaseController { @PathVariable Long[] planIds) { return toAjax(iWmsDeliveryPlanService.deleteWithValidByIds(Arrays.asList(planIds), true)); } + + /** + * 获取发货计划统计信息 + * + * @param planId 计划ID,可选 + */ + @GetMapping("/statistics") + public R> getStatistics(@RequestParam(required = false) Long planId) { + List statistics = iWmsDeliveryPlanService.getDeliveryPlanStatistics(planId); + return R.ok(statistics); + } } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanStatisticsVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanStatisticsVo.java new file mode 100644 index 00000000..3997531c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanStatisticsVo.java @@ -0,0 +1,46 @@ +package com.klp.domain.vo; + + +import lombok.Data; +import java.math.BigDecimal; + +/** + * 发货计划统计信息VO + */ +@Data +public class WmsDeliveryPlanStatisticsVo { + /** + * 计划ID + */ + private Long planId; + + /** + * 计划名称 + */ + private String planName; + + /** + * 发货单数量 + */ + private Integer waybillCount = 0; + + /** + * 总卷数 + */ + private Integer totalCoilCount = 0; + + /** + * 总吨数(吨) + */ + private BigDecimal totalWeight = BigDecimal.ZERO; + + /** + * 完成进度(百分比) + */ + private BigDecimal completionRate = BigDecimal.ZERO; + + /** + * 已完成发货单数量 + */ + private Integer completedWaybillCount = 0; +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java index 87f0716d..63c35993 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryPlanVo.java @@ -1,11 +1,14 @@ package com.klp.domain.vo; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.klp.common.annotation.ExcelDictFormat; import com.klp.common.convert.ExcelDictConvert; +import com.klp.common.core.domain.BaseEntity; import lombok.Data; @@ -17,7 +20,7 @@ import lombok.Data; */ @Data @ExcelIgnoreUnannotated -public class WmsDeliveryPlanVo { +public class WmsDeliveryPlanVo extends BaseEntity { private static final long serialVersionUID = 1L; @@ -46,5 +49,9 @@ public class WmsDeliveryPlanVo { @ExcelProperty(value = "备注") private String remark; + /** + * 关联的发货单列表 + */ + private List waybills; } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryWaybillDetailVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryWaybillDetailVo.java index e89d106c..1d5c6864 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryWaybillDetailVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryWaybillDetailVo.java @@ -5,6 +5,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.klp.common.annotation.ExcelDictFormat; import com.klp.common.convert.ExcelDictConvert; +import com.klp.common.core.domain.BaseEntity; import lombok.Data; @@ -16,7 +17,7 @@ import lombok.Data; */ @Data @ExcelIgnoreUnannotated -public class WmsDeliveryWaybillDetailVo { +public class WmsDeliveryWaybillDetailVo extends BaseEntity { private static final long serialVersionUID = 1L; diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryWaybillVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryWaybillVo.java index ac8120e3..3a3e5e04 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryWaybillVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsDeliveryWaybillVo.java @@ -6,6 +6,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.klp.common.annotation.ExcelDictFormat; import com.klp.common.convert.ExcelDictConvert; +import com.klp.common.core.domain.BaseEntity; import lombok.Data; @@ -17,7 +18,7 @@ import lombok.Data; */ @Data @ExcelIgnoreUnannotated -public class WmsDeliveryWaybillVo { +public class WmsDeliveryWaybillVo extends BaseEntity { private static final long serialVersionUID = 1L; 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 472d5aac..9ba52ad2 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsDeliveryPlanMapper.java @@ -1,9 +1,12 @@ package com.klp.mapper; import com.klp.domain.WmsDeliveryPlan; +import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo; import com.klp.domain.vo.WmsDeliveryPlanVo; import com.klp.common.core.mapper.BaseMapperPlus; +import java.util.List; + /** * 发货计划Mapper接口 * @@ -12,4 +15,5 @@ import com.klp.common.core.mapper.BaseMapperPlus; */ public interface WmsDeliveryPlanMapper extends BaseMapperPlus { + List selectDeliveryPlanStatistics(Long planId); } 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 3eb01ebe..0b8ff7e2 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsDeliveryPlanService.java @@ -1,6 +1,7 @@ package com.klp.service; import com.klp.domain.WmsDeliveryPlan; +import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo; import com.klp.domain.vo.WmsDeliveryPlanVo; import com.klp.domain.bo.WmsDeliveryPlanBo; import com.klp.common.core.page.TableDataInfo; @@ -46,4 +47,6 @@ public interface IWmsDeliveryPlanService { * 校验并批量删除发货计划信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + List getDeliveryPlanStatistics(Long planId); } 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 c08b1163..a3d15177 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 @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; +import com.klp.domain.vo.WmsDeliveryPlanStatisticsVo; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.klp.domain.bo.WmsDeliveryPlanBo; @@ -15,6 +16,7 @@ import com.klp.domain.WmsDeliveryPlan; import com.klp.mapper.WmsDeliveryPlanMapper; import com.klp.service.IWmsDeliveryPlanService; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Collection; @@ -107,4 +109,15 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService { } return baseMapper.deleteBatchIds(ids) > 0; } + + + /** + * 获取发货计划统计信息 + * + * @param planId 计划ID,可选 + * @return 统计信息列表 + */ + public List getDeliveryPlanStatistics(Long planId) { + return baseMapper.selectDeliveryPlanStatistics(planId); + } } diff --git a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml index 341782bd..cebdcad3 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsDeliveryPlanMapper.xml @@ -16,5 +16,46 @@ + + +