Browse Source

Merge branch 'dev' into pre-production

pre-production
pref_mail@163.com 2 months ago
parent
commit
c6b2f1df1f
  1. 6
      blade-service/logpm-data-sharing/src/main/java/com/logpm/datasharing/service/impl/LogpmDataSearchServiceImpl.java
  2. 3
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/largeScreen/BusinessRatioMapper.java
  3. 6
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/largeScreen/BusinessRatioMapper.xml
  4. 93
      blade-service/logpm-report/src/main/java/com/logpm/report/service/largeScreen/impl/BillingDataServiceImpl.java
  5. 39
      blade-service/logpm-report/src/main/java/com/logpm/report/service/largeScreen/impl/BusinessRationServiceImpl.java
  6. 2
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/largeScreen/BusinessRatio/ItemDataVO.java
  7. 10
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/largeScreen/BusinessRatio/MapBrandVO.java

6
blade-service/logpm-data-sharing/src/main/java/com/logpm/datasharing/service/impl/LogpmDataSearchServiceImpl.java

@ -317,13 +317,13 @@ public class LogpmDataSearchServiceImpl implements ILogpmDataSearchService {
if (signListByWaybillNumber != null && !signListByWaybillNumber.isEmpty()) { if (signListByWaybillNumber != null && !signListByWaybillNumber.isEmpty()) {
//统计装车数量load_num //统计装车数量load_num
int loadNum = signListByWaybillNumber.stream().mapToInt(QualityDeliverEntity::getLoadNum).sum(); int loadNum = signListByWaybillNumber.stream().filter(t-> t.getLoadNum()!=null).mapToInt(QualityDeliverEntity::getLoadNum).sum();
// 计划配送数 plan_num // 计划配送数 plan_num
int planNum = signListByWaybillNumber.stream().mapToInt(QualityDeliverEntity::getPlanNum).sum(); int planNum = signListByWaybillNumber.stream().filter(t-> t.getPlanNum()!=null).mapToInt(QualityDeliverEntity::getPlanNum).sum();
// 计算签收数量sign_num // 计算签收数量sign_num
int signNum = signListByWaybillNumber.stream().mapToInt(QualityDeliverEntity::getSignNum).sum(); int signNum = signListByWaybillNumber.stream().filter(t-> t.getSignNum()!=null).mapToInt(QualityDeliverEntity::getSignNum).sum();
// 配送装车 // 配送装车
QualityDeliverEntity qualityDeliverEntity = signListByWaybillNumber.get(0); QualityDeliverEntity qualityDeliverEntity = signListByWaybillNumber.get(0);

3
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/largeScreen/BusinessRatioMapper.java

@ -2,6 +2,7 @@ package com.logpm.report.mapper.largeScreen;
import com.logpm.report.vo.largeScreen.BusinessRatio.ItemDataVO; import com.logpm.report.vo.largeScreen.BusinessRatio.ItemDataVO;
import com.logpm.report.vo.largeScreen.BusinessRatio.MapBrandVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@ -12,4 +13,6 @@ public interface BusinessRatioMapper {
List<ItemDataVO> getTypeData(String startTime, String endTime); List<ItemDataVO> getTypeData(String startTime, String endTime);
List<ItemDataVO> getBrandData(String startTime, String endTime); List<ItemDataVO> getBrandData(String startTime, String endTime);
List<MapBrandVO> getAllBrand();
} }

6
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/largeScreen/BusinessRatioMapper.xml

@ -19,4 +19,10 @@
order by SUM(total_count) desc order by SUM(total_count) desc
limit 5 limit 5
</select> </select>
<select id="getAllBrand" resultType="com.logpm.report.vo.largeScreen.BusinessRatio.MapBrandVO">
select
brand_name as brand,
id
from logpm_platform.logpm_basicdata_brand
</select>
</mapper> </mapper>

93
blade-service/logpm-report/src/main/java/com/logpm/report/service/largeScreen/impl/BillingDataServiceImpl.java

@ -14,10 +14,11 @@ import lombok.extern.log4j.Log4j2;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service("张三") @Service
@Log4j2 @Log4j2
@AllArgsConstructor @AllArgsConstructor
@Primary @Primary
@ -30,24 +31,24 @@ public class BillingDataServiceImpl implements IBillingDataService {
public BillingDataVO getBillingData() { public BillingDataVO getBillingData() {
// 今天的数据 // 今天的数据
BillingDataInfoVO today = billingDataMapper.getBillingData( BillingDataInfoVO today = billingDataMapper.getBillingData(
DateUtil.format(new Date(), "2024-MM-dd 00:00:00"), DateUtil.format(new Date(), "yyyy-MM-dd 00:00:00"),
DateUtil.format(new Date(), "2024-MM-dd 23:59:59") DateUtil.format(new Date(), "yyyy-MM-dd 23:59:59")
); );
// 当月的数据 // 当月的数据
BillingDataInfoVO month = billingDataMapper.getBillingData( BillingDataInfoVO month = billingDataMapper.getBillingData(
DateUtil.format(new Date(), "2024-MM-01 00:00:00"), DateUtil.format(new Date(), "yyyy-MM-01 00:00:00"),
DateUtil.format(new Date(), "2024-MM-31 23:59:59") DateUtil.format(new Date(), "yyyy-MM-31 23:59:59")
); );
// 年的数据 // 年的数据
BillingDataInfoVO year = billingDataMapper.getBillingData( BillingDataInfoVO year = billingDataMapper.getBillingData(
DateUtil.format(new Date(), "2024-01-01 00:00:00"), DateUtil.format(new Date(), "yyyy-01-01 00:00:00"),
DateUtil.format(new Date(), "2024-12-31 23:59:59") DateUtil.format(new Date(), "yyyy-12-31 23:59:59")
); );
BillingDataVO billingDataVO = new BillingDataVO(); BillingDataVO billingDataVO = new BillingDataVO();
billingDataVO.setToday(today); billingDataVO.setToday(today == null ? new BillingDataInfoVO() : today);
billingDataVO.setMonth(month); billingDataVO.setMonth(month == null ? new BillingDataInfoVO() : month);
billingDataVO.setYear(year); billingDataVO.setYear(year == null ? new BillingDataInfoVO() : year);
return billingDataVO; return billingDataVO;
} }
@ -55,44 +56,56 @@ public class BillingDataServiceImpl implements IBillingDataService {
@Override @Override
public List<WarehouseBillingDataVO> getWarehouseBillingData() { public List<WarehouseBillingDataVO> getWarehouseBillingData() {
List<WarehouseInfoVO> warehouselist = mapWarehouseMapper.warehouselist(); List<WarehouseInfoVO> warehouselist = mapWarehouseMapper.warehouselist();
// List<WarehouseBillingDataVO> warehouseBillingData = billingDataMapper.getWarehouseBillingData(
// DateUtil.format(new Date(), "yyyy-01-01 00:00:00"),
// DateUtil.format(new Date(), "yyyy-12-31 23:59:59")
// );
List<WarehouseBillingDataVO> warehouseBillingData = billingDataMapper.getWarehouseBillingData( List<WarehouseBillingDataVO> warehouseBillingData = billingDataMapper.getWarehouseBillingData(
DateUtil.format(new Date(), "2024-01-01 00:00:00"), DateUtil.format(new Date(), "yyyy-01-01 00:00:00"),
DateUtil.format(new Date(), "2024-12-31 23:59:59") DateUtil.format(new Date(), "yyyy-12-31 23:59:59")
); );
Map<Long, WarehouseInfoVO> warehouseBillingDataMap = warehouselist.stream().collect(Collectors.toMap(WarehouseInfoVO::getWarehouseId, v -> v)); Map<Long, WarehouseBillingDataVO> warehouseBillingMapData = warehouseBillingData.stream().collect(Collectors.toMap(WarehouseBillingDataVO::getWarehouseId, v -> v));
List<WarehouseBillingDataVO> res = null;
try {
res = warehouseBillingData.stream()
.peek(WarehouseBillingDataVO -> {
if (warehouseBillingDataMap.get(WarehouseBillingDataVO.getWarehouseId()) != null) {
WarehouseBillingDataVO.setWarehouseName(warehouseBillingDataMap.get(WarehouseBillingDataVO.getWarehouseId()).getWarehouseName());
}
})
.sorted((WarehouseBillingDataVO o1, WarehouseBillingDataVO o2) -> o2.getTotal() - o1.getTotal())
.collect(Collectors.toList());
}catch (Exception e){
log.error("数据异常", e);
}
return res; List<WarehouseBillingDataVO> res = new ArrayList<>();
warehouselist.forEach(warehouseInfoVO -> {
WarehouseBillingDataVO warehouseBillingDataVO = warehouseBillingMapData.get(warehouseInfoVO.getWarehouseId());
if (warehouseBillingDataVO == null) {
warehouseBillingDataVO = new WarehouseBillingDataVO();
warehouseBillingDataVO.setWarehouseId(warehouseInfoVO.getWarehouseId());
warehouseBillingDataVO.setTotal(0);
warehouseBillingDataVO.setValue(0);
}
warehouseBillingDataVO.setWarehouseName(warehouseInfoVO.getWarehouseName());
res.add(warehouseBillingDataVO);
});
return res.stream().sorted((o1, o2) -> o2.getTotal() - o1.getTotal()).collect(Collectors.toList());
} }
@Override @Override
public List<MonthBillingDataVO> getMonthBillingData() { public List<MonthBillingDataVO> getMonthBillingData() {
// return billingDataMapper.getMonthBillingData( List<MonthBillingDataVO> monthBillingData = billingDataMapper.getMonthBillingData(
// DateUtil.format(new Date(), "yyyy-01-01 00:00:00"), DateUtil.format(new Date(), "yyyy-01-01 00:00:00"),
// DateUtil.format(new Date(), "yyyy-12-31 23:59:59") DateUtil.format(new Date(), "yyyy-12-31 23:59:59")
// );
return billingDataMapper.getMonthBillingData(
DateUtil.format(new Date(), "2024-01-01 00:00:00"),
DateUtil.format(new Date(), "2024-12-31 23:59:59")
); );
ArrayList<MonthBillingDataVO> res = new ArrayList<>();
Map<String, MonthBillingDataVO> monthKeyData = monthBillingData.stream().collect(Collectors.toMap(MonthBillingDataVO::getMonth, v -> v));
List<String> monthList = Arrays.asList("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
monthList.forEach(month -> {
month = LocalDate.now().getYear() + "-" + month;
MonthBillingDataVO monthBillingDataVO = monthKeyData.get(month);
if (monthBillingDataVO == null) {
monthBillingDataVO = new MonthBillingDataVO();
monthBillingDataVO.setMonth(month);
monthBillingDataVO.setTotal(0);
monthBillingDataVO.setValue(0);
monthBillingDataVO.setVolume("0");
monthBillingDataVO.setWeight("0");
}
res.add(monthBillingDataVO);
});
return res;
} }
} }

39
blade-service/logpm-report/src/main/java/com/logpm/report/service/largeScreen/impl/BusinessRationServiceImpl.java

@ -1,7 +1,11 @@
package com.logpm.report.service.largeScreen.impl; package com.logpm.report.service.largeScreen.impl;
import com.alibaba.fastjson.JSONObject;
import com.logpm.basicdata.feign.IBasicdataBrandClient;
import com.logpm.report.mapper.largeScreen.BusinessRatioMapper; import com.logpm.report.mapper.largeScreen.BusinessRatioMapper;
import com.logpm.report.service.largeScreen.IBusinessRationService; import com.logpm.report.service.largeScreen.IBusinessRationService;
import com.logpm.report.vo.largeScreen.BusinessRatio.ItemDataVO;
import com.logpm.report.vo.largeScreen.BusinessRatio.MapBrandVO;
import com.logpm.report.vo.largeScreen.BusinessRatioDataVO; import com.logpm.report.vo.largeScreen.BusinessRatioDataVO;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
@ -10,6 +14,8 @@ import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
@Service @Service
@ -19,18 +25,37 @@ public class BusinessRationServiceImpl implements IBusinessRationService {
private final BusinessRatioMapper businessRatioMapper; private final BusinessRatioMapper businessRatioMapper;
private final IBasicdataBrandClient basicdataBrandClient;
@Override @Override
public BusinessRatioDataVO getBusinessRatioData() { public BusinessRatioDataVO getBusinessRatioData() {
// String startTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-01-01 00:00:00")); String startTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-01-01 00:00:00"));
// String endTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-12-31 23:59:59")); String endTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-12-31 23:59:59"));
String startTime = "2024-01-01 00:00:00"; List<MapBrandVO> allBrand = businessRatioMapper.getAllBrand();
String endTime = "2024-12-31 23:59:59"; Map<String, ItemDataVO> brandInitData = new HashMap<>();
Map<String, ItemDataVO> typeInitData = new HashMap<>();
allBrand.forEach(v -> {
brandInitData.put(v.getBrand(), new ItemDataVO(v.getBrand(), 0));
});
Arrays.asList("0", "1", "2", "3", "4").forEach(v -> {
typeInitData.put(v, new ItemDataVO(v, 0));
});
List<ItemDataVO> brandData = businessRatioMapper.getBrandData(startTime, endTime);
List<ItemDataVO> typeData = businessRatioMapper.getTypeData(startTime, endTime);
brandData.forEach(v -> {
brandInitData.put(v.getName(), v);
});
typeData.forEach(v -> {
typeInitData.put(v.getName(), v);
});
BusinessRatioDataVO businessRatioDataVO = new BusinessRatioDataVO(); BusinessRatioDataVO businessRatioDataVO = new BusinessRatioDataVO();
businessRatioDataVO.setType(businessRatioMapper.getTypeData(startTime, endTime)); businessRatioDataVO.setType(new ArrayList<>(typeInitData.values()));
businessRatioDataVO.setBrand(businessRatioMapper.getBrandData(startTime, endTime)); businessRatioDataVO.setBrand(new ArrayList<>(brandInitData.values()));
return businessRatioDataVO; return businessRatioDataVO;
} }

2
blade-service/logpm-report/src/main/java/com/logpm/report/vo/largeScreen/BusinessRatio/ItemDataVO.java

@ -1,8 +1,10 @@
package com.logpm.report.vo.largeScreen.BusinessRatio; package com.logpm.report.vo.largeScreen.BusinessRatio;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@AllArgsConstructor
@Data @Data
public class ItemDataVO { public class ItemDataVO {
private String name; private String name;

10
blade-service/logpm-report/src/main/java/com/logpm/report/vo/largeScreen/BusinessRatio/MapBrandVO.java

@ -0,0 +1,10 @@
package com.logpm.report.vo.largeScreen.BusinessRatio;
import lombok.Data;
@Data
public class MapBrandVO {
private String brand;
private String id;
}
Loading…
Cancel
Save