From a1c2d6e674f85a2b00085c85c8557b0896b90648 Mon Sep 17 00:00:00 2001
From: PigBaoBei <2739175034@qq.com>
Date: Tue, 12 Nov 2024 15:13:40 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E8=87=AA=E6=8F=90=E5=88=97=E8=A1=A8?=
 =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../aftersales/mapper/AftersalesWorkOrderMapper.xml   | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
index 74ea58671..83bc2ef35 100644
--- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
+++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
@@ -96,9 +96,6 @@
         GROUP_CONCAT(DISTINCT lapr.compensation_method) AS compensationMethods
         FROM
         logpm_aftersales_work_order lawo
-        LEFT JOIN logpm_aftersales_processor lap ON lawo.id = lap.work_order_id
-        AND lap.types_of = '2'
-        AND lap.conditions IN ( 1, 2 )
         LEFT JOIN logpm_aftersales_completion_record lacr ON lacr.work_order_id = lawo.id
         AND lacr.is_deleted = '0'
         LEFT JOIN (SELECT
@@ -147,7 +144,6 @@
             <if test="param.customerServiceName != null and param.customerServiceName != '' ">and  lawo.customer_service_name like concat('%', #{param.customerServiceName },'%') </if>
             <if test="param.waybillMallId != null and param.waybillMallId != '' ">and  lawo.waybill_mall_id = #{param.waybillMallId } </if>
             <if test="param.problemDescription != null and param.problemDescription != '' ">and  lawo.problem_description = #{param.problemDescription} </if>
-            <if test="param.warehouseId != null and param.warehouseId != '' and param.handleStatus != null ">and  (lap.warehouse_id = #{param.warehouseId} OR lap.business_id = #{param.warehouseId}) </if>
             <if test="param.personResponsible != null and param.personResponsible != '' ">and  lawo.person_responsible = #{param.personResponsible } </if>
             <if test="param.processNumber != null and param.processNumber != '' ">and  lawo.process_number = #{param.processNumber } </if>
             <if test="param.reviewedBy != null and param.reviewedBy != '' ">and  lawo.reviewed_by = #{param.reviewedBy } </if>
@@ -160,10 +156,9 @@
             <if test="param.customerIdentification != null and param.customerIdentification == 1 ">
                      and  lawo.work_order_status IN ( '10', '20', '21', '30', '40', '50', '60', '70', '80', '90' ,'100','110')
             </if>
-            <if test="param.handleStatus != null and param.handleStatus == 40 "> and  lawo.work_order_status in ('10') and lap.types_of = '2' and lap.processing_status in ('1')  </if>
-            <if test="param.handleStatus != null and param.handleStatus == 50 "> and  lawo.work_order_status in ('20') and lap.types_of = '2'  </if>
-            <if test="param.handleStatus!= null and param.handleStatus == 30"> and  lawo.work_order_status in (21,30) and lap.processing_status = '4'  </if>
-            <if test="param.handleStatus!= null and param.handleStatus == 10 ">and  lap.types_of = '2' </if>
+            <if test="param.handleStatus != null and param.handleStatus == 40 "> and  lawo.work_order_status in ('10')  </if>
+            <if test="param.handleStatus != null and param.handleStatus == 50 "> and  lawo.work_order_status in ('20')   </if>
+            <if test="param.handleStatus!= null and param.handleStatus == 30"> and  lawo.work_order_status in (21,30)  </if>
             <if test="param.handleStatus!= null and param.handleStatus == 20 ">and lawo.work_order_status in (80,100,70)  </if>
             <if test="param.workOrderType != null and param.workOrderType != '' ">and  lawo.work_order_type = #{param.workOrderType } </if>
             <if test="param.discoveryNode != null and param.discoveryNode != '' ">and  lawo.discovery_node = #{param.discoveryNode } </if>

From 81621e327ec490de232d1a04e9705cc673e97387 Mon Sep 17 00:00:00 2001
From: zhaoqiaobo <583671871@qq.com>
Date: Tue, 12 Nov 2024 17:14:42 +0800
Subject: [PATCH 2/4] feat(all):
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

1 修改配送明细报表查询导出逻辑
---
 .../entity/AftersalesSettlementEntity.java    | 10 ++++-
 .../entity/AftersalesWorkOrderEntity.java     | 16 +++++--
 .../aftersales/dto/AftersalesAppealDTO.java   |  8 ++++
 .../mapper/AftersalesAppealMapper.xml         | 15 +++++++
 .../mapper/AftersalesWorkOrderMapper.xml      | 45 +++++++++++++++++++
 5 files changed, 89 insertions(+), 5 deletions(-)

diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesSettlementEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesSettlementEntity.java
index 33463b8b0..8e06a48ff 100644
--- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesSettlementEntity.java
+++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesSettlementEntity.java
@@ -1,5 +1,6 @@
 package com.logpm.aftersales.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
@@ -68,7 +69,14 @@ public class AftersalesSettlementEntity extends TenantEntity {
  private Date overTime;
 
 
-
+	@TableField(exist=false)
+	private String workOrderNumbers;
+	@TableField(exist=false)
+	private String orderCodes;
+	@TableField(exist=false)
+	private Date startCreateTime;
+	@TableField(exist=false)
+	private Date endCreateTime;
 
 
 
diff --git a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java
index f8bc575e2..d8d104013 100644
--- a/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java
+++ b/blade-service-api/logpm-aftersales-api/src/main/java/com/logpm/aftersales/entity/AftersalesWorkOrderEntity.java
@@ -19,15 +19,14 @@ package com.logpm.aftersales.entity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-
-import java.math.BigDecimal;
-import java.util.Date;
+import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springblade.core.tenant.mp.TenantEntity;
 
+import java.util.Date;
+
 /**
  * 客服异常工单 实体类
  *
@@ -332,6 +331,15 @@ public class AftersalesWorkOrderEntity extends TenantEntity {
 	/**
 	 *   金额总和
 	 */
+	@TableField(exist=false)
+	private String workOrderNumbers;
+	@TableField(exist=false)
+	private String orderCodes;
+	@TableField(exist=false)
+	private Date startCreateTime;
+	@TableField(exist=false)
+	private Date endCreateTime;
+
 	@TableField(exist=false)
 	private String totalAmountNum;
 	@TableField(exist=false)
diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesAppealDTO.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesAppealDTO.java
index d7ab92fe8..fe27fa427 100644
--- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesAppealDTO.java
+++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/dto/AftersalesAppealDTO.java
@@ -21,6 +21,7 @@ import com.logpm.aftersales.entity.AftersalesAppealPeopleEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -66,5 +67,12 @@ public class AftersalesAppealDTO extends AftersalesAppealEntity {
 	 */
 	private Long createUserId;
 
+	/** 范围查找工单 */
+	private String workOrderNumbers;
+	/** 范围查找订单 */
+	private String orderCodes;
+	/** 范围查找创建时间 */
+	private Date startCreateTime;
+	private Date endCreateTime;
 
 }
diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAppealMapper.xml b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAppealMapper.xml
index e8189e8cd..778bc19b8 100644
--- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAppealMapper.xml
+++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesAppealMapper.xml
@@ -57,6 +57,21 @@
         LEFT JOIN logpm_aftersales_completion_record lacr on laa.work_order_id = lacr.work_order_id
         LEFT JOIN logpm_aftersales_work_order lawo ON lawo.id = lacr.work_order_id
         <where> laa.is_deleted = 0
+            <if test="param.workOrderNumbers != null and param.workOrderNumbers != '' ">
+                and  lawo.work_order_number in
+                <foreach collection="param.workOrderNumbers.split(',')" item="workOrderNumber" separator="," open="(" close=")">
+                    #{workOrderNumber}
+                </foreach>
+            </if>
+            <if test="param.orderCodes != null and param.orderCodes != '' ">
+                and  lawo.order_code in
+                <foreach collection="param.orderCodes.split(',')" item="orderCode" separator="," open="(" close=")">
+                    #{orderCode}
+                </foreach>
+            </if>
+            <if test="param.startCreateTime != null and param.endCreateTime != null ">
+                and lawo.create_time between #{param.startCreateTime} and #{param.endCreateTime}
+            </if>
             <if test="param.warehouseId != null and param.warehouseId != '' ">
                 and (lacr.warehouse_id = #{param.warehouseId } or laa.create_user = #{param.createUserId})
             </if>
diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
index 74ea58671..3ee054bb7 100644
--- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
+++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
@@ -119,6 +119,21 @@
         LEFT JOIN logpm_aftersales_processing_results AS lapr ON lapr.work_order_id = lawo.id AND lapr.is_deleted = 0
         <where>
             lawo.is_deleted = 0
+            <if test="param.workOrderNumbers != null and param.workOrderNumbers != '' ">
+                and  lawo.work_order_number in
+                <foreach collection="param.workOrderNumbers.split(',')" item="workOrderNumber" separator="," open="(" close=")">
+                    #{workOrderNumber}
+                </foreach>
+            </if>
+            <if test="param.orderCodes != null and param.orderCodes != '' ">
+                and  lawo.order_code in
+                <foreach collection="param.orderCodes.split(',')" item="orderCode" separator="," open="(" close=")">
+                    #{orderCode}
+                </foreach>
+            </if>
+            <if test="param.startCreateTime != null and param.endCreateTime != null ">
+                and lawo.create_time between #{param.startCreateTime} and #{param.endCreateTime}
+            </if>
             <if test="param.workOrderStatusNameS != null and param.workOrderStatusNameS != '' ">and  lawo.work_order_status = #{param.workOrderStatusNameS } </if>
             <if test="param.id != null and param.id != '' ">and  lawo.id = #{param.id } </if>
             <if test="param.workOrderType != null and param.workOrderType != '' ">and  lawo.work_order_type = #{param.workOrderType } </if>
@@ -559,6 +574,21 @@
 
         <where>
             lap.conditions != '3' and lap.is_deleted = 0 and law.id is not null and lap.processing_status in ('1','3')  and lap.types_of = '2' 	and law.work_order_status in ('10','20','30')
+            <if test="param.workOrderNumbers != null and param.workOrderNumbers != '' ">
+                and  law.work_order_number in
+                <foreach collection="param.workOrderNumbers.split(',')" item="workOrderNumber" separator="," open="(" close=")">
+                    #{workOrderNumber}
+                </foreach>
+            </if>
+            <if test="param.orderCodes != null and param.orderCodes != '' ">
+                and  law.order_code in
+                <foreach collection="param.orderCodes.split(',')" item="orderCode" separator="," open="(" close=")">
+                    #{orderCode}
+                </foreach>
+            </if>
+            <if test="param.startCreateTime != null and param.endCreateTime != null ">
+                and law.create_time between #{param.startCreateTime} and #{param.endCreateTime}
+            </if>
             <if test="param.workOrderStatusNameS != null and param.workOrderStatusNameS != '' ">and  law.work_order_status = #{param.workOrderStatusNameS } </if>
             <if test="param.operator != null and param.operator != '' ">and  law.operator = #{param.operator } </if>
             <if test="param.workOrderStatus != null and param.workOrderStatus != ''">and  law.work_order_status = #{param.workOrderStatus}</if>
@@ -686,6 +716,21 @@
         LEFT JOIN logpm_aftersales_completion_record lacr ON  lacr.work_order_id = lapr.work_order_id
         <where>
             lawo.work_order_status = 90 and lap.is_deleted = 0
+            <if test="param.workOrderNumbers != null and param.workOrderNumbers != '' ">
+                and  lawo.work_order_number in
+                <foreach collection="param.workOrderNumbers.split(',')" item="workOrderNumber" separator="," open="(" close=")">
+                    #{workOrderNumber}
+                </foreach>
+            </if>
+            <if test="param.orderCodes != null and param.orderCodes != '' ">
+                and  lawo.order_code in
+                <foreach collection="param.orderCodes.split(',')" item="orderCode" separator="," open="(" close=")">
+                    #{orderCode}
+                </foreach>
+            </if>
+            <if test="param.startCreateTime != null and param.endCreateTime != null ">
+                and lawo.create_time between #{param.startCreateTime} and #{param.endCreateTime}
+            </if>
             <if test="param.businessId != null"> and lap.business_id =#{param.businessId}</if>
             <if test="param.businessName != null and param.businessName != ''"> and lap.business_name LIKE CONCAT( #{param.businessName}, '%')</if>
             <if test="param.workOrderNumber != null and param.workOrderNumber != ''"> and lawo.work_order_number LIKE CONCAT( #{param.workOrderNumber}, '%')</if>

From 74ed0dfbff05fe0fde45e24973e847a81493c127 Mon Sep 17 00:00:00 2001
From: PigBaoBei <2739175034@qq.com>
Date: Tue, 12 Nov 2024 17:15:15 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E8=87=AA=E6=8F=90BUG=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../AftersalesCustomerMallController.java     |  1 +
 .../mapper/AftersalesWorkOrderMapper.java     |  2 +-
 .../mapper/AftersalesWorkOrderMapper.xml      |  8 +++
 .../impl/AftersalesWorkOrderServiceImpl.java  | 52 +++++++++++++++----
 4 files changed, 52 insertions(+), 11 deletions(-)

diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesCustomerMallController.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesCustomerMallController.java
index 3ce8c831e..0510bf2d2 100644
--- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesCustomerMallController.java
+++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/controller/AftersalesCustomerMallController.java
@@ -31,6 +31,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springframework.web.bind.annotation.*;
diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.java
index 7f4e95795..1454da6bc 100644
--- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.java
+++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.java
@@ -70,7 +70,7 @@ public interface AftersalesWorkOrderMapper extends BaseMapper<AftersalesWorkOrde
 	 * @param workOrderEntity
 	 * @return
 	 */
-    IPage<AftersalesWorkOrderEntity> pageListOwn(IPage<Object> page,@Param("param") AftersalesWorkOrderEntity workOrderEntity);
+    IPage<AftersalesWorkOrderEntity> pageListOwn(IPage<Object> page,@Param("param") AftersalesWorkOrderEntity workOrderEntity,@Param("warehouseIds") List<Long> warehouseIds);
 
 	boolean updateList(@Param("list") List<AftersalesWorkOrderEntity> list);
 
diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
index 17762225f..8c888b89f 100644
--- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
+++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
@@ -187,6 +187,12 @@
             <if test="param.brandName != null and param.brandName != '' ">and t.brand_name like concat('%',#{param.brandName},'%') </if>
             <if test="param.waybillNumber != null and param.waybillNumber != ''">and t.waybill_number like concat('%',#{param.waybillNumber},'%') </if>
             <if test="param.packageCode != null and param.packageCode != ''">and t.package_code like concat('%',#{param.packageCode},'%') </if>
+            <if test="param.warehouseId != null ">
+                and lap.business_id  IN
+                <foreach collection="warehouseIds" item="warehouseId" open="(" separator="," close=")" >
+                    #{warehouseId}
+                </foreach>
+            </if>
         </where>
         group by lawo.id
         ORDER BY lawo.create_time DESC
@@ -301,6 +307,8 @@
         GROUP BY
         a.id) AS t ON t.id = lawo.id
         LEFT JOIN logpm_aftersales_processing_results AS lapr ON lapr.work_order_id = lawo.id AND lapr.is_deleted = 0
+        LEFT JOIN logpm_aftersales_processor AS lap ON lawo.id = lap.work_order_id AND lap.is_deleted = 0
+
         <where>
             lawo.is_deleted = 0
             <if test="param.workOrderStatusNameS != null and param.workOrderStatusNameS != '' ">and  lawo.work_order_status = #{param.workOrderStatusNameS } </if>
diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java
index 2cc4fa25c..de5fe2c24 100644
--- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java
+++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/service/impl/AftersalesWorkOrderServiceImpl.java
@@ -902,7 +902,7 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
 		}
 		List<String> roleList = Arrays.asList(user.getRoleName().split(","));
 		String tenantId = user.getTenantId();
-
+		boolean b = judgeIsCustomerService(user);
 		// 查询 状态条件
 		List<DictBiz> warehouseType = DictBizCache.getList("after_sales_visits");
 		if (warehouseType.isEmpty()) {
@@ -937,8 +937,23 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
 		}else {
 			throw new CustomerException("当前登录人无工单操作权限!!!");
 		}
+		//进行仓库限制
+		List<Long> warehouseIds = new ArrayList<>();
+		if (!Objects.isNull(myCurrentWarehouse)){
+			warehouseIds.add(myCurrentWarehouse.getId());
+		}else {
+			//获取当前人所有仓权限信息
+			List<BasicdataWarehouseEntity> warehouseList = warehouseClient.getMyWarehouseList();
+			if (!warehouseList.isEmpty()) {
+				warehouseIds.addAll(warehouseList.stream().map(BasicdataWarehouseEntity::getId).collect(Collectors.toList()));
+			}
+		}
+		if (warehouseIds.isEmpty()) {
+			throw new CustomerException("当前登录人无仓库信息,请联系管理人员!!!");
+
+		}
 		AftersalesWorkOrderEntity workOrderEntity = JSONObject.parseObject(JSONObject.toJSONString(aftersalesWorkOrder), AftersalesWorkOrderEntity.class);
-		IPage<AftersalesWorkOrderEntity> iPage = baseMapper.pageListOwn(page, workOrderEntity);
+		IPage<AftersalesWorkOrderEntity> iPage = baseMapper.pageListOwn(page, workOrderEntity,warehouseIds);
 		if (iPage.getRecords().isEmpty()) {
 			log.error(">>>>>>>>>>>>>>>>>>查询工单列表为空");
 			IPage<AftersalesWorkOrderVO> data = AftersalesWorkOrderWrapper.build().pageVO(iPage);
@@ -1050,14 +1065,6 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
 	}
 
 	private void updateWorkOrderForOthers(Map<String, Object> aftersalesWorkOrder, Object workOrderStatus) {
-		// 对其他情况的工单状态更新逻辑
-		// 优化后的代码根据实际情况进行填充
-		BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
-		if (ObjectUtils.isNotNull(myCurrentWarehouse)) {
-			aftersalesWorkOrder.put("warehouseId", myCurrentWarehouse.getId());
-		} else {
-			throw new ServiceException("请选择仓库!");
-		}
 		//已处理
 		if (ObjectUtils.isNotNull(workOrderStatus) && workOrderStatus.equals(WorkOrderStatusConstant.yichuli.getValue())) {
 			aftersalesWorkOrder.remove("workOrderStatus");
@@ -2634,4 +2641,29 @@ public class AftersalesWorkOrderServiceImpl extends BaseServiceImpl<AftersalesWo
 		return list;
 
 	}
+
+	/**
+	 * 判断是否是客服角色
+	 * @param user
+	 * @return
+	 */
+	private boolean judgeIsCustomerService(BladeUser user){
+		String roleName = user.getRoleName();
+		if (!Objects.isNull(roleName)){
+			List<String> roleList = Arrays.asList(user.getRoleName().split(","));
+			List<DictBiz> warehouseType = DictBizCache.getList("after_sales_visits");
+			Optional<DictBiz> matchingDictBiz = warehouseType.stream()
+				.filter(i -> roleList.contains(i.getDictValue()))
+				.findFirst();
+			if (matchingDictBiz.isPresent()) {
+				return true;
+			}
+			return false;
+		}else {
+			log.error("当前登录人角色信息错误!!!");
+		}
+		return false;
+	}
+
+
 }

From 9e8700cceb4d8c1b399f1f279b9b3b27bdab22ce Mon Sep 17 00:00:00 2001
From: PigBaoBei <2739175034@qq.com>
Date: Tue, 12 Nov 2024 17:23:23 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E8=87=AA=E6=8F=90BUG=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml    | 1 +
 1 file changed, 1 insertion(+)

diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
index 8c888b89f..9bd148bfc 100644
--- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
+++ b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/mapper/AftersalesWorkOrderMapper.xml
@@ -114,6 +114,7 @@
         GROUP BY
         a.id) AS t ON t.id = lawo.id
         LEFT JOIN logpm_aftersales_processing_results AS lapr ON lapr.work_order_id = lawo.id AND lapr.is_deleted = 0
+        LEFT JOIN logpm_aftersales_processor AS lap ON lawo.id = lap.work_order_id AND lap.is_deleted = 0
         <where>
             lawo.is_deleted = 0
             <if test="param.workOrderNumbers != null and param.workOrderNumbers != '' ">