Przeglądaj źródła

Merge branch 'master' of auyen/tms into test

王伟宇 4 lat temu
rodzic
commit
910acb722e

+ 1 - 1
src/main/java/com/aoyang/tms/controller/TestController.java

@@ -183,7 +183,7 @@ public class TestController {
         smsSend.setType(30);
         JSONObject content = new JSONObject();
         content.put("type", "装装");
-        content.put("order_id", "测试短信模板运单");
+        content.put("order_id", "1652456512246");
         smsSend.setContent(JSON.toJSONString(content));
         smsSend.setMobile(monbiles.substring(1));
         log.info("Test 测试短信模板运单:{}", JSON.toJSONString(smsSend));

+ 20 - 2
src/main/java/com/aoyang/tms/controller/WorkOrderController.java

@@ -12,6 +12,7 @@ import com.aoyang.tms.entity.WorkSpot;
 import com.aoyang.tms.service.*;
 import com.aoyang.tms.util.DateUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -91,6 +92,7 @@ public class WorkOrderController {
                 vo.setTime(DateUtils.betweenTime(workOrder.getExecuteTime(), LocalDateTime.now()));
             }
         }
+        log.info("运单详情,/tms/work_order/find_work_order_info,vo:{}", JSON.toJSONString(vo));
         return new Result<>(vo);
     }
 
@@ -173,7 +175,7 @@ public class WorkOrderController {
     @PostMapping("/pc_update")
     public Result pcUpdate(@RequestHeader(value = "userId") Long userId,
                            @RequestHeader(value = "userName") String userName,
-                           @RequestBody WorkOrder param) {
+                           @RequestBody WorkOrderVO param) {
         if (param == null || param.getId() == null) {
             return new Result<>(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
         }
@@ -188,10 +190,26 @@ public class WorkOrderController {
         param.setUpdateDate(LocalDateTime.now());
         log.info("根据id修改运单(运单分页列表PC端,待执行已完成已关闭运单可改),调用/tms/work_order/pc_update,参数:{}", JSON.toJSONString(param));
 
-        WorkOrder workOrder = workOrderService.getById(param);
+        WorkOrder workOrder = workOrderService.getById(param.getId());
         if (workOrder.getOrderStatus() != 0 && workOrder.getOrderStatus() != 40 && workOrder.getOrderStatus() != 50) {
             return new Result<>(ErrCodeEnum.NO_UPDATE.getCode(), ErrCodeEnum.NO_UPDATE.getMessage());
         }
+        if (param.getSpotId() != null) {
+            WorkSpot spot = workSpotService.getById(param.getSpotId());
+            if (spot == null) {
+                return new Result<>(ErrCodeEnum.NO_UPDATE.getCode(), "作业点信息错误");
+            }
+            param.setSpotName(spot.getSpotName());
+        }
+        if (StringUtils.isNotBlank(param.getXiecheContactName()) || StringUtils.isNotBlank(param.getXiecheContactPhone())
+                || StringUtils.isNotBlank(param.getSpotAddress()) || StringUtils.isNotBlank(param.getSpotName())) {
+            WorkSpot spot = workSpotService.getById(workOrder.getSpotId());
+            spot.setContactPhone(param.getXiecheContactPhone());
+            spot.setContactName(param.getXiecheContactName());
+            spot.setAddress(param.getSpotAddress());
+            spot.setSpotName(param.getSpotName());
+            workSpotService.updateById(spot);
+        }
         return new Result<>(workOrderService.saveOrUpdate(param));
     }
 

+ 45 - 43
src/main/java/com/aoyang/tms/controller/WorkOrderManageController.java

@@ -15,14 +15,11 @@ import com.aoyang.tms.controller.vo.TruckOrderManageVO;
 import com.aoyang.tms.controller.vo.TruckOrderStatisticsVO;
 import com.aoyang.tms.entity.*;
 import com.aoyang.tms.feign.MessageFeign;
-import com.aoyang.tms.feign.UserFeignClient;
 import com.aoyang.tms.feign.result.SmsSendLog;
 import com.aoyang.tms.service.*;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -168,7 +165,7 @@ public class WorkOrderManageController {
         Random random = new Random(1000);
         Long timeMillis = System.currentTimeMillis();
         for (String truckId : truckIds) {
-            StringBuffer monbiles = new StringBuffer();
+            List<String> monbiles = new ArrayList<>();
             WorkOrder workOrder = new WorkOrder();
             BeanUtils.copyProperties(orderVO, workOrder);
             workOrder.setTruckId(Long.parseLong(truckId));
@@ -189,7 +186,7 @@ public class WorkOrderManageController {
             if (truckEscort != null) {
                 workOrder.setEscortId(truckEscort.getEscortId());
                 workOrder.setEscortName(truckEscort.getEscortName());
-                monbiles.append("," + truckEscort.getMobile());
+                monbiles.add(truckEscort.getMobile());
             }
             List<TruckDriver> truckDrivers = truckDriverService.findTruckDrivers(truck.getTruckId());
             if (truckDrivers != null && truckDrivers.size() > 0) {
@@ -197,14 +194,14 @@ public class WorkOrderManageController {
                 workOrder.setDriverNameOne(truckDrivers.get(0).getDriverName());
                 User user = commonService.findUser(truckDrivers.get(0).getDriverId());
                 if (user != null) {
-                    monbiles.append("," + user.getMobile());
+                    monbiles.add(user.getMobile());
                 }
                 if (truckDrivers.size() > 1) {
                     workOrder.setDriverIdTwo(truckDrivers.get(1).getDriverId());
                     workOrder.setDriverNameOne(truckDrivers.get(1).getDriverName());
                     User user2 = commonService.findUser(truckDrivers.get(1).getDriverId());
                     if (user2 != null) {
-                        monbiles.append("," + user2.getMobile());
+                        monbiles.add(user2.getMobile());
                     }
                 }
             }
@@ -217,17 +214,18 @@ public class WorkOrderManageController {
 
             workOrders.add(workOrder);
 
-            if (monbiles.length() > 0) {
+            if (monbiles.size() > 0) {
                 // 发送短信
-                SmsSendLog smsSend = new SmsSendLog();
-                smsSend.setType(30);
-                JSONObject content = new JSONObject();
-                content.put("type", "装车");
-                content.put("order_id", orderNo);
-                smsSend.setContent(JSON.toJSONString(content));
-                smsSend.setMobile(monbiles.substring(1));
-                log.info("发送装车运单短信:{}", JSON.toJSONString(smsSend));
-                messageFeign.send(smsSend, null, null, null);
+                for (String mobile : monbiles) {
+                    SmsSendLog smsSend = new SmsSendLog();
+                    smsSend.setType(30);
+                    JSONObject content = new JSONObject();
+                    content.put("type", "装车");
+                    content.put("order_id", orderNo);
+                    smsSend.setContent(JSON.toJSONString(content));
+                    smsSend.setMobile(mobile);
+                    messageFeign.send(smsSend, null, null, null);
+                }
             }
 
         }
@@ -249,15 +247,30 @@ public class WorkOrderManageController {
             userName = URLDecoder.decode(userName, "UTF-8");
         } catch (UnsupportedEncodingException ignored) {
         }
+
+        // 保存卸车点
+        WorkSpot workSpot = new WorkSpot();
+        workSpot.setOrgId(orgId);
+        workSpot.setType(2);
+        workSpot.setSpotName(orderVO.getSpotName());
+        workSpot.setContactName(orderVO.getContactName());
+        workSpot.setContactPhone(orderVO.getContactPhone());
+        workSpot.setCreater(userId);
+        workSpot.setCreaterName(userName);
+        workSpot.setCreateDate(LocalDateTime.now());
+        workSpotService.save(workSpot);
+
         String ids = orderVO.getTruckIds();
         String[] truckIds = ids.split(",");
         List<WorkOrder> workOrders = new ArrayList<>(truckIds.length);
         Random random = new Random(1000);
         Long timeMillis = System.currentTimeMillis();
         for (String truckId : truckIds) {
-            StringBuffer monbiles = new StringBuffer();
+            List<String> monbiles = new ArrayList<>();
             WorkOrder workOrder = new WorkOrder();
             BeanUtils.copyProperties(orderVO, workOrder);
+            workOrder.setSpotId(workSpot.getSpotId());
+            workOrder.setSpotName(workSpot.getSpotName());
             workOrder.setTruckId(Long.parseLong(truckId));
             workOrder.setType(2);
             workOrder.setOrderStatus(WorkOrderEnum.TODO.orderStatus());
@@ -276,7 +289,7 @@ public class WorkOrderManageController {
             if (truckEscort != null) {
                 workOrder.setEscortId(truckEscort.getEscortId());
                 workOrder.setEscortName(truckEscort.getEscortName());
-                monbiles.append("," + truckEscort.getMobile());
+                monbiles.add(truckEscort.getMobile());
             }
             List<TruckDriver> truckDrivers = truckDriverService.findTruckDrivers(truck.getTruckId());
             if (truckDrivers != null && truckDrivers.size() > 0) {
@@ -284,14 +297,14 @@ public class WorkOrderManageController {
                 workOrder.setDriverNameOne(truckDrivers.get(0).getDriverName());
                 User user = commonService.findUser(truckDrivers.get(0).getDriverId());
                 if (user != null) {
-                    monbiles.append("," + user.getMobile());
+                    monbiles.add(user.getMobile());
                 }
                 if (truckDrivers.size() > 1) {
                     workOrder.setDriverIdTwo(truckDrivers.get(1).getDriverId());
                     workOrder.setDriverNameOne(truckDrivers.get(1).getDriverName());
                     User user2 = commonService.findUser(truckDrivers.get(1).getDriverId());
                     if (user2 != null) {
-                        monbiles.append("," + user2.getMobile());
+                        monbiles.add(user2.getMobile());
                     }
                 }
             }
@@ -304,33 +317,22 @@ public class WorkOrderManageController {
 
             workOrders.add(workOrder);
 
-            if (monbiles.length() > 0) {
+            if (monbiles.size() > 0) {
                 // 发送短信
-                SmsSendLog smsSend = new SmsSendLog();
-                smsSend.setType(30);
-                JSONObject content = new JSONObject();
-                content.put("type", "卸车");
-                content.put("order_id", orderNo);
-                smsSend.setContent(JSON.toJSONString(content));
-                smsSend.setMobile(monbiles.substring(1));
-                log.info("发送卸车运单短信:{}", JSON.toJSONString(smsSend));
-                messageFeign.send(smsSend, null, null, null);
+                for (String mobile : monbiles) {
+                    SmsSendLog smsSend = new SmsSendLog();
+                    smsSend.setType(30);
+                    JSONObject content = new JSONObject();
+                    content.put("type", "卸车");
+                    content.put("order_id", orderNo);
+                    smsSend.setContent(JSON.toJSONString(content));
+                    smsSend.setMobile(mobile);
+                    messageFeign.send(smsSend, null, null, null);
+                }
             }
         }
         Boolean flag = workOrderService.saveBatch(workOrders);
 
-        // 保存卸车点
-        WorkSpot workSpot = new WorkSpot();
-        workSpot.setOrgId(orgId);
-        workSpot.setType(2);
-        workSpot.setSpotName(orderVO.getSpotName());
-        workSpot.setContactName(orderVO.getContactName());
-        workSpot.setContactPhone(orderVO.getContactPhone());
-        workSpot.setCreater(userId);
-        workSpot.setCreaterName(userName);
-        workSpot.setCreateDate(LocalDateTime.now());
-        flag = workSpotService.save(workSpot);
-
         return new Result<>(flag);
     }