INTERNATIONALTRANSITServiceImp.java
3.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
package com.tianbo.analysis.service.imp;
import com.tianbo.analysis.dao.INTERNATIONALTRANSITMapper;
import com.tianbo.analysis.model.CustomReception;
import com.tianbo.analysis.model.INTERNATIONALTRANSIT;
import com.tianbo.analysis.service.INTERNATIONALTRANSITService;
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/28 11:53
*/
@Service
@Slf4j
public class INTERNATIONALTRANSITServiceImp implements INTERNATIONALTRANSITService{
@Autowired
INTERNATIONALTRANSITMapper internationaltransitMapper;
@Override
public int insertRecept(CustomReception customReception) {
ShareServiceImp shareServiceImp = new ShareServiceImp();
// 发送日志 插入
CoustomAnalysisServiceImp coustomAnalysisServiceImp = new CoustomAnalysisServiceImp();
// 主单号
String awbA = customReception.getWayBillMaster();
//回执内容
String reception = customReception.getResponseText();
String flightDateStr = customReception.getFlightDate();
if (!StringUtils.isEmpty(flightDateStr)) {
Date flightDate = DateUtil.formatByyyyyMMdd(flightDateStr);
//设置主单回执、航班号、航班日期
INTERNATIONALTRANSIT inportallocate = new INTERNATIONALTRANSIT();
inportallocate.setReceiption(reception);
inportallocate.setOriginalFlightno(customReception.getFlightNo().substring(2));
inportallocate.setOriginalFlightdate(flightDate);
if (awbA!=null && awbA.length()>0){
StringBuffer stringBuffer = new StringBuffer(awbA);
stringBuffer.insert(3,"-");
awbA = stringBuffer.toString();
//设置主分单的 主单号
inportallocate.setOriginalBillno(awbA);
}
// 判断航班号 航班日期 是否为空
if (flightDate != null && customReception.getFlightNo() != null){
//处理主单格式,将海关回执的主单号58019316861,变为580-19316861
if (awbA!=null && awbA.length()>0){
//更新主单回执
int i = internationaltransitMapper.updateRECEIPTION(inportallocate);
//获取分单autoid
List<INTERNATIONALTRANSIT> arrivedmasterList = internationaltransitMapper.selectAutoIdByAwb(inportallocate);
if(!arrivedmasterList.isEmpty()){
INTERNATIONALTRANSIT departuresloading1 = arrivedmasterList.get(0);
String autoId = departuresloading1.getAutoid();
//插入sendlog记录表
log.info("即将插入日志运单号为:"+awbA+"->autoid="+autoId);
int ii =coustomAnalysisServiceImp.insertSendlog("MT8205",reception,autoId);
int iii = shareServiceImp.updateMessages(customReception);
if (i>0 && ii>0 && iii > 0){
return 1;
}
}
return 0;
}
}else {
return shareServiceImp.share("MT8205", customReception);
}
}
//未进入主分单解析 返回0 失败
return 0;
}
}