<%@ WebHandler Language="C#" Class="GwStatisRefundHandler" %>
|
|
using Dao;
|
using Model;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Text;
|
|
public class GwStatisRefundHandler : PageHandler<SysUser>
|
{
|
private GwStatisRefundDao _Dao = new GwStatisRefundDao();
|
|
public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context)
|
{
|
string @string = context.GetString("action");
|
switch (@string)
|
{
|
case "loadStatisReturn":
|
return this.loadStatisReturn(context);
|
case "statisReturn":
|
return this.statisReturn(context);
|
default:
|
throw new Exception("Invalid Action=" + @string);
|
}
|
}
|
|
private JsonPageResult loadStatisReturn(PageContext<SysUser> context)
|
{
|
DateTime dateTime1 = context.GetDateTime("begintime");
|
DateTime dateTime2 = context.GetDateTime("endtime");
|
string string1 = context.GetString("spid");
|
string string2 = context.GetString("statistype");
|
StatisOption so = (StatisOption) context.GetInt("statisoption");
|
int @int = context.GetInt("statusunknown");
|
List<GwStatisReturnItem> list = this._Dao.Query(dateTime1, dateTime2, string1, string2, so);
|
StringBuilder stringBuilder = new StringBuilder();
|
stringBuilder.Append("<tr class=\"header\">");
|
stringBuilder.Append("<th style=\"width: 40px\"><input type='checkbox' name='checkAll' id='checkAll' /></th>");
|
stringBuilder.Append("<th >时间</th>");
|
if ((so & StatisOption.SpID) == StatisOption.SpID)
|
stringBuilder.Append("<th >账户</th>");
|
stringBuilder.Append("<th >AP接收总量(条)</th>");
|
stringBuilder.Append("<th >AP需返还量(条)</th>");
|
stringBuilder.Append("<th >AP已返还量(条)</th>");
|
stringBuilder.Append("<th >AP发送失败(条)</th>");
|
stringBuilder.Append("<th >AP未转发(条)</th>");
|
stringBuilder.Append("<th >AP未知(条)</th>");
|
stringBuilder.Append("<th >AP本次返还量(条)</th>");
|
stringBuilder.Append("<th >单价(元/条)</th>");
|
stringBuilder.Append("</tr>");
|
int num1 = 0;
|
int num2 = 0;
|
int num3 = 0;
|
int num4 = 0;
|
int num5 = 0;
|
foreach (GwStatisReturnItem statisReturnItem in list)
|
{
|
int num6 = statisReturnItem.APStatus0 + statisReturnItem.APStatus1 + statisReturnItem.APStatus2 + statisReturnItem.APStatus3 + statisReturnItem.APStatus4 + statisReturnItem.APStatus5;
|
int num7 = statisReturnItem.APStatus3 + statisReturnItem.APStatus2 + statisReturnItem.APStatus5 + statisReturnItem.APStatus0;
|
int num8 = statisReturnItem.APStatus3 + statisReturnItem.APStatus5;
|
int apStatus2 = statisReturnItem.APStatus2;
|
int apStatus0 = statisReturnItem.APStatus0;
|
if (num7 > 0)
|
{
|
num1 = 1;
|
int num9 = 0;
|
int num10 = 0;
|
if (statisReturnItem.Title != "合计")
|
{
|
DateTime startTime = Convert.ToDateTime(statisReturnItem.Title.ToString().Replace("年", "-").Replace("月", ""));
|
DateTime endTime = Convert.ToDateTime(statisReturnItem.Title.ToString().Replace("年", "-").Replace("月", "")).AddMonths(1);
|
DataTable mothStatisData = this._Dao.GetMothStatisData(statisReturnItem.SpID, startTime, endTime);
|
if (mothStatisData.Rows.Count > 0)
|
{
|
num9 = Convert.ToInt32(mothStatisData.Rows[0]["AP_REFUND"].ToString());
|
num2 += num9;
|
num3 += apStatus2;
|
num4 += apStatus0;
|
num5 += num8;
|
}
|
}
|
int num11 = num7 - num9;
|
if (num11 != 0 && @int == 1 && num7 - num8 > 0)
|
num11 = num7 - num9 - apStatus2;
|
DataTable clientPrice = this._Dao.GetClientPrice(statisReturnItem.SpID);
|
if (clientPrice.Rows.Count > 0)
|
num10 = Convert.ToInt32(clientPrice.Rows[0]["PRICE"].ToString());
|
stringBuilder.AppendFormat("<tr>");
|
if (statisReturnItem.Title == "合计")
|
{
|
if ((so & StatisOption.SpID) == StatisOption.SpID)
|
stringBuilder.AppendFormat("<td colspan=3>{0}</td>", (object) statisReturnItem.Title);
|
else
|
stringBuilder.AppendFormat("<td colspan=2>{0}</td>", (object) statisReturnItem.Title);
|
}
|
else
|
{
|
stringBuilder.AppendFormat("<td><input type=\"checkbox\" name=\"checkbox\" data-title=\"" + (object) statisReturnItem.Title + "\" data-spid=\"" + statisReturnItem.SpID + "\" data-aptotal=\"" + (object) num7 + "\" data-refund=\"" + (object) num9 + "\" data-price=\"" + (object) ((double) num10 / 1000.0) + "\" /></td>");
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) statisReturnItem.Title);
|
if ((so & StatisOption.SpID) == StatisOption.SpID)
|
{
|
string str = statisReturnItem.ClientID + "-" + statisReturnItem.SpID;
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) str);
|
}
|
}
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) num6);
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) num7);
|
if (statisReturnItem.Title == "合计")
|
{
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) num2);
|
stringBuilder.AppendFormat("@<td>{0}</td>", (object) num5);
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) num4);
|
stringBuilder.AppendFormat("@<td>{0}</td>", (object) num3);
|
stringBuilder.AppendFormat("@<td></td>");
|
stringBuilder.AppendFormat("@<td></td>");
|
}
|
else
|
{
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) num9);
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) (statisReturnItem.APStatus3 + statisReturnItem.APStatus5));
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) apStatus0);
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) statisReturnItem.APStatus2);
|
stringBuilder.AppendFormat("<td><input type=\"text\" name=\"txtfund\" onkeyup=\"myRefund(this," + (object) num7 + "," + (object) num9 + "," + (object) ((double) num10 / 1000.0) + ")\" value=\"" + (object) num11 + "\" /></td>");
|
stringBuilder.AppendFormat("<td>{0}</td>", (object) ((double) num10 / 1000.0));
|
}
|
stringBuilder.AppendFormat("</tr>");
|
}
|
}
|
if (num1 == 0)
|
{
|
stringBuilder.AppendFormat("<tr>");
|
stringBuilder.AppendFormat("<td colspan='8' style=\"padding-left:5px; text-align: center;\">{0}</td>", (object) "暂无数据");
|
stringBuilder.AppendFormat("</tr>");
|
}
|
return new JsonPageResult(true, (object) stringBuilder.ToString());
|
}
|
|
private JsonPageResult statisReturn(PageContext<SysUser> context)
|
{
|
string[] strArray1 = context.GetString("title").Split(',');
|
string[] strArray2 = context.GetString("spid").Split(',');
|
string[] strArray3 = context.GetString("aptotal").Split(',');
|
string[] strArray4 = context.GetString("refund").Split(',');
|
string[] strArray5 = context.GetString("txtfund").Split(',');
|
string[] strArray6 = context.GetString("price").Split(',');
|
string operatorId = context.OperatorID;
|
for (int index = 0; index < strArray1.Length; ++index)
|
{
|
DateTime startTime = Convert.ToDateTime(strArray1[index].ToString().Replace("年", "-").Replace("月", ""));
|
DateTime endTime = startTime.AddMonths(1).AddDays(-1.0);
|
string spID = strArray2[index].ToString();
|
int num = Convert.ToInt32(strArray3[index].ToString());
|
int reFund = Convert.ToInt32(strArray4[index].ToString());
|
int txtrefund = Convert.ToInt32(strArray5[index].ToString());
|
int price = Convert.ToInt32(Convert.ToDouble(strArray6[index].ToString()) * 1000.0);
|
if (price <= 0)
|
throw new Exception("请核对" + spID + "帐户及单价");
|
if (txtrefund > num - reFund)
|
throw new Exception("本次返还数量大于总返还量");
|
if (txtrefund > 0)
|
this._Dao.RetiredUpdate(spID, startTime, endTime, reFund, txtrefund, price, operatorId);
|
}
|
return new JsonPageResult(true, (object) "操作成功");
|
}
|
}
|