瀏覽代碼

2021年12月17日12:50:43

txf 3 年之前
父節點
當前提交
a069af534c

+ 74 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderSeparateController.java

@@ -2,6 +2,7 @@ package com.steerinfo.dil.controller;
 
 import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.feign.TmsTruckFeign;
+import com.steerinfo.dil.model.OmstruckOrder;
 import com.steerinfo.dil.service.impl.OmstruckOrderSeparateServiceImpl;
 import com.steerinfo.dil.util.BaseRESTfulController;
 import com.steerinfo.dil.util.ColumnDataUtil;
@@ -149,4 +150,77 @@ public class OmstruckOrderSeparateController extends BaseRESTfulController {
         PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allTruckOrder, truckOrder);
         return success(pageList);
     }
+
+    @ApiOperation(value = "查询所有的零星物资订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId(86)", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "orderStatus", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getOthersOrderMesToSend")
+    public RESTfulResult getOthersOrderMesToSend(@RequestBody(required = false) Map<String, Object> mapValue,
+                                           Integer apiId,
+                                           Integer pageNum,
+                                           Integer pageSize,
+                                           Integer type,
+                                           Integer orderStatus,
+                                           Integer carrierId,
+                                           String  con) {
+        int count = 0;
+        if (orderStatus != null) {
+            mapValue.put("status", orderStatus);
+            count++;
+        }
+        if (type != null) {
+            mapValue.put("type", type);
+            count++;
+        }
+        if (carrierId != null) {
+            mapValue.put("carrierId", carrierId);
+            count++;
+        }
+        //框计算
+        if (con != null) {
+            if (!"undefined".equals(con)) {
+                String index = "get_others_order_list";//设置要查询的索引名称
+                return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));//获取查询结果
+            }
+        }
+        //不分页筛选数据
+        List<Map<String, Object>> allMes = null;
+        //如果有条件查询则跳过初始化,和创建索引
+        if (mapValue.size() == count) {
+            //将查询结果存入索引中
+            allMes = omstruckOrderSeparateService.getOthersOrderMesToSend(mapValue);
+            Map<String, Object> map = new HashMap<>();
+            //添加索引
+            map.put("index", "get_others_order_list");
+            //添加id
+            map.put("indexId", "othersOrderId");
+            allMes.add(map);
+            //新建索引
+            esFeign.insertIndex(allMes);
+            //删除
+            allMes.remove(allMes.size() - 1);
+        }
+        if (allMes == null)
+            allMes = omstruckOrderSeparateService.getOthersOrderMesToSend(mapValue);
+        PageHelper.startPage(pageNum, pageSize);
+        //分页数据
+        List<Map<String, Object>> mes = omstruckOrderSeparateService.getOthersOrderMesToSend(mapValue);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allMes, mes);
+        return success(pageList);
+    }
+
+    /**
+     * 根据运输订单id修改运力id
+     * @param omstruckOrder
+     */
+    @PostMapping("/updateOmstruckOrder")
+    public RESTfulResult updateOmstruckOrder(@RequestBody(required = false) OmstruckOrder omstruckOrder){
+        int i = omstruckOrderSeparateService.updateOmstruckOrder(omstruckOrder);
+        return success(i);
+    }
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.java

@@ -67,4 +67,7 @@ public interface OmstruckOrderSeparateMapper {
 
     // 查看承运商所属的订单
     List<Map<String, Object>> getInputOrderList(Map<String, Object> mapValue);
+
+    //查询零星物资出厂订单信息(还未分配车辆)状态:3  13
+    List<Map<String, Object>> getOthersOrderMesToSend(Map<String, Object> map);
 }

+ 5 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderSeparateService.java

@@ -1,5 +1,7 @@
 package com.steerinfo.dil.service;
 
+import com.steerinfo.dil.model.OmstruckOrder;
+
 import java.util.List;
 import java.util.Map;
 
@@ -12,4 +14,7 @@ import java.util.Map;
 public interface IOmstruckOrderSeparateService {
 
     List<Map<String, Object>> getInputOrderList(Map<String, Object> mapValue);
+
+    //根据运输订单id修改运力id
+    int updateOmstruckOrder(OmstruckOrder omstruckOrder);
 }

+ 20 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderSeparateServiceImpl.java

@@ -287,4 +287,24 @@ public class OmstruckOrderSeparateServiceImpl implements IOmstruckOrderSeparateS
     public List<Map<String, Object>> getInputOrderList(Map<String, Object> mapValue) {
         return omstruckOrderSeparateMapper.getInputOrderList(mapValue);
     }
+
+
+    /**
+     * 查询所有的未下发的需要分配车辆的订单
+     * @param map
+     * @return
+     */
+    public List<Map<String, Object>> getOthersOrderMesToSend(Map<String, Object> map){
+        return omstruckOrderSeparateMapper.getOthersOrderMesToSend(map);
+    }
+
+    /**
+     * 根据运输订单id修改运力id
+     * @param omstruckOrder
+     * @return
+     */
+    @Override
+    public int updateOmstruckOrder(OmstruckOrder omstruckOrder) {
+        return omstruckOrderMapper.updateByPrimaryKeySelective(omstruckOrder);
+    }
 }

+ 1 - 6
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -441,7 +441,7 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     }
 
     /**
-     * 运单派发
+     * 运单派发、下发
      * 运单ID
      *
      * @param mapValue
@@ -451,15 +451,10 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
     @Transactional
     public int dispatchOrder(Map<String, Object> mapValue) {
         List<Map<String,Object>> mapList = (List<Map<String, Object>>) mapValue.get("mapList");
-//        BigDecimal unloadPointId = DataChange.dataToBigDecimal(mapValue.get("unloadPointId"));
         int result = 0;
         for (Map<String, Object> map : mapList) {
             Integer orderId = (Integer) map.get("orderId");
             OmstruckOrder omstruckOrder = omstruckOrderMapper.selectByPrimaryKey(new BigDecimal(orderId));
-            //添加卸货点ID
-//            if (unloadPointId != null || unloadPointId.intValue() != 0) {
-//                omstruckOrder.setUnloadPointId(unloadPointId);
-//            }
             //生成订单下发时间 修改订单表
             omstruckOrder.setOrderIssueTime(new Date());
             //设置状态为已下发:4

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

@@ -1526,7 +1526,7 @@
         <if test="remark != null">
             and db.RESULT_FOREIGN_SHIP_NAME like #{remark}
         </if>
-        order by db.INSERT_TIME desc
+        order by apo.PURCHASE_ORDER_DATE desc
         )
         where rownum = 1
     </select>

+ 91 - 6
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderSeparateMapper.xml

@@ -1,6 +1,15 @@
 <?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.OmstruckOrderSeparateMapper">
+    <sql id="orderBy">
+        <if test="orderField != null and orderField != ''">
+            order by "${orderField}"
+            <if test="orderType != null and orderType != ''">
+                ${orderType}
+            </if>
+        </if>
+    </sql>
+
     <!--通过订单Id 查询关联的线路子表顺序-->
     <select id="getLineMesByOrderId" parameterType="int" resultType="java.util.LinkedHashMap">
         select RLS.SEGMENT_SQE           "segmentSqe",
@@ -370,12 +379,88 @@
         </if>
     </select>
 
-    <sql id="orderBy">
-        <if test="orderField != null and orderField != ''">
-            order by "${orderField}"
-            <if test="orderType != null and orderType != ''">
-                ${orderType}
+<!--  获取零星物资订单信息  -->
+    <select id="getOthersOrderMesToSend" parameterType="map" resultType="java.util.Map">
+        select
+        *
+        from
+        (
+        select
+        OO.ORDER_ID "orderId",
+        TTR.RESULT_TOTAL_ID "resultTotalId",
+        ASO.SPORADIC_ORDER_NO "sporadicOrderNo",
+        OO.ORDER_NUMBER "orderNumber",
+        RS.SUPPLIER_NAME "sendCompany",
+        RS2.SUPPLIER_NAME "receiveCompany",
+        ASO.INSERT_TIME "insertTime",
+        RC.CAPACITY_NUMBER "capacityNumber"
+        from OMSTRUCK_ORDER OO
+        left join TMSTRUCK_TOTAL_RESULT TTR
+        on TTR.ORDER_ID = OO.ORDER_ID
+        left join RMS_CAPACITY RC
+        on RC.CAPACITY_ID = OO.CAPACITY_ID
+        left join AMSTRUCK_SPORADIC_ORDER ASO
+        on ASO.SPORADIC_ORDER_ID = OO.ORDER_PLAN_ID
+        left join RMS_SUPPLIER RS
+        on RS.SUPPLIER_ID = ASO.SEND_UNIT_ID
+        left join RMS_SUPPLIER RS2
+        on RS2.SUPPLIER_ID = ASO.RECEIVE_UNIT_ID
+        <where>
+            OO.ORDER_STATUS = #{status}
+            <if test="type == 1">
+                and OO.ORDER_TYPE in (12, 13)
+            </if>
+            <if test="type == 2">
+                and OO.ORDER_TYPE = 14
+            </if>
+            <if test="carrierId != null">
+                and ASO.CARRIER_ID = #{carrierId}
+            </if>
+        </where>
+        )
+        <where>
+            <if test="sporadicOrderNo != null">
+                <foreach collection="sporadicOrderNo" item="item" open="(" separator="or" close=")">
+                    "sporadicOrderNo" like '%${item}%'
+                </foreach>
             </if>
+            <if test="orderNumber != null">
+                and
+                <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
+                    "orderNumber" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="sendCompany != null">
+                and
+                <foreach collection="sendCompany" item="item" open="(" separator="or" close=")">
+                    "sendCompany" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="receiveCompany != null">
+                and
+                <foreach collection="receiveCompany" item="item" open="(" separator="or" close=")">
+                    "receiveCompany" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="insertTime != null">
+                and
+                <foreach collection="insertTime" item="item" open="(" separator="or" close=")">
+                    "insertTime" like '%${item}%'
+                </foreach>
+            </if>
+            <if test="capacityNumber != null">
+                and
+                <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
+                    "capacityNumber" like '%${item}%'
+                </foreach>
+            </if>
+        </where>
+        <include refid="orderBy">
+        </include>
+        <if test="orderField == null  ">
+            order by "insertTime" desc
         </if>
-    </sql>
+    </select>
+
+
 </mapper>