Showing
6 changed files
with
495 additions
and
149 deletions
| 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 | ... | ... |
-
Please register or login to post a comment