/// <summary> /// 推送供应链订单 /// </summary> /// <param name="orderSysNo"></param> /// <returns></returns> /// <remarks> /// 2016-4-15 陈海裕 创建 /// 2016-5-20 刘伟豪 修改 /// </remarks> public override Result <string> SendOrder(int orderSysNo) { //防止并发操作 lock (lockHelper) { // type: pushOrderDataInfo var result = new Result <string>() { Status = false, StatusCode = 0, Message = "向" + this.Code + "供应链推送订单失败" }; if (orderSysNo <= 0) { return(result); } // json格式的post数据 string jsonData = ""; try { SoOrder order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysNo); if (order == null) { result.Message = "该订单不存在"; return(result); } order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo); ParaVoucherFilter voucherFilter = new ParaVoucherFilter(); voucherFilter.SourceSysNo = order.SysNo; CBFnReceiptVoucher recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault(); recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo); // 收货人 区 市 省 BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo); BsArea receiverCity = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo); BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo); DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo); HaiTunOrder newOrder = new HaiTunOrder(); newOrder.address = TConvert.ToString(order.ReceiveAddress.StreetAddress); newOrder.city = TConvert.ToString(receiverCity.AreaName.Trim()); newOrder.consignee = TConvert.ToString(order.ReceiveAddress.Name); newOrder.consumerNote = TConvert.ToString(order.Remarks); newOrder.country = "中国"; newOrder.district = TConvert.ToString(receiverDistrict.AreaName.Trim()); newOrder.idCardNumber = TConvert.ToString(order.ReceiveAddress.IDCardNo); newOrder.isCheck = "no"; newOrder.mobile = TConvert.ToString(order.ReceiveAddress.MobilePhoneNumber); newOrder.moneyPaid = TConvert.ToString(order.OrderAmount); newOrder.orderAmount = TConvert.ToString(order.OrderAmount); newOrder.orderSn = TConvert.ToString(order.SysNo); newOrder.paymentAccount = "*****@*****.**"; // 固定值 newOrder.paymentInfoIdCardNumber = TConvert.ToString(order.ReceiveAddress.IDCardNo); newOrder.paymentInfoMethod = "支付宝"; newOrder.paymentInfoName = TConvert.ToString(order.ReceiveAddress.Name); newOrder.paymentInfoNumber = TConvert.ToString(recVoucher.VoucherItems[0].VoucherNo); newOrder.province = TConvert.ToString(receiverProvince.AreaName); newOrder.shippingFee = TConvert.ToString(order.FreightAmount); newOrder.siteName = TConvert.ToString(dealer.ErpName); newOrder.siteType = "商城"; newOrder.tel = TConvert.ToString(order.ReceiveAddress.PhoneNumber); newOrder.zipcode = TConvert.ToString(order.ReceiveAddress.ZipCode); newOrder.items = new List <HaiTunOrderItem>(); HaiTunOrderItem haitunItem = new HaiTunOrderItem(); foreach (var item in order.OrderItemList) { #if DEBUG haitunItem.goodsName = "【广州保税 全国包邮】澳大利亚Swisse 奶蓟草护肝片肝脏排毒120粒 【2件起发】"; haitunItem.goodsPrice = "100"; haitunItem.goodsSn = "AUSW003"; haitunItem.quantity = "1"; newOrder.items.Add(haitunItem); break; #else PdProductStock productStock = BLL.Warehouse.PdProductStockBo.Instance.GetEntityByWP(order.DefaultWarehouseSysNo, item.ProductSysNo); var supplyProduct = BLL.Supply.ScProductBo.Instance.GetScProductInfo(productStock.ProductSku, (int)this.Code); if (supplyProduct != null) { haitunItem.goodsName = TConvert.ToString(supplyProduct.ProductName); haitunItem.goodsPrice = TConvert.ToString(item.SalesUnitPrice); haitunItem.goodsSn = TConvert.ToString(supplyProduct.SKU); haitunItem.quantity = TConvert.ToString(item.Quantity); newOrder.items.Add(haitunItem); } else { result.Message = "商品" + item.ProductSysNo + "对应的供应链商品不存在"; return(result); } #endif } jsonData = Util.Serialization.JsonUtil.ToJson2(new List <HaiTunOrder>() { newOrder }); var back = Post("pushOrderDataInfo", jsonData); result = GetResult(JObject.Parse(back)); if (result.Status) { } } catch (Exception ex) { result.Message = ex.Message; BLL.Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台, this.Code + "供应链订单推送:" + ex.Message, ex); } return(result); } }
/// <summary> /// 添加交易订单 /// </summary> /// <param name="orderSysno"></param> /// <returns>2016-04-09 陈海裕 创建</returns> public override Result AddOrderTrade(int orderSysno) { // 订单id,用于日志记录 _orderSysNo = orderSysno; Result result = new Result(); result.Status = false; result.StatusCode = 0; result.Message = "接口调用失败"; if (orderSysno <= 0) { return(result); } lock (lockHelper) { try { SoOrder order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysno); if (order == null) { result.Message = "该订单不存在"; return(result); } if (order.CBLogisticsSendStatus == 1) { result.Message = "该订单已推送,不能重复操作"; return(result); } order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo); ParaVoucherFilter voucherFilter = new ParaVoucherFilter(); voucherFilter.SourceSysNo = order.SysNo; CBFnReceiptVoucher recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault(); recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo); // 收货人 区 市 省 BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo); BsArea receiverCity = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo); BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo); // 发货人 市 CBWhWarehouse warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo); BsArea shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo); DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo); LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo); EDTOrder newOrder = new EDTOrder(); newOrder.Address1 = order.ReceiveAddress.StreetAddress; //newOrder.Base_ChannelInfoID = "1"; newOrder.Base_ChannelInfoID = "HKKJ"; newOrder.City = receiverCity.AreaName; newOrder.ConsigneeName = order.ReceiveAddress.Name; newOrder.Contact = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber; newOrder.Country = "CN"; newOrder.CusRemark = order.Remarks; newOrder.GFF_CustomerID = CoustomerID; newOrder.OrderStatus = "3"; newOrder.State = receiverProvince.AreaName; newOrder.Style = "1"; //newOrder.ShippingService = "GZBC"; List <EDTOrderProduct> productList = new List <EDTOrderProduct>(); EDTOrderProduct product = null; foreach (var item in order.OrderItemList) { PdProductStock productStock = BLL.Warehouse.PdProductStockBo.Instance.GetEntityByWP(order.DefaultWarehouseSysNo, item.ProductSysNo); product = new EDTOrderProduct(); product.CnName = item.ProductName; product.EnName = ""; product.MaterialRefNo = TConvert.ToString(productStock.ProductSku); product.Price = item.SalesUnitPrice.ToString(); product.Quantity = item.Quantity.ToString(); product.Weight = ""; product.WarehouseID = warehouse.LogisWarehouseCode; productList.Add(product); } if (product == null) { result.Message = "订单明细不存在"; return(result); } StringBuilder strorderinfo = new StringBuilder(); strorderinfo.Append("Style:" + newOrder.Style + ";"); strorderinfo.Append("GFF_CustomerID:" + newOrder.GFF_CustomerID + ";"); strorderinfo.Append("GFF_ReceiveSendAddressID:;"); strorderinfo.Append("ConsigneeName:" + newOrder.ConsigneeName + ";"); strorderinfo.Append("Country:" + newOrder.Country + ";"); strorderinfo.Append("Base_ChannelInfoID:" + newOrder.Base_ChannelInfoID + ";"); strorderinfo.Append("State:" + newOrder.State + ";"); strorderinfo.Append("City:" + newOrder.City + ";"); strorderinfo.Append("OrderStatus:" + newOrder.OrderStatus + ";"); strorderinfo.Append("Address1:" + newOrder.Address1 + ";"); strorderinfo.Append("Address2:;"); strorderinfo.Append("CsRefNo:;"); strorderinfo.Append("Zipcode:;"); strorderinfo.Append("Contact:" + newOrder.Contact + ";"); strorderinfo.Append("CusRemark:" + newOrder.CusRemark + ";"); strorderinfo.Append("TrackingNo:;"); //strorderinfo.Append("ShippingService:" + newOrder.ShippingService + ";"); StringBuilder strorderproduct = new StringBuilder(); for (int i = 0; i < productList.Count; i++) { strorderproduct.Append("MaterialRefNo:" + productList[i].MaterialRefNo + ","); //strorderproduct.Append("MaterialRefNo:123456,"); strorderproduct.Append("Quantity:" + productList[i].Quantity + ","); strorderproduct.Append("Price:" + productList[i].Price + ","); strorderproduct.Append("Weight:" + productList[i].Weight + ","); strorderproduct.Append("EnName:" + productList[i].EnName + ","); strorderproduct.Append("WarehouseID:" + productList[i].WarehouseID + ","); strorderproduct.Append("ProducingArea:,"); productList[i].CnName = Regex.Replace(productList[i].CnName, @"[/\(\)(),]", ""); strorderproduct.Append("CnName:" + productList[i].CnName + ",;"); } ServiceRefEightDT.APIWebServiceSoapClient newService = new ServiceRefEightDT.APIWebServiceSoapClient(); string strResult = newService.InsertUpdateOrder(strorderinfo.ToString(), strorderproduct.ToString(), "", Secretkey); if (strResult.Contains("成功")) { try { CrossBorderLogisticsOrder cbOrder = BLL.CrossBorderLogistics.CrossBorderLogisticsOrderBo.Instance.GetEntityByOrderSysNo(orderSysno); if (cbOrder == null) { Model.CrossBorderLogisticsOrder logisticsOrder = new Model.CrossBorderLogisticsOrder(); logisticsOrder.SoOrderSysNo = orderSysno; logisticsOrder.LogisticsOrderId = Regex.Match(strResult, "[a-zA-Z0-9]+").ToString(); logisticsOrder.LogisticsCode = (int)this.Code; BLL.CrossBorderLogistics.CrossBorderLogisticsOrderBo.Instance.InsertEntity(logisticsOrder); } // 更新订单状态 BLL.Order.SoOrderBo.Instance.UpdateOrderApiStatus(1, 3, orderSysno); } catch (Exception ex) { BLL.Log.SysLog.Instance.Error(LogStatus.系统日志来源.后台, "订单" + orderSysno + "保存跨境物流返回的单号失败。", ex); } result.Status = true; } result.Message = strResult; } catch (Exception ex) { result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace; return(result); } } return(result); }
public override Result AddOrderTrade(int orderSysno) { Result result = new Result(); try { SoOrder order = BLL.Order.SoOrderBo.Instance.GetEntity(orderSysno); if (order == null) { result.Message = "该订单不存在"; return(result); } order.ReceiveAddress = BLL.Order.SoOrderBo.Instance.GetOrderReceiveAddress(order.ReceiveAddressSysNo); order.OrderItemList = DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo); ParaVoucherFilter voucherFilter = new ParaVoucherFilter(); voucherFilter.SourceSysNo = order.SysNo; CBFnReceiptVoucher recVoucher = BLL.Finance.FinanceBo.Instance.GetReceiptVouchers(voucherFilter).Rows.FirstOrDefault(); recVoucher.VoucherItems = BLL.Finance.FnReceiptVoucherBo.Instance.GetReceiptVoucherItem(recVoucher.SysNo); // 收货人 区 市 省 BsArea receiverDistrict = BLL.Basic.BasicAreaBo.Instance.GetArea(order.ReceiveAddress.AreaSysNo); BsArea receiverCity = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverDistrict.ParentSysNo); BsArea receiverProvince = BLL.Basic.BasicAreaBo.Instance.GetArea(receiverCity.ParentSysNo); // 发货人 市 CBWhWarehouse warehouse = BLL.Warehouse.WhWarehouseBo.Instance.GetWarehouse(order.DefaultWarehouseSysNo); BsArea shipperCity = BLL.Basic.BasicAreaBo.Instance.GetArea(warehouse.CitySysNo); DsDealer dealer = BLL.Distribution.DsDealerBo.Instance.GetDsDealer(order.DealerSysNo); LgDeliveryType deliveryType = BLL.Logistics.DeliveryTypeBo.Instance.GetDeliveryType(order.DeliveryTypeSysNo); EasycrossOrder newOrder = new EasycrossOrder(); newOrder.OrderHead = new OrderHead(); newOrder.OrderList = new List <OrderList>(); newOrder.OrderPaymentLogistics = new OrderPaymentLogistics(); newOrder.OrderHead.accessType = "1"; newOrder.OrderHead.agentCode = "4404580006"; newOrder.OrderHead.agentName = "珠海易跨境电子商务服务有限公司"; newOrder.OrderHead.appStatus = "2"; newOrder.OrderHead.appTime = DateTime.Now.ToString("yyyyMMddHHmmss"); newOrder.OrderHead.appUid = "1105910159"; newOrder.OrderHead.appUname = "东方口岸"; newOrder.OrderHead.batchNumbers = ""; newOrder.OrderHead.cbeCode = "D00236"; newOrder.OrderHead.cbeName = "珠海爱勤电子科技有限公司"; newOrder.OrderHead.charge = order.OrderAmount.ToString(); newOrder.OrderHead.consignee = order.ReceiveAddress.Name; newOrder.OrderHead.consigneeAddress = order.ReceiveAddress.StreetAddress; newOrder.OrderHead.consigneeCountry = ""; newOrder.OrderHead.consigneeTelephone = !string.IsNullOrWhiteSpace(order.ReceiveAddress.MobilePhoneNumber) ? order.ReceiveAddress.MobilePhoneNumber : order.ReceiveAddress.PhoneNumber; newOrder.OrderHead.currency = "142"; newOrder.OrderHead.customer = order.ReceiveAddress.Name; newOrder.OrderHead.customerId = order.ReceiveAddress.IDCardNo; newOrder.OrderHead.ecpCode = "W0098"; newOrder.OrderHead.ecpName = "珠海爱勤电子科技有限公司"; newOrder.OrderHead.freight = order.FreightAmount.ToString(); newOrder.OrderHead.goodsValue = order.ProductAmount.ToString(); newOrder.OrderHead.idType = "1"; newOrder.OrderHead.ieType = "I"; newOrder.OrderHead.modifyMark = "1"; newOrder.OrderHead.note = ""; newOrder.OrderHead.orderNo = order.SysNo.ToString(); newOrder.OrderHead.other = ""; newOrder.OrderHead.shipper = BLL.Stores.StoresBo.Instance.GetStoreById(0).ErpName; newOrder.OrderHead.shipperAddress = ""; newOrder.OrderHead.shipperCountry = "142"; newOrder.OrderHead.shipperTelephone = ""; newOrder.OrderHead.tax = order.TaxFee.ToString(); newOrder.OrderHead.totalLogisticsNo = ""; newOrder.OrderHead.tradeCountry = ""; newOrder.OrderHead.wrapType = ""; foreach (SoOrderItem item in order.OrderItemList) { PdProduct product = BLL.Product.PdProductBo.Instance.GetProduct(item.SysNo); PdProductStock productStock = BLL.Warehouse.PdProductStockBo.Instance.GetEntityByWP(order.DefaultWarehouseSysNo, item.ProductSysNo); string brandName = "无"; PdBrand brand = BLL.Product.PdBrandBo.Instance.GetEntity(product.BrandSysNo); if (brand != null) { brandName = brand.Name; } OrderList orderList = new OrderList(); orderList.barCode = ""; orderList.brand = brandName; orderList.codeTs = ""; orderList.country = ""; orderList.currency = "142"; orderList.describe = ""; orderList.discount = ""; orderList.giftFlag = ""; orderList.goodsModel = ""; orderList.goodsName = item.ProductName; orderList.goodsNo = productStock.ProductSku; orderList.itemNo = ""; orderList.note = ""; orderList.packNum = ""; orderList.price = item.SalesUnitPrice.ToString(); orderList.priceTotal = item.SalesAmount.ToString(); orderList.purposeCode = ""; orderList.quantity = item.Quantity.ToString(); orderList.shelfGoodsName = item.ProductName; orderList.taxCode = ""; orderList.unit = "007"; orderList.wasteMaterials = "1"; orderList.wrapType = ""; newOrder.OrderList.Add(orderList); } //newOrder.OrderPaymentLogistics.logisticsCode = ""; newOrder.OrderPaymentLogistics.logisticsName = deliveryType.DeliveryTypeName; //newOrder.OrderPaymentLogistics.logisticsNo = ""; //newOrder.OrderPaymentLogistics.paymentCode = ""; //newOrder.OrderPaymentLogistics.paymentName = ""; //newOrder.OrderPaymentLogistics.paymentNo = ""; //newOrder.OrderPaymentLogistics.paymentType = ""; //newOrder.OrderPaymentLogistics.trackNo = ""; XmlSerializerNamespaces xmlNs = new XmlSerializerNamespaces(); xmlNs.Add("nousexmlns", "http://www.chinaport.gov.cn/ecss"); string xmlData = this.XmlSerialize <EasycrossOrder>(newOrder, xmlNs); xmlData = xmlData.Replace(":nousexmlns", ""); xmlData = xmlData.Replace("encoding=\"utf-16\"", "encoding=\"utf-8\""); // 上传文件 FtpUtil ftp = new FtpUtil(FTPUri, FTPName, FTPPassword); string ftpResponse = ""; ftp.UploadFile(FTPUri, "Testfilename.xml", Encoding.UTF8.GetBytes(xmlData), out ftpResponse); } catch (Exception ex) { result.Message = "向" + this.Code + "物流推送订单报错:" + ex.StackTrace; return(result); } return(result); }
/// <summary> /// 已确认收款单写EAS数据(收款单必须为已确认状态才执行) /// </summary> /// <param name="sysNo">收款单编号</param> /// <param name="user">操作人</param> /// <returns></returns> /// <remarks>2013-11-28 朱成果 创建</remarks> /// <remarks>2013-11-28 吴文强 修改</remarks> public void WriteEasReceiptVoucher(int sysNo, SyUser user) { #region 写EAS数据 2013-11-16 朱成果 CBFnReceiptVoucher receiptVoucher = FnReceiptVoucherBo.Instance.GetReceiptVoucher(sysNo); if (receiptVoucher == null || receiptVoucher.Status != FinanceStatus.收款单状态.已确认.GetHashCode()) { SysLog.Instance.WriteLog(LogStatus.SysLogLevel.Warn, LogStatus.系统日志来源.后台, "写EAS数据时候,收款单不存在或未确认收款单状态:" + receiptVoucher.Status, LogStatus.系统日志目标类型.收款单, sysNo, null, string.Empty, user.SysNo); return; } receiptVoucher.VoucherItems = Instance.GetReceiptVoucherItem(receiptVoucher.SysNo); if (receiptVoucher.Source == (int)FinanceStatus.收款来源类型.销售单 && receiptVoucher.VoucherItems != null && receiptVoucher.VoucherItems.Count > 0) { var lst = new List <Extra.Erp.Model.Receiving.ReceivingInfo>(); var lstFreight = new List <Extra.Erp.Model.Receiving.ReceivingInfo>(); var customer = WhWarehouseBo.Instance.GetErpCustomerCode(receiptVoucher.SourceSysNo); var order = SoOrderBo.Instance.GetEntity(receiptVoucher.SourceSysNo);//收款单对应的订单 //是否为RMA换货下单 bool isRma = order.OrderSource == (int)Model.WorkflowStatus.OrderStatus.销售单来源.RMA下单; if (isRma) { return; } //订单实际运费金额 var freightAmount = order.GetFreight().RealFreightAmount; foreach (var pItem in receiptVoucher.VoucherItems) { #region 收款单 if (pItem.Status == (int)FinanceStatus.收款单明细状态.效 && pItem.Amount > 0) { int warehouseSysNo = 0; //商城仓库系统号 string easNum = string.Empty; //Eas仓库编码 string organizationCode = string.Empty; //组织机构代码 string payeeAccount = string.Empty; //收款科目 string payeeAccountBank = string.Empty; //收款账户 string settlementType = Extra.Erp.Model.EasConstant.SettlementType_Cash; //仓库只有现金,01:Eas中的现金 string remark = string.Empty; //是否是PC网站在线支付订单 bool isOnline = false; if (pItem.ReceivablesSideType == (int)FinanceStatus.收款方类型.仓库) { warehouseSysNo = pItem.ReceivablesSideSysNo; var warehouse = WhWarehouseBo.Instance.GetWarehouse(warehouseSysNo);//地区仓库 var oraganization = OrganizationBo.Instance.GetOrganization(warehouseSysNo); if (warehouse != null) { easNum = warehouse.ErpCode; } if (oraganization != null) { organizationCode = oraganization.Code; } } if (pItem.ReceivablesSideType == (int)FinanceStatus.收款方类型.财务中心) { //start:如果收款单来自于商城并且为在线支付,那么eas人员就默认为第一个发货仓库 杨浩 添加 warehouseSysNo = pItem.ReceivablesSideSysNo; if (warehouseSysNo == 0 && order.OrderSource != (int)OrderStatus.销售单来源.分销商升舱 && (order.PayTypeSysNo == PaymentType.网银 || order.PayTypeSysNo == PaymentType.支付宝 || order.PayTypeSysNo == PaymentType.微信支付 || order.PayTypeSysNo == PaymentType.易宝支付)) { var wh = WhWarehouseBo.Instance.GetWhStockOutListByOrderID(order.SysNo, true); if (wh != null && wh.Count > 0) { if (wh.Count > 1) { remark = "此收款单为分批出库"; } warehouseSysNo = wh.FirstOrDefault().WarehouseSysNo; } else { remark = "订单还未结算"; } } if (warehouseSysNo > 0) { var warehouse = WhWarehouseBo.Instance.GetWarehouse(warehouseSysNo); //地区仓库 var oraganization = OrganizationBo.Instance.GetOrganization(warehouseSysNo); if (warehouse != null) { easNum = warehouse.ErpCode; } if (oraganization != null) { organizationCode = oraganization.Code; } } //end if (PaymentType.支付宝.Equals(pItem.PaymentTypeSysNo)) { payeeAccount = Extra.Erp.Model.EasConstant.PayeeAccount; payeeAccountBank = Extra.Erp.Model.EasConstant.PayeeAccountBank_Alipay; settlementType = Extra.Erp.Model.EasConstant.SettlementType_Alipay; isOnline = true; } if (order.PayTypeSysNo == PaymentType.微信支付 || order.PayTypeSysNo == PaymentType.易宝支付) { isOnline = true; } if (PaymentType.网银.Equals(pItem.PaymentTypeSysNo)) { payeeAccount = Extra.Erp.Model.EasConstant.PayeeAccount; payeeAccountBank = Extra.Erp.Model.EasConstant.PayeeAccountBank_ChinaBank; settlementType = Extra.Erp.Model.EasConstant.SettlementType_ChinaBank; isOnline = true; } } if (!isOnline && string.IsNullOrEmpty(pItem.EasReceiptCode) && warehouseSysNo > 0) { if (pItem.PaymentTypeSysNo == Hyt.Model.SystemPredefined.PaymentType.现金) { //付款科目 var km = GetFnReceiptTitleAssociation(warehouseSysNo, PaymentType.现金).OrderByDescending(m => m.IsDefault).FirstOrDefault(); if (km != null) { pItem.EasReceiptCode = km.EasReceiptCode; } } //刷卡方式不导入 if (pItem.PaymentTypeSysNo == Hyt.Model.SystemPredefined.PaymentType.刷卡) { return; } } //if (!string.IsNullOrEmpty(easNum)) //{ //应收系统收款单明细 var receiptAmount = lst.Count == 0 ? pItem.Amount - freightAmount : pItem.Amount; //第一条明细减去运费,运费分开导入 lst.Add(new Extra.Erp.Model.Receiving.ReceivingInfo() { Amount = receiptAmount, OrderSysNo = receiptVoucher.SourceSysNo.ToString(), WarehouseSysNo = warehouseSysNo, WarehouseNumber = easNum, PayeeAccount = (isOnline) ? payeeAccount : pItem.EasReceiptCode, PayeeAccountBank = payeeAccountBank, SettlementType = settlementType, OrganizationCode = organizationCode, Remark = remark }); //存在运费时,添加出纳系统收款单明细 if (freightAmount > 0 && lstFreight.Count == 0) { lstFreight.Add(new Extra.Erp.Model.Receiving.ReceivingInfo() { Amount = freightAmount, OrderSysNo = receiptVoucher.SourceSysNo.ToString(), WarehouseSysNo = warehouseSysNo, WarehouseNumber = easNum, PayeeAccount = (isOnline) ? payeeAccount : pItem.EasReceiptCode, PayeeAccountBank = payeeAccountBank, SettlementType = settlementType, OrganizationCode = organizationCode, Remark = remark }); //} } } #endregion } if (lst.Count > 0) { Extra.Erp.EasProviderFactory.CreateProvider() .Receiving(lst, 收款单类型.商品收款单, customer, false, receiptVoucher.SourceSysNo.ToString(), order.TransactionSysNo); } if (lstFreight.Count > 0) { Extra.Erp.EasProviderFactory.CreateProvider() .Receiving(lstFreight, 收款单类型.务收款单, customer, false, receiptVoucher.SourceSysNo.ToString(), order.TransactionSysNo); } } #endregion }