luobang 2 years ago
parent
commit
57425fd45a

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

@@ -157,4 +157,7 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
     Integer selectDetailsByOrder(BigDecimal orderId);
 
     List<BigDecimal> getDetailsIdByOrderId(Integer orderId);
+
+    BigDecimal selectNetWeight(BigDecimal orderId);
+
 }

+ 20 - 1
src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsOrderServiceImpl.java

@@ -11,6 +11,7 @@ import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.dil.util.EASUtil;
 import com.steerinfo.dil.util.NoUtil;
 import io.swagger.models.auth.In;
+import org.apache.shiro.crypto.hash.Hash;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -49,11 +50,13 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
     OmsFeign omsFeign;
 
     //以下订单类型是需要算计量实绩的
-    final private List<Integer>  inwardTypeList = Arrays.asList(10,11,15,16,23,24,20);
+    final private List<Integer>  inwardTypeList = Arrays.asList(10,11,15,16,23,24,20,25);
     //以下订单类型是需要根据线路去匹配承运起止范围以及物资
     final private List<Integer>  toLineAndMaterial = Arrays.asList(10,20,23,24);
     //以下订单类型是需要去根据固定承运起止范围以及物资
     final private List<Integer>  fixLineList = Arrays.asList(15,16);
+    //以下订单类型是钢材
+    final private List<Integer> steelTypeList = Arrays.asList(25);
 
     /**
      * 展示汽运详单列表
@@ -591,6 +594,22 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
                 return -1;
             }
         }
+        if(steelTypeList.contains(orderType.intValue())){
+            //钢材倒库
+            //首先获取净重
+            //BigDecimal netWeight = bmstruckDetailsOrderMapper.selectNetWeight(orderId);
+            //mapVal.put("netWeight",netWeight);
+            //获取单价
+            Map<String, Object> priceInfoPur = new HashMap<>();
+            priceInfoPur.put("transRangeId",1);
+            priceInfoPur.put("materialTypeId",5102);
+            Map<String,Object> map = bmstruckDetailsOrderMapper.getPurInwardPrice(priceInfoPur);
+            if(map != null){
+                mapVal.putAll(map);
+            }else{
+                return -1;
+            }
+        }
         if(orderType.intValue() == 21){
             //计时
             priceAmountList.add(mapVal);

+ 8 - 2
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml

@@ -1607,7 +1607,7 @@
         ON RTR.TRANS_RANGE_ID = AIR.LINE_ID
         WHERE
         BDO.DETAILS_ID IS NULL
-        AND OO.ORDER_TYPE in (11, 15, 16, 23, 24,10,20)
+        AND OO.ORDER_TYPE in (11, 15, 16, 23, 24,10,20,25)
         AND OO.ORDER_STATUS = 2
         <if test="userId != null">
         AND AIR.INSERT_USERNAME LIKE #{userId}
@@ -1744,7 +1744,7 @@
                                    LEFT JOIN DIL_BATCH DB
                                              ON DB.BATCH_ID = 0
                           WHERE bdo.WETHER_TO_STATEMENT = #{detailStatus}
-                            AND oo.ORDER_TYPE = 11
+                            AND oo.ORDER_TYPE in (11,25)
                             <if test="userId != null" >
                                 AND AIR.INSERT_USERNAME LIKE #{userId}
                             </if>
@@ -2033,5 +2033,11 @@
 
         BDO.ORDER_ID = #{orderId}
     </select>
+    <select id="selectNetWeight" resultType="java.math.BigDecimal" parameterType="decimal">
+        SELECT TLR.RESULT_MEASURED_TONNAGE FROM TMSTRUCK_TOTAL_RESULT TTR
+        LEFT JOIN TMSTRUCK_LOAD_RESULT TLR
+        ON TLR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
+        WHERE TTR.ORDER_ID = #{orderId}
+    </select>
 
 </mapper>