package com.doumee.service.business.third.model; import com.doumee.core.utils.Constants; import org.apache.commons.lang3.StringUtils; import java.util.List; public class TMSContants { public interface InterfacePath { String[] getSevenArrivalStatus = new String[]{"/tms/zhyt/getSevenArrivalStatus", "【TMS】近7日到货情况"};//TMS近7日到货情况接口地址 String[] getCurrentTransportationTask = new String[]{ "【TMS】/zhyt/getCurrentTransportationTask", "【TMS】当前运输任务"};//TMS当前运输任务接口地址 String[] getDistributionOfDeliveryLocations = new String[]{"/tms/zhyt/getDistributionOfDeliveryLocations", "【TMS】全国到货地分布查询查询"};//TMS全国到货地分布查询查询接口地址 String[] getRealTimeInventory = new String[]{"/tms/zhyt/getRealTimeInventory", "【TMS】实时库存查询"};//TMS实时库存查询接口地址 String[] getInboundOutbound = new String[]{"/tms/zhyt/getInboundOutbound", "【TMS】出入库记录查询"};//TMS出入库记录查询接口地址 String[] getIntransitDetails = new String[]{"/tms/zhyt/getIntransitDetails", "【TMS】在途明细列表"};//TMS在途明细列表接口地址 String[] getOrderList = new String[]{"/tms/zhyt/getOrderList", "【TMS】合同列表查询"};//TMS合同列表查询接口地址 String[] getTotalAndReportVehicleQty = new String[]{"/tms/zhyt/getTotalAndReportVehicleQty", "【TMS】查询5个厂的运力资源利用情况。"};//查询5个厂的运力资源利用情况。 String[] getElecByContractNumberList = new String[]{"/tms/zhyt/getElecByContractNumberList", "【TMS】合同上锁状态"};//TMS合同上锁状态接口地址 String[] getOrderDetailByContractNumber = new String[]{"/tms/zhyt/getOrderDetailByContractNumber", "【TMS】合同详情"};//TMS合同详情接口地址 String[] getGis = new String[]{"/tms/zhyt/getGis", "【TMS】根据运输单号查询gis轨"};//TMS根据运输单号查询gis轨接口地址 String[] getOrderStatusByContractNumber = new String[]{"/tms/zhyt/getOrderStatusByContractNumber", "【TMS】单生命周期"};//3.8订单生命周期 String[] getOutQtyAndVehicleQty = new String[]{"/tms/zhyt/getOutQtyAndVehicleQty", "【TMS】指定时间范围内累计出库量"};//3.8指定时间范围内累计出库量 String[] getSevenArrivalStatusAndDetails = new String[]{"/tms/zhyt/getSevenArrivalStatusAndDetails", "【TMS】近7日到货情况(含明细)"};//3.13近7日到货情况(含明细) String[] getNotFinishOrderList = new String[]{"/tms/zhyt/getNotFinishOrderList", "【TMS】未完成订单"};//3.13未完成订单 String[] getOutboundCapability = new String[]{"/tms/zhyt/getOutboundCapability", "【TMS】出库能力统计"};//3.14出库能力统计 String[] getDriverTaskList = new String[]{"/tms/zhyt/getDriverTaskList", "【TMS】查询司机所有代办任务。"};//3.15查询司机所有代办任务。 String[] getDriverTaskDetail = new String[]{"/tms/zhyt/getDriverTaskDetail", "【TMS】司机待办任务详情。"};//3.16司机待办任务详情。 String[] driverStart = new String[]{"/tms/zhyt/driverStartAndArrival", "【TMS】司机启运。"};//3.17司机启运 String[] driverArrival = new String[]{"/tms/zhyt/driverStartAndArrival", "【TMS】司机到货。"};//3.18司机到货 String[] getEmployeeList = new String[]{"/tms/zhyt/getEmployeeList", "【TMS】营销人员信息实时查询。"};//3.19营销人员信息实时查询 } public enum TopStatusLevel { /** * 订单生成 * 运单配载中 * 仓库出库中 * 车辆运输中 * 已到货 * 已入库 */ ddsc(0,"订单生成",new Integer[]{ChildStatusLevel.create.getOrderStatus() ,ChildStatusLevel.kcbz.getOrderStatus()}), ydpzz (1,"运输任务生成",new Integer[]{ChildStatusLevel.ysdxc.getOrderStatus() ,ChildStatusLevel.ysdcx.getOrderStatus() ,ChildStatusLevel.shtg.getOrderStatus() ,ChildStatusLevel.shwtg.getOrderStatus()}), ckckz (2,"仓库出库",new Integer[]{ChildStatusLevel.ddzhddzs.getOrderStatus() ,ChildStatusLevel.sqzyzwc.getOrderStatus() ,ChildStatusLevel.clqddzs.getOrderStatus()}), clysz(3, "车辆运输",new Integer[]{ChildStatusLevel.clqdapp.getOrderStatus()}), ydh(4,"已到货",new Integer[]{ChildStatusLevel.ddzhd.getOrderStatus()}), yrk (5,"已入库",new Integer[]{ChildStatusLevel.ddxhd.getOrderStatus()}); // 成员变量 private int key; private Integer[] chileIndexList ; private String name; // 构造方法 TopStatusLevel(int key, String name, Integer[] chileIndexList) { this.key = key; this.chileIndexList = chileIndexList; this.name = name; } public static String getNameByKey(Integer key ) { if(key == null){ return null; } for (TopStatusLevel c : TopStatusLevel.values()) { if (c.getKey() == key) { return c.getName(); } } return null; } public int getKey() { return key; } public void setKey(int key) { this.key = key; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer[] getChileIndexList() { return chileIndexList; } public void setChileIndexList(Integer[] chileIndexList) { this.chileIndexList = chileIndexList; } } public interface StatusCode{ /** * 1-准运证 * 2-电子锁汽运 * 3-电子锁非汽运 * 4-GIS * 5-APP * 6-人工更新 */ int zyz =1; int dzsqy =2; int dzsfqy =3; int gis =4; int app =5; int rggx =6; } public enum ChildStatusLevel { /** 订单生成(发货仓库联系电话:0551-63451234) 0 订单生成(发货仓库联系电话:0551-63451234) 运输单形成 1 运输单形成 运输单撤销(原因:XXX) -2 运输单撤销(原因:XXX) 运输单审核未通过 -1 运输单审核未通过 运输单审核通过 2 运输单审核通过 运输单确认 运输单确认 到达装货地-电子锁汽运 3 车辆已到达装货地 车辆启运-电子锁汽运 4 车辆装货完成,电子锁已上锁 车辆启运-APP 4 车辆运输中 到达卸货地-APP 5 车辆已到达卸货地 到达卸货地-电子锁汽运 5 电子锁已解锁,运输任务已完成 */ create(0,0, 0,"订单生成",null), ysdxc(1,1,1, "运输单形成",null), ysdcx(2, -2,1,"运输单撤销",null ), shtg(3,-1, 1,"运输单审核未通过",null ), shwtg(4, 2,1,"运输单审核通过",null), sqzyzwc(5,6, 1,"申请准运证完成","车辆准运证申请完成" ), ddzhddzs(6,3,2,"到达装货地-电子锁汽运","车辆已到达装货地" ), clqddzs(7, 4,2,"车辆启运-电子锁汽运","车辆已启运" ), clqdapp(8, 7,3,"车辆启运-APP","车辆运输中" ), kcbz(11, 9,0,"待生产","当前订单库存不足,待生产" ), ddzhd(9, 8,4,"到达卸货地-APP","车辆已到达卸货地" ), ddxhd(10, 5,5,"到达卸货地-电子锁汽运","电子锁已解锁,运输任务已完成" ), ; // 成员变量 private Integer key; private Integer orderStatus; private Integer parentIndex; private String name; private String info; // 构造方法 ChildStatusLevel(Integer key,Integer orderStatus,Integer parentIndex, String name,String info ) { this.key = key; this.info = info; this.name = name; this.orderStatus = orderStatus; this.parentIndex = parentIndex; } public static Integer getParentIndexByStatus(Integer orderStatus) { if(orderStatus == null){ return null; } for (ChildStatusLevel c : ChildStatusLevel.values()) { if (c.getOrderStatus() == orderStatus) { return c.parentIndex; } } return null; } public static String getInfo(int orderStatus,String defualt) { for (ChildStatusLevel c : ChildStatusLevel.values()) { if (c.getOrderStatus() == orderStatus) { return StringUtils.defaultString(c.getInfo(),StringUtils.defaultString(defualt,c.getName())); } } return null; } public int getKey() { return key; } public void setKey(int key) { this.key = key; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } public int getOrderStatus() { return orderStatus; } public void setOrderStatus(int orderStatus) { this.orderStatus = orderStatus; } public int getParentIndex() { return parentIndex; } public void setParentIndex(int parentIndex) { this.parentIndex = parentIndex; } } }