md
This commit is contained in:
parent
294f08a924
commit
63f29cc881
@ -208,8 +208,9 @@ public class EmisBaseService {
|
||||
customerCode = emisCustomerUser.getCustomerCode();
|
||||
addresItem.setCustomerCode(customerCode);
|
||||
emisCustomerAddressMapper.updateEmisCustomerAddress(addresItem);
|
||||
}else{
|
||||
customerCode=addresItem.getCustomerCode();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
emisCustomerAddressNew.setCustomerCode(customerCode);
|
||||
|
||||
@ -229,159 +229,178 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
|
||||
// 新增
|
||||
if(isNew){
|
||||
|
||||
//补齐数据
|
||||
emisWaybillSave.preInsert();
|
||||
|
||||
String orderSn = WaybillHelper.genOrderSn();
|
||||
|
||||
// 订单号
|
||||
emisWaybillSave.setOrderSn(orderSn);
|
||||
|
||||
// 登记网点
|
||||
emisWaybillSave.setRegisterSiteCode(getCurrentUser().getOwnerSiteCode());
|
||||
emisWaybillSave.setRegisterManCode(getCurrentUser().getEmpCode());
|
||||
emisWaybillSave.setRegisterDate(new Date());
|
||||
|
||||
// 发件网点
|
||||
emisWaybillSave.setSendSiteCode(getCurrentUser().getOwnerSiteCode());
|
||||
emisWaybillSave.setSendSiteName(getCurrentUser().getOwnerSiteName());
|
||||
|
||||
// 派件网点
|
||||
emisWaybillSave.setDispatchSiteCode(emisWaybillSave.getDispatchUnderlingSiteCode());
|
||||
|
||||
|
||||
// 订单运单初始状态
|
||||
emisWaybillSave.setOrderStatus("0");
|
||||
emisWaybillSave.setWaybillStatus("0");
|
||||
|
||||
// 下单时间
|
||||
emisWaybillSave.setOrderDate(new Date());
|
||||
|
||||
// 订单类型为正式单
|
||||
emisWaybillSave.setOrderType("1");
|
||||
|
||||
// 保存收件地址,并产生客户编号
|
||||
String recieveCustomerCode="";
|
||||
EmisCustomerAddress recieveAddress = new EmisCustomerAddress();
|
||||
recieveAddress.setCountry(emisWaybillSave.getReceiveCountry());
|
||||
recieveAddress.setName(emisWaybillSave.getReceiveName());
|
||||
recieveAddress.setPhone(emisWaybillSave.getReceiveMobile());
|
||||
recieveAddress.setProvince(emisWaybillSave.getReceiveProvince());
|
||||
recieveAddress.setCity(emisWaybillSave.getReceiveCity());
|
||||
recieveAddress.setCounty(emisWaybillSave.getReceiveCounty());
|
||||
recieveAddress.setTown(emisWaybillSave.getReceiveTown());
|
||||
// recieveAddress.setEmail(emisWaybillSave);
|
||||
recieveAddress.setAddress(emisWaybillSave.getReceiveAddress());
|
||||
recieveAddress.setCompany(emisWaybillSave.getReceiveCompany());
|
||||
recieveAddress.setUseSiteCode(getCurrentUser().getOwnerSiteCode());
|
||||
recieveAddress.setAddressType("2");
|
||||
EmisCustomerAddress recieveAddressNew=createCustomerAddress(recieveAddress);
|
||||
recieveCustomerCode = recieveAddressNew.getCustomerCode();
|
||||
emisWaybillSave.setReceiveCustomerCode(recieveCustomerCode);
|
||||
|
||||
// 保存寄件地址并产生寄件客户编号
|
||||
String sendCustomerCode="";
|
||||
EmisCustomerAddress sendAddress = new EmisCustomerAddress();
|
||||
sendAddress.setCountry(emisWaybillSave.getSendCountry());
|
||||
sendAddress.setName(emisWaybillSave.getSendName());
|
||||
sendAddress.setPhone(emisWaybillSave.getSendMobile());
|
||||
sendAddress.setProvince(emisWaybillSave.getSendProvince());
|
||||
sendAddress.setCity(emisWaybillSave.getSendCity());
|
||||
sendAddress.setCounty(emisWaybillSave.getSendCounty());
|
||||
sendAddress.setTown(emisWaybillSave.getSendTown());
|
||||
// recieveAddress.setEmail(emisWaybillSave);
|
||||
sendAddress.setAddress(emisWaybillSave.getSendAddress());
|
||||
sendAddress.setCompany(emisWaybillSave.getSendCompany());
|
||||
sendAddress.setUseSiteCode(getCurrentUser().getOwnerSiteCode());
|
||||
sendAddress.setAddressType("1");
|
||||
EmisCustomerAddress sendAddressNew=createCustomerAddress(sendAddress);
|
||||
sendCustomerCode = sendAddressNew.getCustomerCode();
|
||||
emisWaybillSave.setCustomerCode(sendCustomerCode);
|
||||
|
||||
// 获取泡重比
|
||||
EmisTransLine emisTransLine = getTransLineByCode(emisWaybillSave.getTransLineType());
|
||||
emisWaybillSave.setMeterType(emisTransLine.getMeterRate());
|
||||
|
||||
// 时效
|
||||
EmisTransProduct emisTransProduct = getTransProductByCode(emisWaybillSave.getProductType());
|
||||
emisWaybillSave.setTimeType(emisTransProduct.getAgingDesc());
|
||||
|
||||
if(emisWaybillSave.getSendDate()==null){
|
||||
emisWaybillSave.setSendDate(new Date());
|
||||
}
|
||||
Date estDate = getEstimateDate(
|
||||
emisWaybillSave.getSendDate(),emisWaybillSave.getProductType(),
|
||||
emisWaybillSave.getSendCountry(),
|
||||
emisWaybillSave.getReceiveCountry());
|
||||
|
||||
// 预计到达时间
|
||||
log.info("预估到达时间==>"+ DateUtils.dateTime(estDate));
|
||||
emisWaybillSave.setEstimateDate(estDate);
|
||||
|
||||
// 子单号
|
||||
if("1".equals(emisWaybillSave.getBlGenSubbill()) ){
|
||||
// 子单号拼接
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for(int i=0;i<emisWaybillSave.getParcelQty().intValue();i++){
|
||||
sb.append(emisWaybillSave.getBillCode()+ StringUtils.leftPad(String.valueOf(i),4,"0")+",");
|
||||
}
|
||||
emisWaybillSave.setBillCodeSub(sb.toString());
|
||||
}
|
||||
|
||||
// 物品名称
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getGoodsInfo())){
|
||||
if(!CollectionUtils.isEmpty(emisWaybillSave.getCargoList()) ){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for(EmisWaybillCargo cargo:emisWaybillSave.getCargoList()){
|
||||
sb.append(cargo.getGoodsName()+",");
|
||||
}
|
||||
emisWaybillSave.setGoodsInfo(sb.toString());
|
||||
}
|
||||
}
|
||||
|
||||
emisWaybillMapper.insertEmisWaybill(emisWaybillSave);
|
||||
|
||||
// 产生主键插入其他数据
|
||||
// 插入费用
|
||||
List<EmisWaybillFeeitem> feeitemList=emisWaybillSave.getFeeitemList();
|
||||
if(!CollectionUtils.isEmpty(feeitemList)){
|
||||
for (EmisWaybillFeeitem feeItem:feeitemList) {
|
||||
feeItem.setWaybillId(emisWaybillSave.getId());
|
||||
emisWaybillFeeitemMapper.insertEmisWaybillFeeitem(feeItem);
|
||||
}
|
||||
}
|
||||
|
||||
// 插入商品信息
|
||||
if(!CollectionUtil.isEmpty(emisWaybillSave.getCargoList() )){
|
||||
List<EmisWaybillCargo> cargoList=emisWaybillSave.getCargoList();
|
||||
for (EmisWaybillCargo cargoItem:cargoList) {
|
||||
cargoItem.setWaybillId(emisWaybillSave.getId());
|
||||
emisWaybillCargoMapper.insertEmisWaybillCargo(cargoItem);
|
||||
}
|
||||
}
|
||||
|
||||
// 插入附件信息
|
||||
if(!CollectionUtil.isEmpty(emisWaybillSave.getAttachmentList() )){
|
||||
List<EmisWaybillAttachment> attachmentList=emisWaybillSave.getAttachmentList();
|
||||
for (EmisWaybillAttachment attachmentItem:attachmentList) {
|
||||
attachmentItem.setWaybillId(emisWaybillSave.getId());
|
||||
emisWaybillAttachmentMapper.insertEmisWaybillAttachment(attachmentItem);
|
||||
}
|
||||
}
|
||||
|
||||
addWayBill(emisWaybillSave);
|
||||
}else{
|
||||
|
||||
emisWaybillSave.setId(emisWaybillOld.getId());
|
||||
emisWaybillSave.preUpdate();
|
||||
|
||||
emisWaybillMapper.updateEmisWaybill(emisWaybillSave);
|
||||
updateWayBill(emisWaybillSave);
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 新增费用
|
||||
* @param emisWaybillSave
|
||||
*/
|
||||
private void addWayBill(EmisWaybill emisWaybillSave){
|
||||
|
||||
//补齐数据
|
||||
emisWaybillSave.preInsert();
|
||||
|
||||
String orderSn = WaybillHelper.genOrderSn();
|
||||
|
||||
// 订单号
|
||||
emisWaybillSave.setOrderSn(orderSn);
|
||||
|
||||
// 登记网点
|
||||
emisWaybillSave.setRegisterSiteCode(getCurrentUser().getOwnerSiteCode());
|
||||
emisWaybillSave.setRegisterManCode(getCurrentUser().getEmpCode());
|
||||
emisWaybillSave.setRegisterDate(new Date());
|
||||
|
||||
// 发件网点
|
||||
emisWaybillSave.setSendSiteCode(getCurrentUser().getOwnerSiteCode());
|
||||
emisWaybillSave.setSendSiteName(getCurrentUser().getOwnerSiteName());
|
||||
|
||||
// 派件网点
|
||||
emisWaybillSave.setDispatchSiteCode(emisWaybillSave.getDispatchUnderlingSiteCode());
|
||||
|
||||
|
||||
// 订单运单初始状态
|
||||
emisWaybillSave.setOrderStatus("0");
|
||||
emisWaybillSave.setWaybillStatus("0");
|
||||
|
||||
// 下单时间
|
||||
emisWaybillSave.setOrderDate(new Date());
|
||||
|
||||
// 订单类型为正式单
|
||||
emisWaybillSave.setOrderType("1");
|
||||
|
||||
// 保存收件地址,并产生客户编号
|
||||
String recieveCustomerCode="";
|
||||
EmisCustomerAddress recieveAddress = new EmisCustomerAddress();
|
||||
recieveAddress.setCountry(emisWaybillSave.getReceiveCountry());
|
||||
recieveAddress.setName(emisWaybillSave.getReceiveName());
|
||||
recieveAddress.setPhone(emisWaybillSave.getReceiveMobile());
|
||||
recieveAddress.setProvince(emisWaybillSave.getReceiveProvince());
|
||||
recieveAddress.setCity(emisWaybillSave.getReceiveCity());
|
||||
recieveAddress.setCounty(emisWaybillSave.getReceiveCounty());
|
||||
recieveAddress.setTown(emisWaybillSave.getReceiveTown());
|
||||
// recieveAddress.setEmail(emisWaybillSave);
|
||||
recieveAddress.setAddress(emisWaybillSave.getReceiveAddress());
|
||||
recieveAddress.setCompany(emisWaybillSave.getReceiveCompany());
|
||||
recieveAddress.setUseSiteCode(getCurrentUser().getOwnerSiteCode());
|
||||
recieveAddress.setAddressType("2");
|
||||
EmisCustomerAddress recieveAddressNew=createCustomerAddress(recieveAddress);
|
||||
recieveCustomerCode = recieveAddressNew.getCustomerCode();
|
||||
emisWaybillSave.setReceiveCustomerCode(recieveCustomerCode);
|
||||
|
||||
// 保存寄件地址并产生寄件客户编号
|
||||
String sendCustomerCode="";
|
||||
EmisCustomerAddress sendAddress = new EmisCustomerAddress();
|
||||
sendAddress.setCountry(emisWaybillSave.getSendCountry());
|
||||
sendAddress.setName(emisWaybillSave.getSendName());
|
||||
sendAddress.setPhone(emisWaybillSave.getSendMobile());
|
||||
sendAddress.setProvince(emisWaybillSave.getSendProvince());
|
||||
sendAddress.setCity(emisWaybillSave.getSendCity());
|
||||
sendAddress.setCounty(emisWaybillSave.getSendCounty());
|
||||
sendAddress.setTown(emisWaybillSave.getSendTown());
|
||||
// recieveAddress.setEmail(emisWaybillSave);
|
||||
sendAddress.setAddress(emisWaybillSave.getSendAddress());
|
||||
sendAddress.setCompany(emisWaybillSave.getSendCompany());
|
||||
sendAddress.setUseSiteCode(getCurrentUser().getOwnerSiteCode());
|
||||
sendAddress.setAddressType("1");
|
||||
EmisCustomerAddress sendAddressNew=createCustomerAddress(sendAddress);
|
||||
|
||||
sendCustomerCode = sendAddressNew.getCustomerCode();
|
||||
emisWaybillSave.setCustomerCode(sendCustomerCode);
|
||||
|
||||
// 获取泡重比
|
||||
EmisTransLine emisTransLine = getTransLineByCode(emisWaybillSave.getTransLineType());
|
||||
emisWaybillSave.setMeterType(emisTransLine.getMeterRate());
|
||||
|
||||
// 时效
|
||||
EmisTransProduct emisTransProduct = getTransProductByCode(emisWaybillSave.getProductType());
|
||||
emisWaybillSave.setTimeType(emisTransProduct.getAgingDesc());
|
||||
|
||||
if(emisWaybillSave.getSendDate()==null){
|
||||
emisWaybillSave.setSendDate(new Date());
|
||||
}
|
||||
Date estDate = getEstimateDate(
|
||||
emisWaybillSave.getSendDate(),emisWaybillSave.getProductType(),
|
||||
emisWaybillSave.getSendCountry(),
|
||||
emisWaybillSave.getReceiveCountry());
|
||||
|
||||
// 预计到达时间
|
||||
log.info("预估到达时间==>"+ DateUtils.dateTime(estDate));
|
||||
emisWaybillSave.setEstimateDate(estDate);
|
||||
|
||||
// 子单号
|
||||
if("1".equals(emisWaybillSave.getBlGenSubbill()) ){
|
||||
// 子单号拼接
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for(int i=0;i<emisWaybillSave.getParcelQty().intValue();i++){
|
||||
sb.append(emisWaybillSave.getBillCode()+ StringUtils.leftPad(String.valueOf(i),4,"0")+",");
|
||||
}
|
||||
emisWaybillSave.setBillCodeSub(sb.toString());
|
||||
}
|
||||
|
||||
// 物品名称
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getGoodsInfo())){
|
||||
if(!CollectionUtils.isEmpty(emisWaybillSave.getCargoList()) ){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for(EmisWaybillCargo cargo:emisWaybillSave.getCargoList()){
|
||||
sb.append(cargo.getGoodsName()+",");
|
||||
}
|
||||
emisWaybillSave.setGoodsInfo(sb.toString());
|
||||
}
|
||||
}
|
||||
|
||||
emisWaybillMapper.insertEmisWaybill(emisWaybillSave);
|
||||
|
||||
// 产生主键插入其他数据
|
||||
// 插入费用
|
||||
List<EmisWaybillFeeitem> feeitemList=emisWaybillSave.getFeeitemList();
|
||||
if(!CollectionUtils.isEmpty(feeitemList)){
|
||||
for (EmisWaybillFeeitem feeItem:feeitemList) {
|
||||
feeItem.setWaybillId(emisWaybillSave.getId());
|
||||
emisWaybillFeeitemMapper.insertEmisWaybillFeeitem(feeItem);
|
||||
}
|
||||
}
|
||||
|
||||
// 插入商品信息
|
||||
if(!CollectionUtil.isEmpty(emisWaybillSave.getCargoList() )){
|
||||
List<EmisWaybillCargo> cargoList=emisWaybillSave.getCargoList();
|
||||
for (EmisWaybillCargo cargoItem:cargoList) {
|
||||
cargoItem.setWaybillId(emisWaybillSave.getId());
|
||||
emisWaybillCargoMapper.insertEmisWaybillCargo(cargoItem);
|
||||
}
|
||||
}
|
||||
|
||||
// 插入附件信息
|
||||
if(!CollectionUtil.isEmpty(emisWaybillSave.getAttachmentList() )){
|
||||
List<EmisWaybillAttachment> attachmentList=emisWaybillSave.getAttachmentList();
|
||||
for (EmisWaybillAttachment attachmentItem:attachmentList) {
|
||||
attachmentItem.setWaybillId(emisWaybillSave.getId());
|
||||
emisWaybillAttachmentMapper.insertEmisWaybillAttachment(attachmentItem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void updateWayBill(EmisWaybill emisWaybillSave){
|
||||
emisWaybillSave.preUpdate();
|
||||
|
||||
// 基础信息更新
|
||||
emisWaybillMapper.updateEmisWaybill(emisWaybillSave);
|
||||
|
||||
// 更新资费
|
||||
|
||||
// 更新产品
|
||||
|
||||
// 更新附件
|
||||
}
|
||||
|
||||
/**
|
||||
* 运单费用计算接口
|
||||
* @param emisWaybill
|
||||
|
||||
Loading…
Reference in New Issue
Block a user