k94314517
2024-08-26 c29ce426a6ce314bc26a23cd92d226cc01825783
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
package com.doumee.dao.business.model;
 
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.utils.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.math.BigDecimal;
import java.util.Objects;
 
/**
 * 月台调度作业信息表
 * @author 江蹄蹄
 * @date 2024/06/28 10:03
 */
@Data
@ApiModel("月台调度作业信息表")
@TableName("`platform_job`")
public class PlatformJob {
 
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键", example = "1")
    @ExcelColumn(name="主键")
    private Integer id;
 
    @ApiModelProperty(value = "创建人编码", example = "1")
    @ExcelColumn(name="创建人编码")
    private Integer creator;
 
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
  
    private Date createDate;
 
    @ApiModelProperty(value = "更新人编码", example = "1")
    @ExcelColumn(name="更新人编码")
    private Integer editor;
 
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
  
    private Date editDate;
 
    @ApiModelProperty(value = "是否删除0否 1是", example = "1")
    @ExcelColumn(name="是否删除0否 1是")
    private Integer isdeleted;
 
    @ApiModelProperty(value = "名称")
    @ExcelColumn(name="名称")
    private String name;
 
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
    private String remark;
 
    @ApiModelProperty(value = "状态 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号", example = "1")
    @ExcelColumn(name="状态 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号")
    private Integer status;
 
    @ApiModelProperty(value = "排序码", example = "1")
    @ExcelColumn(name="排序码")
    private Integer sortnum;
 
    @ApiModelProperty(value = "作业单号")
    @ExcelColumn(name="作业单号")
    private String code;
 
    @ApiModelProperty(value = "作业唯一标识(承运单号)")
    @ExcelColumn(name="作业唯一标识(承运单号)")
    private String billCode;
 
    @ApiModelProperty(value = "司机编码", example = "1")
    @ExcelColumn(name="司机编码")
    private Integer driverId;
 
    @ApiModelProperty(value = "司机姓名")
    @ExcelColumn(name="司机姓名")
    private String driverName;
 
    @ApiModelProperty(value = "车牌号")
    @ExcelColumn(name="车牌号")
    private String plateNum;
 
    @ApiModelProperty(value = "司机手机号")
    @ExcelColumn(name="司机手机号")
    private String drivierPhone;
 
    @ApiModelProperty(value = "签到时间")
    @ExcelColumn(name="签到时间")
    private Date signDate;
 
    @ApiModelProperty(value = "签到方式 0app签到 1扫码签到", example = "1")
    @ExcelColumn(name="签到方式 0app签到 1扫码签到")
    private Integer singType;
 
    @ApiModelProperty(value = "签到距离(米)", example = "1")
    @ExcelColumn(name="签到距离(米)")
    private BigDecimal signDistance;
 
    @ApiModelProperty(value = "作业月台名称集合,多个使用英文逗号隔开")
    @ExcelColumn(name="作业月台名称集合,多个使用英文逗号隔开")
    private String platformNames;
 
    @ApiModelProperty(value = "作业月台编码集合,多个使用英文逗号隔开")
    @ExcelColumn(name="作业月台编码集合,多个使用英文逗号隔开")
    private String platforms;
 
    @ApiModelProperty(value = "最近分配月台编码(关联platform)", example = "1")
    @ExcelColumn(name="最近分配月台编码(关联platform)")
    private Integer platformId;
    @ApiModelProperty(value = "月台分组编码(关联platform_group)", example = "1")
    @ExcelColumn(name="月台分组编码(关联platform_group)")
    private Integer platformGroupId;
 
    @ApiModelProperty(value = "通知入园等待时间")
    @ExcelColumn(name="通知入园等待时间")
  
    private Date inwaitDate;
 
    @ApiModelProperty(value = "通知入园等待操作人编码", example = "1")
    @ExcelColumn(name="通知入园等待操作人编码")
    private Integer inwaitUserId;
 
    @ApiModelProperty(value = "叫号时间")
    @ExcelColumn(name="叫号时间")
  
    private Date callDate;
 
    @ApiModelProperty(value = "叫号人编码", example = "1")
    @ExcelColumn(name="叫号人编码")
    private Integer callUserId;
 
    @ApiModelProperty(value = "叫号备注")
    @ExcelColumn(name="叫号备注")
    private String callInfo;
 
    @ApiModelProperty(value = "开始作业时间")
    @ExcelColumn(name="开始作业时间")
    private Date startDate;
 
    @ApiModelProperty(value = "作业完成时间(最终时间)")
    @ExcelColumn(name="作业完成时间(最终时间)")
    private Date doneDate;
 
    @ApiModelProperty(value = "异常挂起时间")
    @ExcelColumn(name="异常挂起时间")
    private Date errorDate;
 
    @ApiModelProperty(value = "异常挂起人编码", example = "1")
    @ExcelColumn(name="异常挂起人编码")
    private Integer errorUserId;
 
    @ApiModelProperty(value = "异常挂起备注")
    @ExcelColumn(name="异常挂起备注")
    private String errorInfo;
 
    @ApiModelProperty(value = "月台转交时间")
    @ExcelColumn(name="月台转交时间")
    private Date transPlatformDate;
 
    @ApiModelProperty(value = "月台转交处理人", example = "1")
    @ExcelColumn(name="月台转交处理人")
    private Integer transPlatformUserId;
 
    @ApiModelProperty(value = "月台转交备注")
    @ExcelColumn(name="月台转交备注")
    private String transPlatformInfo;
 
    @ApiModelProperty(value = "车辆进厂时间")
    @ExcelColumn(name="车辆进厂时间")
    private Date inDate;
 
    @ApiModelProperty(value = "车辆离厂时间")
    @ExcelColumn(name="车辆离厂时间")
  
    private Date outDate;
 
    @ApiModelProperty(value = "离厂方式 0自动离厂 1手动离场", example = "1")
    @ExcelColumn(name="离厂方式 0自动离厂 1手动离场")
    private Integer outType;
 
    @ApiModelProperty(value = "车辆离厂下发状态 0待下发 1下发中 2下发成功 3下发失败", example = "1")
    @ExcelColumn(name="车辆离厂下发状态 0待下发 1下发中 2下发成功 3下发失败")
    private Integer outHkstatus;
 
    @ApiModelProperty(value = "车辆离厂下发时间")
    @ExcelColumn(name="车辆离厂下发时间")
  
    private Date outHkdate;
 
    @ApiModelProperty(value = "车辆离厂下发备注")
    @ExcelColumn(name="车辆离厂下发备注")
    private String outHkinfo;
 
    @ApiModelProperty(value = "车辆进厂下发状态 0待下发 1下发中 2下发成功 3下发失败", example = "1")
    @ExcelColumn(name="车辆进厂下发状态 0待下发 1下发中 2下发成功 3下发失败")
    private Integer inHkstatus;
 
    @ApiModelProperty(value = "车辆进厂下发备注")
    @ExcelColumn(name="车辆进厂下发备注")
    private String nHkinfo;
 
    @ApiModelProperty(value = "车辆进厂下发时间")
    @ExcelColumn(name="车辆进厂下发时间")
    private Date inHkdate;
 
    @ApiModelProperty(value = "作业类型 0自有车卸货 1自有车装货 2外协车卸货 3外协车装货 4市公司外协车卸货", example = "1")
    @ExcelColumn(name="作业类型 0自有车卸货 1自有车装货 2外协车卸货 3外协车装货 4市公司外协车卸货")
    private Integer type;
 
    @ApiModelProperty(value = "前车牌号")
    @ExcelColumn(name="前车牌号")
    private String carCodeFront;
 
    @ApiModelProperty(value = "后车牌号")
    @ExcelColumn(name="后车牌号")
    private String carCodeBack;
 
    @ApiModelProperty(value = "司机所属部门编码", example = "1")
    @ExcelColumn(name="司机所属部门编码")
    private Integer companyId;
 
    @ApiModelProperty(value = "司机所属部门名称路径")
    @ExcelColumn(name="司机所属部门名称路径")
    private String companyNamePath;
 
    @ApiModelProperty(value = "作废时间")
    @ExcelColumn(name="作废时间")
    private Date cancelDate;
 
    @ApiModelProperty(value = "作废处理人编码", example = "1")
    @ExcelColumn(name="作废处理人编码")
    private Integer cancelUserId;
 
    @ApiModelProperty(value = "作为处理备注")
    @ExcelColumn(name="作为处理备注")
    private String cancelInfo;
 
    @ApiModelProperty(value = "入园事由")
    @ExcelColumn(name="入园事由")
    private String reason;
 
    @ApiModelProperty(value = "合同号")
    @ExcelColumn(name="合同号")
    private String contractNum;
 
    @ApiModelProperty(value = "预计到场时间")
    @ExcelColumn(name="预计到场时间")
    private Date arriveDate;
 
    @ApiModelProperty(value = "入库类型 0整托盘 1件烟", example = "1")
    @ExcelColumn(name="入库类型 0整托盘 1件烟")
    private Integer inType;
 
    @ApiModelProperty(value = "总运输量", example = "1")
    @ExcelColumn(name="总运输量")
    private BigDecimal totalNum;
 
    @ApiModelProperty(value = "前方排队数量", example = "1")
    @TableField(exist = false)
    private Integer lineUpNum;
 
    @ApiModelProperty(value = "预计等待时间", example = "1")
    @TableField(exist = false)
    private String waitTime;
 
    @ApiModelProperty(value = "预计完成时间", example = "1")
    @TableField(exist = false)
    private String finishTimeStr;
 
    @ApiModelProperty(value = "关联月台组编码(关联platform_group表)", example = "1")
    @TableField(exist = false)
    private Integer groupId;
 
    @ApiModelProperty(value = "作业月台名称")
    @TableField(exist = false)
    private String platformName ;
 
    @ApiModelProperty(value = "距离签到点距离")
    @TableField(exist = false)
    private BigDecimal getDistance;
 
    @ApiModelProperty(value = "月台作业效率(万支/小时)", hidden = true)
    @TableField(exist = false)
    private BigDecimal workRate;
 
    @ApiModelProperty(value = "业务触发时间  时间")
    @TableField(exist = false)
    private Long optTime;
 
    @ApiModelProperty(value = "已作业时间")
    @TableField(exist = false)
    private Long workTime;
 
    @ApiModelProperty(value = "WMS任务信息")
    @TableField(exist = false)
    private  PlatformWmsJob platformWmsJob;
 
    public void dealTime(){
        if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())
                || Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())
         ){
            return;
        }
        if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
            this.setOptTime(this.getSignDate().getTime());
        }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){
            this.setOptTime(this.getInwaitDate().getTime());
        }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
            this.setOptTime(this.getCallDate().getTime());
        }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
            this.setOptTime(this.getStartDate().getTime());
        }
    }
 
}