|
@@ -3,11 +3,14 @@ package com.sd.business.service.order.impl;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.tenant.entity.dict.po.DictCommonData;
|
|
|
+import com.fjhx.tenant.service.dict.DictCommonDataService;
|
|
|
import com.ruoyi.common.core.domain.BaseIdPo;
|
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import com.sd.business.entity.board.bo.TurnoverRateSalesShipmentStatisticsBo;
|
|
|
import com.sd.business.entity.board.dto.TurnoverRateBoardSelectDto;
|
|
|
import com.sd.business.entity.board.vo.TurnoverRateStatisticsVo;
|
|
|
+import com.sd.business.entity.bom.po.Bom;
|
|
|
import com.sd.business.entity.bom.po.BomClassify;
|
|
|
import com.sd.business.entity.bom.po.BomSpec;
|
|
|
import com.sd.business.entity.department.constant.DepartmentConstant;
|
|
@@ -56,6 +59,9 @@ public class OrderSalesShipmentStatisticsServiceImpl extends ServiceImpl<OrderSa
|
|
|
@Autowired
|
|
|
private InventoryBackupService inventoryBackupService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private DictCommonDataService dictCommonDataService;
|
|
|
+
|
|
|
@Override
|
|
|
public List<OrderSalesShipmentStatisticsVo> getSalesShipmentStatisticsByDate(OrderSalesShipmentStatisticsDto dto) {
|
|
|
IWrapper<OrderSalesShipmentStatistics> wrapper = getWrapper();
|
|
@@ -83,11 +89,16 @@ public class OrderSalesShipmentStatisticsServiceImpl extends ServiceImpl<OrderSa
|
|
|
wrapper.orderByDesc("osss", OrderSalesShipmentStatistics::getId);
|
|
|
wrapper.between("osss", OrderSalesShipmentStatistics::getTotalDate, ninetyDaysDate, endDate);
|
|
|
if (Objects.equals(dto.getBomClassify(), 1)) {
|
|
|
- wrapper.in("bc", BomClassify::getCode, Arrays.asList("201.G","203.G"));
|
|
|
+ wrapper.eq("bc", BomClassify::getCode, "201.G");
|
|
|
} else if (Objects.equals(dto.getBomClassify(), 2)){
|
|
|
wrapper.eq("bc", BomClassify::getCode,"202.G");
|
|
|
+ } else if (Objects.equals(dto.getBomClassify(), 3)) {
|
|
|
+ wrapper.eq("bc", BomClassify::getCode,"203.G");
|
|
|
}
|
|
|
wrapper.ne("bs", BomSpec::getCode, "1010000007");
|
|
|
+ wrapper.eq("b", Bom::getChromatophore, dto.getChromatophore());
|
|
|
+ wrapper.like("bs", BomSpec::getWidth, dto.getWidth());
|
|
|
+ wrapper.like("bs", BomSpec::getHeight, dto.getHeight());
|
|
|
wrapper.groupBy("osss.bom_spec_id");
|
|
|
List<TurnoverRateSalesShipmentStatisticsBo> statisticsVoList = this.baseMapper.getTurnoverRateSalesShipmentStatisticsList(wrapper);
|
|
|
if (ObjectUtil.isEmpty(statisticsVoList)) {
|
|
@@ -95,6 +106,9 @@ public class OrderSalesShipmentStatisticsServiceImpl extends ServiceImpl<OrderSa
|
|
|
}
|
|
|
List<Long> bomSpecIds = statisticsVoList.stream().map(TurnoverRateSalesShipmentStatisticsBo::getBomSpecId).collect(Collectors.toList());
|
|
|
|
|
|
+ Map<String, String> bomChromatophoreMap = dictCommonDataService.list(q -> q.eq(DictCommonData::getDictCode, "bom_chromatophore"))
|
|
|
+ .stream().collect(Collectors.toMap(DictCommonData::getDictKey, DictCommonData::getDictValue));
|
|
|
+
|
|
|
// 查询前90、60、30天的所有库存数据
|
|
|
List<InventoryBackup> inventoryBackupList = inventoryBackupService.list(q -> q
|
|
|
.in(InventoryBackup::getBackupDate, ninetyDaysDate, sixtyDaysDate, thirtyDaysDate)
|
|
@@ -198,6 +212,9 @@ public class OrderSalesShipmentStatisticsServiceImpl extends ServiceImpl<OrderSa
|
|
|
TurnoverRateStatisticsVo vo = new TurnoverRateStatisticsVo();
|
|
|
vo.setBomSpecCode(item.getBomSpecCode());
|
|
|
vo.setBomSpecName(item.getBomSpecName());
|
|
|
+ vo.setWidth(item.getWidth());
|
|
|
+ vo.setHeight(item.getHeight());
|
|
|
+ vo.setChromatophore(bomChromatophoreMap.get(item.getChromatophore()));
|
|
|
vo.setSalesQuantityThirtyDays(item.getThirtyDaysSalesQuantity());
|
|
|
vo.setSalesQuantitySixtyDays(item.getSixtyDaysSalesQuantity());
|
|
|
vo.setSalesQuantityNinetyDays(item.getNinetyDaysSalesQuantity());
|