liyg %!s(int64=2) %!d(string=hai) anos
pai
achega
f122677cf5

+ 3 - 4
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -912,12 +912,11 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             // 得到承运商
             BigDecimal carrierId = DataChange.dataToBigDecimal(map.get("carrierId"));
             // 查询到车序号的单价
-            //BigDecimal priceId = amsSaleOrderMapper.getOrderPrice(map);
+            BigDecimal priceId = amsSaleOrderMapper.getOrderPrice(map);
             // 得到详细地址id
             BigDecimal placeId = amsSaleOrderMapper.getPlaceId(saleOrderMaterialId);
-            BigDecimal priceId = null;
-            // 如果详细地址匹配不到单价,则匹配省市县内最高的一条单价(只给非自提的进行匹配)
-            if (placeId != null && selfMention.equals("否")) {
+            // 如果已经设置单价则不覆盖,详细地址匹配不到单价,则匹配省市县内最高的一条单价(只给非自提的进行匹配)
+            if (priceId == null && placeId != null && selfMention.equals("否")) {
                  priceId = amsSaleOrderMapper.getPriceIdByPlaceId(placeId);
             }
             // 运输线路id

+ 4 - 8
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -3388,14 +3388,10 @@
   </select>
 
   <select id="getOrderPrice" parameterType="java.util.Map" resultType="DECIMAL" >
-    SELECT ACTP.PRICE_ID AS "priceId"
-    FROM AMS_CONTRACT_TRANSPORT_PRICE ACTP
-           LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
-                     ON ASOM.SALE_SHIPPING_ADDRESS_ID = ACTP.PLACE_ID
-    WHERE ACTP.CARRIER_ID = #{carrierId}
-      AND ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
-    AND ACTP.DELETED = 0
-    ORDER BY ACTP.INSERT_TIME DESC
+    SELECT PRICE_ID AS "priceId"
+    FROM AMS_SALE_ORDER_MATERIAL
+    WHERE SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    ORDER BY INSERT_TIME DESC
     FETCH NEXT 1 ROWS ONLY
   </select>