Просмотр исходного кода

Merge remote-tracking branch 'origin/test' into test

785834757 1 год назад
Родитель
Сommit
4f2ef79cc4

+ 11 - 0
sql/Online.sql

@@ -0,0 +1,11 @@
+--  2025-4-08 BY dongxin
+INSERT INTO `agent`.`ins_driving_intention_insurance` ( `parent_id`, `type`, `company_id`, `project_name`, `project_code`, `alias`, `risk_code`, `seat_num`, `sum_amount`, `sum_premium`, `request_data`, `api_type`, `relate_code`) VALUES ( 0, 2, 'PICC1000000', '“如意行”非营运客车方案C款(山西大众版)年龄(16至60周岁)(1至1年)', 'EAD1400014', NULL, NULL, NULL, 0.00, 0.00, NULL, 2, NULL);
+INSERT INTO `agent`.`ins_driving_intention_insurance` ( `parent_id`, `type`, `company_id`, `project_name`, `project_code`, `alias`, `risk_code`, `seat_num`, `sum_amount`, `sum_premium`, `request_data`, `api_type`, `relate_code`) VALUES ( 0, 2, 'PICC1000000', '“如意行”非营运客车方案C款(豪华版)(1至1年)', 'EAD0000042', NULL, NULL, NULL, 0.00, 0.00, NULL, 2, NULL);
+INSERT INTO `agent`.`ins_driving_intention_insurance` ( `parent_id`, `type`, `company_id`, `project_name`, `project_code`, `alias`, `risk_code`, `seat_num`, `sum_amount`, `sum_premium`, `request_data`, `api_type`, `relate_code`) VALUES ( 0, 2, 'PICC1000000', '“如意行”非营运客车方案B款(尊享版)(1至1年)', 'EAD0000039', NULL, NULL, NULL, 0.00, 0.00, NULL, 2, NULL);
+INSERT INTO `agent`.`ins_driving_intention_insurance` ( `parent_id`, `type`, `company_id`, `project_name`, `project_code`, `alias`, `risk_code`, `seat_num`, `sum_amount`, `sum_premium`, `request_data`, `api_type`, `relate_code`) VALUES ( 0, 2, 'PICC1000000', '如意行驾意险非营运客车方案(随人尊享版)(1至1年)', 'EAD0000043', NULL, NULL, NULL, 0.00, 0.00, NULL, 2, NULL);
+INSERT INTO `agent`.`ins_driving_intention_insurance` ( `parent_id`, `type`, `company_id`, `project_name`, `project_code`, `alias`, `risk_code`, `seat_num`, `sum_amount`, `sum_premium`, `request_data`, `api_type`, `relate_code`) VALUES ( 0, 2, 'PICC1000000', '“如意行”非营运客车方案B款(豪华版)(1至1年)', 'EAD0000038', NULL, NULL, NULL, 0.00, 0.00, NULL, 2, NULL);
+INSERT INTO `agent`.`ins_driving_intention_insurance` ( `parent_id`, `type`, `company_id`, `project_name`, `project_code`, `alias`, `risk_code`, `seat_num`, `sum_amount`, `sum_premium`, `request_data`, `api_type`, `relate_code`) VALUES ( 0, 2, 'PICC1000000', '“如意行”非营运客车方案B款(升级版)(1至1年)', 'EAD0000037', NULL, NULL, NULL, 0.00, 0.00, NULL, 2, NULL);
+INSERT INTO `agent`.`ins_driving_intention_insurance` ( `parent_id`, `type`, `company_id`, `project_name`, `project_code`, `alias`, `risk_code`, `seat_num`, `sum_amount`, `sum_premium`, `request_data`, `api_type`, `relate_code`) VALUES ( 0, 2, 'PICC1000000', '“如意行”非营运客车方案A款(豪华版)(0至1年)', 'EAD0000035', NULL, NULL, NULL, 0.00, 0.00, NULL, 2, NULL);
+INSERT INTO `agent`.`ins_driving_intention_insurance` ( `parent_id`, `type`, `company_id`, `project_name`, `project_code`, `alias`, `risk_code`, `seat_num`, `sum_amount`, `sum_premium`, `request_data`, `api_type`, `relate_code`) VALUES ( 0, 2, 'PICC1000000', '“如意行”非营运客车方案C款(升级版)(1至1年)', 'EAD0000041', NULL, NULL, NULL, 0.00, 0.00, NULL, 2, NULL);
+
+INSERT INTO `agent`.`ins_driving_intention_insurance_type_company` ( `company_id`, `type_id`, `is_multiple`, `is_enable`, `create_time`) VALUES ( 'PICC1000000', 2, 0, 1, '2025-04-17 16:29:17');

+ 3 - 2
src/main/java/com/ydtech/modules/admin/controller/CompanyDataReportConroller.java

@@ -126,7 +126,8 @@ public class CompanyDataReportConroller {
     @PostMapping("/largeOrdersExcel")
     @ApiOperation(value = "大订单导出")
     public HttpResult largeOrdersExcel(@RequestBody OrdersDataVo ordersDataVo) {
-        String userId = BaseController.getUserId();
-        return this.companyDataReportService.largeOrdersExcel(ordersDataVo,userId);
+        String userId = ordersDataVo.getUserId();
+        String userLoginId = BaseController.getUserId();
+        return this.companyDataReportService.largeOrdersExcel(ordersDataVo,userId,userLoginId);
     }
 }

+ 9 - 0
src/main/java/com/ydtech/modules/admin/model/report/company/OrdersDataDto.java

@@ -77,4 +77,13 @@ public class OrdersDataDto  implements Serializable {
 
     @ApiModelProperty("车型")
     private String modelcname;
+
+    @ApiModelProperty("业务员id")
+    private String userId;
+
+    @ApiModelProperty("业务员名称")
+    private String userName;
+
+    @ApiModelProperty("手机号")
+    private String mobile;
 }

+ 1 - 1
src/main/java/com/ydtech/modules/admin/service/CompanyDataReportService.java

@@ -49,7 +49,7 @@ public interface CompanyDataReportService {
      * @author: whp
      * @date: 2024/9/13
      **/
-    HttpResult largeOrdersExcel(OrdersDataVo ordersDataVo,String userId);
+    HttpResult largeOrdersExcel(OrdersDataVo ordersDataVo,String userId,String userLoginId);
 
     /**
      * @description:   控制台-小定单报价明细

+ 7 - 1
src/main/java/com/ydtech/modules/admin/service/impl/CompanyDataReportServiceImpl.java

@@ -181,6 +181,9 @@ public class CompanyDataReportServiceImpl implements CompanyDataReportService {
             OrdersDataDto ordersDataDto = new OrdersDataDto();
             ordersDataDto.setBeginDate(dateMapByType.get("startDate"));
             ordersDataDto.setEndDate(dateMapByType.get("endDate"));
+            ordersDataDto.setUserId(ordersDataVo.getUserId());
+            ordersDataDto.setUserName(ordersDataVo.getUserName());
+            ordersDataDto.setMobile(ordersDataVo.getMobile());
             for (OrdersDataDto record : records) {
                 String licenseno = record.getLicenseno();  //车牌号
                 String frameno = record.getFrameno();   //车牌号
@@ -250,7 +253,7 @@ public class CompanyDataReportServiceImpl implements CompanyDataReportService {
      **/
     @Override
     @Async
-    public HttpResult largeOrdersExcel(OrdersDataVo ordersDataVo,String userId) {
+    public HttpResult largeOrdersExcel(OrdersDataVo ordersDataVo,String userId,String userLoginId) {
 
         //判断开始时间和结束时间是否为空,如果为空的走时间类型逻辑
         HashMap<String, String> dateMapByType = getDateMapByType(ordersDataVo.getDateType(), ordersDataVo.getBeginDate(), ordersDataVo.getEndDate());
@@ -276,6 +279,9 @@ public class CompanyDataReportServiceImpl implements CompanyDataReportService {
 //                }
 //            }
         dateMapByType.put("userId", userId);
+        dateMapByType.put("userName", ordersDataVo.getUserName());
+        dateMapByType.put("mobile", ordersDataVo.getMobile());
+        dateMapByType.put("userLoginId",userLoginId);
 
         this.insExcelTaskAsyncService.importasync(resultSubOrder,dateMapByType, ordersDataVo.getBeginDate(), ordersDataVo.getEndDate());
 //        String uploadPath = this.uploadPath + "/excel/";

+ 18 - 0
src/main/java/com/ydtech/modules/console/vo/BigOrderUploadVo.java

@@ -27,4 +27,22 @@ public class BigOrderUploadVo implements Serializable {
     private  String   userId;
 
 
+    @ApiModelProperty("车型")
+    private String modelcname;
+
+
+    @ApiModelProperty("业务员名称")
+    private String userName;
+
+    @ApiModelProperty("手机号")
+    private String mobile;
+
+
+    @ApiModelProperty("车架号")
+    private String frameno;
+
+
+    @ApiModelProperty("车牌号")
+    private String licenseno;
+
 }

+ 4 - 1
src/main/java/com/ydtech/modules/fnc/service/impl/InsExcelTaskAsyncServiceImpl.java

@@ -66,7 +66,7 @@ public class InsExcelTaskAsyncServiceImpl extends ServiceImpl<InsExcelTaskAsyncM
         String taskId = String.valueOf(new SnowFlakeUtil().nextId());
         insExcelTaskEntity.setId(taskId);
         insExcelTaskEntity.setStatus("ready");
-        insExcelTaskEntity.setUserId(dateMapByType.get("userId"));
+        insExcelTaskEntity.setUserId(dateMapByType.get("userLoginId"));
         insExcelTaskEntity.setCreateTime(LocalDateTime.now());
         insExcelTaskEntity.setCreatedAt(LocalDateTime.now());
         insExcelTaskEntity.setType("1");
@@ -78,6 +78,9 @@ public class InsExcelTaskAsyncServiceImpl extends ServiceImpl<InsExcelTaskAsyncM
             OrdersDataDto ordersDataDto = new OrdersDataDto();
             ordersDataDto.setBeginDate(dateMapByType.get("startDate"));
             ordersDataDto.setEndDate(dateMapByType.get("endDate"));
+            ordersDataDto.setUserId(dateMapByType.get("userId"));
+            ordersDataDto.setUserName(dateMapByType.get("userName"));
+            ordersDataDto.setMobile(dateMapByType.get("mobile"));
             for (OrdersDataExcel record : resultSubOrder) {
                 String licenseno = record.getLicenseno();  //车牌号
                 String frameno = record.getFrameno();   //车牌号

+ 9 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -1931,6 +1931,15 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             accidentalDrivingVo.setQuantity(baseQuoteVo.getAccidentalDrivingVo().getQuantity());
             renShouBaseQuoteVo.setAccidentalDrivingVo(accidentalDrivingVo);
             return renShouBaseQuoteVo;
+        } else if (baseQuoteVo.getCompanyId().equals("PICC1000000")) {
+            //中保
+            BaseQuoteVo<AccidentalDrivingVo> zbBaseQuoteVo = new BaseQuoteVo<>();
+            BeanUtils.copyProperties(baseQuoteVo, zbBaseQuoteVo);
+            AccidentalDrivingVo accidentalDrivingVo = new AccidentalDrivingVo();
+            accidentalDrivingVo.setRideRiskName(baseQuoteVo.getAccidentalDrivingVo().getProjectName());
+            accidentalDrivingVo.setRideRiskCode(baseQuoteVo.getAccidentalDrivingVo().getProjectCode());
+            zbBaseQuoteVo.setAccidentalDrivingVo(accidentalDrivingVo);
+            return zbBaseQuoteVo;
         } else if (baseQuoteVo.getCompanyId().equals("HBIC1000000")) {
             //恒邦
             BaseQuoteVo<Object> hengBangBaseQuoteVo = new BaseQuoteVo<>();

+ 81 - 81
src/main/resources/mapper/modules/admin/TaskStatisticsMapper.xml

@@ -531,103 +531,103 @@
     </select>
 
     <select id="getBusinessAgentDataExcel"  resultType="com.ydtech.modules.admin.model.vo.BusinessAgentData">
-        select
+        SELECT
         a.userId as "userId",
-        a.userName as "userName",
-        a.deptId as "deptId",
-        a.leaderName as "leaderName",
-        COALESCE(a.sumpremium, 0) as "sumpremium",
-        COALESCE(a.jqpremium, 0) as "jqpremium",
-        COALESCE(a.sypremium, 0) as "sypremium",
-        COALESCE(a.taxamount, 0) as "taxamount",
-        COALESCE(a.jypremium, 0) as "jypremium",
-        COALESCE(a.riskCodeJs, 0) as "riskCodeJs",
-        COALESCE(a.riskCodeDj, 0) as "riskCodeDj",
-        COALESCE(a.riskCodeJshang, 0) as "riskCodeJshang",
-        COALESCE(a.riskCodeDs, 0) as "riskCodeDs",
-        COALESCE(a.riskCodeDsan, 0) as "riskCodeDsan",
-        a.managementSource as "managementSource",
-        COALESCE(a.entranceAllFee - a.exportAllFee, 0) as "distributionAmount",
-        CASE WHEN a.sumpremium > 0 THEN (COALESCE(a.entranceAllFee - a.exportAllFee, 0) / a.sumpremium) ELSE 0 END as "distributionAmountRate"
-        from (
-        select
-        io.userid as "userId",
-        io.username as "userName",
-        sd.id as "deptId",
-        sd.management_source as "managementSource",
-        iac.leader_name as "leaderName",
-        sum(COALESCE(jqpremium, 0) + COALESCE(sypremium, 0) + COALESCE(jypremium, 0)) as "sumpremium",
-        sum(COALESCE(jqpremium, 0)) as "jqpremium",
-        sum(COALESCE(sypremium, 0)) as "sypremium",
-        sum(COALESCE(taxamount, 0)) as "taxamount",
-        sum(COALESCE(jypremium, 0)) as "jypremium",
+        su.name AS "userName",
+        sd.id AS "deptId",
+        su.leader_name AS "leaderName",
+        a.sumpremium,
+        a.jqpremium,
+        a.sypremium,
+        a.taxamount,
+        a.jypremium,
+        a.riskCodeJs,
+        a.riskCodeDj,
+        a.riskCodeJshang,
+        a.riskCodeDs,
+        a.riskCodeDsan,
+        sd.management_source AS "managementSource",
+        a.distributionAmount,
+        CASE WHEN a.sumpremium = 0 THEN 0  ELSE a.distributionAmount / a.sumpremium  END AS "distributionAmountRate"
+        FROM (
+        SELECT
+        io.userid AS "userId",
+        SUM(IFNULL(jqpremium, 0) + IFNULL(sypremium, 0) + IFNULL(jypremium, 0)) AS "sumpremium",
+        IFNULL(SUM(jqpremium), 0) AS "jqpremium",
+        IFNULL(SUM(sypremium), 0) AS "sypremium",
+        IFNULL(SUM(taxamount), 0) AS "taxamount",
+        IFNULL(SUM(jypremium), 0) AS "jypremium",
         COUNT(CASE WHEN iac.product = '交三' THEN 1 END) AS "riskCodeJs",
         COUNT(CASE WHEN iac.product = '单交' THEN 1 END) AS "riskCodeDj",
         COUNT(CASE WHEN iac.product = '交商' THEN 1 END) AS "riskCodeJshang",
         COUNT(CASE WHEN iac.product = '单商' THEN 1 END) AS "riskCodeDs",
         COUNT(CASE WHEN iac.product = '单三' THEN 1 END) AS "riskCodeDsan",
-        ROUND(sum(COALESCE(ifon.jq_costs_premiums, 0) + COALESCE(ifon.sy_costs_premiums, 0) + COALESCE(ifon.no_costs_premiums, 0)), 2) as "entranceAllFee",
-        ROUND(sum(COALESCE(jq_export_other_costs_premiums, 0) + COALESCE(jq_export_supervise_costs_premiums, 0)
-        + COALESCE(sy_export_other_costs_premiums, 0) + COALESCE(sy_export_supervise_costs_premiums, 0)
-        + COALESCE(no_export_other_costs_premiums, 0) + COALESCE(no_export_supervise_costs_premiums, 0)), 2) as "exportAllFee"
-        from (
-        select *
-        from ins_area_company
-        where orderstatus = '3'
-        and (del_flag = '1')
+        ROUND(SUM(IFNULL(ifon.jq_costs_premiums, 0) + IFNULL(ifon.sy_costs_premiums, 0) + IFNULL(ifon.no_costs_premiums, 0)), 2) AS "entranceAllFee",
+        ROUND(SUM(IFNULL(jq_export_other_costs_premiums, 0) + IFNULL(jq_export_supervise_costs_premiums, 0) + IFNULL(sy_export_other_costs_premiums, 0) + IFNULL(sy_export_supervise_costs_premiums, 0) + IFNULL(no_export_other_costs_premiums, 0) + IFNULL(no_export_supervise_costs_premiums, 0)), 2) AS "exportAllFee",
+        IFNULL(IFNULL(SUM(IFNULL(ifon.jq_costs_premiums, 0) + IFNULL(ifon.sy_costs_premiums, 0) + IFNULL(ifon.no_costs_premiums, 0)), 0) - IFNULL(SUM(IFNULL(jq_export_other_costs_premiums, 0) + IFNULL(jq_export_supervise_costs_premiums, 0) + IFNULL(sy_export_other_costs_premiums, 0) + IFNULL(sy_export_supervise_costs_premiums, 0) + IFNULL(no_export_other_costs_premiums, 0) + IFNULL(no_export_supervise_costs_premiums, 0)), 0), 0) AS "distributionAmount"
+        FROM
+        ins_area_company iac
+        LEFT JOIN ins_orders io ON io.orderno = iac.orderno
+        LEFT JOIN sys_user su ON su.id = io.userid
+        LEFT JOIN ins_fee_order_new ifon ON iac.id = ifon.ins_order_no
+        WHERE
+        iac.orderstatus = '3'
+        AND (iac.del_flag = '1' OR io.del_flag IS NULL OR io.del_flag = 1)
         <if test="vo.signingTimeStart != null and vo.signingTimeStart!='' and vo.signingTimeEnd != null and vo.signingTimeEnd != ''">
-            AND signing_time BETWEEN #{vo.signingTimeStart} AND #{vo.signingTimeEnd}
+            AND iac.signing_time BETWEEN #{vo.signingTimeStart} AND #{vo.signingTimeEnd}
         </if>
         <if test="vo.enterTimeStart != null and vo.enterTimeStart!='' and vo.enterTimeEnd != null and vo.enterTimeEnd != ''">
-            AND createtime BETWEEN #{vo.enterTimeStart} AND #{vo.enterTimeEnd}
+            AND iac.createtime BETWEEN #{vo.enterTimeStart} AND #{vo.enterTimeEnd}
+        </if>
+
+        <if test="vo.leaderName != null and vo.leaderName!='' ">
+            AND iac.leader_name = #{vo.leaderName}
         </if>
         <if test="vo.userIds  !=null  and vo.userIds!=''  and vo.userIds.size()>0">
-            and leader_id in
+            AND su.leader_id IN
             <foreach collection="vo.userIds" item="item" open="(" separator="," close=")">
                 #{item}
             </foreach>
         </if>
-        <if test="vo.leaderName !=null  and vo.leaderName!=''">
-            and leader_name=#{vo.leaderName}
-        </if>
-        ) iac
-        left join ins_orders io on io.orderno = iac.orderno
-        LEFT JOIN ins_fee_order_new ifon ON iac.id = ifon.ins_order_no
-        left join sys_dept sd on sd.id = io.deptid
-        LEFT JOIN sys_user_role sur ON sur.user_id = io.userid
-        <where>
-            <if test="vo.userId !=null  and vo.userId!=''">
-                and io.userid=#{vo.userId}
-            </if>
-            <if test="vo.userName !=null  and vo.userName!=''">
-                and io.username=#{vo.userName}
-            </if>
-            <if test="vo.managementSource !=null  and vo.managementSource!=''">
-                and sd.management_source=#{vo.managementSource}
-            </if>
-            <choose>
-                <when test='vo.managementSource == "2"'>
-                    and (sur.role_id = 20 or sur.role_id = 21)
-                </when>
-                <when test='vo.managementSource == "1"'>
-                    and (sur.role_id = 19 or sur.role_id = 21)
-                </when>
-                <otherwise>
-                </otherwise>
-            </choose>
-            <if test="vo.deptIds != null and vo.deptIds != '' and vo.deptIds.size() > 0">
-                AND sd.id in
-                <foreach collection="vo.deptIds" item="item" open="(" separator="," close=")">
-                    #{item}
-                </foreach>
-            </if>
-            <if test="vo.deptId !=null  and vo.deptId!=''">
-                and sd.id like concat('%', #{vo.deptId}, '%')
-            </if>
-        </where>
-        group by io.userid, io.username, io.deptid, iac.leader_name, sd.management_source
+        GROUP BY
+        io.userid
         ) a
-        order by a.sumpremium desc, a.userId
+        LEFT JOIN sys_user su ON a.userId = su.id
+        LEFT JOIN sys_dept sd ON sd.id = su.dept_id
+        LEFT JOIN sys_user_role sur ON sur.user_id = su.id
+        WHERE
+        1 = 1
+        <if test="vo.userId !=null  and vo.userId!=''">
+            AND su.id = #{vo.userId}
+        </if>
+        <if test="vo.userName !=null  and vo.userName!=''">
+            AND su.name = #{vo.userName}
+        </if>
+        <if test="vo.managementSource !=null  and vo.managementSource!=''">
+            AND sd.management_source = #{vo.managementSource}
+        </if>
+        <choose>
+            <when test='vo.managementSource == "2"'>
+                AND (sur.role_id = 20 OR sur.role_id = 21)
+            </when>
+            <when test='vo.managementSource == "1"'>
+                AND (sur.role_id = 19 OR sur.role_id = 21)
+            </when>
+            <otherwise>
+            </otherwise>
+        </choose>
+        <if test="vo.deptIds != null and vo.deptIds != '' and vo.deptIds.size() > 0">
+            AND sd.id IN
+            <foreach collection="vo.deptIds" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="vo.deptId !=null  and vo.deptId!=''">
+            AND sd.id LIKE CONCAT('%', #{vo.deptId}, '%')
+        </if>
+        ORDER BY
+        a.sumpremium DESC,
+        a.userId
     </select>
 
     <select id="ordersDetailsExcel" resultType="com.ydtech.modules.admin.model.dto.OrdersDetailsExcel">

+ 20 - 1
src/main/resources/mapper/modules/console/UpLoadOrderMapper.xml

@@ -19,7 +19,7 @@
         ifnull( eic.NAME, '' ) AS companyName,
         io.userid  AS "userId",
         su.NAME  AS "userName",
-        iac.leader_name  AS "leaderName"
+        su.leader_name  AS "leaderName"
         FROM
         ins_orders io
         LEFT JOIN ins_area_company iac ON io.orderno = iac.orderno
@@ -30,6 +30,25 @@
             <if test="vo.beginDate  != null  and  vo.beginDate!=''  and vo.endDate  != null  and  vo.endDate!=''">
                 AND DATE_FORMAT( io.createtime, '%Y-%m-%d') BETWEEN #{vo.beginDate} AND #{vo.endDate}
             </if>
+
+            <if test="vo.licenseno !=null  and vo.licenseno!=''">
+                AND io.licenseno =#{vo.licenseno}
+            </if>
+            <if test="vo.frameno !=null  and vo.frameno!=''">
+                AND io.frameno =#{vo.frameno}
+            </if>
+
+            <if test="vo.userId !=null  and vo.userId!=''">
+                AND io.userId =#{vo.userId}
+            </if>
+
+            <if test="vo.userName  != null  and  vo.userName!=''  ">
+                AND su.name =#{vo.userName}
+            </if>
+
+            <if test="vo.mobile  != null  and  vo.mobile!=''  ">
+                AND su.mobile =#{vo.mobile}
+            </if>
         </where>
         order by io.createtime ,io.orderno
     </select>

+ 14 - 0
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -3244,6 +3244,7 @@
         GROUP_CONCAT(inscompany ORDER BY inscompany SEPARATOR ',') as "namesimple"
         from ins_area_company iac
         left join ins_orders io on io.orderno = iac.orderno
+        left join sys_user  su  on su.id =io.userid
         <where>
             iac.orderstatus ='3'
             <if test="vo.licenseno !=null  and vo.licenseno!=''">
@@ -3252,6 +3253,19 @@
             <if test="vo.frameno !=null  and vo.frameno!=''">
                 AND io.frameno =#{vo.frameno}
             </if>
+
+            <if test="vo.userId !=null  and vo.userId!=''">
+                AND io.userId =#{vo.userId}
+            </if>
+
+            <if test="vo.userName  != null  and  vo.userName!=''  ">
+                AND su.name =#{vo.userName}
+            </if>
+
+            <if test="vo.mobile  != null  and  vo.mobile!=''  ">
+                AND su.mobile =#{vo.mobile}
+            </if>
+
             <if test="vo.beginDate  != null  and  vo.beginDate!=''  and vo.endDate  != null  and  vo.endDate!=''">
                 AND io.createtime BETWEEN #{vo.beginDate} AND #{vo.endDate}
             </if>