6
0

2 Revīzijas 4088f88813 ... bd9dc110e3

Autors SHA1 Ziņojums Datums
  miajio bd9dc110e3 [update] 司机在途记录返回运营商id、运营商id链、运营商名称、运营商名称链 1 mēnesi atpakaļ
  miajio 126f51c225 [update] 司机货损统计 日货损中加入仓库id查询条件 1 mēnesi atpakaļ
14 mainītis faili ar 135 papildinājumiem un 5 dzēšanām
  1. 5 0
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/bo/DriverIntervalCargoDamagePageBo.java
  2. 22 1
      warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/vo/DriverRouteAccountRecordMainVo.java
  3. 10 2
      warehouse-admin-data/src/main/resources/mapper/driver/DriverGoodsLossIntervalMainMapper.xml
  4. 2 0
      warehouse-admin-data/src/main/resources/mapper/driver/DriverOnRouteAccountRecordMainMapper.xml
  5. 8 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/service/areastaff/AreaStaffService.java
  6. 21 0
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/service/areastaff/impl/AreaStaffServiceImpl.java
  7. 1 1
      warehouse-admin-server/src/main/java/com/yr/warehouse/admin/service/driver/DriverGoodsLossIntervalMainService.java
  8. 15 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/controller/DriverDailyCargoDamageController.java
  9. 5 1
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/controller/DriverIntervalCargoDamageController.java
  10. 6 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/export/DriverRouteAccountRecordMainExport.java
  11. 10 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/request/DriverDailyCargoDamageExportRequest.java
  12. 5 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/request/DriverDailyCargoDamagePageRequest.java
  13. 5 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/request/DriverIntervalCargoDamagePageRequest.java
  14. 20 0
      warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/response/DriverRouteAccountRecordMainResponse.java

+ 5 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/bo/DriverIntervalCargoDamagePageBo.java

@@ -26,6 +26,11 @@ public class DriverIntervalCargoDamagePageBo extends BasePageBo implements AreaS
     private Long operatorId;
 
     /**
+     * 仓库id
+     */
+    private Long warehouseId;
+
+    /**
      * 区域员工关系id
      */
     private List<Long> areaStaffIds;

+ 22 - 1
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/vo/DriverRouteAccountRecordMainVo.java

@@ -1,6 +1,7 @@
 package com.yr.warehouse.admin.driver.vo;
 
 import com.yr.warehouse.admin.areastaff.fase.AreaStaffIdFace;
+import com.yr.warehouse.admin.operator.face.OperatorNameFace;
 import lombok.Data;
 
 import java.io.Serial;
@@ -12,7 +13,7 @@ import java.time.LocalDateTime;
  * 司机在途核算记录vo
  */
 @Data
-public class DriverRouteAccountRecordMainVo implements AreaStaffIdFace, Serializable {
+public class DriverRouteAccountRecordMainVo implements AreaStaffIdFace, OperatorNameFace, Serializable {
 
     @Serial
     private static final long serialVersionUID = 1L;
@@ -23,6 +24,26 @@ public class DriverRouteAccountRecordMainVo implements AreaStaffIdFace, Serializ
     private Long id;
 
     /**
+     * 运营商id
+     */
+    private Long operatorId;
+
+    /**
+     * 运营商id链
+     */
+    private String operatorChain;
+
+    /**
+     * 运营商名称
+     */
+    private String operatorName;
+
+    /**
+     * 运营商名称链
+     */
+    private String operatorChainName;
+
+    /**
      * 区域员工id
      */
     private Long areaStaffId;

+ 10 - 2
warehouse-admin-data/src/main/resources/mapper/driver/DriverGoodsLossIntervalMainMapper.xml

@@ -62,8 +62,16 @@
         from yr_driver_goods_loss_interval_main as dglim
         left join yr_warehouse_info as wi on dglim.warehouseId = wi.id
         <where>
-            <if test="bo.operatorId != null and bo.operatorId > 0">
-                and dglim.operatorId = #{bo.operatorId}
+            <choose>
+                <when test="bo.operatorId != null and bo.operatorId > 0">
+                    and dglim.operatorId = #{bo.operatorId}
+                </when>
+                <otherwise>
+                    and dglim.operatorId = #{bo.adminOperatorId}
+                </otherwise>
+            </choose>
+            <if test="bo.warehouseId != null and bo.warehouseId > 0">
+                and dglim.warehouseId = #{bo.warehouseId}
             </if>
             <if test="bo.areaStaffIds != null and bo.areaStaffIds.size > 0">
                 and dglim.id in (

+ 2 - 0
warehouse-admin-data/src/main/resources/mapper/driver/DriverOnRouteAccountRecordMainMapper.xml

@@ -63,6 +63,8 @@
     <select id="searchForPage" resultType="com.yr.warehouse.admin.driver.vo.DriverRouteAccountRecordMainVo">
         select
         dorarm.id as id,
+        dorarm.operatorId as operatorId,
+        dorarm.operatorChain as operatorChain,
         dorarm.areaStaffId as areaStaffId,
         dorarm.warehouseId as warehouseId,
         wi.name as warehouseName,

+ 8 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/service/areastaff/AreaStaffService.java

@@ -32,4 +32,12 @@ public interface AreaStaffService {
      * @return true: 无搜索参数
      */
     boolean extractedAreaStaffSearchParam(AreaStaffNameSearchFace bo);
+
+    /**
+     * 过滤可搜索的区域员工id
+     * @param warehouseId 仓库id
+     * @param areaStaffIds 区域员工id
+     * @return 可搜索的区域员工id
+     */
+    List<Long> filterSearchableAreaStaffIds(Long warehouseId, List<Long> areaStaffIds);
 }

+ 21 - 0
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/service/areastaff/impl/AreaStaffServiceImpl.java

@@ -3,12 +3,15 @@ package com.yr.warehouse.admin.service.areastaff.impl;
 import com.supplychain.api.response.areastaff.AreaStaffResponse;
 import com.yr.bluecat.common.entity.utils.StringUtils;
 import com.yr.warehouse.admin.areastaff.fase.AreaStaffIdFace;
+import com.yr.warehouse.admin.areastaff.mapper.DriverWarehouseMapper;
+import com.yr.warehouse.admin.areastaff.vo.AreaStaffVo;
 import com.yr.warehouse.admin.component.areastaff.AreaStaffComponent;
 import com.yr.warehouse.admin.driver.face.AreaStaffNameSearchFace;
 import com.yr.warehouse.admin.service.areastaff.AreaStaffService;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -21,6 +24,9 @@ public class AreaStaffServiceImpl implements AreaStaffService {
     @Resource
     private AreaStaffComponent areaStaffComponent;
 
+    @Resource
+    private DriverWarehouseMapper driverWarehouseMapper;
+
     @Override
     public Map<Long, AreaStaffResponse> searchAreaStaffMap(List<? extends AreaStaffIdFace> areaStaffIdFaces) {
         List<Long> areaStaffIds = areaStaffIdFaces.stream().map(AreaStaffIdFace::getAreaStaffId).collect(Collectors.toList());
@@ -56,4 +62,19 @@ public class AreaStaffServiceImpl implements AreaStaffService {
         return false;
     }
 
+    @Override
+    public List<Long> filterSearchableAreaStaffIds(Long warehouseId, List<Long> areaStaffIds) {
+        List<Long> res;
+        List<AreaStaffVo> areaStaffVos = driverWarehouseMapper.searchByWarehouseId(warehouseId);
+        // 仓库下的司机ids
+        List<Long> inWarehouseAreaStaffId = areaStaffVos.stream().map(AreaStaffVo::getId).collect(Collectors.toList());
+        if (null == areaStaffIds || areaStaffIds.isEmpty()) {
+            res = inWarehouseAreaStaffId;
+        } else {
+            // 仓库下能搜索的司机id
+            res = areaStaffIds.stream().filter(inWarehouseAreaStaffId::contains).collect(Collectors.toList());
+        }
+        return res;
+    }
+
 }

+ 1 - 1
warehouse-admin-server/src/main/java/com/yr/warehouse/admin/service/driver/DriverGoodsLossIntervalMainService.java

@@ -25,7 +25,7 @@ public interface DriverGoodsLossIntervalMainService extends IService<DriverGoods
     LocalDateTime searchLastTotalTime(Long warehouseId);
 
     /**
-     * 生成区间统计记录
+     * 区间统计记录
      * @param bo
      */
     Page<DriverIntervalCargoDamageVo> searchForPage(DriverIntervalCargoDamagePageBo bo);

+ 15 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/controller/DriverDailyCargoDamageController.java

@@ -61,6 +61,14 @@ public class DriverDailyCargoDamageController extends BaseController {
             return pageResult.success(0, new ArrayList<>());
         }
 
+        if (null != request.getWarehouseId() && request.getWarehouseId() > 0) {
+            List<Long> searchableAreaStaffIds = areaStaffService.filterSearchableAreaStaffIds(request.getWarehouseId(), bo.getAreaStaffIds());
+            if (searchableAreaStaffIds.isEmpty()) {
+                return pageResult.success(0, new ArrayList<>());
+            }
+            bo.setAreaStaffIds(searchableAreaStaffIds);
+        }
+
         Page<DriverGoodsLossRecordVo> page = driverGoodsLossRecordService.searchForPage(bo);
 
         List<DriverGoodsLossRecordVo> records = driverGoodsLossRecordService.writeOperatorData(page.getRecords());
@@ -88,6 +96,13 @@ public class DriverDailyCargoDamageController extends BaseController {
         if (areaStaffService.extractedAreaStaffSearchParam(bo)) {
             return Result.fail("没有可导出的数据");
         }
+        if (null != request.getWarehouseId() && request.getWarehouseId() > 0) {
+            List<Long> searchableAreaStaffIds = areaStaffService.filterSearchableAreaStaffIds(request.getWarehouseId(), bo.getAreaStaffIds());
+            if (searchableAreaStaffIds.isEmpty()) {
+                return Result.fail("没有可导出的数据");
+            }
+            bo.setAreaStaffIds(searchableAreaStaffIds);
+        }
 
         List<DriverGoodsLossRecordVo> records = driverGoodsLossRecordService.list(bo);
         if (null == records || records.isEmpty()) {

+ 5 - 1
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/controller/DriverIntervalCargoDamageController.java

@@ -8,6 +8,8 @@ import com.yr.bluecat.common.entity.response.Result;
 import com.yr.bluecat.common.entity.utils.StringUtils;
 import com.yr.bluecat.common.utils.excel.ExportClient;
 import com.yr.prism.auth.core.user.AdminUserInfo;
+import com.yr.warehouse.admin.areastaff.mapper.DriverWarehouseMapper;
+import com.yr.warehouse.admin.areastaff.vo.AreaStaffVo;
 import com.yr.warehouse.admin.common.bo.BaseIdBo;
 import com.yr.warehouse.admin.component.areastaff.AreaStaffComponent;
 import com.yr.warehouse.admin.component.auth.OperatorComponent;
@@ -124,8 +126,8 @@ public class DriverIntervalCargoDamageController extends BaseController {
         if (areaStaffService.extractedAreaStaffSearchParam(bo)) {
             return pageResult.success(0, new ArrayList<>());
         }
-        Page<DriverIntervalCargoDamageVo> page = driverGoodsLossIntervalMainService.searchForPage(bo);
 
+        Page<DriverIntervalCargoDamageVo> page = driverGoodsLossIntervalMainService.searchForPage(bo);
 
         List<DriverIntervalCargoDamageVo> driverIntervalCargoDamageVos = page.getRecords();
         if (null == driverIntervalCargoDamageVos || driverIntervalCargoDamageVos.isEmpty()) {
@@ -259,6 +261,7 @@ public class DriverIntervalCargoDamageController extends BaseController {
             bo.setPageNum(bo.getPageNum() + 1);
         }
         areaStaffService.buildAreaStaffName(all);
+        operatorBuildService.buildOperatorName(all);
         List<DriverRouteAccountRecordMainExport> driverRouteAccountRecordMainExports = DriverIntervalCargoDamageMapStruct.MAPSTRUCT.routeAccountRecordMainVoListToRouteAccountRecordMainExportList(all);
         driverRouteAccountRecordMainExports.forEach(export -> {
             export.setStatus(DriverOnRouteAccountRecordStatusEnum.getDesc(export.getStatus()));
@@ -286,6 +289,7 @@ public class DriverIntervalCargoDamageController extends BaseController {
             return pageResult.success(0, new ArrayList<>());
         }
         areaStaffService.buildAreaStaffName(driverRouteAccountRecordMainVos);
+        operatorBuildService.buildOperatorName(driverRouteAccountRecordMainVos);
         List<DriverRouteAccountRecordMainResponse> driverRouteAccountRecordMainResponses = DriverIntervalCargoDamageMapStruct.MAPSTRUCT.accountRecordMainVoToResponse(driverRouteAccountRecordMainVos);
         return pageResult.success(page.getTotal(), driverRouteAccountRecordMainResponses);
     }

+ 6 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/export/DriverRouteAccountRecordMainExport.java

@@ -18,6 +18,12 @@ public class DriverRouteAccountRecordMainExport implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
+     * 运营商名称
+     */
+    @ExcelProperty("运营商名称")
+    private String operatorChainName;
+
+    /**
      * 区域线路名称
      */
     @ExcelProperty("区域线路")

+ 10 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/request/DriverDailyCargoDamageExportRequest.java

@@ -23,6 +23,16 @@ public class DriverDailyCargoDamageExportRequest implements Serializable {
     private Long operatorId;
 
     /**
+     * 运营商id链
+     */
+    private String operatorChain;
+
+    /**
+     * 仓库id
+     */
+    private Long warehouseId;
+
+    /**
      * 区域员工名称
      */
     private String areaStaffName;

+ 5 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/request/DriverDailyCargoDamagePageRequest.java

@@ -31,6 +31,11 @@ public class DriverDailyCargoDamagePageRequest extends PageRequest implements Se
     private String operatorChain;
 
     /**
+     * 仓库id
+     */
+    private Long warehouseId;
+
+    /**
      * 区域员工名称
      */
     private String areaStaffName;

+ 5 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/request/DriverIntervalCargoDamagePageRequest.java

@@ -24,6 +24,11 @@ public class DriverIntervalCargoDamagePageRequest extends PageRequest implements
     private Long operatorId;
 
     /**
+     * 仓库id
+     */
+    private Long warehouseId;
+
+    /**
      * 区域员工名称
      */
     private String areaStaffName;

+ 20 - 0
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/response/DriverRouteAccountRecordMainResponse.java

@@ -23,6 +23,26 @@ public class DriverRouteAccountRecordMainResponse implements Serializable {
     private Long id;
 
     /**
+     * 运营商id
+     */
+    private Long operatorId;
+
+    /**
+     * 运营商id链
+     */
+    private String operatorChain;
+
+    /**
+     * 运营商名称
+     */
+    private String operatorName;
+
+    /**
+     * 运营商名称链
+     */
+    private String operatorChainName;
+
+    /**
      * 区域员工id
      */
     private Long areaStaffId;