Forráskód Böngészése

Merge remote-tracking branch 'origin/master'

zengyf 2 éve
szülő
commit
a60e1275f1

+ 12 - 5
src/main/java/com/steerinfo/dil/controller/BmstruckDetailsOrderController.java

@@ -331,10 +331,7 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
         int code = 0;
         try{
             for (Map<String,Object> map :mapList) {
-                if (map.get("orderId")==null){
-                    return failed("订单未派车,不允许修改单价!");
-                }
-                if(bmstruckDetailsOrderService.getSaleOrderStatus(DataChange.dataToBigDecimal(map.get("orderId")))!=4){
+                if(bmstruckDetailsOrderService.getSaleOrderStatus(DataChange.dataToBigDecimal(map.get("saleOrderMaterialId")))!=4){
                     return failed("存在未审核的订单,不允许修改单价!");
                 }
             }
@@ -345,7 +342,17 @@ public class BmstruckDetailsOrderController extends BaseRESTfulController {
         for (Map<String,Object> map :mapList) {
             map.put("userId",mapValue.get("userId"));
             map.put("updatePlace",mapValue.get("updatePlace"));
-            code += bmstruckDetailsOrderService.updateDetailsOrder(map);
+            //有运单改运单
+            if(map.get("orderId")!=null){
+                code += bmstruckDetailsOrderService.updateDetailsOrder(map);
+            }
+            //有车序号改车序号
+            if(map.get("saleOrderMaterialId")!=null){
+                code += bmstruckDetailsOrderService.updateAsomPriceId(map);
+            }
+            if(map.get("orderId") ==null && map.get("saleOrderMaterialId") ==null){
+                System.out.println("既没有订单也没有车序号!无法修改单价!");
+            }
         }
         return success(code);
     }

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

@@ -214,4 +214,7 @@ public interface BmstruckDetailsOrderMapper extends IBaseMapper<BmstruckDetailsO
 
     //新增单价
     int insertPriceValue(Map<String,Object> map);
+
+    //修改车序号单价
+    int updateAsomPriceId(Map<String, Object> mapValue);
 }

+ 3 - 0
src/main/java/com/steerinfo/dil/service/IBmstruckDetailsOrderService.java

@@ -99,6 +99,9 @@ public interface IBmstruckDetailsOrderService {
     // 修改详单
     int updateDetailsOrder(Map<String, Object> mapValue);
 
+    //修改车序号单价
+    int updateAsomPriceId(Map<String, Object> mapValue);
+
     // 查询承运商id
     BigDecimal getCarrierIdBySSO(String carrierSsoId);
 

+ 19 - 0
src/main/java/com/steerinfo/dil/service/impl/BmstruckDetailsOrderServiceImpl.java

@@ -730,6 +730,25 @@ public class BmstruckDetailsOrderServiceImpl implements IBmstruckDetailsOrderSer
         return result;
     }
 
+    @Override
+    public int updateAsomPriceId(Map<String, Object> mapValue) {
+        //前面更新运单时更新过地址了,这里就不更新了,如果订单ID为空,才更新
+        if(DataChange.dataToBigDecimal(mapValue.get("updatePlace")).intValue() == 1 && mapValue.get("orderId")==null) {
+            Map<String, Object> stringObjectMap = bmstruckDetailsOrderMapper.getsaleShippingAddressId(mapValue);
+            BigDecimal saleShippingAddressId = (BigDecimal) stringObjectMap.get("saleShippingAddressId");
+            BigDecimal historyShippingAddressId = (BigDecimal) stringObjectMap.get("historyShippingAddressId");
+            if (historyShippingAddressId!=null){
+                //修改地址(不修改历史地址)
+                bmstruckDetailsOrderMapper.updatePlaceNew(mapValue);
+            }else if (historyShippingAddressId==null ) {
+                mapValue.put("historyPlaceId", saleShippingAddressId);
+                //修改地址(不修改历史地址)
+                bmstruckDetailsOrderMapper.updatePlace(mapValue);
+            }
+        }
+        return bmstruckDetailsOrderMapper.updateAsomPriceId(mapValue);
+    }
+
     @Override
     public BigDecimal getCarrierIdBySSO(String carrierSsoId) {
         return bmstruckDetailsOrderMapper.getCarrierIdBySSO(carrierSsoId);

+ 10 - 13
src/main/resources/com/steerinfo/dil/mapper/BmstruckDetailsOrderMapper.xml

@@ -2340,26 +2340,17 @@
         update AMS_SALE_ORDER_MATERIAL ASOM
         set asom.SALE_SHIPPING_ADDRESS_ID = #{placeId},
             asom.HISTORY_SHIPPING_ADDRESS_ID=#{historyPlaceId}
-        where ASOM.SALE_ORDER_MATERIAL_ID = (SELECT oo.order_plan_id FROM
-        OMSTRUCK_ORDER OO
-        WHERE OO.ORDER_ID = #{orderId}
-        )
+        where ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
     </update>
     <update id="updatePlaceNew" parameterType="map">
         update AMS_SALE_ORDER_MATERIAL ASOM
         set asom.SALE_SHIPPING_ADDRESS_ID = #{placeId}
-        where ASOM.SALE_ORDER_MATERIAL_ID = (SELECT oo.order_plan_id FROM
-            OMSTRUCK_ORDER OO
-                                             WHERE OO.ORDER_ID = #{orderId}
-        )
+        where ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
     </update>
     <select id="getsaleShippingAddressId" resultType="java.util.Map">
         select asom.SALE_SHIPPING_ADDRESS_ID "saleShippingAddressId",asom.HISTORY_SHIPPING_ADDRESS_ID "historyShippingAddressId"
         from AMS_SALE_ORDER_MATERIAL ASOM
-        where ASOM.SALE_ORDER_MATERIAL_ID = (SELECT oo.order_plan_id FROM
-            OMSTRUCK_ORDER OO
-                                             WHERE OO.ORDER_ID = #{orderId}
-        )
+        where ASOM.SALE_ORDER_MATERIAL_ID =  #{saleOrderMaterialId}
     </select>
 
     <update id="updateDetailsStatus" parameterType="java.lang.Integer">
@@ -2372,7 +2363,7 @@
         FROM AMS_SALE_ORDER ASO
                  LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM ON ASOM.SALE_ORDER_ID = ASO.SALE_ORDER_ID
                  LEFT JOIN OMSTRUCK_ORDER OO ON OO.ORDER_PLAN_ID = ASOM.SALE_ORDER_MATERIAL_ID AND NVL(OO.ORDER_TYPE,0) in (0,1)
-        WHERE OO .ORDER_ID = #{orderId}
+        WHERE ASOM .SALE_ORDER_MATERIAL_ID  = #{orderId}
         FETCH NEXT 1 ROWS ONLY
     </select>
 
@@ -2394,4 +2385,10 @@
         insert into AMS_CONTRACT_TRANSPORT_PRICE(PRICE_ID,PRICE_VALUE,PLACE_ID,ISSTANDARD)
         VALUES(#{priceId},#{priceValue},#{placeId},'1')
     </insert>
+
+    <update id="updateAsomPriceId">
+        UPDATE AMS_SALE_ORDER_MATERIAL
+        SET PRICE_ID = #{priceId}
+        WHERE SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
+    </update>
 </mapper>