dengpan 1 год назад
Родитель
Сommit
c54d498e89

+ 1 - 0
.gitignore

@@ -6,6 +6,7 @@ rebel.xml
 out/artifacts/
 dil-api.iml
 src/test
+src/main/resources/application-dev2.yml
 # Compiled class file
 *.class
 

+ 7 - 0
src/main/java/com/steerinfo/DilApplicationMain.java

@@ -1,11 +1,13 @@
 package com.steerinfo;
 
+import feign.Retryer;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.web.servlet.ServletComponentScan;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.Bean;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
 /**
@@ -23,4 +25,9 @@ public class DilApplicationMain {
     public static void main(String[] args) {
         SpringApplication.run(DilApplicationMain.class,args);
     }
+    @Bean
+    public Retryer feignRetryer() {
+        // 这里使用一个永不重试的Retryer
+        return Retryer.NEVER_RETRY;
+    }
 }

+ 9 - 3
src/main/java/com/steerinfo/dil/config/RequestFilter.java

@@ -36,6 +36,7 @@ public class RequestFilter implements Filter {
            String dilCompanyList = httpRequest.getHeader("dilCompanyList");
            String rootCompanyMap = httpRequest.getHeader("rootCompanyMap");
            String accessToken = httpRequest.getHeader("accessToken");
+           String urlFlag = httpRequest.getHeader("urlFlag");
            //获取cookie用户数据
            if (cookies != null && cookies.length > 0) {
                for (Cookie cookie : cookies) {
@@ -53,8 +54,10 @@ public class RequestFilter implements Filter {
                        rootCompanyMap = URLDecoder.decode(cookie.getValue(),"utf-8");
                    } else if (cookie.getName().equals("accessToken") && accessToken == null) {
                        accessToken = URLDecoder.decode(cookie.getValue(), "utf-8");
+                   }else if (cookie.getName().equals("urlFlag") && urlFlag == null) {
+                       urlFlag = URLDecoder.decode(cookie.getValue(), "utf-8");
                    }
-                   else if (userId != null && userName != null && orgCode != null && roleCodes != null && dilCompanyList != null && rootCompanyMap != null && accessToken != null) {
+                   else if (userId != null && userName != null && orgCode != null && roleCodes != null && dilCompanyList != null && rootCompanyMap != null && urlFlag != null && accessToken != null) {
                        //都查到了,退出
                        break;
                    }
@@ -66,6 +69,7 @@ public class RequestFilter implements Filter {
                roleCodes = URLDecoder.decode(roleCodes, "utf-8");
                dilCompanyList = URLDecoder.decode(dilCompanyList,"UTF-8");
                rootCompanyMap = URLDecoder.decode(rootCompanyMap,"utf-8");
+               urlFlag = URLDecoder.decode(urlFlag,"utf-8");
                //System.out.println(dilCompanyList.getClass().toString());
            }catch (Exception e){}
            httpRequest.setAttribute("userId", userId);
@@ -77,6 +81,7 @@ public class RequestFilter implements Filter {
            httpRequest.setAttribute("dilCompanyList",dilCompanyListObject);
            Object rootCompanyMapObject = JSONObject.parse(rootCompanyMap);
            httpRequest.setAttribute("rootCompanyMap",rootCompanyMapObject);
+           httpRequest.setAttribute("urlFlag",urlFlag);
            //获取RequestBody数据
            BufferedReader streamReader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));
            StringBuilder strBuilder = new StringBuilder();
@@ -94,8 +99,9 @@ public class RequestFilter implements Filter {
                params.put("dilCompanyList",dilCompanyListObject);
                params.put("rootCompanyMap",rootCompanyMapObject);
                params.put("accessToken",accessToken);
-               log.info("url:"+url);
-               log.info("params:"+params.toJSONString());
+               params.put("urlFlag",urlFlag);
+               log.debug("url:"+url);
+               log.debug("params:"+params.toJSONString());
                //将新的RequestBody写入新的请求对象保存
                ServletRequest requestWrapper = new RequestWrapper(httpRequest, params.toJSONString());
                chain.doFilter(requestWrapper, response);

+ 13 - 1
src/main/java/com/steerinfo/dil/controller/AMScontroller.java

@@ -478,7 +478,7 @@ public class AMScontroller  extends BaseRESTfulController {
     @ApiOperation(value = "删除发货单信息", notes = "根据填写的数据将发货单进行删除")
     @ApiImplicitParam(name = "params", value = "查询内容", required = false, dataType = "HashMap<String, Object>")
     @PostMapping(value = "/deleteDlivDirno")
-    public RESTfulResult deleteDlivDirno(@RequestBody(required = false) Map<String, Object> params) {
+    public RESTfulResult deleteDlivDirno(@RequestBody(required = false) HashMap<String, Object> params) {
         return amsFeign.deleteDlivDirno(params);
     }
 
@@ -825,4 +825,16 @@ public class AMScontroller  extends BaseRESTfulController {
         return amsFeign.selectcarList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
 
     }
+
+    @ApiOperation("上传凭证")
+    @PostMapping("/transPlanupload")
+    Map<String,Object> transPlanupload(@RequestBody Map<String,Object> map) {
+        return amsFeign.transPlanupload(map);
+    }
+
+    @ApiOperation("新增生产需求编号")
+    @PostMapping("/getSerialNumber")
+    Map<String,Object> addSerialNumber(@RequestBody Map<String,Object> map) {
+        return amsFeign.getSerialNumber(map);
+    }
 }

+ 11 - 16
src/main/java/com/steerinfo/dil/controller/BackgroundProcessingController.java

@@ -40,7 +40,7 @@ public class BackgroundProcessingController extends BaseRESTfulController {
 
     @ApiOperation("登录接口")
     @PostMapping("bpLogin")
-    public Map<String,Object> bpLogin(@RequestParam String loginName, @RequestParam String password,  @RequestParam String app_code) {
+    public Map<String,Object> bpLogin(@RequestParam String loginName, @RequestParam String password,  @RequestParam String app_code,@RequestParam(required = false) String urlFlag) {
         Map<String,Object> resMap = ssoUtil.individualLogin(loginName,password,app_code);
         if("succeed".equals(resMap.get("status"))) {
             Map<String, Object> dataMap = (Map<String, Object>) resMap.get("data");
@@ -48,22 +48,17 @@ public class BackgroundProcessingController extends BaseRESTfulController {
             // 根据用户名去查询该用户绑定的公司及下属公司
             List<Map<String, Object>> companyList = backgroundProcessingMapper.getCompanyList(loginName);
             Map<String,Object> rootCompanyMap = backgroundProcessingMapper.getCompanyRootMap(loginName);
-            //List<Map<String,Object>> currentCompanyList = backgroundProcessingMapper.getCurrentCompanyList(loginName);
             userInfo.put("dilCompanyList", companyList);
-            userInfo.put("rootCompanyMap",rootCompanyMap);
-            //userInfo.put("currentCompanyList",currentCompanyList);
-            // 根据查询到的公司ID
-            //System.out.println(userInfo);
-            //// 获取机构
-            //List<Map<String,Object>> sysOrgs = (List<Map<String,Object>>) userInfo.get("sysOrgs");
-            //String orgName = sysOrgs.get(0).get("orgName").toString();
-            //// 获取角色
-            //List<Map<String,Object>> sysRoles = (List<Map<String,Object>>) userInfo.get("sysOrgs");
-            //for(Map<String,Object> sysMap : sysRoles) {
-            //    String roleName = sysMap.get("roleName").toString();
-            //    //根据orgName和roleName去查询companyId
-            //    Map<String,Object> map = backgroundProcessingMapper.selectCompanyId(orgName,roleName);
-            //}
+            if (rootCompanyMap != null && rootCompanyMap.get("isListed") != null) {
+                userInfo.put("rootCompanyMap",rootCompanyMap);
+            }
+            if (urlFlag != null && urlFlag != "" && rootCompanyMap != null && !urlFlag.equals(rootCompanyMap.get("isListed"))) {
+                resMap.put("status","failed");
+                resMap.put("message","账号未在该平台注册,请检查账号");
+                resMap.put("resultMessage","账号未在该平台注册,请检查账号");
+                resMap.put("code","500");
+                return resMap;
+            }
             System.out.println(dataMap);
         }
         return resMap;

+ 5 - 1
src/main/java/com/steerinfo/dil/controller/RMScontroller.java

@@ -1085,7 +1085,11 @@ public class RMScontroller extends BaseRESTfulController {
         return rmsFeign.importTransRange(map);
     }
 
-
+    @ApiOperation(value = "查询并新增装卸点")
+    @PostMapping("queryInsertTransRange")
+    public Map<String, Object> queryInsertTransRange(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.queryInsertTransRange(map);
+    }
 
     @ApiOperation(value = "新增集装箱数据")
     @PostMapping("insetShipContainer")

+ 4 - 1
src/main/java/com/steerinfo/dil/controller/SystemFileController.java

@@ -112,7 +112,7 @@ public class SystemFileController extends BaseRESTfulController {
     }
 
     @PostMapping("/insertFiles2")
-    public RESTfulResult insertFiles2(String fileuuid, @ModelAttribute MultipartFile[] file) {
+    public RESTfulResult insertFiles2(@RequestParam String fileuuid, @ModelAttribute MultipartFile[] file) {
         String filenames = "";
         for (int i = 0; i < file.length; i++) {
             filenames += file[i].getOriginalFilename() + ";";
@@ -238,6 +238,9 @@ public class SystemFileController extends BaseRESTfulController {
     @PostMapping("/previewfile2")
     public RESTfulResult previewfile2(@RequestBody HashMap parmas) {
         try {
+            if (parmas.get("id")==null) {
+                return failed(1,"当前详单没有图片");
+            }
         SystemFile value = systemFileMapper.selectByPrimaryKey(parmas.get("id").toString());
         if (value==null){
             return failed(1,"该文件不存在!请查验文件是否被清除或已损坏!");

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

@@ -117,6 +117,13 @@ public class UniversalController extends BaseRESTfulController {
         return success(list);
     }
 
+    @ApiModelProperty(value = "边输边查车牌号生产")
+    @PostMapping("/getCapacityByLikeSc")
+    public RESTfulResult getCapacityByLikeSc(@RequestBody(required = false) Map<String,Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCapacityByLikeSc(map);
+        return success(list);
+    }
+
     @ApiModelProperty(value = "边输边查快捷需求code")
     @PostMapping("/getCategoryCodeByLike")
     public RESTfulResult getCategoryCodeByLike(@RequestBody(required = false) Map<String,Object> map) {
@@ -246,4 +253,22 @@ public class UniversalController extends BaseRESTfulController {
         List<Map<String, Object>> material = universalMapper.getcountCar(map);
         return success(material);
     }
+
+    @ApiOperation("getShipContainer")
+    @PostMapping("/getShipContainer")
+    public RESTfulResult getShipContainer(@RequestBody Map<String,Object> map) {
+        List<Map<String,Object>> containerList = universalMapper.getContainerList();
+        return success(containerList);
+    }
+
+    @ApiOperation("获取通知单号")
+    @PostMapping("/getRequirementNo")
+    public RESTfulResult getRequirementNo(@RequestBody Map<String,Object> map) {
+        BigDecimal requirementId = universalMapper.transRequirementId();
+        String requirementNo = DataChange.generateEightDigitsNumber(map.get("businessFlag").toString(),requirementId.intValue());
+        Map<String, Object> requireMap = new HashMap<>();
+        requireMap.put("requirementId",requirementId);
+        requireMap.put("requirementNo",requirementNo);
+        return success(requireMap);
+    }
 }

+ 8 - 1
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -284,7 +284,7 @@ public interface AmsFeign {
     @PostMapping(value = "api/v1/ams/amstransrequirements/saleAddPl")
     RESTfulResult saleAddPl(@RequestBody Map<String, Object> map);
 
-    @PostMapping(value = "api/v1/ams/amstransrequirements/getMoney/{id}")
+    @PostMapping(value = "api/v1/ams/amstransrequirements//getMoney/{id}")
     RESTfulResult getprintstr(@PathVariable String id);
 
     @PostMapping(value = "api/v1/ams/amstransrequirements/selectcar")
@@ -298,4 +298,11 @@ public interface AmsFeign {
                             @RequestParam Integer apiId,
                             @RequestParam Integer pageNum,
                             @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/transPlanupload")
+    Map<String, Object> transPlanupload(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getSerialNumber")
+    Map<String, Object> getSerialNumber(@RequestBody(required = false) Map<String, Object> map);
+
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/feign/RmsFeign.java

@@ -588,6 +588,9 @@ public interface RmsFeign {
 
     @PostMapping("api/v1/rms/rmstransrange/importTransRange")
     RESTfulResult importTransRange(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmstransrange/queryInsertTransRange")
+    Map<String, Object> queryInsertTransRange(@RequestBody(required = false) Map<String, Object> map);
     /**
      * 集装箱的相关方法
      *

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

@@ -1,6 +1,8 @@
 package com.steerinfo.dil.mapper;
 
+import org.apache.ibatis.annotations.Options;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.mapstruct.Mapper;
 
 import java.math.BigDecimal;
@@ -34,6 +36,7 @@ public interface UniversalMapper {
     List<Map<String, Object>> getPersonnelByLike(Map<String, Object> map);
 
     List<Map<String, Object>> getCapacityByLike(Map<String, Object> map);
+    List<Map<String, Object>> getCapacityByLikeSc(Map<String, Object> map);
 
     List<Map<String, Object>> getTransRangeByLike(Map<String, Object> map);
     List<Map<String, Object>> getLineByLike(Map<String, Object> map);
@@ -79,4 +82,13 @@ public interface UniversalMapper {
 
     //获取车型剩余的空闲车辆和已经派车的数量
     List<Map<String, Object>> getcountCar(Map<String, Object> map);
+
+    List<Map<String, Object>> getContainerList();
+
+    String getRequirementNo(Map<String, Object> map);
+
+    @Select("select seq_AMS_TRANS_REQUIREMENT.nextval from dual")
+    @Options(flushCache = Options.FlushCachePolicy.TRUE)
+    BigDecimal transRequirementId();
+
 }

+ 3 - 1
src/main/resources/com/steerinfo/dil/mapper/BackgroundProcessingMapper.xml

@@ -50,7 +50,8 @@
     <select id="getCompanyRootMap" resultType="java.util.Map">
         SELECT DISTINCT
             rc.company_id "rootCompanyId",
-            rc.COMPANY_NAME "rootCompanyName"
+            rc.COMPANY_NAME "rootCompanyName",
+            rc.IS_LISTED    "isListed"
         FROM
             RMS_COMPANY RC START WITH RC.COMPANY_ID IN (
             SELECT
@@ -61,6 +62,7 @@
             WHERE
                 RPC.DELETED = 0
               AND RP.PERSONNEL_JOB_NUMBER = #{userName}
+
         ) CONNECT BY PRIOR rc.PARENT_COMPANY_ID = RC.COMPANY_ID
         ORDER BY LEVEL DESC FETCH NEXT 1 ROW ONLY
     </select>

+ 4 - 1
src/main/resources/com/steerinfo/dil/mapper/CommonMapper.xml

@@ -41,7 +41,7 @@
         </if>
     </sql>
     <sql id="rootCompanyFilter">
-        <if test="rootCompanyMap != null and (rootCompanyMap.rootCompanyName.contains('安泰') or rootCompanyMap.rootCompanyName.contains('新泰'))">
+        <if test="rootCompanyMap != null and urlFlag != null and urlFlag != 'null' and urlFlag != ''">
             AND "rootCompanyId" = #{rootCompanyMap.rootCompanyId}
         </if>
     </sql>
@@ -88,6 +88,9 @@
                     <when test="item.contains('admin')">
                         1 = 1
                     </when>
+                    <when test="item.contains('siji)">
+                        1 = 1
+                    </when>
                     <otherwise>
                         1 != 1
                     </otherwise>

+ 188 - 8
src/main/resources/com/steerinfo/dil/mapper/UniversalMapper.xml

@@ -92,7 +92,6 @@
         RC.COMPANY_ID "id",
         RC.COMPANY_ID   "key",
         RC.COMPANY_ID "value",
-        RC.COMPANY_ID "carrierId",
         <if test="companyType==null">
             RC.COMPANY_TYPE || '-' ||
         </if>
@@ -151,6 +150,9 @@
             <if test="index!=null and index!=''">
                 AND REGEXP_LIKE(RC.COMPANY_NAME, #{index})
             </if>
+            <if test="isListed !=null and isListed!=''">
+                AND RC.is_Listed IS NOT NULL
+            </if>
         </where>
         <if test="noRow == null">
             order by LENGTH(company_name)
@@ -165,7 +167,6 @@
             RC.COMPANY_ID "id",
             RC.COMPANY_ID   "key",
             RC.COMPANY_ID "value",
-            RC.COMPANY_ID "carrierId",
             <if test="companyType==null">
                 RC.COMPANY_TYPE || '-' ||
             </if>
@@ -282,6 +283,7 @@
         OPERATION_POINT_ID "value",
         OPERATION_POINT_NAME "label",
         OPERATION_POINT_NAME "text"
+
         from RMS_OPERATION_POINT
         <where>
             DELETED = 0
@@ -297,6 +299,9 @@
             <if test="index!=null and index!=''">
                 AND REGEXP_LIKE(OPERATION_POINT_NAME, #{index})
             </if>
+            <if test="sourceFlag != null and sourceFlag !=''">
+                AND ALTERNATE_FIELDS1 = #{sourceFlag}
+            </if>
         </where>
         FETCH NEXT 10 ROWS ONLY
     )
@@ -410,6 +415,148 @@
     </select>
 
     <select id="getCapacityByLike" resultType="java.util.Map">
+        select * from (
+        select * from (
+        SELECT DISTINCT
+        RCA .CAPACITY_ID "capacityId",
+        RCA .CAPACITY_ID "id",
+        RCA .CAPACITY_ID "value",
+        CASE WHEN RCA.REMARK1 is null
+        then RCA.CAPACITY_NUMBER
+        else RCA.REMARK1
+        end "label",
+        CASE WHEN RCA.REMARK1 is null
+        then RCA.CAPACITY_NUMBER
+        else RCA.REMARK1
+        end "text",
+        CASE WHEN RCA.REMARK1 is null
+        then RCA.CAPACITY_NUMBER
+        else RCA.REMARK1
+        end "remark1",
+        CASE WHEN RCA.REMARK1 is null
+        then RCA.CAPACITY_NUMBER
+        else RCA.REMARK1
+        end "capacityNumber",
+        (case
+        when oto.capacity_id is null then '空闲'
+        when oto.deleted != '2' and oto.capacity_id is not null then '已派'
+        end) "status",
+        'capacityNumber' "prop"
+        <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
+            ,NVL(T ."countNumber",0) "countNumber"
+        </if>
+        FROM
+        RMS_CAPACITY RCA
+        LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
+        LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
+        LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
+        left join oms_trans_order oto
+        on RCA.capacity_id = oto.capacity_id
+        and oto.deleted != 2
+        <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
+            LEFT JOIN (
+                SELECT CAPACITY_ID "capacityId",
+                COUNT( CAPACITY_ID ) "countNumber"
+                FROM OMS_TRANS_ORDER
+                <where>
+                    <if test="driverId!=null and driverId!=''">
+                       AND (DRIVER_ID = #{driverId}  OR DRIVER_ID2 = #{driverId})
+                    </if>
+                    <if test="driverId2!=null and driverId2!=''">
+                       AND DRIVER_ID = #{driverId2}  OR DRIVER_ID2 = #{driverId2}
+                    </if>
+                </where>
+                GROUP BY CAPACITY_ID
+            ) T ON T."capacityId" = RCA .CAPACITY_ID
+        </if>
+        WHERE RCA .DELETED = 0
+        <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>
+            <if test="capacityType == null">
+                AND RCT.CAPACITY_TYPE_NAME != '火车'
+            </if>
+            <if test="index!=null and index!=''">
+                AND REGEXP_LIKE(
+                    CASE WHEN RCA.REMARK1 is null
+                    then RCA.CAPACITY_NUMBER
+                    else RCA.REMARK1
+                    end, #{index}
+                )
+            </if>
+            <if test="capacityId!=null and capacityId!=''">
+                AND RCA .CAPACITY_ID = #{capacityId}
+            </if>
+            <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
+                ORDER BY "countNumber" DESC
+            </if>
+            FETCH NEXT 10 ROWS ONLY
+        )
+        <if test="id!=null and id.size>0">
+            UNION
+            SELECT DISTINCT
+            RCA .CAPACITY_ID "capacityId",
+            RCA .CAPACITY_ID "id",
+            RCA .CAPACITY_ID "value",
+            CASE WHEN RCA.REMARK1 is null
+            then RCA.CAPACITY_NUMBER
+            else RCA.REMARK1
+            end "label",
+            CASE WHEN RCA.REMARK1 is null
+            then RCA.CAPACITY_NUMBER
+            else RCA.REMARK1
+            end "text",
+            CASE WHEN RCA.REMARK1 is null
+            then RCA.CAPACITY_NUMBER
+            else RCA.REMARK1
+            end "remark1",
+            RCA.CAPACITY_NUMBER "capacityNumber",
+            (case
+            when oto.capacity_id is null then '空闲'
+            when oto.deleted != '2' and oto.capacity_id is not null then '已派'
+            end) "status",
+            'capacityNumber' "prop"
+            <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
+                ,NVL(T ."countNumber",0) "countNumber"
+            </if>
+            FROM RMS_CAPACITY RCA
+            LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
+            LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
+            LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
+            left join oms_trans_order oto
+            on RCA.capacity_id = oto.capacity_id
+            and oto.deleted != 2
+            <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
+                LEFT JOIN (
+                SELECT CAPACITY_ID "capacityId",
+                COUNT( CAPACITY_ID ) "countNumber"
+                FROM OMS_TRANS_ORDER
+                <where>
+                    <if test="driverId!=null and driverId!=''">
+                        AND (DRIVER_ID = #{driverId}  OR DRIVER_ID2 = #{driverId})
+                    </if>
+                    <if test="driverId2!=null and driverId2!=''">
+                        AND DRIVER_ID = #{driverId2}  OR DRIVER_ID2 = #{driverId2}
+                    </if>
+                </where>
+                GROUP BY CAPACITY_ID
+                ) T ON T."capacityId" = RCA .CAPACITY_ID
+            </if>
+            WHERE RCA .CAPACITY_ID in
+            <foreach collection="id" item="item" open="(" close=")" separator="," >
+                #{item}
+            </foreach>
+        </if>
+    )
+    <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
+        ORDER BY "countNumber" DESC
+    </if>
+    </select>
+
+    <select id="getCapacityByLikeSc" resultType="java.util.Map">
         select * from (
         select * from (
         SELECT DISTINCT
@@ -418,7 +565,13 @@
         RCA .CAPACITY_ID "value",
         RCA .CAPACITY_NUMBER "label",
         RCA .CAPACITY_NUMBER "text",
+        RCA .REMARK1 "remark1",
         RCA.CAPACITY_NUMBER "capacityNumber",
+        (case
+        when oto.capacity_id is null then '空闲'
+        when oto.deleted != '2' and oto.capacity_id is not null then '已派'
+        when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
+        end) "status",
         'capacityNumber' "prop"
         <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
             ,NVL(T ."countNumber",0) "countNumber"
@@ -428,6 +581,8 @@
         LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
         LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
         LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
+        left join oms_trans_order oto
+        on RCA.capacity_id = oto.capacity_id
         <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
             LEFT JOIN (
                 SELECT CAPACITY_ID "capacityId",
@@ -455,7 +610,12 @@
                 AND RCT.CAPACITY_TYPE_NAME != '火车'
             </if>
             <if test="index!=null and index!=''">
-                AND REGEXP_LIKE(RCA .CAPACITY_NUMBER, #{index})
+                AND REGEXP_LIKE(
+                CASE WHEN RCA.REMARK1 is null
+                then RCA .CAPACITY_NUMBER
+                else RCA.REMARK1
+                end, #{index}
+                )
             </if>
             <if test="capacityId!=null and capacityId!=''">
                 AND RCA .CAPACITY_ID = #{capacityId}
@@ -471,9 +631,15 @@
             RCA .CAPACITY_ID "capacityId",
             RCA .CAPACITY_ID "id",
             RCA .CAPACITY_ID "value",
-            RCA .CAPACITY_NUMBER "label",
-            RCA .CAPACITY_NUMBER "text",
+            RCA .REMARK1 "label",
+            RCA .REMARK1 "text",
+            RCA .REMARK1 "remark1",
             RCA.CAPACITY_NUMBER "capacityNumber",
+            (case
+            when oto.capacity_id is null then '空闲'
+            when oto.deleted != '2' and oto.capacity_id is not null then '已派'
+            when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
+            end) "status",
             'capacityNumber' "prop"
             <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
                 ,NVL(T ."countNumber",0) "countNumber"
@@ -482,6 +648,8 @@
             LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
             LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
             LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
+            left join oms_trans_order oto
+            on RCA.capacity_id = oto.capacity_id
             <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
                 LEFT JOIN (
                 SELECT CAPACITY_ID "capacityId",
@@ -538,7 +706,7 @@
         select * from(
         select
         RC.TRANS_RANGE_ID "transrangeId",
-            RC.TRANS_RANGE_NAME "transrangeName",
+        RC.TRANS_RANGE_NAME "transrangeName",
         RC.TRANS_RANGE_ID "operationRangeId",
         RC.TRANS_RANGE_NAME "operationRangeName",
         RC.TRANS_RANGE_ID "id",
@@ -554,7 +722,8 @@
         )
         <where>
             <if test="index!=null and index!=''">
-                AND REGEXP_LIKE("label", #{index})
+                <bind name="indexBind" value="'%' + index + '%'"/>
+                AND "label" like #{indexBind}
             </if>
             <if test="transrangeId!=null and transrangeId!=''">
                 AND "transrangeId" =  #{transrangeId}
@@ -741,7 +910,7 @@
         RC.MATERIAL_NAME "materialName",
         RC.MATERIAL_ID "id",
         RC.MATERIAL_ID "value",
-        RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
+        RC.MATERIAL_NAME  || '-' || RC.MATERIAL_CODE ||
         (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
         THEN '-' || RC.MATERIAL_SPECIFICATION
         WHEN RC.MATERIAL_MODEL IS NOT NULL
@@ -1111,4 +1280,15 @@
                 RCA.DELETED !=  1
             ) RCA
     </select>
+    <select id="getContainerList" resultType="java.util.Map">
+        SELECT RSC.CONTAINER_NO "label",
+               RSC.CONTAINER_NO "value",
+               RSC.CONTAINER_NO "text"
+               FROM RMS_SHIPPING_CONTAINER RSC
+        <where>
+            <if test="index != null and index != ''">
+
+            </if>
+        </where>
+    </select>
 </mapper>