md
This commit is contained in:
parent
37379b4a3a
commit
68bf50aab6
@ -367,13 +367,12 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
|
||||
// 货物名称必填
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getGoodsInfo())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "货物描述不能为空");
|
||||
// throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1, "货物描述不能为空");
|
||||
}
|
||||
|
||||
// 运费必填
|
||||
if(emisWaybillSave.getFreight() == null || (
|
||||
emisWaybillSave.getFreight()!=null && emisWaybillSave.getFreight().compareTo(BigDecimal.ZERO)==0 ) ){
|
||||
|
||||
}
|
||||
|
||||
// 货值必填
|
||||
@ -488,14 +487,16 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
// 派送方式
|
||||
String dispatchMethod=DictUtils.getDictValue("emis_tab_dispatch_mode",emisWaybillSave.getDispatchMethod());
|
||||
if(dispatchMethod==null){
|
||||
emisWaybillSave.setDispatchMethod("1");
|
||||
dispatchMethod="1";
|
||||
}
|
||||
emisWaybillSave.setDispatchMethod(dispatchMethod);
|
||||
|
||||
// 付款方式
|
||||
String paymentType=DictUtils.getDictValue("emis_payment_type",emisWaybillSave.getPaymentType());
|
||||
if(paymentType==null){
|
||||
emisWaybillSave.setPaymentType("1");
|
||||
paymentType="1";
|
||||
}
|
||||
emisWaybillSave.setPaymentType(paymentType);
|
||||
|
||||
|
||||
// 月结方式获取月结客户的编码和名称
|
||||
@ -515,7 +516,6 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
emisWaybillSave.setPayee(emisCustomerUser.getPayee());
|
||||
emisWaybillSave.setSalesmen(emisCustomerUser.getSalesmen());
|
||||
|
||||
|
||||
}else{
|
||||
emisWaybillSave.setCustNo(null);
|
||||
// 判断现金的回款联系人和销售联系人
|
||||
@ -549,6 +549,11 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
emisWaybillSave.setDestinationCode(destination.getDestCode());
|
||||
emisWaybillSave.setDispatchUnderlingSiteCode(destination.getSiteCode());
|
||||
|
||||
// 正式开单
|
||||
emisWaybillSave.setOrderType("1");
|
||||
|
||||
// 如果填写了运费则使用按重量计费模式
|
||||
emisWaybillSave.setCalcFeeType("1");
|
||||
|
||||
try {
|
||||
// 计算体积重量
|
||||
@ -562,8 +567,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
log.error("===api下单模式,计费错误:",ex.getMessage());
|
||||
}
|
||||
|
||||
// 如果填写了运费则使用一口价模式
|
||||
emisWaybillSave.setCalcFeeType("1");
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -644,7 +648,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
|
||||
// oms 计算发件网点
|
||||
if(isOms){
|
||||
// 计算目的地
|
||||
// 模拟计算发件地
|
||||
EmisDestination sendDestination=calcSendSiteByBase(sendCountryCode,transLine.getLineCode(),sendProviceCode,sendCityCode,sendDistrictCode,emisWaybillSave.getSendAddress());
|
||||
if(sendDestination==null){
|
||||
throw new EmisBizError(EmisBizErrorType.NOT_EXISTS, "寄件地址不在服务区");
|
||||
@ -1501,6 +1505,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 计算运单公共信息
|
||||
* @param emisWaybillSave
|
||||
@ -1881,6 +1886,383 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* api下单填充
|
||||
* @param emisWaybillSave
|
||||
* @param isNew
|
||||
* @throws EmisBizError
|
||||
*/
|
||||
private void calcWayBillCommonInfoByApi(EmisWaybill emisWaybillSave,boolean isNew) throws EmisBizError {
|
||||
|
||||
String orderSn = WaybillHelper.genOrderSn();
|
||||
|
||||
// 订单号
|
||||
if(isNew) {
|
||||
emisWaybillSave.setOrderSn(orderSn);
|
||||
}
|
||||
|
||||
|
||||
if( StringUtils.isAnyEmpty(
|
||||
emisWaybillSave.getTransLineType(),
|
||||
emisWaybillSave.getProductType()
|
||||
)
|
||||
) {
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"线路、产品必填");
|
||||
}
|
||||
|
||||
|
||||
// 检查数据
|
||||
if(emisWaybillSave.getFreight()==null || emisWaybillSave.getFreight().floatValue()<=0.0f){
|
||||
// throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"运费必须大于0");
|
||||
}
|
||||
|
||||
|
||||
if(emisWaybillSave.getBillWeight()==null || emisWaybillSave.getBillWeight().floatValue()<=0.0f){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"实重必须大于0");
|
||||
}
|
||||
|
||||
if(emisWaybillSave.getTotalVolume()==null || emisWaybillSave.getTotalVolume().floatValue()<=0.0f){
|
||||
// throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"体积必须大于0");
|
||||
}
|
||||
|
||||
if(emisWaybillSave.getSettlementWeight()==null || emisWaybillSave.getSettlementWeight().floatValue()<=0.0f){
|
||||
// throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"结算重量必须大于0");
|
||||
}
|
||||
|
||||
if(emisWaybillSave.getVolumeWeight()==null || emisWaybillSave.getVolumeWeight().floatValue()<=0.0f){
|
||||
// throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"体积重量必须大于0");
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getPickupMethod())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"取件方式必填");
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getDispatchMethod())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"派送方式必填");
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getCustomsEclaration())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"报关方式必填");
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getCustomsClear())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"清关方式必填");
|
||||
}
|
||||
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getPaymentType())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"支付方式必填");
|
||||
}
|
||||
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getCalcFeeType())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"计费方式必填");
|
||||
}
|
||||
|
||||
// 发件网点
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getSendSiteCode())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"寄件网点必填");
|
||||
}
|
||||
|
||||
// 寄件地址
|
||||
if(StringUtils.isAnyEmpty(
|
||||
emisWaybillSave.getSendCountry(),
|
||||
emisWaybillSave.getSendName(),
|
||||
emisWaybillSave.getSendMobile(),
|
||||
emisWaybillSave.getSendProvince(),
|
||||
emisWaybillSave.getSendAddress()
|
||||
)
|
||||
){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"寄件人信息不完整检查名称, 电话,国家,省份,地址必填");
|
||||
}
|
||||
|
||||
// 收件地址
|
||||
if(StringUtils.isAnyEmpty(
|
||||
emisWaybillSave.getReceiveCountry(),
|
||||
emisWaybillSave.getReceiveName(),
|
||||
emisWaybillSave.getReceiveMobile(),
|
||||
emisWaybillSave.getReceiveProvince(),
|
||||
emisWaybillSave.getReceiveAddress()
|
||||
)
|
||||
|
||||
){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"收件人信息不完整,名称, 电话,国家,省份,地址必填");
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getPackType())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"包装类型必填");
|
||||
}
|
||||
|
||||
// 目的网点
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getDispatchUnderlingSiteCode())){
|
||||
throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"目的网点必填");
|
||||
}
|
||||
|
||||
if(isNew) {
|
||||
if( emisWaybillSave.getSendDate()==null ){
|
||||
emisWaybillSave.setSendDate(new Date());
|
||||
// throw new EmisBizError(EmisBizErrorType.PARAM_ERROR1,"发件日期必填");
|
||||
}
|
||||
}
|
||||
|
||||
// 判断网点余额-运单金额 是否足够,如果不够则不允许下单
|
||||
EmisSiteAccount emisSiteAccount = getSiteAccountBySiteCode(emisWaybillSave.getSendSiteCode());
|
||||
if (emisSiteAccount == null) {
|
||||
// throw new EmisBizError(EmisBizErrorType.FAIL, "网点结算账户不存在,请先开结算账户");
|
||||
}
|
||||
|
||||
BigDecimal curMoney = emisSiteAccount.getCurMoney();
|
||||
BigDecimal closeMoney = emisSiteAccount.getCloseMoney();
|
||||
|
||||
BigDecimal newCurMoney = curMoney.subtract(emisWaybillSave.getFreight());
|
||||
if (newCurMoney.compareTo(closeMoney) == -1) {
|
||||
// throw new EmisBizError(EmisBizErrorType.FAIL, "网点余额不足,请充值");
|
||||
}
|
||||
|
||||
// --------------------------
|
||||
// 登记网点
|
||||
if(isNew) {
|
||||
emisWaybillSave.setRegisterSiteCode("88888");
|
||||
emisWaybillSave.setRegisterManCode("1");
|
||||
emisWaybillSave.setRegisterDate(new Date());
|
||||
}
|
||||
|
||||
if(isNew) {
|
||||
emisWaybillSave.setDataFrom("api");
|
||||
}
|
||||
|
||||
|
||||
// 寄件网点财务中心
|
||||
if(isNew) {
|
||||
EmisSite sendSite = getSiteByCode(emisWaybillSave.getSendSiteCode());
|
||||
if (sendSite != null) {
|
||||
emisWaybillSave.setSendCenterCode(sendSite.getParentSiteCode());
|
||||
}
|
||||
}
|
||||
|
||||
// 订单运单初始状态 订单为已接单,运单未初始,待揽收
|
||||
if(isNew) {
|
||||
emisWaybillSave.setOrderStatus("1");
|
||||
emisWaybillSave.setWaybillStatus("0");
|
||||
}
|
||||
|
||||
// 计算三段码 目的网点2字码+目的地名称
|
||||
String destSite3Code = "";
|
||||
EmisSite destSite=getSiteByCode(emisWaybillSave.getDispatchUnderlingSiteCode());
|
||||
if(destSite!=null){
|
||||
destSite3Code=destSite.getSizeCode2();
|
||||
// 目的网点财务中心
|
||||
emisWaybillSave.setDestinationCenterCode(destSite.getParentSiteCode());
|
||||
}
|
||||
|
||||
// 初始 派件网点=目的网点
|
||||
emisWaybillSave.setDispatchSiteCode(emisWaybillSave.getDispatchUnderlingSiteName());
|
||||
|
||||
// 目的地名称
|
||||
EmisDestination destination=getDestinationByCode(emisWaybillSave.getDestinationCode());
|
||||
String destName="";
|
||||
if(destination!=null){
|
||||
destName=destination.getDestName();
|
||||
}
|
||||
String thirdCode="["+emisWaybillSave.getSendSiteName()+'-'+destName+"]["+destSite3Code+"]";
|
||||
emisWaybillSave.setThirdCode(thirdCode);
|
||||
|
||||
// 下单时间
|
||||
if(isNew) {
|
||||
emisWaybillSave.setOrderDate(emisWaybillSave.getSendDate());
|
||||
}
|
||||
|
||||
// 订单类型为正式单,系统开单
|
||||
if(isNew) {
|
||||
emisWaybillSave.setOrderType("1");
|
||||
}
|
||||
|
||||
// 发件地址
|
||||
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(emisWaybillSave.getSendSiteCode());
|
||||
sendAddress.setAddressType("1");
|
||||
|
||||
|
||||
// 收件地址
|
||||
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(emisWaybillSave.getSendSiteCode());
|
||||
recieveAddress.setAddressType("2");
|
||||
|
||||
// 计算单据归属
|
||||
String customerCode=null;
|
||||
String customerName=null;
|
||||
|
||||
// 通过电话判断客户是否存在
|
||||
String sendPhone=getCompletePhone(sendAddress.getPhone());
|
||||
EmisCustomerUser emisCustomerUser=getCustomerUserByPhone(sendPhone);
|
||||
if(emisCustomerUser!=null){
|
||||
customerCode=emisCustomerUser.getCustomerCode();
|
||||
customerName=emisCustomerUser.getCustomerName();
|
||||
}else{
|
||||
// 先创建客户
|
||||
EmisCustomerUser newEmisCustomerUser = new EmisCustomerUser();
|
||||
newEmisCustomerUser.setCustomerName(sendAddress.getName());
|
||||
newEmisCustomerUser.setCountry(sendAddress.getCountry());
|
||||
newEmisCustomerUser.setPhone(sendPhone);
|
||||
newEmisCustomerUser.setProvince(sendAddress.getProvince());
|
||||
newEmisCustomerUser.setCity(sendAddress.getCity());
|
||||
newEmisCustomerUser.setCounty(sendAddress.getCounty());
|
||||
newEmisCustomerUser.setTown(sendAddress.getTown());
|
||||
newEmisCustomerUser.setEmail(sendAddress.getEmail());
|
||||
newEmisCustomerUser.setAddress(sendAddress.getAddress());
|
||||
newEmisCustomerUser.setCompany(sendAddress.getCompany());
|
||||
newEmisCustomerUser.setCustomerType("1");
|
||||
newEmisCustomerUser.setSettledType("1");
|
||||
newEmisCustomerUser.setUserType("1");
|
||||
|
||||
newEmisCustomerUser.setBlOpenOms("0");
|
||||
newEmisCustomerUser.setRemark("开单自动生成的现金用户");
|
||||
|
||||
newEmisCustomerUser.setSalesmen(emisWaybillSave.getSalesmen());
|
||||
newEmisCustomerUser.setPayee(emisWaybillSave.getPayee());
|
||||
|
||||
// 预置主归属网点
|
||||
newEmisCustomerUser.setOwnerSite(emisWaybillSave.getSendSiteCode());
|
||||
EmisCustomerUser newUser=createCustomerUser(newEmisCustomerUser);
|
||||
|
||||
customerCode = newUser.getCustomerCode();
|
||||
customerName = newUser.getCustomerName();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 月结客户直接根据月结编号获取客户编码和名称
|
||||
if("2".equals(emisWaybillSave.getPaymentType())
|
||||
|| "4".equals(emisWaybillSave.getPaymentType())
|
||||
|| "5".equals(emisWaybillSave.getPaymentType())
|
||||
|
||||
){
|
||||
EmisCustomerUser emisMonthCustomerUser=getCustomerUserByMonthlyPayCode(emisWaybillSave.getCustNo());
|
||||
if(emisMonthCustomerUser==null){
|
||||
throw new EmisBizError(EmisBizErrorType.FAIL,"月结客户不存在");
|
||||
}
|
||||
emisWaybillSave.setCustName(emisMonthCustomerUser.getCustName());
|
||||
emisWaybillSave.setPayee(emisMonthCustomerUser.getPayee());
|
||||
emisWaybillSave.setSalesmen(emisMonthCustomerUser.getSalesmen());
|
||||
}
|
||||
|
||||
// 保存客户收件、寄件地址,开单不要关联客户地址数据
|
||||
sendAddress.setCustomerCode(customerCode);
|
||||
recieveAddress.setCustomerCode(customerCode);
|
||||
createCustomerAddress(sendAddress);
|
||||
createCustomerAddress(recieveAddress);
|
||||
|
||||
emisWaybillSave.setCustomerCode(customerCode);
|
||||
emisWaybillSave.setCustomerName(customerName);
|
||||
|
||||
// 获取泡重比
|
||||
EmisTransLine emisTransLine = getTransLineByCode(emisWaybillSave.getTransLineType());
|
||||
emisWaybillSave.setMeterType(emisTransLine.getMeterRate());
|
||||
|
||||
// 计算标准运费
|
||||
List<EmisWaybillFeeitem> feeitemList=emisWaybillSave.getFeeitemList();
|
||||
BigDecimal totalRealFee = BigDecimal.ZERO;
|
||||
if(!CollectionUtils.isEmpty(feeitemList)){
|
||||
for (EmisWaybillFeeitem feeItem:feeitemList) {
|
||||
|
||||
BigDecimal realFee = feeItem.getFee();
|
||||
// 汇率计算
|
||||
if( !StringUtils.isEmpty(feeItem.getCurrency()) ){
|
||||
EmisExchangeRate emisExchangeRate=emisExchangeRateMapper.getValidExchangeRate(feeItem.getCurrency(),"CNY");
|
||||
|
||||
if(emisExchangeRate!=null){
|
||||
BigDecimal rate=BigDecimal.valueOf(Double.valueOf(emisExchangeRate.getRate()));
|
||||
realFee=realFee.multiply(rate);
|
||||
realFee=realFee.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
// 汇率查不到的情况就不计算
|
||||
else{
|
||||
// realFee=BigDecimal.ZERO;
|
||||
}
|
||||
}
|
||||
|
||||
totalRealFee=totalRealFee.add(realFee);
|
||||
}
|
||||
|
||||
totalRealFee=totalRealFee.setScale(2,BigDecimal.ROUND_HALF_UP);
|
||||
emisWaybillSave.setRealFee(totalRealFee);
|
||||
}
|
||||
|
||||
// 时效
|
||||
EmisTransProduct emisTransProduct = getTransProductByCode(emisWaybillSave.getProductType());
|
||||
emisWaybillSave.setTimeType(emisTransProduct.getAgingDesc());
|
||||
|
||||
if(isNew && emisWaybillSave.getSendDate()==null){
|
||||
emisWaybillSave.setSendDate(new Date());
|
||||
}
|
||||
|
||||
// 开单当天不算时效
|
||||
Date estDate = getEstimateDate(
|
||||
emisWaybillSave.getSendDate(),emisWaybillSave.getProductType(),
|
||||
emisWaybillSave.getSendCountry(),
|
||||
emisWaybillSave.getReceiveCountry(),0);
|
||||
|
||||
// 预计到达时间
|
||||
log.info("预估到达时间==>"+ DateUtils.dateTime(estDate));
|
||||
emisWaybillSave.setEstimateDate(estDate);
|
||||
|
||||
// 子单号
|
||||
if("1".equals(emisWaybillSave.getBlGenSubbill()) ){
|
||||
// 子单号拼接
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for(int i=1;i<=emisWaybillSave.getParcelQty().intValue();i++){
|
||||
sb.append(emisWaybillSave.getBillCode()+ StringUtils.leftPad(String.valueOf(i),4,"0")+",");
|
||||
}
|
||||
emisWaybillSave.setBillCodeSub(sb.toString());
|
||||
}
|
||||
|
||||
// 允许清除的信息
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getFeeRemark())){
|
||||
emisWaybillSave.setFeeRemark(" ");
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getRemark())){
|
||||
emisWaybillSave.setRemark(" ");
|
||||
}
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getReceiveCity())){
|
||||
emisWaybillSave.setReceiveCity(" ");
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getReceiveCounty())){
|
||||
emisWaybillSave.setReceiveCounty(" ");
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getSendCity())){
|
||||
emisWaybillSave.setSendCity(" ");
|
||||
}
|
||||
if(StringUtils.isEmpty(emisWaybillSave.getSendCounty())){
|
||||
emisWaybillSave.setSendCounty(" ");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2087,11 +2469,27 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
private void addNewWaybillByApi(EmisWaybill emisWaybillSave) throws EmisBizError {
|
||||
|
||||
// 公共计算部分
|
||||
calcWayBillCommonInfoByOms(emisWaybillSave,true);
|
||||
calcWayBillCommonInfoByApi(emisWaybillSave,true);
|
||||
|
||||
// 插入运单数据
|
||||
emisWaybillMapper.insertEmisWaybill(emisWaybillSave);
|
||||
|
||||
|
||||
// 绑定专属业务员
|
||||
String bindEmpCode=emisWaybillSave.getTakePieceEmployeeCode();
|
||||
if(StringUtils.isEmpty(bindEmpCode)){
|
||||
bindEmpCode=emisWaybillSave.getOperateEmployeeCode();
|
||||
}
|
||||
String customerCode=emisWaybillSave.getCustomerCode();
|
||||
|
||||
if(!StringUtils.isEmpty(bindEmpCode)&&!StringUtils.isEmpty(customerCode)) {
|
||||
bindSalesmen(bindEmpCode,customerCode);
|
||||
}
|
||||
|
||||
|
||||
// 扣减子单
|
||||
emisElectronicSitePagService.realMatchSubBill(emisWaybillSave.getSendSiteCode(),"T7080",emisWaybillSave.getParcelQty());
|
||||
|
||||
// 产生主键插入其他数据
|
||||
// 插入费用
|
||||
List<EmisWaybillFeeitem> feeitemList=emisWaybillSave.getFeeitemList();
|
||||
@ -2101,6 +2499,34 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
|
||||
emisWaybillFeeitemMapper.insertEmisWaybillFeeitem(feeItem);
|
||||
}
|
||||
}
|
||||
|
||||
// 插入揽收记录
|
||||
ScanInfo scanInfo = new ScanInfo();
|
||||
List<Map<String,Object>> scanDataList = new ArrayList<>();
|
||||
scanInfo.setOpType(2);
|
||||
scanInfo.setScanType(ScanType.GOT.opCode);
|
||||
|
||||
String dispatchOrSendManCode="";
|
||||
if("1".equals(emisWaybillSave.getPickupMethod())){
|
||||
dispatchOrSendManCode=emisWaybillSave.getOperateEmployeeCode();
|
||||
}
|
||||
else if("2".equals(emisWaybillSave.getPickupMethod())){
|
||||
dispatchOrSendManCode=emisWaybillSave.getTakePieceEmployeeCode();
|
||||
}
|
||||
|
||||
Map<String,Object> scanDateItem = new HashMap<>();
|
||||
scanDateItem.put("billCode",emisWaybillSave.getBillCode());
|
||||
scanDateItem.put("dispatchOrSendManCode",dispatchOrSendManCode);
|
||||
scanDateItem.put("scanDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,emisWaybillSave.getSendDate()));
|
||||
scanDateItem.put("scanWeight", "0.0");
|
||||
scanDataList.add(scanDateItem);
|
||||
scanInfo.setScanData(scanDataList);
|
||||
|
||||
try {
|
||||
emisTmsScanRecordService.scan(scanInfo);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user