huk 3 éve
szülő
commit
1cf47354be

+ 7 - 0
src/main/java/com/steerinfo/dil/controller/OmstruckOrderController.java

@@ -1300,5 +1300,12 @@ OmstruckOrderController extends BaseRESTfulController {
         return success(result);
     }
 
+    @ApiOperation(value = "查询司机的所有运输订单信息")
+    @PostMapping("/getAllOrderMessage")
+    public List<Map<String,Object>> getAllOrderMessage(@RequestParam String capacityNumber) {
+        List<Map<String,Object>> mapList = omstruckOrderService.getAllOrderMessage(capacityNumber);
+        return mapList;
+    }
+
 
 }

+ 10 - 1
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -202,5 +202,14 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
     BigDecimal selectOrderType(BigDecimal orderId);
 
     BigDecimal selectOrderId(BigDecimal dcId);
-
+    // 销售中的运输订单
+    Map<String, Object> getSaleMap(BigDecimal orderId);
+    // 内转钢材的运输订单
+    Map<String, Object> getSteelInwardMap(BigDecimal orderId);
+    // 采购的运输订单
+    Map<String, Object> getPurchaseMap(BigDecimal orderId);
+    // 内转的运输订单
+    Map<String, Object> getInwardMap(BigDecimal orderId);
+    // 判断是走采购,销售还是内转
+    List<Map<String, Object>> getResultListByCapacity(String capacityNumber);
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/service/IOmstruckOrderService.java

@@ -165,4 +165,6 @@ public interface IOmstruckOrderService {
 
     int apportionInwardOffsetOrder(Map<String, Object> mapList);
 
+    // 查询车牌下的所有运单信息
+    List<Map<String, Object>> getAllOrderMessage(String capacityNumber);
 }

+ 101 - 0
src/main/java/com/steerinfo/dil/service/impl/OmstruckOrderServiceImpl.java

@@ -1485,5 +1485,106 @@ public class OmstruckOrderServiceImpl implements IOmstruckOrderService {
 
     }
 
+    /**
+     * 查询运单下的所有信息
+     * @param capacityNumber
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> getAllOrderMessage(String capacityNumber) {
+        List<Map<String,Object>> resultList;
+        // 判断是走采购,销售还是内转
+        resultList = omstruckOrderMapper.getResultListByCapacity(capacityNumber);
+        // 如果不是内转则取下面的orderId和orderType
+        if (resultList == null || resultList.size() == 0) {
+            //通过车牌号匹配运力ID
+            BigDecimal capacityId = omstruckOrderMapper.getCapacityIdByCapacityNum(capacityNumber);
+            BigDecimal driverCapacityId = omstruckOrderMapper.getDriverCapacityId(capacityId);
+            resultList = omstruckOrderMapper.getResultList(driverCapacityId);
+        }
+        // 循环遍历出每一条运输订单的信息
+        for (Map<String,Object> map : resultList) {
+            BigDecimal orderId = (BigDecimal) map.get("orderId");
+            BigDecimal orderType = (BigDecimal) map.get("orderType");
+            // 查询物资信息
+            List<Map<String,Object>> materialMapList = omstruckOrderMapper.getMaterialMes(orderId);
+            String allMaterialName = "";
+            String allMaterialNumber = "";
+            String allMaterialWeight = "";
+            String allMaterialSpecificationModel = "";
+            // 对物资信息进行处理
+            if (materialMapList == null && materialMapList.size() == 0) {
+            } else {
+                for (Map<String,Object> materialMap : materialMapList) {
+                    String materialName = (String) materialMap.get("materialName");
+                    BigDecimal materialNumber =  (BigDecimal) materialMap.get("materialNumber");
+                    BigDecimal materialWeight =  (BigDecimal) materialMap.get("materialWeight");
+                    String materialModel = (String) materialMap.get("materialModel");
+                    String materialSpecification = (String) materialMap.get("materialSpecification");
+                    if (materialName != null) {
+                        allMaterialName += materialName + "/";
+                    }
+                    if (materialNumber != null) {
+                        allMaterialNumber += materialNumber.toString() + "/";
+                    }
+                    if (materialWeight != null) {
+                        allMaterialWeight += materialWeight.toString() + "/";
+                    }
+                    if (materialSpecification != null || materialModel != null) {
+                        allMaterialSpecificationModel += materialSpecification + materialModel + "/";
+                    }
+                }
+                String subMaterialName = "";
+                String subMaterialNumber = "";
+                String subMaterialWeight = "";
+                String subMaterialSpecificationModel = "";
+                if (allMaterialName.length() >= 2) {
+                    subMaterialName = allMaterialName.substring(0, allMaterialName.length() - 2);
+                }
+                if (allMaterialName.length() < 2) {
+                    subMaterialName = allMaterialName;
+                }
+                if (allMaterialNumber.length() >= 2) {
+                    subMaterialNumber = allMaterialNumber.substring(0, allMaterialNumber.length() - 1);
+                }
+                if (allMaterialNumber.length() < 2) {
+                    subMaterialNumber = allMaterialNumber;
+                }
+                if (allMaterialWeight.length() >= 2) {
+                    subMaterialWeight = allMaterialWeight.substring(0, allMaterialWeight.length() - 1);
+                }
+                if (allMaterialWeight.length() < 2) {
+                    subMaterialWeight = allMaterialWeight;
+                }
+                if (allMaterialSpecificationModel.length() >= 2) {
+                    subMaterialSpecificationModel = allMaterialSpecificationModel.substring(0, allMaterialSpecificationModel.length() - 2);
+                }
+                if (allMaterialSpecificationModel.length() < 2) {
+                    subMaterialSpecificationModel = allMaterialSpecificationModel;
+                }
+                map.put("allMaterialName", subMaterialName);
+                map.put("allMaterialNumber", subMaterialNumber);
+                map.put("allMaterialWeight", subMaterialWeight);
+                map.put("allMaterialSpecificationModel", subMaterialSpecificationModel);
+            }
+            Map<String,Object> orderMap = null;
+            int intValue = orderType.intValue();
+            if (intValue == 1 || intValue == 2 || intValue == 3) {
+                orderMap = omstruckOrderMapper.getSaleMap(orderId);
+            }
+            if (intValue == 4) {
+                orderMap = omstruckOrderMapper.getSteelInwardMap(orderId);
+            }
+            if (intValue == 5 || intValue == 6 || intValue == 7 || intValue == 8) {
+                orderMap = omstruckOrderMapper.getPurchaseMap(orderId);
+            }
+            if (intValue == 9 || intValue == 10 || intValue == 11) {
+                orderMap = omstruckOrderMapper.getInwardMap(orderId);
+            }
+            map.putAll(orderMap);
+        }
+        return resultList;
+    }
+
 
 }

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

@@ -2583,7 +2583,7 @@
                  LEFT JOIN RMS_DRIVER_CAPACITY RDC
                            ON OO.DRIVER_CAPACITY_ID = RDC.DRIVER_CAPACITY_ID
         WHERE OO.ORDER_STATUS = 4
-          AND OO.ORDER_TYPE IN (4, 9, 10, 11)
+          AND OO.ORDER_TYPE NOT IN (4, 9, 10, 11)
           AND OO.DRIVER_CAPACITY_ID = #{driverCapacityId}
     </select>
     <!-- 销售订单 -->
@@ -2681,6 +2681,103 @@
         select oo.order_id
         from omstruck_order oo
         where oo.driver_capacity_id = #{dcId}
-        and oo.order_status = 3
+          and oo.order_status = 3
+    </select>
+
+    <!-- 销售的运输订单 -->
+    <select id="getSaleMap" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT OO.ORDER_ID                  AS "orderId",
+               OO.ORDER_TYPE                AS "orderType",
+               OO.ORDER_NUMBER              AS "orderNumber",
+               RC.CAPACITY_NUMBER           AS "capacityNumber",
+               RSH.SHIPPER_NAME             AS "shipperName",
+               RCO.CONSIGNEE_COMPANY_NAME   AS "consigneeCompanyName",
+               RRA.ADDRESS_DELIVERY_ADDRESS AS "addressDeliveryAddress",
+               ASOM.SALE_DATE_OF_RECEIPT    AS "saleDateOfReceipt"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN RMS_DRIVER_CAPACITY RDC
+                           ON OO.DRIVER_CAPACITY_ID = RDC.DRIVER_CAPACITY_ID
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON RDC.CAPACITY_ID = RC.CAPACITY_ID
+                 LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+                           ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
+                 LEFT JOIN AMS_SALE_ORDER ASO
+                           ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+                 LEFT JOIN RMS_SHIPPER RSH
+                           ON RSH.SHIPPER_ID = ASO.SHIPPER_ID
+                 LEFT JOIN RMS_CONSIGNEE RCO
+                           ON RCO.CONSIGNEE_ID = ASO.RECEIVE_ID
+                 LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+                           ON RRA.ADDRESS_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
+
+    <!-- 内转钢材的运输订单 -->
+    <select id="getSteelInwardMap" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT OO.ORDER_ID        AS "orderId",
+               OO.ORDER_TYPE      AS "orderType",
+               OO.ORDER_NUMBER    AS "orderNumber",
+               RC.CAPACITY_NUMBER AS "capacityNumber"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON OO.CAPACITY_ID = RC.CAPACITY_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
+
+    <!-- 采购的运输订单 -->
+    <select id="getPurchaseMap" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT OO.ORDER_ID        AS "orderId",
+               OO.ORDER_TYPE      AS "orderType",
+               OO.ORDER_NUMBER    AS "orderNumber",
+               RC.CAPACITY_NUMBER AS "capacityNumber",
+               RSU.SUPPLIER_NAME  AS "loadPoint",
+               RSH.SHIPPER_NAME   AS "unloadPoint"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN RMS_DRIVER_CAPACITY RDC
+                           ON OO.DRIVER_CAPACITY_ID = RDC.DRIVER_CAPACITY_ID
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON RDC.CAPACITY_ID = RC.CAPACITY_ID
+                 LEFT JOIN AMS_PURCHASE_ORDER APO
+                           ON APO.PURCHASE_ORDER_ID = OO.ORDER_PLAN_ID
+                 LEFT JOIN RMS_SUPPLIER RSU
+                           ON RSU.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
+                 LEFT JOIN RMS_SHIPPER RSH
+                           ON RSH.SHIPPER_ID = APO.PURCHASING_ORGANIZATION_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
+
+    <!-- 内转的运输订单 -->
+    <select id="getInwardMap" parameterType="DECIMAL" resultType="java.util.Map">
+        SELECT OO.ORDER_ID             AS "orderId",
+               OO.ORDER_TYPE           AS "orderType",
+               OO.ORDER_NUMBER         AS "orderNumber",
+               RC.CAPACITY_NUMBER      AS "capacityNumber",
+               RWLOAD.WAREHOUSE_NAME   AS "loadPoint",
+               RWUNLOAD.WAREHOUSE_NAME AS "unloadPoint"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON OO.CAPACITY_ID = RC.CAPACITY_ID
+                 LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
+                           ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
+                 LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+                           ON ARP.PLAN_ID = AIP.PLAN_ID
+                 LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
+                           ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
+                 LEFT JOIN RMS_WAREHOUSE RWLOAD
+                           ON RWLOAD.WAREHOUSE_ID = AIR.REQUIREMNT_UNIT_ID
+                 LEFT JOIN RMS_WAREHOUSE RWUNLOAD
+                           ON RWUNLOAD.WAREHOUSE_ID = AIR.REQUIREMENT_UNLOAD_UNIT_ID
+        WHERE OO.ORDER_ID = #{orderId}
+    </select>
+
+    <!-- 判断是走采购,销售还是内转 -->
+    <select id="getResultListByCapacity" parameterType="java.lang.String" resultType="java.util.Map">
+        SELECT OO.ORDER_ID   AS "orderId",
+               OO.ORDER_TYPE AS "orderType"
+        FROM OMSTRUCK_ORDER OO
+                 LEFT JOIN RMS_CAPACITY RC
+                           ON RC.CAPACITY_ID = OO.CAPACITY_ID
+        WHERE RC.CAPACITY_NUMBER = #{capacityNumber}
+AND OO.ORDER_STATUS = 4
     </select>
 </mapper>