Преглед на файлове

增加company端统计接口,同时优化部分之前代码

Guos преди 1 седмица
родител
ревизия
42989fabd8

+ 86 - 0
fs-company/src/main/java/com/fs/company/controller/crm/ComprehensiveStatisticsController.java

@@ -0,0 +1,86 @@
+package com.fs.company.controller.crm;
+
+import com.fs.common.core.controller.BaseController;
+import com.fs.common.core.domain.AjaxResult;
+import com.fs.common.core.domain.R;
+import com.fs.framework.security.LoginUser;
+import com.fs.framework.security.SecurityUtils;
+import com.fs.company.service.ICrmStatisticManageService;
+import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.statis.dto.ComprehensiveStatisticsDTO;
+import com.fs.statis.param.ComprehensiveStatisticsParam;
+import org.springframework.util.Assert;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: Guos
+ * @time: 2025/11/13 下午3:19
+ */
+@RestController
+@RequestMapping("/crm/ComprehensiveStatistics")
+public class ComprehensiveStatisticsController extends BaseController {
+
+    @Resource
+    private ICrmStatisticManageService iCrmStatisticManageService;
+
+    /**
+     * 获取统计信息
+     * @param param
+     * @return
+     */
+    @PostMapping("/statisticMain")
+    public R statisticMain(@RequestBody ComprehensiveStatisticsParam param) {
+        Assert.notNull(param.getDimension(), "请选择统计维度");
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        Long companyId = loginUser.getCompany().getCompanyId();
+        param.setCompanyId(companyId);
+        return R.ok().put("data", iCrmStatisticManageService.statisticMain(param));
+    }
+
+    /**
+     * 获取公司下拉
+     * @return
+     */
+    @GetMapping("/getSearchCompanyInfo")
+    public R getSearchCompanyInfo(){
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        Long companyId = loginUser.getCompany().getCompanyId();
+        return R.ok().put("data", iCrmStatisticManageService.getSearchCompanyInfo(companyId));
+    }
+
+    /**
+     * 根据公司id获取部门下拉
+     * @return
+     */
+    @GetMapping("/getSearchDeptInfo")
+    public R getSearchDeptInfo(@RequestParam("id") Long id){
+        return R.ok().put("data", iCrmStatisticManageService.getSearchDeptInfo(id));
+    }
+
+    /**
+     * 根据部门id获取用户下拉信息
+     * @return
+     */
+    @GetMapping("/getSearchUserInfo")
+    public R getSearchUserInfo(@RequestParam("id") Long id){
+        return R.ok().put("data", iCrmStatisticManageService.getSearchUserInfo(id));
+    }
+
+    /**
+     * 导出综合统计列表
+     */
+    @GetMapping("/export")
+    public AjaxResult export(@RequestBody ComprehensiveStatisticsParam param) {
+        R r = statisticMain(param);
+        List<ComprehensiveStatisticsDTO> data = (List<ComprehensiveStatisticsDTO>)r.get("data");
+        ExcelUtil<ComprehensiveStatisticsDTO> util = new ExcelUtil<ComprehensiveStatisticsDTO>(ComprehensiveStatisticsDTO.class);
+        return util.exportExcel(data, "综合统计");
+    }
+
+
+
+}

+ 5 - 0
fs-company/src/main/resources/logback.xml

@@ -86,6 +86,11 @@
         <appender-ref ref="file_error" />
     </root>
 
+    <!-- log4j2.xml -->
+    <Logger name="com.fs.his.mapper" level="debug"/>
+    <Logger name="com.fs.company.mapper" level="debug"/>
+    <Logger name="org.apache.ibatis" level="debug"/>
+
 	<!--系统用户操作日志-->
     <logger name="sys-user" level="info">
         <appender-ref ref="sys-user"/>

+ 17 - 0
fs-service/src/main/java/com/fs/company/mapper/CrmStatisticManageMapper.java

@@ -0,0 +1,17 @@
+package com.fs.company.mapper;
+
+import com.fs.company.domain.CompanyDeptUserInfo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @description:
+ * @author: Guos
+ * @time: 2025/11/13 下午4:27
+ */
+public interface CrmStatisticManageMapper {
+
+    List<CompanyDeptUserInfo> getSearchCompanyInfo(@Param("companyId") Long companyId);
+
+}

+ 28 - 0
fs-service/src/main/java/com/fs/company/service/ICrmStatisticManageService.java

@@ -0,0 +1,28 @@
+package com.fs.company.service;
+
+import com.fs.company.domain.CompanyDeptUserInfo;
+import com.fs.statis.dto.ComprehensiveStatisticsDTO;
+import com.fs.statis.param.ComprehensiveStatisticsParam;
+
+import java.util.List;
+
+/**
+ * @description: 销售端的统计服务
+ * @author: Guos
+ * @time: 2025/11/13 下午4:21
+ */
+public interface ICrmStatisticManageService {
+
+    Object getSearchUserInfo(Long id);
+
+    List<CompanyDeptUserInfo> getSearchCompanyInfo(Long companyId);
+
+    /**
+     * @param id
+     * @return
+     */
+    List<CompanyDeptUserInfo> getSearchDeptInfo(Long id);
+
+    List<ComprehensiveStatisticsDTO> statisticMain(ComprehensiveStatisticsParam param);
+
+}

+ 3 - 1
fs-service/src/main/java/com/fs/company/service/IStatisticManageService.java

@@ -1,7 +1,9 @@
 package com.fs.company.service;
 
 import com.fs.company.domain.CompanyDeptUserInfo;
+import com.fs.statis.dto.ComprehensiveStatisticsDTO;
 import com.fs.statis.param.ComprehensiveStatisticsParam;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.Date;
 import java.util.List;
@@ -18,7 +20,7 @@ public interface IStatisticManageService {
      * @param param
      * @return
      */
-    Object statisticMain(ComprehensiveStatisticsParam param);
+    List<ComprehensiveStatisticsDTO> statisticMain(ComprehensiveStatisticsParam param);
 
     /**
      * 获取搜索公司信息

+ 118 - 0
fs-service/src/main/java/com/fs/company/service/impl/CrmStatisticManageServiceImpl.java

@@ -0,0 +1,118 @@
+package com.fs.company.service.impl;
+
+import com.fs.common.enums.DimensionEnum;
+import com.fs.company.domain.CompanyDeptUserInfo;
+import com.fs.company.mapper.CrmStatisticManageMapper;
+import com.fs.company.mapper.StatisticManageMapper;
+import com.fs.company.service.ICrmStatisticManageService;
+import com.fs.statis.dto.ComprehensiveStatisticsDTO;
+import com.fs.statis.param.ComprehensiveStatisticsParam;
+import com.fs.utils.MyDateUtils;
+import com.google.common.collect.Lists;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: Guos
+ * @time: 2025/11/13 下午4:21
+ */
+@Service
+public class CrmStatisticManageServiceImpl implements ICrmStatisticManageService {
+
+    @Resource
+    private CrmStatisticManageMapper crmStatisticManageMapper;
+
+    @Resource
+    private StatisticManageMapper statisticManageMapper;
+
+    @Resource
+    private StatisticManageServiceImpl statisticManageService;
+
+    @Override
+    public Object getSearchUserInfo(Long id) {
+        return null;
+    }
+
+    @Override
+    public List<CompanyDeptUserInfo> getSearchCompanyInfo(Long companyId) {
+        return crmStatisticManageMapper.getSearchCompanyInfo(companyId);
+    }
+
+    @Override
+    public List<CompanyDeptUserInfo> getSearchDeptInfo(Long id) {
+        return statisticManageService.getSearchDeptInfo(id);
+    }
+
+    @Override
+    public List<ComprehensiveStatisticsDTO> statisticMain(ComprehensiveStatisticsParam param) {
+        if(param.getDimension() == DimensionEnum.COMPANY.getValue()){
+            List<CompanyDeptUserInfo> searchCompanyInfo =
+                    crmStatisticManageMapper.getSearchCompanyInfo(param.getCompanyId());
+            if(CollectionUtils.isEmpty(searchCompanyInfo)){return null;}
+            CompanyDeptUserInfo companyDeptUserInfo = searchCompanyInfo.get(0);
+            param.setCompanyId(companyDeptUserInfo.getCompanyId());
+            param.setCompanyName(companyDeptUserInfo.getCompanyName());
+            return getStatisticNumByCompany(param);
+        }
+        if(param.getDimension() == DimensionEnum.DEPARTMENT.getValue()){
+            Assert.notNull(param.getId(), "按部门展示查询条件不能为空!");
+            return getStatisticNumByCompanyId(param);
+        }
+        if (param.getDimension() == DimensionEnum.PERSONAL.getValue()){
+            Assert.notNull(param.getId(), "按个人展示查询条件不能为空!");
+            return getStatisticNumByDeptId(param);
+        }
+        return null;
+    }
+
+    /**
+     * 按照公司维度统计数据
+     */
+    public List<ComprehensiveStatisticsDTO> getStatisticNumByCompany(ComprehensiveStatisticsParam param) {
+        List result = Lists.newArrayList();
+        List<Date> dates = MyDateUtils.generateDateList(param.getStartTime(), param.getEndTime());
+        for (Date date : dates){
+            param.setStartTime(date);
+            param.setEndTime(date);
+            ComprehensiveStatisticsDTO statisticDataByDeptId =
+                        statisticManageMapper.getStatisticDataByDeptId(param);
+                if(ObjectUtils.isEmpty(statisticDataByDeptId)){
+                    statisticDataByDeptId = new ComprehensiveStatisticsDTO();
+                    statisticDataByDeptId.setAnswerNum(BigDecimal.ZERO.intValue());
+                    statisticDataByDeptId.setRedPacketNum(BigDecimal.ZERO.intValue());
+                    statisticDataByDeptId.setSendCount(BigDecimal.ZERO.intValue());
+                    statisticDataByDeptId.setRedPacketAmount(BigDecimal.ZERO);
+                    statisticDataByDeptId.setCompleteNum(BigDecimal.ZERO.intValue());
+                }
+                statisticDataByDeptId.setCompanyName(param.getCompanyName());
+                statisticDataByDeptId.setCompanyId(param.getCompanyId());
+                statisticDataByDeptId.setStatisticsTime(date);
+                result.add(statisticDataByDeptId);
+
+        }
+        return result;
+    }
+
+    /**
+     * 根据公司获取统部门的计数据
+     */
+    public List<ComprehensiveStatisticsDTO> getStatisticNumByCompanyId(ComprehensiveStatisticsParam param) {
+        return statisticManageService.getStatisticNumByCompanyId(param);
+    }
+
+    /**
+     * 根据部门id获取个人统计数据
+     */
+    public List<ComprehensiveStatisticsDTO> getStatisticNumByDeptId(ComprehensiveStatisticsParam param) {
+        return statisticManageService.getStatisticNumByDeptId(param);
+    }
+
+}

+ 10 - 122
fs-service/src/main/java/com/fs/company/service/impl/StatisticManageServiceImpl.java

@@ -11,10 +11,12 @@ import com.fs.company.service.IStatisticManageService;
 import java.util.function.Function;
 import com.fs.statis.dto.ComprehensiveStatisticsDTO;
 import com.fs.statis.param.ComprehensiveStatisticsParam;
+import com.fs.utils.MyDateUtils;
 import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 
@@ -28,6 +30,7 @@ import java.util.stream.Collectors;
  * @author: Guos
  * @time: 2025/10/30 上午9:21
  */
+@Lazy
 @Slf4j
 @Service
 public class StatisticManageServiceImpl implements IStatisticManageService {
@@ -44,7 +47,7 @@ public class StatisticManageServiceImpl implements IStatisticManageService {
      * @return
      */
     @Override
-    public Object statisticMain(ComprehensiveStatisticsParam param) {
+    public List<ComprehensiveStatisticsDTO> statisticMain(ComprehensiveStatisticsParam param) {
         if(param.getDimension() == DimensionEnum.COMPANY.getValue()){
             return getStatisticNumByCompany(param);
         }
@@ -62,10 +65,10 @@ public class StatisticManageServiceImpl implements IStatisticManageService {
     /**
      * 按照公司维度统计数据
      */
-    public List getStatisticNumByCompany(ComprehensiveStatisticsParam param) {
+    public List<ComprehensiveStatisticsDTO> getStatisticNumByCompany(ComprehensiveStatisticsParam param) {
         List<CompanyDeptUserInfo> companyInfo = statisticManageMapper.getCompanyInfo();
         List result = Lists.newArrayList();
-        List<Date> dates = generateDateList(param.getStartTime(), param.getEndTime());
+        List<Date> dates = MyDateUtils.generateDateList(param.getStartTime(), param.getEndTime());
         for (Date date : dates){
             param.setStartTime(date);
             param.setEndTime(date);
@@ -97,12 +100,12 @@ public class StatisticManageServiceImpl implements IStatisticManageService {
     /**
      * 根据部门id获取个人统计数据
      */
-    public List getStatisticNumByDeptId(ComprehensiveStatisticsParam param){
+    public List<ComprehensiveStatisticsDTO> getStatisticNumByDeptId(ComprehensiveStatisticsParam param){
         //先获取部门下的用户的信息
         Long id = param.getId();
         List<CompanyDeptUserInfo> searchUserInfo = statisticManageMapper.getSearchUserInfo(id);
         List result = Lists.newArrayList();
-        List<Date> dates = generateDateList(param.getStartTime(), param.getEndTime());
+        List<Date> dates = MyDateUtils.generateDateList(param.getStartTime(), param.getEndTime());
         for (Date date : dates) {
             param.setStartTime(date);
             param.setEndTime(date);
@@ -147,11 +150,11 @@ public class StatisticManageServiceImpl implements IStatisticManageService {
     /**
      * 根据公司获取统部门的计数据
      */
-    public List getStatisticNumByCompanyId(ComprehensiveStatisticsParam param){
+    public List<ComprehensiveStatisticsDTO> getStatisticNumByCompanyId(ComprehensiveStatisticsParam param){
         //先从公司拿到公司和部门的信息
         List<CompanyDeptUserInfo> searchDeptInfo = statisticManageMapper.getSearchDeptInfo(param.getId());;
         List result = Lists.newArrayList();
-        List<Date> dates = generateDateList(param.getStartTime(), param.getEndTime());
+        List<Date> dates = MyDateUtils.generateDateList(param.getStartTime(), param.getEndTime());
         for (Date date : dates){
             param.setStartTime(date);
             param.setEndTime(date);
@@ -188,54 +191,6 @@ public class StatisticManageServiceImpl implements IStatisticManageService {
         return result;
     }
 
-    /**
-     * 生成开始时间到结束时间之间的每日时间数组
-     * @param startTime 开始时间
-     * @param endTime 结束时间
-     * @return 时间数组列表
-     */
-    public List<Date> generateDateList(Date startTime, Date endTime) {
-        List<Date> dateList = new ArrayList<>();
-        if (startTime == null || endTime == null) {
-            return dateList;
-        }
-
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(startTime);
-
-        // 设置时间为当天00:00:00,确保按天计算
-        calendar.set(Calendar.HOUR_OF_DAY, 0);
-        calendar.set(Calendar.MINUTE, 0);
-        calendar.set(Calendar.SECOND, 0);
-        calendar.set(Calendar.MILLISECOND, 0);
-
-        Date currentDate = calendar.getTime();
-        Date finalEndTime = getStartOfDay(endTime);
-
-        while (!currentDate.after(finalEndTime)) {
-            dateList.add(currentDate);
-            calendar.add(Calendar.DAY_OF_MONTH, 1);
-            currentDate = calendar.getTime();
-        }
-
-        return dateList;
-    }
-
-    /**
-     * 获取指定日期的开始时间(00:00:00)
-     * @param date 指定日期
-     * @return 当天开始时间
-     */
-    private Date getStartOfDay(Date date) {
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(date);
-        calendar.set(Calendar.HOUR_OF_DAY, 0);
-        calendar.set(Calendar.MINUTE, 0);
-        calendar.set(Calendar.SECOND, 0);
-        calendar.set(Calendar.MILLISECOND, 0);
-        return calendar.getTime();
-    }
-
     /**
      * 获取搜索公司信息
      */
@@ -436,73 +391,6 @@ public class StatisticManageServiceImpl implements IStatisticManageService {
         return build;
     }
 
-
-//    /**
-//     * 执行定时任务
-//     * 还需要考虑在统计部门数据时,部门下面没有用户,某个时候这个部门下面又加入新的用户了,这个时候就会出现数据偏差
-//     */
-//    @Override
-//    public void executeTask() {
-//        StopWatch stopWatch = new StopWatch();
-//        stopWatch.start("gs-执行数据统计任务");
-//        List<CompanyDeptUserInfo> companyDeptdUserList = statisticManageMapper.getCompanyAndDeptAndDeptUserList(null);
-//        log.info("统计人数列表:{}", companyDeptdUserList.size());
-//        companyDeptdUserList.forEach(companyDeptUserInfo -> {
-//            CompanyDeptUserInfoDTO statisticNum =  new CompanyDeptUserInfoDTO();
-//            boolean empty = null == companyDeptUserInfo.getUserId(); //用户id为空返回true
-//            if(!empty){
-//                statisticNum = statisticManageMapper.getStatisticNum(companyDeptUserInfo.getUserId());
-//            }
-//            ComprehensiveDailyStats comprehensiveDailyStats = component(companyDeptUserInfo, statisticNum);
-//            ComprehensiveDailyStats selectResult = null;
-//            if(!empty){
-//                //用户id不为空,我们就用用户id去查询这个日期是否有数据
-//                selectResult = statisticManageMapper.selectByUserAndDate(comprehensiveDailyStats.getUserId(), comprehensiveDailyStats.getStatisticsTime());
-//            }else{
-//                //如果用户id为空,说明部门下面没有人(没人情况下,部门id只会在当天的日期中存在一条),先按照部门去查询后删除(或者直接按照id更新就可以了)
-//                selectResult = statisticManageMapper.selectByDeptAndDate(companyDeptUserInfo.getDeptId(), comprehensiveDailyStats.getStatisticsTime());
-//            }
-//            if(!ObjectUtils.isEmpty(selectResult)){
-//                comprehensiveDailyStats.setId(selectResult.getId());
-//                statisticManageMapper.updateById(comprehensiveDailyStats);
-//            }else{
-//                statisticManageMapper.insert(comprehensiveDailyStats);
-//            }
-//        });
-//        stopWatch.stop();
-//        log.info("gs-执行数据统计任务完成,耗时:{}", stopWatch.getTotalTimeSeconds());
-//    }
-//
-//    private ComprehensiveDailyStats component(CompanyDeptUserInfo source, CompanyDeptUserInfoDTO statisticNum){
-//        ComprehensiveDailyStats target = new ComprehensiveDailyStats();
-//        target.setCompanyId(source.getCompanyId());
-//        target.setCompanyName(source.getCompanyName());
-//        target.setDeptId(source.getDeptId());
-//        target.setDeptName(source.getDeptName());
-//        target.setStatisticsTime(new Date());
-//        target.setCreateTime(new Date());
-//        target.setUpdateTime(new Date());
-//        if(null != source.getUserId()){
-//            target.setUserId(source.getUserId());
-//            target.setUserName(source.getUserName());
-//            target.setNickName(source.getNickName());
-//            target.setAnswerNum(statisticNum.getAnswerNum());
-//            target.setCompleteNum(statisticNum.getCompleteNum());
-//            target.setLineNum(statisticNum.getLineNum());
-//            target.setActiveNum(statisticNum.getActiveNum());
-//            target.setRedPacketNum(statisticNum.getRedPacketNum());
-//            target.setRedPacketAmount(new BigDecimal(0.00));
-//        }else{
-//            target.setAnswerNum(0);
-//            target.setCompleteNum(0);
-//            target.setLineNum(0);
-//            target.setActiveNum(0);
-//            target.setRedPacketNum(0);
-//            target.setRedPacketAmount(new BigDecimal(0.00));
-//        }
-//      return target;
-//    }
-
 }
 
 

+ 10 - 0
fs-service/src/main/java/com/fs/statis/dto/ComprehensiveStatisticsDTO.java

@@ -1,5 +1,6 @@
 package com.fs.statis.dto;
 
+import com.fs.common.annotation.Excel;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -15,28 +16,37 @@ public class ComprehensiveStatisticsDTO {
 
     private Long companyId;
 
+    @Excel(name = "公司名称")
     private String companyName;
 
     private Long companyUserId;
 
+    @Excel(name = "人员名称")
     private String companyUserName;
 
     private Integer deptId;
 
+    @Excel(name = "部门名称")
     private String deptName;
 
+    @Excel(name = "统计时间")
     private Integer sendCount;
 
     private Integer logType;
 
+    @Excel(name = "完课数")
     private Integer completeNum; //完成数
 
+    @Excel(name = "答题数")
     private Integer answerNum;
 
+    @Excel(name = "红包数")
     private Integer redPacketNum;
 
+    @Excel(name = "红包领取金额")
     private BigDecimal redPacketAmount;
 
+    @Excel(name = "统计时间")
     private Date statisticsTime;
 
 }

+ 59 - 0
fs-service/src/main/java/com/fs/utils/MyDateUtils.java

@@ -0,0 +1,59 @@
+package com.fs.utils;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @description:
+ * @author: Guos
+ * @time: 2025/11/13 下午4:48
+ */
+public class MyDateUtils {
+
+    /**
+     * 生成开始时间到结束时间之间的每日时间数组
+     * @param startTime 开始时间
+     * @param endTime 结束时间
+     * @return 时间数组列表
+     */
+    public static List<Date> generateDateList(Date startTime, Date endTime) {
+        List<Date> dateList = new ArrayList<>();
+        if (startTime == null || endTime == null) {
+            return dateList;
+        }
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(startTime);
+        // 设置时间为当天00:00:00,确保按天计算
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        Date currentDate = calendar.getTime();
+        Date finalEndTime = getStartOfDay(endTime);
+        while (!currentDate.after(finalEndTime)) {
+            dateList.add(currentDate);
+            calendar.add(Calendar.DAY_OF_MONTH, 1);
+            currentDate = calendar.getTime();
+        }
+        return dateList;
+    }
+
+    /**
+     * 获取指定日期的开始时间(00:00:00)
+     * @param date 指定日期
+     * @return 当天开始时间
+     */
+    private static Date getStartOfDay(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        return calendar.getTime();
+    }
+
+
+}

+ 18 - 0
fs-service/src/main/resources/mapper/company/CrmStatisticManageMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fs.company.mapper.CrmStatisticManageMapper">
+
+
+    <select id="getSearchCompanyInfo" resultType="com.fs.company.domain.CompanyDeptUserInfo">
+        select
+            c.company_id as companyId,
+            c.company_name as companyName
+        from company as c
+        where c.is_del = 0
+        <if test="companyId != null">
+            and c.company_id =  #{companyId}
+        </if>
+    </select>
+</mapper>