| | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | 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 java.math.BigDecimal; |
| | | 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 = "订单") |
| | |
| | | return new SuccessTip(); |
| | | } |
| | | |
| | | /** |
| | | * company 订单 |
| | | * @param orderId 订单id |
| | | * @return |
| | | */ |
| | | @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"), |
| | | }) |
| | | @PostMapping(value = "/affirmOne") |
| | | @ResponseBody |
| | | public Object affirmOne( Long orderId) { |
| | | TOrder tOrder = orderService.selectById(orderId); |
| | | |
| | | if(tOrder.getStatus().equals("13")){ |
| | | tOrder.setStatus("14"); |
| | | }else { |
| | | return new ErrorTip(5010,"The current status cannot be modified"); |
| | | } |
| | | orderService.updateById(tOrder); |
| | | return new SuccessTip(); |
| | | } |
| | | |
| | | |
| | | |
| | | @ApiOperation(value = "支付",notes="支付") |
| | | @ApiImplicitParams({ |
| | |
| | | } |
| | | |
| | | |
| | | @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 = "examId", value = "examId", required = true, dataType = "int"), |
| | | }) |
| | | @GetMapping(value = "/examAdd") |
| | | @ResponseBody |
| | | public Object examAdd(Long orderId,int examId) { |
| | | TOrder tOrder = orderService.selectById(orderId); |
| | | tOrder.setExamSite(examId); |
| | | 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....."), |
| | |
| | | @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 = "根据zipcode获取用户地址",notes="根据zipcode获取用户地址") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), |
| | | @ApiImplicitParam(name = "zipcode", value = "zipcode", required = true, dataType = "String"), |
| | | @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Integer"), |
| | | }) |
| | | @GetMapping(value = "/getAddressByCode") |
| | | @ResponseBody |
| | | public Object getAddressByCode( String zipcode,Integer id) { |
| | | List<TUserAddress> addresses = addressService.selectList(new EntityWrapper<TUserAddress>().eq("user_id", id).eq("zip_code", zipcode).eq("remove",0)); |
| | | return new SuccessTip(addresses); |
| | | } |
| | | @ApiOperation(value = "订单详情--修改reference numbers",notes="订单详情--修改reference numbers") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), |
| | |
| | | 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){ |
| | |
| | | if(driverIdOne!=null){ |
| | | driverIds.add(driverIdOne); |
| | | } |
| | | List<TTransportation> tTransportations = tTransportationService.selectList(new EntityWrapper<TTransportation>().eq("order_id", orderId).in("driver_id", driverIds)); |
| | | 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()); |
| | | if(tDriver.getId().equals(sDriverIdOne)&&tDriver.getType()==2){ |
| | | orderDriverInfo.setDriverId(tDriver.getDriverId()); |
| | | if(tDriver.getDriverId().equals(sDriverIdOne)&&tDriver.getType()==1){ |
| | | orderDriverInfo.setPickUp(tDriver.getPickDate()); |
| | | } |
| | | if(tDriver.getId().equals(driverid) &&tDriver.getType()==3){ |
| | | 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.getId().equals(driverIdOne) &&tDriver.getType()==4){ |
| | | if(tDriver.getDriverId().equals(driverIdOne) &&tDriver.getType()==4){ |
| | | orderDriverInfo.setReturnDate(tDriver.getReturnDate()); |
| | | } |
| | | orderDriverInfo.setContactEmail(tDriver.getEmail()); |
| | |
| | | orderDriverInfo.setChassiess(powerUnitsService.selectById(tDriver.getChassises())); |
| | | |
| | | // TODO 第三方 目前不知道对接那个 |
| | | orderDriverInfo.setAppointmentNumber(null); |
| | | 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)){ |
| | |
| | | } |
| | | 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"), |
| | | @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); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "获取费用明细",notes="获取费用明细") |
| | | @ApiImplicitParams({ |
| | |
| | | TUser tUser = itUserService.selectById(userId); |
| | | List<TPrice> prices = priceService.selectList(new EntityWrapper<TPrice>().eq("order_id", tOrder.getId())); |
| | | ArrayList<PriceInfo> priceInfos = new ArrayList<>(); |
| | | if(tUser.getGroupId()!=null){ |
| | | if(false){ |
| | | TGroup tGroup = groupService.selectById(tUser.getGroupId()); |
| | | User user = service.selectById(tGroup.getSalesId()); |
| | | |
| | |
| | | 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); |
| | | }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.getPrice()); |
| | | priceInfo.setCustomerCost(price.getPrice()); |
| | | priceInfo.setName(price.getType()); |
| | | priceInfo.setSalesProfit(new BigDecimal(0)); |
| | | priceInfo.setMargin(new BigDecimal(0)); |
| | | priceInfos.add(priceInfo); |
| | | } |
| | | } |
| | |
| | | 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....."), |
| | |
| | | // 找出这个订单 |
| | | TOrder tOrder = orderService.selectById(orderId); |
| | | TTransportation list = companySelectDriverSingleDto.getList(); |
| | | Integer type = companySelectDriverSingleDto.getType(); |
| | | 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())); |
| | | 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); |
| | |
| | | } |
| | | return new ErrorTip(500,"ERROR"); |
| | | } |
| | | |
| | | |
| | | @Resource |
| | | private TYardService yardService; |
| | |
| | | return new SuccessTip(page); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | @ApiOperation(value = "获取订单文件",notes="获取订单文件") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."), |
| | |
| | | } |
| | | record.setType(type); |
| | | } |
| | | orderFilePage.setRecords(records); |
| | | TOrder tOrder = orderService.selectById(orderId); |
| | | if(true){ |
| | | 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); |
| | | } |
| | | |
| | |
| | | try { |
| | | OrderLading orderLading = new OrderLading(); |
| | | TOrder tOrder = orderService.selectById(orderId); |
| | | |
| | | orderLading.setOrderId(tOrder.getId()); |
| | | // 找出用户 |
| | | TUser tUser = itUserService.selectById(tOrder.getUserId()); |
| | | orderLading.setCustomerName(tUser.getCompanyName()); |
| | |
| | | orderLading.setPo(tGoods.getPo()); |
| | | orderLading.setCustRef(tGoods.getCustRef()); |
| | | orderLading.setEntry(tGoods.getEntry()); |
| | | orderLading.setLbNo(tGoods.getBillNumber()); |
| | | String time =""; |
| | | if(ToolUtil.isNotEmpty(tGoods.getShipmentId()) && !"0".equals(tGoods.getShipmentId())){ |
| | | time= FortyNineUtil.getContainerNoOne(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); |
| | | } |
| | | time = FortyNineUtil.getContainerNoOne(shipmentId, tGoods.getContainerNumber()); |
| | | } |
| | | |
| | | orderLading.setEta(time); |
| | | String billNumber = tGoods.getBillNumber(); |
| | | List<TGoods> goods = goodsService.selectList(new EntityWrapper<TGoods>().eq("bill_number", billNumber)); |
| | | ArrayList<Map<String, String>> maps = new ArrayList<>(); |
| | | for (TGoods good : goods) { |
| | | HashMap<String, String> map = new HashMap<>(); |
| | | map.put("containerNo",good.getContainerNumber()); |
| | | map.put("size",good.getSize()); |
| | | map.put("weight",good.getKg()); |
| | | maps.add(map); |
| | | } |
| | | orderLading.setGoodsInfo(maps); |
| | | // 获取收货信息 |
| | | orderLading.setEndCompanyName(tOrder.geteCompanyName()); |
| | | orderLading.setEndCompanyAddress(tOrder.geteAddress()); |