Explorar el Código

添加司机变更手机号后,如果没有还柜之前的业务变为新手机号,已经完成的业务保持原来的手机号

阿伏兔 hace 4 años
padre
commit
2a1bae24b2

+ 7 - 0
ruoyi-fleet/src/main/java/com/ruoyi/basicData/service/impl/FleetDriverMsgServiceImpl.java

@@ -240,6 +240,13 @@ public class FleetDriverMsgServiceImpl implements IFleetDriverMsgService {
             sysUser.setUpdateBy(SecurityUtils.getUsername());
             userMapper.updateUser(sysUser);
         }
+        //  变更还柜状态
+        Ftmsorderbillscars ftmsorderbillscars = new Ftmsorderbillscars();
+        ftmsorderbillscars.setDriverTel(tCorps.getfTel());
+        ftmsorderbillscars.setDriverUserId(tCorps.getfId());
+        ftmsorderbillscars.setDriverName(tCorps.getfName());
+        ftmsorderbillscarsMapper.updateftmsorderbillscarTel(ftmsorderbillscars);
+        //  变更车辆数据
         FleetCarManage fleetCarManage = new FleetCarManage();
         fleetCarManage.setDriverId(tCorps.getfId());
         fleetCarManage.setDriverTel(tCorps.getfTel());

+ 7 - 0
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/mapper/FtmsorderbillscarsMapper.java

@@ -179,4 +179,11 @@ public interface FtmsorderbillscarsMapper {
      * @return  结果
      */
     public int selectMissedOrdersCount(String phoneNumber);
+
+    /**
+     *  修改手机号更新未还柜的车辆信息根据司机id更新
+     * @param ftmsorderbillscars    参数
+     * @return  结果
+     */
+    public int updateftmsorderbillscarTel(Ftmsorderbillscars ftmsorderbillscars);
 }

+ 19 - 7
ruoyi-fleet/src/main/java/com/ruoyi/orderPlan/service/impl/FtmsorderbillscarsServiceImpl.java

@@ -330,7 +330,11 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
         if (StringUtils.isNotEmpty(status)) {
             return AjaxResult.error(status);
         }
-        long orderStatus = 1030L;
+        long actId = 1030L;
+        boolean orderStatus = false;
+        if (tmsorderbillscars.getOrderStatus() == 80L) {
+            orderStatus = true;
+        }
         if ("waybillDate".equals(operationType)) {
             // 回单提交
             if (StringUtils.isNull(tmsorderbillscars.getWaybillDate())) {
@@ -342,7 +346,9 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
             if (StringUtils.isNull(tmsorderbillscars.getUnLoadDate())) {
                 return AjaxResult.error("未找到还卸柜时间");
             }
-            if (tmsorderbillscars.getOrderStatus() < 80L) {
+            if (orderStatus) {
+                return AjaxResult.error("该运单已回单,若多次失败请联系管理员");
+            } else if (tmsorderbillscars.getOrderStatus() < 80L) {
                 tmsorderbillscars.setOrderStatus(60L);
             }
         } else if ("mdLoadDate".equals(operationType)) {
@@ -350,7 +356,9 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
             if (StringUtils.isNull(tmsorderbillscars.getMdLoadDate())) {
                 return AjaxResult.error("未找到装卸货时间");
             }
-            if (tmsorderbillscars.getOrderStatus() < 60L) {
+            if (orderStatus) {
+                return AjaxResult.error("该运单已回单,若多次失败请联系管理员");
+            } else if (tmsorderbillscars.getOrderStatus() < 60L) {
                 tmsorderbillscars.setOrderStatus(50L);
             }
         } else if ("loadDate".equals(operationType)) {
@@ -358,7 +366,9 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
             if (StringUtils.isNull(tmsorderbillscars.getLoadDate())) {
                 return AjaxResult.error("未找到提箱时间");
             }
-            if (tmsorderbillscars.getOrderStatus() < 50L) {
+            if (orderStatus) {
+                return AjaxResult.error("该运单已回单,若多次失败请联系管理员");
+            } else if (tmsorderbillscars.getOrderStatus() < 50L) {
                 tmsorderbillscars.setOrderStatus(40L);
             }
         } else if ("acceptDate".equals(operationType)) {
@@ -366,7 +376,9 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
             if (StringUtils.isNull(tmsorderbillscars.getAcceptDate())) {
                 return AjaxResult.error("未找到接单时间");
             }
-            if (tmsorderbillscars.getOrderStatus() < 40L) {
+            if (orderStatus) {
+                return AjaxResult.error("该运单已回单,若多次失败请联系管理员");
+            } else if (tmsorderbillscars.getOrderStatus() < 40L) {
                 tmsorderbillscars.setOrderStatus(20L);
             }
         }
@@ -378,7 +390,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
         }
         Ftmsorderbillsattachs ftmsorderbillsattachs = new Ftmsorderbillsattachs();
         ftmsorderbillsattachs.setPId(pId);
-        ftmsorderbillsattachs.setActId(orderStatus);
+        ftmsorderbillsattachs.setActId(actId);
         ftmsorderbillsattachsMapper.deleteftmsorderbillsattachs(ftmsorderbillsattachs);
         if (StringUtils.isNotEmpty(attachs) && !"[]".equals(attachs)) {
             JSONArray attachJson = JSONArray.parseArray(attachs);
@@ -387,7 +399,7 @@ public class FtmsorderbillscarsServiceImpl implements IftmsorderbillscarsService
                 a.setPId(pId);
                 a.setOrgId(orgId);
                 a.setBillStatus(6L);
-                a.setActId(orderStatus);
+                a.setActId(actId);
                 a.setCreateTime(new Date());
                 a.setCreateBy(SecurityUtils.getUsername());
                 if (ftmsorderbillsattachsMapper.insertftmsorderbillsattachs(a) <= 0) {

+ 13 - 7
ruoyi-fleet/src/main/resources/mapper/orderPlan/ftmsorderbillscarsMapper.xml

@@ -715,13 +715,13 @@
 --         GROUP BY
 --             order_status
         SELECT
-            COUNT(c.id) AS quantity,
-            COUNT( CASE WHEN c.order_status = '10' THEN 1 END ) AS planDate,
-            COUNT( CASE WHEN c.order_status = '20' THEN 1 END ) AS acceptDate,
-            COUNT( CASE WHEN c.order_status = '40' THEN 1 END ) AS loadDate,
-            COUNT( CASE WHEN c.order_status = '50' THEN 1 END ) AS mdLoadDate,
-            COUNT( CASE WHEN c.order_status = '60' THEN 1 END ) AS unLoadDate,
-            COUNT( CASE WHEN c.order_status = '80' THEN 1 END ) AS waybillDate
+            COUNT( c.id ) AS quantity,
+            COUNT( CASE WHEN c.plan_date IS NOT NULL THEN 1 END ) AS planDate,
+            COUNT( CASE WHEN c.accept_date IS NOT NULL THEN 1 END ) AS acceptDate,
+            COUNT( CASE WHEN c.load_date IS NOT NULL THEN 1 END ) AS loadDate,
+            COUNT( CASE WHEN c.md_load_date IS NOT NULL THEN 1 END ) AS mdLoadDate,
+            COUNT( CASE WHEN c.un_load_date IS NOT NULL THEN 1 END ) AS unLoadDate,
+            COUNT( CASE WHEN c.waybill_date IS NOT NULL THEN 1 END ) AS waybillDate
         FROM
             F_TMSORDERBILLSCARS c
             LEFT JOIN t_corps fleet ON fleet.f_id = c.carcor_pid
@@ -1059,6 +1059,12 @@
             car.driver_user_id IS NOT NULL
     </update>
 
+    <update id="updateftmsorderbillscarTel" parameterType="ftmsorderbillscars">
+        update F_TMSORDERBILLSCARS
+        set driver_name = #{driverName}, driver_tel = #{driverTel}
+        where driver_user_id = #{driverUserId} AND order_status &lt; 60
+    </update>
+
     <delete id="deleteftmsorderbillscarsById" parameterType="Long">
         delete from F_TMSORDERBILLSCARS where id = #{id}
     </delete>