HUJIANGUO 3 éve
szülő
commit
cc09d38f58

+ 14 - 0
src/main/java/com/steerinfo/dil/controller/AmsSaleOrderController.java

@@ -854,4 +854,18 @@ public class AmsSaleOrderController extends BaseRESTfulController {
         int result = amsSaleOrderService.addSteelSaleOrder(mapValue);
         return success(result);
     }
+
+    @ApiModelProperty(value = "自动匹配出最近的一个地址")
+    @PostMapping("/matchingAddressRecently")
+    public RESTfulResult matchingAddressRecently(@RequestParam BigDecimal receiveId) {
+        List<Map<String,Object>> mapList = amsSaleOrderService.matchingAddressRecently(receiveId);
+        return success(mapList);
+    }
+
+    @ApiModelProperty(value = "自动匹配上一条运单的司机电话")
+    @PostMapping("/matchingDriverTelRecently")
+    public RESTfulResult matchingDriverTelRecently(@RequestParam String capacityNumber) {
+        String driverTel = amsSaleOrderService.matchingDriverTelRecently(capacityNumber);
+        return success(driverTel);
+    }
 }

+ 6 - 0
src/main/java/com/steerinfo/dil/mapper/AmsSaleOrderMapper.java

@@ -108,4 +108,10 @@ public interface AmsSaleOrderMapper extends IBaseMapper<AmsSaleOrder, BigDecimal
     Map<String, Object> getSaleMapMessages(BigDecimal saleOrderId);
     // 查询销售订单下面表的数据
     List<Map<String, Object>> getSaleListMessages(BigDecimal saleOrderId);
+    // 自动匹配出最近的一个地址
+    List<Map<String, Object>> matchingAddressRecently(BigDecimal receiveId);
+    // 自动匹配出最近的一个销售员
+    List<Map<String, Object>> getSalerByReceiveId(BigDecimal receiveId);
+    // 自动匹配上一条运单的司机电话
+    String matchingDriverTelRecently(String capacityNumber);
 }

+ 4 - 0
src/main/java/com/steerinfo/dil/service/IAmsSaleOrderService.java

@@ -137,4 +137,8 @@ public interface IAmsSaleOrderService {
     int uploadSaleOrderList(List<Map<String, Object>> saleOrderIdList);
     // 新增钢材销售订单
     int addVanadiumSaleOrder(Map<String, Object> mapValue);
+    // 自动匹配出最近的一个地址
+    List<Map<String, Object>> matchingAddressRecently(BigDecimal receiveId);
+    // 自动匹配上一条运单的司机电话
+    String matchingDriverTelRecently(String capacityNumber);
 }

+ 31 - 0
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -1239,6 +1239,37 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         return result;
     }
 
+    /**
+     * 自动匹配出最近的一个地址
+     * @param receiveId
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> matchingAddressRecently(BigDecimal receiveId) {
+        List<Map<String,Object>> mapList = amsSaleOrderMapper.matchingAddressRecently(receiveId);
+        List<Map<String,Object>> salerList = amsSaleOrderMapper.getSalerByReceiveId(receiveId);
+        if (mapList != null && mapList.size() != 0) {
+            if (salerList != null && salerList.size() !=0) {
+                Map<String, Object> salerMap = salerList.get(0);
+                for (Map<String, Object> map : mapList) {
+                    map.putAll(salerMap);
+                }
+            }
+        }
+        return mapList;
+    }
+
+    /**
+     * 自动匹配上一条运单的司机电话
+     * @param capacityNumber
+     * @return
+     */
+    @Override
+    public String matchingDriverTelRecently(String capacityNumber) {
+        String driverTel = amsSaleOrderMapper.matchingDriverTelRecently(capacityNumber);
+        return driverTel;
+    }
+
     /**
      * 展示未匹配承运商的车序号
      * @param mapValue

+ 57 - 0
src/main/resources/com/steerinfo/dil/mapper/AmsSaleOrderMapper.xml

@@ -3057,4 +3057,61 @@
                      ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
     WHERE ASO.SALE_ORDER_ID = #{saleOrderId}
   </select>
+
+  <select id="matchingAddressRecently" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT DISTINCT *
+    FROM (SELECT RRP.PLACE_ID "placeId",
+    RRP.ADDRESS_DELIVERY_ADDRESS "place",
+    RRA.ADDRESS_ID "shipperAddressId",
+    RRA.ADDRESS_PROVINCE "addressProvince",
+    RRA.ADDRESS_DISTRICT "addressDistrict",
+    RRA.ADDRESS_TOWN "addressTown",
+    ASOM.SALE_ORDER_CONSIGNEE_TEL "saleOrderConsigneeTel"
+    FROM AMS_SALE_ORDER ASO
+    LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
+    ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
+    LEFT JOIN RMS_RECEIVE_PLACE RRP
+    ON RRP.PLACE_ID = ASOM.SALE_SHIPPING_ADDRESS_ID
+    LEFT JOIN RMS_RECEIVE_ADDRESS RRA
+    ON RRA.ADDRESS_ID = RRP.ADDRESS_ID
+    WHERE ASO.RECEIVE_ID = #{receiveId}
+    AND RRP.PLACE_ID IS NOT NULL
+    ORDER BY ASOM.SALE_ORDER_MATERIAL_ID DESC
+    )
+    WHERE rownum <![CDATA[
+    <
+    ]]> 2
+  </select>
+
+  <select id="getSalerByReceiveId" parameterType="DECIMAL" resultType="java.util.Map" >
+    SELECT DISTINCT *
+    FROM (
+           SELECT RS.SALER_NAME "salerName",
+                  RS.SALER_ID   "salerId"
+           FROM AMS_SALE_ORDER ASO
+                  LEFT JOIN RMS_SALER RS
+                            ON RS.SALER_ID = ASO.SALER_ID
+           WHERE ASO.RECEIVE_ID = #{receiveId}
+           ORDER BY ASO.SALE_ORDER_ID DESC
+         )
+    WHERE rownum <![CDATA[
+    <
+    ]]> 2
+  </select>
+
+  <select id="matchingDriverTelRecently" parameterType="java.lang.String" resultType="java.lang.String">
+    SELECT DISTINCT *
+    FROM (
+           SELECT OO.DRIVER_TEL "driverTel"
+           FROM RMS_CAPACITY RCA
+                  LEFT JOIN OMSTRUCK_ORDER OO
+                            ON OO.CAPACITY_ID = RCA.CAPACITY_ID
+           WHERE RCA.CAPACITY_NUMBER = #{capacityNumber}
+             AND OO.ORDER_TYPE = 1
+           ORDER BY OO.ORDER_ID
+         )
+    WHERE ROWNUM <![CDATA[
+    <
+    ]]> 2
+  </select>
 </mapper>