INTERNATIONALTRANSITServiceImp.java
2.9 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
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.analysis.model.NmmsBase;
import com.tianbo.analysis.tools.AWBTools;
import com.tianbo.util.Date.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Auther: shenhl
* @Date: 2019/8/28 11:53
*/
@Service
@Slf4j
@Async
public class INTERNATIONALTRANSITServiceImp extends NmmsBase implements INTERNATIONALTRANSITService{
@Autowired
INTERNATIONALTRANSITMapper internationaltransitMapper;
@Override
public int insertRecept(CustomReception customReception){
super.insertRecept(customReception);
log.info("开始解析:运单号 {} 回执类型:{} ",customReception.getImportWaybillMaster(),customReception.getMessageType());
return master();
}
@Override
public int master() {
//设置主单回执、航班号、航班日期
INTERNATIONALTRANSIT inportallocate = new INTERNATIONALTRANSIT();
inportallocate.setReceiption(customReception.getResponseText());
String[] flightInfo = AWBTools.splitFlight(customReception.getImportFlightNo());
inportallocate.setOriginalFlightno(flightInfo[1]);
inportallocate.setOriginalCarrier(flightInfo[0]);
inportallocate.setOriginalFlightdate(DateUtil.formatByyyyyMMdd(customReception.getImportFlightDate()));
//设置主分单的 主单号
inportallocate.setOriginalBillno(AWBTools.awbFormat(customReception.getImportWaybillMaster()));
inportallocate.setStatus(AWBTools.transCusRspCode(customReception.getResponseCode()));
//更新主单回执
int i = internationaltransitMapper.updateRECEIPTION(inportallocate);
//获取分单autoid
List<INTERNATIONALTRANSIT> internationaltransits = internationaltransitMapper.selectAutoIdByAwb(inportallocate);
if(!internationaltransits.isEmpty()){
INTERNATIONALTRANSIT internationaltransit = internationaltransits.get(0);
String autoId = internationaltransit.getAutoid();
//插入sendlog记录表
log.info("即将插入日志运单号为:"+awbA+"->autoid="+autoId);
int ii =coustomAnalysisServiceImp.insertSendlog("MT8205",reception,autoId);
int iii = shareServiceImp.updateMessages(customReception);
if (i>0 && ii>0){
log.info("运单号 {} 国际转运回执更新成功",customReception.getImportWaybillMaster());
return 1;
}
if (iii > 0){
return 1;
}
}
return 0;
}
}