luobang 2 jaren geleden
bovenliggende
commit
0705f371d4

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/TmstruckWeightResultMapper.java

@@ -135,4 +135,6 @@ public interface TmstruckWeightResultMapper extends IBaseMapper<TmstruckWeightRe
 
     int updateOrderMaterialId(BigDecimal jlOrderId);
 
+    BigDecimal selectNewPlanId(Map<String, Object> mesMap);
+
 }

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

@@ -778,13 +778,14 @@ public class TmstruckWeightResultServiceImpl implements ITmstruckWeightResultSer
     public String linkUpdateAPO(Map<String, Object> map, Integer orderType){
             //如果等于1 则代表是需要变更采购订单号的订单
             Map<String, Object> mesMap = tmstruckWeightResultMapper.getAPOMes(String.valueOf(map.get("ArrivalBillNo")));
-
             if (mesMap == null){
                 return map.get("ArrivalBillNo") + "系统没有此订单号!失败";
             }
             mesMap.put("orderNumber", map.get("orderNumber"));
-            if(orderType == 200){
-                //20订单修改的表不一样呀
+            if(orderType == 20 || orderType == 15 || orderType == 16 || orderType == 23 || orderType == 24){
+                //20订单修改的表不一样呀,找寻该采购订单对应的最新需求id和计划id
+                BigDecimal planId = tmstruckWeightResultMapper.selectNewPlanId(mesMap);
+                mesMap.put("planId",planId);
                 tmstruckWeightResultMapper.updatePurchaseInwordAPOId(mesMap);
                 tmstruckWeightResultMapper.updateOmsTruckMaterialId(mesMap);
             }else{

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

@@ -1068,16 +1068,9 @@
     </update>
 
     <update id="updatePurchaseInwordAPOId" parameterType="map">
-        update AMSTRUCK_INWARD_REQUIREMENT AIR
-        set AIR.PURCHASE_ORDER_ID = #{purchaseOrderId}
-        where AIR.REQUIREMENT_ID = (
-            select air.REQUIREMENT_ID
-            from OMSTRUCK_ORDER OO
-                     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
-            where OO.ORDER_NUMBER = #{orderNumber}
-            )
+        update OMSTRUCK_ORDER OO
+        set OO.ORDER_PLAN_ID = #{planId}
+        where OO.ORDER_NUMBER = #{orderNumber}
     </update>
     <update id="updateOrderMaterial" parameterType="map">
         update OMSTRUCK_ORDER_MATERIAL OOM
@@ -1247,4 +1240,11 @@
         SET OOM.SALE_MATERIAL_ID = null
         WHERE OOM.ORDER_ID = #{jlOrderId}
     </update>
+    <select id="selectNewPlanId" resultType="java.math.BigDecimal" parameterType="map">
+        SELECT ARP.PLAN_ID FROM AMSTRUCK_INWARD_REQUIREMENT AIR
+        LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
+        ON ARP.REQUIREMENT_ID = AIR.REQUIREMENT_ID
+        WHERE AIR.PURCHASE_ORDER_ID = #{purchaseOrderId}
+        ORDER BY AIR.REQUIREMENT_ID DESC
+    </select>
 </mapper>