|
|
@@ -999,7 +999,308 @@ namespace SiteCore.Handler
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public void get_erp_designer_gather_rate3()
|
|
|
+ {
|
|
|
+ /* newDesignerRate();*/
|
|
|
+ DataStruct dStruct = GetPostStruct();
|
|
|
+ List<string> lw = new List<string>();
|
|
|
+ int st = GetInt("st");
|
|
|
+ string tid = GetPostString("ctid");
|
|
|
+ string org = GetPostString("org");
|
|
|
+ string sstr = GetPostString("order_area");
|
|
|
+ string username = GetPostString("designer");
|
|
|
+ string date1 = GetPostString("date1");
|
|
|
+ string date2 = GetPostString("date2");
|
|
|
+ string dateType = GetPostString("dateType");
|
|
|
+
|
|
|
+ DateTime currentDate = DateTime.Parse(date1);
|
|
|
+ // 获取指定日期的开始时间
|
|
|
+ DateTime startTime = new DateTime(currentDate.Year, currentDate.Month, currentDate.Day, 0, 0, 0);//日
|
|
|
+ DateTime currentTime = startTime;
|
|
|
+ DateTime currentDate2 = DateTime.Parse(date2);
|
|
|
+ // 获取指定日期的结束时间(即下一天的开始时间,减去1秒)
|
|
|
+ DateTime endTime = new DateTime(currentDate2.Year, currentDate2.Month, currentDate2.Day, 23, 59, 59).AddSeconds(-1);//日
|
|
|
+ TimeSpan diff = endTime - startTime;
|
|
|
+ int daysDiff = diff.Days + 1;
|
|
|
+ string currentTimeString = currentTime.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
+ int daysToMonday = ((int)startTime.DayOfWeek - (int)DayOfWeek.Monday + 7) % 7;
|
|
|
+ int daysToSunday = 6 - ((int)startTime.DayOfWeek - (int)DayOfWeek.Monday + 7) % 7;
|
|
|
+
|
|
|
+ // 使用 AddDays 和 DateProperties 方法获取周一的第一秒和周日的最后一秒
|
|
|
+ DateTime firstweek = startTime.AddDays(-daysToMonday).Date;
|
|
|
+ DateTime lastweek = startTime.AddDays(daysToSunday).Date.Add(new TimeSpan(23, 59, 59));
|
|
|
+
|
|
|
+ /* DateTime firstweek = Convert.ToDateTime(currentTimeString).AddDays(-(int)Convert.ToDateTime(currentTimeString).DayOfWeek);//周
|
|
|
+ DateTime lastweek = firstweek.AddDays(6);//周*/
|
|
|
+ DateTime firstDay = commonHelper.FirstDayOfMonth(Convert.ToDateTime(currentTimeString));//月
|
|
|
+ DateTime lastDay = commonHelper.LastDayOfMonth(Convert.ToDateTime(currentTimeString));//月
|
|
|
+
|
|
|
+ if (string.IsNullOrEmpty(org))
|
|
|
+ {
|
|
|
+ returnErrorMsg("请选择部门");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ StringBuilder sql1 = new StringBuilder();
|
|
|
+ sql1.AppendFormat("SELECT a.did,a.name,u.OrgName,sum(a.Refund) AS Refunds ,SUM ( CAST ( a.Amount AS DECIMAL ( 10, 2 ) ) ) AS Amount, SUM(CAST(onFinalizationRate AS decimal(10, 4))) AS totalAmount,SUM ( CAST ( a.AllOrder AS DECIMAL ( 10, 2 ) ) ) AS AllOrder, SUM ( CAST ( a.FinalizationRate AS DECIMAL ( 10, 2 ) ) ) AS FinalizationRate, SUM ( CAST ( a.splitSum AS DECIMAL ( 10, 2 ) ) ) AS splitSum, SUM ( CAST ( a.csplitum AS DECIMAL ( 10, 2 ) ) ) AS csplitum,SUM(CAST(onRefund AS decimal(10, 4))) AS toRefund,(SELECT COUNT(CONVERT(date, ctime)) AS days FROM [dbo].[Ce_ErpDesignerFinishRateNew] WHERE did = a.did and AllOrder > 0 and ctime BETWEEN '{0}' AND '{1}')AS msum FROM [dbo].[Ce_ErpDesignerFinishRateNew] as a LEFT JOIN view_ErpUser u ON a.did = u.id WHERE ctime BETWEEN '{0}' AND '{1}' AND u.OrgID in ({2}) GROUP BY a.did,u.OrgName,a.name", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), org);
|
|
|
+ DataTable dt = null;
|
|
|
+ dt = DbHelper.DbConn.ExecuteDataset(sql1.ToString()).Tables[0];
|
|
|
+
|
|
|
+ DataStruct dStruct2 = GetPostStruct();
|
|
|
+ List<string> lw2 = new List<string>();
|
|
|
+
|
|
|
+ StringBuilder sql = new StringBuilder();
|
|
|
+ sql.AppendFormat("SELECT A.DesignUserId AS did,SUM ( CASE WHEN A.FinishDesignTime IS NOT NULL THEN A.payment ELSE 0 END ) AS designPayment,SUM ( A.payment ) AS TotalPayment,SUM (A.RefundFee ) AS refundPayment,COUNT( A.WaitDesignTime) AS waitSum, \r\n COUNT(DISTINCT CASE WHEN ctid NOT LIKE 'C%' AND ctid NOT LIKE 'S%' THEN tid ELSE NULL END) +\r\n COUNT(DISTINCT CASE WHEN ctid LIKE 'C%' AND ctid NOT LIKE 'S%' THEN tid ELSE NULL END) AS sumnum,\r\n\t COUNT(DISTINCT CASE WHEN ctid NOT LIKE 'C%' AND ctid NOT LIKE 'S%' AND OrderState = '3' THEN tid ELSE NULL END) + COUNT(DISTINCT CASE WHEN ctid LIKE 'C%' AND ctid NOT LIKE 'S%' AND OrderState = '3' THEN tid ELSE NULL END) AS WaitDesign, COUNT(DISTINCT CASE WHEN ctid NOT LIKE 'C%' AND ctid NOT LIKE 'S%' AND OrderState = '4' THEN tid ELSE NULL END) + COUNT(DISTINCT CASE WHEN ctid LIKE 'C%' AND ctid NOT LIKE 'S%' AND OrderState = '4' THEN tid ELSE NULL END) AS Designing, COUNT(DISTINCT CASE WHEN ctid NOT LIKE 'C%' AND ctid NOT LIKE 'S%' AND OrderState > '4' THEN tid ELSE NULL END) + COUNT(DISTINCT CASE WHEN ctid LIKE 'C%' AND ctid NOT LIKE 'S%' AND OrderState > '4' THEN tid ELSE NULL END) AS DesignFinish FROM dbo.CE_ErpTradeCell AS A LEFT OUTER JOIN dbo.view_ErpUser AS B ON A.DesignUserId = B.ID WHERE A.WaitDesignTime BETWEEN '{0}' AND '{1}' AND b.orgid in ({2}) AND a.IsSample!= 2 GROUP BY DesignUserId ", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), org);
|
|
|
+ DataTable dt2 = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
|
|
|
+
|
|
|
+ //获取月周定稿
|
|
|
+ StringBuilder sql3 = new StringBuilder();
|
|
|
+ /* sql3.AppendFormat("SELECT a.did,b.name, SUM(CAST(a.onFinalizationRate AS decimal(10, 4))) AS totalAmount,(SELECT COUNT(CONVERT(date, ctime)) AS days\r\nFROM [dbo].[Ce_ErpDesignerFinishRateNew]\r\nWHERE did = a.did and AllOrder > 0 and ctime BETWEEN '{0}' AND '{1}')AS msum FROM [dbo].[Ce_ErpDesignerFinishRateNew] as a LEFT JOIN CE_ErpUser as b on a.did = b.id WHERE a.ctime BETWEEN '{0}' AND '{1}' and a.orgid = '{2}' GROUP BY a.did,b.name", firstweek.ToString("yyyy-MM-dd HH:mm:ss"), lastweek.ToString("yyyy-MM-dd HH:mm:ss"), org);*/
|
|
|
+ sql3.AppendFormat("SELECT A.DesignUserId AS did, COUNT(CASE WHEN a.WaitDesignTime is not null THEN 1 END) AS WaitDesign, COUNT(CASE WHEN A.OrderState >= '5' and a.IsRefund !='2' and a.FinishDesignTime BETWEEN '{0}' AND '{1}' THEN 1 END) AS DesignFinish FROM dbo.CE_ErpTradeCell AS A LEFT OUTER JOIN dbo.view_ErpUser AS B ON A.DesignUserId = B.ID where A.WaitDesignTime BETWEEN '{0}' AND '{1}' and b.orgid in ({2}) and a.IsSample!=2 and a.ctid not like '%S%' GROUP BY DesignUserId ", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), org);
|
|
|
+ DataTable dt3 = DbHelper.DbConn.ExecuteDataset(sql3.ToString()).Tables[0];
|
|
|
+
|
|
|
+ string sqlFinish = string.Format("SELECT A.DesignUserId AS did, COUNT ( CASE WHEN a.FinishDesignTime BETWEEN '{0}' AND '{1}' THEN 1 END ) AS DesignFinish FROM dbo.CE_ErpTradeCell AS A LEFT OUTER JOIN dbo.view_ErpUser AS B ON A.DesignUserId = B.ID WHERE A.FinishDesignTime BETWEEN '{0}' AND '{1}' AND b.orgid in ({2}) AND a.IsSample!= 2 AND a.ctid NOT LIKE 'S_%' GROUP BY DesignUserId", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), org);
|
|
|
+ DataTable finishDesign = DbHelper.DbConn.ExecuteDataset(sqlFinish).Tables[0];
|
|
|
+
|
|
|
+ string sqlRefund = string.Format("SELECT A.DesignUserId AS did, COUNT ( DISTINCT A.tid ) AS refund FROM dbo.CE_ErpTradeRefund AS C LEFT OUTER JOIN dbo.CE_ErpTradeCell AS A ON c.tid= A.tid LEFT OUTER JOIN dbo.view_ErpUser AS B ON A.DesignUserId = B.ID WHERE A.WaitDesignTime BETWEEN '{0}' AND '{1}' AND b.orgid in ({2}) AND a.IsSample!= 2 AND a.ctid NOT LIKE '%S%' AND A.IsRefund > 0 AND ( C.created < A.FinishDesignTime OR A.FinishDesignTime IS NULL ) GROUP BY A.DesignUserId", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), org);
|
|
|
+ DataTable refundDesign = DbHelper.DbConn.ExecuteDataset(sqlRefund).Tables[0];
|
|
|
+ Dictionary<object, Dictionary<String, object>> mapweek = new Dictionary<object, Dictionary<String, object>>();
|
|
|
+ foreach (DataRow dr3 in dt3.Rows)
|
|
|
+ {
|
|
|
+ Dictionary<String, object> map2 = new Dictionary<String, object>();
|
|
|
+ double roundedResult = 0.00;
|
|
|
+ double num1 = 0.00;
|
|
|
+ double num2 = 0.00;
|
|
|
+ if (!Convert.IsDBNull(dr3["WaitDesign"]))
|
|
|
+ {
|
|
|
+ num1 = Convert.ToDouble(dr3["DesignFinish"]);
|
|
|
+ num2 = Convert.ToDouble(dr3["WaitDesign"]);
|
|
|
+ /* double num1 = Convert.ToDouble(dr3["totalAmount"]);
|
|
|
+ double num2 = Convert.ToDouble(dr3["msum"]);*/
|
|
|
+ double result = (double)num1 / num2;
|
|
|
+ if (double.IsNaN(result))
|
|
|
+ {
|
|
|
+ result = 0;
|
|
|
+ }
|
|
|
+ roundedResult = Math.Round(result * 100, 2);
|
|
|
+ }
|
|
|
+ map2.Add("DesignFinish", num1);
|
|
|
+ map2.Add("WaitDesign", num2);
|
|
|
+ map2.Add("AvgWeekRate", roundedResult);
|
|
|
+ mapweek.Add(dr3["did"], map2);
|
|
|
+
|
|
|
+ }
|
|
|
+ Dictionary<object, Dictionary<String, object>> mapDay = new Dictionary<object, Dictionary<String, object>>();
|
|
|
+ StringBuilder sql4 = new StringBuilder();
|
|
|
+ sql4.AppendFormat("SELECT a.did,b.name, SUM(CAST(a.onFinalizationRate AS decimal(10, 4))) AS totalAmount,(SELECT COUNT(CONVERT(date, ctime)) AS days FROM [dbo].[Ce_ErpDesignerFinishRateNew] WHERE did = a.did and AllOrder > 0 and ctime BETWEEN '{0}' AND '{1}')AS msum FROM [dbo].[Ce_ErpDesignerFinishRateNew] as a LEFT JOIN CE_ErpUser as b on a.did = b.id WHERE a.ctime BETWEEN '{0}' AND '{1}' and a.orgid in ({2}) GROUP BY a.did,b.name", startTime.ToString("yyyy-MM-dd HH:mm:ss"), endTime.ToString("yyyy-MM-dd HH:mm:ss"), org);
|
|
|
+ DataTable dt4 = null;
|
|
|
+ dt4 = DbHelper.DbConn.ExecuteDataset(sql4.ToString()).Tables[0];
|
|
|
+ foreach (DataRow dr4 in dt4.Rows)
|
|
|
+ {
|
|
|
+ Dictionary<String, object> map2 = new Dictionary<String, object>();
|
|
|
+ double roundedResult = 0.00;
|
|
|
+ double num1 = 0.00;
|
|
|
+ double num2 = 0.00;
|
|
|
+ if (!Convert.IsDBNull(dr4["totalAmount"]))
|
|
|
+ {
|
|
|
+ num1 = Convert.ToDouble(dr4["totalAmount"]);
|
|
|
+ num2 = Convert.ToDouble(dr4["msum"]);
|
|
|
+ double result = (double)num1 / num2;
|
|
|
+ if (double.IsNaN(result))
|
|
|
+ {
|
|
|
+ result = 0;
|
|
|
+ }
|
|
|
+ roundedResult = Math.Round(result * 100, 2);
|
|
|
+ }
|
|
|
+
|
|
|
+ map2.Add("totalAmount", num1);
|
|
|
+ map2.Add("msum", num2);
|
|
|
+ map2.Add("AvgRate", roundedResult);
|
|
|
+ mapDay.Add(dr4["did"], map2);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ dt.Columns.Add("sumPlyAmount", typeof(String));
|
|
|
+ dt.Columns.Add("WaitDesign", typeof(int));
|
|
|
+ dt.Columns.Add("Designing", typeof(int));
|
|
|
+ dt.Columns.Add("DesignFinish", typeof(int));
|
|
|
+ dt.Columns.Add("sumNum", typeof(int));
|
|
|
+ dt.Columns.Add("onFinalizationRateSum", typeof(String));//
|
|
|
+ dt.Columns.Add("onAvgWeekRate", typeof(String));
|
|
|
+ dt.Columns.Add("refundPayment", typeof(String));
|
|
|
+ dt.Columns.Add("designPayment", typeof(String));
|
|
|
+ dt.Columns.Add("onAvgRate", typeof(String));
|
|
|
+ dt.Columns.Add("toRefundDesign", typeof(String));
|
|
|
+ dt.Columns.Add("refund", typeof(int));
|
|
|
+ dt.Columns.Add("waitSum", typeof(int));
|
|
|
+ dt.Columns.Add("designTime", typeof(int));
|
|
|
+ Dictionary<object, Dictionary<String, object>> map1 = new Dictionary<object, Dictionary<String, object>>();
|
|
|
+ foreach (DataRow dr2 in dt2.Rows)
|
|
|
+ {
|
|
|
+ Dictionary<String, object> map2 = new Dictionary<String, object>();
|
|
|
+ map2.Add("TotalPayment", dr2["TotalPayment"]);
|
|
|
+ map2.Add("WaitDesign", dr2["WaitDesign"]);
|
|
|
+ map2.Add("Designing", dr2["Designing"]);
|
|
|
+ map2.Add("DesignFinish", dr2["DesignFinish"]);
|
|
|
+ map2.Add("sumNum", dr2["sumnum"]);
|
|
|
+ map2.Add("waitSum", dr2["waitSum"]);
|
|
|
+ map2.Add("refundPayment", dr2["refundPayment"]);
|
|
|
+ map2.Add("designPayment", dr2["designPayment"]);
|
|
|
+ map2.Add("designTime", 0);
|
|
|
+ map2.Add("refund", 0);
|
|
|
+ foreach (DataRow row in finishDesign.Rows)
|
|
|
+ {
|
|
|
+
|
|
|
+ if (row["did"].ToString() == dr2["did"].ToString())
|
|
|
+ {
|
|
|
+ map2["designTime"] = row["DesignFinish"];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ foreach (DataRow row in refundDesign.Rows)
|
|
|
+ {
|
|
|
+
|
|
|
+ if (row["did"].ToString() == dr2["did"].ToString())
|
|
|
+ {
|
|
|
+ map2["refund"] = row["refund"];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map1.Add(dr2["did"], map2);
|
|
|
+ }
|
|
|
+
|
|
|
+ double sumRefund = 0;
|
|
|
+ double sumPlyAmount = 0;
|
|
|
+ double sumRefundPayment = 0;
|
|
|
+ double sumDesignPayment = 0;
|
|
|
+ double sumAmount = 0;
|
|
|
+ int sumWaitDesign = 0;
|
|
|
+ int sumDesigning = 0;
|
|
|
+ int sumDesignFinish = 0;
|
|
|
+ int sumNum = 0;
|
|
|
+ int sumAllOrder = 0;
|
|
|
+ int sumFinalizationRate = 0;
|
|
|
+ int sumWeekDesign = 0;
|
|
|
+ int sumWeekDesignFinish = 0;
|
|
|
+ int sumMothDesign = 0;
|
|
|
+ int sumMothDesignFinish = 0;
|
|
|
+ double onFinalizationRateSum = 0;
|
|
|
+ double toRefundDesign = 0;
|
|
|
+ double onAvgWeekRate = 0;
|
|
|
+ double onAvgRate = 0;
|
|
|
+ int dif = 0;
|
|
|
+ int waitSum = 0;
|
|
|
+ int designTime = 0;
|
|
|
+ foreach (DataRow dr in dt.Rows)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ Dictionary<String, object> map3 = map1[dr["did"]];
|
|
|
+ Dictionary<String, object> map4 = mapweek[dr["did"]];
|
|
|
+ Dictionary<String, object> map5 = mapDay[dr["did"]];
|
|
|
+
|
|
|
+ if (!Convert.IsDBNull(dr["totalAmount"]))
|
|
|
+ {
|
|
|
+ double num1 = Convert.ToDouble(dr["totalAmount"]);
|
|
|
+ double num2 = Convert.ToDouble(dr["toRefund"]);
|
|
|
+
|
|
|
+ double result = (double)num1 / Convert.ToDouble(dr["msum"]);
|
|
|
+ double result2 = (double)num2 / Convert.ToDouble(dr["msum"]);
|
|
|
+ if (double.IsNaN(result))
|
|
|
+ {
|
|
|
+ result = 0;
|
|
|
+ }
|
|
|
+ if (double.IsNaN(result2))
|
|
|
+ {
|
|
|
+ result2 = 0;
|
|
|
+ }
|
|
|
+ double roundedResult = Math.Round(result * 100, 2);
|
|
|
+ dr["onFinalizationRateSum"] = roundedResult;
|
|
|
+ double roundedResult2 = Math.Round(result2 * 100, 2);
|
|
|
+ dr["toRefundDesign"] = roundedResult2;
|
|
|
+ onFinalizationRateSum += roundedResult;
|
|
|
+ toRefundDesign += roundedResult2;
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ dr["onFinalizationRateSum"] = "0.00";
|
|
|
+ }
|
|
|
+ dr["AllOrder"] = Convert.ToDouble(dr["AllOrder"]) + Convert.ToDouble(dr["csplitum"]);
|
|
|
+ dr["FinalizationRate"] = Convert.ToDouble(dr["FinalizationRate"]) + Convert.ToDouble(dr["splitSum"]);
|
|
|
+ dr["refund"] = map3["refund"];
|
|
|
+ dr["sumPlyAmount"] = map3["TotalPayment"];
|
|
|
+ dr["WaitDesign"] = map3["WaitDesign"];
|
|
|
+ dr["refundPayment"] = map3["refundPayment"];
|
|
|
+ dr["designPayment"] = map3["designPayment"];
|
|
|
+ dr["Designing"] = map3["Designing"];
|
|
|
+ dr["DesignFinish"] = map3["DesignFinish"];
|
|
|
+ dr["sumNum"] = map3["sumNum"];
|
|
|
+ dr["onAvgWeekRate"] = map4["AvgWeekRate"];
|
|
|
+ dr["onAvgRate"] = map5["AvgRate"];
|
|
|
+ dr["waitSum"] = map3["waitSum"];
|
|
|
+ dr["designTime"] = map3["designTime"];
|
|
|
+ dr["onFinalizationRateSum"] = Math.Round(Convert.ToDouble(dr["FinalizationRate"]) / Convert.ToDouble(dr["AllOrder"]) * 100, 2);
|
|
|
+ sumRefund += Convert.ToDouble(dr["refund"]);
|
|
|
+ sumPlyAmount += Convert.ToDouble(dr["sumPlyAmount"]);
|
|
|
+ sumDesignPayment += Convert.ToDouble(dr["designPayment"]);
|
|
|
+ sumAmount += Convert.ToDouble(dr["Amount"]);
|
|
|
+ sumRefundPayment += Convert.ToDouble(dr["refundPayment"]);
|
|
|
+ sumWaitDesign += Convert.ToInt32(dr["WaitDesign"]);
|
|
|
+ sumDesigning += Convert.ToInt32(dr["Designing"]);
|
|
|
+ sumDesignFinish += Convert.ToInt32(dr["DesignFinish"]);
|
|
|
+ sumNum += Convert.ToInt32(dr["sumNum"]);
|
|
|
+ sumAllOrder += Convert.ToInt32(dr["AllOrder"]);
|
|
|
+ sumFinalizationRate += Convert.ToInt32(dr["FinalizationRate"]);
|
|
|
+ waitSum += Convert.ToInt32(dr["waitSum"]);
|
|
|
+ designTime += Convert.ToInt32(dr["designTime"]);
|
|
|
+
|
|
|
+ if (sumNum > 0)
|
|
|
+ {
|
|
|
+ dif++;
|
|
|
+ }
|
|
|
+ sumWeekDesign += Convert.ToInt32(map4["WaitDesign"]);
|
|
|
+ sumWeekDesignFinish += Convert.ToInt32(map4["DesignFinish"]);
|
|
|
+ sumMothDesign += Convert.ToInt32(map5["msum"]);
|
|
|
+ sumMothDesignFinish += Convert.ToInt32(map5["totalAmount"]);
|
|
|
+ onAvgWeekRate += Convert.ToDouble(map4["AvgWeekRate"]);
|
|
|
+ onAvgRate += Convert.ToDouble(map5["AvgRate"]);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ dr["sumPlyAmount"] = 0;
|
|
|
+ dr["WaitDesign"] = 0;
|
|
|
+ dr["Designing"] = 0;
|
|
|
+ dr["DesignFinish"] = 0;
|
|
|
+ dr["sumNum"] = 0;
|
|
|
+ dr["waitSum"] = 0;
|
|
|
+ dr["designTime"] = 0;
|
|
|
+ dr["onAvgWeekRate"] = "0.00";
|
|
|
+ dr["onAvgRate"] = "0.00";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ DataRow sumRow = dt.NewRow();
|
|
|
+ sumRow["AllOrder"] = sumAllOrder;
|
|
|
+ sumRow["FinalizationRate"] = sumFinalizationRate;
|
|
|
+ sumRow["refund"] = sumRefund;
|
|
|
+ sumRow["sumPlyAmount"] = sumPlyAmount;
|
|
|
+ sumRow["WaitDesign"] = sumWaitDesign;
|
|
|
+ sumRow["designPayment"] = sumDesignPayment;
|
|
|
+ sumRow["Designing"] = sumDesigning;
|
|
|
+ sumRow["refundPayment"] = sumRefundPayment;
|
|
|
+ sumRow["Amount"] = sumAmount;
|
|
|
+ sumRow["DesignFinish"] = sumDesignFinish;
|
|
|
+ sumRow["sumNum"] = sumNum;
|
|
|
+ sumRow["waitSum"] = waitSum;
|
|
|
+ sumRow["designTime"] = designTime;
|
|
|
+ sumRow["onFinalizationRateSum"] = Math.Round(Convert.ToDouble(sumFinalizationRate) / sumAllOrder * 100, 2);
|
|
|
+ sumRow["toRefundDesign"] = Math.Round(toRefundDesign / dif, 2);
|
|
|
+ sumRow["onAvgWeekRate"] = Math.Round(Convert.ToDouble(sumWeekDesignFinish) / sumWeekDesign * 100, 2);
|
|
|
+ sumRow["onAvgRate"] = Math.Round(Convert.ToDouble(sumMothDesignFinish) / sumMothDesign * 100, 2);
|
|
|
+ dt.Rows.Add(sumRow);
|
|
|
+ writeGridDataTableJson(dStruct.TotalCount, dt);
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
public void new_Designer_Rate()
|
|
|
{
|