Ver Fonte

修改我的订单查询方式

udream-cxs há 4 anos atrás
pai
commit
c81b35e43b

+ 2 - 2
lift-ud-service/src/main/java/cn/com/ty/lift/ud/chat/controller/query/LiftCaseQuery.java

@@ -103,9 +103,9 @@ public final class LiftCaseQuery extends BasePageQuery {
         + "    0待付款(创建订单) =》  1已付款(待接单)=》 2已接单 =》 3专家确认完成 =》 4用户确认完成 =》 5待评价 =》 6待归档 =》 7已归档\n" + "\n" + "出诊:\n"
         + "    0待接单(创建订单) =》 1已接单(待报价) =》  2待付款(已报价) =》 待打卡 =》 专家到场确认 =》 \n"
         + "                                                             =》 3专家确认完成 =》 4用户确认完成 =》 5待评价 ")
-    private Integer statuz1;
+    private String statuz1;
 
-    private Integer statuz2;
+    private String statuz2;
 
     @ApiModelProperty("0待接单1已接单")
     private Integer acceptStatus;

+ 80 - 1
lift-ud-service/src/main/java/cn/com/ty/lift/ud/chat/mapper/LiftCaseMapper.java

@@ -55,8 +55,87 @@ public interface LiftCaseMapper extends BaseMapper<LiftCaseEntity> {
     int updateByPrimaryKey(LiftCaseEntity record);
 
     List<LiftCaseEntity> selectByQuery(@Param("page") LiftCaseQuery query);
-
     int countByQuery(@Param("page") LiftCaseQuery query);
+    /**
+     * 查询用户全部诊单
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryUserAll(@Param("query") LiftCaseQuery query);
+    int queryUserAllCount(@Param("query") LiftCaseQuery query);
+
+    /**
+     * 查询专家全部诊单
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryChargeAll(@Param("query") LiftCaseQuery query);
+    int queryChargeAllCount(@Param("query") LiftCaseQuery query);
+    /**
+     * 查询用户代付款
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryToPay(@Param("query") LiftCaseQuery query);
+    int queryToPayCount(@Param("query") LiftCaseQuery query);
+    /**
+     * 查询用户待确认
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryUserToSure(@Param("query") LiftCaseQuery query);
+    int queryUserToSureCount(@Param("query") LiftCaseQuery query);
+    /**
+     * 查询用户待评价
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryToEva(@Param("query") LiftCaseQuery query);
+    int queryToEvaCount(@Param("query") LiftCaseQuery query);
+    /**
+     * 查询专家待报价
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryToOffer(@Param("query") LiftCaseQuery query);
+    int queryToOfferCount(@Param("query") LiftCaseQuery query);
+    /**
+     * 查询专家待打卡
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryToClock(@Param("query") LiftCaseQuery query);
+    int queryToClockCount(@Param("query") LiftCaseQuery query);
+    /**
+     * 查询专家待确认
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryChargeToSure(@Param("query") LiftCaseQuery query);
+    int queryChargeToSureCount(@Param("query") LiftCaseQuery query);
+    /**
+     * 查询专家待归档
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryToAchive(@Param("query") LiftCaseQuery query);
+    int queryToAchiveCount(@Param("query") LiftCaseQuery query);
+    /**
+     * 专家工作台
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryWorkbench(@Param("query") LiftCaseQuery query);
+    int queryWorkbenchCount(@Param("query") LiftCaseQuery query);
+    /**
+     * 后台监控中心
+     * @param query
+     * @return
+     */
+    List<LiftCaseEntity> queryMonitoringCenter(@Param("query") LiftCaseQuery query);
+    int queryMonitoringCenterCount(@Param("query") LiftCaseQuery query);
+
+
 
     List<LiftCaseEntity> queryPageByInvoiceId(@Param("id") Long invoiceId, @Param("page") LiftCaseQuery query);
 

+ 414 - 30
lift-ud-service/src/main/java/cn/com/ty/lift/ud/chat/mapper/LiftCaseMapper.xml

@@ -323,26 +323,402 @@
       update_time = #{updateTime,jdbcType=TIMESTAMP}
     where id = #{id,jdbcType=INTEGER}
   </update>
-  
-  
-  
-<!--    <select id="selectByQuery" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity" > -->
-<!--     SELECT t.*,users.`name` as name,users.avatar_url as avatarUrl,brand.`name` as brandName from lift_case as t -->
-<!--     LEFT JOIN user_info as users ON t.create_user_id = users.user_id -->
-<!--     LEFT JOIN lift_brand as brand ON brand.id = t.brand_id -->
-<!--     <where> -->
-<!--     ${ew.sqlSegment} -->
-<!--     </where> -->
-<!--     limit #{page.pageIndex},#{page.pageSize} -->
-<!--   </select> -->
-<!--   <select id="countByQuery" resultType="java.lang.Integer"> -->
-<!--      SELECT count(0)from lift_case as t   -->
-<!--     LEFT JOIN user_info as users on t.create_user_id = users.user_id -->
-<!--     <where> -->
-<!--         ${ew.sqlSegment} -->
-<!--     </where> -->
-<!--   </select> -->
-  
+
+
+  <!-- 查询用户全部诊单 -->
+  <select id="queryUserAll" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+    que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.create_user_id=#{query.createUserId}
+    ORDER BY t.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryUserAllCount" resultType="java.lang.Integer">
+    SELECT count(0)
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.create_user_id=#{query.createUserId}
+  </select>
+
+
+  <!-- 查询专家全部诊单 -->
+  <select id="queryChargeAll" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+    que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.charger_id=#{query.chargerId}
+    ORDER BY t.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryChargeAllCount" resultType="java.lang.Integer">
+    SELECT count(0)
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.charger_id=#{query.chargerId}
+  </select>
+
+
+  <!-- 查询用户代付款诊单 -->
+  <select id="queryToPay" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    select * from (
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and t.statuz = 0
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 2 and t.statuz = 2
+    )temp
+    ORDER BY temp.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryToPayCount" resultType="java.lang.Integer">
+    select count(0) from (
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and t.statuz = 0
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 2 and t.statuz = 2
+    )temp
+  </select>
+
+  <!-- 查询用户待确认诊单 -->
+  <select id="queryUserToSure" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    select * from (
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and FIND_IN_SET(t.statuz,'3,4')
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'3,4')
+    )temp
+    ORDER BY temp.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryUserToSureCount" resultType="java.lang.Integer">
+    select count(0) from (
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and FIND_IN_SET(t.statuz,'3,4')
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'3,4')
+    )temp
+  </select>
+  <!-- 查询用户待评价诊单 -->
+  <select id="queryToEva" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    select * from (
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and FIND_IN_SET(t.statuz,'5')
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'5')
+    )temp
+    ORDER BY temp.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryToEvaCount" resultType="java.lang.Integer">
+    select count(0) from (
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and FIND_IN_SET(t.statuz,'5')
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'5')
+    )temp
+  </select>
+  <!-- 查询专家待报价 -->
+  <select id="queryToOffer" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+    que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'1')
+    ORDER BY t.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryToOfferCount" resultType="java.lang.Integer">
+    SELECT count(0)
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'1')
+  </select>
+  <!-- 查询专家待打卡 -->
+  <select id="queryToClock" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+    que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'3') and t.arrived_Flag=0
+    ORDER BY t.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryToClockCount" resultType="java.lang.Integer">
+    SELECT count(0)
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'3') and t.arrived_Flag=0
+  </select>
+  <!-- 查询专家待确认诊单 -->
+  <select id="queryChargeToSure" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    select * from (
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and FIND_IN_SET(t.statuz,'2,3')
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'3') and t.arrived_Flag=1
+    )temp
+    ORDER BY temp.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryChargeToSureCount" resultType="java.lang.Integer">
+    SELECT count(0) from (
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and FIND_IN_SET(t.statuz,'2,3')
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'3') and t.arrived_Flag=1
+    )temp
+  </select>
+  <!-- 查询专家待归档 -->
+  <select id="queryToClock" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+    que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'4')
+    ORDER BY t.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryToClockCount" resultType="java.lang.Integer">
+    SELECT count(0)
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'4')
+  </select>
+  <!-- 查询专家工作台 -->
+  <select id="queryWorkbench" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    select * from (
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and FIND_IN_SET(t.statuz,'1')
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'0')
+    )temp
+    ORDER BY temp.create_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryWorkbenchCount" resultType="java.lang.Integer">
+    SELECT count(0) from (
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.create_user_id=#{query.createUserId} and t.data_table = 1 and FIND_IN_SET(t.statuz,'1')
+        union
+        SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+        que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+        from lift_case as t
+        LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+        LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+        LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+        LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+        left join question_bank que on que.lift_case_id = t.id
+        where 1=1 and t.charger_id=#{query.chargerId} and t.data_table = 2 and FIND_IN_SET(t.statuz,'0')
+    )temp
+  </select>
+  <!-- 后台监控中心 -->
+  <select id="queryMonitoringCenter" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
+    SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
+    que.examine_flag examineFlag,que.not_examine_reason notExamineReason
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+    ORDER BY t.update_time DESC
+    limit #{query.pageIndex},#{query.pageSize}
+  </select>
+  <select id="queryMonitoringCenterCount" resultType="java.lang.Integer">
+    SELECT count(0)
+    from lift_case as t
+    LEFT JOIN user_info AS ui ON t.create_user_id = ui.user_id
+    LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
+    LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
+    LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
+    left join question_bank que on que.lift_case_id = t.id
+  </select>
+
+
+
+
   <select id="selectByQuery" resultType="cn.com.ty.lift.ud.chat.mapper.entity.LiftCaseEntity">
     SELECT customer.`name` as customerName ,t.*,brand.`name` as brandName,
     que.examine_flag examineFlag,que.not_examine_reason notExamineReason
@@ -354,15 +730,19 @@
     left join question_bank que on que.lift_case_id = t.id
     where 1=1   
     <if test="page.statuz1 != null and page.statuz2 != null">
-      and ((t.data_table=1 and t.statuz=#{page.statuz1}) or (t.data_table=2 and t.statuz=#{page.statuz2}))
+      <!-- and ((t.data_table=1 and t.statuz=#{page.statuz1}) or (t.data_table=2 and t.statuz=#{page.statuz2})) -->
+      and ((t.data_table=1 and FIND_IN_SET(t.statuz,#{page.statuz1})) or (t.data_table=2 and FIND_IN_SET(t.statuz,#{page.statuz2})))
     </if>
     <if test="page.statuz1 != null and page.statuz2 == null">
-      and(t.data_table=1 and t.statuz=#{page.statuz1}) 
+      <!-- and(t.data_table=1 and t.statuz=#{page.statuz1}) -->
+      and(t.data_table=1 and FIND_IN_SET(t.statuz,#{page.statuz1}))
     </if>
     <if test="page.statuz2 != null and page.statuz1 == null">
-     and (t.data_table=2 and t.statuz=#{page.statuz2}) 
+      <!-- and (t.data_table=2 and t.statuz=#{page.statuz2}) -->
+     and (t.data_table=2 and FIND_IN_SET(t.statuz,#{page.statuz2}))
     </if>
-    <if test="page.arrivedFlag != null" >
+    <!-- <if test="page.arrivedFlag != null and page.statuz2 == 3" > -->
+    <if test="page.arrivedFlag != null and page.dataTable == 2" >
      and t.arrived_Flag=#{page.arrivedFlag}
     </if>
     <if test="page.haveSessionId == true" >
@@ -401,17 +781,21 @@
      LEFT JOIN user_info AS ci ON t.charger_id = ci.user_id
     LEFT JOIN user_info as customer ON t.customer_service_id = customer.user_id
     LEFT JOIN lift_brand as brand ON brand.id = t.brand_id
-    where 1=1 
-     <if test="page.statuz1 != null and page.statuz2 != null">
-      and ((t.data_table=1 and t.statuz=#{page.statuz1}) or (t.data_table=2 and t.statuz=#{page.statuz2}))
+    where 1=1
+    <if test="page.statuz1 != null and page.statuz2 != null">
+      <!-- and ((t.data_table=1 and t.statuz=#{page.statuz1}) or (t.data_table=2 and t.statuz=#{page.statuz2})) -->
+      and ((t.data_table=1 and FIND_IN_SET(t.statuz,#{page.statuz1})) or (t.data_table=2 and FIND_IN_SET(t.statuz,#{page.statuz2})))
     </if>
     <if test="page.statuz1 != null and page.statuz2 == null">
-      and(t.data_table=1 and t.statuz=#{page.statuz1}) 
+      <!--  and(t.data_table=1 and t.statuz=#{page.statuz1}) -->
+      and(t.data_table=1 and FIND_IN_SET(t.statuz,#{page.statuz1}))
     </if>
     <if test="page.statuz2 != null and page.statuz1 == null">
-     and (t.data_table=2 and t.statuz=#{page.statuz2}) 
+      <!-- and (t.data_table=2 and t.statuz=#{page.statuz2}) -->
+      and (t.data_table=2 and FIND_IN_SET(t.statuz,#{page.statuz2}))
     </if>
-    <if test="page.arrivedFlag != null" >
+    <!-- <if test="page.arrivedFlag != null and page.statuz2 == 3" > -->
+    <if test="page.arrivedFlag != null and page.dataTable == 2" >
      and t.arrived_Flag=#{page.arrivedFlag}
     </if>
     <if test="page.acceptStatus != null" >

+ 65 - 41
lift-ud-service/src/main/java/cn/com/ty/lift/ud/chat/service/impl/LiftCaseServiceImpl.java

@@ -58,10 +58,10 @@ import java.util.ArrayList;
 import java.util.List;
 
 
+//                问诊:0待付款 1待接单 2已接单 3用户待确认 4待归档 5待评价 6已完成 7申诉中 8已拒绝
+//                出诊:0待接单 1待报价 2用户待付款 3待打卡 4用户待确认 5待评价 6已完成 7申诉中 8已拒绝
 /**
  * 诊单 -ServiceImpl
- * 问诊:0待付款 1待接单 2已接单 3用户待确认 4待归档 5待评价 6已完成 7申诉中 8已拒绝
- * 出诊:0待接单 1待报价 2用户待付款 3待打卡 4用户待确认 5待评价 6已完成 7申诉中 8已拒绝
  *
  * @author Xson
  * @date 2020-04-23
@@ -147,31 +147,41 @@ public class LiftCaseServiceImpl extends ServiceImpl<LiftCaseMapper, LiftCaseEnt
         int total = 0;
         switch (query.getType()) {
             case "USER_ALL": // 全部
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryUserAll(query);
+                total = caseMapper.queryUserAllCount(query);
                 break;
             case "CHARGE_ALL": // 全部
-                query.setAcceptStatus(1);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                query.setAcceptStatus(1);
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryChargeAll(query);
+                total = caseMapper.queryChargeAllCount(query);
                 break;
             case "TO_PAY": // 待付款
-                query.setStatuz1(0);
-                query.setStatuz2(2);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                query.setStatuz1("0");
+//                query.setStatuz2("2");
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryToPay(query);
+                total = caseMapper.queryToPayCount(query);
                 break;
             case "USER_TO_SURE": // 待确认
-                query.setStatuz1(3);
-                query.setStatuz2(4);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                query.setStatuz1("2,3");
+//                query.setStatuz2("3,4");
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryUserToSure(query);
+                total = caseMapper.queryUserToSureCount(query);
                 break;
             case "TO_EVA": // 待评价
-                query.setStatuz1(5);
-                query.setStatuz2(5);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                query.setStatuz1("5");
+//                query.setStatuz2("5");
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryToEva(query);
+                total = caseMapper.queryToEvaCount(query);
                 break;
             case "TO_APPEAL": // 申诉
                 LiftCaseAppealQuery liftCaseAppealQuery = new LiftCaseAppealQuery();
@@ -180,39 +190,53 @@ public class LiftCaseServiceImpl extends ServiceImpl<LiftCaseMapper, LiftCaseEnt
                 total = liftCaseAppealMapper.selectCountByUserForCase(liftCaseAppealQuery);
                 break;
             case "TO_OFFER": // 待报价(专家)
-                query.setStatuz2(1);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                query.setStatuz2("1");
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryToOffer(query);
+                total = caseMapper.queryToOfferCount(query);
                 break;
             case "TO_CLOCK": // 待打卡
-                query.setArrivedFlag(0);
-                query.setStatuz2(3);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                query.setDataTable("2");
+//                query.setArrivedFlag(0);
+//                query.setStatuz2("3");
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryToClock(query);
+                total = caseMapper.queryToClockCount(query);
                 break;
             case "CHARGE_TO_SURE": // 待确认
-                query.setArrivedFlag(1);
-                query.setStatuz1(2);
-                query.setStatuz2(3);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                query.setDataTable("2");
+//                query.setArrivedFlag(1);
+//                query.setStatuz1("2,3");
+//                query.setStatuz2("3");
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryChargeToSure(query);
+                total = caseMapper.queryChargeToSureCount(query);
                 break;
             case "TO_ARCHIVE": // 待归档
-                query.setStatuz1(4);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                query.setStatuz1("4");
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryToAchive(query);
+                total = caseMapper.queryToAchiveCount(query);
                 break;
             case "WORKBENCH": // 工作台
-                query.setStatuz1(1);
-                query.setStatuz2(0);
-                query.setAcceptStatus(0);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                query.setStatuz1("1");
+//                query.setStatuz2("0");
+//                query.setAcceptStatus(0);
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryWorkbench(query);
+                total = caseMapper.queryWorkbenchCount(query);
                 break;
             case "BACKQUERY": // 后台监控中心
                 query.setHaveSessionId(true);
-                list = caseMapper.selectByQuery(query);
-                total = caseMapper.countByQuery(query);
+//                list = caseMapper.selectByQuery(query);
+//                total = caseMapper.countByQuery(query);
+                list = caseMapper.queryMonitoringCenter(query);
+                total = caseMapper.queryMonitoringCenterCount(query);
                 break;
             default:
                 break;