Jelajahi Sumber

Merge branch 'master' of https://gitee.com/antai-wuliu/ANTAI-API

yourName 1 tahun lalu
induk
melakukan
ef4f263d6a

+ 88 - 0
src/main/resources/com/steerinfo/dil/mapper/CommonMapper.xml

@@ -0,0 +1,88 @@
+<?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.steerinfo.dil.mapper.CommonMapper">
+    <sql id="orderBy">
+        <if test="orderField != null and orderField != ''">
+            order by "${orderField}"
+            <if test="orderType != null and orderType != ''">
+                ${orderType}
+            </if>
+        </if>
+    </sql>
+    <sql id="timeFilter">
+        <if test="oneDate != null">
+            and to_date(#{oneDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= ${timeFilterProp}
+        </if>
+        <if test="startDate != null">
+            and to_date(#{startDate}, 'yyyy-mm-dd hh24:mi:ss') &lt;= ${timeFilterProp}
+            and to_date(#{endDate}, 'yyyy-mm-dd hh24:mi:ss') >= ${timeFilterProp}
+        </if>
+    </sql>
+    <sql id="companyFilter">
+        <if test="${companyType} != null">
+            <if test="!roleCodes.contains('admin') and dilCompanyList != null and dilCompanyList.size > 0">
+                AND ${prop}
+                in
+                <foreach collection="dilCompanyList" item="item" open="(" close=")" separator=",">
+                    <if test="item.companyType == ${companyType}">
+                        #{item.companyId}
+                    </if>
+                </foreach>
+            </if>
+        </if>
+        <if test="${companyType} == null">
+            <if test="!roleCodes.contains('admin') and dilCompanyList != null and dilCompanyList.size > 0">
+                AND ${prop}
+                in
+                <foreach collection="dilCompanyList" item="item" open="(" close=")" separator=",">
+                    #{item.companyId}
+                </foreach>
+            </if>
+        </if>
+    </sql>
+    <sql id="rootCompanyFilter">
+        <if test="rootCompanyMap != null and (rootCompanyMap.rootCompanyName.contains('安泰') or rootCompanyMap.rootCompanyName.contains('新泰'))">
+            AND "rootCompanyId" = #{rootCompanyMap.rootCompanyId}
+        </if>
+    </sql>
+    <sql id="filterCompanyData">
+        <if test="roleCodes != null and roleCodes.size > 0  and dilCompanyList != null and dilCompanyList.size > 0" >
+        AND
+            <foreach collection="roleCodes" index="index" item="item" separator="or" close=")" open="(">
+                <choose>
+                    <when test="item == 'chengYunShang'">
+                        "carrierId"
+                        in
+                        <foreach collection="dilCompanyList" open="(" close=")" separator="," item="item" index="index">
+                            #{item.companyId}
+                        </foreach>
+                    </when>
+                    <when test="item == 'shippingCompany'">
+                        "shippingCompanyId"
+                        in
+                        <foreach collection="dilCompanyList" open="(" close=")" separator="," item="item" index="index">
+                            #{item.companyId}
+                        </foreach>
+                    </when>
+                    <when test="item == 'receivingCompany'">
+                        "receivingCompanyId"
+                        in
+                        <foreach collection="dilCompanyList" open="(" close=")" separator="," item="item" index="index">
+                            #{item.companyId}
+                        </foreach>
+                    </when>
+                    <when test="item == 'businessCompany'">
+                        "businessCompanyId"
+                        in
+                        <foreach collection="dilCompanyList" open="(" close=")" separator="," item="item" index="index">
+                            #{item.companyId}
+                        </foreach>
+                    </when>
+                    <otherwise>
+                         1 = 1
+                    </otherwise>
+                </choose>
+            </foreach>
+        </if>
+    </sql>
+</mapper>

+ 4 - 10
src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

@@ -572,7 +572,8 @@
             RCT.CAPACITY_TYPE_NAME "text",
             RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
             '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']'  "fuelTypeIds",
-            listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID)  "fuelTypes"
+            listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID)  "fuelTypes",
+            'capacityTypeName' "prop"
             from RMS_CAPACITY_TYPE RCT
             LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
             LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
@@ -896,11 +897,6 @@
         ON ROP.OPERATION_POINT_ID = RTR.START_POINT_ID
         LEFT JOIN RMS_OPERATION_POINT ROP2
         ON ROP2.OPERATION_POINT_ID = RTR.END_POINT_ID
-        <where>
-            <include refid="companyFilter" >
-                <property name="prop" value="rdb.COMPANY_ID"/>
-            </include>
-        </where>
         )
         <where>
             <if test="index!=null and index!=''">
@@ -909,6 +905,7 @@
             <if test="businessCompanyId!=null and businessCompanyId!=''">
                 AND REGEXP_LIKE("businessCompanyId", #{businessCompanyId})
             </if>
+            <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
         </where>
     </select>
     <select id="getIdCardCode" resultType="java.lang.String">
@@ -939,9 +936,6 @@
             <if test="prodCode != null and prodCode != ''">
                 and t.prod_code = #{prodCode}
             </if>
-            <if test="materialId != null and materialId != ''">
-                and b.material_id = #{materialId}
-            </if>
         </where>
         union all
         select '' as "prodCodePk",
@@ -961,7 +955,7 @@
         from rms_material b
         <where>
             <if test="prodCode != null and prodCode != ''">
-                and t.prod_code = #{prodCode}
+                and b.material_code = #{prodCode}
             </if>
             <if test="materialId != null and materialId != ''">
                 and b.material_id = #{materialId}