liyg 2 年之前
父節點
當前提交
934b1cd65b

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

@@ -42,6 +42,9 @@ public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecim
 
     BigDecimal getOldCapacityId(BigDecimal orderId);
 
+    //查询车牌号的电话
+    String getTelByCapacityId(BigDecimal capacityId);
+
     //选择运力的车牌号
     BigDecimal getCapacityTel(String capacityNo);
 

+ 41 - 14
src/main/java/com/steerinfo/dil/service/impl/AmsSaleOrderServiceImpl.java

@@ -875,6 +875,8 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             }
             // 得到车牌号
             String capacityNumber = (String) map.get("capacityNumber");
+            // 得到运力id
+            BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
             //Map<String,Object> details = amsSaleOrderMapper.getOrderIdByCapacity(map);
             //if(details!=null && details.get("orderId")!=null){
             //    if(details.get("isEn")==null){
@@ -888,6 +890,12 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             //    }
             //    throw new Exception(capacityNumber+"有未完成的运输订单任务,无法派单");
             //}
+            //校验该车是否存在手机号
+            String tel=omstruckOrderMapper.getTelByCapacityId(capacityId);//数据库的手机号
+            String driverTel = (String) map.get("driverTel");//填写的手机号
+            if((tel==null || "".equals(tel)) && (driverTel==null || "".equals(driverTel))){
+                throw new Exception("该车没有电话号码,无法派车!请填写电话号码!");
+            }
             //查询车牌号是否是黑名单
             if(amsSaleOrderMapper.isBlackList(capacityNumber)>0){
                 throw new Exception("该车在黑名单中,无法派车!请联系销售公司!");
@@ -925,17 +933,16 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             }
             // 运输线路id
             BigDecimal lineId = DataChange.dataToBigDecimal(map.get("lineId"));
-            // 司机电话号码
-            String driverTel = (String) map.get("driverTel");
             BigDecimal isSteel = new BigDecimal(1);
-            // 得到运力id
-            BigDecimal capacityId = amsSaleOrderMaterialMapper.getCapacityId(capacityNumber);
             try{
-                Map<String,Object> map1=new HashMap<>();
-                map1.put("capacityNumber",capacityNumber);
-                map1.put("capacityTel",driverTel);
-                //在得到司机电话后给运力添加电话号码(通过车牌号)
-                rmsFeign.updateCapacity(map1);
+                //不为空且为新手机号,则修改电话号码
+                if(driverTel!=null && !"".equals(driverTel) && !driverTel.equals(tel)){
+                    Map<String,Object> map1=new HashMap<>();
+                    map1.put("capacityNumber",capacityNumber);
+                    map1.put("capacityTel",driverTel);
+                    //在得到司机电话后给运力添加电话号码(通过车牌号)
+                    rmsFeign.updateCapacity(map1);
+                }
             }catch (Exception e){
                 e.printStackTrace();
             }
@@ -1996,6 +2003,12 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             pushCarNumberToEas(mapValue);
             return mapValue;
         }
+        //校验该车是否存在手机号
+        String tel=omstruckOrderMapper.getTelByCapacityId(DataChange.dataToBigDecimal(mapValue.get("capacityId")));
+        String driverTel = (String) mapValue.get("driverTel");//填写的手机号
+        if((tel==null || "".equals(tel)) && (driverTel==null || "".equals(driverTel))){
+            throw new Exception("该车没有电话号码,无法派车!请填写电话号码!");
+        }
         Integer isCheckGps = amsSaleOrderMapper.getDispachSwitch();
         String capacityNo = (String) mapValue.get("capacityNo");
         //得到此次是否校验GPS
@@ -2024,12 +2037,26 @@ public class AmsSaleOrderServiceImpl implements IAmsSaleOrderService {
             }
         }
         pushCarNumberToEas(mapValue);
-        BigDecimal capacityTel = omstruckOrderMapper.getCapacityTel(capacityNo);
-        if (capacityTel.compareTo(BigDecimal.ZERO)!=0){
-            mapValue.put("capacityTel",capacityTel);
-        }else {
-            mapValue.put("capacityTel",0);
+        try{
+            //不为空且为新手机号,则修改电话号码
+            if(driverTel!=null && !"".equals(driverTel) && !driverTel.equals(tel)){
+                Map<String,Object> map1=new HashMap<>();
+                map1.put("capacityNumber",capacityNo);
+                map1.put("capacityTel",driverTel);
+                //在得到司机电话后给运力添加电话号码(通过车牌号)
+                rmsFeign.updateCapacity(map1);
+                mapValue.put("capacityTel",driverTel);
+            }else{
+                mapValue.put("capacityTel",tel);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
         }
+        // 设置新的运输订单号
+        OmstruckOrder wysdd = new OmstruckOrder();
+        wysdd.setOrderId(DataChange.dataToBigDecimal(mapValue.get("orderId")));
+        wysdd.setOrderNumber(DataChange.generateEightDigitsNumber("WYSDD", omstruckOrderMapper.selectMaxId().intValue()));
+        omstruckOrderMapper.updateByPrimaryKey(wysdd);
         if (lineSequence == null || "0".equals(lineSequence.toString()) || "1".equals(lineSequence.toString()) || "2".equals(lineSequence.toString())) {
             String capacityids="";
             Integer capacityid1= (Integer) mapValue.get("capacityIds");

+ 4 - 0
src/main/resources/com/steerinfo/dil/mapper/OmstruckOrderMapper.xml

@@ -950,4 +950,8 @@
         SELECT OO.CAPACITYIDS FROM OMSTRUCK_ORDER OO
         WHERE OO.ORDER_ID = #{orderId}
     </select>
+    <select id="getTelByCapacityId" resultType="java.lang.String">
+        SELECT CAPACITY_TEL FROM RMS_CAPACITY WHERE CAPACITY_ID= #{capacityId}
+    </select>
+
 </mapper>