StationBlocker.java
2.48 KB
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
package com.huaheng.pc.sap.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.pc.config.station.service.StationService;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/***
* @author tongzonghao
*
*/
@Service
public class StationBlocker implements IStationBlocker {
@Resource
private TaskHeaderService taskHeaderService;
@Override
public boolean isBlock(String stationCode, String passport) {
Integer internalTaskType = null;
switch (passport){
case "IN":
internalTaskType = QuantityConstant.TASK_INTENERTYPE_SHIPMENT;
switch (stationCode){
case "P6031":
stationCode = "P6032";
break;
case "P6034":
stationCode = "P6035";
break;
case "P6037":
stationCode = "P6038";
break;
default:
}
break;
case "OUT":
internalTaskType = QuantityConstant.TASK_INTENERTYPE_RECEIPT;
switch (stationCode){
case "P6032":
stationCode = "P6031";
break;
case "P6035":
stationCode = "P6034";
break;
case "P6038":
stationCode = "P6037";
break;
default:
}
break;
default:
}
LambdaQueryWrapper<TaskHeader> taskQueryWrapper = Wrappers.lambdaQuery();
taskQueryWrapper.eq(TaskHeader::getInternalTaskType, internalTaskType)
.eq(TaskHeader::getPort, stationCode)
.lt(TaskHeader::getStatus,QuantityConstant.TASK_STATUS_COMPLETED);
IPage page = taskHeaderService.page(new Page(1, 1, false), taskQueryWrapper);
return page.getRecords().size() > 0;
}
}