Files
zd_servicing/servicing/src/main/java/com/za/bean/JpushBean.kt
2025-06-17 11:49:32 +08:00

338 lines
12 KiB
Kotlin

package com.za.bean
import com.blankj.utilcode.util.EncodeUtils
import com.blankj.utilcode.util.TimeUtils
import com.za.base.AppConfig
import java.io.Serializable
import java.nio.charset.StandardCharsets
data class JpushBean(
val pushType : Int? = null, //0 新任务 1 任务取消 2 任务变更
val taskId : Int? = null, //订单号 "taskId":5313005
val taskCode : String? = null, //订单编码 "taskCode":"ZD20190308009965"
val customerName : String? = null, //客户姓名 "customerName":"越继安"
val customerPhone : String? = null, //客户电话 "customerPhone":"18078815268"
val carBrand : String? = null, //车辆品牌 "carBrand":""
val carModel : String? = null, //车辆型号 "carModel":"秦"
val contract : String? = null, //车辆型号 "carModel":"秦"
val typeDesc : String? = null, //推送的附加消息 revoke 撤回 giveUp放弃 reDispatch改派
val userOrderId : Int? = null,
val carNo : String? = null, //客户车车牌号 "carNo":"粤AF53918"
val taskState : String? = null, //订单状态 "taskState":"GOTO"
val address : String? = null, //任务地址 "address":"广东省广州市白云区107国道石井凰岗路342号(白云黄石、同德围地区近庆丰兴隆公园)美景大酒店"
val addressProperty : String? = null, //任务地址类型 "addressProperty":"地面"
val hotline : String? = null, //任务地址类型 "addressProperty":"地面"
val schedulingFinalRule : Int? = null, //案件类型 0 传统案件 1 聚合派工
val addressRemark : String? = null,
val distAddress : String? = null, //目的地地址 "distAddress":"广东省广州市白云区雅岗南大道"
val distAddressRemark : String? = null,
val expectArriveTime : String? = null, //预计到达时间 "expectArriveTime":"2019-03-08 05:11:07"
val serviceTypeName : String? = null, //服务类型 "serviceTypeName":"故障--平板拖车"
val dispatchTime : String? = null, //派单时间 "dispatchTime":"2019-03-08 04:26:07"
val lat : Double? = null,
val lng : Double? = null,
val distLat : Double? = null,
val distLng : Double? = null,
val importantTip : String? = null,
val tipContent : String? = null,
val isAppoint : Int? = null, //是否是预约单 1 预约单
val appointTime : String? = null, //预约时间
val settleType : Int? = null, //结算类型 1 月结 2 现金
var orderSource : String? = null, // "orderSource":"中道救援-比亚迪道路救援项目"
val hasReplaceBatteryCapable : Int? = null, //是否有更换电瓶的能力 1 搭电可以更换电瓶 2搭电不可以更换电瓶 其他的不展示
var voiceType : Int? = null, //语音提示类型 1小修单 2拖车单 3困境单)
) : Serializable {
fun isNeedCallCustomPhone() : Boolean {
return "210" != customerPhone && "230" != customerPhone
}
}
data class NewOrderRequestBean(val vehicleId : Int? = null)
//历史订单状态
data class HistoryTaskBean(
val taskId : Int? = null, //订单号
val taskCode : String? = null, //订单编码
val userOrderId : Int? = null,
val userOrderCode : String? = null, //只有电子工单历史补传才需要传
val supplierAudit : Int? = null, //审核状态 0待补充 1 待审核 2审核不通过 3 审核通过
val supplierAuditStr : String? = null, //审核状态描述
val missingContent : String? = null, //缺失内容
val auditFailReason : String? = null, //审核失败原因
val customerName : String? = null, //客户姓名
val customerPhone : String? = null, //客户电话
val carBrand : String? = null, //车辆品牌
val carModel : String? = null, //车辆型号
val carNo : String? = null, //客户车车牌号 "
val carVin : String? = null, //客户车Vin码
val taskState : String? = null, //订单状态
val address : String? = null, //任务地址
val addressRemark : String? = null, //事发地地址补充
val addressProperty : String? = null, //任务地址类型
val lat : Double? = null,
val lng : Double? = null,
val distAddress : String? = null, //目的地地址
val distAddressRemark : String? = null, //目的地地址补充
val distLat : Double? = null,
val distLng : Double? = null,
val expectArriveTime : String? = null, //预计到达时间
val serviceTypeName : String? = null, //服务类型
val orderSource : String? = null, //
val flowType : Int? = null, //流程类型 "flowType":2
val settleType : Int? = null, //结算类型 1 月结 2 现金
val supplierId : Int? = null,
val successTime : String? = null, //完成时间 "dispatchTime":"2019-03-08 04:26:07"
val verifyType : Int? = null, //验证类型 "verifyType":1
val verifyValue : String? = null, //验证内容
val holdon : Boolean? = null, //是否被挂起 "holdon":false
val externalCode : String? = null, //流水号
val vehicleName : String? = null,
val traceIdAB : Int? = null,
val mileageAB : Int? = null,
val traceABUrl : String? = null,
val traceIdBC : Int? = null,
val mileageBC : Int? = null,
val mileageCA : Int? = null,
val traceBCUrl : String? = null,
val createTime : String? = null,
val acceptTime : String? = null,
val arriveTime : String? = null,
val arriveDestTime : String? = null,
val giveupTime : String? = null,
val giveupAddress : String? = null,
val giveupLat : Double? = null,
val giveupLng : Double? = null,
val needWaterMarker : Boolean? = null,
val needShowPhoneBrand : Boolean? = null,
val policyNo : String? = null, // 平安拖车责任险 保单号
val electronOrderState : String? = null, //电子工单状态
val hasReplaceBatteryCapable : Int? = null, //是否具有更换电瓶的能力
val hasReplaceBattery : Int = 0, //1已更换过 2有更换能力但没更换过 0无)
) : Serializable {
fun getEleOrderH5Url() : String? {
if (electronOrderState == null || electronOrderState != "3") {
return null
}
val paramQuery =
(("userOrderId=$userOrderId").toString() + "&userOrderCode=" + taskCode) + "&supplierId=" + userOrderId
return AppConfig.Resource_URL + "/electronicWorkOrder/index.html?" + EncodeUtils.base64Encode2String(
paramQuery.toByteArray(StandardCharsets.UTF_8))
}
fun getSettleTypeStr() : String {
return when (settleType) {
1 -> {
"月结"
}
2 -> {
"现金"
}
else -> {
""
}
}
}
}
data class HistoryPhotoTemplates(
/**
* 任务节点
*/
val taskStatus : Int? = null,
/**
* 图片节点名称
*/
val taskStatusString : String? = null,
/**
* 该节点下的所有历史照片信息
*/
val photoList : List<HistoryPhotoTemplateItem>? = null)
data class HistoryPhotoTemplateItem(
val photoUrl : String? = null,
val tag : String? = null,
val imageTitle : String? = null,
val lon : String? = null,
val lat : String? = null,
val sort : Int? = null,
val examplePhotoUrl : String? = null, //示例照片地址
val selectFailReasonList : List<PhotoCheckFailedBean>? = null,
val templatePhotoType : Int = 0, //1 照片 2 工单照片
val takePhotoTime : String? = null,
val takeAddress : String? = null,
val uploadStatus : String? = null,
val uploadState : Int? = 0, //0 上传中 1 上传成功 2 上传失败
) {
//获取拍照时间
fun getPhotoTakeTime(taskState : String, historyTaskBean : HistoryTaskBean?) : String? {
if (! takePhotoTime.isNullOrBlank()) {
return takePhotoTime
}
return when (taskState) {
"13001", "15001" -> historyTaskBean?.arriveTime
"17001" -> {
if (2 == historyTaskBean?.flowType) {
historyTaskBean.arriveDestTime
} else {
historyTaskBean?.arriveTime
}
}
"18001" -> {
historyTaskBean?.successTime
}
"18100" -> historyTaskBean?.giveupTime
else -> TimeUtils.getNowString()
}
}
fun getPhotoLat(taskState : String, historyTaskBean : HistoryTaskBean?) : Double? {
if (! lat.isNullOrBlank()) {
return lat.toDouble()
}
return when (taskState) {
"13001", "15001" -> historyTaskBean?.lat
"17001", "18001" -> {
if (2 == historyTaskBean?.flowType) {
historyTaskBean.distLat
} else {
historyTaskBean?.lat
}
}
"18100" -> historyTaskBean?.giveupLat
else -> null
}
}
fun getPhotoLng(taskState : String, historyTaskBean : HistoryTaskBean?) : Double? {
if (! lon.isNullOrBlank()) {
return lon.toDouble()
}
return when (taskState) {
"13001", "15001" -> historyTaskBean?.lng
"17001", "18001" -> {
if (2 == historyTaskBean?.flowType) {
historyTaskBean.distLng
} else {
historyTaskBean?.lng
}
}
"18100" -> historyTaskBean?.giveupLng
else -> null
}
}
fun getPhotoAddress(taskState : String, historyTaskBean : HistoryTaskBean?) : String? {
if (! takeAddress?.replace("[", "")?.replace("]", "").isNullOrBlank()) {
return takeAddress
}
return when (taskState) {
"13001", "15001" -> historyTaskBean?.address
"17001", "18001" -> {
if (2 == historyTaskBean?.flowType) {
historyTaskBean.distAddress
} else {
historyTaskBean?.address
}
}
"18100" -> historyTaskBean?.giveupAddress
else -> ""
}
}
}
data class PhotoCheckFailedBean(
val abbr : String? = null, //失败原因简称
val failReason : String? = null, //失败原因详情
)
data class TaskSettlementAndTraceBean(val settleMap : SettleMapBean? = null,
val traceIdAB : Int? = null,
val mileageAB : Int? = null,
val traceABUrl : String? = null,
val traceIdBC : Int? = null,
val mileageBC : Int? = null,
val mileageCA : Int? = null,
val traceBCUrl : String? = null)
data class SettleMapBean(
/*————————————子公司——————————*/
val startPrice : Int? = null, //起步价
val unitPrice : Double? = null, //每公里单价
val mileage : Int? = null, //公里数
val basePrice : Double? = null, //基本费用
val roadFee : Int? = null, //路桥费
val assistFee : Int? = null, //辅助总费用
/*———————————————供应商———————————————*/ // public Integer startMileage;//出发段公里数
// public Integer carryMileage;//背车段公里数
// public Integer backMileage;//回程段公里数
val startRoadFee : Int? = null, //出发段过境费
val carryRoadFee : Int? = null, //背车段过境费
val backRoadFee : Int? = null, //回程段过境费
val waitFee : Int? = null, //等候费
val wheelFee : Int? = null, //辅助轮费
val wheelNum : Int? = null, //辅助轮个数
val wheelPrice : Int? = null, //辅助轮单价
val dilemmaFee : Int? = null, //困境费
val basementFee : Int? = null, //其他费用
val totalFee : Double? = null, //费用总计
)
/**
* Created by zhangj on 2019/12/4.
*/
class SettleInfoRequest(
val orderId : Int? = null,
val supplierType : Int? = null,
val startMileage : Int? = null,
val carryMileage : Int? = null,
val backMileage : Int? = null,
val startRoadFee : Int? = null,
val carryRoadFee : Int? = null,
val backRoadFee : Int? = null,
val waitFee : Int? = null,
val settleType : Int? = null,
val wheelFee : Int? = null, //辅助轮费
val wheelNum : Int? = null,
val wheelPrice : Int? = null,
val dilemmaFee : Int? = null, //困境费
val basementFee : Int? = null, //其他费用
val totalFee : Double? = null, //
val startPrice : Int? = null,
val unitPrice : Double? = null,
val mileage : Int? = null,
val basePrice : Double? = null,
val assistFee : Int? = null,
val imgInfo : String? = null,
val imgPath : String? = null,
)
data class AMapTraceBean(val counts : Int? = null,
val distance : Double? = null,
val time : Long? = null,
val trid : Int? = null,
val points : List<PointsBean>? = null)
data class PointsBean(val accuracy : Double? = null,
val direction : Double? = null,
val height : Double? = null,
val locatetime : Long? = null,
val location : String? = null,
val speed : Double? = null)