瀏覽代碼

[update] 司机查询逻辑修复, 未查询到司机将直接返回空数据而不是不关联司机的全部数据

miajio 2 周之前
父節點
當前提交
936e09f7dd

+ 2 - 1
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/bo/DriverDailyCargoDamageExportBo.java

@@ -1,6 +1,7 @@
 package com.yr.warehouse.admin.driver.bo;
 
 import com.yr.warehouse.admin.common.bo.BaseBo;
+import com.yr.warehouse.admin.driver.face.AreaStaffNameSearchFace;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -14,7 +15,7 @@ import java.util.List;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class DriverDailyCargoDamageExportBo extends BaseBo implements Serializable {
+public class DriverDailyCargoDamageExportBo extends BaseBo implements AreaStaffNameSearchFace, Serializable {
 
     @Serial
     private static final long serialVersionUID = 1L;

+ 2 - 1
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/bo/DriverDailyCargoDamagePageBo.java

@@ -1,6 +1,7 @@
 package com.yr.warehouse.admin.driver.bo;
 
 import com.yr.warehouse.admin.common.bo.BasePageBo;
+import com.yr.warehouse.admin.driver.face.AreaStaffNameSearchFace;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -14,7 +15,7 @@ import java.util.List;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class DriverDailyCargoDamagePageBo extends BasePageBo implements Serializable {
+public class DriverDailyCargoDamagePageBo extends BasePageBo implements AreaStaffNameSearchFace, Serializable {
 
     @Serial
     private static final long serialVersionUID = 1L;

+ 2 - 1
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/bo/DriverIntervalCargoDamagePageBo.java

@@ -1,6 +1,7 @@
 package com.yr.warehouse.admin.driver.bo;
 
 import com.yr.warehouse.admin.common.bo.BasePageBo;
+import com.yr.warehouse.admin.driver.face.AreaStaffNameSearchFace;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -14,7 +15,7 @@ import java.util.List;
  */
 @EqualsAndHashCode(callSuper = true)
 @Data
-public class DriverIntervalCargoDamagePageBo extends BasePageBo implements Serializable {
+public class DriverIntervalCargoDamagePageBo extends BasePageBo implements AreaStaffNameSearchFace, Serializable {
 
     @Serial
     private static final long serialVersionUID = 1L;

+ 2 - 0
warehouse-admin-data/src/main/java/com/yr/warehouse/admin/driver/face/AreaStaffNameSearchFace.java

@@ -7,6 +7,8 @@ import java.util.List;
  */
 public interface AreaStaffNameSearchFace {
 
+    Long getAdminOperatorId();
+
     Long getOperatorId();
 
     String getAreaStaffName();

+ 1 - 2
warehouse-admin-data/src/main/resources/mapper/driver/DriverGoodsLossRecordMapper.xml

@@ -80,8 +80,7 @@
                 dglr.operatorId = #{bo.operatorId}
             </if>
             <if test="bo.areaStaffIds != null and bo.areaStaffIds.size > 0">
-                <foreach item="item" collection="bo.areaStaffIds" open="and dglr.areaStaffId in (" separator=","
-                         close=")" index="index">
+                <foreach item="item" collection="bo.areaStaffIds" open="and dglr.areaStaffId in (" separator="," close=")" index="index">
                     #{item}
                 </foreach>
             </if>

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

@@ -2,6 +2,7 @@ package com.yr.warehouse.admin.service.areastaff;
 
 import com.supplychain.api.response.areastaff.AreaStaffResponse;
 import com.yr.warehouse.admin.areastaff.fase.AreaStaffIdFace;
+import com.yr.warehouse.admin.driver.face.AreaStaffNameSearchFace;
 import org.apache.poi.ss.formula.functions.T;
 
 import java.util.List;
@@ -25,4 +26,6 @@ public interface AreaStaffService {
      * @param areaStaffIdFaces 区域员工id
      */
     void buildAreaStaffName(List<? extends AreaStaffIdFace> areaStaffIdFaces);
+
+    boolean extractedAreaStaffSearchParam(AreaStaffNameSearchFace bo);
 }

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

@@ -1,7 +1,10 @@
 package com.yr.warehouse.admin.service.areastaff.impl;
 
 import com.supplychain.api.response.areastaff.AreaStaffResponse;
+import com.yr.bluecat.common.entity.exception.MessageException;
+import com.yr.bluecat.common.entity.utils.StringUtils;
 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 com.yr.warehouse.admin.areastaff.fase.AreaStaffIdFace;
 import jakarta.annotation.Resource;
@@ -37,4 +40,23 @@ public class AreaStaffServiceImpl implements AreaStaffService {
         });
     }
 
+    /**
+     * 提取区域员工名称搜索参数
+     */
+    @Override
+    public boolean extractedAreaStaffSearchParam(AreaStaffNameSearchFace bo) {
+        if (StringUtils.isNotBlank(bo.getAreaStaffName())) {
+            Long operatorId = bo.getOperatorId();
+            if (null == operatorId || 0 > operatorId) {
+                operatorId = bo.getAdminOperatorId();
+            }
+            List<AreaStaffResponse> areaStaffResponses = areaStaffComponent.searchByOperatorIdAndAreaStaffName(operatorId, bo.getAreaStaffName());
+            if (null == areaStaffResponses || areaStaffResponses.isEmpty()) {
+                return true;
+            }
+            bo.setAreaStaffIds(areaStaffResponses.stream().map(AreaStaffResponse::getId).toList());
+        }
+        return false;
+    }
+
 }

+ 11 - 7
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/controller/DriverDailyCargoDamageController.java

@@ -11,6 +11,7 @@ import com.yr.warehouse.admin.component.areastaff.AreaStaffComponent;
 import com.yr.warehouse.admin.driver.bo.DriverDailyCargoDamageExportBo;
 import com.yr.warehouse.admin.driver.bo.DriverDailyCargoDamagePageBo;
 import com.yr.warehouse.admin.driver.vo.DriverGoodsLossRecordVo;
+import com.yr.warehouse.admin.service.areastaff.AreaStaffService;
 import com.yr.warehouse.admin.service.driver.DriverGoodsLossRecordService;
 import com.yr.warehouse.admin.web.common.BaseController;
 import com.yr.warehouse.admin.web.driver.export.DriverGoodsLossRecordExport;
@@ -38,6 +39,9 @@ public class DriverDailyCargoDamageController extends BaseController {
     private AreaStaffComponent areaStaffComponent;
 
     @Resource
+    private AreaStaffService areaStaffService;
+
+    @Resource
     private ExportClient exportClient;
 
 
@@ -51,13 +55,13 @@ public class DriverDailyCargoDamageController extends BaseController {
     public PageResult<DriverGoodsLossRecordResponse> page(@Validated @RequestBody DriverDailyCargoDamagePageRequest request, AdminUserInfo adminUserInfo) {
         DriverDailyCargoDamagePageBo bo = DriverDailyCargoDamageMapStruct.MAPSTRUCT.pageRequestToBo(request);
         buildUserInfo(bo, adminUserInfo);
-        if (StringUtils.isNotBlank(bo.getAreaStaffName())) {
-            List<AreaStaffResponse> areaStaffResponses = areaStaffComponent.searchByOperatorIdAndAreaStaffName(bo.getOperatorId(), bo.getAreaStaffName());
-            bo.setAreaStaffIds(areaStaffResponses.stream().map(AreaStaffResponse::getId).toList());
+        PageResult<DriverGoodsLossRecordResponse> pageResult = PageResult.newPageResult(request.getPageNum(), request.getPageSize());
+        if (areaStaffService.extractedAreaStaffSearchParam(bo)) {
+            return pageResult.success(0, new ArrayList<>());
         }
 
         Page<DriverGoodsLossRecordVo> page = driverGoodsLossRecordService.searchForPage(bo);
-        PageResult<DriverGoodsLossRecordResponse> pageResult = PageResult.newPageResult(request.getPageNum(), request.getPageSize());
+
         List<DriverGoodsLossRecordVo> records = driverGoodsLossRecordService.writeOperatorData(page.getRecords());
         if (null == records) {
             return pageResult.success(0, new ArrayList<>());
@@ -77,10 +81,10 @@ public class DriverDailyCargoDamageController extends BaseController {
     public Result<String> export(@Validated @RequestBody DriverDailyCargoDamageExportRequest request, AdminUserInfo adminUserInfo) {
         DriverDailyCargoDamageExportBo bo = DriverDailyCargoDamageMapStruct.MAPSTRUCT.exportRequestToBo(request);
         buildUserInfo(bo, adminUserInfo);
-        if (StringUtils.isNotBlank(bo.getAreaStaffName())) {
-            List<AreaStaffResponse> areaStaffResponses = areaStaffComponent.searchByOperatorIdAndAreaStaffName(bo.getOperatorId(), bo.getAreaStaffName());
-            bo.setAreaStaffIds(areaStaffResponses.stream().map(AreaStaffResponse::getId).toList());
+        if (areaStaffService.extractedAreaStaffSearchParam(bo)) {
+            return Result.fail("没有可导出的数据");
         }
+
         List<DriverGoodsLossRecordVo> records = driverGoodsLossRecordService.list(bo);
         if (null == records || records.isEmpty()) {
             return Result.fail("没有可导出的数据");

+ 8 - 18
warehouse-admin-web/src/main/java/com/yr/warehouse/admin/web/driver/controller/DriverIntervalCargoDamageController.java

@@ -111,13 +111,12 @@ public class DriverIntervalCargoDamageController extends BaseController {
     public PageResult<DriverIntervalCargoDamageResponse> page(@Validated @RequestBody DriverIntervalCargoDamagePageRequest request, AdminUserInfo adminUserInfo) {
         DriverIntervalCargoDamagePageBo bo = DriverIntervalCargoDamageMapStruct.MAPSTRUCT.pageRequestToBo(request);
         buildUserInfo(bo, adminUserInfo);
-        if (StringUtils.isNotBlank(bo.getAreaStaffName())) {
-            List<AreaStaffResponse> areaStaffResponses = areaStaffComponent.searchByOperatorIdAndAreaStaffName(bo.getOperatorId(), bo.getAreaStaffName());
-            bo.setAreaStaffIds(areaStaffResponses.stream().map(AreaStaffResponse::getId).toList());
+        PageResult<DriverIntervalCargoDamageResponse> pageResult = PageResult.newPageResult(request.getPageNum(), request.getPageSize());
+        if (areaStaffService.extractedAreaStaffSearchParam(bo)) {
+            return pageResult.success(0, new ArrayList<>());
         }
         Page<DriverIntervalCargoDamageVo> page = driverGoodsLossIntervalMainService.searchForPage(bo);
 
-        PageResult<DriverIntervalCargoDamageResponse> pageResult = PageResult.newPageResult(request.getPageNum(), request.getPageSize());
 
         List<DriverIntervalCargoDamageVo> driverIntervalCargoDamageVos = page.getRecords();
         if (null == driverIntervalCargoDamageVos || driverIntervalCargoDamageVos.isEmpty()) {
@@ -145,7 +144,6 @@ public class DriverIntervalCargoDamageController extends BaseController {
     public PageResult<DriverIntervalCargoDamageDetailResponse> detailPage(@Validated @RequestBody DriverIntervalCargoDamageDetailPageRequest request, AdminUserInfo adminUserInfo) {
         DriverIntervalCargoDamageDetailPageBo bo = DriverIntervalCargoDamageMapStruct.MAPSTRUCT.detailPageRequestToBo(request);
         buildUserInfo(bo, adminUserInfo);
-
         extractedAreaStaffSearchParam(bo);
 
         PageResult<DriverIntervalCargoDamageDetailResponse> pageResult = PageResult.newPageResult(request.getPageNum(), request.getPageSize());
@@ -168,7 +166,6 @@ public class DriverIntervalCargoDamageController extends BaseController {
     public Result<String> detailExport(@Validated @RequestBody DriverIntervalCargoDamageDetailExportRequest request, AdminUserInfo adminUserInfo) {
         DriverIntervalCargoDamageDetailExportBo bo = DriverIntervalCargoDamageMapStruct.MAPSTRUCT.detailExportRequestToBo(request);
         buildUserInfo(bo, adminUserInfo);
-
         extractedAreaStaffSearchParam(bo);
         DriverIntervalCargoDamageDetailPageBo pageBo = DriverIntervalCargoDamageMapStruct.MAPSTRUCT.detailExportBoToPageBo(bo);
         pageBo.setPageNum(1);
@@ -213,16 +210,6 @@ public class DriverIntervalCargoDamageController extends BaseController {
     }
 
     /**
-     * 提取区域员工名称搜索参数
-     */
-    private void extractedAreaStaffSearchParam(AreaStaffNameSearchFace bo) {
-        if (StringUtils.isNotBlank(bo.getAreaStaffName())) {
-            List<AreaStaffResponse> areaStaffResponses = areaStaffComponent.searchByOperatorIdAndAreaStaffName(bo.getOperatorId(), bo.getAreaStaffName());
-            bo.setAreaStaffIds(areaStaffResponses.stream().map(AreaStaffResponse::getId).toList());
-        }
-    }
-
-    /**
      * 添加司机在途核算记录
      */
     @PostMapping("/routeAccountRecord/add")
@@ -287,9 +274,12 @@ public class DriverIntervalCargoDamageController extends BaseController {
     public PageResult<DriverRouteAccountRecordMainResponse> routeAccountRecordPage(@Validated @RequestBody DriverRouteAccountRecordPageRequest request, AdminUserInfo adminUserInfo) {
         DriverRouteAccountRecordPageBo bo = DriverIntervalCargoDamageMapStruct.MAPSTRUCT.routeAccountRecordPageRequestToBo(request);
         buildUserInfo(bo, adminUserInfo);
-        extractedAreaStaffSearchParam(bo);
-        Page<DriverRouteAccountRecordMainVo> page = driverOnRouteAccountRecordMainService.searchForPage(bo);
         PageResult<DriverRouteAccountRecordMainResponse> pageResult = PageResult.newPageResult(request.getPageNum(), request.getPageSize());
+        if (areaStaffService.extractedAreaStaffSearchParam(bo)) {
+            return pageResult.success(0, new ArrayList<>());
+        }
+        Page<DriverRouteAccountRecordMainVo> page = driverOnRouteAccountRecordMainService.searchForPage(bo);
+
         List<DriverRouteAccountRecordMainVo> driverRouteAccountRecordMainVos = page.getRecords();
         if (null == driverRouteAccountRecordMainVos || driverRouteAccountRecordMainVos.isEmpty()) {
             return pageResult.success(0, new ArrayList<>());

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

@@ -23,7 +23,6 @@ public class DriverIntervalCargoDamagePageRequest extends PageRequest implements
     /**
      * 运营商id
      */
-    @NotNull(message = "请选择运营商")
     private Long operatorId;
 
     /**