private K3SaleOrderFinance GetK3SaleOrderFinance(DynamicObject obj) { K3SaleOrderFinance fin = null; if (obj != null) { DynamicObjectCollection objs = obj["SaleOrderFinance"] as DynamicObjectCollection; if (objs != null && objs.Count > 0) { fin = new K3SaleOrderFinance(); foreach (var item in objs) { if (item != null) { DynamicObject curr = item["SettleCurrId"] as DynamicObject; fin.FSettleCurrID = SQLUtils.GetFieldValue(curr, "Number"); fin.F_HS_RateToUSA = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "ExchangeRate")); } } } } return(fin); }
/// <summary> /// 获取财务信息 /// </summary> /// <param name="obj"></param> /// <param name="fielName"></param> /// <returns></returns> private K3SaleOrderFinance GetOrderFinance(DynamicObject obj, string fielName) { K3SaleOrderFinance finance = null; if (obj != null && !string.IsNullOrWhiteSpace(fielName)) { DynamicObjectCollection coll = obj[fielName] as DynamicObjectCollection; if (coll != null && coll.Count > 0) { finance = new K3SaleOrderFinance(); foreach (var item in coll) { finance.FSettleCurrID = SQLUtils.GetSettleCurrNo(this.Context, item, "SettleCurrId_Id");//结算币别 } } } return(finance); }
/// <summary> /// 获取销售订单财务信息 /// </summary> /// <returns></returns> private K3SaleOrderFinance GetOrderFinance() { K3SaleOrderFinance fin = null; DynamicObjectCollection coll = this.View.Model.DataObject["SaleOrderFinance"] as DynamicObjectCollection; if (coll != null && coll.Count > 0) { foreach (var item in coll) { if (item != null) { fin = new K3SaleOrderFinance(); DynamicObject fina = this.View.Model.GetValue("FSettleCurrId") as DynamicObject; fin.FSettleCurrID = SQLUtils.GetFieldValue(fina, "Number"); fin.FBillAllAmount = Convert.ToDecimal(this.View.Model.GetValue("FBillAmount")); } } } return(fin); }
private K3SaleOrderFinance GetOrderFinance(DynamicObject obj) { K3SaleOrderFinance fin = null; if (obj != null) { DynamicObjectCollection coll = obj["SaleOrderFinance"] as DynamicObjectCollection; if (coll != null && coll.Count > 0) { foreach (var item in coll) { if (item != null) { fin = new K3SaleOrderFinance(); DynamicObject curr = item["SettleCurrId"] as DynamicObject; fin.FSettleCurrID = SQLUtils.GetFieldValue(curr, "Number"); fin.FBillAllAmount = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "BillAmount")); } } } } return(fin); }
//public override void EndOperationTransaction(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.EndOperationTransactionArgs e) //{ // base.EndOperationTransaction(e); // //List<K3SalOrderInfo> temp = new List<K3SalOrderInfo>(); // //if (e.DataEntitys == null) return; // //List<DynamicObject> dataEntitys = e.DataEntitys.ToList(); // //if (dataEntitys == null || dataEntitys.Count <= 0) // //{ // // return; // //} // //foreach (var item in dataEntitys) // //{ // // if (SQLUtils.GetSaleOrderSourceNo(this.Context, item, "F_HS_SaleOrderSource_Id").CompareTo("XXBJDD") == 0 // // && SQLUtils.GetFieldValue(item, "DocumentStatus").CompareTo("C") == 0 && SQLUtils.GetFieldValue(item, "BillNo").StartsWith("SO") // // && SQLUtils.GetFieldValue(item, "BillNo").Contains("_")) // // { // // K3SaleOrderFinance finance = GetOrderFinance(item, "SaleOrderFinance");//财务信息 // // string FBillNo = SQLUtils.GetFieldValue(item, "BillNo");//订单号 // // if (!string.IsNullOrWhiteSpace(FBillNo)) // // { // // if (FBillNo.Contains("_")) // // { // // FBillNo = FBillNo.Substring(0, FBillNo.IndexOf("_")); // // SynOfflineSalOrderToHC.SynAllSalOrderToPHP(this.Context, false, FBillNo); // // } // // } // // } // //} //} public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) { base.AfterExecuteOperationTransaction(e); List <K3SalOrderInfo> orders = null; List <K3SalOrderInfo> temp = new List <K3SalOrderInfo>(); if (e.DataEntitys == null) { return; } List <DynamicObject> dataEntitys = e.DataEntitys.ToList(); if (dataEntitys == null || dataEntitys.Count <= 0) { return; } orders = new List <K3SalOrderInfo>(); foreach (var item in dataEntitys) { if (SQLUtils.GetSaleOrderSourceNo(this.Context, item, "F_HS_SaleOrderSource_Id").CompareTo("XXBJDD") == 0 && SQLUtils.GetFieldValue(item, "DocumentStatus").CompareTo("C") == 0 && SQLUtils.GetFieldValue(item, "BillNo").StartsWith("SO") && SQLUtils.GetFieldValue(item, "BillNo").Contains("_")) { K3SaleOrderFinance finance = GetOrderFinance(item, "SaleOrderFinance"); //财务信息 string FBillNo = SQLUtils.GetFieldValue(item, "BillNo"); //订单号 if (!string.IsNullOrWhiteSpace(FBillNo)) { if (FBillNo.Contains("_")) { FBillNo = FBillNo.Substring(0, FBillNo.IndexOf("_")); //SynOfflineSalOrderToHC.SynAllSalOrderToPHP(false, FBillNo); } } //order = new K3SalOrderInfo(); //K3SaleOrderFinance finance = GetOrderFinance(item, "SaleOrderFinance");//财务信息 //order.FBillNo = SQLUtils.GetFieldValue(item, "BillNo");//订单号 //order.F_HS_OriginOnlineOrderNo = SQLUtils.GetFieldValue(item, "F_HS_OriginOnlineOrderNo");//原线上订单单号 //order.FDate = Convert.ToDateTime(SQLUtils.GetFieldValue(item, "Date"));//订单日期 //order.PurseDate = TimeHelper.GetTimeStamp(order.FDate);//订单日期(时间戳) //order.FNote = SQLUtils.GetFieldValue(item, "FNote");//备注 //order.FCustId = SQLUtils.GetCustomerNo(this.Context, item, "CustId_Id");//客户 //order.FSalerId = SQLUtils.GetSellerNo(this.Context, item, "SalerId_Id");//销售员 //order.OrderSource = SQLUtils.GetSaleOrderSourceNo(this.Context, item, "F_HS_SaleOrderSource_Id");//订单来源 //order.F_HS_PaymentStatus = SQLUtils.GetFieldValue(item, "F_HS_PaymentStatus");//付款状态 //order.FSettleCurrId = finance.FSettleCurrID;//结算币别 //order.F_HS_RateToUSA = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "ExchangeRate"));//汇率 //order.F_HS_RecipientCountry = SQLUtils.GetCountryNo(this.Context, item, "F_HS_RecipientCountry_Id");//国家 //order.F_HS_DeliveryProvinces = SQLUtils.GetFieldValue(item, "F_HS_DeliveryProvinces");//省份 //order.F_HS_DeliveryCity = SQLUtils.GetFieldValue(item, "F_HS_DeliveryCity");//城市 //order.F_HS_DeliveryAddress = SQLUtils.GetFieldValue(item, "F_HS_DeliveryAddress");//具体地址 //order.F_HS_PostCode = SQLUtils.GetFieldValue(item, "F_HS_PostCode");//邮编 //order.F_HS_DeliveryName = SQLUtils.GetFieldValue(item, "F_HS_DeliveryName");//收货人 //order.F_HS_BillAddress = SQLUtils.GetFieldValue(item, "F_HS_BillAddress");//账单地址 //order.F_HS_MobilePhone = SQLUtils.GetFieldValue(item, "F_HS_MobilePhone");//联系人手机 //order.F_HS_ShippingMethod = SQLUtils.GetFieldValue(item, "F_HS_ShippingMethod");//发货方式 //order.FSETTLEMODEID = SQLUtils.GetFieldValue(item, "F_HS_PaymentMode");//结算方式 //order.FCustLevel = SQLUtils.GetCustGroupNo(this.Context, item, "F_HS_FGroup_Id");//客户分组 //order.FNote = SQLUtils.GetFieldValue(item, "Note");//备注 //order.F_HS_Channel = SQLUtils.GetFieldValue(item, "F_HS_OnlineOrderWay");//下单方式 //order.F_HS_CouponAmount = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "F_HS_CouponAmount"));//优惠券金额 ////order.F_HS_Shipping = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "F_HS_Shipping"));//运费 //order.F_HS_Points = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "F_HS_Points"));//积分 //order.OrderEntry = GetOrderEntry(item, "SaleOrderEntry", order);//订单明细 //order.F_HS_Total = order.F_HS_Subtotal - order.F_HS_CouponAmount - order.F_HS_IntegralDeduction - order.F_HS_DiscountedAmount + order.F_HS_Shipping;//优惠后金额 //order.FApproveDate = TimeHelper.GetTimeStamp(Convert.ToDateTime(SQLUtils.GetFieldValue(item, "ApproveDate"))); //orders.Add(order); } //if (orders != null && orders.Count > 0) //{ // if (temp.All(a => orders.Any(b => a.Equals(b)))) // { // temp = temp.Concat(orders).ToList(); // if (IsConnectSuccess(this.Context)) // { // SynOfflineSalOrderToHC.SynSalOrderToPHP(this.Context, temp); // temp.Clear(); // } // } //} } }
public override IEnumerable <AbsSynchroDataInfo> GetK3Datas(Context ctx, List <DynamicObject> objects, ref HttpResponseResult result) { K3SalOrderInfo order = null; List <K3SalOrderInfo> orders = null; result = new HttpResponseResult(); result.Success = true; if (objects != null && objects.Count > 0) { orders = new List <K3SalOrderInfo>(); foreach (var item in objects) { if (item != null) { if (SQLUtils.GetBillTypeNo(this.Context, item, "BillTypeId_Id").CompareTo("XSDD01_SYS") == 0 && SQLUtils.GetSaleOrderSourceNo(this.Context, item, "F_HS_SaleOrderSource_Id").CompareTo("XXBJDD") == 0 && SQLUtils.GetFieldValue(item, "DocumentStatus").CompareTo("C") == 0 && SQLUtils.GetFieldValue(item, "BillNo").StartsWith("SO") && !SQLUtils.GetFieldValue(item, "BillNo").Contains("_") && SQLUtils.GetFieldValue(item, "SaleOrgId_Id").CompareTo("100035") == 0) { order = new K3SalOrderInfo(); K3SaleOrderFinance finance = GetOrderFinance(item, "SaleOrderFinance");//财务信息 order.SrcNo = SQLUtils.GetFieldValue(item, "BillNo"); order.FBillNo = SQLUtils.GetFieldValue(item, "BillNo"); //订单号 order.F_HS_OriginOnlineOrderNo = SQLUtils.GetFieldValue(item, "F_HS_OriginOnlineOrderNo"); //原线上订单单号 order.FDate = Convert.ToDateTime(SQLUtils.GetFieldValue(item, "Date")); //订单日期 order.PurseDate = TimeHelper.GetTimeStamp(order.FDate); //订单日期(时间戳) order.FNote = SQLUtils.GetFieldValue(item, "FNote"); //备注 DynamicObject cust = item["CustId"] as DynamicObject; //客户 order.FCustId = SQLUtils.GetFieldValue(cust, "Number"); DynamicObject realCust = item["F_HS_B2CCustId"] as DynamicObject;//客户真实ID order.F_HS_B2CCustId = SQLUtils.GetFieldValue(realCust, "Number"); DynamicObject saler = item["SalerId"] as DynamicObject; order.FSalerId = SQLUtils.GetFieldValue(saler, "Number"); DynamicObject source = item["F_HS_SaleOrderSource"] as DynamicObject; order.OrderSource = SQLUtils.GetFieldValue(source, "FNumber"); //订单来源 order.F_HS_PaymentStatus = SQLUtils.GetFieldValue(item, "F_HS_PaymentStatus"); //付款状态 order.FSettleCurrId = finance.FSettleCurrID; //结算币别 order.F_HS_RateToUSA = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "ExchangeRate")); //汇率 DynamicObject country = item["F_HS_RecipientCountry"] as DynamicObject; order.F_HS_RecipientCountry = SQLUtils.GetFieldValue(country, "Number"); //国家 order.F_HS_DeliveryProvinces = SQLUtils.GetFieldValue(item, "F_HS_DeliveryProvinces"); //省份 order.F_HS_DeliveryCity = SQLUtils.GetFieldValue(item, "F_HS_DeliveryCity"); //城市 order.F_HS_DeliveryAddress = SQLUtils.GetFieldValue(item, "F_HS_DeliveryAddress"); //具体地址 order.F_HS_PostCode = SQLUtils.GetFieldValue(item, "F_HS_PostCode"); //邮编 order.F_HS_DeliveryName = SQLUtils.GetFieldValue(item, "F_HS_DeliveryName"); //收货人 order.F_HS_BillAddress = SQLUtils.GetFieldValue(item, "F_HS_BillAddress"); //账单地址 order.F_HS_MobilePhone = SQLUtils.GetFieldValue(item, "F_HS_MobilePhone"); //联系人手机 order.F_HS_ShippingMethod = SQLUtils.GetFieldValue(item, "F_HS_ShippingMethod"); //发货方式 DynamicObject met = item["F_HS_PaymentModeNew"] as DynamicObject; order.F_HS_PaymentModeNew = SQLUtils.GetFieldValue(met, "Number"); //付款方式 order.FCustLevel = SQLUtils.GetCustGroupNo(this.Context, item, "F_HS_FGroup_Id"); //客户分组 order.FNote = SQLUtils.GetFieldValue(item, "Note"); //备注 order.F_HS_Channel = SQLUtils.GetFieldValue(item, "F_HS_OnlineOrderWay"); //下单方式 order.F_HS_CouponAmount = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "F_HS_CouponAmount")); //优惠券金额 //order.F_HS_Shipping = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "F_HS_Shipping"));//运费 order.F_HS_Points = Convert.ToDecimal(SQLUtils.GetFieldValue(item, "F_HS_Points")); //积分 order.OrderEntry = GetOrderEntry(item, "SaleOrderEntry", order); //订单明细 order.F_HS_Total = order.F_HS_Subtotal - order.F_HS_CouponAmount - order.F_HS_IntegralDeduction - order.F_HS_DiscountedAmount + order.F_HS_Shipping; //优惠后金额 order.FApproveDate = TimeHelper.GetTimeStamp(Convert.ToDateTime(SQLUtils.GetFieldValue(item, "ApproveDate"))); order.F_HS_CollectionTime = Convert.ToDateTime(SQLUtils.GetFieldValue(item, "F_HS_CollectionTime")); //CEO特批已到款时间 order.PayedTime = TimeHelper.GetTimeStamp(order.F_HS_CollectionTime); //CEO特批已到款时间(时间戳) orders.Add(order); } } } } return(orders); }
private List <K3SalOrderInfo> GetK3SalOrderInfos(List <DynamicObject> objs) { List <K3SalOrderInfo> orders = null; K3SalOrderInfo order = null; string message = string.Empty; if (objs != null && objs.Count > 0) { orders = new List <K3SalOrderInfo>(); foreach (var obj in objs) { if (obj != null) { string documentstatus = SQLUtils.GetFieldValue(obj, "DocumentStatus"); bool isSyn = Convert.ToBoolean(SQLUtils.GetFieldValue(obj, "F_HS_YNSyncCollection")); DynamicObject oSrc = obj["F_HS_SaleOrderSource"] as DynamicObject; string oSource = SQLUtils.GetFieldValue(oSrc, "FNumber"); if (documentstatus.CompareTo("C") == 0 && !isSyn && oSource.CompareTo("HCWebProcessingOder") == 0) { if (Convert.ToDecimal(SQLUtils.GetFieldValue(obj, "F_HS_PayTotal")) > 0) { order = new K3SalOrderInfo(); order.FDate = Convert.ToDateTime(SQLUtils.GetFieldValue(obj, "Date")); order.FBillNo = SQLUtils.GetFieldValue(obj, "BillNo"); DynamicObject cust = obj["CustId"] as DynamicObject; order.FCustId = SQLUtils.GetFieldValue(cust, "Number"); DynamicObject b2cCust = obj["F_HS_B2CCustId"] as DynamicObject; order.F_HS_B2CCustId = SQLUtils.GetFieldValue(b2cCust, "Number"); DynamicObject saler = obj["SalerId"] as DynamicObject; order.FSalerId = SQLUtils.GetFieldValue(saler, "Number"); DynamicObject saleOrg = obj["SaleOrgId"] as DynamicObject; order.FSaleOrgId = SQLUtils.GetFieldValue(saleOrg, "Number"); DynamicObject saleDept = obj["SaleDeptId"] as DynamicObject; order.FSaleDeptId = SQLUtils.GetFieldValue(saleDept, "Number"); DynamicObject pay = obj["F_HS_PaymentModeNew"] as DynamicObject; order.F_HS_PaymentModeNew = SQLUtils.GetFieldValue(pay, "FNumber"); order.F_HS_TransactionID = SQLUtils.GetFieldValue(obj, "F_HS_TransactionID"); order.F_HS_PayTotal = SQLUtils.GetFieldValue(obj, "F_HS_PayTotal"); order.F_HS_RateToUSA = Convert.ToDecimal(SQLUtils.GetFieldValue(obj, "F_HS_RateToUSA")); K3SaleOrderFinance fin = GetK3SaleOrderFinance(obj); if (fin != null) { order.FSettleCurrId = fin.FSettleCurrID; } orders.Add(order); } else { message += "销售订单:【" + SQLUtils.GetFieldValue(obj, "BillNo") + "】的Pay_Total的金额小于零,不允许生成收款单!" + Environment.NewLine; } } else { message += "销售订单:【" + SQLUtils.GetFieldValue(obj, "BillNo") + "】收款单生成只能是processing和未生成收款单的销售订单" + Environment.NewLine; } } } } if (!string.IsNullOrWhiteSpace(message)) { _result = new HttpResponseResult(); _result.Message = message; _result.Success = false; } return(orders); }