huanghongfa
2021-07-22 02f18587bd8860b305e2c688e20465be166bb48c
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/EldersAuthDAO.java
@@ -5,10 +5,11 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.dtos.community.ExcelElderAuthDTO;
import com.panzhihua.common.model.dtos.community.PageComEldersRecordsDTO;
import com.panzhihua.common.model.dtos.community.PageEldersAuthDTO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO;
import com.panzhihua.common.model.vos.community.EldersAuthVO;
import com.panzhihua.common.model.dtos.community.PageEldersAuthRecordDTO;
import com.panzhihua.common.model.vos.community.*;
import com.panzhihua.common.model.vos.user.SysUserVO;
import com.panzhihua.service_community.model.dos.EldersAuthDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -29,10 +30,23 @@
    @Select("<script> " +
            "SELECT ea.id, ea.create_at, ea.create_by, ea.update_by, ea.update_at," +
            " ea.AUTH_USER_NAME , ea.ID_CARD, ea.BIRTH_DAY, ea.FAMILY_USER_ID ," +
            " ea.DOMICILE, ea.SUMIT_USER_ID,  u.phone as submitUserAccount ," +
            " ea.DOMICILE, ea.SUMIT_USER_ID,  u.phone as submitUserAccount , ea.VIDEO_URL, " +
            " u.name as submitUserName, ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) as age \n" +
            "FROM  com_elders_auth ea LEFT JOIN sys_user  u ON ea.SUMIT_USER_ID = u.user_id\n" +
            "FROM " +
            " (" +
            " SELECT MAX(id) AS id , DATE_FORMAT(create_at, '%Y-%m') AS yearMonth\n" +
            " FROM com_elders_auth \n" +
            " GROUP BY id_card, yearMonth\n" +
            " ) t  " +
            " LEFT JOIN com_elders_auth ea ON t.id = ea.id  " +
            " LEFT JOIN sys_user  u ON ea.SUMIT_USER_ID = u.user_id\n" +
            " LEFT JOIN com_act ac ON u.community_id = ac.community_id\n" +
            " <where> " +
            "<if test='pageEldersAuthDTO.communityId != null'>" +
            "  AND ac.community_id = #{pageEldersAuthDTO.communityId} " +
            " </if> " +
            "<if test='pageEldersAuthDTO.sumitUserId != null'>" +
            " AND ea.SUMIT_USER_ID = #{pageEldersAuthDTO.sumitUserId} " +
            " </if> " +
@@ -40,7 +54,18 @@
            " AND ea.ID_CARD = #{pageEldersAuthDTO.idCard} " +
            " </if> " +
            "<if test='pageEldersAuthDTO.authUserName != null'>" +
            " AND ea.AUTH_USER_NAME = #{pageEldersAuthDTO.authUserName} " +
            " AND ea.AUTH_USER_NAME like concat('%', #{pageEldersAuthDTO.authUserName}, '%' ) " +
            " </if> " +
            "<if test='pageEldersAuthDTO.type == 1 '>" +
            "  AND  DATE_FORMAT(ea.CREATE_AT, '%c') = #{pageEldersAuthDTO.month} " +
            " </if> " +
            "<if test='pageEldersAuthDTO.type == 2 '>" +
                "<if test='pageEldersAuthDTO.createAtStart != null'>" +
                " AND ea.create_at <![CDATA[>=]]> #{pageEldersAuthDTO.createAtStart} " +
                " </if> " +
                "<if test='pageEldersAuthDTO.createAtEnd != null'>" +
                " AND ea.create_at <![CDATA[<=]]> #{pageEldersAuthDTO.createAtEnd} " +
                " </if> " +
            " </if> " +
            " </where>" +
            " ORDER BY ea.${pageEldersAuthDTO.sortBy} ${pageEldersAuthDTO.order}  " +
@@ -51,7 +76,7 @@
    @Select("<script> " +
            "SELECT ea.id, ea.create_at, ea.create_by, ea.update_by, ea.update_at," +
            " ea.AUTH_USER_NAME , ea.ID_CARD, ea.BIRTH_DAY, ea.FAMILY_USER_ID, " +
            " ea.DOMICILE, ea.SUMIT_USER_ID,  u.phone as submitUserAccount ," +
            " ea.DOMICILE, ea.SUMIT_USER_ID,  u.phone as submitUserAccount  , ea.VIDEO_URL , ea.FAMILY_USER_ID, " +
            " u.name as submitUserName, ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) as age \n" +
            "FROM  com_elders_auth ea LEFT JOIN sys_user  u ON ea.SUMIT_USER_ID = u.user_id\n" +
            " where ea.id = #{id}"  +
@@ -59,23 +84,139 @@
    EldersAuthDetailsVO selectDetails(@Param("id") Long id);
    @Select("<script> " +
            "SELECT ea.id, ea.create_at, ea.create_by, ea.update_by, ea.update_at," +
            " ea.AUTH_USER_NAME , ea.ID_CARD, ea.BIRTH_DAY, ea.FAMILY_USER_ID ," +
            " ea.DOMICILE, ea.SUMIT_USER_ID,  u.phone as submitUserAccount ," +
            " u.name as submitUserName, ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) as age \n" +
            "FROM  com_elders_auth ea LEFT JOIN sys_user  u ON ea.SUMIT_USER_ID = u.user_id\n" +
            " SELECT \n" +
            " (@rownum:=@rownum+1) as seq,  '高龄补贴' AS subsidy, '' AS batch, ea.AUTH_USER_NAME AS NAME,  ea.ID_CARD, \n" +
            " CASE\n" +
            "    WHEN ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) > 99  THEN \"100周岁(含)以上\"\n" +
            "    WHEN ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) > 89  THEN \"90-99周岁\"\n" +
            "    WHEN ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) >= 80 THEN \"80-89周岁\"\n" +
            "    ELSE \"未达到年龄\"\n" +
            " END AS TYPE, DATE_FORMAT(ea.create_at, '%Y-%m') AS yearMonth,\n" +
            " CASE\n" +
            "    WHEN ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) > 99  THEN \"800\"\n" +
            "    WHEN ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) > 89  THEN \"200\"\n" +
            "    WHEN ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) >= 80 THEN \"50\"\n" +
            "    ELSE \"未达到年龄\"\n" +
            " END AS payCount,\n" +
            " ac.name AS communityName, '' AS 'group', '' AS telphone ,  ROUND(DATEDIFF(CURDATE(), ea.BIRTH_DAY)/365.2422) AS age\n" +
            " FROM \n" +
            " (" +
            " SELECT MAX(id) AS id , DATE_FORMAT(create_at, '%Y-%m') AS yearMonth, @rownum:=0 \n" +
            " FROM com_elders_auth \n" +
            " GROUP BY id_card, yearMonth\n" +
            " ) t \n" +
            " LEFT JOIN com_elders_auth ea ON t.id = ea.id \n" +
            " LEFT JOIN sys_user u ON ea.SUMIT_USER_ID = u.user_id\n" +
            " LEFT JOIN com_act ac ON u.community_id = ac.community_id\n" +
            " <where> " +
            "<if test='pageEldersAuthDTO.sumitUserId != null'>" +
            " AND ea.SUMIT_USER_ID = #{pageEldersAuthDTO.sumitUserId} " +
            "<if test='pageEldersAuthDTO.communityId != null'>" +
            "  AND ac.community_id = #{pageEldersAuthDTO.communityId} " +
            " </if> " +
            "<if test='pageEldersAuthDTO.idCard != null'>" +
            " AND ea.ID_CARD = #{pageEldersAuthDTO.idCard} " +
            "<if test='pageEldersAuthDTO.ids != null and pageEldersAuthDTO.ids.length>0 '>" +
            " AND ea.id in " +
            "<foreach collection='pageEldersAuthDTO.ids' item='id' index='index' open='(' close=')' separator=',' >\n" +
            "  #{id}" +
            "</foreach>" +
            " </if> " +
            "<if test='pageEldersAuthDTO.authUserName != null'>" +
            " AND ea.AUTH_USER_NAME = #{pageEldersAuthDTO.authUserName} " +
            "<if test='pageEldersAuthDTO.ids == null or pageEldersAuthDTO.ids.length==0 '>" +
                "<if test='pageEldersAuthDTO.sumitUserId != null'>" +
                " AND ea.SUMIT_USER_ID = #{pageEldersAuthDTO.sumitUserId} " +
                " </if> " +
                "<if test='pageEldersAuthDTO.idCard != null'>" +
                " AND ea.ID_CARD = #{pageEldersAuthDTO.idCard} " +
                " </if> " +
                "<if test='pageEldersAuthDTO.authUserName != null'>" +
                " AND ea.AUTH_USER_NAME like concat('%', #{pageEldersAuthDTO.authUserName}, '%' ) " +
                " </if> " +
                "<if test='pageEldersAuthDTO.type == 1 '>" +
                "  AND  DATE_FORMAT(ea.CREATE_AT, '%c') = #{pageEldersAuthDTO.month} " +
                " </if> " +
                "<if test='pageEldersAuthDTO.type == 2 '>" +
                    "<if test='pageEldersAuthDTO.createAtStart != null'>" +
                    " AND ea.create_at <![CDATA[>=]]> #{pageComShopOrderSearchDTO.createAtStart} " +
                    " </if> " +
                    "<if test='pageEldersAuthDTO.createAtEnd != null'>" +
                    " AND ea.create_at <![CDATA[<=]]> #{pageComShopOrderSearchDTO.createAtEnd} " +
                    " </if> " +
                " </if> " +
            " </if> " +
            " </where>" +
            " ORDER BY ea.${pageEldersAuthDTO.sortBy} ${pageEldersAuthDTO.order}  " +
            "</script>")
    List<ExcelElderAuthDTO> selectByParams(PageEldersAuthDTO pageEldersAuthDTO);
    List<ExcelElderAuthDTO> selectByParams( @Param("pageEldersAuthDTO")  PageEldersAuthDTO pageEldersAuthDTO);
    @Select("<script> " +
            "SELECT CONCAT(ap.province_name, ad.district_name) AS domicile\n" +
            "FROM com_mng_struct_area_province ap LEFT JOIN com_mng_struct_area_city ct ON ap.province_adcode = ct.province_adcode\n" +
            " LEFT JOIN com_mng_struct_area_district ad ON ct.city_adcode = ad.city_adcode "  +
            "  WHERE substring(ad.district_adcode, 1, 6) = substring(#{idCard}, 1, 6) "+
            "</script>")
    String selectDomicile(@Param("idCard") String idCard);
    @Select("<script> " +
            " SELECT distinct t.id, t.yearMonth, au.`type`,  DATE_FORMAT(au.CREATE_AT,'%Y-%m-%d')  AS create_at,\n" +
            " case " +
            " when fed.id IS NOT NULL then true\n" +
            " ELSE false " +
            " END hasFeed " +
            " FROM ( SELECT MAX(id) AS id , DATE_FORMAT(create_at, '%Y-%m') AS yearMonth\n" +
            " FROM com_elders_auth \n" +
            " GROUP BY id_card, yearMonth\n" +
            " ) t  LEFT JOIN com_elders_auth au ON t.id = au.id\n" +
            " LEFT JOIN com_elders_auth_feedback fed ON t.id = fed.AUTH_ID\n" +
            " <where>" +
            " au.FAMILY_USER_ID = #{pageComEldersRecordsDTO.bigAgeid} " +
            "</where>" +
            "<if test='pageComEldersRecordsDTO.sortColumns!=null'>\n" +
            "ORDER BY ${pageComEldersRecordsDTO.sortColumns} ${pageComEldersRecordsDTO.sortType}\n" +
            "</if>  " +
            "</script>")
    List<ComEldersAuthRecordVO> selectEldersRecordByPage(Page page, @Param("pageComEldersRecordsDTO") PageComEldersRecordsDTO pageComEldersRecordsDTO);
    @Select("<script> " +
            "  SELECT DISTINCT a.name" +
            " FROM com_elders_auth ea LEFT JOIN com_elders_auth_user au ON ea.FAMILY_USER_ID = au.id \n" +
            "LEFT JOIN com_act a ON au.community_id = a.community_id\n" +
            " WHERE ea.ID = #{id}  " +
            "</script>")
    String selectCommunityNameByAuth(@Param("id")  Long id);
    @Select("select user_id,id_card,name from sys_user where user_id = #{userId}")
    SysUserVO getSysUserByUserId(@Param("userId")Long userId);
    @Select("<script> " +
            " SELECT e.ID,e.CREATE_BY,e.CREATE_AT, e.UPDATE_BY, e.UPDATE_AT, e.ID_CARD, e.AUTH_USER_NAME, e.VIDEO_URL," +
            " e.SUMIT_USER_ID, e.DOMICILE, e.STATUS, e.BIRTH_DAY, e.type, e.age, e.verification_result, u.name as sumitUserName, u.phone as sumitUserAccount  " +
            " FROM ( " +
            "       SELECT MAX(id) AS id , DATE_FORMAT(create_at, '%Y-%m') AS yearMonth " +
            "        FROM com_elders_auth " +
            "        GROUP BY id_card, yearMonth " +
            "       ) t " +
            " left join com_elders_auth e on t.id = e.id " +
            " LEFT JOIN sys_user u ON e.SUMIT_USER_ID = u.user_id  " +
            "<where>" +
            " <if test='pageEldersAuthRecordDTO.name!=null'>\n" +
            " AND e.AUTH_USER_NAME like concat('%', #{pageEldersAuthRecordDTO.name}, '%')" +
            "</if>" +
            " <if test='pageEldersAuthRecordDTO.idCard!=null'>\n" +
            " AND e.ID_CARD  like concat('%',  #{pageEldersAuthRecordDTO.idCard}, '%')\n" +
            "</if>" +
            " <if test='pageEldersAuthRecordDTO.type!=null'>\n" +
            " AND e.type = #{pageEldersAuthRecordDTO.type}\n" +
            "</if>" +
            " <if test='pageEldersAuthRecordDTO.month!=null'>\n" +
            " AND month(e.CREATE_AT) = #{pageEldersAuthRecordDTO.month}\n" +
            "</if>\n" +
            "</where>\n" +
            "<if test='pageEldersAuthRecordDTO.sortColumns!=null'>\n" +
            "ORDER BY e.${pageEldersAuthRecordDTO.sortColumns} ${pageEldersAuthRecordDTO.sortType}\n" +
            "</if> " +
            "</script>")
    IPage<ComEldersAuthRecordForCommunityVO> selectCommunityEldersRecordByPage(Page page, @Param("pageEldersAuthRecordDTO") PageEldersAuthRecordDTO pageEldersAuthRecordDTO);
}