From 434088b7d4ee12c1206cfb194da2b600f4815f94 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期二, 15 八月 2023 18:27:37 +0800
Subject: [PATCH] broker 卡车公司端

---
 src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java |  117 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 93 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java b/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
index 07f6f9d..93ad8b2 100644
--- a/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
+++ b/src/main/java/com/stylefeng/guns/modular/system/controller/OrderController.java
@@ -1,12 +1,17 @@
 package com.stylefeng.guns.modular.system.controller;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
+import com.stylefeng.guns.modular.system.enums.FacilityCodeEnum;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
+import com.stylefeng.guns.modular.system.utils.TerminalInterfaceAcquisitionUtil;
 import com.stylefeng.guns.modular.system.utils.tips.ErrorTip;
 import com.stylefeng.guns.modular.system.utils.tips.SuccessTip;
+import com.stylefeng.guns.modular.system.warpper.TerminaleDataWarpper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -17,12 +22,10 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.net.FileNameMap;
 import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 
 @Controller
 @Api(tags = "订单")
@@ -138,8 +141,19 @@
     @GetMapping(value = "/getOrderInfo")
     @ResponseBody
     public Object getOrderInfo( Long orderId) {
-        OrderInfo orderInfo = orderService.getOrderInfo(orderId);
+        HashMap<String, Object> orderInfo = orderService.getOrderInfo(orderId);
         return new SuccessTip(orderInfo);
+    }
+
+    @ApiOperation(value = "订单详情--修改reference numbers",notes="订单详情--修改reference numbers")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+    })
+    @PostMapping(value = "/updateReference")
+    @ResponseBody
+    public Object updateReference( TGoods tGoods) {
+        boolean b = goodsService.updateById(tGoods);
+        return new SuccessTip();
     }
 
     @Resource
@@ -178,10 +192,21 @@
         if(driverIdOne!=null){
             driverIds.add(driverIdOne);
         }
+        TGoods tGoods = goodsService.selectOne(new EntityWrapper<TGoods>().eq("order_id", tOrder.getId()));
         List<TTransportation> tTransportations = tTransportationService.selectList(new EntityWrapper<TTransportation>().eq("order_id", orderId).in("driver_id", driverIds));
+        TerminaleDataWarpper terminalStatus =new TerminaleDataWarpper();
+        try {
+            terminalStatus = TerminalInterfaceAcquisitionUtil.getTerminalStatus(tGoods.getContainerNumber(), FacilityCodeEnum.USLAX.getMsg());
+
+        }catch (Exception e){
+            e.printStackTrace();
+            terminalStatus =new TerminaleDataWarpper();
+        }
+
         for (TTransportation tDriver : tTransportations) {
             OrderDriverInfo orderDriverInfo = new OrderDriverInfo();
             orderDriverInfo.setId(tDriver.getId());
+            orderDriverInfo.setDriverId(tDriver.getDriverId());
             if(tDriver.getId().equals(sDriverIdOne)&&tDriver.getType()==2){
                 orderDriverInfo.setPickUp(tDriver.getPickDate());
             }
@@ -197,8 +222,7 @@
             orderDriverInfo.setTPowerUnits(powerUnitsService.selectById(tDriver.getPowerUnit()));
             orderDriverInfo.setChassiess(powerUnitsService.selectById(tDriver.getChassises()));
 
-            // TODO 第三方  目前不知道对接那个
-            orderDriverInfo.setAppointmentNumber(null);
+            orderDriverInfo.setAppointmentNumber(terminalStatus.getAppointmentNumber());
 
             orderDriverInfos.add(orderDriverInfo);
 
@@ -206,6 +230,14 @@
         transportInfo.setTruckCompany(tOrder.getTruckCompany());
         transportInfo.setPickupTime(tOrder.getPickupTimeTruck());
         transportInfo.setStreetTurn(tOrder.getStreetTurn());
+
+        transportInfo.setLineHold(terminalStatus.getLineHold());
+        transportInfo.setCustomHold(terminalStatus.getCustomHold());
+        transportInfo.setPierpass(terminalStatus.getPierpass());
+        transportInfo.setCTF(terminalStatus.getCtf());
+        transportInfo.setClosedArea(terminalStatus.getClosedArea());
+        transportInfo.setLFD(terminalStatus.getLfd());
+
         transportInfo.setList(orderDriverInfos);
         Integer examSite = tOrder.getExamSite();
         if(Objects.nonNull(examSite)){
@@ -257,7 +289,7 @@
                             BigDecimal subtract = price.getPrice().subtract(multiply);
                             priceInfo.setCarrierCost(subtract);
                             priceInfo.setSalesProfit(new BigDecimal(commission));
-                            priceInfo.setMargin(multiply);
+                            priceInfo.setMargin(multiply.setScale(2, RoundingMode.HALF_UP));
                         }else {
                             priceInfo.setMargin(new BigDecimal(0));
                             priceInfo.setSalesProfit(new BigDecimal(commission));
@@ -298,6 +330,22 @@
         return new SuccessTip(page);
     }
 
+    @ApiOperation(value = "卡车公司--save time",notes="卡车公司--save time")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType     = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(name = "orderId", value = "orderId", required = true, dataType = "Long"),
+            @ApiImplicitParam(name = "time", value = "time", required = true, dataType = "String"),
+
+    })
+    @PostMapping(value = "/updateSaveTime")
+    @ResponseBody
+    public Object updateSaveTime( Long  orderId,String time){
+        TOrder tOrder = orderService.selectById(orderId);
+        Date date = DateUtil.parse(time).toJdkDate();
+        tOrder.setShipmentDate(date);
+        orderService.updateById(tOrder);
+        return new SuccessTip();
+    }
 
 
     @ApiOperation(value = "卡车公司--安排司机",notes="卡车公司--安排司机")
@@ -315,11 +363,14 @@
             List<TTransportation> list = companySelectDriverDto.getList();
             tOrder.setsDriverid(list.get(0).getDriverId());
             tOrder.setsDriverIdOne(list.get(1).getDriverId());
-            tOrder.seteDriverid(list.get(2).getDriverId());
-            tOrder.seteDriverIdOne(list.get(3).getDriverId());
+            if(companySelectDriverDto.getStreetTurn()==1){
+                tOrder.seteDriverid(list.get(2).getDriverId());
+                tOrder.seteDriverIdOne(list.get(3).getDriverId());
+            }
             tOrder.setTruckCompany(companySelectDriverDto.getTruckCompany());
             tOrder.setPickupTimeTruck(companySelectDriverDto.getPickupTime());
             tOrder.setStreetTurn(companySelectDriverDto.getStreetTurn());
+            companySelectDriverDto.getList().forEach(e->e.setOrderId(orderId));
             // 添加司机信息
             tTransportationService.insertBatch(companySelectDriverDto.getList());
             // 更改订单信息
@@ -345,17 +396,20 @@
             // 找出这个订单
             TOrder tOrder = orderService.selectById(orderId);
             List<TTransportation> list = companySelectDriverDto.getList();
+            list.forEach(e->e.setOrderId(companySelectDriverDto.getOrderId()));
             tOrder.setsDriverid(list.get(0).getDriverId());
             tOrder.setsDriverIdOne(list.get(1).getDriverId());
-            tOrder.seteDriverid(list.get(2).getDriverId());
-            tOrder.seteDriverIdOne(list.get(3).getDriverId());
+            if(companySelectDriverDto.getStreetTurn()==1){
+                tOrder.seteDriverid(list.get(2).getDriverId());
+                tOrder.seteDriverIdOne(list.get(3).getDriverId());
+            }
             tOrder.setTruckCompany(companySelectDriverDto.getTruckCompany());
             tOrder.setPickupTimeTruck(companySelectDriverDto.getPickupTime());
             tOrder.setStreetTurn(companySelectDriverDto.getStreetTurn());
             // 删除原来的司机信息
             tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId));
             // 添加新司机信息
-            tTransportationService.insertBatch(companySelectDriverDto.getList());
+            tTransportationService.insertBatch(list);
             // 更改订单信息
             orderService.updateById(tOrder);
             return new SuccessTip();
@@ -379,18 +433,19 @@
             // 找出这个订单
             TOrder tOrder = orderService.selectById(orderId);
             TTransportation list = companySelectDriverSingleDto.getList();
+            list.setOrderId(companySelectDriverSingleDto.getOrderId());
             Integer type = companySelectDriverSingleDto.getType();
             if(type==1){
-                tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId).eq("driver_id",tOrder.getsDriverid()));
+                tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId).eq("driver_id",tOrder.getsDriverid()).eq("type",1));
                 tOrder.setsDriverid(list.getDriverId());
             }else if(type==2){
-                tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId).eq("driver_id",tOrder.getsDriverIdOne()));
+                tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId).eq("driver_id",tOrder.getsDriverIdOne()).eq("type",2));
                 tOrder.setsDriverIdOne(list.getDriverId());
             }else if(type==3){
-                tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId).eq("driver_id",tOrder.geteDriverid()));
+                tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId).eq("driver_id",tOrder.geteDriverid()).eq("type",3));
                 tOrder.seteDriverid(list.getDriverId());
             }else {
-                tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId).eq("driver_id",tOrder.geteDriverIdOne()));
+                tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId).eq("driver_id",tOrder.geteDriverIdOne()).eq("type",4));
                 tOrder.seteDriverIdOne(list.getDriverId());
             }
             tTransportationService.insert(list);
@@ -422,22 +477,22 @@
             // 找出这个订单
             TOrder tOrder = orderService.selectById(orderId);
             Integer type = companyLocationDto.getType();
-            if(type==1){
-                TTransportation tTransportation = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("driver_id", tOrder.getsDriverIdOne()));
+            if(type==2){
+                TTransportation tTransportation = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("driver_id", tOrder.getsDriverIdOne()).eq("type",2));
                 if(tTransportation!=null){
                     Integer yardId = tTransportation.getYardId();
                     TYard tYard = yardService.selectById(yardId);
                     return new SuccessTip(tYard);
                 }
-            }else if(type==2){
-                TTransportation tTransportation = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("driver_id", tOrder.geteDriverid()));
+            }else if(type==3){
+                TTransportation tTransportation = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("driver_id", tOrder.geteDriverid()).eq("type",3));
                 if(tTransportation!=null) {
                     Integer yardId = tTransportation.getYardId();
                     TYard tYard = yardService.selectById(yardId);
                     return new SuccessTip(tYard);
                 }
-            }else if(type==3){
-                TTransportation tTransportation = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("driver_id", tOrder.geteDriverIdOne()));
+            }else if(type==4){
+                TTransportation tTransportation = tTransportationService.selectOne(new EntityWrapper<TTransportation>().eq("order_id", orderId).eq("driver_id", tOrder.geteDriverIdOne()).eq("type",4));
                 if(tTransportation!=null) {
                     Integer portId = tTransportation.getPortId();
                     TPort tPort = portService.selectById(portId);
@@ -529,7 +584,21 @@
             }
             record.setType(type);
         }
-        orderFilePage.setRecords(records);
+        TOrder tOrder = orderService.selectById(orderId);
+
+        if("9".equals(tOrder.getStatus()) || "18".equals(tOrder.getStatus())){
+            ArrayList<TOrderFile> tOrderFiles = new ArrayList<>();
+            TOrderFile tOrderFile = new TOrderFile();
+            tOrderFile.setName("Bill of lading.pdf");
+            tOrderFile.setId(0);
+            tOrderFile.setType("file");
+            tOrderFiles.add(tOrderFile);
+            tOrderFiles.addAll(records);
+            orderFilePage.setRecords(tOrderFiles);
+        }else {
+
+            orderFilePage.setRecords(records);
+        }
         return new SuccessTip(orderFilePage);
     }
 

--
Gitblit v1.7.1