tao.mo

BASF接口

mt
2021年9月15日10:44:06
1 +package com.erry.iclear.dateInterface.api;
2 +
3 +import com.erry.iclear.dateInterface.api.request.Basfc;
4 +import com.erry.iclear.dateInterface.api.request.Mawb;
5 +import com.erry.iclear.dateInterface.api.response.ResultRS;
6 +import com.erry.iclear.dateInterface.entity.IClearApiLog;
7 +import com.erry.iclear.dateInterface.service.BasfService;
8 +import com.erry.iclear.dateInterface.service.IClearApiLogService;
9 +import com.erry.iclear.dateInterface.service.MawbService;
10 +import com.google.gson.Gson;
11 +import io.swagger.annotations.ApiOperation;
12 +import lombok.extern.slf4j.Slf4j;
13 +import org.springframework.beans.factory.annotation.Autowired;
14 +import org.springframework.util.StopWatch;
15 +import org.springframework.validation.annotation.Validated;
16 +import org.springframework.web.bind.annotation.*;
17 +
18 +import javax.servlet.http.HttpServletRequest;
19 +import java.util.Date;
20 +import java.util.Objects;
21 +
22 +@RestController
23 +@RequestMapping("/basf")
24 +@Slf4j
25 +public class BasfDataInterface {
26 + private Gson gson = new Gson();
27 +
28 + @Autowired
29 + private BasfService basfService;
30 +
31 + @Autowired
32 + private IClearApiLogService iClearApiLogService;
33 +
34 + @ApiOperation(value = "BASF推送运单数据", httpMethod = "POST", notes = "ex: http://192.168.1.75:8080/customs/sendMawbBasf")
35 + @PostMapping("/sendMawbBasf")
36 + @ResponseBody
37 + public ResultRS sendMawbBasf(HttpServletRequest request
38 + , @Validated @RequestBody Basfc basfc) {
39 + log.info("接收到请求数据consignmentCode:"+basfc.getConsignmentCode()+" data:" + gson.toJson(basfc));
40 + ResultRS result = new ResultRS(Boolean.FALSE,"","");
41 +
42 + if(Objects.equals(basfc,null)){
43 + result.setCode("-7");
44 + result.setMsg("请求信息不能为空");
45 + return result;
46 + }
47 + //1、保存请求信息,保存到iClear的 SQLServer
48 +
49 + StopWatch sw = new StopWatch("receice mawbBasf");
50 + sw.start("save log");
51 +
52 + String appId=(String) request.getHeader("Appid");
53 + String appKey=(String) request.getHeader("Appkey");
54 + String timeStamp=(String) request.getHeader("TimeStamp");
55 + IClearApiLog saveIClearApiLogResult = iClearApiLogService.saveIClearApiLog(iClearApiLogService.convertToIClearApiLogC(basfc,appId,appKey,new Date(Long.valueOf(timeStamp))));
56 +
57 + basfc.setAppId(appId);
58 + Mawb saveMawbBasfResult = null;
59 + if(!Objects.equals(saveIClearApiLogResult,null)){
60 + log.info("请求保存成功,msgId:"+saveIClearApiLogResult.getMsgId());
61 + basfc.setMsgId(saveIClearApiLogResult.getMsgId());
62 + basfc.getBasfcDetailList().forEach(d->{
63 + d.setMsgId(saveIClearApiLogResult.getMsgId());
64 + });
65 + saveMawbBasfResult = basfService.saveMawbBasf(basfc);
66 + if(!Objects.equals(saveMawbBasfResult,null)){
67 + log.info("请求数据运单号"+basfc.getConsignmentCode()+"保存成功,msgId:"+saveMawbBasfResult.getMsgId());
68 + }else{
69 + log.info("请求数据运单号"+basfc.getConsignmentCode()+"保存失败,msgId:"+saveMawbBasfResult.getMsgId());
70 + }
71 + }else{
72 + log.info("请求日志保存失败,consignmentCode:"+basfc.getConsignmentCode());
73 + }
74 + sw.stop();
75 +
76 +
77 + //2、TODO 校验主单
78 + /* sw.start("checkMawb");
79 + result=mawbService.checkMawb(mawb);
80 + if(!result.getSuccess()){
81 + return result;
82 + }
83 + sw.stop();*/
84 +
85 +// //3、TODO 校验子单
86 +// sw.start("checkMawbDetail");
87 +// result=mawbDetailServicel.checkMawbDetail(mawb);
88 +// if(!result.getSuccess()){
89 +// return result;
90 +// }
91 +// sw.stop();
92 +
93 +
94 + //4、保存运单到iclear中
95 + sw.start("processChmConsignment");
96 + result = chmConsignmentService.processChmConsignment(saveMawbBasfResult, timeStamp,appId);
97 + if(!result.getSuccess()){
98 + return result;
99 + }
100 + sw.stop();
101 +
102 +
103 + //5、更新日志
104 + sw.start("updateIClearApiLog");
105 + if(!Objects.equals(saveIClearApiLogResult,null)){
106 + saveIClearApiLogResult.setReceiveResult(result.getSuccess().toString());
107 + saveIClearApiLogResult.setErrorCode(result.getCode());
108 + saveIClearApiLogResult.setResponseTime(new Date());
109 + saveIClearApiLogResult.setSpendTime(sw.getTotalTimeMillis());
110 +
111 + iClearApiLogService.updateIClearApiLog(saveIClearApiLogResult);
112 + }
113 + log.info("请求数据consignmentCode:"+basfc.getConsignmentCode() +" 接收结束");
114 + sw.stop();
115 + log.info(sw.prettyPrint());
116 +
117 + //6、return result
118 + result.setSuccess(Boolean.TRUE);
119 + result.setCode("0");
120 + return result;
121 + }
122 +}
...@@ -135,95 +135,6 @@ public class CustomsDataInterface { ...@@ -135,95 +135,6 @@ public class CustomsDataInterface {
135 result.setCode("0"); 135 result.setCode("0");
136 return result; 136 return result;
137 } 137 }
138 -
139 - @ApiOperation(value = "BASF推送运单数据", httpMethod = "POST", notes = "ex: http://192.168.1.75:8080/customs/sendMawbBasf")
140 - @PostMapping("/sendMawbBasf")
141 - @ResponseBody
142 - public ResultRS sendMawbBasf(HttpServletRequest request
143 - ,@Validated @RequestBody Basfc basfc) {
144 - log.info("接收到请求数据consignmentCode:"+basfc.getConsignmentCode()+" data:" + gson.toJson(basfc));
145 - ResultRS result = new ResultRS(Boolean.FALSE,"","");
146 -
147 - if(Objects.equals(basfc,null)){
148 - result.setCode("-7");
149 - result.setMsg("请求信息不能为空");
150 - return result;
151 - }
152 - //1、保存请求信息,保存到iClear的 SQLServer
153 -
154 - StopWatch sw = new StopWatch("receice mawbBasf");
155 - sw.start("save log");
156 -
157 - String appId=(String) request.getHeader("Appid");
158 - String appKey=(String) request.getHeader("Appkey");
159 - String timeStamp=(String) request.getHeader("TimeStamp");
160 - IClearApiLog saveIClearApiLogResult = iClearApiLogService.saveIClearApiLog(iClearApiLogService.convertToIClearApiLogC(basfc,appId,appKey,new Date(Long.valueOf(timeStamp))));
161 -
162 - basfc.setAppId(appId);
163 - Mawb saveMawbBasfResult = null;
164 - if(!Objects.equals(saveIClearApiLogResult,null)){
165 - log.info("请求保存成功,msgId:"+saveIClearApiLogResult.getMsgId());
166 - basfc.setMsgId(saveIClearApiLogResult.getMsgId());
167 - basfc.getBasfcDetailList().forEach(d->{
168 - d.setMsgId(saveIClearApiLogResult.getMsgId());
169 - });
170 - saveMawbBasfResult = mawbService.saveMawbBasf(basfc);
171 - if(!Objects.equals(saveMawbBasfResult,null)){
172 - log.info("请求数据运单号"+basfc.getConsignmentCode()+"保存成功,msgId:"+saveMawbBasfResult.getMsgId());
173 - }else{
174 - log.info("请求数据运单号"+basfc.getConsignmentCode()+"保存失败,msgId:"+saveMawbBasfResult.getMsgId());
175 - }
176 - }else{
177 - log.info("请求日志保存失败,consignmentCode:"+basfc.getConsignmentCode());
178 - }
179 - sw.stop();
180 -
181 -
182 - //2、TODO 校验主单
183 - /* sw.start("checkMawb");
184 - result=mawbService.checkMawb(mawb);
185 - if(!result.getSuccess()){
186 - return result;
187 - }
188 - sw.stop();*/
189 -
190 -// //3、TODO 校验子单
191 -// sw.start("checkMawbDetail");
192 -// result=mawbDetailServicel.checkMawbDetail(mawb);
193 -// if(!result.getSuccess()){
194 -// return result;
195 -// }
196 -// sw.stop();
197 -
198 -
199 - //4、保存运单到iclear中
200 - sw.start("processChmConsignment");
201 - result = chmConsignmentService.processChmConsignment(saveMawbBasfResult, timeStamp,appId);
202 - if(!result.getSuccess()){
203 - return result;
204 - }
205 - sw.stop();
206 -
207 -
208 - //5、更新日志
209 - sw.start("updateIClearApiLog");
210 - if(!Objects.equals(saveIClearApiLogResult,null)){
211 - saveIClearApiLogResult.setReceiveResult(result.getSuccess().toString());
212 - saveIClearApiLogResult.setErrorCode(result.getCode());
213 - saveIClearApiLogResult.setResponseTime(new Date());
214 - saveIClearApiLogResult.setSpendTime(sw.getTotalTimeMillis());
215 -
216 - iClearApiLogService.updateIClearApiLog(saveIClearApiLogResult);
217 - }
218 - log.info("请求数据consignmentCode:"+basfc.getConsignmentCode() +" 接收结束");
219 - sw.stop();
220 - log.info(sw.prettyPrint());
221 -
222 - //6、return result
223 - result.setSuccess(Boolean.TRUE);
224 - result.setCode("0");
225 - return result;
226 - }
227 } 138 }
228 139
229 140
......
1 +package com.erry.iclear.dateInterface.api.request;
2 +
3 +import com.erry.iclear.dateInterface.repository.MawbAdd;
4 +import io.swagger.annotations.ApiModel;
5 +import io.swagger.annotations.ApiModelProperty;
6 +import lombok.Data;
7 +import org.hibernate.annotations.DynamicInsert;
8 +import org.hibernate.annotations.DynamicUpdate;
9 +
10 +import javax.persistence.*;
11 +import javax.validation.Valid;
12 +import javax.validation.constraints.NotBlank;
13 +import javax.validation.constraints.NotNull;
14 +import java.io.Serializable;
15 +import java.math.BigDecimal;
16 +import java.util.List;
17 +
18 +/**
19 + * @author Administrator
20 + */
21 +
22 +@ApiModel(value = "mawb", description = "主运单")
23 +@Entity
24 +@Table(name = "T_ICLEAR_API_MAWB")
25 +@DynamicInsert
26 +@DynamicUpdate
27 +@Data
28 +public class BasfMawb implements Serializable {
29 +
30 + private static final long serialVersionUID = -7092144710653831972L;
31 + @Id
32 + @GeneratedValue(strategy = GenerationType.IDENTITY)
33 + @Column(name = "Id", insertable = false, nullable = false)
34 + private Long id;
35 +
36 + @Column(name = "MSGID")
37 + private Long msgId;
38 +
39 + @ApiModelProperty(value = "用户ID", name = "AppId", example = "IDE")
40 + @Column(name = "APPID")
41 + private String AppId;
42 +
43 +
44 + @ApiModelProperty(value = "进出口标志", name = "IEFlag", example = "固定值:E")
45 + @NotBlank(message="参数ieFlag不能为空", groups = {MawbAdd.class})
46 + @Column(name = "IEFLAG")
47 + private String ieFlag;
48 +
49 + @ApiModelProperty(value = "报关类型", name = "Type", example = "固定值:EX")
50 + @NotBlank(message="参数type不能为空", groups = {MawbAdd.class})
51 + @Column(name = "TYPE")
52 + private String type;
53 +
54 + @ApiModelProperty(value = "申报单位代码", name = "agentCode", example = "固定值:1111980005")
55 + //@NotBlank(message="参数agentCode不能为空")
56 + @Column(name = "AGENTCODE")
57 + private String agentCode;
58 +
59 + @ApiModelProperty(value = "申报单位名称", name = "agentName", example = "固定值:联邦快递(中国)有限公司")
60 + //@NotBlank(message="参数agentName不能为空")
61 + @Column(name = "AGENTNAME")
62 + private String agentName;
63 +
64 + @ApiModelProperty(value = "提单号", name = "billNo", example = "固定值:有总单号则取值‘总单号_运单号‘,没有总单号则取值‘运单号‘")
65 + @NotBlank(message="参数billNo不能为空")
66 + @Column(name = "BILLNO")
67 + private String billNo;
68 +
69 + @ApiModelProperty(value = "合同号", name = "contrNo", example = "")
70 + @Column(name = "CONTRNO")
71 + private String contrNo;
72 +
73 + @ApiModelProperty(value = "主管海关(申报地海关)", name = "customMaster", example = "固定值:0101")
74 + @NotBlank(message="参数customMaster不能为空", groups = {MawbAdd.class})
75 + @Column(name = "CUSTOMMASTER")
76 + private String customMaster;
77 +
78 + @ApiModelProperty(value = "征免性质", name = "cutMode", example = "101")
79 + @NotBlank(message="参数cutMode不能为空", groups = {MawbAdd.class})
80 + @Column(name = "CUTMODE")
81 + private String cutMode;
82 +
83 + @ApiModelProperty(value = "报关/转关关系标志", name = "declTrnRel", example = "固定值:0")
84 + //@NotBlank(message="参数declTrnRel不能为空")
85 + @Column(name = "DECLTRNREL")
86 + private String declTrnRel;
87 +
88 + @ApiModelProperty(value = "经停港/指运港", name = "distinatePort", example = "ASM000")
89 + @NotBlank(message="参数distinatePort不能为空", groups = {MawbAdd.class})
90 + @Column(name = "DISTINATEPORT")
91 + private String distinatePort;
92 +
93 + @ApiModelProperty(value = "报关标志", name = "EdiId", example = "001")
94 + @NotBlank(message="参数ediId不能为空", groups = {MawbAdd.class})
95 + @Column(name = "EDIID")
96 + private String ediId;
97 +
98 + @ApiModelProperty(value = "海关编号", name = "EntryId", example = "001")
99 + @Column(name = "ENTRYID")
100 + private String entryId;
101 +
102 + @ApiModelProperty(value = "运费币制", name = "feeCurr", example = "固定值:3")
103 + @NotBlank(message="参数feeCurr不能为空", groups = {MawbAdd.class})
104 + @Column(name = "FEECURR")
105 + private String feeCurr;
106 +
107 + @ApiModelProperty(value = "运费标记", name = "feeMark", example = "99.22")
108 + @NotBlank(message="参数feeMark不能为空", groups = {MawbAdd.class})
109 + @Column(name = "FEEMARK")
110 + private String feeMark;
111 +
112 + @ApiModelProperty(value = "运费/率", name = "feeRate", example = "43.34358")
113 + @NotNull(message="参数feeRate不能为空", groups = {MawbAdd.class})
114 + @Column(name = "FEERATE")
115 + private BigDecimal feeRate;
116 +
117 + @ApiModelProperty(value = "毛重", name = "grossWet", example = "")
118 + @NotNull(message="参数grossWet不能为空", groups = {MawbAdd.class})
119 + @Column(name = "CROSSWET")
120 + private BigDecimal grossWet;
121 +
122 + @ApiModelProperty(value = "出入境关闭", name = "IEPort", example = "固定值:0101")
123 + @NotBlank(message="参数iePort不能为空", groups = {MawbAdd.class})
124 + @Column(name = "IEPORT")
125 + private String iePort;
126 +
127 + @ApiModelProperty(value = "录入人名称", name = "InputerName", example = "固定值:0101")
128 + @Column(name = "INPUTERNAME")
129 + private String inputerName;
130 +
131 + @ApiModelProperty(value = "保险费币制", name = "insurCurr", example = "MOP")
132 + @NotBlank(message="参数insurCurr不能为空", groups = {MawbAdd.class})
133 + @Column(name = "INSURCURR")
134 + private String insurCurr;
135 +
136 + @ApiModelProperty(value = "保险费标记", name = "insurMark", example = "固定值:3")
137 + @Column(name = "INSURMARK")
138 + private String insurMark;
139 +
140 + @ApiModelProperty(value = "保险费/率", name = "insurRate", example = "")
141 + @NotNull(message="参数insurRate不能为空", groups = {MawbAdd.class})
142 + @Column(name = "INSURRATE")
143 + private BigDecimal insurRate;
144 +
145 + @ApiModelProperty(value = "备案号", name = "manualNo", example = "")
146 + @Column(name = "MANUALNO")
147 + private String manualNo;
148 +
149 + @ApiModelProperty(value = "净重", name = "netWt", example = "")
150 + @NotNull(message="参数netWt不能为空", groups = {MawbAdd.class})
151 + @Column(name = "NETWT")
152 + private BigDecimal netWt;
153 +
154 + @ApiModelProperty(value = "杂费币制", name = "otherCurr", example = "")
155 + @Column(name = "OTHERCURR")
156 + private String otherCurr;
157 +
158 + @ApiModelProperty(value = "杂费/率", name = "otherRate", example = "")
159 + @Column(name = "OTHERRATE")
160 + private BigDecimal otherRate;
161 +
162 + @ApiModelProperty(value = "杂费标志", name = "otherMark", example = "")
163 + @Column(name = "OTHERMARK")
164 + private String otherMark;
165 +
166 + @ApiModelProperty(value = "消费使用/生产销售单位代码", name = "ownerCode", example = "Z321654987")
167 + @NotBlank(message="参数ownerCode不能为空", groups = {MawbAdd.class})
168 + @Column(name = "OWNERCODE")
169 + private String ownerCode;
170 +
171 + @ApiModelProperty(value = "消费使用/生产销售单位名称", name = "ownerName", example = "上海保险")
172 + @NotBlank(message="参数ownerName不能为空", groups = {MawbAdd.class})
173 + @Column(name = "OWNERNAME")
174 + private String ownerName;
175 +
176 + @ApiModelProperty(value = "件数", name = "packNo", example = "")
177 + @NotNull(message="参数packNo不能为空", groups = {MawbAdd.class})
178 + @Column(name = "PACKNO")
179 + private Integer packNo;
180 +
181 + @ApiModelProperty(value = "预录入编号", name = "preEntryId", example = "")
182 + private String preEntryId;
183 +
184 + @ApiModelProperty(value = "启运国/运抵国", name = "tradeCountry", example = "USA")
185 + @NotBlank(message="参数tradeCountry不能为空", groups = {MawbAdd.class})
186 + @Column(name = "TRADECOUNTRY")
187 + private String tradeCountry;
188 +
189 + @ApiModelProperty(value = "监管方式", name = "tradeMode", example = "0200")
190 + @NotBlank(message="参数tradeMode不能为空", groups = {MawbAdd.class})
191 + @Column(name = "TRADEMODE")
192 + private String tradeMode;
193 +
194 + @ApiModelProperty(value = "境内收发货人编号", name = "tradeCode", example = "Z321654987")
195 + @NotBlank(message="参数tradeCode不能为空")
196 + @Column(name = "TRADECODE")
197 + private String tradeCode;
198 +
199 + @ApiModelProperty(value = "运输方式代码", name = "trafMode", example = "1")
200 + @NotBlank(message="参数trafMode不能为空", groups = {MawbAdd.class})
201 + @Column(name = "TRAFMODE")
202 + private String trafMode;
203 +
204 + @ApiModelProperty(value = "境内收发货人名称", name = "tradeName", example = "上海铢怡国际货物运输代理有限公司")
205 + @NotBlank(message="参数tradeName不能为空")
206 + @Column(name = "TRADENAME")
207 + private String tradeName;
208 +
209 + @ApiModelProperty(value = "成交方式", name = "transMode", example = "2")
210 + @NotBlank(message="参数transMode不能为空", groups = {MawbAdd.class})
211 + @Column(name = "TRANSMODE")
212 + private String transMode;
213 +
214 + @ApiModelProperty(value = "包装种类", name = "wrapType", example = "22")
215 + @NotBlank(message="参数wrapType不能为空", groups = {MawbAdd.class})
216 + @Column(name = "WRAPTYPE")
217 + private String wrapType;
218 +
219 + @ApiModelProperty(value = "生产核销单位统一信用代码---报关形式类型", name = "TradeCodeScc", example = "A74125896321456987")
220 + @NotBlank(message="参数tradeCodeScc不能为空")
221 + @Column(name = "TRADECODESCC")
222 + private String tradeCodeScc;
223 +
224 + @ApiModelProperty(value = "消费使用/生产销售单位单位统一编码", name = "ownerCodeScc", example = "")
225 + @NotBlank(message="参数ownerCodeScc不能为空", groups = {MawbAdd.class})
226 + @Column(name = "OWNERCODESCC")
227 + private String ownerCodeScc;
228 +
229 + @ApiModelProperty(value = "贸易国别", name = "tradeAreaCode", example = "")
230 + @NotBlank(message="参数tradeAreaCode不能为空", groups = {MawbAdd.class})
231 + @Column(name = "TRADEAREACODE")
232 + private String tradeAreaCode;
233 +
234 + @ApiModelProperty(value = "标记及号码", name = "markNo", example = "N/M")
235 + @Column(name = "MARKNO")
236 + private String markNo;
237 +
238 + @ApiModelProperty(value = "入境口岸代码", name = "entyPortCode", example = "固定值:310302")
239 + @NotBlank(message="参数entyPortCode不能为空", groups = {MawbAdd.class})
240 + @Column(name = "ENTYPORTCODE")
241 + private String entyPortCode;
242 +
243 + @ApiModelProperty(value = "入境口岸代码", name = "goodsPlace", example = "固定值:空值")
244 + @Column(name = "GOODSPLACE")
245 + private String goodsPlace;
246 +
247 + @ApiModelProperty(value = "申报人员姓名---报关员证号", name = "declareName", example = "固定值:空值")
248 + @Column(name = "DECLARENAME")
249 + private String declareName;
250 +
251 + @ApiModelProperty(value = "境外发货人代码", name = "overseasConsignorCode", example = "")
252 + private String overseasConsignorCode;
253 +
254 + @ApiModelProperty(value = "境外收货人编码", name = "overseasConsigneeCode", example = "")
255 + @Column(name = "OVERSEASCONSIGNEECODE")
256 + private String overseasConsigneeCode;
257 +
258 + @ApiModelProperty(value = "境外收货人名称(外文)", name = "overseasConsigneeEname", example = "")
259 + @NotBlank(message="参数overseasConsigneeEname不能为空", groups = {MawbAdd.class})
260 + @Column(name = "OVERSEASCONSIGNEEENAME")
261 + private String overseasConsigneeEname;
262 +
263 + @ApiModelProperty(value = "运单ID", name = "consignmentCodeId", example = "")
264 + @Column(name = "CONSIGNMENTCODEID")
265 + private Long consignmentCodeId;
266 +
267 + @ApiModelProperty(value = "EANNo", name = "EANNo", example = "")
268 + @Column(name = "EANNO")
269 + private String EANNo;
270 +
271 + @Valid
272 + @ApiModelProperty(value = "运单明细", name = "mawbDetailList", example = "")
273 + @OneToMany(cascade = CascadeType.PERSIST)
274 + @JoinColumn(name = "mawbId")
275 + private List<MawbDetail> mawbDetailList;
276 +}
1 +package com.erry.iclear.dateInterface.repository;
2 +
3 +import com.erry.iclear.dateInterface.api.request.BasfMawb;
4 +import org.springframework.data.jpa.repository.JpaRepository;
5 +import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
6 +import org.springframework.stereotype.Repository;
7 +import org.springframework.transaction.annotation.Transactional;
8 +
9 +/**
10 + * @author Administrator
11 + */
12 +@Repository
13 +@Transactional(rollbackFor = Exception.class)
14 +public interface BasfMawbRepository extends JpaRepository<BasfMawb, Integer>, JpaSpecificationExecutor<BasfMawb> {
15 +}
1 +package com.erry.iclear.dateInterface.service;
2 +
3 +import com.erry.iclear.dateInterface.api.request.*;
4 +import com.erry.iclear.dateInterface.repository.BasfMawbRepository;
5 +import com.erry.iclear.dateInterface.util.NumberUtils;
6 +import lombok.extern.slf4j.Slf4j;
7 +import org.springframework.beans.factory.annotation.Autowired;
8 +import org.springframework.stereotype.Service;
9 +
10 +import java.util.ArrayList;
11 +import java.util.List;
12 +
13 +/**
14 + * @author Administrator
15 + */
16 +@Service
17 +@Slf4j
18 +public class BasfService {
19 + @Autowired
20 + private BasfMawbRepository basfMawbRepository;
21 +
22 + /**
23 + * 保存主单Request --basfc
24 + * @param basfc
25 + */
26 + public Mawb saveMawbBasf(Basfc basfc){
27 + Mawb result=null;
28 + try{
29 + log.info("saveMawb start>>>>>>>>>>>");
30 + //运单头部信息
31 + BasfMawb mawb = new BasfMawb();
32 + mawb.setAppId(basfc.getAppId());
33 + mawb.setMsgId(basfc.getMsgId());
34 + mawb.setConsignmentCodeId(basfc.getConsignmentId());
35 + mawb.setType(basfc.getConsType());
36 + //TODO 记录时为同一张表,用 '-->' 记录具体存放字段(方便查看,以免误解)
37 + //运单号-->提单号
38 + mawb.setBillNo(basfc.getConsignmentCode());
39 + //经营单位 --> 消费使用/生产销售单位名称
40 + mawb.setOwnerName(basfc.getOperateUnitName());
41 + //经营单位海关编码 --> 消费使用/生产销售单位代码
42 + mawb.setOwnerCode(basfc.getOperateUnitCode());
43 + //经营单位社会信用证代码 --> 消费使用/生产销售单位单位统一编码
44 + mawb.setOwnerCodeScc(basfc.getOperateSCC());
45 + //发件人 --> 境内收发货人名称
46 + mawb.setTradeName(basfc.getSender());
47 + //发件人海关编码 --> 境内收发货人编号
48 + mawb.setTradeCode(basfc.getShipperCustomsCode());
49 + //发件人社会信用证代码 --> 生产核销单位统一信用代码---报关形式类型
50 + mawb.setTradeCodeScc(basfc.getShipperSCC());
51 +
52 + mawb.setEANNo(basfc.getEANNo());
53 + //明细
54 + List<MawbDetail> mawbDetailList = new ArrayList<>();
55 + if (basfc.getBasfcDetailList().size()>0){
56 + for (BasfcDetail basfcDetail : basfc.getBasfcDetailList()){
57 + MawbDetail mawbDetail = new MawbDetail();
58 + mawbDetail.setDetailId(basfcDetail.getConsignmentDetailId());
59 + mawbDetail.setGmodel(basfcDetail.getModel());
60 + mawbDetail.setCodeTS(basfcDetail.getSkuCode());
61 + mawbDetail.setGname(basfcDetail.getSkuName());
62 + mawbDetail.setGqty(basfcDetail.getKnockdownNumber());
63 + mawbDetail.setGunit(basfcDetail.getKnockdownUnit());
64 + mawbDetail.setFirstUnit(basfcDetail.getUnitLegalFirst());
65 + mawbDetail.setFirstQty(NumberUtils.bigDecimalToIntger(basfcDetail.getQtyLegalFirst()));
66 + mawbDetail.setSecondQty(NumberUtils.bigDecimalToIntger(basfcDetail.getQtyLegalSecond()));
67 + mawbDetail.setSecondUnit(basfcDetail.getUnitLegalSecond());
68 + mawbDetail.setDeclTotal(basfcDetail.getDeclaredAmount());
69 + mawbDetail.setTradeCurr(basfcDetail.getCurrency());
70 + mawbDetail.setDeclaredWeight(basfcDetail.getDeclaredWeight());
71 + mawbDetailList.add(mawbDetail);
72 + }
73 + }
74 + mawb.setMawbDetailList(mawbDetailList);
75 + result = basfMawbRepository.save(mawb);
76 + log.info("saveMawb end>>>>>>>>>>>");
77 + }catch (Exception e){
78 + log.error("saveMawb() error:"+e.getMessage());
79 + }
80 + return result;
81 + }
82 +}
...@@ -66,66 +66,6 @@ public class MawbService { ...@@ -66,66 +66,6 @@ public class MawbService {
66 66
67 67
68 /** 68 /**
69 - * 保存主单Request --basfc
70 - * @param basfc
71 - */
72 - public Mawb saveMawbBasf(Basfc basfc){
73 - Mawb result=null;
74 - try{
75 - log.info("saveMawb start>>>>>>>>>>>");
76 - //运单头部信息
77 - Mawb mawb = new Mawb();
78 - mawb.setAppId(basfc.getAppId());
79 - mawb.setMsgId(basfc.getMsgId());
80 - mawb.setConsignmentCodeId(basfc.getConsignmentId());
81 - mawb.setType(basfc.getConsType());
82 - //TODO 记录时为同一张表,用 '-->' 记录具体存放字段(方便查看,以免误解)
83 - //运单号-->提单号
84 - mawb.setBillNo(basfc.getConsignmentCode());
85 - //经营单位 --> 消费使用/生产销售单位名称
86 - mawb.setOwnerName(basfc.getOperateUnitName());
87 - //经营单位海关编码 --> 消费使用/生产销售单位代码
88 - mawb.setOwnerCode(basfc.getOperateUnitCode());
89 - //经营单位社会信用证代码 --> 消费使用/生产销售单位单位统一编码
90 - mawb.setOwnerCodeScc(basfc.getOperateSCC());
91 - //发件人 --> 境内收发货人名称
92 - mawb.setTradeName(basfc.getSender());
93 - //发件人海关编码 --> 境内收发货人编号
94 - mawb.setTradeCode(basfc.getShipperCustomsCode());
95 - //发件人社会信用证代码 --> 生产核销单位统一信用代码---报关形式类型
96 - mawb.setTradeCodeScc(basfc.getShipperSCC());
97 -
98 - mawb.setEANNo(basfc.getEANNo());
99 - //明细
100 - List<MawbDetail> mawbDetailList = new ArrayList<>();
101 - if (basfc.getBasfcDetailList().size()>0){
102 - for (BasfcDetail basfcDetail : basfc.getBasfcDetailList()){
103 - MawbDetail mawbDetail = new MawbDetail();
104 - mawbDetail.setDetailId(basfcDetail.getConsignmentDetailId());
105 - mawbDetail.setGmodel(basfcDetail.getModel());
106 - mawbDetail.setCodeTS(basfcDetail.getSkuCode());
107 - mawbDetail.setGname(basfcDetail.getSkuName());
108 - mawbDetail.setGqty(basfcDetail.getKnockdownNumber());
109 - mawbDetail.setGunit(basfcDetail.getKnockdownUnit());
110 - mawbDetail.setFirstUnit(basfcDetail.getUnitLegalFirst());
111 - mawbDetail.setFirstQty(NumberUtils.bigDecimalToIntger(basfcDetail.getQtyLegalFirst()));
112 - mawbDetail.setSecondQty(NumberUtils.bigDecimalToIntger(basfcDetail.getQtyLegalSecond()));
113 - mawbDetail.setSecondUnit(basfcDetail.getUnitLegalSecond());
114 - mawbDetail.setDeclTotal(basfcDetail.getDeclaredAmount());
115 - mawbDetail.setTradeCurr(basfcDetail.getCurrency());
116 - mawbDetail.setDeclaredWeight(basfcDetail.getDeclaredWeight());
117 - mawbDetailList.add(mawbDetail);
118 - }
119 - }
120 - mawb.setMawbDetailList(mawbDetailList);
121 - result = mawbRepository.save(mawb);
122 - log.info("saveMawb end>>>>>>>>>>>");
123 - }catch (Exception e){
124 - log.error("saveMawb() error:"+e.getMessage());
125 - }
126 - return result;
127 - }
128 - /**
129 * 校验主单 69 * 校验主单
130 * @param mawb 70 * @param mawb
131 * @return 71 * @return
......