liyg 2 лет назад
Родитель
Сommit
7e788444f0

+ 21 - 2
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -863,6 +863,13 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         int result = 0;
         // 遍历每一行
         for (Map<String,Object> map : mapList) {
+            //得到此次是否校验GPS
+            boolean onceCheck = true;
+            try{
+                onceCheck = (boolean) map.get("isCheckGPS");
+            }catch (Exception e){
+                //取值失败不处理,默认校验GPS
+            }
             // 得到车牌号
             String capacityNumber = (String) map.get("capacityNumber");
             //Map<String,Object> details = amsSaleOrderMapper.getOrderIdByCapacity(map);
@@ -878,7 +885,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             //    }
             //    throw new Exception(capacityNumber+"有未完成的运输订单任务,无法派单");
             //}
-            if(isCheckGps!=null && isCheckGps==0){
+            //非自提订单 && 本次校验GPS && 全局GPS校验打开
+            if((selfMention==null || selfMention.equals("否")) && onceCheck && (isCheckGps!=null && isCheckGps==0)){
                 Map<String,Object> locationResult = null;
                 int isGPS=0;
                 try{
@@ -1948,7 +1956,18 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
         }
         Integer isCheckGps = amsSaleOrderMapper.getDispachSwitch();
         String capacityNo = (String) mapValue.get("capacityNo");
-        if(isCheckGps!=null && isCheckGps==0){
+        //得到此次是否校验GPS
+        boolean onceCheck = true;
+        //查询是否自提
+        String selfMention = "否";
+        try{
+            selfMention = amsSaleOrderMapper.findSelfMention(DataChange.dataToBigDecimal(mapValue.get("saleOrderMaterialId")));
+            onceCheck = (boolean) mapValue.get("isCheckGPS");
+        }catch (Exception e){
+            //取值失败不处理,取默认值
+        }
+        //非自提,单次校验且全局校验
+        if((selfMention==null || selfMention.equals("否")) && onceCheck && (isCheckGps!=null && isCheckGps==0)){
             Map<String,Object> data = (Map<String,Object>)otmsFeign.getCurrentLocation(capacityNo).getData();
             Map<String,Object> locationResult = (Map<String,Object>)data.get("result");
             int isGPS=amsSaleOrderMapper.isGPS(capacityNo);