diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index 58bad7708..8c4758e11 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -208,8 +208,9 @@ public class EmisBaseService { customerCode = emisCustomerUser.getCustomerCode(); addresItem.setCustomerCode(customerCode); emisCustomerAddressMapper.updateEmisCustomerAddress(addresItem); + }else{ + customerCode=addresItem.getCustomerCode(); } - } emisCustomerAddressNew.setCustomerCode(customerCode); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index ed8185880..a8ea2401a 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -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 feeitemList=emisWaybillSave.getFeeitemList(); - if(!CollectionUtils.isEmpty(feeitemList)){ - for (EmisWaybillFeeitem feeItem:feeitemList) { - feeItem.setWaybillId(emisWaybillSave.getId()); - emisWaybillFeeitemMapper.insertEmisWaybillFeeitem(feeItem); - } - } - - // 插入商品信息 - if(!CollectionUtil.isEmpty(emisWaybillSave.getCargoList() )){ - List cargoList=emisWaybillSave.getCargoList(); - for (EmisWaybillCargo cargoItem:cargoList) { - cargoItem.setWaybillId(emisWaybillSave.getId()); - emisWaybillCargoMapper.insertEmisWaybillCargo(cargoItem); - } - } - - // 插入附件信息 - if(!CollectionUtil.isEmpty(emisWaybillSave.getAttachmentList() )){ - List 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 feeitemList=emisWaybillSave.getFeeitemList(); + if(!CollectionUtils.isEmpty(feeitemList)){ + for (EmisWaybillFeeitem feeItem:feeitemList) { + feeItem.setWaybillId(emisWaybillSave.getId()); + emisWaybillFeeitemMapper.insertEmisWaybillFeeitem(feeItem); + } + } + + // 插入商品信息 + if(!CollectionUtil.isEmpty(emisWaybillSave.getCargoList() )){ + List cargoList=emisWaybillSave.getCargoList(); + for (EmisWaybillCargo cargoItem:cargoList) { + cargoItem.setWaybillId(emisWaybillSave.getId()); + emisWaybillCargoMapper.insertEmisWaybillCargo(cargoItem); + } + } + + // 插入附件信息 + if(!CollectionUtil.isEmpty(emisWaybillSave.getAttachmentList() )){ + List 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