ARRIVEDMASTERServiceImp.java
5.5 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
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
package com.tianbo.analysis.service.imp;
import com.tianbo.analysis.dao.ARRIVEDMASTERMapper;
import com.tianbo.analysis.dao.ARRIVEDSECONDARYMapper;
import com.tianbo.analysis.model.ARRIVEDMASTER;
import com.tianbo.analysis.model.ARRIVEDSECONDARY;
import com.tianbo.analysis.model.CustomReception;
import com.tianbo.analysis.service.ARRIVEDMASTERService;
import com.tianbo.analysis.tools.AWBTools;
import com.tianbo.util.Date.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* @Auther: shenhl
* @Date: 2019/8/23 15:02
*/
@Service
@Slf4j
public class ARRIVEDMASTERServiceImp implements ARRIVEDMASTERService {
@Autowired
ARRIVEDMASTERMapper arrivedmasterMapper;
@Autowired
ARRIVEDSECONDARYMapper arrivedsecondaryMapper;
@Override
// 货物接收运抵主分单
public int insertRecept(CustomReception customReception) {
ShareServiceImp shareServiceImp = new ShareServiceImp();
// 发送日志 插入
CoustomAnalysisServiceImp coustomAnalysisServiceImp = new CoustomAnalysisServiceImp();
// 主单号
String awbA = customReception.getWayBillMaster();
String awbH = customReception.getWayBillSecond();
//回执内容
String reception = customReception.getResponseText();
String flightDateStr = customReception.getFlightDate();
if (!StringUtils.isEmpty(flightDateStr)) {
Date flightDate = DateUtil.formatByyyyyMMdd(flightDateStr);
// 设置 接收运抵分单 回执
ARRIVEDSECONDARY arrivedsecondary = new ARRIVEDSECONDARY();
arrivedsecondary.setReceiption(reception);
//设置主单回执、航班号、航班日期
ARRIVEDMASTER arrivedmaster = new ARRIVEDMASTER();
arrivedmaster.setReceiptinformation(reception);
//拆分航班号和承运人
String[] flightInfo = AWBTools.splitFlight(customReception.getFlightNo());
arrivedmaster.setFlightno(flightInfo[1]);
arrivedmaster.setCarrier(flightInfo[0]);
arrivedmaster.setFlightDate(flightDate);
// 判断航班号 航班日期 是否为空
if (flightDate != null && customReception.getFlightNo() != null){
//处理主单格式,将海关回执的主单号58019316861,变为580-19316861
awbA = AWBTools.awbFormat(awbA);
//设置主分单的 主单号
arrivedsecondary.setWaybillnomaster(awbA);
arrivedmaster.setWaybillnomaster(awbA);
//有分单号 更新分单回执
if(awbA!=null && !awbA.isEmpty() && awbH!=null && !awbH.isEmpty()){
//取分单号
String[] awbhArr = awbH.split("_");
String awbh = awbhArr[1];
arrivedsecondary.setWaybillnosecondary(awbh);
//更新分单回执
int i = arrivedsecondaryMapper.updateRECEIPTION(arrivedsecondary);
//获取分单autoid
List<ARRIVEDSECONDARY> arrivedsecondaryList = arrivedsecondaryMapper.selectAutoIdByawbAawbH(arrivedsecondary);
if(!arrivedsecondaryList.isEmpty()){
ARRIVEDSECONDARY arrivedSecond = arrivedsecondaryList.get(0);
String autoId = arrivedSecond.getAutoid();
//插入sendlog记录表
log.info("即将插入日志运单号为:"+awbH+"->autoid="+autoId);
int ii = coustomAnalysisServiceImp.insertSendlog("MT3201",reception,autoId);
int iii = shareServiceImp.updateMessages(customReception);
if (i>0 && ii>0 ){
return 1;
}
if ( iii > 0){
return 1;
}
}
return 0;
}
if (awbA!=null && awbA.length()>0){
//更新主单回执
int i = arrivedmasterMapper.updateRECEIPTION(arrivedmaster);
//获取分单autoid
List<ARRIVEDMASTER> arrivedmasterList = arrivedmasterMapper.selectAutoIdByAwb(arrivedmaster);
if(!arrivedmasterList.isEmpty()){
ARRIVEDMASTER originMaster = arrivedmasterList.get(0);
String autoId = originMaster.getAutoid();
//插入sendlog记录表
log.info("即将插入日志运单号为:"+awbA+"->autoid="+autoId);
int ii =coustomAnalysisServiceImp.insertSendlog("MT3201",reception,autoId);
int iii = shareServiceImp.updateMessages(customReception);
if (i>0 && ii>0){
return 1;
}
if ( iii > 0){
return 1;
}
}
return 0;
}
}else {
//从发送日志表查找发送MESSAGEID进行二次入库
return shareServiceImp.share("MT3201", customReception);
}
}
//未进入主分单解析 返回0 失败
return 0;
}
}