diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleStatisticsController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleStatisticsController.java new file mode 100644 index 000000000..29035e9ba --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionStockArticleStatisticsController.java @@ -0,0 +1,26 @@ +package com.logpm.distribution.controller; + +import com.logpm.distribution.dto.DistributionStockArticleOweDTO; +import com.logpm.distribution.dto.DistributionStockArticleStatisticsDTO; +import com.logpm.distribution.service.IDistributionStockArticleStatisticsService; +import io.swagger.annotations.Api; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.tool.api.R; +import org.springframework.web.bind.annotation.*; + +@RestController +@AllArgsConstructor +@Api(value = "配送在库订单统计", tags = "配送在库订单统计") +@RequestMapping(value = "/distributionStockArticleStatistics") +public class DistributionStockArticleStatisticsController extends BladeController { + + private IDistributionStockArticleStatisticsService distributionStockArticleStatisticsService; + + @GetMapping(value = "/collect") + public R collect(@RequestParam(required = false) DistributionStockArticleOweDTO distributionStockArticleOweDTO) { + DistributionStockArticleStatisticsDTO collect = distributionStockArticleStatisticsService.collect(distributionStockArticleOweDTO); + return R.data(collect); + } + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleStatisticsDTO.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleStatisticsDTO.java new file mode 100644 index 000000000..f0fce8306 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/dto/DistributionStockArticleStatisticsDTO.java @@ -0,0 +1,26 @@ +package com.logpm.distribution.dto; + +import lombok.Data; + +/** + * 在库订单统计数据 + */ +@Data +public class DistributionStockArticleStatisticsDTO { + + /** + * 订单总数 + */ + private Long orderNum; + + /** + * 运单总数 + */ + private Long WaybillNum; + + /** + * 包件总数 + */ + private Long packageCodeNum; + +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleStatisticsMapper.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleStatisticsMapper.java new file mode 100644 index 000000000..6ddbe4107 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleStatisticsMapper.java @@ -0,0 +1,13 @@ +package com.logpm.distribution.mapper; + +import com.logpm.distribution.dto.DistributionStockArticleOweDTO; +import com.logpm.distribution.dto.DistributionStockArticleStatisticsDTO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface DistributionStockArticleStatisticsMapper { + DistributionStockArticleStatisticsDTO collect(@Param("param") DistributionStockArticleOweDTO distributionStockArticleOweDTO); +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleStatisticsMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleStatisticsMapper.xml new file mode 100644 index 000000000..7de78c661 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockArticleStatisticsMapper.xml @@ -0,0 +1,128 @@ + + + + + diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleStatisticsService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleStatisticsService.java new file mode 100644 index 000000000..6f673f1fa --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionStockArticleStatisticsService.java @@ -0,0 +1,8 @@ +package com.logpm.distribution.service; + +import com.logpm.distribution.dto.DistributionStockArticleOweDTO; +import com.logpm.distribution.dto.DistributionStockArticleStatisticsDTO; + +public interface IDistributionStockArticleStatisticsService { + DistributionStockArticleStatisticsDTO collect(DistributionStockArticleOweDTO distributionStockArticleOweDTO); +} diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleStatisticsServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleStatisticsServiceImpl.java new file mode 100644 index 000000000..cbdec4339 --- /dev/null +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleStatisticsServiceImpl.java @@ -0,0 +1,76 @@ +package com.logpm.distribution.service.impl; + + +import com.logpm.basicdata.entity.BasicdataWarehouseEntity; +import com.logpm.basicdata.feign.IBasicdataWarehouseClient; +import com.logpm.distribution.dto.DistributionStockArticleOweDTO; +import com.logpm.distribution.dto.DistributionStockArticleStatisticsDTO; +import com.logpm.distribution.mapper.DistributionStockArticleStatisticsMapper; +import com.logpm.distribution.service.IDistributionStockArticleStatisticsService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springblade.common.utils.CommonUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.core.tool.utils.ObjectUtil; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 在库订单的统计 + */ +@Service +@AllArgsConstructor +@Slf4j +public class DistributionStockArticleStatisticsServiceImpl implements IDistributionStockArticleStatisticsService { + + private DistributionStockArticleStatisticsMapper distributionStockArticleStatisticsMapper; + + private IBasicdataWarehouseClient warehouseClient; + + @Override + public DistributionStockArticleStatisticsDTO collect(DistributionStockArticleOweDTO distributionStockArticleOweDTO) { + if (distributionStockArticleOweDTO == null) { + distributionStockArticleOweDTO = new DistributionStockArticleOweDTO(); + } + if (Func.isNotEmpty(distributionStockArticleOweDTO.getOrderCodeNum())) { + String anumbering = distributionStockArticleOweDTO.getOrderCodeNum().trim(); + List list = CommonUtil.stringNum(anumbering); + if (list.size() > 1) { + distributionStockArticleOweDTO.setOrderCodeNumList(list); + } else { + distributionStockArticleOweDTO.setOrderCodeNumLike(anumbering); + } + } + if (Func.isNotEmpty(distributionStockArticleOweDTO.getWaybillNum())) { + String waybill = distributionStockArticleOweDTO.getWaybillNum().trim(); + List list = CommonUtil.stringNum(waybill); + if (list.size() > 1) { + distributionStockArticleOweDTO.setWaybillNumList(list); + } else { + distributionStockArticleOweDTO.setWaybillNumLike(waybill); + } + } + if (ObjectUtil.isNotEmpty(distributionStockArticleOweDTO.getIds())) { + String ids = distributionStockArticleOweDTO.getIds().trim(); + List list = CommonUtil.stringNum(ids); + if (list.size() > 1) { + distributionStockArticleOweDTO.setIdsList(list); + } else { + distributionStockArticleOweDTO.setIdsLike(ids); + } + } + + List myWarehouseList = warehouseClient.getMyWatchWarehouse(); + List collect = myWarehouseList.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList()); + + if (collect.size() > 1) { + distributionStockArticleOweDTO.setWarehouseIdList(collect); + } else if (collect.size() == 1) { + distributionStockArticleOweDTO.setWarehouseId(collect.get(0)); + } + + return distributionStockArticleStatisticsMapper.collect(distributionStockArticleOweDTO); + } +}