luobang 2 年 前
コミット
0a8cf8811b

+ 9 - 1
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -1,6 +1,7 @@
 package com.steerinfo.dil.controller;
 
 import com.alibaba.druid.support.json.JSONUtils;
+import com.steerinfo.dil.feign.BmstruckFeign;
 import com.steerinfo.dil.feign.ColumnDataFeign;
 import com.steerinfo.dil.feign.ESFeign;
 import com.steerinfo.dil.feign.JoinFeign;
@@ -18,7 +19,6 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
@@ -74,6 +74,8 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
     EASCapacityTestUtil easCapacityTestUtil;
     @Autowired
     EasFluMakeDateUtil easFluMakeDateUtil;
+    @Autowired
+    BmstruckFeign bmstruckFeign;
 
 
     private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1490,6 +1492,12 @@ public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController
                         BigDecimal orderId = amsSaleOrderService.selectTransPortOrder(closeWlEntryId);
                         if (orderId != null) {
                             amsSaleOrderService.updateTransportOrderStatus(orderId);
+                            //看该分录有没有磅重,如果有磅重,有没有计费详单
+                            BigDecimal detailsOrder = amsSaleOrderMaterialService.getDeatailsOrder(closeWlEntryId);
+                            if(detailsOrder == null) {
+                                //如果没有结算数据,则生成结算数据
+                                bmstruckFeign.addDetailsOrder(orderId);
+                            }
                         }
                     } catch (Exception e) {
                         e.printStackTrace();

+ 3 - 3
src/main/java/com/steerinfo/dil/feign/BmstruckFeign.java

@@ -4,11 +4,8 @@ import com.steerinfo.framework.controller.RESTfulResult;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.math.BigDecimal;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -23,6 +20,9 @@ public interface BmstruckFeign {
     @PostMapping("/api/v1/bmstruck/bmstruckdetailsorder/updateBatchDetailsOrder")
     Map<String, Object> updateBatchDetailsOrder(Map<String, Object> map);
 
+    @PostMapping("api/v1/bmstruck/bmstruckdetailsorder/addDetailsOrder/{orderId}")
+    public RESTfulResult addDetailsOrder(@PathVariable("orderId") BigDecimal orderId);
+
 
 }
 

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

@@ -83,4 +83,7 @@ public interface AmsSaleOrderMaterialMapper extends IBaseMapper<AmsSaleOrderMate
 
     //把现地址赋值给旧地址字段
     int setHistoryAddressId(Map<String, Object> mapValue);
+
+    BigDecimal getDeatailsOrder(BigDecimal closeWlEntryId);
+
 }

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

@@ -75,4 +75,6 @@ public interface IAmsSaleOrderMaterialService{
     int mergeOrder(Map<String, Object> map);
 
     int splitOrder(Map<String, Object> map);
+
+    BigDecimal getDeatailsOrder(BigDecimal closeWlEntryId);
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderMaterialServiceImpl.java

@@ -1095,4 +1095,10 @@ public class AmsSaleOrderMaterialServiceImpl implements IAmsSaleOrderMaterialSer
         }
         return i;
     }
+
+
+    @Override
+    public BigDecimal getDeatailsOrder(BigDecimal closeWlEntryId) {
+        return amsSaleOrderMaterialMapper.getDeatailsOrder(closeWlEntryId);
+    }
 }

+ 9 - 1
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMaterialMapper.xml

@@ -978,9 +978,17 @@
     ORDER BY ACTP.PRICE_VALUE DESC
       FETCH NEXT 1 ROWS ONLY
   </select>
-  <update id="setHistoryAddressId">
+
+    <update id="setHistoryAddressId">
     UPDATE AMS_SALE_ORDER_MATERIAL
     SET HISTORY_SHIPPING_ADDRESS_ID = SALE_SHIPPING_ADDRESS_ID
     WHERE SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
   </update>
+  <select id="getDeatailsOrder" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
+    SELECT BDO.DETAILS_ID from TMSTRUCK_WEIGHT_RESULT ttr
+    LEFT JOIN BMSTRUCK_DETAILS_ORDER BDO
+    ON BDO.WEIGHT_TASK_RESULT_ID = TTR.WEIGHT_TASK_RESULT_ID
+    where ttr.SALE_MATERIAL_ID = #{closeWlEntryId}
+    FETCH NEXT 1 ROWS ONLY
+  </select>
 </mapper>