xieb
2024-05-07 5e972eb9928c39b5abbdfd35e2a0aeff40876e7d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?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="cn.gistack.sm.materials.mapper.MaterialsManageMapper">
    <!--namespace根据自己需要创建的的mapper的路径和名称填写-->
    <resultMap id="vo" type="cn.gistack.sm.materials.vo.MaterialsManageVO">
        <id property="id" column="id"/>
        <result property="materialsYear" column="materials_year"/>
        <result property="resGuid" column="res_guid"/>
        <result property="resName" column="res_name"/>
        <result property="cityCode" column="cityCode"/>
        <result property="cityName" column="cityName"/>
        <result property="countyCode" column="countyCode"/>
        <result property="countyName" column="countyName"/>
        <result property="engScal" column="engScal"/>
        <result property="resRegCode" column="resRegCode"/>
        <result property="townCode" column="townCode"/>
        <result property="townName" column="townName"/>
        <result property="materialsType" column="MATERIALS_TYPE"/>
        <result property="materialsName" column="MATERIALS_NAME"/>
        <result property="materialsAmount" column="MATERIALS_AMOUNT"/>
        <result property="materialsUnit" column="MATERIALS_UNIT"/>
        <result property="remarks" column="REMARKS"/>
        <result property="contract" column="contract" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result property="images" column="images" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
        <result property="importTime" column="import_time"/>
 
        <result property="status" column="status"/>
        <result property="createTime" column="create_time"/>
        <result property="createUser" column="create_user"/>
        <result property="createDept" column="create_dept"/>
        <result property="updateUser" column="update_user"/>
        <result property="updateTime" column="update_time"/>
        <result property="isDeleted" column="is_deleted"/>
    </resultMap>
 
 
    <select id="selectMyPage" resultMap="vo">
        SELECT MM.*,
            arb."res_reg_code" as resRegCode,arb."eng_scal" as engScal,
 
        case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
        case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
 
        case when town."ad_grad" = 3 THEN town."ad_code"
        when county."ad_grad" = 3 THEN county."ad_code" END AS countyCode,
        case when town."ad_grad" = 3 THEN town."ad_name"
        when county."ad_grad" = 3 THEN county."ad_name" END AS countyName,
 
        case when town."ad_grad" = 2 THEN town."ad_code"
        when county."ad_grad" = 2 THEN county."ad_code"
        ELSE city."ad_code" END AS cityCode,
        case when town."ad_grad" = 2 THEN town."ad_name"
        when county."ad_grad" = 2 THEN county."ad_name"
        ELSE city."ad_name" END AS cityName,
 
 
            BDB.DICT_VALUE materialTypeName
            FROM SM_MATERIALS_MANAGE MM
 
        LEFT JOIN SJZT_MD."att_res_base" arb ON MM.res_guid = arb."guid"
        LEFT JOIN SJZT_MD."att_ad_base"town ON arb."interior_ad_guid" = town."guid"
        LEFT JOIN SJZT_MD."att_ad_base" county ON town."p_ad_code" = county."guid"
        LEFT JOIN SJZT_MD."att_ad_base" city ON county."p_ad_code" = city."guid"
        LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
 
        LEFT JOIN BLADE_DICT_BIZ BDB ON MM.MATERIALS_TYPE = BDB.DICT_KEY
        WHERE MM.IS_DELETED = 0 AND BDB.CODE='MATERIALS_TYPE'
        <if test=" vo.adCode!= null and vo.adCode !='' ">
          AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{vo.adCode},'%')
        </if>
        <if test="vo.resName !=null and vo.resName !=''">
            AND MM.RES_NAME LIKE CONCAT('%',#{vo.resName},'%')
        </if>
        <if test="vo.materialsType !=null and vo.materialsType !=''">
            AND MM.MATERIALS_TYPE = #{vo.materialsType}
        </if>
        <if test="vo.resGuid !=null and vo.resGuid !=''">
            AND MM.res_guid = #{vo.resGuid}
        </if>
        <if test="vo.year!=null and vo.year!=''">
            and date_format(MM.IMPORT_TIME,'%Y') = #{vo.year}
        </if>
        ORDER BY MM.IMPORT_TIME DESC
    </select>
</mapper>