Parcourir la source

[update] 优化今日司机在途逻辑链

miajio il y a 3 semaines
Parent
commit
0b638ebf0b

+ 2 - 1
warehouse-admin-component/src/main/java/com/yr/warehouse/admin/component/areastaff/AreaStaffComponent.java

@@ -4,6 +4,7 @@ import com.supplychain.api.request.areastaff.AreaStaffSearchRequest;
 import com.supplychain.api.response.areastaff.AreaStaffResponse;
 import com.supplychain.api.server.areastaff.AreaStaffApi;
 import com.yr.warehouse.admin.component.apollo.ApolloConfigEvent;
+import com.yr.warehouse.admin.component.common.DubboUrl;
 import jakarta.annotation.Resource;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Component;
@@ -17,7 +18,7 @@ import java.util.stream.Collectors;
  */
 @Component
 public class AreaStaffComponent {
-    @DubboReference(timeout = 5000, retries = 0/* , url="dubbo://127.0.0.1:22888" */)
+    @DubboReference(timeout = 5000, retries = 0, url= DubboUrl.SUPPLY_CHAIN_URL)
     private AreaStaffApi areaStaffApi;
     @Resource
     private ApolloConfigEvent apolloConfigEvent;

+ 15 - 0
warehouse-admin-component/src/main/java/com/yr/warehouse/admin/component/common/DubboUrl.java

@@ -0,0 +1,15 @@
+package com.yr.warehouse.admin.component.common;
+
+// DubboUrl
+public class DubboUrl {
+
+    /**
+     * 供应链DUBBO服务地址
+     */
+    public static final String SUPPLY_CHAIN_URL = "dubbo://127.0.0.1:22888";
+
+    /**
+     * SHOPPING DUBBO服务地址
+     */
+    public static final String SHOPPING_ADMIN_URL = "dubbo://127.0.0.1:21888";
+}

+ 1 - 1
warehouse-admin-component/src/main/java/com/yr/warehouse/admin/component/device/DeviceCargoWayComponent.java

@@ -10,7 +10,7 @@ import org.springframework.stereotype.Component;
 @Component
 public class DeviceCargoWayComponent {
 
-    @DubboReference(timeout = 5000, retries = 0 , url="dubbo://127.0.0.1:22888" )
+    @DubboReference(timeout = 5000, retries = 0 /*, url="dubbo://127.0.0.1:22888"*/ )
     private DeviceCargoWayApi deviceCargoWayApi;
 
 }

+ 5 - 2
warehouse-admin-component/src/main/java/com/yr/warehouse/admin/component/driver/DriverDeviceSalesComponent.java

@@ -1,9 +1,11 @@
 package com.yr.warehouse.admin.component.driver;
 
+import com.yr.bluecat.common.entity.response.Result;
 import com.yr.shopping.admin.support.DriverDeviceSalesApi;
 import com.yr.shopping.admin.support.request.DriverDeviceSalesRequest;
 import com.yr.shopping.admin.support.response.DriverDeviceSalesResponse;
 import com.yr.warehouse.admin.component.apollo.ApolloConfigEvent;
+import com.yr.warehouse.admin.component.common.DubboUrl;
 import jakarta.annotation.Resource;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Component;
@@ -16,7 +18,7 @@ import java.util.List;
  */
 @Component
 public class DriverDeviceSalesComponent {
-    @DubboReference(timeout = 5000, retries = 0 /*, url="dubbo://127.0.0.1:21888" */)
+    @DubboReference(timeout = 5000, retries = 0, url=DubboUrl.SHOPPING_ADMIN_URL)
     private DriverDeviceSalesApi driverDeviceSalesApi;
     @Resource
     private ApolloConfigEvent apolloConfigEvent;
@@ -31,7 +33,8 @@ public class DriverDeviceSalesComponent {
         request.setAppId(apolloConfigEvent.getAppId());
         request.setStartTime(startTime);
         request.setEndTime(endTime);
-        return driverDeviceSalesApi.list(request).getData();
+        Result<List<DriverDeviceSalesResponse>> result = driverDeviceSalesApi.list(request);
+        return result.getData();
     }
 
 }

+ 2 - 1
warehouse-admin-component/src/main/java/com/yr/warehouse/admin/component/goods/ProductComponent.java

@@ -3,6 +3,7 @@ package com.yr.warehouse.admin.component.goods;
 import com.supplychain.api.response.basegoods.ProductSkuResponse;
 import com.supplychain.api.server.basegoods.ProductApi;
 import com.yr.bluecat.common.entity.response.Result;
+import com.yr.warehouse.admin.component.common.DubboUrl;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.stereotype.Component;
 
@@ -13,7 +14,7 @@ import java.util.List;
  */
 @Component
 public class ProductComponent {
-    @DubboReference(timeout = 5000, retries = 0/*, url="dubbo://127.0.0.1:22888"*/ )
+    @DubboReference(timeout = 5000, retries = 0, url= DubboUrl.SUPPLY_CHAIN_URL)
     private ProductApi productApi;
 
     /**

+ 6 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/mapper/DriverEquipmentLossRecordMapper.java

@@ -37,4 +37,10 @@ public interface DriverEquipmentLossRecordMapper extends BaseMapper<DriverEquipm
      * @return 查询结果
      */
     List<DriverEquipmentLossRecord> searchGeneratorParam(@Param("bo") DriverIntervalCargoDamageGeneratorBo bo);
+
+    /**
+     * 删除旧数据
+     * @param statDate 统计日期
+     */
+    void deleteOld(@Param("statDate") LocalDate statDate);
 }

+ 6 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/mapper/DriverGoodsLossRecordMapper.java

@@ -47,4 +47,10 @@ public interface DriverGoodsLossRecordMapper extends BaseMapper<DriverGoodsLossR
      * @param bo 查询参数
      */
     List<DriverGoodsLossRecord> searchGeneratorParam(@Param("bo") DriverIntervalCargoDamageGeneratorBo bo);
+
+    /**
+     * 删除旧数据
+     * @param statDate 统计日期
+     */
+    void deleteOld(@Param("statDate") LocalDate statDate);
 }

+ 6 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/mapper/DriverOnRouteDetailLogMapper.java

@@ -40,4 +40,10 @@ public interface DriverOnRouteDetailLogMapper extends BaseMapper<DriverOnRouteDe
      * @return 列表
      */
     Page<DriverRouteDetailVo> searchForPage(@Param("page") Page<DriverRouteDetailVo> page, @Param("bo") DriverRouteDetailPageBo bo);
+
+    /**
+     * 删除旧数据
+     * @param statDate 统计日期
+     */
+    void deleteOld(@Param("statDate") LocalDate statDate);
 }

+ 3 - 0
warehouse-admin-data/src/main/resources/mapper/driver/DriverEquipmentLossRecordMapper.xml

@@ -35,6 +35,9 @@
             )
         </foreach>
     </insert>
+    <delete id="deleteOld" parameterType="java.time.LocalDate">
+        delete from yr_driver_equipment_loss_record where statDate = #{statDate}
+    </delete>
     <select id="searchByStatDate" resultType="com.yr.warehouse.admin.driver.data.DriverEquipmentLossRecord"
             parameterType="java.time.LocalDate">
         select

+ 3 - 0
warehouse-admin-data/src/main/resources/mapper/driver/DriverGoodsLossRecordMapper.xml

@@ -41,6 +41,9 @@
             )
         </foreach>
     </insert>
+    <delete id="deleteOld" parameterType="java.time.LocalDate">
+        delete from yr_driver_goods_loss_record where statDate = #{statDate}
+    </delete>
     <select id="searchByStatDate"
             resultType="com.yr.warehouse.admin.driver.data.DriverGoodsLossRecord"
             parameterType="java.time.LocalDate">

+ 3 - 0
warehouse-admin-data/src/main/resources/mapper/driver/DriverOnRouteDetailLogMapper.xml

@@ -38,6 +38,9 @@
             #{item.profitLossNum})
         </foreach>
     </insert>
+    <delete id="deleteOld" parameterType="java.time.LocalDate">
+        delete from yr_driver_on_route_detail_log where statDate = #{statDate}
+    </delete>
     <select id="searchByStatDate" resultType="com.yr.warehouse.admin.driver.data.DriverOnRouteDetailLog"
             parameterType="java.time.LocalDate">
         select <include refid="Base_Column_List" /> from yr_driver_on_route_detail_log where statDate = #{statDate}

+ 13 - 3
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/service/statistics/impl/DriverStatisticsImpl.java

@@ -77,6 +77,11 @@ public class DriverStatisticsImpl implements DriverStatistics {
         // 货损统计业务开始
         log.info(String.format("司机货损统计开始:开始时间[%s], 结束时间[%s]", beginTime, endTime));
 
+
+        driverGoodsLossRecordMapper.deleteOld(statDate);
+        driverEquipmentLossRecordMapper.deleteOld(statDate);
+        driverOnRouteDetailLogMapper.deleteOld(statDate);
+
         // 司机设备库存 - 不含商品id - 需锚定司机设备库存, 保证异常情况后重新查询时设备库存值不变
         List<DriverGoodsOrderNumVo> deviceInventoryNumVos = queryDriverDeviceInventoryNum(beginTime, endTime);
         // 司机拣货单开单数 - 含商品id
@@ -98,14 +103,16 @@ public class DriverStatisticsImpl implements DriverStatistics {
         List<DriverGoodsOrderNumVo> driverDeviceSalesNumVos = DriverStatisticsMapStruct.INSTANCE.driverDeviceSalesToVo(driverDeviceSalesResponses);
 
         // 提取所有数据中的司机ID并去重
-        List<Long> areaStaffIds = driverStatisticsMergeLogic.getAreaStaffIds(driverDeviceSalesNumVos,
+        List<Long> areaStaffIds = driverStatisticsMergeLogic.getAreaStaffIds(
+                deviceInventoryNumVos,
                 pickingBillingQuantityNumVos,
                 aggregationBillingQuantityNumVos,
                 unOutStockCancelNumVos,
                 outStockCancelNumVos,
                 driverReplenishNumVos,
                 deviceReplenishNumVos,
-                driverReturnNumVos);
+                driverReturnNumVos,
+                driverDeviceSalesNumVos);
 
         List<AreaStaffResponse> areaStaffResponses = areaStaffComponent.searchByStaffIds(areaStaffIds);
         Map<Long, AreaStaffResponse> areaStaffMap = areaStaffResponses.stream().collect(Collectors.toMap(AreaStaffResponse::getId, areaStaffResponse -> areaStaffResponse));
@@ -143,8 +150,10 @@ public class DriverStatisticsImpl implements DriverStatistics {
                 driverStatisticsMergeLogic.groupByAreaStaffGoods(driverReplenishNumVos),
                 driverStatisticsMergeLogic.groupByAreaStaffGoods(driverReturnNumVos)
         );
+        if (!driverOnRouteDetailLogs.isEmpty()) {
+            driverOnRouteDetailLogMapper.insertBatch(driverOnRouteDetailLogs);
+        }
 
-        driverOnRouteDetailLogMapper.insertBatch(driverOnRouteDetailLogs);
         log.info(String.format("司机货损统计结束:开始时间[%s], 结束时间[%s]", beginTime, endTime));
     }
 
@@ -347,6 +356,7 @@ public class DriverStatisticsImpl implements DriverStatistics {
         mapList.add(outStockCancelNumVoMap);
         mapList.add(driverReplenishNumVoMap);
         mapList.add(driverReturnNumVoMap);
+        mapList.add(yesterdayDriverOnRouteDetailLogMap);
 
         List<DriverOnRouteDetailLog> result = new ArrayList<>();
 

+ 5 - 1
warehouse-admin-web/src/main/resources/application.yml

@@ -4,4 +4,8 @@ apollo:
   bootstrap:
     enabled: true
     eagerLoad:
-      enabled: true
+      enabled: true
+
+dubbo:
+  application:
+    qos-port: 22878