Redeem 1 year ago
parent
commit
0528c72963

+ 5 - 0
src/main/java/com/steerinfo/dil/controller/BackgroundProcessingController.java

@@ -47,6 +47,11 @@ public class BackgroundProcessingController extends BaseRESTfulController {
             Map<String, Object> userInfo = (Map<String, Object>) dataMap.get("user");
             // 根据用户名去查询该用户绑定的公司及下属公司
             List<Map<String, Object>> companyList = backgroundProcessingMapper.getCompanyList(loginName);
+            if(companyList.size() > 0) {
+                Map<String, Object> stringMap = new HashMap<>();
+                stringMap.put("companyId",-1);
+                companyList.add(stringMap);
+            }
             Map<String,Object> rootCompanyMap = backgroundProcessingMapper.getCompanyRootMap(loginName);
             userInfo.put("dilCompanyList", companyList);
             if (rootCompanyMap != null && rootCompanyMap.get("isListed") != null) {

+ 4 - 0
src/main/java/com/steerinfo/dil/controller/UniversalController.java

@@ -113,6 +113,10 @@ public class UniversalController extends BaseRESTfulController {
     @ApiModelProperty(value = "边输边查人员")
     @PostMapping("/getPersonnelByLike")
     public RESTfulResult getPersonnelByLike(@RequestBody(required = false) Map<String,Object> map) {
+        if("司机".equals(map.get("personnelPost"))) {
+            List<Map<String, Object>> list = universalMapper.getDriverByLike(map);
+            return success(list);
+        }
         List<Map<String, Object>> list = universalMapper.getPersonnelByLike(map);
         return success(list);
     }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/UniversalMapper.java

@@ -93,4 +93,6 @@ public interface UniversalMapper {
     @Options(flushCache = Options.FlushCachePolicy.TRUE)
     BigDecimal transRequirementId();
 
+    List<Map<String, Object>> getDriverByLike(Map<String, Object> map);
+
 }

+ 1 - 1
src/main/resources/application-prod.yml

@@ -32,7 +32,7 @@ openfeign:
   WMSFeign:
     url: ${WMSFEIGN_URL:172.16.90.202:80}
   RmsFeign:
-    url: ${RMSFEIGN_URL:172.16.90.202:80}
+    url: ${RMSFEIGN_URL:172.16.90.202:8060}
 #    url: ${RMSFEIGN_URL:localhost:8060}
   EmsFeign:
     url: ${TMSFEIGN_URL:172.16.90.202:80}

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

@@ -341,12 +341,29 @@
     select * from (
         select * from (
         select
+        distinct
         PERSONNEL_ID "personnelId",
         PERSONNEL_NAME "personnelName",
         PERSONNEL_POST "personnelPost",
         PERSONNEL_PHONE "personnelPhone",
         INNNER_CODE "innerCode",
-        to_char(SSO_ID) "ssoId",
+        to_char(SSO_ID) "ssoId",,
+        CASE WHEN RC.COMPANY_TYPE = '业务单位'
+        THEN RC.COMPANY_ID
+        else -1
+        END "businessCompanyId",
+        CASE WHEN RC.COMPANY_TYPE = '承运商'
+        THEN RC.COMPANY_ID
+        else -1
+        END "carrierId",
+        CASE WHEN RC.COMPANY_TYPE = '发货单位'
+        THEN RC.COMPANY_ID
+        else -1
+        END "shippingCompanyId",
+        CASE WHEN RC.COMPANY_TYPE = '收货客户'
+        THEN RC.COMPANY_ID
+        else -1
+        END "receivingCompanyId",
         PERSONNEL_ID "id",
         PERSONNEL_ID "value",
         PERSONNEL_NAME "label",
@@ -357,6 +374,10 @@
         </if>
         FROM
         RMS_PERSONNEL RP
+        LEFT JOIN RMS_PERSONNEL_COMPANY RPC
+        ON RPC.PERSONNEL_ID = RP.PERSONNEL_ID
+        LEFT JOIN RMS_COMPANY RC
+        ON RC.COMPANY_ID = RPC.COMPANY_ID
         <if test="capacityId!=null and capacityId!=''">
             LEFT JOIN (
             SELECT DRIVER_ID "driverId",
@@ -444,6 +465,22 @@
         RCA .CAPACITY_ID "capacityId",
         RCA .CAPACITY_ID "id",
         RCA .CAPACITY_ID "value",
+        CASE WHEN RC.COMPANY_TYPE = '业务单位'
+        THEN RC.COMPANY_ID
+        else -1
+        END "businessCompanyId",
+        CASE WHEN RC.COMPANY_TYPE = '承运商'
+        THEN RC.COMPANY_ID
+        else -1
+        END "carrierId",
+        CASE WHEN RC.COMPANY_TYPE = '发货单位'
+        THEN RC.COMPANY_ID
+        else -1
+        END "shippingCompanyId",
+        CASE WHEN RC.COMPANY_TYPE = '收货客户'
+        THEN RC.COMPANY_ID
+        else -1
+        END "receivingCompanyId",
         CASE WHEN RCA.REMARK1 is null
         then RCA.CAPACITY_NUMBER
         else RCA.REMARK1
@@ -497,9 +534,6 @@
         <if test="capacityTypeId !=null">
             and RCT.CAPACITY_TYPE_ID = #{capacityTypeId}
         </if>
-        <if test="orgCode!=null and orgCode !='' and roleCodes.contains('chengYunShang')">
-                AND RC.SSO_CODE = #{orgCode}
-            </if>
             <if test="capacityType != null and capacityType != '' ">
                 AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
             </if>
@@ -536,6 +570,22 @@
             RCA .CAPACITY_ID "capacityId",
             RCA .CAPACITY_ID "id",
             RCA .CAPACITY_ID "value",
+            CASE WHEN RC.COMPANY_TYPE = '业务单位'
+            THEN RC.COMPANY_ID
+            else -1
+            END "businessCompanyId",
+            CASE WHEN RC.COMPANY_TYPE = '承运商'
+            THEN RC.COMPANY_ID
+            else -1
+            END "carrierId",
+            CASE WHEN RC.COMPANY_TYPE = '发货单位'
+            THEN RC.COMPANY_ID
+            else -1
+            END "shippingCompanyId",
+            CASE WHEN RC.COMPANY_TYPE = '收货客户'
+            THEN RC.COMPANY_ID
+            else -1
+            END "receivingCompanyId",
             CASE WHEN RCA.REMARK1 is null
             then RCA.CAPACITY_NUMBER
             else RCA.REMARK1
@@ -587,6 +637,9 @@
             </foreach>
         </if>
     )
+    <where>
+        <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
+    </where>
     <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
         ORDER BY "countNumber" DESC
     </if>
@@ -1465,4 +1518,148 @@
             </foreach>
         </if>
     </select>
+    <select id="getDriverByLike" resultType="java.util.Map">
+        select * from (
+        select * from (
+        select * from (
+        select
+        distinct
+        RP.PERSONNEL_ID "personnelId",
+        RP.PERSONNEL_NAME "personnelName",
+        RP.PERSONNEL_POST "personnelPost",
+        RP.PERSONNEL_PHONE "personnelPhone",
+        RP.INNNER_CODE "innerCode",
+        to_char(RP.SSO_ID) "ssoId",
+        CASE WHEN RC.COMPANY_TYPE = '业务单位'
+        THEN RC.COMPANY_ID
+        else -1
+        END "businessCompanyId",
+        CASE WHEN RC.COMPANY_TYPE = '承运商'
+        THEN RC.COMPANY_ID
+        else -1
+        END "carrierId",
+        CASE WHEN RC.COMPANY_TYPE = '发货单位'
+        THEN RC.COMPANY_ID
+        else -1
+        END "shippingCompanyId",
+        CASE WHEN RC.COMPANY_TYPE = '收货客户'
+        THEN RC.COMPANY_ID
+        else -1
+        END "receivingCompanyId",
+        RP.PERSONNEL_ID "id",
+        RP.PERSONNEL_ID "value",
+        RP.PERSONNEL_NAME "label",
+        RP.PERSONNEL_NAME "text",
+        'personnelName' "prop"
+        <if test="capacityId!=null and capacityId!=''">
+            ,NVL(T ."countNumber",0) "countNumber"
+        </if>
+        FROM
+        RMS_PERSONNEL RP
+        LEFT JOIN RMS_PERSONNEL_COMPANY RPC
+        ON RPC.PERSONNEL_ID = RP.PERSONNEL_ID
+        LEFT JOIN RMS_COMPANY RC
+        ON RC.COMPANY_ID = RPC.COMPANY_ID
+        <if test="capacityId!=null and capacityId!=''">
+            LEFT JOIN (
+            SELECT DRIVER_ID "driverId",
+            COUNT(DRIVER_ID) "countNumber"
+            FROM OMS_TRANS_ORDER
+            WHERE CAPACITY_ID = #{capacityId}
+            GROUP BY DRIVER_ID
+            ) T ON T."driverId" = RP .PERSONNEL_ID
+        </if>
+        WHERE RP.DELETED = 0
+        AND RC.COMPANY_TYPE = '承运商'
+        <if test="isNC!=null">
+            AND RP.SOURCE_ID IS NOT NULL
+        </if>
+        )
+        <where>
+            <if test="personnelPost!=null and personnelPost!=''">
+                AND "personnelPost" = #{personnelPost}
+            </if>
+            <if test="personnelId!=null and personnelId!=''">
+                AND "personnelId" = #{personnelId})
+            </if>
+            <if test="driverId!=null and driverId!=''">
+                AND "personnelId" = #{driverId})
+            </if>
+            <if test="driverId2!=null and driverId2!=''">
+                AND "personnelId" = #{driverId2})
+            </if>
+            <if test="index!=null and index!=''">
+                AND REGEXP_LIKE("label", #{index})
+            </if>
+            <if test="lastIndex!=null">
+                and "personnelId" &lt; #{lastIndex}
+            </if>
+        </where>
+        <if test="capacityId!=null and capacityId!=''">
+            ORDER BY "countNumber" DESC
+        </if>
+        <if test="!(capacityId!=null and capacityId!='')">
+            order by "personnelId" desc
+        </if>
+        )
+        <if test="id!=null and id.size>0">
+            UNION
+            select
+            RP.PERSONNEL_ID "personnelId",
+            RP.PERSONNEL_NAME "personnelName",
+            RP.PERSONNEL_POST "personnelPost",
+            RP.PERSONNEL_PHONE "personnelPhone",
+            RP.INNNER_CODE "innerCode",
+            to_char(RP.SSO_ID) "ssoId",
+            RP.PERSONNEL_ID "id",
+            RP.PERSONNEL_ID "value",
+            RP.PERSONNEL_NAME "label",
+            RP.PERSONNEL_NAME "text",
+            CASE WHEN RC.COMPANY_TYPE = '业务单位'
+            THEN RC.COMPANY_ID
+            else -1
+            END "businessCompanyId",
+            CASE WHEN RC.COMPANY_TYPE = '承运商'
+            THEN RC.COMPANY_ID
+            else -1
+            END "carrierId",
+            CASE WHEN RC.COMPANY_TYPE = '发货单位'
+            THEN RC.COMPANY_ID
+            else -1
+            END "shippingCompanyId",
+            CASE WHEN RC.COMPANY_TYPE = '收货客户'
+            THEN RC.COMPANY_ID
+            else -1
+            END "receivingCompanyId",
+            'personnelName' "prop"
+            <if test="capacityId!=null and capacityId!=''">
+                ,NVL(T ."countNumber",0) "countNumber"
+            </if>
+            from RMS_PERSONNEL RP
+            LEFT JOIN RMS_PERSONNEL_COMPANY RPC
+            ON RPC.PERSONNEL_ID = RP.PERSONNEL_ID
+            LEFT JOIN RMS_COMPANY RC
+            ON RC.COMPANY_ID = RPC.COMPANY_ID
+            <if test="capacityId!=null and capacityId!=''">
+                LEFT JOIN (
+                SELECT DRIVER_ID "driverId",
+                COUNT(DRIVER_ID) "countNumber"
+                FROM OMS_TRANS_ORDER
+                WHERE CAPACITY_ID = #{capacityId}
+                GROUP BY DRIVER_ID
+                ) T ON T."driverId" = RP .PERSONNEL_ID
+            </if>
+            WHERE RP.PERSONNEL_ID in
+            <foreach collection="id" item="item"  open="(" close=")" separator="," >
+                #{item}
+            </foreach>
+        </if>
+        )
+        <where>
+            <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
+        </where>
+        <if test="capacityId!=null and capacityId!=''">
+            ORDER BY "countNumber" DESC
+        </if>
+    </select>
 </mapper>