Browse Source

对内对外报价单添加创建人搜索

yzc 1 year ago
parent
commit
d8297722b7

+ 18 - 1
hx-sale/src/main/java/com/fjhx/sale/service/ext/impl/ExtQuotationServiceImpl.java

@@ -35,9 +35,11 @@ import com.fjhx.sale.service.ext.ExtQuotationService;
 import com.fjhx.sale.service.sale.SaleQuotationService;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -73,11 +75,12 @@ public class ExtQuotationServiceImpl extends ServiceImpl<ExtQuotationMapper, Ext
     private SaleQuotationService saleQuotationService;
     @Autowired
     private CodingRuleService codingRuleService;
+    @Autowired
+    private ISysUserService sysUserService;
 
     @Override
     public Page<ExtQuotationVo> getPage(ExtQuotationSelectDto dto) {
         IWrapper<ExtQuotation> wrapper = getWrapper();
-        wrapper.orderByDesc("eq", ExtQuotation::getId);
 
         //报价状态
         wrapper.eq(SaleQuotation::getQuotationStatus, dto.getQuotationStatus());
@@ -96,6 +99,20 @@ public class ExtQuotationServiceImpl extends ServiceImpl<ExtQuotationMapper, Ext
         wrapper.ne("eq", ExtQuotation::getStatus, FlowStatusEnum1.UPDATE.getKey());
         wrapper.eq("eq", ExtQuotation::getStatus, dto.getStatus());
 
+        //关键字过滤
+        String keyword = dto.getKeyword();
+        if (ObjectUtil.isNotEmpty(keyword)) {
+            List<SysUser> userList = sysUserService.list(Wrappers.<SysUser>query().like("nick_name", dto.getKeyword()));
+            List<Long> userIds = userList.stream().map(SysUser::getUserId).collect(Collectors.toList());
+            wrapper.and(q -> q
+                    .like("eq", ExtQuotation::getCode, dto.getKeyword())
+                    .or()
+                    .in("eq", ExtQuotation::getCreateUser, userIds)
+            );
+        }
+
+        wrapper.orderByDesc("eq", ExtQuotation::getId);
+
         Page<ExtQuotationVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<ExtQuotationVo> records = page.getRecords();
 

+ 17 - 1
hx-sale/src/main/java/com/fjhx/sale/service/sale/impl/SaleQuotationServiceImpl.java

@@ -53,10 +53,12 @@ import com.fjhx.tenant.service.dict.DictTenantDataService;
 import com.fjhx.tenant.utils.DictUtils;
 import com.ruoyi.common.core.domain.BasePo;
 import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.service.ISysDeptService;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -102,6 +104,8 @@ public class SaleQuotationServiceImpl extends ServiceImpl<SaleQuotationMapper, S
     private ISysDeptService sysDeptService;
     @Autowired
     private ProductInfoService productInfoService;
+    @Autowired
+    private ISysUserService sysUserService;
 
     /**
      * 报价表分页
@@ -135,8 +139,20 @@ public class SaleQuotationServiceImpl extends ServiceImpl<SaleQuotationMapper, S
         wrapper.ne("sq", SaleQuotation::getStatus, FlowStatusEnum1.UPDATE.getKey());
         wrapper.eq("sq", SaleQuotation::getStatus, dto.getStatus());
 
-        wrapper.orderByDesc(SaleQuotation::getCreateTime);
 
+        //关键字过滤
+        String keyword = dto.getKeyword();
+        if (ObjectUtil.isNotEmpty(keyword)) {
+            List<SysUser> userList = sysUserService.list(Wrappers.<SysUser>query().like("nick_name", dto.getKeyword()));
+            List<Long> userIds = userList.stream().map(SysUser::getUserId).collect(Collectors.toList());
+            wrapper.and(q -> q
+                    .like("sq", SaleQuotation::getCode, dto.getKeyword())
+                    .or()
+                    .in("sq", SaleQuotation::getCreateUser, userIds)
+            );
+        }
+
+        wrapper.orderByDesc(SaleQuotation::getCreateTime);
 
         Page<SaleQuotationVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<SaleQuotationVo> records = page.getRecords();