package com.stylefeng.guns.modular.system.controller;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.crypto.SecureUtil;
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.baomidou.mybatisplus.plugins.Page;
|
import com.stylefeng.guns.core.util.ToolUtil;
|
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.PortUtil.FortyNineUtil;
|
import com.stylefeng.guns.modular.system.utils.PortUtil.SCACEnum;
|
import com.stylefeng.guns.modular.system.utils.PortUtil.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;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.math.BigDecimal;
|
import java.math.RoundingMode;
|
import java.net.FileNameMap;
|
import java.net.URLConnection;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
|
@Controller
|
@Api(tags = "订单")
|
@RequestMapping("/api/order")
|
public class OrderController {
|
|
@Autowired
|
private ITOrderService orderService;
|
|
@Autowired
|
private ITDriverService driverService;
|
|
@Autowired
|
private ITExamSiteService examSiteService;
|
|
@Autowired
|
private ITUserFeeSettingService feeSettingService;
|
|
@Autowired
|
private ITGroupService groupService;
|
|
@Autowired
|
private ITUserService itUserService;
|
|
@Autowired
|
private ITPriceService priceService;
|
|
@Autowired
|
private IUserService service;
|
|
@Autowired
|
private ITOrderLogService orderLogService;
|
|
@Autowired
|
private ITOrderFileService fileService;
|
|
@Autowired
|
private ITUserAddressService addressService;
|
|
@Autowired
|
private ITPortService portService;
|
|
@Resource
|
private ITGoodsService goodsService;
|
|
/**
|
* company 订单
|
* @param dto
|
* @return
|
*/
|
@ApiOperation(value = "卡车公司-订单列表",notes="卡车公司-订单列表")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
})
|
@PostMapping(value = "/getOrderList")
|
@ResponseBody
|
public Object getOrderList(@RequestBody OrderListDto dto) {
|
Page<OrderListVo> orderListVoPage = new Page<>(dto.getPageNumber(), dto.getPageSize());
|
List<OrderListVo> list = orderService.getOrderList(orderListVoPage,dto);
|
orderListVoPage.setRecords(list);
|
return new SuccessTip(orderListVoPage);
|
}
|
|
@ApiOperation(value = "卡车公司-订单取消",notes="卡车公司-订单取消")
|
@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"),
|
})
|
@GetMapping(value = "/cancelOrderList")
|
@ResponseBody
|
public Object cancelOrderList(Long orderId) {
|
TOrder tOrder = orderService.selectById(orderId);
|
tOrder.setStatus("16");
|
orderService.updateById(tOrder);
|
return new SuccessTip();
|
}
|
|
|
@ApiOperation(value = "商品详情",notes="商品详情")
|
@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"),
|
})
|
@GetMapping(value = "/getGoodsInfo")
|
@ResponseBody
|
public Object getGoodsInfo( Long orderId) {
|
List<GoodsInfoVo> list = orderService.getGoodsInfo(orderId);
|
return new SuccessTip(list);
|
}
|
|
@ApiOperation(value = "卡车公司-删除订单",notes="卡车公司-删除订单")
|
@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"),
|
})
|
@GetMapping(value = "/deleteOrder")
|
@ResponseBody
|
public Object deleteOrder( Long orderId) {
|
TOrder tOrder = orderService.selectById(orderId);
|
if(tOrder.getStatus().equals("16")){
|
orderService.deleteById(tOrder);
|
return new SuccessTip();
|
}else {
|
return new ErrorTip(5006,"The order status cannot be deleted");
|
}
|
}
|
|
@ApiOperation(value = "订单详情",notes="订单详情")
|
@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"),
|
})
|
@GetMapping(value = "/getOrderInfo")
|
@ResponseBody
|
public Object getOrderInfo( Long 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();
|
}
|
|
@ApiOperation(value = "获取订单司机位置",notes="获取订单司机位置")
|
@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 = "lon", value = "lon", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "lat", value = "lat", required = true, dataType = "String"),
|
})
|
@GetMapping(value = "/getLonLat")
|
@ResponseBody
|
public Object getLonLat(Long orderId){
|
// 通过司机id获取订单
|
List<Map<String,Object>> orders = orderService.getLonLat(orderId);
|
return new SuccessTip(orders);
|
}
|
|
|
@Resource
|
private TTransportationService tTransportationService;
|
|
@Resource
|
private TPowerUnitsService powerUnitsService;
|
|
@ApiOperation(value = "卡车公司-获取运输安排",notes="卡车公司-获取运输安排")
|
@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"),
|
})
|
@GetMapping(value = "/getTransportInfo")
|
@ResponseBody
|
public Object getTransportInfo(@RequestParam Long orderId) {
|
TransportInfo transportInfo = new TransportInfo();
|
ArrayList<OrderDriverInfo> orderDriverInfos = new ArrayList<>();
|
ArrayList<Integer> driverIds = new ArrayList<>();
|
TOrder tOrder = orderService.selectById(orderId);
|
TPort tPort = portService.selectById(tOrder.getPort());
|
|
// 第一个开始司机id
|
Integer sDriverid = tOrder.getsDriverid();
|
if(sDriverid!=null){
|
driverIds.add(sDriverid);
|
}
|
// 第2个开始司机id
|
Integer sDriverIdOne = tOrder.getsDriverIdOne();
|
if(sDriverIdOne!=null){
|
driverIds.add(sDriverIdOne);
|
}
|
Integer driverid = tOrder.geteDriverid();
|
if(driverid!=null){
|
driverIds.add(driverid);
|
}
|
Integer driverIdOne = tOrder.geteDriverIdOne();
|
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).orderBy("type"));
|
TerminaleDataWarpper terminalStatus =new TerminaleDataWarpper();
|
try {
|
if("LBCT".equals(tPort.getName()) || "APM".equals(tPort.getName())){
|
terminalStatus = TerminalInterfaceAcquisitionUtil.getTerminalStatus(tPort.getName(),tGoods.getContainerNumber(), FacilityCodeEnum.USLAX.getMsg());
|
}else {
|
// 去查是否存了containerid
|
if(ToolUtil.isNotEmpty(tGoods.getShipmentId()) && !"0".equals(tGoods.getShipmentId())){
|
terminalStatus = FortyNineUtil.getContainerNo(tGoods.getShipmentId(), tGoods.getContainerNumber());
|
}else {
|
|
String shippingLine = tGoods.getShippingLine();
|
SCACEnum scacEnum = SCACEnum.fromCode(shippingLine);
|
String s;
|
if(ToolUtil.isEmpty(tGoods.getTrackingId()) || "0".equals(tGoods.getTrackingId())){
|
s = FortyNineUtil.trackingRequest(tGoods.getBillNumber(), scacEnum.getDesc());
|
if(ToolUtil.isEmpty(s)){
|
s = FortyNineUtil.trackingList(tGoods.getBillNumber());
|
}
|
tGoods.setTrackingId(s);
|
goodsService.updateById(tGoods);
|
}else {
|
s = tGoods.getTrackingId();
|
}
|
String shipmentId = FortyNineUtil.getShipmentId(s);
|
if(ToolUtil.isNotEmpty(shipmentId)){
|
tGoods.setShipmentId(shipmentId);
|
goodsService.updateById(tGoods);
|
}else {
|
tGoods.setShipmentId("0");
|
tGoods.setTrackingId("0");
|
goodsService.updateById(tGoods);
|
}
|
terminalStatus = FortyNineUtil.getContainerNo(shipmentId, tGoods.getContainerNumber());
|
}
|
}
|
}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.getDriverId().equals(sDriverIdOne)&&tDriver.getType()==1){
|
orderDriverInfo.setPickUp(tDriver.getPickDate());
|
}
|
if(tDriver.getDriverId().equals(sDriverIdOne)&&tDriver.getType()==2){
|
orderDriverInfo.setPickUp(tDriver.getPickDate());
|
}
|
if(tDriver.getDriverId().equals(driverid) &&tDriver.getType()==3){
|
orderDriverInfo.setEmptyDate(tDriver.getEmptyDate());
|
}
|
if(tDriver.getDriverId().equals(driverIdOne) &&tDriver.getType()==4){
|
orderDriverInfo.setReturnDate(tDriver.getReturnDate());
|
}
|
orderDriverInfo.setContactEmail(tDriver.getEmail());
|
orderDriverInfo.setContactName(tDriver.getName());
|
orderDriverInfo.setContactPhone(tDriver.getPhone());
|
orderDriverInfo.setTPowerUnits(powerUnitsService.selectById(tDriver.getPowerUnit()));
|
orderDriverInfo.setChassiess(powerUnitsService.selectById(tDriver.getChassises()));
|
|
orderDriverInfo.setAppointmentNumber(terminalStatus.getAppointmentNumber());
|
|
orderDriverInfos.add(orderDriverInfo);
|
|
}
|
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.setAvailable(terminalStatus.getAvailability());
|
|
transportInfo.setList(orderDriverInfos);
|
Integer examSite = tOrder.getExamSite();
|
if(Objects.nonNull(examSite)){
|
TExamSite tExamSite = examSiteService.selectById(examSite);
|
transportInfo.setAddress(tExamSite.getAddress());
|
transportInfo.setContactEmail(tExamSite.getContactEmail());
|
transportInfo.setContactName(tExamSite.getContactPhone());
|
transportInfo.setExamSiteName(tExamSite.getExamSiteName());
|
transportInfo.setZipCode(tExamSite.getZipCode());
|
}
|
return new SuccessTip(transportInfo);
|
}
|
|
@ApiOperation(value = "获取费用明细",notes="获取费用明细")
|
@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"),
|
})
|
@GetMapping(value = "/getPriceInfo")
|
@ResponseBody
|
public Object getPriceInfo(Long orderId){
|
|
TOrder tOrder = orderService.selectById(orderId);
|
Integer userId = tOrder.getUserId();
|
// 获取用户所i在分组
|
TUser tUser = itUserService.selectById(userId);
|
List<TPrice> prices = priceService.selectList(new EntityWrapper<TPrice>().eq("order_id", tOrder.getId()));
|
ArrayList<PriceInfo> priceInfos = new ArrayList<>();
|
if(false){
|
TGroup tGroup = groupService.selectById(tUser.getGroupId());
|
User user = service.selectById(tGroup.getSalesId());
|
|
// 提成
|
Double commission = user.getCommission();
|
|
// 获取分组sale
|
List<TUserFeeSetting> tUserFeeSettings = feeSettingService.selectList(new EntityWrapper<TUserFeeSetting>().eq("user_id", tGroup.getSalesId()));
|
|
// 提成一个 根据价格判断
|
for (TPrice price : prices) {
|
for (TUserFeeSetting tUserFeeSetting : tUserFeeSettings) {
|
if(price.getType().equals(tUserFeeSetting.getName())){
|
PriceInfo priceInfo = new PriceInfo();
|
priceInfo.setName(price.getType());
|
priceInfo.setCustomerCost(price.getPrice());
|
if(tUserFeeSetting.getFee()!=null && tUserFeeSetting.getFee()!=0) {
|
double v = ((double) tUserFeeSetting.getFee()) / 100;
|
BigDecimal multiply = price.getPrice().multiply(new BigDecimal(v));
|
BigDecimal subtract = price.getPrice().subtract(multiply);
|
priceInfo.setCarrierCost(subtract);
|
priceInfo.setSalesProfit(new BigDecimal(commission));
|
priceInfo.setMargin(multiply.setScale(2, RoundingMode.HALF_UP));
|
}else {
|
priceInfo.setMargin(new BigDecimal(0));
|
priceInfo.setSalesProfit(new BigDecimal(commission));
|
priceInfo.setCarrierCost(price.getPrice());
|
}
|
priceInfos.add(priceInfo);
|
break;
|
}
|
}
|
}
|
}else {
|
for (TPrice price : prices) {
|
PriceInfo priceInfo = new PriceInfo();
|
priceInfo.setCarrierCost(price.getCarPrice());
|
priceInfo.setCustomerCost(price.getCarPrice());
|
priceInfo.setName(price.getType());
|
priceInfo.setSalesProfit(new BigDecimal(0));
|
priceInfo.setMargin(new BigDecimal(0));
|
priceInfos.add(priceInfo);
|
}
|
}
|
return new SuccessTip(priceInfos);
|
|
}
|
|
@ApiOperation(value = "获取订单日志",notes="获取订单日志")
|
@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 = "pageNumber", value = "pageNumber", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "int"),
|
})
|
@GetMapping(value = "/getOrderLog")
|
@ResponseBody
|
public Object getOrderLog(Long orderId,int pageNumber,int pageSize){
|
Page<TOrderLog> tOrderLogPage = new Page<>(pageNumber, pageSize);
|
Page<TOrderLog> page = orderLogService.selectPage(tOrderLogPage, new EntityWrapper<TOrderLog>().eq("order_id", orderId).orderBy("create_time",false));
|
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="卡车公司--安排司机")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
})
|
@PostMapping(value = "/selectDriver")
|
@ResponseBody
|
public Object selectDriver(@RequestBody CompanySelectDriverDto companySelectDriverDto){
|
try {
|
|
Long orderId = companySelectDriverDto.getOrderId();
|
// 找出这个订单
|
TOrder tOrder = orderService.selectById(orderId);
|
List<TTransportation> list = companySelectDriverDto.getList();
|
tOrder.setsDriverid(list.get(0).getDriverId());
|
tOrder.setsDriverIdOne(list.get(1).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());
|
// 更改订单信息
|
orderService.updateById(tOrder);
|
return new SuccessTip();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
return new ErrorTip(500,"ERROR");
|
}
|
|
|
@ApiOperation(value = "卡车公司--修改安排司机(多个)",notes="卡车公司--修改安排司机(多个)")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
})
|
@PostMapping(value = "/updateDriver")
|
@ResponseBody
|
public Object updateDriver(@RequestBody CompanySelectDriverDto companySelectDriverDto){
|
try {
|
|
Long orderId = companySelectDriverDto.getOrderId();
|
// 找出这个订单
|
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());
|
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(list);
|
// 更改订单信息
|
orderService.updateById(tOrder);
|
return new SuccessTip();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
return new ErrorTip(500,"ERROR");
|
}
|
|
|
@ApiOperation(value = "卡车公司--修改安排司机(单个)",notes="卡车公司--修改安排司机(单个)")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
})
|
@PostMapping(value = "/updateDriverSingle")
|
@ResponseBody
|
public Object updateDriverSingle(@RequestBody CompanySelectDriverSingleDto companySelectDriverSingleDto){
|
try {
|
|
Long orderId = companySelectDriverSingleDto.getOrderId();
|
// 找出这个订单
|
TOrder tOrder = orderService.selectById(orderId);
|
TTransportation list = companySelectDriverSingleDto.getList();
|
list.setOrderId(companySelectDriverSingleDto.getOrderId());
|
Integer type = companySelectDriverSingleDto.getList().getType();
|
if(type==1){
|
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()).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()).eq("type",3));
|
tOrder.seteDriverid(list.getDriverId());
|
}else {
|
tTransportationService.delete(new EntityWrapper<TTransportation>().eq("order_id",orderId).eq("driver_id",tOrder.geteDriverIdOne()).eq("type",4));
|
tOrder.seteDriverIdOne(list.getDriverId());
|
}
|
tTransportationService.insert(list);
|
// 删除原来的司机信息
|
// 更改订单信息
|
orderService.updateById(tOrder);
|
return new SuccessTip();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
return new ErrorTip(500,"ERROR");
|
}
|
|
|
@Resource
|
private TYardService yardService;
|
|
|
@ApiOperation(value = "卡车公司--点击定位(场地/码头)",notes="卡车公司--点击定位(场地/码头)")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
})
|
@PostMapping(value = "/getLocation")
|
@ResponseBody
|
public Object getLocation(@RequestBody CompanyLocationDto companyLocationDto){
|
try {
|
|
Long orderId = companyLocationDto.getOrderId();
|
// 找出这个订单
|
TOrder tOrder = orderService.selectById(orderId);
|
Integer type = companyLocationDto.getType();
|
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==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==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);
|
return new SuccessTip(tPort);
|
}
|
}
|
return new ErrorTip(5001,"not found");
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
return new ErrorTip(500,"ERROR");
|
}
|
|
|
|
@ApiOperation(value = "运输安排---选择公司司机",notes="运输安排---选择公司司机")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
@ApiImplicitParam(name = "pageNumber", value = "pageNumber", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "id", value = "当前公司id", required = true, dataType = "int"),
|
})
|
@GetMapping(value = "/getDriverSelect")
|
@ResponseBody
|
public Object getDriverSelect(int pageNumber,int pageSize,int id){
|
Page<TDriver> tDriverPage = new Page<>(pageNumber, pageSize);
|
Page<TDriver> tDriverPage1 = driverService.selectPage(tDriverPage, new EntityWrapper<TDriver>().eq("is_carriers", 1).eq("company_id", id).eq("remove", 0));
|
ArrayList<TDriverSelectVo> tDriverSelectVos = new ArrayList<>();
|
List<TDriver> records = tDriverPage1.getRecords();
|
records.forEach(e->{
|
TDriverSelectVo tDriverSelectVo = new TDriverSelectVo();
|
BeanUtil.copyProperties(e,tDriverSelectVo);
|
tDriverSelectVos.add(tDriverSelectVo);
|
});
|
Page<TDriverSelectVo> page = new Page<>();
|
BeanUtil.copyProperties(tDriverPage1,page);
|
page.setRecords(tDriverSelectVos);
|
return new SuccessTip(page);
|
}
|
|
|
|
@ApiOperation(value = "运输安排---承运商选择司机",notes="运输安排---承运商选择司机")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
@ApiImplicitParam(name = "pageNumber", value = "pageNumber", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "id", value = "承运商ud", required = true, dataType = "int"),
|
})
|
@GetMapping(value = "/getDriverSelectFromCarriers")
|
@ResponseBody
|
public Object getDriverSelectFromCarriers(int pageNumber,int pageSize,int id){
|
Page<TDriver> tDriverPage = new Page<>(pageNumber, pageSize);
|
Page<TDriver> tDriverPage1 = driverService.selectPage(tDriverPage, new EntityWrapper<TDriver>().eq("is_carriers", 2).eq("carriers_id", id).eq("remove", 0));
|
ArrayList<TDriverSelectVo> tDriverSelectVos = new ArrayList<>();
|
List<TDriver> records = tDriverPage1.getRecords();
|
records.forEach(e->{
|
TDriverSelectVo tDriverSelectVo = new TDriverSelectVo();
|
BeanUtil.copyProperties(e,tDriverSelectVo);
|
tDriverSelectVos.add(tDriverSelectVo);
|
});
|
Page<TDriverSelectVo> page = new Page<>();
|
BeanUtil.copyProperties(tDriverPage1,page);
|
page.setRecords(tDriverSelectVos);
|
return new SuccessTip(page);
|
}
|
|
@ApiOperation(value = "获取订单文件",notes="获取订单文件")
|
@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 = "pageNumber", value = "pageNumber", required = true, dataType = "int"),
|
@ApiImplicitParam(name = "pageSize", value = "pageSize", required = true, dataType = "int"),
|
})
|
@GetMapping(value = "/getOrderFile")
|
@ResponseBody
|
public Object getOrderFile(Long orderId,int pageNumber,int pageSize){
|
Page<TOrderFile> tOrderFilePage = new Page<>(pageNumber, pageSize);
|
Page<TOrderFile> orderFilePage = fileService.selectPage(tOrderFilePage, new EntityWrapper<TOrderFile>().eq("order_id", orderId).orderBy("create_time",false));
|
List<TOrderFile> records = orderFilePage.getRecords();
|
for (TOrderFile record : records) {
|
FileNameMap fileNameMap = URLConnection.getFileNameMap();
|
String contentTypeFor = fileNameMap.getContentTypeFor(record.getFile());
|
String type=null;
|
if(contentTypeFor==null){
|
type="video";
|
}else {
|
type="img";
|
}
|
record.setType(type);
|
}
|
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);
|
}
|
|
@ApiOperation(value = "添加订单文件",notes="添加订单文件")
|
@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 = "url", value = "文件链接", required = true, dataType = "String"),
|
@ApiImplicitParam(name = "name", value = "文件名称", required = true, dataType = "String"),
|
})
|
@PostMapping(value = "/addOrderFile")
|
@ResponseBody
|
public Object addOrderFile(@RequestBody AddOrderFile addOrderFile){
|
Long orderId = addOrderFile.getOrderId();
|
List<TOrderFileDto> file = addOrderFile.getFile();
|
Boolean b =false;
|
for (TOrderFileDto tOrderFileDto : file) {
|
b = orderService.addOrderFile(orderId, tOrderFileDto.getUrl(), tOrderFileDto.getDeleteUrl());
|
}
|
|
if(b){
|
return new SuccessTip();
|
}
|
return new ErrorTip(500,"ERROR");
|
}
|
|
@ApiOperation(value = "订单详情-提货单",notes="订单详情-提货单")
|
@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"),
|
})
|
@GetMapping(value = "/getOrderLading")
|
@ResponseBody
|
public Object getOrderLading(Long orderId){
|
try {
|
OrderLading orderLading = new OrderLading();
|
TOrder tOrder = orderService.selectById(orderId);
|
// 找出用户
|
TUser tUser = itUserService.selectById(tOrder.getUserId());
|
orderLading.setCustomerName(tUser.getCompanyName());
|
// 找出默认地址
|
List<TUserAddress> addresses = addressService.selectList(new EntityWrapper<TUserAddress>().eq("user_id", tUser.getId()));
|
if(addresses.size()>0){
|
for (TUserAddress address : addresses) {
|
if(address.getIsDefault()==1){
|
orderLading.setCustomerAddress(address.getAddress());
|
}
|
}
|
if(orderLading.getCustomerAddress()==null){
|
orderLading.setCustomerAddress(addresses.get(0).getAddress());
|
}
|
}
|
orderLading.setCustomerPhone(tUser.getPhone());
|
// 码头信息
|
TPort tPort = portService.selectById(tOrder.getPort());
|
orderLading.setPortAddress(tPort.getAddress());
|
orderLading.setOrderCreateTime(tOrder.getCreateTime());
|
orderLading.setShipmentDate(tOrder.getShipmentDate());
|
// 货物信息
|
TGoods tGoods = goodsService.selectList(new EntityWrapper<TGoods>().eq("order_id", orderId)).get(0);
|
orderLading.setOurRef(tGoods.getOurRef());
|
orderLading.setSb(tGoods.getSb());
|
orderLading.setPo(tGoods.getPo());
|
orderLading.setCustRef(tGoods.getCustRef());
|
orderLading.setEntry(tGoods.getEntry());
|
// 获取收货信息
|
orderLading.setEndCompanyName(tOrder.geteCompanyName());
|
orderLading.setEndCompanyAddress(tOrder.geteAddress());
|
orderLading.setEndContactName(tOrder.geteName());
|
orderLading.setEndContactPhone(tOrder.getePhone());
|
return new SuccessTip(orderLading);
|
}catch (Exception e){
|
e.printStackTrace();
|
return new ErrorTip(500,"ERROR");
|
}
|
}
|
|
|
@ApiOperation(value = "平台给用户报价/平台给卡车公司价格",notes="平台给用户报价/平台给卡车公司价格")
|
@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 = "type", value = "1平台给用户报价 2平台给卡车公司价格", required = true, dataType = "int"),
|
})
|
@GetMapping(value = "/getPriceFromPlatform")
|
@ResponseBody
|
public Object getPriceFromPlatform(Long orderId,int type){
|
HashMap<String, Object> map = new HashMap<>();
|
|
TOrder tOrder = orderService.selectById(orderId);
|
// 根据订单获取报价
|
|
map.put("invoice",tOrder.getInvoiceNumber());
|
map.put("pickUpDate",tOrder.getShipmentDate());
|
map.put("returnDate",tOrder.getOrderOkTime());
|
List<TPrice> prices = priceService.selectList(new EntityWrapper<TPrice>().eq("order_id", orderId));
|
prices.forEach(e->e.setPrice(e.getCarPrice()));
|
if(type==1){
|
map.put("price",prices);
|
}else{
|
map.put("price",prices);
|
// 找出订单用户 --> 获取销售--> 获取提成 --> 计算应给卡车公司金额
|
// Integer userId = tOrder.getUserId();
|
// TUser tUser = itUserService.selectById(userId);
|
// if(tUser.getGroupId()==null){
|
// map.put("price",prices);
|
// }else {
|
// prices.for
|
// TGroup tGroup = groupService.selectById(tUser.getGroupId());
|
// User user = service.selectById(tGroup.getSalesId());
|
// List<TUserFeeSetting> tUserFeeSettings = feeSettingService.selectList(new EntityWrapper<TUserFeeSetting>().eq("user_id", user.getId()));
|
//
|
// for (TPrice price : prices) {
|
// for (TUserFeeSetting tUserFeeSetting : tUserFeeSettings) {
|
// if(price.getType().equals(tUserFeeSetting.getName())){
|
// if(tUserFeeSetting.getFee()!=null && tUserFeeSetting.getFee()!=0) {
|
// double v = ((double) tUserFeeSetting.getFee()) / 100;
|
// BigDecimal multiply = price.getPrice().multiply(new BigDecimal(v));
|
// BigDecimal subtract = price.getPrice().subtract(multiply);
|
// price.setPrice(subtract);
|
// }else {
|
// price.setPrice(price.getPrice());
|
// }
|
// break;
|
// }
|
// }
|
// }
|
// map.put("price",prices);
|
// }
|
}
|
return new SuccessTip(map);
|
}
|
|
|
|
|
|
|
|
}
|