using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace LYFZ.Software.MainBusiness.StatisticalInquiry
{
public partial class FrmIndividualPerformance : LYFZ.Software.UI.StatisticalInquiry.FrmIndividualPerformance
{
LYFZ.BLL.BLL_ErpOrder orbll = new BLL.BLL_ErpOrder();
public FrmIndividualPerformance()
{
btn_Export.Click += Btn_Export_Click;
this.cmbEmployeeName.Enabled = LYFZ.BLL.BLL_ErpUser.GetRights(LYFZ.BLL.BLL_ErpUser.CurrentUserRights.IndividualPerformanceCompetence, CustomAttributes.OperatingAuthority.ViewAll);
}
private void Btn_Export_Click(object sender, EventArgs e)
{
this.dgv.ExportDataTable();
}
///
/// 窗体加载事件
///
///
///
protected override void FrmIndividualPerformance_Shown(object sender, EventArgs e)
{
this.txtTimeStart.Text = SDateTime.Now.ToString("yyyy-MM-") + "01";
this.txtTimeEnd.Text = Convert.ToDateTime(this.txtTimeStart.Text).AddMonths(1).AddSeconds(-1).ToString("yyyy-MM-dd");
//部门人员绑定
LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboBoxTreeView_DepartmentAndEmployee(this.cmbEmployeeName, IsFirstNodeNull: true, IsFirstNodeName: "全部", IsShowAdmin: true);
//项目类别
LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboxTreeView(this.cmbItemCategory, "订单前期,订单后期,其它消费,礼服租售,会员充值,会员服务充值", IsFirstNodeNull: true);//会员充值,服务卡充值
//套系类别
LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboBoxTreeView_SystemCategory("BFAGAHBFDGCABAJIH", this.CtvPak_Name, IsFirstNodeNull: true);
LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboBoxTreeView_SystemCategory("BEBACCAFCCEAGAIHH", this.cbx_PaymentType, IsFirstNodeNull: true);
this.cmbEmployeeName.Enabled = LYFZ.BLL.BLL_ErpUser.GetRights(LYFZ.BLL.BLL_ErpUser.CurrentUserRights.IndividualPerformanceCompetence, CustomAttributes.OperatingAuthority.ViewAll);
if (LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_Account != LYFZ.AuthorizeUserName.AdministratorsName)
{
this.cmbEmployeeName.Tag = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_EmployeeID;
this.cmbEmployeeName.Text = LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_Name;
//CmbEmployeeName_SelectedIndexChanged(null, null);
}
this.cmbEmployeeName.ComboBoxTreeViewEx_TextChanged += CmbEmployeeName_SelectedIndexChanged;
this.cbx_PaymentType.ComboBoxTreeViewEx_TextChanged += Cbx_PaymentType_ComboBoxTreeViewEx_TextChanged;
//this.cmbEmployeeName.TextFindTag("全部");
this.cmbEmployeeName.TagFindText(LYFZ.Software.MainBusiness.CommonLogical.SuccessfulLogin.LoginUserModel.User_EmployeeID);
this.BindPerformance(this.txtTimeStart.DateValue.ToString().Trim(), this.txtTimeEnd.DateValue.ToString().Trim(),
GetEmployeeDataInfo());
}
private void Cbx_PaymentType_ComboBoxTreeViewEx_TextChanged(object sender, TreeViewEventArgs e)
{
this.BindCalculate();
}
private void CmbEmployeeName_SelectedIndexChanged(object sender, EventArgs e)
{
this.cmbEmployeeName_ComboBoxTree_NodeMouseClick(null, null);
}
///
/// 绑定业绩列表查询方法1(订单前期)
///
public string BindSelect1()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text) && this.CtvPak_Name.Tag != null)
{ str.Append(" and Ord_OrderClass='" + this.CtvPak_Name.Text + "'"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (cmbItemCategory.Text != "订单前期")
{ str.Append(" and tb_ErpOrder.id=-3"); }
}
return str.ToString();
}
///
/// 绑定业绩列表查询方法2(订单后期)
///
public string BindSelect2()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text.Trim()))
{ str.Append(" and 套系类别='" + this.CtvPak_Name.Text.ToString() + "'"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (this.cmbItemCategory.Text == "订单后期")
{
if (!string.IsNullOrEmpty(this.cmbProjectTitle.Text))
{ str.Append(" and 二销类别编号='" + this.cmbProjectTitle.Tag.ToString() + "'"); }
}
else
{ str.Append(" and id=-3"); }
}
return str.ToString();
}
///
/// 绑定业绩列表查询方法3(订单后期)
///
public string BindSelect3()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text.Trim()))
{ str.Append(" and Vw_TwoSalesOrder.id=-3"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (this.cmbItemCategory.Text == "其它消费")
{
if (!string.IsNullOrEmpty(this.cmbProjectTitle.Text))
{ str.Append(" and Tsorder_Category='" + this.cmbProjectTitle.Tag.ToString() + "'"); }
}
else
{ str.Append(" and Vw_TwoSalesOrder.id=-3"); }
}
return str.ToString();
}
///
/// 绑定业绩列表查询方法4(计件提成)
///
public string BindSelect4()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text.Trim()))
{ str.Append(" and id=-3"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (this.cmbItemCategory.Text == "计件提成")
{
if (!string.IsNullOrEmpty(this.cmbProjectTitle.Text))
{ str.Append(" and Pcr_CompletionContents='" + this.cmbProjectTitle.Tag + "'"); }
}
else
{ str.Append("and id=-3"); }
}
return str.ToString();
}
///
/// 绑定业绩列表查询方法4(计件提成)
///
public string BindSelect5()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text.Trim()))
{ str.Append(" and id=-3"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (this.cmbItemCategory.Text == "礼服租售")
{
if (!string.IsNullOrEmpty(this.cmbProjectTitle.Text))
{
if (this.cmbProjectTitle.Text == "礼服出租")
{ str.Append(" and Dsro_Type=0"); }
if (this.cmbProjectTitle.Text == "礼服出售")
{ str.Append(" and Dsro_Type=1"); }
}
}
else
{ str.Append(" and id=-3"); }
}
return str.ToString();
}
///
/// 绑定业绩列表查询方法6(员工奖罚)
///
public string BindSelect6()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text.Trim()))
{ str.Append(" and id=-3"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (this.cmbItemCategory.Text == "员工奖罚")
{
if (!string.IsNullOrEmpty(this.cmbProjectTitle.Text.Trim()))
{ str.Append(" and Rp_Type='" + this.cmbProjectTitle.Text.Trim() + "'"); }
}
else
{ str.Append(" and id=-3"); }
}
return str.ToString();
}
///
/// 绑定业绩列表查询方法7(员工支出)
/// 礼服租售数据
public string BindSelect7()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text.Trim()))
{ str.Append(" and id=-3"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (this.cmbItemCategory.Text != "员工支出")
{ str.Append(" and id=-3"); }
}
return str.ToString();
}
public string BindSelect8()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text.Trim()))
{ str.Append(" and [tb_ErpMemberCardRechargeRecord].id=-3"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (this.cmbItemCategory.Text != "会员充值")
{ str.Append(" and [tb_ErpMemberCardRechargeRecord].id=-3"); }
}
return str.ToString();
}
public string BindSelect9()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text.Trim()))
{ str.Append(" and tb_ErpMemberCardPayment.id=-3"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (this.cmbItemCategory.Text != "会员服务充值")
{ str.Append(" and tb_ErpMemberCardPayment.id=-3"); }
}
return str.ToString();
}
///
/// 获取所有业绩列表
///
public decimal BindPerformance(string StartTime, string EndTime, string EmployeeName)
{
decimal Sum = 0;
this.dgv.Rows.Clear();
string s = "";
LYFZ.BLL.BLL_AllViewSet AllViewSetbll = new BLL.BLL_AllViewSet();
LYFZ.BLL.BLL_ErpOrder Orderbll = new BLL.BLL_ErpOrder();
LYFZ.BLL.BLL_ErpOrdersPhotography OrdersPhotographybll = new BLL.BLL_ErpOrdersPhotography();
DataTable dt = new DataTable();
///订单前期
DataTable preOrder = new DataTable();
///订单后期
DataTable lastOrder = new DataTable();
///获取其它消费
DataTable otherOrder = new DataTable();
///获取计件提成
DataTable pieceworkOrder = new DataTable();
///获取礼服租售
DataTable dressOrder = new DataTable();
///获取员工奖罚
DataTable rewardOrder = new DataTable();
///获取员工支出
DataTable paymentOrder = new DataTable();
///付款方式
DataTable payData = new DataTable();
///会员充值
DataTable mamberOrder = new DataTable();
///会员服务充值
DataTable mamberServiceOrder = new DataTable();
///礼服租售充值
DataTable dressServiceOrder = new DataTable();
StringBuilder str = new StringBuilder();
Dictionary>> dyUserList = new Dictionary>>();
string sql = " select * from tb_ErpCommissionPercentage where Cp_ProportionType in(1,5) ";
DataTable PerDt = orbll.GetView_Custom(sql).Tables[0];
LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate (object obj, BackgroundWorker backgroundWorker)
{
try
{
///订单付款
List perOrderList = new List();
List lastOrderList = new List();
string strWhereTime = " Pay_CreateDatetime>='" + StartTime + "' and Pay_CreateDatetime<='" + EndTime + " 23:59:59.000' ";
if(!string.IsNullOrEmpty(cbx_PaymentType.Text.Trim()))
{
strWhereTime += " and Pay_PaymentMethod = '" + cbx_PaymentType.Tag + "'";
}
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{
string[] userNumbers = EmployeeName.Split(',');
string strOpenWhere = "";
string strCommissionRatio = "";
foreach (string employeeKey in userNumbers)
{
if (!string.IsNullOrEmpty(strOpenWhere))
{
strOpenWhere += " or ";
}
strOpenWhere += " Pay_OpenSingle like '%" + employeeKey.Replace("'", "") + "%' ";
}
foreach (string employeeKey in userNumbers)
{
if (!string.IsNullOrEmpty(strCommissionRatio))
{
strCommissionRatio += " or ";
}
strCommissionRatio += " Pay_CommissionRatio like '%" + employeeKey.Replace("'", "") + "%' ";
}
strWhereTime += (" and ((" + strOpenWhere + ") or ("+ strCommissionRatio + ") )");
//str.Append(" and Pay_OpenSingle in (" + EmployeeName + ")");
}
//if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
//{
// //str.Append(" and 销售人员编号 in (" + EmployeeName + ")");
// strWhereTime += " and (Pay_OpenSingle like '%" + EmployeeName + "%' or Pay_CommissionRatio like '%" + EmployeeName + "%' ) ";
//}
string paySql = @"SELECT
Pay_OrdNumber,
Pay_Category,
c2.Sc_ClassName,
Pay_TwoPinsCategory,
Pay_OpenSingle,
c1.Sc_ClassName as Sc_ClassName1,
Pay_AmountOf,
Pay_CreateDatetime,
Pay_ThePayee,
Pay_ReceivableProject,
Pay_CommissionRatio
FROM [tb_ErpPayment] inner join tb_ErpSystemCategory c1 on Pay_PaymentMethod = c1.Sc_ClassCode
left join tb_ErpSystemCategory c2 on Pay_TwoPinsCategory = c2.Sc_ClassCode
where "+ strWhereTime;
payData = Orderbll.GetView_Custom(paySql).Tables[0];
perOrderList = payData.AsEnumerable().Where(p => p.Field ("Pay_Category").IndexOf("后期") == -1).Select(p=>p.Field("Pay_OrdNumber")).Distinct().ToList();
lastOrderList = payData.AsEnumerable().Where(p => p.Field("Pay_Category").IndexOf("后期") != -1).Select(p => p.Field("Pay_OrdNumber")).Distinct().ToList();
///订单前期
if (perOrderList.Count > 0)
{
str.Append("( Ord_Number in ('" + string.Join("','", perOrderList.ToArray()) + "') )");
}
else
{
str.Append("( Ord_Number in ('-1') )");
}
//if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
//{
// string[] userNumbers = EmployeeName.Split(',');
// string strWhere = "";
// foreach(string employeeKey in userNumbers)
// {
// if(!string.IsNullOrEmpty(strWhere))
// {
// strWhere += " or ";
// }
// strWhere += " Ord_OrderPersonNumber like '%" + employeeKey.Replace("'","") + "%' ";
// }
// str.Append(" and ("+ strWhere + ")");
// //str.Append(" and Pay_OpenSingle in (" + EmployeeName + ")");
//}
s = BindSelect1();
preOrder = orbll.GetView_Custom("tb_ErpOrder Left Join tempTB_AggregationCustomer on GP_OrderNumber = Ord_Number ", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "Ord_Number,Ord_SinceOrderNumber,Ord_OrderPersonName,Ord_OrderPersonNumber,Cus_Name,Cus_Telephone,Ord_SeriesPrice,Ord_CreateDatetime,Ord_PhotographyCategory,Ord_SeriesName").Tables[0];
///订单后期
s = "";
str = new StringBuilder();
if (lastOrderList.Count > 0)
{
str.Append("( 订单号 in ('" + string.Join("','", lastOrderList.ToArray()) + "') )");
}
else
{
str.Append("( 订单号 in ('-1') )");
}
//str.Append(" 创建时间>='" + StartTime + "' and 创建时间<='" + EndTime + " 23:59:59.000'");
//if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
//{ str.Append(" and 销售人员编号 in (" + EmployeeName + ")"); }
s = BindSelect2();
lastOrder = Orderbll.GetView_Custom("Vw_ErpPlusPickItems", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,订单号,Ord_SinceOrderNumber,金额,创建时间,商品名称,录单人编号,录单人名称,商品成本价,加挑金额来源类型,销售人员编号,销售人员名称,二销类别编号,二销类别名称,客户名称,拼音,电话,套系类别").Tables[0];
///获取其它消费
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" Tsorder_CreateDatetime>='" + StartTime + "' and Tsorder_CreateDatetime<='" + EndTime + " 23:59:59.000'");
if (!string.IsNullOrEmpty(cbx_PaymentType.Text.Trim()))
{
str.Append(" and Tsorder_Category = '" + cbx_PaymentType.Tag + "'");
}
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{ str.Append(" and Tsorder_OpenSingle in (" + EmployeeName + ")"); }
s = BindSelect3();
otherOrder = Orderbll.GetView_Custom("Vw_TwoSalesOrder left join tb_ErpSystemCategory c1 on Tsorder_CategoryName = c1.Sc_ClassCode ", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "Vw_TwoSalesOrder.ID,Tsorder_Number,c1.Sc_ClassName,Tsorder_Name,Tsorder_CustomerName,Tsorder_OpenSingle,Tsorder_Telephone,Cus_NamePinyin,Tsorder_Money,Tsorder_Quantity,Tsorder_Category,Tsorder_OpenSingle,Tsorder_PersonHandling,Tsorder_Remark,Tsorder_CreateDatetime,Tsorder_UpdateDatetime,User_Name,Tsorder_PersonHandlingName,Tsorder_CategoryName,Tsorder_CustomerNumber").Tables[0];
/////获取计件提成
//s = "";
//str = new StringBuilder();
//dt = new DataTable();
//str.Append(" Pcr_CreateTime>='" + StartTime + "' and Pcr_CreateTime<='" + EndTime + " 23:59:59.000'");
//if (!string.IsNullOrEmpty(cbx_PaymentType.Text.Trim()))
//{
// str.Append(" and Pcr_OrderNumber = '-1'");
//}
//if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
//{ str.Append(" and Pcr_DigitalDivision in (" + EmployeeName + ")"); }
//s = BindSelect4();
//pieceworkOrder = Orderbll.GetView_Custom("Vw_ErpPieceCommissionRecords", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,Ord_SinceOrderNumber as Pcr_OrderNumber,Pcr_DigitalDivision,Pcr_Date,Pcr_CompletionContents,Pcr_Quantity,Pcr_CreateTime,Pcr_EntryPeople,Pcr_Type,Pcr_DigitalDivisionName,Pcr_CompletionContentsName,Pcr_EntryPeopleName,Ord_Type,Ord_Class,Cus_Name,Cus_Telephone,Ord_SeriesName,Ord_SeriesPrice,单价,总价格").Tables[0];
///礼服租售充值
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" DRR_CreateDatetime>='" + StartTime + "' and DRR_CreateDatetime<='" + EndTime + " 23:59:59.000' ");
if (!string.IsNullOrEmpty(cbx_PaymentType.Text.Trim()))
{
str.Append(" and DDR_PaymentMethod = '"+ cbx_PaymentType.Tag + "'");
}
s = BindSelect10();
dressServiceOrder = Orderbll.GetView_Custom("tb_ErpDressDepositReceivables", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,DDR_Number as Pay_OrdNumber,DDR_Money as Pay_AmountOf,DDR_Payments as Sc_ClassName1,'礼服租售付款' as Sc_ClassName,DRR_CreateDatetime as Pay_CreateDatetime,DRR_CreateName as Pay_OpenSingle,DRR_CreateName as Pay_ThePayee,'' as Pay_CommissionRatio,'' as Pay_Category,'' as Pay_ReceivableProject").Tables[0];
List dressNumberList = dressServiceOrder.AsEnumerable().Select(p => p.Field("Pay_OrdNumber")).ToList();
///获取礼服租售
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" Dsro_Number in ('" + string.Join("','", dressNumberList.ToArray()) +"')");
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{ str.Append(" and Dsro_CreateName in (" + EmployeeName + ")"); }
s = BindSelect5();
dressOrder = Orderbll.GetView_Custom("View_DressSaleRentalOrder", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,Dsro_Number,Dsro_Type,Dsro_Amount,Dsro_MortgageAmount,Dsro_CustomerNumber,Dsro_TakeDressTime,Dsro_ReservationBackTime,Dsro_Remark,Dsro_CreateDateTime,Dsro_CreateName,Dsro_UpdateDateTime,Dsro_UpdateName,Cus_CustomerNumber,Cus_Name,Cus_Telephone,开单人姓名").Tables[0];
///获取员工奖罚
//s = "";
//str = new StringBuilder();
//dt = new DataTable();
//str.Append(" Rp_RPDatetime>='" + StartTime + "' and Rp_RPDatetime<='" + EndTime + " 23:59:59.000' and Rp_Status='已执行'");
//if (!string.IsNullOrEmpty(cbx_PaymentType.Text.Trim()))
//{
// strWhereTime += " and Rp_Type = '" + cbx_PaymentType.Tag + "'";
//}
//if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
//{ str.Append(" and Rp_RelevantPeople in (" + EmployeeName + ")"); }
//s = BindSelect6();
//rewardOrder = Orderbll.GetView_Custom("View_ErpRewardPunishment", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,Rp_Type,Rp_RelevantPeople,Rp_Money,Rp_Status,Rp_RPDatetime,Rp_PersonHandling,Rp_Reason,Rp_Remark,Rp_CreateDatetime,Rp_UpdateDatetime,User_Name,Rp_PersonHandlingName").Tables[0];
/////获取员工支出
//s = "";
//str = new StringBuilder();
//dt = new DataTable();
//str.Append(" Oiae_IEDatetime>='" + StartTime + "' and Oiae_IEDatetime<='" + EndTime + " 23:59:59.000' and (Oiae_Type='支出' or Oiae_Type='财务支出')");
//if (!string.IsNullOrEmpty(cbx_PaymentType.Text.Trim()))
//{
// str.Append(" and Oiae_ProjectName = '-1'");
//}
//if (!string.IsNullOrEmpty(cbx_PaymentType.Text.Trim()))
//{
// str.Append(" and Oiae_PaymentMethod = '" + cbx_PaymentType.Tag + "'");
//}
//if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
//{ str.Append(" and Oiae_ThePayer in (" + EmployeeName + ")"); }
//s = BindSelect7();
//paymentOrder = Orderbll.GetView_Custom("View_ErpOtherIncomeAndExpenses", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,Oiae_Type,Oiae_ProjectName,Oiae_Money,Oiae_IEDatetime,Oiae_PersonHandling,Oiae_ThePayer,Oiae_Invoice,Oiae_Remark,Oiae_CreateDatetime,Oiae_FinancialAuditState,Oiae_FinancialAuditPeople,Oiae_ManagerAuditState,Oiae_ManagerAuditPeople,Oiae_CEOAuditState,Oiae_CEOAuditPeople,Oiae_PaymentMethod,User_Name,Oiae_PersonHandlingName,Oiae_FinancialAuditPeopleName,Oiae_ManagerAuditPeopleName,Oiae_CEOAuditPeopleName,Oiae_PaymentMethodName").Tables[0];
///订单付款数据情况
//List payOrderList = new List();
//payOrderList.AddRange(preOrder.AsEnumerable().Select(p => p.Field("Ord_Number")).ToList());
//payOrderList.AddRange(lastOrder.AsEnumerable().Select(p => p.Field("订单号")).ToList());
//string paySql = @"SELECT
// Pay_OrdNumber,
// Pay_Category,
// c2.Sc_ClassName,
// Pay_TwoPinsCategory,
// Pay_OpenSingle,
// c1.Sc_ClassName as Sc_ClassName1,
// Pay_AmountOf,
// Pay_CreateDatetime,
// Pay_ThePayee,
// Pay_ReceivableProject,
// Pay_CommissionRatio
// FROM [tb_ErpPayment] inner join tb_ErpSystemCategory c1 on Pay_PaymentMethod = c1.Sc_ClassCode
// left join tb_ErpSystemCategory c2 on Pay_TwoPinsCategory = c2.Sc_ClassCode
// where Pay_OrdNumber in ('" + string.Join("','", payOrderList.ToArray()) + @"')";
//payData = Orderbll.GetView_Custom(paySql).Tables[0];
///会员充值
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" Mcrr_CreateDatetime>='" + StartTime + "' and Mcrr_CreateDatetime<='" + EndTime + " 23:59:59.000' ");
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{
//str.Append(" and Mcrr_OrderPerson in (" + EmployeeName + ")");
string[] userNumbers = EmployeeName.Split(',');
string strWhere = "";
foreach(string employeeKey in userNumbers)
{
if(!string.IsNullOrEmpty(strWhere))
{
strWhere += " or ";
}
strWhere += " (Mcrr_OrderPerson like '%" + employeeKey.Replace("'","") + "%' or Mcrr_CommissionRatio like '%" + employeeKey.Replace("'", "") + "%' )";
}
str.Append(" and ("+ strWhere + ")");
}
if (!string.IsNullOrEmpty(cbx_PaymentType.Text.Trim()))
{
str.Append(" and Mcrr_PaymentMethod = '" + cbx_PaymentType.Tag + "'");
}
s = BindSelect8();
string memberSql = @" select 'MCRR'+convert(varchar(50),tb_ErpMemberCardRechargeRecord.id) as id,
Mcrr_RechargeNumber,Mcrr_RechargeAmount,c1.Sc_ClassName,Mcrr_RechargeName,
tb_ErpCustomer.Cus_Name,Cus_Telephone,Mcrr_OrderPerson,Mcrr_CreateName,Mcrr_CreateDatetime,Mcrr_CommissionRatio
from
[tb_ErpMemberCardRechargeRecord]
left join
tb_ErpSystemCategory c1 on Mcrr_PaymentMethod = c1.Sc_ClassCode
left join
tb_ErpMemberCard on Mcrr_Number = Mc_Number
left join
tb_ErpCustomer on Cus_CustomerNumber = Mc_CustomerNumber";
memberSql += " where " + str + s;
mamberOrder = Orderbll.GetView_Custom(memberSql).Tables[0];
///服务卡充值
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" Mcpt_CreateDatetime>='" + StartTime + "' and Mcpt_CreateDatetime<='" + EndTime + " 23:59:59.000' ");
if (!string.IsNullOrEmpty(cbx_PaymentType.Text.Trim()))
{
str.Append(" and (Mcpt_PaymentMethod = '" + cbx_PaymentType.Tag + "' )");
}
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{
//str.Append(" and Mcrr_OrderPerson in (" + EmployeeName + ")");
string[] userNumbers = EmployeeName.Split(',');
string strWhere = "";
foreach (string employeeKey in userNumbers)
{
if (!string.IsNullOrEmpty(strWhere))
{
strWhere += " or ";
}
strWhere += " (Mcpt_OrderPerson like '%" + employeeKey.Replace("'", "") + "%' or Mcpt_CommissionRatio like '%"+ employeeKey.Replace("'", "") + "%' )";
}
str.Append(" and (" + strWhere + ")");
}
s = BindSelect9();
string memberServiceSql = @"
SELECT
'MCPT'+convert(varchar(50),tb_ErpMemberCardPayment.id) as id,
tb_ErpCustomer.Cus_Name,Cus_Telephone,
Mcpt_PaymentNumber,
Mcpt_OrderPerson,
Mcpt_PaymentType,
c1.Sc_ClassName ,
Mcpt_PaymentAmount,
Mcpt_CreateDatetime,
Mcpt_CreateName,
Mcpt_CommissionRatio
FROM tb_ErpMemberCardPayment left join tb_ErpSystemCategory c1 on Mcpt_PaymentMethod = c1.Sc_ClassCode
left join
tb_ErpMemberCard on tb_ErpMemberCardPayment.mcpt_Number = Mc_Number
left join
tb_ErpCustomer on Cus_CustomerNumber = Mc_CustomerNumber ";
memberServiceSql += " where " + str + s;
mamberServiceOrder = Orderbll.GetView_Custom(memberServiceSql).Tables[0];
///前期订单数据
List drList = PerDt.AsEnumerable().Where(p => p.Field("Cp_ProportionType") == 1).ToList();
DataRow mainDr = PerDt.NewRow();
DataRow deputyDr = PerDt.NewRow();
if (drList.Count > 0)
{
mainDr = drList.Where(p => p.Field("Cp_ProportionCode") == "MainStoreProportion").First();
deputyDr = drList.Where(p => p.Field("Cp_ProportionCode") == "DeputyStoreProportion").First();
}
List payListData = payData.AsEnumerable().Where(p => p.Field("Pay_TwoPinsCategory") == "").ToList();
GetUserOrderDataByDynamicList(ref dyUserList, preOrder, "Ord_OrderPersonNumber", "Ord_Number", "Pay_OrdNumber", "Pay_CommissionRatio"
, "订单前期", mainDr, deputyDr, payListData);
///后期订单数据
drList = PerDt.AsEnumerable().Where(p => p.Field("Cp_ProportionType") == 5).ToList();
mainDr = PerDt.NewRow();
deputyDr = PerDt.NewRow();
if (drList.Count > 0)
{
mainDr = drList.Where(p => p.Field("Cp_ProportionCode") == "MainLaterOtherTwoSales").First();
deputyDr = drList.Where(p => p.Field("Cp_ProportionCode") == "DeputyLaterOtherTwoSales").First();
}
payListData = payData.AsEnumerable().Where(p => p.Field("Pay_TwoPinsCategory") != "").ToList();
GetUserOrderDataByDynamicList(ref dyUserList, lastOrder, "销售人员编号", "订单号", "Pay_OrdNumber", "Pay_CommissionRatio", "订单后期", mainDr, deputyDr, payListData);
///其他消费数据
drList = PerDt.AsEnumerable().Where(p => p.Field("Cp_ProportionType") == 5).ToList();
mainDr = PerDt.NewRow();
deputyDr = PerDt.NewRow();
if (drList.Count > 0)
{
mainDr = drList.Where(p => p.Field("Cp_ProportionCode") == "MainLaterOtherTwoSales").First();
deputyDr = drList.Where(p => p.Field("Cp_ProportionCode") == "DeputyLaterOtherTwoSales").First();
}
GetUserOrderDataByDynamicList(ref dyUserList, otherOrder, "Tsorder_OpenSingle", "Tsorder_Number","","", "其他消费", mainDr, deputyDr);
///计件提成数据
//mainDr = PerDt.NewRow();
//deputyDr = PerDt.NewRow();
//GetUserOrderDataByDynamicList(ref dyUserList, pieceworkOrder, "Pcr_DigitalDivision", "Pcr_OrderNumber", "", "", "计件提成", mainDr, deputyDr);
///礼服租售数据
mainDr = PerDt.NewRow();
deputyDr = PerDt.NewRow();
payListData = dressServiceOrder.AsEnumerable().ToList();
GetUserOrderDataByDynamicList(ref dyUserList, dressOrder, "Dsro_CreateName", "Dsro_Number", "Pay_OrdNumber", "", "礼服租售", mainDr, deputyDr, payListData);
///员工奖罚
//mainDr = PerDt.NewRow();
//deputyDr = PerDt.NewRow();
//GetUserOrderDataByDynamicList(ref dyUserList, rewardOrder, "Rp_RelevantPeople", "ID", "", "", "员工奖罚", mainDr, deputyDr);
/////员工支出
//mainDr = PerDt.NewRow();
//deputyDr = PerDt.NewRow();
//GetUserOrderDataByDynamicList(ref dyUserList, paymentOrder, "Oiae_ThePayer", "ID", "", "", "员工支出", mainDr, deputyDr);
///会员充值
mainDr = PerDt.NewRow();
deputyDr = PerDt.NewRow();
GetUserOrderDataByDynamicList(ref dyUserList, mamberOrder, "Mcrr_OrderPerson", "id", "", "", "会员充值", mainDr, deputyDr);
///会员服务充值
mainDr = PerDt.NewRow();
deputyDr = PerDt.NewRow();
GetUserOrderDataByDynamicList(ref dyUserList, mamberServiceOrder, "Mcpt_OrderPerson", "id", "", "", "会员服务充值", mainDr, deputyDr);
}
catch (Exception ex)
{
MessageBoxCustom.Show(String.Format("查询数据时出错:{0}",ex.Message));
}
});
this.dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
this.dgv.Rows.Clear();
this.dgv.Columns.Clear();
this.dgv.Columns.Add("PerformancePerson", "业绩人");
this.dgv.Columns.Add("OrdNumber", "订单号");
this.dgv.Columns.Add("CusName", "客户名称");
this.dgv.Columns.Add("CusTelephone", "客户电话");
this.dgv.Columns.Add("MoneyType", "项目类别");
this.dgv.Columns.Add("PerformanceMoney", "单据金额");
this.dgv.Columns.Add("PayType", "支付方式");
this.dgv.Columns.Add("PayValue", "收款金额");
this.dgv.Columns.Add("PayPerformance", "业绩金额");
this.dgv.Columns.Add("PayPerformanceDis", "业绩分配");
this.dgv.Columns.Add("PayUser", "收款人");
this.dgv.Columns.Add("PayTime", "收款日");
this.dgv.Columns.Add("PayName", "收款名称");
this.dgv.Columns[1].Width = 180;
this.dgv.Columns[11].Width = 150;
this.dgv.Columns[9].Width = 300;
this.dgv.Columns[8].Width = 150;
foreach(DataGridViewColumn dataColumn in this.dgv.Columns)
{
dataColumn.SortMode = DataGridViewColumnSortMode.NotSortable;
}
DataGridViewRow dgRow = null;
//业绩
decimal CurrentPerformance = 0;
//计件
decimal PieceCommission = 0;
//奖励
decimal Reward = 0;
//罚款
decimal Fine = 0;
//支出
decimal Expenditure = 0;
//总实收业绩
decimal TotalPerformance = 0;
//前期实收
decimal PreAmount = 0;
//后期实收
decimal LastAmount = 0;
//会员充值
decimal MemberAmount = 0;
///服务充值
decimal ServiceAmount = 0;
Dictionary dicCurrentPerformance = new Dictionary();
Dictionary dicTotalPerformance = new Dictionary();
Dictionary dicPreAmount = new Dictionary();
Dictionary dicLastAmount = new Dictionary();
foreach (string key in dyUserList.Keys)
{
if(!EmployeeName.Contains(key))
{
continue;
}
dgRow = new DataGridViewRow();
dgRow.CreateCells(this.dgv);
dgRow.Cells[0].Style = GetDataGridViewCellStyle(System.Drawing.Color.White, DataGridViewContentAlignment.MiddleLeft);
dgRow.Cells[1].Style = dgRow.Cells[0].Style;
dgRow.Cells[2].Style = dgRow.Cells[0].Style;
dgRow.Cells[3].Style = dgRow.Cells[0].Style;
dgRow.Cells[4].Style = dgRow.Cells[0].Style;
dgRow.Cells[5].Style = dgRow.Cells[0].Style;
dgRow.Cells[6].Style = dgRow.Cells[0].Style;
dgRow.Cells[7].Style = dgRow.Cells[0].Style;
dgRow.Cells[8].Style = dgRow.Cells[0].Style;
dgRow.Cells[9].Style = dgRow.Cells[0].Style;
dgRow.Cells[10].Style = dgRow.Cells[0].Style;
dgRow.Cells[11].Style = dgRow.Cells[0].Style;
dgRow.Cells[12].Style = dgRow.Cells[0].Style;
string[] StrRowValueList = key.ToString().Trim().Split(',');
string keyName = "";
foreach (string StrRowValue in StrRowValueList)
{
if (!string.IsNullOrEmpty(StrRowValue))
{
DataRow dtRows = LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable.Rows.Find(StrRowValue);
if(!string.IsNullOrEmpty(keyName))
{
keyName += ",";
}
if (dtRows != null)
{
keyName += dtRows["User_Name"].ToString().Trim();
}
else
{
keyName += "";
}
}
}
dgRow.Cells[0].Value = keyName;
this.dgv.Rows.Add(dgRow);
Dictionary> ordDataList = dyUserList[key];
int index = 0;
foreach (string subKey in ordDataList.Keys)
{
index++;
List ordDyList = ordDataList[subKey];
DataGridViewRow tempDr = dgRow;
foreach (dynamic ordDy in ordDyList)
{
if(ordDy.业绩金额 == "付款"&& index==1)
{
index++;
}
if(index>1)
{
if (tempDr.Cells[6].Value.ToString()=="合计")
{
IDictionary idicObj = ordDy;
//this.dgv.Rows.Add(GetSubDataGridViewRow(subKey, dgRow, ordDy, index, ordDyList.Count == index));
tempDr.Cells[6].Value = idicObj["支付方式"];
tempDr.Cells[7].Value = idicObj["收款金额"];
tempDr.Cells[9].Value = idicObj["业绩描述"];
tempDr.Cells[8].Value = idicObj["业绩分配"];
tempDr.Cells[10].Value = idicObj["收款人"];
tempDr.Cells[11].Value = idicObj["收款日"].ToString();
tempDr.Cells[12].Value = idicObj["收款名称"];
}
else
{
this.dgv.Rows.Add(GetSubDataGridViewRow(subKey, dgRow, ordDy, index, ordDyList.Count == index));
IDictionary idicObj = ordDy;
if (idicObj["支付方式"].ToString()== "合计")
{
tempDr = this.dgv.Rows[this.dgv.Rows.Count - 1];
}
else
{
if (this.dgv.Rows[this.dgv.Rows.Count - 1].Cells["MoneyType"].Value.ToString_s() == "订单前期" || this.dgv.Rows[this.dgv.Rows.Count - 1].Cells["MoneyType"].Value.ToString_s() == "订单后期"
|| this.dgv.Rows[this.dgv.Rows.Count - 1].Cells["MoneyType"].Value.ToString_s() == "礼服租售")
{
this.dgv.Rows[this.dgv.Rows.Count - 1].Cells[5].Value = tempDr.Cells["PerformanceMoney"].Value;
this.dgv.Rows[this.dgv.Rows.Count - 1].Cells[2].Value = tempDr.Cells["CusName"].Value;
this.dgv.Rows[this.dgv.Rows.Count - 1].Cells[3].Value = tempDr.Cells["CusTelephone"].Value;
}
}
if (ordDyList.Where(p => p.业绩金额 == "付款").ToList().Count==0)
{
if (tempDr.Cells[6].Value.ToString() == "合计")
{
tempDr.Cells[6].Value = "";
}
}
this.dgv.Rows[this.dgv.Rows.Count - 1].Cells[0].Value = keyName;
}
}
else
{
GetSubDataGridViewRow(subKey, dgRow, ordDy, index, ordDyList.Count == index);
}
}
///业绩
//CurrentPerformance += ordDyList.Where(p=>p.收款类型== "订单前期" || p.收款类型 == "订单后期"
// || p.收款类型 == "其他消费" || p.收款类型 == "礼服租售").Sum(p => Convert.ToInt32(p.业绩额));
foreach(dynamic dyObj in ordDyList.Where(p => p.收款类型 == "订单前期" || p.收款类型 == "订单后期" || p.收款类型 == "其它消费" || p.收款类型 == "礼服租售"
|| p.收款类型 == "会员充值" || p.收款类型 == "会员服务充值"))
{
if(!dicCurrentPerformance.ContainsKey(dyObj.自定义订单号.ToString() + dyObj.收款类型.ToString()+ dyObj.收款日.ToString()))
{
dicCurrentPerformance.Add(dyObj.自定义订单号.ToString()+ dyObj.收款类型.ToString() + dyObj.收款日.ToString(), dyObj.收款金额);
}
}
//计件提成
PieceCommission += ordDyList.Where(p => p.收款类型 == "计件提成").Sum(p => Convert.ToInt32(p.业绩额));
//员工支出
Expenditure += ordDyList.Where(p => p.收款类型 == "员工支出").Sum(p => Convert.ToInt32(p.业绩额));
//员工奖罚
Reward += ordDyList.Where(p => p.收款类型 == "员工奖罚" && p.支付方式== "奖励").Sum(p => Convert.ToInt32(p.业绩额));
Fine += ordDyList.Where(p => p.收款类型 == "员工奖罚" && p.支付方式 == "惩罚").Sum(p => Convert.ToInt32(p.业绩额));
//TotalPerformance += ordDyList.Where(p => p.收款类型 == "订单前期收款" || p.收款类型 == "订单后期收款"
// || p.收款类型 == "其他消费收款" || p.收款类型 == "礼服租售收款")
// .Sum(p => Convert.ToInt32(p.业绩金额));
//foreach (dynamic dyObj in ordDyList.Where(p => p.收款类型 == "订单前期收款" || p.收款类型 == "订单后期收款"
// || p.收款类型 == "其他消费收款" || p.收款类型 == "礼服租售收款"))
//{
// if (!dicTotalPerformance.ContainsKey(dyObj.自定义订单号.ToString() + dyObj.收款类型.ToString() + dyObj.收款日.ToString()))
// {
// dicTotalPerformance.Add(dyObj.自定义订单号.ToString() + dyObj.收款类型.ToString() + dyObj.收款日.ToString(), dyObj.收款金额);
// }
//}
//PreAmount += ordDyList.Where(p => p.收款类型 == "订单前期收款" ).Sum(p => Convert.ToInt32(p.收款金额));
foreach (dynamic dyObj in ordDyList.Where(p => p.收款类型 == "订单前期收款"))
{
if (!dicPreAmount.ContainsKey(dyObj.自定义订单号.ToString() + dyObj.收款类型.ToString() + dyObj.收款日.ToString()))
{
dicPreAmount.Add(dyObj.自定义订单号.ToString() + dyObj.收款类型.ToString() + dyObj.收款日.ToString(), dyObj.收款金额);
}
}
//LastAmount += ordDyList.Where(p => p.收款类型 == "订单后期收款").Sum(p => Convert.ToInt32(p.收款金额));
foreach (dynamic dyObj in ordDyList.Where(p => p.收款类型 == "订单后期收款"))
{
if (!dicLastAmount.ContainsKey(dyObj.自定义订单号.ToString() + dyObj.收款类型.ToString() + dyObj.收款日.ToString()))
{
dicLastAmount.Add(dyObj.自定义订单号.ToString() + dyObj.收款类型.ToString() + dyObj.收款日.ToString(), dyObj.收款金额);
}
}
MemberAmount += ordDyList.Where(p => p.收款类型 == "会员充值").Sum(p => Convert.ToInt32(p.业绩额));
ServiceAmount += ordDyList.Where(p => p.收款类型 == "会员服务充值").Sum(p => Convert.ToInt32(p.业绩额));
}
}
Dictionary dicPayTypeList = new Dictionary();
dicPayTypeList.Add("订单前期", 0);
dicPayTypeList.Add("订单后期", 0);
dicPayTypeList.Add("其它消费", 0);
dicPayTypeList.Add("礼服租售", 0);
dicPayTypeList.Add("会员充值", 0);
dicPayTypeList.Add("会员服务充值", 0);
Dictionary dicStoreTypeList = new Dictionary();
dicStoreTypeList.Add("订单前期", 0);
dicStoreTypeList.Add("订单后期", 0);
dicStoreTypeList.Add("其它消费", 0);
dicStoreTypeList.Add("礼服租售", 0);
dicStoreTypeList.Add("会员充值", 0);
dicStoreTypeList.Add("会员服务充值", 0);
decimal storedValue = 0;
foreach (DataGridViewRow dgvr in this.dgv.Rows)
{
TotalPerformance += Convert.ToDecimal(dgvr.Cells["PayPerformance"].Value.ToString_s()==""?"0": dgvr.Cells["PayPerformance"].Value.ToString_s());
if(dgvr.Cells["PayType"].Value.ToString_s()=="储值卡扣款")
{
storedValue += Convert.ToDecimal(dgvr.Cells["PayPerformance"].Value.ToString_s() == "" ? "0" : dgvr.Cells["PayPerformance"].Value.ToString_s());
}
if(dicPayTypeList.ContainsKey(dgvr.Cells["MoneyType"].Value.ToString_s()))
{
dicPayTypeList[dgvr.Cells["MoneyType"].Value.ToString_s()] += Convert.ToDecimal(dgvr.Cells["PayPerformance"].Value.ToString_s() == "" ? "0" : dgvr.Cells["PayPerformance"].Value.ToString_s());
if (dgvr.Cells["PayType"].Value.ToString_s() == "储值卡扣款")
{
if (dicStoreTypeList.ContainsKey(dgvr.Cells["MoneyType"].Value.ToString_s()))
{
dicStoreTypeList[dgvr.Cells["MoneyType"].Value.ToString_s()] += Convert.ToDecimal(dgvr.Cells["PayPerformance"].Value.ToString_s() == "" ? "0" : dgvr.Cells["PayPerformance"].Value.ToString_s());
}
}
}
}
DataTable gridDataTable = DataGriwViewToDataTable(dgv);
dgv.Rows.Clear();
foreach(string key in dicPayTypeList.Keys)
{
List drList = gridDataTable.AsEnumerable().Where(p => p.Field("MoneyType") == key).ToList();
if (drList.Count > 0)
{
dgRow = new DataGridViewRow();
dgRow.CreateCells(this.dgv);
dgRow.Cells[0].Style = GetDataGridViewCellStyle(System.Drawing.Color.LightCyan, DataGridViewContentAlignment.MiddleLeft);
dgRow.Cells[1].Style = dgRow.Cells[0].Style;
dgRow.Cells[2].Style = dgRow.Cells[0].Style;
dgRow.Cells[3].Style = dgRow.Cells[0].Style;
dgRow.Cells[4].Style = dgRow.Cells[0].Style;
dgRow.Cells[5].Style = dgRow.Cells[0].Style;
dgRow.Cells[6].Style = dgRow.Cells[0].Style;
dgRow.Cells[7].Style = dgRow.Cells[0].Style;
dgRow.Cells[8].Style = dgRow.Cells[0].Style;
dgRow.Cells[9].Style = dgRow.Cells[0].Style;
dgRow.Cells[10].Style = dgRow.Cells[0].Style;
dgRow.Cells[11].Style = dgRow.Cells[0].Style;
dgRow.Cells[12].Style = dgRow.Cells[0].Style;
dgRow.Cells[0].Value = key;
//dgRow.Cells[0].Style = new DataGridViewCellStyle() { ForeColor = Color.Red };
dgv.Rows.Add(dgRow);
foreach (DataRow dr in drList)
{
dgRow = new DataGridViewRow();
dgRow.CreateCells(this.dgv);
dgRow.Cells[0].Style = GetDataGridViewCellStyle(System.Drawing.Color.White, DataGridViewContentAlignment.MiddleLeft);
dgRow.Cells[1].Style = dgRow.Cells[0].Style;
dgRow.Cells[2].Style = dgRow.Cells[0].Style;
dgRow.Cells[3].Style = dgRow.Cells[0].Style;
dgRow.Cells[4].Style = dgRow.Cells[0].Style;
dgRow.Cells[5].Style = dgRow.Cells[0].Style;
dgRow.Cells[6].Style = dgRow.Cells[0].Style;
dgRow.Cells[7].Style = dgRow.Cells[0].Style;
dgRow.Cells[8].Style = dgRow.Cells[0].Style;
dgRow.Cells[9].Style = dgRow.Cells[0].Style;
dgRow.Cells[10].Style = dgRow.Cells[0].Style;
dgRow.Cells[11].Style = dgRow.Cells[0].Style;
dgRow.Cells[12].Style = dgRow.Cells[0].Style;
for (int columnIndex =0; columnIndex < dgv.Columns.Count; columnIndex++)
{
dgRow.Cells[columnIndex].Value = dr[dgv.Columns[columnIndex].Name];
}
dgv.Rows.Add(dgRow);
}
}
}
PreAmount = dicPreAmount.Values.Sum();
LastAmount = dicLastAmount.Values.Sum();
txtCurrentUserPerformance.Text = "总业绩:" + TotalPerformance.ToString("N2")+" (其中储值卡扣款:"+ storedValue + ")";
string paymentData = "";
foreach(string key in dicPayTypeList.Keys)
{
if (dicPayTypeList[key] > 0)
{
if (!string.IsNullOrEmpty(paymentData))
{
paymentData += ",";
}
paymentData += key + ":" + dicPayTypeList[key].ToString("N2")+(dicStoreTypeList[key]>0? "(其中储值卡扣款:" + dicStoreTypeList[key] + ")":"");
}
}
this.tb_DetailPerformance.Text = paymentData;
//this.tb_PreAmount.Text = PreAmount.ToString("N2");
//this.tb_LastAmount.Text = LastAmount.ToString("N2");
//this.tb_MemberValue.Text = MemberAmount.ToString("N2");
this.dgv.ClearSelection();
#region 注释掉的代码
/*
#region 获取订单前期业绩
str.Append(" Ord_CreateDateTime>='" + StartTime + "' and Ord_CreateDateTime<='" + EndTime + " 23:59:59.000' and Ord_Class='1'");
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{ str.Append(" and Ord_OrderPersonNumber like '%" + EmployeeName + "%'"); }
s = BindSelect1();
LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate(object obj, BackgroundWorker backgroundWorker)
{
dt = orbll.GetView_Custom("tb_ErpOrder Left Join tempTB_AggregationCustomer on GP_OrderNumber = Ord_Number", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "Ord_Number,Ord_OrderPersonName,Ord_OrderPersonNumber,Cus_Name,Ord_SeriesPrice,Ord_CreateDatetime,Ord_PhotographyCategory,Ord_SeriesName").Tables[0];
if (dt.Rows.Count > 0)
{
this.Invoke(new LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.UpdateControl(delegate ()
{
List drList = PerDt.AsEnumerable().Where(p => p.Field("Cp_ProportionType") == 1).ToList();
DataRow mainDr = PerDt.NewRow();
DataRow deputyDr = PerDt.NewRow();
if (drList.Count > 0)
{
mainDr = drList.Where(p => p.Field("Cp_ProportionCode") == "MainStoreProportion").First();
deputyDr = drList.Where(p => p.Field("Cp_ProportionCode") == "DeputyStoreProportion").First();
}
for (int t = 0; t < dt.Rows.Count; t++)
{
DataGridViewRow dgvr = new DataGridViewRow();
DataGridViewCell cell = null;
//订单号
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Ord_Number"].ToString().Trim();
dgvr.Cells.Add(cell);
//员工
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Ord_OrderPersonName"].ToString().Trim();
dgvr.Cells.Add(cell);
//客户姓名
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Cus_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//业绩金额
cell = new DataGridViewTextBoxCell();
cell.Value = GetAchievement(
Convert.ToDecimal(dt.Rows[t]["Ord_SeriesPrice"]),
dt.Rows[t]["Ord_OrderPersonNumber"].ToString(),
EmployeeName, mainDr, deputyDr).ToString("N2");//Convert.ToDecimal(dt.Rows[t]["Ord_SeriesPrice"]).ToString("N2");
dgvr.Cells.Add(cell);
//创建时间
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Ord_CreateDatetime"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系类别
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Ord_PhotographyCategory"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系名称
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Ord_SeriesName"].ToString().Trim();
dgvr.Cells.Add(cell);
//项目名称
cell = new DataGridViewTextBoxCell();
cell.Value = "订单前期业绩";
dgvr.Cells.Add(cell);
this.dgv.Rows.Add(dgvr);
}
dgv.ClearSelection();
}));
}
});
#endregion
#region 获取订单后期业绩
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" 创建时间>='" + StartTime + "' and 创建时间<='" + EndTime + " 23:59:59.000'");
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{ str.Append(" and 销售人员编号 like '%" + EmployeeName + "%'"); }
s = BindSelect2();
LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate(object obj, BackgroundWorker backgroundWorker)
{
List drList = PerDt.AsEnumerable().Where(p => p.Field("Cp_ProportionType") == 5).ToList();
DataRow mainDr = PerDt.NewRow();
DataRow deputyDr = PerDt.NewRow();
if (drList.Count > 0)
{
mainDr = drList.Where(p => p.Field("Cp_ProportionCode") == "MainLaterOtherTwoSales").First();
deputyDr = drList.Where(p => p.Field("Cp_ProportionCode") == "DeputyLaterOtherTwoSales").First();
}
dt = Orderbll.GetView_Custom("Vw_ErpPlusPickItems", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,订单号,金额,创建时间,商品名称,录单人编号,录单人名称,商品成本价,加挑金额来源类型,销售人员编号,销售人员名称,二销类别编号,二销类别名称,客户名称,拼音,电话,套系类别").Tables[0];
if (dt.Rows.Count > 0)
{
this.Invoke(new LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.UpdateControl(delegate ()
{
for (int t = 0; t < dt.Rows.Count; t++)
{
DataGridViewRow dgvr = new DataGridViewRow();
DataGridViewCell cell = null;
//订单号
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["订单号"].ToString().Trim();
dgvr.Cells.Add(cell);
//员工
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["销售人员名称"].ToString().Trim();
dgvr.Cells.Add(cell);
//客户姓名
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["客户名称"].ToString().Trim();
dgvr.Cells.Add(cell);
//业绩金额
cell = new DataGridViewTextBoxCell();
cell.Value = GetAchievement(
Convert.ToDecimal(dt.Rows[t]["金额"]),
dt.Rows[t]["销售人员编号"].ToString(),
EmployeeName, mainDr, deputyDr).ToString("N2"); //Convert.ToDecimal(dt.Rows[t]["金额"]).ToString("N2");
dgvr.Cells.Add(cell);
//创建时间
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["创建时间"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系类别
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["二销类别名称"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系名称
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["商品名称"].ToString().Trim();
dgvr.Cells.Add(cell);
//项目名称
cell = new DataGridViewTextBoxCell();
cell.Value = "订单后期业绩";
dgvr.Cells.Add(cell);
this.dgv.Rows.Add(dgvr);
}
dgv.ClearSelection();
}));
}
});
#endregion
#region 获取其它消费
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" Tsorder_CreateDatetime>='" + StartTime + "' and Tsorder_CreateDatetime<='" + EndTime + " 23:59:59.000'");
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{ str.Append(" and Tsorder_OpenSingle like '%" + EmployeeName + "%'"); }
s = BindSelect3();
LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate(object obj, BackgroundWorker backgroundWorker)
{
List drList = PerDt.AsEnumerable().Where(p => p.Field("Cp_ProportionType") == 5).ToList();
DataRow mainDr = PerDt.NewRow();
DataRow deputyDr = PerDt.NewRow();
if (drList.Count > 0)
{
mainDr = drList.Where(p => p.Field("Cp_ProportionCode") == "MainLaterOtherTwoSales").First();
deputyDr = drList.Where(p => p.Field("Cp_ProportionCode") == "DeputyLaterOtherTwoSales").First();
}
// dt = AllViewSetbll.Vw_Customer_PaymentOrders(str.ToString() + s.ToString()).Tables[0];
dt = Orderbll.GetView_Custom("Vw_TwoSalesOrder", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,Tsorder_Number,Tsorder_Name,Tsorder_CustomerName,Tsorder_OpenSingle,Tsorder_Telephone,Cus_NamePinyin,Tsorder_Money,Tsorder_Quantity,Tsorder_Category,Tsorder_OpenSingle,Tsorder_PersonHandling,Tsorder_Remark,Tsorder_CreateDatetime,Tsorder_UpdateDatetime,User_Name,Tsorder_PersonHandlingName,Tsorder_CategoryName,Tsorder_CustomerNumber").Tables[0];
if (dt.Rows.Count > 0)
{
this.Invoke(new LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.UpdateControl(delegate ()
{
for (int t = 0; t < dt.Rows.Count; t++)
{
DataGridViewRow dgvr = new DataGridViewRow();
DataGridViewCell cell = null;
//订单号
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Tsorder_Number"].ToString().Trim();
dgvr.Cells.Add(cell);
//员工
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["User_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//客户姓名
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Tsorder_CustomerName"].ToString().Trim();
dgvr.Cells.Add(cell);
//业绩金额
cell = new DataGridViewTextBoxCell();
cell.Value = GetAchievement(
Convert.ToDecimal(dt.Rows[t]["Tsorder_Money"]),
dt.Rows[t]["Tsorder_OpenSingle"].ToString(),
EmployeeName, mainDr, deputyDr).ToString("N2"); //Convert.ToDecimal(dt.Rows[t]["Tsorder_Money"]).ToString("N2");
dgvr.Cells.Add(cell);
//创建时间
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Tsorder_CreateDatetime"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系类别
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Tsorder_CategoryName"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系名称
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Tsorder_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//项目名称
cell = new DataGridViewTextBoxCell();
cell.Value = "其它消费";
dgvr.Cells.Add(cell);
this.dgv.Rows.Add(dgvr);
}
dgv.ClearSelection();
}));
}
});
#endregion
#region 获取计件提成
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" Pcr_CreateTime>='" + StartTime + "' and Pcr_CreateTime<='" + EndTime + " 23:59:59.000'");
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{ str.Append(" and Pcr_DigitalDivision like '%" + EmployeeName + "%'"); }
s = BindSelect4();
LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate(object obj, BackgroundWorker backgroundWorker)
{
dt = Orderbll.GetView_Custom("Vw_ErpPieceCommissionRecords", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,Pcr_OrderNumber,Pcr_DigitalDivision,Pcr_Date,Pcr_CompletionContents,Pcr_Quantity,Pcr_CreateTime,Pcr_EntryPeople,Pcr_Type,Pcr_DigitalDivisionName,Pcr_CompletionContentsName,Pcr_EntryPeopleName,Ord_Type,Ord_Class,Cus_Name,Cus_Telephone,Ord_SeriesName,Ord_SeriesPrice,总价格").Tables[0];
if (dt.Rows.Count > 0)
{
this.Invoke(new LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.UpdateControl(delegate()
{
for (int t = 0; t < dt.Rows.Count; t++)
{
DataGridViewRow dgvr = new DataGridViewRow();
DataGridViewCell cell = null;
//订单号
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Pcr_OrderNumber"].ToString().Trim();
dgvr.Cells.Add(cell);
//员工
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Pcr_DigitalDivisionName"].ToString().Trim();
dgvr.Cells.Add(cell);
//客户姓名
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Cus_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//业绩金额
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["总价格"].ToString() == "" ? "0" : Convert.ToDecimal(dt.Rows[t]["总价格"]).ToString("N2");
dgvr.Cells.Add(cell);
//创建时间
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Pcr_CreateTime"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系类别
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Pcr_CompletionContentsName"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系名称
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Ord_SeriesName"].ToString().Trim();
dgvr.Cells.Add(cell);
//项目名称
cell = new DataGridViewTextBoxCell();
cell.Value = "计件提成";
dgvr.Cells.Add(cell);
this.dgv.Rows.Add(dgvr);
}
dgv.ClearSelection();
}));
}
});
#endregion
#region 获取礼服租售
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" Dsro_CreateDateTime>='" + StartTime + "' and Dsro_CreateDateTime<='" + EndTime + " 23:59:59.000' and Dsro_Type != '2'");
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{ str.Append(" and Dsro_CreateName like '%" + EmployeeName + "%'"); }
s = BindSelect5();
LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate(object obj, BackgroundWorker backgroundWorker)
{
dt = Orderbll.GetView_Custom("View_DressSaleRentalOrder", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,Dsro_Number,Dsro_Type,Dsro_Amount,Dsro_MortgageAmount,Dsro_CustomerNumber,Dsro_TakeDressTime,Dsro_ReservationBackTime,Dsro_Remark,Dsro_CreateDateTime,Dsro_CreateName,Dsro_UpdateDateTime,Dsro_UpdateName,Cus_CustomerNumber,Cus_Name,开单人姓名").Tables[0];
if (dt.Rows.Count > 0)
{
this.Invoke(new LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.UpdateControl(delegate()
{
for (int t = 0; t < dt.Rows.Count; t++)
{
DataGridViewRow dgvr = new DataGridViewRow();
DataGridViewCell cell = null;
//订单号
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Dsro_Number"].ToString().Trim();
dgvr.Cells.Add(cell);
//员工
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["开单人姓名"].ToString().Trim();
dgvr.Cells.Add(cell);
//客户姓名
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Cus_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//业绩金额
cell = new DataGridViewTextBoxCell();
cell.Value = Convert.ToDecimal(dt.Rows[t]["Dsro_Amount"]).ToString("N2");
dgvr.Cells.Add(cell);
//创建时间
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Dsro_CreateDateTime"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系类别
cell = new DataGridViewTextBoxCell();
cell.Value = "礼服租售";
dgvr.Cells.Add(cell);
//套系名称
cell = new DataGridViewTextBoxCell();
if (dt.Rows[t]["Dsro_Type"].ToString().Trim() == "0")
{ cell.Value = "出租"; }
else if (dt.Rows[t]["Dsro_Type"].ToString().Trim() == "1")
{ cell.Value = "出售"; }
dgvr.Cells.Add(cell);
//项目名称
cell = new DataGridViewTextBoxCell();
cell.Value = "礼服租售";
dgvr.Cells.Add(cell);
this.dgv.Rows.Add(dgvr);
}
dgv.ClearSelection();
}));
}
});
#endregion
#region 获取员工奖罚
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" Rp_RPDatetime>='" + StartTime + "' and Rp_RPDatetime<='" + EndTime + " 23:59:59.000' and Rp_Status='已执行'");
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{ str.Append(" and Rp_RelevantPeople like '%" + EmployeeName + "%'"); }
s = BindSelect6();
LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate(object obj, BackgroundWorker backgroundWorker)
{
dt = Orderbll.GetView_Custom("View_ErpRewardPunishment", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,Rp_Type,Rp_RelevantPeople,Rp_Money,Rp_Status,Rp_RPDatetime,Rp_PersonHandling,Rp_Reason,Rp_Remark,Rp_CreateDatetime,Rp_UpdateDatetime,User_Name,Rp_PersonHandlingName").Tables[0];
if (dt.Rows.Count > 0)
{
this.Invoke(new LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.UpdateControl(delegate()
{
for (int t = 0; t < dt.Rows.Count; t++)
{
DataGridViewRow dgvr = new DataGridViewRow();
DataGridViewCell cell = null;
//订单号
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["ID"].ToString().Trim();
dgvr.Cells.Add(cell);
//员工
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["User_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//客户姓名
cell = new DataGridViewTextBoxCell();
cell.Value = "";// dt.Rows[t]["Cus_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//业绩金额
cell = new DataGridViewTextBoxCell();
cell.Value = Convert.ToDecimal(dt.Rows[t]["Rp_Money"]).ToString("N2");
dgvr.Cells.Add(cell);
//创建时间
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Rp_RPDatetime"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系类别
cell = new DataGridViewTextBoxCell();
cell.Value = "员工奖罚";
dgvr.Cells.Add(cell);
//套系名称
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Rp_Type"].ToString().Trim();
dgvr.Cells.Add(cell);
//项目名称
cell = new DataGridViewTextBoxCell();
cell.Value = "员工奖罚";
dgvr.Cells.Add(cell);
this.dgv.Rows.Add(dgvr);
}
dgv.ClearSelection();
}));
}
});
#endregion
#region 获取员工支出
s = "";
str = new StringBuilder();
dt = new DataTable();
str.Append(" Oiae_IEDatetime>='" + StartTime + "' and Oiae_IEDatetime<='" + EndTime + " 23:59:59.000' and (Oiae_Type='支出' or Oiae_Type='财务支出')");
if (EmployeeName != null && !string.IsNullOrEmpty(EmployeeName))
{ str.Append(" and Oiae_ThePayer like '%" + EmployeeName + "%'"); }
s = BindSelect7();
LYFZ.ComponentLibrary.FrmLoadHandling.LoadDoWorkMethod(delegate(object obj, BackgroundWorker backgroundWorker)
{
dt = Orderbll.GetView_Custom("View_ErpOtherIncomeAndExpenses", StrWhere: str.ToString() + s.ToString(), ShowColumnName: "ID,Oiae_Type,Oiae_ProjectName,Oiae_Money,Oiae_IEDatetime,Oiae_PersonHandling,Oiae_ThePayer,Oiae_Invoice,Oiae_Remark,Oiae_CreateDatetime,Oiae_FinancialAuditState,Oiae_FinancialAuditPeople,Oiae_ManagerAuditState,Oiae_ManagerAuditPeople,Oiae_CEOAuditState,Oiae_CEOAuditPeople,Oiae_PaymentMethod,User_Name,Oiae_PersonHandlingName,Oiae_FinancialAuditPeopleName,Oiae_ManagerAuditPeopleName,Oiae_CEOAuditPeopleName,Oiae_PaymentMethodName").Tables[0];
if (dt.Rows.Count > 0)
{
this.Invoke(new LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.UpdateControl(delegate()
{
for (int t = 0; t < dt.Rows.Count; t++)
{
DataGridViewRow dgvr = new DataGridViewRow();
DataGridViewCell cell = null;
//订单号
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["ID"].ToString().Trim();
dgvr.Cells.Add(cell);
//员工
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["User_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//客户姓名
cell = new DataGridViewTextBoxCell();
cell.Value = "";// dt.Rows[t]["Cus_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//业绩金额
cell = new DataGridViewTextBoxCell();
cell.Value = Convert.ToDecimal(dt.Rows[t]["Oiae_Money"]).ToString("N2");
dgvr.Cells.Add(cell);
//创建时间
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Oiae_IEDatetime"].ToString().Trim();
dgvr.Cells.Add(cell);
//套系类别
cell = new DataGridViewTextBoxCell();
cell.Value = "员工支出";
dgvr.Cells.Add(cell);
//套系名称
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["Oiae_ProjectName"].ToString().Trim();
dgvr.Cells.Add(cell);
//项目名称
cell = new DataGridViewTextBoxCell();
cell.Value = "员工支出";
dgvr.Cells.Add(cell);
this.dgv.Rows.Add(dgvr);
}
dgv.ClearSelection();
}));
}
});
#endregion
*/
/*
#region 显示绘画(合计业绩)
if (this.dgv.Rows.Count > 0)
{
//业绩
decimal CurrentPerformance = 0;
//计件
decimal PieceCommission = 0;
//奖励
decimal Reward = 0;
//罚款
decimal Fine = 0;
//支出
decimal Expenditure = 0;
for (int i = 0; i < this.dgv.Rows.Count; i++)
{
#region 参数
object Project_Name = this.dgv.Rows[i].Cells["Column8"].Value;
object Type = this.dgv.Rows[i].Cells["Column6"].Value;
decimal Pay_AmountOf = Convert.ToDecimal(this.dgv.Rows[i].Cells["Column3"].Value);
#endregion
#region 合计
if (Project_Name.ToString() != "")
{
if (Project_Name.ToString() == "订单前期业绩" || Project_Name.ToString() == "订单后期业绩" || Project_Name.ToString() == "其它消费" || Project_Name.ToString() == "礼服租售")
{
CurrentPerformance += Pay_AmountOf;
}
if (Project_Name.ToString() == "计件提成")
{
PieceCommission += Pay_AmountOf;
}
if (Project_Name.ToString() == "员工支出")
{
Expenditure += Pay_AmountOf;
}
if (Project_Name.ToString() == "员工奖罚")
{
if (Type.ToString() == "奖励")
{
Reward += Pay_AmountOf;
}
if (Type.ToString() == "惩罚")
{
Fine += Pay_AmountOf;
}
}
}
#endregion
}
Sum = CurrentPerformance;
this.txtPieceCommission.Text = PieceCommission.ToString("N2");
this.txtRewardPunishment.Text = "奖:" + Reward + "," + "罚:" + Fine;
this.txtExpenditure.Text = Expenditure.ToString("N2");
}
#endregion
*/
#endregion
return Sum;
}
DataTable DataGriwViewToDataTable(DataGridView dataGridView)
{
DataTable dt = new DataTable();
foreach(DataGridViewColumn column in dataGridView.Columns)
{
dt.Columns.Add(column.Name);
}
foreach(DataGridViewRow gridRow in dataGridView.Rows)
{
DataRow dr = dt.NewRow();
foreach (DataGridViewColumn column in dataGridView.Columns)
{
dr[column.Name] = gridRow.Cells[column.Name].Value;
}
dt.Rows.Add(dr);
}
return dt;
}
private string BindSelect10()
{
StringBuilder str = new StringBuilder();
if (!string.IsNullOrEmpty(this.CtvPak_Name.Text.Trim()))
{ str.Append(" and tb_ErpDressDepositReceivables.id=-3"); }
if (!string.IsNullOrEmpty(this.cmbItemCategory.Text.Trim()))
{
if (this.cmbItemCategory.Text != "礼服租售")
{ str.Append(" and tb_ErpDressDepositReceivables.id=-3"); }
}
return str.ToString();
}
///
///
///
/// 统计查询方案
///
///
///
DataGridViewRow GetSubDataGridViewRow(string ordNumber, DataGridViewRow firstDr, dynamic ordDy, int index, bool isEndRow = false)
{
IDictionary idicObj = ordDy;
DataGridViewRow dgRow = new DataGridViewRow();
if (index > 1)
{
dgRow.CreateCells(this.dgv);
dgRow.Cells[0].Style = GetDataGridViewCellStyle(System.Drawing.Color.White, DataGridViewContentAlignment.MiddleLeft);
dgRow.Cells[1].Style = dgRow.Cells[0].Style;
dgRow.Cells[2].Style = dgRow.Cells[0].Style;
dgRow.Cells[3].Style = dgRow.Cells[0].Style;
dgRow.Cells[4].Style = dgRow.Cells[0].Style;
dgRow.Cells[5].Style = dgRow.Cells[0].Style;
dgRow.Cells[6].Style = dgRow.Cells[0].Style;
dgRow.Cells[7].Style = dgRow.Cells[0].Style;
dgRow.Cells[8].Style = dgRow.Cells[0].Style;
dgRow.Cells[9].Style = dgRow.Cells[0].Style;
dgRow.Cells[10].Style = dgRow.Cells[0].Style;
dgRow.Cells[11].Style = dgRow.Cells[0].Style;
dgRow.Cells[12].Style = dgRow.Cells[0].Style;
if (isEndRow)
{
dgRow.Cells[0].Tag = this.dgv.EraseCellDrawLineHEnd;
dgRow.Cells[1].Tag = this.dgv.EraseCellDrawLineHEnd;
dgRow.Cells[2].Tag = this.dgv.EraseCellDrawLineHEnd;
dgRow.Cells[3].Tag = this.dgv.EraseCellDrawLineHEnd;
dgRow.Cells[4].Tag = this.dgv.EraseCellDrawLineHEnd;
dgRow.Cells[5].Tag = this.dgv.EraseCellDrawLineHEnd;
dgRow.Cells[6].Tag = this.dgv.EraseCellDrawLineVHEnd;
}
else
{
dgRow.Cells[0].Tag = this.dgv.EraseCellDrawLine;
dgRow.Cells[1].Tag = this.dgv.EraseCellDrawLine;
dgRow.Cells[2].Tag = this.dgv.EraseCellDrawLine;
dgRow.Cells[3].Tag = this.dgv.EraseCellDrawLine;
dgRow.Cells[4].Tag = this.dgv.EraseCellDrawLine;
dgRow.Cells[5].Tag = this.dgv.EraseCellDrawLine;
dgRow.Cells[6].Tag = this.dgv.EraseCellDrawLineVEnd;
}
}
else
{
dgRow = firstDr;
}
dgRow.Cells[2].Value = idicObj["客户姓名"];
dgRow.Cells[3].Value = idicObj["客户电话"];
if (idicObj["业绩金额"].ToString() != "付款")
{
dgRow.Cells[1].Value = idicObj.ContainsKey("自定义订单号") ? idicObj["自定义订单号"] : ordNumber;
dgRow.Cells[5].Value = idicObj["业绩金额"];
dgRow.Cells[4].Value = idicObj["收款类型"];
}
else
{
dgRow.Cells[1].Value = idicObj.ContainsKey("自定义订单号") ? idicObj["自定义订单号"] : ordNumber;
//dgRow.Cells[5].Value = firstDr.Cells["PerformanceMoney"].Value;
dgRow.Cells[4].Value = idicObj["收款类型"].ToString().Replace("收款","");
//dgRow.Cells[5].Value = firstDr.Cells["PerformanceMoney"].Value;
//dgRow.Cells[2].Value = firstDr.Cells["CusName"].Value;
//dgRow.Cells[3].Value = firstDr.Cells["CusTelephone"].Value;
}
dgRow.Cells[6].Value = idicObj["支付方式"];
dgRow.Cells[7].Value = idicObj["收款金额"];
dgRow.Cells[9].Value = idicObj["业绩描述"];
dgRow.Cells[8].Value = idicObj["业绩分配"];
dgRow.Cells[10].Value = idicObj["收款人"];
dgRow.Cells[11].Value = idicObj["收款日"].ToString();
dgRow.Cells[12].Value = idicObj["收款名称"];
return dgRow;
}
#region 字段样式定义
System.Windows.Forms.DataGridViewCellStyle GetDataGridViewCellStyle(System.Drawing.Color bgcolor, System.Windows.Forms.DataGridViewContentAlignment alignment = DataGridViewContentAlignment.MiddleCenter)
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
dataGridViewCellStyle2.Alignment = alignment;
dataGridViewCellStyle2.BackColor = bgcolor;//System.Drawing.Color.FromArgb(((int)(((byte)(43)))), ((int)(((byte)(108)))), ((int)(((byte)(150)))));
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 10.5f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle2.ForeColor = System.Drawing.Color.Black;
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
return dataGridViewCellStyle2;
}
#endregion
#region 绑定数据信息
///
/// 获取业绩人数据组
///
///
///
void GetUserOrderDataByDynamicList(ref Dictionary>> dyUserList, DataTable lastOrder,
string strKeyValue,string strOrderNumberKey,string payNumberKey ,string performanceKey, string typeName, DataRow mainDr, DataRow deputyDr, List payRowList = null)
{
foreach (DataRow dr in lastOrder.Rows)
{//"销售人员编号"
////付款数据
if(payRowList!=null)
{
string userKeys = "";
List payTempRowList = payRowList.FindAll(p => p.Field(payNumberKey) == dr[strOrderNumberKey].ToString());
if (!string.IsNullOrEmpty(performanceKey))
{
foreach (DataRow payDr in payTempRowList)
{
if (!string.IsNullOrEmpty(payDr[performanceKey].ToString_s()))
{
List dyList = Newtonsoft.Json.JsonConvert.DeserializeObject>(payDr[performanceKey].ToString_s());
string[] openSingleList = userKeys.Split(',');
foreach (dynamic dyObj in dyList)
{
if (!userKeys.Contains(dyObj.UserID.ToString()))
{
if (!string.IsNullOrEmpty(userKeys))
{
userKeys += ",";
}
userKeys += dyObj.UserID;
}
}
}
}
}
if(!string.IsNullOrEmpty(userKeys))
{
dr[strKeyValue] = userKeys;
}
}
///人员数据绑定
if (dyUserList.ContainsKey(dr[strKeyValue].ToString_s()))
{
Dictionary> dicOrderList = dyUserList[dr[strKeyValue].ToString_s()];
BindUserOrderDataByDynamic(ref dicOrderList,ref dyUserList, dr[strKeyValue].ToString_s(), dr, strOrderNumberKey, typeName, mainDr, deputyDr, payRowList);
}
else
{
Dictionary> dicOrderList = new Dictionary>();
string[] personNumberList = dr[strKeyValue].ToString_s().Split(',');
foreach(string perKey in personNumberList)
{
if(dyUserList.ContainsKey(perKey))
{
dicOrderList = dyUserList[perKey];
BindUserOrderDataByDynamic(ref dicOrderList, ref dyUserList, perKey, dr, strOrderNumberKey, typeName, mainDr, deputyDr, payRowList);
}
else
{
dicOrderList = new Dictionary>();
dyUserList.Add(perKey, dicOrderList);
BindUserOrderDataByDynamic(ref dicOrderList, ref dyUserList, perKey, dr, strOrderNumberKey, typeName, mainDr, deputyDr, payRowList);
}
}
}
}
}
///
/// 获取订单数据组
///
///
///
void BindUserOrderDataByDynamic(ref Dictionary> dicOrderList, ref Dictionary>> dyUserList,
string employeeId,
DataRow dr, string strKeyValue, string typeName
, DataRow mainDr, DataRow deputyDr, List payRowList = null)
{//"订单号"
if (dicOrderList.ContainsKey(dr[strKeyValue].ToString_s()))
{
List orderTypeData = dicOrderList[SetFistKeyData(typeName) + dr[strKeyValue].ToString_s()];
BindUserOrderData(ref orderTypeData, ref dyUserList, employeeId, dr, typeName, mainDr, deputyDr);
if (payRowList != null)
{
List searchPayList = payRowList.Where(p => p.Field("Pay_OrdNumber") == dr[strKeyValue].ToString_s()).ToList();
orderTypeData[orderTypeData.Count - 1].收款金额 = searchPayList.Sum(p => p.Field("Pay_AmountOf"));
if (typeName == "订单后期")
{
searchPayList = searchPayList.FindAll(p => p.Field("Pay_ReceivableProject") == dr["商品名称"].ToString_s());
}
BindUserPayDynamicData(ref orderTypeData, ref dyUserList, employeeId, searchPayList, typeName, mainDr, deputyDr);
}
}
else
{
List orderTypeData = new List();
dicOrderList.Add(SetFistKeyData(typeName) + dr[strKeyValue].ToString_s(), orderTypeData);
BindUserOrderData(ref orderTypeData, ref dyUserList, employeeId, dr, typeName, mainDr, deputyDr);
if (payRowList != null)
{
List searchPayList = payRowList.Where(p => p.Field("Pay_OrdNumber") == dr[strKeyValue].ToString_s()).ToList();
orderTypeData[orderTypeData.Count - 1].收款金额 = searchPayList.Sum(p => p.Field("Pay_AmountOf"));
if (typeName == "订单后期")
{
searchPayList = searchPayList.FindAll(p => p.Field("Pay_ReceivableProject") == dr["商品名称"].ToString_s());
}
BindUserPayDynamicData(ref orderTypeData, ref dyUserList, employeeId, searchPayList, typeName, mainDr, deputyDr);
}
}
}
string SetFistKeyData(string typeName)
{
switch (typeName)
{
case "员工奖罚":
return "URP";
break;
case "员工支出":
return "UPM";
break;
default:
return "";
break;
}
}
void BindUserOrderData(ref List orderTypeData, ref Dictionary>> dyUserList,
string employeeId,
DataRow dr,string typeName
, DataRow mainDr, DataRow deputyDr)
{
switch(typeName)
{
case "订单前期":
BindUserOrderData(ref orderTypeData, dr, mainDr, deputyDr);
break;
case "订单后期":
BindUserLastOrderData(ref orderTypeData, dr, mainDr, deputyDr);
break;
case "其他消费":
BindUserOtherData(ref orderTypeData, dr, mainDr, deputyDr, employeeId);
break;
case "计件提成":
BindUserPieceworkData(ref orderTypeData, dr);
break;
case "礼服租售":
BindUserDressData(ref orderTypeData, dr);
break;
case "员工奖罚":
BindUserRewardPunishment(ref orderTypeData, dr);
break;
case "员工支出":
BindUserIncomeAndExpenses(ref orderTypeData, dr);
break;
case "会员充值":
BindMemberData(ref orderTypeData,ref dyUserList, employeeId, dr);
break;
case "会员服务充值":
BindMemberServiceData(ref orderTypeData,ref dyUserList, employeeId, dr);
break;
}
}
private void BindMemberServiceData(ref List orderTypeData, ref Dictionary>> dyUserList,
string employeeId, DataRow dr)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("自定义订单号", dr["id"].ToString_s());
idicData.Add("客户姓名", dr["Cus_Name"].ToString_s());
idicData.Add("客户电话", dr["Cus_Telephone"].ToString_s());
idicData.Add("收款类型", "会员服务充值");
idicData.Add("业绩金额", dr["Mcpt_PaymentAmount"].ToString_s());
idicData.Add("业绩额", Convert.ToDecimal(dr["Mcpt_PaymentAmount"].ToString_s()));
idicData.Add("业绩人", dr["Mcpt_OrderPerson"].ToString_s());
idicData.Add("支付方式", dr["Sc_ClassName"].ToString_s());
idicData.Add("收款金额", Convert.ToDecimal(dr["Mcpt_PaymentAmount"].ToString_s()));
if (!string.IsNullOrEmpty(dr["Mcpt_CommissionRatio"].ToString_s()))
{
idicData.Add("业绩分配", GetCommissionRatio(Convert.ToDecimal(dr["Mcpt_PaymentAmount"]),
dr["Mcpt_OrderPerson"].ToString(),
dr["Mcpt_CommissionRatio"].ToString_s(), employeeId));
idicData.Add("业绩描述", GetCommissionRatioDis(Convert.ToDecimal(dr["Mcpt_PaymentAmount"]),
dr["Mcpt_OrderPerson"].ToString(),
dr["Mcpt_CommissionRatio"].ToString_s(), employeeId));
}
else
{
idicData.Add("业绩分配", dr["Mcpt_PaymentAmount"].ToString_s());
idicData.Add("业绩描述", "");
}
string strPerformance = idicData["业绩分配"].ToString();
if (!string.IsNullOrEmpty(strPerformance))
{
string[] orderPersonList = dr["Mcpt_OrderPerson"].ToString().Split(',');
foreach (string perKey in orderPersonList)
{
DataRow perDtRows = LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable.Rows.Find(perKey);
if (perDtRows != null)
{
strPerformance = strPerformance.Replace(perKey, perDtRows["User_Name"].ToString().Trim());
}
}
idicData["业绩分配"] = strPerformance;
}
string thePayee = dr["Mcpt_CreateName"].ToString_s();
DataRow dtRows = LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable.Rows.Find(dr["Mcpt_CreateName"].ToString_s());
if (dtRows != null)
{
thePayee = dtRows["User_Name"].ToString().Trim();
}
idicData.Add("收款人", thePayee);
idicData.Add("收款日", dr["Mcpt_CreateDatetime"].ToString_s());
idicData.Add("收款名称", dr["Mcpt_PaymentType"].ToString_s());
orderTypeData.Add(dyObj);
}
///
/// 会员充值
///
///
///
private void BindMemberData(ref List orderTypeData, ref Dictionary>> dyUserList,
string employeeId,
DataRow dr, DataRow mainDr = null, DataRow deputyDr = null)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("自定义订单号", dr["id"].ToString_s());
idicData.Add("客户姓名", dr["Cus_Name"].ToString_s());
idicData.Add("客户电话", dr["Cus_Telephone"].ToString_s());
idicData.Add("收款类型", "会员充值");
idicData.Add("业绩金额", dr["Mcrr_RechargeAmount"].ToString_s());
idicData.Add("业绩额", Convert.ToDecimal(dr["Mcrr_RechargeAmount"].ToString_s()));
idicData.Add("业绩人", dr["Mcrr_OrderPerson"].ToString_s());
idicData.Add("支付方式", dr["Sc_ClassName"].ToString_s() );
idicData.Add("收款金额", Convert.ToDecimal(dr["Mcrr_RechargeAmount"].ToString_s()));
if (!string.IsNullOrEmpty(dr["Mcrr_CommissionRatio"].ToString_s()))
{
idicData.Add("业绩分配", GetCommissionRatio(Convert.ToDecimal(dr["Mcrr_RechargeAmount"]),
dr["Mcrr_OrderPerson"].ToString(),
dr["Mcrr_CommissionRatio"].ToString_s(), employeeId));
idicData.Add("业绩描述", GetCommissionRatioDis(Convert.ToDecimal(dr["Mcrr_RechargeAmount"]),
dr["Mcrr_OrderPerson"].ToString(),
dr["Mcrr_CommissionRatio"].ToString_s(), employeeId));
}
else if (mainDr != null && deputyDr != null)
{
idicData.Add("业绩分配", GetAchievement(Convert.ToDecimal(dr["Mcrr_RechargeAmount"]),
dr["Mcrr_OrderPerson"].ToString(),
mainDr, deputyDr, employeeId));
idicData.Add("业绩描述", GetAchievementDis(Convert.ToDecimal(dr["Mcrr_RechargeAmount"]),
dr["Mcrr_OrderPerson"].ToString(),
mainDr, deputyDr, employeeId));
}
else
{
idicData.Add("业绩分配", dr["Mcrr_RechargeAmount"].ToString_s());
idicData.Add("业绩描述", "");
}
string strPerformance = idicData["业绩分配"].ToString();
if (!string.IsNullOrEmpty(strPerformance))
{
string[] orderPersonList = dr["Mcrr_OrderPerson"].ToString().Split(',');
foreach (string perKey in orderPersonList)
{
DataRow perDtRows = LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable.Rows.Find(perKey);
if (perDtRows != null)
{
strPerformance = strPerformance.Replace(perKey, perDtRows["User_Name"].ToString().Trim());
}
}
idicData["业绩分配"] = strPerformance;
}
string thePayee = dr["Mcrr_CreateName"].ToString_s();
DataRow dtRows = LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable.Rows.Find(dr["Mcrr_CreateName"].ToString_s());
if (dtRows != null)
{
thePayee = dtRows["User_Name"].ToString().Trim();
}
idicData.Add("收款人", thePayee);
idicData.Add("收款日", dr["Mcrr_CreateDatetime"].ToString_s());
idicData.Add("收款名称", dr["Mcrr_RechargeName"].ToString_s());
orderTypeData.Add(dyObj);
}
#region 绑定付款数据
void BindUserPayDynamicData(ref List orderTypeData, ref Dictionary>> dyUserList,
string employeeId, List payDrList,
string typeName,DataRow mainDr=null ,DataRow deputyDr = null)
{
foreach (DataRow dr in payDrList)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("自定义订单号", dr["Pay_OrdNumber"].ToString());
idicData.Add("客户姓名", "");
idicData.Add("客户电话", "");
idicData.Add("收款类型", typeName + "收款");
idicData.Add("业绩金额", "付款");
idicData.Add("业绩人", dr["Pay_OpenSingle"].ToString());
idicData.Add("支付方式", dr["Sc_ClassName1"]);
idicData.Add("收款金额", Convert.ToDecimal(dr["Pay_AmountOf"]));
if (!string.IsNullOrEmpty(dr["Pay_CommissionRatio"].ToString_s()))
{
idicData.Add("业绩分配", GetCommissionRatio(Convert.ToDecimal(dr["Pay_AmountOf"]),
dr["Pay_OpenSingle"].ToString(),
dr["Pay_CommissionRatio"].ToString_s(), employeeId));
idicData.Add("业绩描述", GetCommissionRatioDis(Convert.ToDecimal(dr["Pay_AmountOf"]),
dr["Pay_OpenSingle"].ToString(),
dr["Pay_CommissionRatio"].ToString_s(), employeeId));
}
else if (mainDr != null && deputyDr != null)
{
idicData.Add("业绩分配", GetAchievement(Convert.ToDecimal(dr["Pay_AmountOf"]),
dr["Pay_OpenSingle"].ToString(),
mainDr, deputyDr, employeeId));
idicData.Add("业绩描述", GetAchievementDis(Convert.ToDecimal(dr["Pay_AmountOf"]),
dr["Pay_OpenSingle"].ToString(),
mainDr, deputyDr, employeeId));
}
else
{
idicData.Add("业绩分配", "");
idicData.Add("业绩描述", "");
}
string strPerformance = idicData["业绩分配"].ToString();
if (!string.IsNullOrEmpty(strPerformance))
{
string[] orderPersonList = dr["Pay_OpenSingle"].ToString().Split(',');
foreach (string perKey in orderPersonList)
{
DataRow perDtRows = LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable.Rows.Find(perKey);
if (perDtRows != null)
{
strPerformance = strPerformance.Replace(perKey, perDtRows["User_Name"].ToString().Trim());
}
}
idicData["业绩分配"] = strPerformance;
}
string thePayee = dr["Pay_ThePayee"].ToString_s();
DataRow dtRows = LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable.Rows.Find(dr["Pay_ThePayee"].ToString_s());
if (dtRows != null)
{
thePayee = dtRows["User_Name"].ToString().Trim();
}
idicData.Add("收款人", thePayee);
idicData.Add("收款日", dr["Pay_CreateDatetime"]);
idicData.Add("收款名称", dr["Pay_Category"] + "-" + dr["Sc_ClassName"] +
(string.IsNullOrEmpty(dr["Pay_ReceivableProject"].ToString_s()) ? "" : "-" + dr["Pay_ReceivableProject"].ToString_s()));
///收款控制,过去收款金额不同的数据
orderTypeData.Add(dyObj);
}
}
private string GetCommissionRatio(
decimal amountOf, string openSingle, string commissionRatio,string employeeId)
{
string strOpenSingle = "";
if (commissionRatio != "")
{
List dyList = Newtonsoft.Json.JsonConvert.DeserializeObject>(commissionRatio);
string[] openSingleList = openSingle.Split(',');
foreach (dynamic dyObj in dyList)
{
if(employeeId== dyObj.UserID.ToString())
{
strOpenSingle = Convert.ToDecimal(amountOf * Convert.ToDecimal(dyObj.CommissionRatio) / 100).ToString("0.00");
break;
}
//strOpenSingle += dyObj.UserID + ":" + Convert.ToDecimal(amountOf * Convert.ToDecimal(dyObj.CommissionRatio) / 100).ToString("0.00");
}
}
return strOpenSingle;
}
private string GetCommissionRatioDis(
decimal amountOf, string openSingle, string commissionRatio,string employeeId)
{
string strOpenSingle = "";
if (commissionRatio != "")
{
List dyList = Newtonsoft.Json.JsonConvert.DeserializeObject>(commissionRatio);
string[] openSingleList = openSingle.Split(',');
foreach (dynamic dyObj in dyList)
{
//if(employeeId== dyObj.UserID.ToString())
//{
// strOpenSingle = Convert.ToDecimal(amountOf * Convert.ToDecimal(dyObj.CommissionRatio) / 100).ToString("0.00");
// break;
//}
if(!string.IsNullOrEmpty(strOpenSingle))
{
strOpenSingle += " , ";
}
strOpenSingle += BLL.Common.BLL_Com_Data.GetUserName(dyObj.UserID.ToString(), LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable) + ":" + Convert.ToDecimal(amountOf * Convert.ToDecimal(dyObj.CommissionRatio) / 100).ToString("0.00");
}
}
return strOpenSingle;
}
#endregion
#region 前期订单数据
///
/// 获取订单数据
///
///
///
void BindUserOrderData(ref List orderTypeData, DataRow dr, DataRow mainDr, DataRow deputyDr)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("自定义订单号", dr["Ord_SinceOrderNumber"].ToString_s());
idicData.Add("客户姓名", dr["Cus_Name"].ToString_s());
idicData.Add("客户电话", dr["Cus_Telephone"].ToString_s());
idicData.Add("收款类型", "订单前期");
idicData.Add("业绩金额", dr["Ord_SeriesPrice"].ToString_s());
idicData.Add("业绩额", Convert.ToDecimal(dr["Ord_SeriesPrice"]));
idicData.Add("业绩人", dr["Ord_OrderPersonName"].ToString_s());
idicData.Add("支付方式", "合计");
idicData.Add("收款金额", "");
idicData.Add("业绩分配", "");
idicData.Add("业绩描述", "");
idicData.Add("收款人", "");
idicData.Add("收款日", "");
idicData.Add("收款名称", "");
orderTypeData.Add(dyObj);
}
#endregion
#region 后期订单数据
///
/// 获取订单数据
///
///
///
void BindUserLastOrderData(ref List orderTypeData, DataRow dr, DataRow mainDr, DataRow deputyDr)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("自定义订单号", dr["Ord_SinceOrderNumber"].ToString_s());
idicData.Add("客户姓名", dr["客户名称"].ToString_s());
idicData.Add("客户电话", dr["电话"].ToString_s());
idicData.Add("收款类型", "订单后期");
idicData.Add("业绩金额", dr["金额"].ToString_s());
idicData.Add("业绩额", Convert.ToDecimal(dr["金额"]));
idicData.Add("业绩人", dr["销售人员名称"].ToString_s());
idicData.Add("支付方式", "合计");
idicData.Add("收款金额", "");
idicData.Add("业绩分配", "");
idicData.Add("业绩描述", "");
idicData.Add("收款人", "");
idicData.Add("收款日", "");
idicData.Add("收款名称", "");
orderTypeData.Add(dyObj);
}
#endregion
#region 其它消费数据
void BindUserOtherData(ref List orderTypeData, DataRow dr, DataRow mainDr, DataRow deputyDr,string employeeId)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("自定义订单号", dr["Tsorder_Number"].ToString_s());
idicData.Add("客户姓名", dr["Tsorder_CustomerName"].ToString_s());
idicData.Add("客户电话", dr["Tsorder_Telephone"].ToString_s());
idicData.Add("收款类型", "其它消费");
idicData.Add("业绩金额", GetAchievement( Convert.ToDecimal(dr["Tsorder_Money"]),
dr["Tsorder_OpenSingle"].ToString(),
mainDr, deputyDr, employeeId));
idicData.Add("业绩额", Convert.ToDecimal(dr["Tsorder_Money"]));
idicData.Add("业绩人", dr["User_Name"].ToString_s());
idicData.Add("支付方式", "");
idicData.Add("收款金额", dr["Tsorder_Money"]);
idicData.Add("业绩分配", dr["Tsorder_Money"]);
idicData.Add("业绩描述", "");
idicData.Add("收款人", dr["Tsorder_PersonHandlingName"]);
idicData.Add("收款日", dr["Tsorder_CreateDatetime"]);
idicData.Add("收款名称", "");
orderTypeData.Add(dyObj);
}
#endregion
#region 计件提成数据
void BindUserPieceworkData(ref List orderTypeData, DataRow dr)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("客户姓名", dr["Cus_Name"].ToString_s());
idicData.Add("客户电话", dr["Cus_Telephone"].ToString_s());
idicData.Add("收款类型", "计件提成");
idicData.Add("业绩金额","");
idicData.Add("业绩额", dr["总价格"].ToString() == "" ? 0 : Convert.ToDecimal(dr["总价格"]));
idicData.Add("业绩人", dr["Pcr_DigitalDivisionName"].ToString_s());
idicData.Add("支付方式", PayTypeData(dr["Pcr_Type"].ToString_s()));
idicData.Add("收款金额", "");
idicData.Add("业绩分配", dr["总价格"].ToString() == "" ? "0" : Convert.ToDecimal(dr["总价格"]).ToString("N2"));
idicData.Add("业绩描述", "完成数量:"+dr["Pcr_Quantity"]+" , 计件单价:"+dr["单价"]+",总提成:"+dr["总价格"]);
idicData.Add("收款人", dr["Pcr_EntryPeopleName"]);
idicData.Add("收款日", dr["Pcr_CreateTime"]);
idicData.Add("收款名称", dr["Pcr_CompletionContentsName"].ToString_s());
orderTypeData.Add(dyObj);
}
#endregion
string PayTypeData(string type)
{
//0:计件式提成录入、1:预约服务录入、2:拍照导片录入、3:初修导片录入、4:设计导片录入
switch (type)
{
case "0":
return "计件式提成录入";
case "1":
return "预约服务录入";
break;
case "2":
return "拍照导片录入";
break;
case "3":
return "初修导片录入";
break;
case "4":
return "设计导片录入";
break;
default:
return "";
}
}
#region 礼服租售数据
void BindUserDressData(ref List orderTypeData, DataRow dr)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("自定义订单号", dr["Dsro_Number"].ToString_s());
idicData.Add("客户姓名", dr["Cus_Name"].ToString_s());
idicData.Add("客户电话", dr["Cus_Telephone"].ToString_s());
idicData.Add("收款类型", "礼服租售");
idicData.Add("业绩金额", Convert.ToDecimal(dr["Dsro_Amount"]).ToString("N2"));
idicData.Add("业绩额", Convert.ToDecimal(dr["Dsro_Amount"]));
idicData.Add("业绩人", dr["开单人姓名"].ToString_s());
idicData.Add("支付方式", "合计");
idicData.Add("收款金额", "");
idicData.Add("业绩分配", "");
idicData.Add("业绩描述", "");
idicData.Add("收款人", "");
idicData.Add("收款日", "");
idicData.Add("收款名称", "");
orderTypeData.Add(dyObj);
}
#endregion
#region 员工奖罚
void BindUserRewardPunishment(ref List orderTypeData, DataRow dr)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("客户姓名", "");
idicData.Add("客户电话", "");
idicData.Add("收款类型", "员工奖罚");
idicData.Add("业绩金额", "");
idicData.Add("业绩额", Convert.ToDecimal(dr["Rp_Money"]));
idicData.Add("业绩人", dr["User_Name"].ToString_s());
idicData.Add("支付方式", dr["Rp_Type"].ToString_s());
idicData.Add("收款金额", Convert.ToDecimal(dr["Rp_Money"]).ToString("N2"));
idicData.Add("业绩分配", "");
idicData.Add("业绩描述", "");
idicData.Add("收款人", dr["Rp_PersonHandlingName"].ToString_s());
idicData.Add("收款日", dr["Rp_CreateDatetime"].ToString_s());
idicData.Add("收款名称", dr["Rp_Status"].ToString_s());
orderTypeData.Add(dyObj);
}
#endregion
#region 员工支出
private void BindUserIncomeAndExpenses(ref List orderTypeData, DataRow dr)
{
dynamic dyObj = new System.Dynamic.ExpandoObject();
IDictionary idicData = dyObj;
idicData.Add("客户姓名", "");
idicData.Add("客户电话", "");
idicData.Add("收款类型", "员工支出");
idicData.Add("业绩金额", "");
idicData.Add("业绩额", Convert.ToDecimal(dr["Oiae_Money"]));
idicData.Add("业绩人", dr["User_Name"].ToString_s());
idicData.Add("支付方式", dr["Oiae_Type"].ToString_s());
idicData.Add("收款金额", Convert.ToDecimal(dr["Oiae_Money"]).ToString("N2"));
idicData.Add("业绩分配", "");
idicData.Add("业绩描述", "");
idicData.Add("收款人", dr["User_Name"].ToString_s());
idicData.Add("收款日", dr["Oiae_PersonHandlingName"].ToString_s());
idicData.Add("收款名称", dr["Oiae_ProjectName"].ToString_s());
orderTypeData.Add(dyObj);
}
#endregion
#endregion
string GetAchievement(decimal totalValue, string personData, DataRow mainDr, DataRow deputyDr,string employeeId)
{
string txtInfo = "";
string[] personList = personData.Split(',');
//List personDataList = new List();
//personList = personDataList.ToArray();
if (personList.Length > 1)
{
//txtInfo = "总业绩:"+totalValue.ToString("N2")+"";
for (int i = 0; i < personList.Length; i++)
{
//txtInfo += " (";
if (employeeId == personList[i])
{
if (i == 0)
{
if (mainDr["Cp_Enabled"].ToString() == "1")
{
txtInfo += (totalValue / (Convert.ToInt32(mainDr["Cp_Proportion"]) + Convert.ToInt32(deputyDr["Cp_Proportion"]) * (personList.Length - 1)) * Convert.ToInt32(mainDr["Cp_Proportion"])).ToString("N2");
}
else
{
txtInfo += totalValue.ToString("N2");
}
}
else
{
if (deputyDr["Cp_Enabled"].ToString() == "1")
{
txtInfo += (totalValue / (Convert.ToInt32(mainDr["Cp_Proportion"]) + Convert.ToInt32(deputyDr["Cp_Proportion"]) * (personList.Length - 1)) * Convert.ToInt32(deputyDr["Cp_Proportion"])).ToString("N2");
}
else
{
txtInfo += totalValue.ToString("N2");
}
}
}
//txtInfo += ") ";
}
}
else
{
txtInfo = totalValue.ToString("N2");
}
return txtInfo;
}
string GetAchievementDis(decimal totalValue, string personData, DataRow mainDr, DataRow deputyDr, string employeeId)
{
string txtInfo = "";
string[] personList = personData.Split(',');
//List personDataList = new List();
//personList = personDataList.ToArray();
if (personList.Length > 1)
{
txtInfo = "总业绩:" + totalValue.ToString("N2") + "";
for (int i = 0; i < personList.Length; i++)
{
txtInfo += " (";
if (i == 0)
{
if (mainDr["Cp_Enabled"].ToString() == "1")
{
txtInfo += BLL.Common.BLL_Com_Data.GetUserName(personList[i], LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable) + ":" + (totalValue / (Convert.ToInt32(mainDr["Cp_Proportion"]) + Convert.ToInt32(deputyDr["Cp_Proportion"]) * (personList.Length - 1)) * Convert.ToInt32(mainDr["Cp_Proportion"])).ToString("N2");
}
else
{
txtInfo += BLL.Common.BLL_Com_Data.GetUserName(personList[i], LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable) + ":" + totalValue.ToString("N2");
}
}
else
{
if (deputyDr["Cp_Enabled"].ToString() == "1")
{
txtInfo += BLL.Common.BLL_Com_Data.GetUserName(personList[i], LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable) + ":" + (totalValue / (Convert.ToInt32(mainDr["Cp_Proportion"]) + Convert.ToInt32(deputyDr["Cp_Proportion"]) * (personList.Length - 1)) * Convert.ToInt32(deputyDr["Cp_Proportion"])).ToString("N2");
}
else
{
txtInfo += BLL.Common.BLL_Com_Data.GetUserName(personList[i], LYFZ.DAL.DAL_ErpUser.SimpleUserDataTable) + ":" + totalValue.ToString("N2");
}
}
txtInfo += ") ";
}
}
else
{
txtInfo = totalValue.ToString("N2");
}
return txtInfo;
}
///
/// 统计业绩
///
public void TotalPerformance()
{
LYFZ.BLL.BLL_ErpOrder Orderbll = new LYFZ.BLL.BLL_ErpOrder();
DataTable dt = new DataTable();
this.dgvAll.Rows.Clear();
Dictionary> dsTableList = GetTotalPerformanceValue(this.txtTimeStart.DateValue.ToString().Trim(), this.txtTimeEnd.DateValue.ToString().Trim());
if (this.cmbEmployeeName.Text.Trim() == "全部")
{
dt = Orderbll.GetView_Custom("tb_ErpUser", StrWhere: "User_Status='在职'", filedOrder: "", ShowColumnName: "User_Name,User_EmployeeID").Tables[0];
if (dt.Rows.Count > 0)
{
for (int t = 0; t < dt.Rows.Count; t++)
{
try
{
#region
DataGridViewRow dgvr = new DataGridViewRow();
DataGridViewCell cell = null;
//员工编号
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["User_EmployeeID"].ToString().Trim();
dgvr.Cells.Add(cell);
//员工姓名
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["User_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//当前业绩
cell = new DataGridViewTextBoxCell();
cell.Value = GetTotalPerformanceValue(dsTableList["员工业绩"], dt.Rows[t]["User_EmployeeID"].ToString().Trim()).ToString("N2");
//Convert.ToDecimal(this.BindPerformance(this.txtTimeStart.DateValue.ToString().Trim(), this.txtTimeEnd.DateValue.ToString().Trim(), dt.Rows[t]["User_EmployeeID"].ToString().Trim())).ToString("N2"); ;
dgvr.Cells.Add(cell);
this.dgvAll.Rows.Add(dgvr);
#endregion
}
catch (Exception ex) { MessageBoxCustom.Show(ex.Message); }
}
dgvAll.ClearSelection();
}
}
else if (this.cmbEmployeeName.Name.ToString().Trim() == "Department")
{
dt = Orderbll.GetView_Custom("tb_ErpUser", StrWhere: "User_Status='在职' and User_Department='" + this.cmbEmployeeName.Tag.ToString() + "'", ShowColumnName: "User_Name,User_EmployeeID").Tables[0];
if (dt.Rows.Count > 0)
{
for (int t = 0; t < dt.Rows.Count; t++)
{
#region
DataGridViewRow dgvr = new DataGridViewRow();
DataGridViewCell cell = null;
//员工编号
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["User_EmployeeID"].ToString().Trim();
dgvr.Cells.Add(cell);
//员工姓名
cell = new DataGridViewTextBoxCell();
cell.Value = dt.Rows[t]["User_Name"].ToString().Trim();
dgvr.Cells.Add(cell);
//当前业绩
cell = new DataGridViewTextBoxCell();
cell.Value = GetTotalPerformanceValue(dsTableList["员工业绩"], dt.Rows[t]["User_EmployeeID"].ToString().Trim()).ToString("N2");
//Convert.ToDecimal(this.BindPerformance(this.txtTimeStart.DateValue.ToString().Trim(), this.txtTimeEnd.DateValue.ToString().Trim(), dt.Rows[t]["User_EmployeeID"].ToString().Trim())).ToString("N2");
dgvr.Cells.Add(cell);
this.dgvAll.Rows.Add(dgvr);
#endregion
}
dgvAll.ClearSelection();
}
}
//this.txtPieceCommission.Text = GetTotalPerformanceValue(dsTableList["计件提成"]).ToString("N2");
//this.txtRewardPunishment.Text = "奖:" + GetTotalPerformanceValue(dsTableList["奖励"]).ToString("N2") + "," + "罚:" + GetTotalPerformanceValue(dsTableList["惩罚"]).ToString("N2");
//this.txtExpenditure.Text = GetTotalPerformanceValue(dsTableList["员工支出"]).ToString("N2");
this.txtCurrentUserPerformance.Text = GetTotalPerformanceValue(dsTableList["员工业绩"]).ToString("N2");
}
decimal GetTotalPerformanceValue(List dsTableList,string employeeID)
{
decimal totalValue = 0;
List drList = dsTableList.FindAll(p => p["EmployeeID"].ToString().Contains(employeeID));
foreach(DataRow dr in drList)
{
decimal tempPrice = 0;
decimal.TryParse(dr["Price"].ToString(),out tempPrice);
totalValue += tempPrice;
}
return totalValue;
}
decimal GetTotalPerformanceValue(List dsTableList)
{
decimal totalValue = 0;
foreach (DataRow dr in dsTableList)
{
decimal tempPrice = 0;
decimal.TryParse(dr["Price"].ToString(), out tempPrice);
totalValue += tempPrice;
}
return totalValue;
}
///
/// 获取业绩条数数据
///
///
///
///
Dictionary> GetTotalPerformanceValue(string startTime , string endTime)
{
Dictionary> dataRows = new Dictionary>();
dataRows.Add("员工业绩", new List());
dataRows.Add("计件提成", new List());
dataRows.Add("员工支出", new List());
dataRows.Add("奖励", new List());
dataRows.Add("惩罚", new List());
LYFZ.BLL.BLL_ErpOrder orbll = new BLL.BLL_ErpOrder();
orbll.GetTotalPerformanceValue(startTime, endTime, ref dataRows);
return dataRows;
}
///
/// 计算
///
public void BindCalculate()
{
if (string.IsNullOrEmpty(this.txtTimeStart.DateValue))
{ MessageBoxCustom.Show("开始时间不能为空!"); return; }
if (string.IsNullOrEmpty(this.txtTimeEnd.DateValue))
{ MessageBoxCustom.Show("结束时间不能为空!"); return; }
if (this.cmbEmployeeName.Tag != null && this.cmbEmployeeName.Text != "全部" && this.cmbEmployeeName.Name.ToString() != "Department")
{
//获取员工业绩列表
this.BindPerformance(this.txtTimeStart.DateValue.ToString().Trim(), this.txtTimeEnd.DateValue.ToString().Trim(),
GetEmployeeDataInfo());
//this.txtCurrentUserPerformance.Text = Convert.ToDecimal(this.BindPerformance(this.txtTimeStart.DateValue.ToString().Trim(), this.txtTimeEnd.DateValue.ToString().Trim(),
// GetEmployeeDataInfo())).ToString("N2");
}
if (this.cmbEmployeeName.Text == "全部" || this.cmbEmployeeName.Name.ToString() == "Department")
{
this.txtCurrentUserPerformance.Text = "0";
//this.txtExpenditure.Text = "";
//this.txtPieceCommission.Text = "";
//this.txtRewardPunishment.Text = "";
this.TotalPerformance();
}
}
string GetEmployeeDataInfo()
{
string strWhere = "'-1'";
TreeNode tBode = this.cmbEmployeeName.SelectedNode;
if (tBode.Name== "StoreName")
{
if (tBode.Nodes.Count > 0)
{
foreach (TreeNode node in tBode.Nodes)
{
if (node.Nodes.Count > 0)
{
foreach (TreeNode userNode in node.Nodes)
{
if(strWhere=="-1" || strWhere == "'-1'")
{
strWhere = "";
}
if(strWhere!="")
{
strWhere += ",";
}
strWhere += "'" + userNode.Tag + "'";
}
}
}
}
}
else if (tBode.Name == "Department")
{
if (tBode.Nodes.Count > 0)
{
foreach (TreeNode userNode in tBode.Nodes)
{
if (strWhere == "-1" || strWhere == "'-1'")
{
strWhere = "";
}
if (strWhere != "")
{
strWhere += ",";
}
strWhere += "'" + userNode.Tag + "'";
}
}
}
else if (tBode.Name == "User")
{
if (strWhere == "-1"|| strWhere == "'-1'")
{
strWhere = "";
}
strWhere += "'" + tBode.Tag + "'";
}
//strDepartment = "'" + string.Join("','", department.ToArray()) + "'";
return strWhere;
}
///
/// 选择人员姓名查询人员工资基本信息
///
///
///
protected override void cmbEmployeeName_ComboBoxTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (this.cmbEmployeeName.Tag.ToString().Trim() != null && this.cmbEmployeeName.Text.Trim() != "全部")
{
this.dgvAll.Visible = false;
this.dgv.Visible = true;
}
if (this.cmbEmployeeName.Text.Trim() == "全部" || this.cmbEmployeeName.Name.ToString().Trim() == "Department")
{
this.dgvAll.Visible = true;
this.dgv.Visible = false;
this.dgv.Rows.Clear();
this.txtCurrentUserPerformance.Text = "0";
//this.txtExpenditure.Text = "";
//this.txtPieceCommission.Text = "";
//this.txtRewardPunishment.Text = "";
}
this.BindCalculate();
}
///
/// 选择项目类别
///
///
///
protected override void cmbItemCategory_ComboBoxTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
//清空项目名称
this.cmbProjectTitle.Enabled = false;
this.cmbProjectTitle.TreeView.Nodes.Clear();
this.cmbProjectTitle.Text = "";
switch (this.cmbItemCategory.Text.Trim())
{
case "订单前期":
case "会员充值":
case "服务卡充值":
case "员工支出": break;
case "订单后期":
case "其它消费":
this.cmbProjectTitle.Enabled = true;
LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboBoxTreeView_SystemCategory("BEBACDAJDFDDEACGJ", this.cmbProjectTitle, IsFirstNodeNull: true, StrWhere: "Sc_ClassCode not in ('BEBCADBFBCDFBGJHC','BEBCADBFBDDEGGABF','BEBCBFBICGDHCGBEJ','BEBCABBAAICBDHDHI','BEBCABBAAICJAAGDG','BEBCBFBICFCECBHFF')");
break;
case "礼服租售":
this.cmbProjectTitle.Enabled = true;
LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboxTreeView(this.cmbProjectTitle, "礼服出租,礼服出售", IsFirstNodeNull: true);
break;
case "员工奖罚":
this.cmbProjectTitle.Enabled = true;
LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboxTreeView(this.cmbProjectTitle, "奖励,罚款", IsFirstNodeNull: true);
break;
case "计件提成":
this.cmbProjectTitle.Enabled = true;
LYFZ.Software.MainBusiness.DoorCityProcess.PublicCodeClasses.BindComboBoxTreeView_SystemCategory("BEBBBABBEBAIHGDCB", this.cmbProjectTitle, IsFirstNodeNull: true);
break;
default:
this.cmbItemCategory.Text = this.cmbItemCategory.Text.Trim();
break;
}
this.BindCalculate();
}
///
/// 项目名称
///
///
///
protected override void cmbProjectTitle_ComboBoxTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
this.BindCalculate();
}
///
/// 套系类别
///
///
///
protected override void CtvPak_Name_ComboBoxTree_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
this.BindCalculate();
}
///
/// 排序
///
///
///
protected override void dgvAll_SortCompare(object sender, DataGridViewSortCompareEventArgs e)
{
if (e.Column.Name == "员工姓名" || e.Column.Name == "当前业绩")
{ e.SortResult = (Convert.ToDouble(e.CellValue1) - Convert.ToDouble(e.CellValue2) > 0) ? 1 : (Convert.ToDouble(e.CellValue1) - Convert.ToDouble(e.CellValue2) < 0) ? -1 : 0; }
//否则,按字符串比较
else
{ e.SortResult = System.String.Compare(Convert.ToString(e.CellValue1), Convert.ToString(e.CellValue2)); }
e.Handled = true;//不能省掉,不然没效果
}
///
/// 关闭
///
///
///
protected override void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
///
/// 查询
///
///
///
protected override void btnSelect_Click(object sender, EventArgs e)
{
this.BindCalculate();
}
}
}