liukangdong
2024-09-26 dca4aae965647cf8411931ed44d7cdfff92e386f
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
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
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 已过号  12取消(WMS)" , example = "1")
    @ExcelColumn(name="状态 0待确认 1待签到 2等待叫号 3入园等待 4已叫号 5作业中 6作业完成 7转移中 8异常挂起 9已授权离园 10已离园 11 已过号  12取消(WMS)")
    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扫码签到 2后台签到", example = "1")
    @ExcelColumn(name="签到方式 0app签到 1扫码签到 2后台签到")
    private Integer singType;
    @ApiModelProperty(value = "通知WMS作业绑定月台时间")
    @ExcelColumn(name="通知WMS作业绑定月台时间")
    private Date wmsSendDate;
    @ApiModelProperty(value = "通知WMS作业绑定月台状态 0待通知 1通知成功 2通知失败", example = "1")
    @ExcelColumn(name="通知WMS作业绑定月台状态 0待通知 1通知成功 2通知失败")
    private Integer wmsSendStatus;
    @ApiModelProperty(value = "通知WMS作业绑定月台編碼", example = "1")
    @ExcelColumn(name="通知WMS作业绑定月台編碼")
    private String wmsSendPlatformCode;
    @ApiModelProperty(value = "通知WMS作业绑定月台备注", example = "1")
    @ExcelColumn(name="通知WMS作业绑定月台备注")
    private String wmsSendInfo;
    @ApiModelProperty(value = "通知WMS作业绑定月台次数", example = "1")
    @ExcelColumn(name="通知WMS作业绑定月台次数")
    private Integer wmsSendNum;
 
    @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 = "离场下发操作人", example = "1")
    @ExcelColumn(name="离场下发操作人")
    private Integer outUserId;
 
 
    @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 = "确认任务时间")
    @ExcelColumn(name="确认任务时间")
    private Date confirmTaskDate;
 
    @ApiModelProperty(value = "最新叫号时间")
    @TableField(exist = false)
    private Date newCallDate;
 
    @ApiModelProperty(value = "最新开始作业时间")
    @TableField(exist = false)
    private Date newStartDate;
 
    @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 = "作业月台名称")
    @TableField(exist = false)
    private String platformName ;
 
    @ApiModelProperty(value = "WMS任务时间")
    @TableField(exist = false)
    private String ioCreatedate;
 
    @ApiModelProperty(value = "离场下发操作人名称", example = "1")
    @TableField(exist = false)
    private String outUserName;
 
    @ApiModelProperty(value = "wms业务主键")
    @TableField(exist = false)
    private Integer wmsId ;
 
    @ApiModelProperty(value = "月台组类型:0安泰物流装货 1安泰物流卸货 2市公司卸货")
    @TableField(exist = false)
    private Integer groupType ;
 
    @ApiModelProperty(value = "承运商")
    @TableField(exist = false)
    private String carrierName ;
 
    @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;
 
    @ApiModelProperty(value = "收货地(目的地)")
    @TableField(exist = false)
    private String repertotyAddress;
    @ApiModelProperty(value = "wms月台编号")
    @TableField(exist = false)
    private String platformWmsCode;
 
    @ApiModelProperty(value = "叫号类型:1=叫号入园 ; 2=月台叫号 ; 3=排队情况", example = "1")
    @TableField(exist = false)
    private Integer callType;
 
    @ApiModelProperty(value = "作业类型 0=安泰物流车任务;1=市公司车", example = "1")
    @TableField(exist = false)
    private Integer jobType;
 
    @ApiModelProperty(value = "开始作业时间起")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date beginWorkDateStart;
 
    @ApiModelProperty(value = "开始作业时间止")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date beginWorkDateEnd;
 
 
    @ApiModelProperty(value = "创建时间起")
    @TableField(exist = false)
    private Date createDateStart;
 
    @ApiModelProperty(value = "创建时间止")
    @TableField(exist = false)
    private Date createDateEnd;
 
    @ApiModelProperty(value = "月台组名称")
    @TableField(exist = false)
    private String platformGroupName ;
 
    @ApiModelProperty(value = "月台工作时长" ,hidden = true)
    @TableField(exist = false)
    private BigDecimal workTimes ;
 
 
 
    @ApiModelProperty(value = "多状态查询 多个以,分割")
    @TableField(exist = false)
    private String queryStatus;
 
    @ApiModelProperty(value = "电子锁状态:0=未上锁 1=不分上锁 2=全部上锁")
    @TableField(exist = false)
    private Integer  lockStatus;
 
    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());
        }
    }
 
}