|
@@ -2044,6 +2044,7 @@ namespace SiteCore.Handler
|
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason1", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason1", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason2", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason2", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason3", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason3", typeof(string)));
|
|
|
|
|
+ dt.Columns.Add(new DataColumn("AfterSaleReason4", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("total", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("total", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("rate", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("rate", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("isBad", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("isBad", typeof(string)));
|
|
@@ -2057,6 +2058,7 @@ namespace SiteCore.Handler
|
|
|
dr_he[5] = 0;
|
|
dr_he[5] = 0;
|
|
|
dr_he[6] = 0;
|
|
dr_he[6] = 0;
|
|
|
dr_he[7] = 0;
|
|
dr_he[7] = 0;
|
|
|
|
|
+ dr_he[8] = 0;
|
|
|
foreach (DataRow row in dtafter.Rows)
|
|
foreach (DataRow row in dtafter.Rows)
|
|
|
{
|
|
{
|
|
|
string reason = row["AfterSaleReason"].ToString();
|
|
string reason = row["AfterSaleReason"].ToString();
|
|
@@ -2076,19 +2078,23 @@ namespace SiteCore.Handler
|
|
|
{
|
|
{
|
|
|
dr[3] = reason_list[2];
|
|
dr[3] = reason_list[2];
|
|
|
}
|
|
}
|
|
|
- dr[4] = row["total"];
|
|
|
|
|
- dr[5] = 0;
|
|
|
|
|
- dr[6] = row["isBad"];
|
|
|
|
|
- dr[7] = row["isComplain"];
|
|
|
|
|
|
|
+ if (reason_list.Length > 3)
|
|
|
|
|
+ {
|
|
|
|
|
+ dr[4] = reason_list[3];
|
|
|
|
|
+ }
|
|
|
|
|
+ dr[5] = row["total"];
|
|
|
|
|
+ dr[6] = 0;
|
|
|
|
|
+ dr[7] = row["isBad"];
|
|
|
|
|
+ dr[8] = row["isComplain"];
|
|
|
|
|
|
|
|
dt.Rows.Add(dr);
|
|
dt.Rows.Add(dr);
|
|
|
- dr_he[4] = Convert.ToDecimal(dr_he[4]) + Convert.ToDecimal(dr[4]);
|
|
|
|
|
|
|
+ dr_he[5] = Convert.ToDecimal(dr_he[5]) + Convert.ToDecimal(dr[5]);
|
|
|
}
|
|
}
|
|
|
foreach (DataRow row in dt.Rows)
|
|
foreach (DataRow row in dt.Rows)
|
|
|
{
|
|
{
|
|
|
- row[5] = Math.Round(Math.Round(Convert.ToDecimal(row[4]) / Convert.ToDecimal(dr_he[4]), 4) * 100, 2);
|
|
|
|
|
|
|
+ row[6] = Math.Round(Math.Round(Convert.ToDecimal(row[5]) / Convert.ToDecimal(dr_he[5]), 4) * 100, 2);
|
|
|
}
|
|
}
|
|
|
- dr_he[5] = 100;
|
|
|
|
|
|
|
+ dr_he[6] = 100;
|
|
|
DataView dv = new DataView(dt);
|
|
DataView dv = new DataView(dt);
|
|
|
//dv.Sort = "AllOrder desc";
|
|
//dv.Sort = "AllOrder desc";
|
|
|
DataTable dtNew = dv.ToTable();
|
|
DataTable dtNew = dv.ToTable();
|
|
@@ -2235,6 +2241,9 @@ namespace SiteCore.Handler
|
|
|
dt.Rows.Add(dr);
|
|
dt.Rows.Add(dr);
|
|
|
dr_he[1] = Convert.ToDecimal(dr_he[1]) + Convert.ToDecimal(dr[1]);
|
|
dr_he[1] = Convert.ToDecimal(dr_he[1]) + Convert.ToDecimal(dr[1]);
|
|
|
dr_he[2] = Convert.ToDecimal(dr_he[2]) + Convert.ToDecimal(dr[2]);
|
|
dr_he[2] = Convert.ToDecimal(dr_he[2]) + Convert.ToDecimal(dr[2]);
|
|
|
|
|
+ dr_he[5] = Convert.ToDecimal(dr_he[5]) + Convert.ToDecimal(dr[5]);
|
|
|
|
|
+ dr_he[6] = Convert.ToDecimal(dr_he[6]) + Convert.ToDecimal(dr[6]);
|
|
|
|
|
+ dr_he[7] = Convert.ToDecimal(dr_he[7]) + Convert.ToDecimal(dr[7]);
|
|
|
totalAfter += Convert.ToInt32(dr[1]);
|
|
totalAfter += Convert.ToInt32(dr[1]);
|
|
|
}
|
|
}
|
|
|
foreach (DataRow row in dt.Rows)
|
|
foreach (DataRow row in dt.Rows)
|
|
@@ -2301,6 +2310,8 @@ namespace SiteCore.Handler
|
|
|
dr_he[2] = 0;
|
|
dr_he[2] = 0;
|
|
|
dr_he[3] = 0;
|
|
dr_he[3] = 0;
|
|
|
dr_he[4] = 100;
|
|
dr_he[4] = 100;
|
|
|
|
|
+ dr_he[5] = 0;
|
|
|
|
|
+ dr_he[6] = 0;
|
|
|
foreach (DataRow row in dtafter.Rows)
|
|
foreach (DataRow row in dtafter.Rows)
|
|
|
{
|
|
{
|
|
|
DataRow dr = dt.NewRow();
|
|
DataRow dr = dt.NewRow();
|
|
@@ -2319,6 +2330,8 @@ namespace SiteCore.Handler
|
|
|
dt.Rows.Add(dr);
|
|
dt.Rows.Add(dr);
|
|
|
dr_he[1] = Convert.ToDecimal(dr_he[1]) + Convert.ToDecimal(dr[1]);
|
|
dr_he[1] = Convert.ToDecimal(dr_he[1]) + Convert.ToDecimal(dr[1]);
|
|
|
dr_he[2] = Convert.ToDecimal(dr_he[2]) + Convert.ToDecimal(dr[2]);
|
|
dr_he[2] = Convert.ToDecimal(dr_he[2]) + Convert.ToDecimal(dr[2]);
|
|
|
|
|
+ dr_he[5] = Convert.ToDecimal(dr_he[5]) + Convert.ToDecimal(dr[5]);
|
|
|
|
|
+ dr_he[6] = Convert.ToDecimal(dr_he[6]) + Convert.ToDecimal(dr[6]);
|
|
|
totalAfter += Convert.ToInt32(dr[1]);
|
|
totalAfter += Convert.ToInt32(dr[1]);
|
|
|
}
|
|
}
|
|
|
foreach (DataRow row in dt.Rows)
|
|
foreach (DataRow row in dt.Rows)
|
|
@@ -2366,7 +2379,7 @@ namespace SiteCore.Handler
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- sql.AppendFormat("SELECT u.OrgName,u.Name, COUNT ( * ) AS AllOrder, COUNT ( CASE WHEN o.AfterSaleState >= 1 THEN 1 END ) AS aftersaleOrder,COUNT ( CASE WHEN a.IsBad > 0 THEN 1 END ) AS isBad,COUNT ( CASE WHEN a.IsComplain > 0 THEN 1 END ) AS isComplain FROM CE_ErpTradeCell o LEFT JOIN view_ErpUser u ON o.DesignUserId = u.ID LEFT JOIN Ce_ErpTradeAfterSaleExtend a ON o.ctid = a.tid WHERE 1=1 {0} GROUP BY u.OrgName,u.Name", sqlDate);
|
|
|
|
|
|
|
+ sql.AppendFormat("SELECT u.OrgName, u.Name,o.AfterSaleResponsible, COUNT ( * ) AS AllOrder, COUNT ( CASE WHEN o.AfterSaleState >= 1 THEN 1 END ) AS aftersaleOrder, COUNT ( CASE WHEN a.IsBad > 0 THEN 1 END ) AS isBad, COUNT ( CASE WHEN a.IsComplain > 0 THEN 1 END ) AS isComplain FROM CE_ErpTradeResponsible r LEFT JOIN CE_ErpTradeCell o ON o.ctid = r.tid LEFT JOIN view_ErpUser u ON r.UserId = u.ID LEFT JOIN Ce_ErpTradeAfterSaleExtend a ON o.ctid = a.tid WHERE 1 = 1 AND r.type = 0 AND r.VerifyState > - 1 AND CHARINDEX( '客户问题', o.AfterSaleReason ) = 0 AND CHARINDEX( '系统问题', o.AfterSaleReason ) = 0 {0} GROUP BY u.OrgName, o.AfterSaleResponsible,u.Name", sqlDate);
|
|
|
DataTable dtafter = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
|
|
DataTable dtafter = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
|
|
|
int totalAfter = 0;
|
|
int totalAfter = 0;
|
|
|
DataTable dt = new DataTable();
|
|
DataTable dt = new DataTable();
|
|
@@ -2389,24 +2402,32 @@ namespace SiteCore.Handler
|
|
|
dr_he[7] = 0;
|
|
dr_he[7] = 0;
|
|
|
foreach (DataRow row in dtafter.Rows)
|
|
foreach (DataRow row in dtafter.Rows)
|
|
|
{
|
|
{
|
|
|
- DataRow dr = dt.NewRow();
|
|
|
|
|
- dr[0] = row["OrgName"];
|
|
|
|
|
- dr[1] = row["aftersaleOrder"];
|
|
|
|
|
- dr[2] = row["AllOrder"];
|
|
|
|
|
- dr[4] = 0;
|
|
|
|
|
- dr[5] = row["Name"];
|
|
|
|
|
- dr[6] = row["isBad"];
|
|
|
|
|
- dr[7] = row["isComplain"];
|
|
|
|
|
- decimal rate = 0;
|
|
|
|
|
- if (dr[1].ToString() != "0")
|
|
|
|
|
|
|
+ string afterSaleResponsible = row["AfterSaleResponsible"].ToString();
|
|
|
|
|
+ if (string.IsNullOrEmpty(afterSaleResponsible)) { continue; }
|
|
|
|
|
+ if (afterSaleResponsible.Contains("设计师"))
|
|
|
{
|
|
{
|
|
|
- rate = Math.Round(Convert.ToDecimal(dr[1]) / Convert.ToDecimal(dr[2]), 4);
|
|
|
|
|
|
|
+ DataRow dr = dt.NewRow();
|
|
|
|
|
+ dr[0] = row["OrgName"];
|
|
|
|
|
+ dr[1] = row["aftersaleOrder"];
|
|
|
|
|
+ dr[2] = row["AllOrder"];
|
|
|
|
|
+ dr[4] = 0;
|
|
|
|
|
+ dr[5] = row["Name"];
|
|
|
|
|
+ dr[6] = row["isBad"];
|
|
|
|
|
+ dr[7] = row["isComplain"];
|
|
|
|
|
+ decimal rate = 0;
|
|
|
|
|
+ if (dr[1].ToString() != "0")
|
|
|
|
|
+ {
|
|
|
|
|
+ rate = Math.Round(Convert.ToDecimal(dr[1]) / Convert.ToDecimal(dr[2]), 4);
|
|
|
|
|
+ }
|
|
|
|
|
+ dr[3] = Math.Round(rate * 100, 2);
|
|
|
|
|
+ dt.Rows.Add(dr);
|
|
|
|
|
+ dr_he[1] = Convert.ToDecimal(dr_he[1]) + Convert.ToDecimal(dr[1]);
|
|
|
|
|
+ dr_he[2] = Convert.ToDecimal(dr_he[2]) + Convert.ToDecimal(dr[2]);
|
|
|
|
|
+ dr_he[6] = Convert.ToDecimal(dr_he[6]) + Convert.ToDecimal(dr[6]);
|
|
|
|
|
+ dr_he[7] = Convert.ToDecimal(dr_he[7]) + Convert.ToDecimal(dr[7]);
|
|
|
|
|
+ totalAfter += Convert.ToInt32(dr[1]);
|
|
|
}
|
|
}
|
|
|
- dr[3] = Math.Round(rate * 100, 2);
|
|
|
|
|
- dt.Rows.Add(dr);
|
|
|
|
|
- dr_he[1] = Convert.ToDecimal(dr_he[1]) + Convert.ToDecimal(dr[1]);
|
|
|
|
|
- dr_he[2] = Convert.ToDecimal(dr_he[2]) + Convert.ToDecimal(dr[2]);
|
|
|
|
|
- totalAfter += Convert.ToInt32(dr[1]);
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
foreach (DataRow row in dt.Rows)
|
|
foreach (DataRow row in dt.Rows)
|
|
|
{
|
|
{
|
|
@@ -2455,7 +2476,7 @@ namespace SiteCore.Handler
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- sql.AppendFormat("SELECT u.OrgName,u.Name, COUNT ( * ) AS AllOrder, COUNT ( CASE WHEN o.AfterSaleState >= 1 THEN 1 END ) AS aftersaleOrder ,COUNT ( CASE WHEN a.IsBad > 0 THEN 1 END ) AS isBad,COUNT ( CASE WHEN a.IsComplain > 0 THEN 1 END ) AS isComplain FROM CE_ErpTradeCell o LEFT JOIN view_ErpUser u ON o.CustomerUserId = u.ID LEFT JOIN Ce_ErpTradeAfterSaleExtend a ON o.ctid = a.tid WHERE 1=1 {0} GROUP BY u.OrgName,u.Name", sqlDate);
|
|
|
|
|
|
|
+ sql.AppendFormat("SELECT u.OrgName, u.Name,o.AfterSaleResponsible, COUNT ( * ) AS AllOrder, COUNT ( CASE WHEN o.AfterSaleState >= 1 THEN 1 END ) AS aftersaleOrder, COUNT ( CASE WHEN a.IsBad > 0 THEN 1 END ) AS isBad, COUNT ( CASE WHEN a.IsComplain > 0 THEN 1 END ) AS isComplain FROM CE_ErpTradeResponsible r LEFT JOIN CE_ErpTradeCell o ON o.ctid = r.tid LEFT JOIN view_ErpUser u ON r.UserId = u.ID LEFT JOIN Ce_ErpTradeAfterSaleExtend a ON o.ctid = a.tid WHERE 1 = 1 AND r.type = 0 AND r.VerifyState > - 1 AND CHARINDEX( '客户问题', o.AfterSaleReason ) = 0 AND CHARINDEX( '系统问题', o.AfterSaleReason ) = 0 {0} GROUP BY u.OrgName, o.AfterSaleResponsible,u.Name", sqlDate);
|
|
|
DataTable dtafter = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
|
|
DataTable dtafter = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
|
|
|
int totalAfter = 0;
|
|
int totalAfter = 0;
|
|
|
DataTable dt = new DataTable();
|
|
DataTable dt = new DataTable();
|
|
@@ -2474,28 +2495,35 @@ namespace SiteCore.Handler
|
|
|
dr_he[3] = 0;
|
|
dr_he[3] = 0;
|
|
|
dr_he[4] = 100;
|
|
dr_he[4] = 100;
|
|
|
dr_he[5] = 100;
|
|
dr_he[5] = 100;
|
|
|
- dr_he[6] = 100;
|
|
|
|
|
- dr_he[7] = 100;
|
|
|
|
|
|
|
+ dr_he[6] = 0;
|
|
|
|
|
+ dr_he[7] = 0;
|
|
|
foreach (DataRow row in dtafter.Rows)
|
|
foreach (DataRow row in dtafter.Rows)
|
|
|
{
|
|
{
|
|
|
- DataRow dr = dt.NewRow();
|
|
|
|
|
- dr[0] = row["OrgName"];
|
|
|
|
|
- dr[1] = row["aftersaleOrder"];
|
|
|
|
|
- dr[2] = row["AllOrder"];
|
|
|
|
|
- dr[4] = 0;
|
|
|
|
|
- dr[5] = row["Name"];
|
|
|
|
|
- dr[6] = row["isBad"];
|
|
|
|
|
- dr[7] = row["isComplain"];
|
|
|
|
|
- decimal rate = 0;
|
|
|
|
|
- if (dr[1].ToString() != "0")
|
|
|
|
|
|
|
+ string afterSaleResponsible = row["AfterSaleResponsible"].ToString();
|
|
|
|
|
+ if (string.IsNullOrEmpty(afterSaleResponsible)) { continue; }
|
|
|
|
|
+ if (afterSaleResponsible.Contains("客服"))
|
|
|
{
|
|
{
|
|
|
- rate = Math.Round(Convert.ToDecimal(dr[1]) / Convert.ToDecimal(dr[2]), 4);
|
|
|
|
|
|
|
+ DataRow dr = dt.NewRow();
|
|
|
|
|
+ dr[0] = row["OrgName"];
|
|
|
|
|
+ dr[1] = row["aftersaleOrder"];
|
|
|
|
|
+ dr[2] = row["AllOrder"];
|
|
|
|
|
+ dr[4] = 0;
|
|
|
|
|
+ dr[5] = row["Name"];
|
|
|
|
|
+ dr[6] = row["isBad"];
|
|
|
|
|
+ dr[7] = row["isComplain"];
|
|
|
|
|
+ decimal rate = 0;
|
|
|
|
|
+ if (dr[1].ToString() != "0")
|
|
|
|
|
+ {
|
|
|
|
|
+ rate = Math.Round(Convert.ToDecimal(dr[1]) / Convert.ToDecimal(dr[2]), 4);
|
|
|
|
|
+ }
|
|
|
|
|
+ dr[3] = Math.Round(rate * 100, 2);
|
|
|
|
|
+ dt.Rows.Add(dr);
|
|
|
|
|
+ dr_he[1] = Convert.ToDecimal(dr_he[1]) + Convert.ToDecimal(dr[1]);
|
|
|
|
|
+ dr_he[2] = Convert.ToDecimal(dr_he[2]) + Convert.ToDecimal(dr[2]);
|
|
|
|
|
+ dr_he[6] = Convert.ToDecimal(dr_he[6]) + Convert.ToDecimal(dr[6]);
|
|
|
|
|
+ dr_he[7] = Convert.ToDecimal(dr_he[7]) + Convert.ToDecimal(dr[7]);
|
|
|
|
|
+ totalAfter += Convert.ToInt32(dr[1]);
|
|
|
}
|
|
}
|
|
|
- dr[3] = Math.Round(rate * 100, 2);
|
|
|
|
|
- dt.Rows.Add(dr);
|
|
|
|
|
- dr_he[1] = Convert.ToDecimal(dr_he[1]) + Convert.ToDecimal(dr[1]);
|
|
|
|
|
- dr_he[2] = Convert.ToDecimal(dr_he[2]) + Convert.ToDecimal(dr[2]);
|
|
|
|
|
- totalAfter += Convert.ToInt32(dr[1]);
|
|
|
|
|
}
|
|
}
|
|
|
foreach (DataRow row in dt.Rows)
|
|
foreach (DataRow row in dt.Rows)
|
|
|
{
|
|
{
|
|
@@ -2613,15 +2641,17 @@ namespace SiteCore.Handler
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- sql.AppendFormat("SELECT s.ComName ,o.AfterSaleReason, COUNT ( * ) AS AllOrder FROM CE_ErpTradeCell o LEFT JOIN CE_ErpSupplier s ON s.ID = o.SupplierId WHERE 1 = 1 AND o.AfterSaleState >= 1 AND o.AfterSaleResSupId > 0 {0} GROUP BY o.AfterSaleReason, s.ComName ORDER BY s.ComName DESC", sqlDate);
|
|
|
|
|
|
|
+ sql.AppendFormat("SELECT s.ComName ,p.PType,o.AfterSaleReason, COUNT ( * ) AS AllOrder FROM CE_ErpTradeCell o LEFT JOIN CE_ErpSupplier s ON s.ID = o.SupplierId LEFT JOIN CE_ErpProduct p ON o.ProductId = p.id WHERE 1 = 1 AND o.AfterSaleState >= 1 AND o.AfterSaleResSupId > 0 {0} GROUP BY o.AfterSaleReason, s.ComName,p.PType ORDER BY s.ComName DESC", sqlDate);
|
|
|
DataTable dtafter = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
|
|
DataTable dtafter = DbHelper.DbConn.ExecuteDataset(sql.ToString()).Tables[0];
|
|
|
DataTable dt = new DataTable();
|
|
DataTable dt = new DataTable();
|
|
|
dt.Columns.Add(new DataColumn("ComName", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("ComName", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason1", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason1", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason2", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason2", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason3", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("AfterSaleReason3", typeof(string)));
|
|
|
|
|
+ dt.Columns.Add(new DataColumn("AfterSaleReason4", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("AllOrder", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("AllOrder", typeof(string)));
|
|
|
dt.Columns.Add(new DataColumn("rate", typeof(string)));
|
|
dt.Columns.Add(new DataColumn("rate", typeof(string)));
|
|
|
|
|
+ dt.Columns.Add(new DataColumn("PType", typeof(string)));
|
|
|
DataRow dr_he = dt.NewRow();
|
|
DataRow dr_he = dt.NewRow();
|
|
|
dr_he[0] = "合计";
|
|
dr_he[0] = "合计";
|
|
|
dr_he[1] = 0;
|
|
dr_he[1] = 0;
|
|
@@ -2629,6 +2659,8 @@ namespace SiteCore.Handler
|
|
|
dr_he[3] = 0;
|
|
dr_he[3] = 0;
|
|
|
dr_he[4] = 0;
|
|
dr_he[4] = 0;
|
|
|
dr_he[5] = 0;
|
|
dr_he[5] = 0;
|
|
|
|
|
+ dr_he[6] = 0;
|
|
|
|
|
+ dr_he[7] = 0;
|
|
|
foreach (DataRow row in dtafter.Rows)
|
|
foreach (DataRow row in dtafter.Rows)
|
|
|
{
|
|
{
|
|
|
string reason = row["AfterSaleReason"].ToString();
|
|
string reason = row["AfterSaleReason"].ToString();
|
|
@@ -2647,17 +2679,22 @@ namespace SiteCore.Handler
|
|
|
{
|
|
{
|
|
|
dr[3] = reason_list[2];
|
|
dr[3] = reason_list[2];
|
|
|
}
|
|
}
|
|
|
- dr[4] = row["AllOrder"];
|
|
|
|
|
- dr[5] = 0;
|
|
|
|
|
|
|
+ if (reason_list.Length > 3)
|
|
|
|
|
+ {
|
|
|
|
|
+ dr[4] = reason_list[3];
|
|
|
|
|
+ }
|
|
|
|
|
+ dr[5] = row["AllOrder"];
|
|
|
|
|
+ dr[6] = 0;
|
|
|
|
|
+ dr[7] = row["PType"];
|
|
|
|
|
|
|
|
dt.Rows.Add(dr);
|
|
dt.Rows.Add(dr);
|
|
|
- dr_he[4] = Convert.ToDecimal(dr_he[4]) + Convert.ToDecimal(dr[4]);
|
|
|
|
|
|
|
+ dr_he[5] = Convert.ToDecimal(dr_he[5]) + Convert.ToDecimal(dr[5]);
|
|
|
}
|
|
}
|
|
|
foreach (DataRow row in dt.Rows)
|
|
foreach (DataRow row in dt.Rows)
|
|
|
{
|
|
{
|
|
|
- row[5] = Math.Round(Math.Round(Convert.ToDecimal(row[4]) / Convert.ToDecimal(dr_he[4]), 4) * 100, 2);
|
|
|
|
|
|
|
+ row[6] = Math.Round(Math.Round(Convert.ToDecimal(row[5]) / Convert.ToDecimal(dr_he[5]), 4) * 100, 2);
|
|
|
}
|
|
}
|
|
|
- dr_he[5] = 100;
|
|
|
|
|
|
|
+ dr_he[6] = 100;
|
|
|
dt.Rows.Add(dr_he);
|
|
dt.Rows.Add(dr_he);
|
|
|
DataView dv = new DataView(dt);
|
|
DataView dv = new DataView(dt);
|
|
|
//dv.Sort = "AllOrder desc";
|
|
//dv.Sort = "AllOrder desc";
|