|
|
@@ -9,16 +9,11 @@ import com.aoyang.common.result.Result;
|
|
|
import com.aoyang.tms.common.ErrCodeEnum;
|
|
|
import com.aoyang.tms.common.WorkOrderEnum;
|
|
|
import com.aoyang.tms.controller.param.WorkManagePageParam;
|
|
|
+import com.aoyang.tms.controller.vo.AddWorkOrderVO;
|
|
|
import com.aoyang.tms.controller.vo.TruckOrderManageVO;
|
|
|
import com.aoyang.tms.controller.vo.TruckOrderStatisticsVO;
|
|
|
-import com.aoyang.tms.entity.Truck;
|
|
|
-import com.aoyang.tms.entity.TruckDriver;
|
|
|
-import com.aoyang.tms.entity.TruckEscort;
|
|
|
-import com.aoyang.tms.entity.WorkOrder;
|
|
|
-import com.aoyang.tms.service.TruckDriverService;
|
|
|
-import com.aoyang.tms.service.TruckEscortService;
|
|
|
-import com.aoyang.tms.service.TruckService;
|
|
|
-import com.aoyang.tms.service.WorkOrderService;
|
|
|
+import com.aoyang.tms.entity.*;
|
|
|
+import com.aoyang.tms.service.*;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
@@ -26,6 +21,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.cloud.netflix.ribbon.apache.HttpClientUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import sun.net.www.http.HttpClient;
|
|
|
@@ -35,6 +31,7 @@ import java.io.UnsupportedEncodingException;
|
|
|
import java.net.URL;
|
|
|
import java.net.URLDecoder;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
@@ -60,6 +57,8 @@ public class WorkOrderManageController {
|
|
|
private TruckEscortService truckEscortService;
|
|
|
@Resource
|
|
|
private TruckDriverService truckDriverService;
|
|
|
+ @Resource
|
|
|
+ private WorkSpotService workSpotService;
|
|
|
|
|
|
@ApiOperation(value = "获取运力调度列表",notes="")
|
|
|
@PostMapping("/list")
|
|
|
@@ -79,50 +78,134 @@ public class WorkOrderManageController {
|
|
|
return new Result<>(workOrderService.getTruckOrderStatistics(orgId));
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value = "新增装卸车派单", notes = "调度员派单操作")
|
|
|
- @PostMapping("/add_order")
|
|
|
+ @ApiOperation(value = "新增装车派单", notes = "调度员派单操作")
|
|
|
+ @PostMapping("/add_load_order")
|
|
|
public Result add(@RequestHeader(value = "orgId") Long orgId,
|
|
|
@RequestHeader(value = "userId") Long userId,
|
|
|
@RequestHeader("userName") String userName,
|
|
|
- @RequestBody WorkOrder workOrder) {
|
|
|
- log.info("运力调度派单,调用/tms/work_order_manage/add_order param:{} ", JSON.toJSONString(workOrder));
|
|
|
- if (workOrder == null || workOrder.getDeptId() == null || workOrder.getSpotId() == null ||
|
|
|
- workOrder.getTruckId() == null) {
|
|
|
+ @RequestBody AddWorkOrderVO orderVO) {
|
|
|
+ log.info("运力调度派单,调用/tms/work_order_manage/add_order param:{} ", JSON.toJSONString(orderVO));
|
|
|
+ if (orderVO == null || orderVO.getShipperId() == null || orderVO.getSpotId() == null ||
|
|
|
+ StringUtils.isBlank(orderVO.getTruckIds())) {
|
|
|
return new Result<>(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
|
- workOrder.setOrderStatus(WorkOrderEnum.TODO.orderStatus());
|
|
|
- workOrder.setOrgId(orgId);
|
|
|
- Truck truck = truckService.getById(workOrder.getTruckId());
|
|
|
- workOrder.setOrgId(truck.getOrgId());
|
|
|
- workOrder.setOrgName(truck.getOrgName());
|
|
|
- workOrder.setOrgShortName(truck.getOrgShortName());
|
|
|
- workOrder.setCarNumber(truck.getCarNumber());
|
|
|
- workOrder.setTrailerNumber(truck.getTrailerNumber());
|
|
|
- TruckEscort query = new TruckEscort();
|
|
|
- query.setTruckId(truck.getTruckId());
|
|
|
- TruckEscort truckEscort = truckEscortService.findTruckEscort(query);
|
|
|
- if (truckEscort != null) {
|
|
|
- workOrder.setEscortId(truckEscort.getEscortId());
|
|
|
- workOrder.setEscortName(truckEscort.getEscortName());
|
|
|
+ try {
|
|
|
+ userName = URLDecoder.decode(userName, "UTF-8");
|
|
|
+ } catch (UnsupportedEncodingException ignored) {
|
|
|
}
|
|
|
- List<TruckDriver> truckDrivers = truckDriverService.findTruckDrivers(truck.getTruckId());
|
|
|
- if (truckDrivers != null && truckDrivers.size() > 0) {
|
|
|
- workOrder.setDriverIdOne(truckDrivers.get(0).getDriverId());
|
|
|
- workOrder.setDriverNameOne(truckDrivers.get(0).getDriverName());
|
|
|
- if (truckDrivers.size() > 1) {
|
|
|
- workOrder.setDriverIdTwo(truckDrivers.get(1).getDriverId());
|
|
|
- workOrder.setDriverNameOne(truckDrivers.get(1).getDriverName());
|
|
|
+ String ids = orderVO.getTruckIds();
|
|
|
+ String[] truckIds = ids.split(",");
|
|
|
+ List<WorkOrder> workOrders = new ArrayList<>(truckIds.length);
|
|
|
+ for (String truckId : truckIds) {
|
|
|
+ WorkOrder workOrder = new WorkOrder();
|
|
|
+ BeanUtils.copyProperties(orderVO, workOrder);
|
|
|
+ workOrder.setTruckId(Long.parseLong(truckId));
|
|
|
+ workOrder.setType(1);
|
|
|
+ workOrder.setOrderStatus(WorkOrderEnum.TODO.orderStatus());
|
|
|
+ workOrder.setOrgId(orgId);
|
|
|
+ Truck truck = truckService.getById(workOrder.getTruckId());
|
|
|
+ workOrder.setOrgId(truck.getOrgId());
|
|
|
+ workOrder.setOrgName(truck.getOrgName());
|
|
|
+ workOrder.setOrgShortName(truck.getOrgShortName());
|
|
|
+ workOrder.setCarNumber(truck.getCarNumber());
|
|
|
+ workOrder.setTrailerNumber(truck.getTrailerNumber());
|
|
|
+ workOrder.setDeptId(truck.getDeptId());
|
|
|
+ workOrder.setDeptName(truck.getDeptName());
|
|
|
+ TruckEscort query = new TruckEscort();
|
|
|
+ query.setTruckId(truck.getTruckId());
|
|
|
+ TruckEscort truckEscort = truckEscortService.findTruckEscort(query);
|
|
|
+ if (truckEscort != null) {
|
|
|
+ workOrder.setEscortId(truckEscort.getEscortId());
|
|
|
+ workOrder.setEscortName(truckEscort.getEscortName());
|
|
|
+ }
|
|
|
+ List<TruckDriver> truckDrivers = truckDriverService.findTruckDrivers(truck.getTruckId());
|
|
|
+ if (truckDrivers != null && truckDrivers.size() > 0) {
|
|
|
+ workOrder.setDriverIdOne(truckDrivers.get(0).getDriverId());
|
|
|
+ workOrder.setDriverNameOne(truckDrivers.get(0).getDriverName());
|
|
|
+ if (truckDrivers.size() > 1) {
|
|
|
+ workOrder.setDriverIdTwo(truckDrivers.get(1).getDriverId());
|
|
|
+ workOrder.setDriverNameOne(truckDrivers.get(1).getDriverName());
|
|
|
+ }
|
|
|
}
|
|
|
+ workOrder.setCreater(userId);
|
|
|
+ workOrder.setCreaterName(userName);
|
|
|
+ workOrder.setCreateDate(LocalDateTime.now());
|
|
|
+
|
|
|
+ workOrders.add(workOrder);
|
|
|
+ }
|
|
|
+ Boolean flag = workOrderService.saveBatch(workOrders);
|
|
|
+ return new Result<>(flag);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation(value = "新增卸车派单", notes = "调度员派单操作")
|
|
|
+ @PostMapping("/add_unload_order")
|
|
|
+ public Result addUnload(@RequestHeader(value = "orgId") Long orgId,
|
|
|
+ @RequestHeader(value = "userId") Long userId,
|
|
|
+ @RequestHeader("userName") String userName,
|
|
|
+ @RequestBody AddWorkOrderVO orderVO) {
|
|
|
+ log.info("运力调度派单,调用/tms/work_order_manage/add_unload_order param:{} ", JSON.toJSONString(orderVO));
|
|
|
+ if (orderVO == null || orderVO.getShipperId() == null || orderVO.getSpotId() == null ||
|
|
|
+ orderVO.getTruckIds() == null) {
|
|
|
+ return new Result<>(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
|
|
|
}
|
|
|
- // 创建者信息
|
|
|
try {
|
|
|
userName = URLDecoder.decode(userName, "UTF-8");
|
|
|
} catch (UnsupportedEncodingException ignored) {
|
|
|
}
|
|
|
- workOrder.setCreater(userId);
|
|
|
- workOrder.setCreaterName(userName);
|
|
|
- workOrder.setCreateDate(LocalDateTime.now());
|
|
|
- Boolean flag = workOrderService.save(workOrder);
|
|
|
+ String ids = orderVO.getTruckIds();
|
|
|
+ String[] truckIds = ids.split(",");
|
|
|
+ List<WorkOrder> workOrders = new ArrayList<>(truckIds.length);
|
|
|
+ for (String truckId : truckIds) {
|
|
|
+ WorkOrder workOrder = new WorkOrder();
|
|
|
+ BeanUtils.copyProperties(orderVO, workOrder);
|
|
|
+ workOrder.setTruckId(Long.parseLong(truckId));
|
|
|
+ workOrder.setType(2);
|
|
|
+ workOrder.setOrderStatus(WorkOrderEnum.TODO.orderStatus());
|
|
|
+ workOrder.setOrgId(orgId);
|
|
|
+ Truck truck = truckService.getById(workOrder.getTruckId());
|
|
|
+ workOrder.setOrgId(truck.getOrgId());
|
|
|
+ workOrder.setOrgName(truck.getOrgName());
|
|
|
+ workOrder.setOrgShortName(truck.getOrgShortName());
|
|
|
+ workOrder.setCarNumber(truck.getCarNumber());
|
|
|
+ workOrder.setTrailerNumber(truck.getTrailerNumber());
|
|
|
+ workOrder.setDeptId(truck.getDeptId());
|
|
|
+ workOrder.setDeptName(truck.getDeptName());
|
|
|
+ TruckEscort query = new TruckEscort();
|
|
|
+ query.setTruckId(truck.getTruckId());
|
|
|
+ TruckEscort truckEscort = truckEscortService.findTruckEscort(query);
|
|
|
+ if (truckEscort != null) {
|
|
|
+ workOrder.setEscortId(truckEscort.getEscortId());
|
|
|
+ workOrder.setEscortName(truckEscort.getEscortName());
|
|
|
+ }
|
|
|
+ List<TruckDriver> truckDrivers = truckDriverService.findTruckDrivers(truck.getTruckId());
|
|
|
+ if (truckDrivers != null && truckDrivers.size() > 0) {
|
|
|
+ workOrder.setDriverIdOne(truckDrivers.get(0).getDriverId());
|
|
|
+ workOrder.setDriverNameOne(truckDrivers.get(0).getDriverName());
|
|
|
+ if (truckDrivers.size() > 1) {
|
|
|
+ workOrder.setDriverIdTwo(truckDrivers.get(1).getDriverId());
|
|
|
+ workOrder.setDriverNameOne(truckDrivers.get(1).getDriverName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ workOrder.setCreater(userId);
|
|
|
+ workOrder.setCreaterName(userName);
|
|
|
+ workOrder.setCreateDate(LocalDateTime.now());
|
|
|
+
|
|
|
+ workOrders.add(workOrder);
|
|
|
+ }
|
|
|
+ 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);
|
|
|
}
|
|
|
|
|
|
@@ -140,38 +223,4 @@ public class WorkOrderManageController {
|
|
|
// return new Result<>(flag);
|
|
|
// }
|
|
|
|
|
|
- public static String getProvince(String log, String lat){
|
|
|
- //lat 小 log 大
|
|
|
- //参数解释: 纬度,经度 type 001 (100代表道路,010代表POI,001代表门址,111可以同时显示前三项)
|
|
|
- String urlString = "http://gc.ditu.aliyun.com/regeocoding?l="+lat+","+log+"&type=010";
|
|
|
- String res = "";
|
|
|
- try {
|
|
|
- URL url = new URL(urlString);
|
|
|
- java.net.HttpURLConnection conn = (java.net.HttpURLConnection)url.openConnection();
|
|
|
- conn.setDoOutput(true);
|
|
|
- conn.setRequestMethod("POST");
|
|
|
- java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream(),"UTF-8"));
|
|
|
- String line;
|
|
|
- while ((line = in.readLine()) != null) {
|
|
|
- res += line+"\n";
|
|
|
- }
|
|
|
- in.close();
|
|
|
- } catch (Exception e) {
|
|
|
- System.out.println("error in wapaction,and e is " + e.getMessage());
|
|
|
- }
|
|
|
- System.out.println(res);
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(res);
|
|
|
- JSONArray jsonArray = JSON.parseArray(jsonObject.getString("addrList"));
|
|
|
- JSONObject jsonObject1 = jsonArray.getJSONObject(0);
|
|
|
- String arr[] = jsonObject1.get("admName").toString().split(",");
|
|
|
- System.out.println(arr[0]);
|
|
|
- return arr[0];
|
|
|
- }
|
|
|
-
|
|
|
- public static void main(String[] args) {
|
|
|
- String log = "116.42654793612228";
|
|
|
- String lat = "39.944177062241515";
|
|
|
- System.out.println("@@@ " + getProvince(log, lat));
|
|
|
- }
|
|
|
-
|
|
|
}
|