You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

327 lines
15 KiB
C#

11 months ago
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using DSWebMobileService.Common;
using DSWeb.Areas.Account.DAL.Chfee_Payapplication;
using DSWeb.Areas.Account.Models.Chfee_Payapplication;
using Newtonsoft.Json;
using HcUtility.Comm;
namespace DSWebMobile.Handler
{
/// <summary>
/// Payment 的摘要说明
/// </summary>
public class Payment : IHttpHandler, System.Web.SessionState.IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
string action = context.Request.QueryString["action"].ToString();
switch (action)
{
case "0":
GetDataList(context);
break;
case "1":
GetDataInfo(context);
break;
case "2":
GetDataDetailList(context);
break;
case "3":
//GetDataBalanceList(context);
break;
case "4":
SubmitAudit(context);
break;
case "5":
SubmitAuditBack(context);
break;
case "6":
//GetReason(context);
break;
}
}
private void SubmitAuditBack(HttpContext context)
{
string relGID = "";
//string relReason = "";
string id = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["gid"].ToString());
//string reason = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["r"].ToString());
string pattern = "\0";
string replacement = "";
Regex rgx = new Regex(pattern);
relGID = rgx.Replace(id, replacement);
//relReason = rgx.Replace(reason, replacement);
pattern = "\t";
Regex rgx2 = new Regex(pattern);
relGID = rgx2.Replace(relGID, relGID);
//relReason = rgx2.Replace(relReason, relReason);
List<ChPayapplication> dataList = ChpayapplicationDAL.GetAuditDataList("", Convert.ToString(SessionUtil.Session["USERID"]), "", Convert.ToString(SessionUtil.Session["UserName"]), Convert.ToString(SessionUtil.Session["COMPANYID"]), "");
//List<ChPayapplication> list = dataList.Where(p => p.GID == relGID);
List<ChPayapplication> listPay = new List<ChPayapplication>();
ChPayapplication listItem = new ChPayapplication();
foreach (ChPayapplication temp in dataList)
{
if (temp.GID == relGID)
{
listItem.BILLNO = temp.BILLNO;
listItem.BILLSTATUS = temp.BILLSTATUS;
listPay.Add(listItem);
}
}
//List<ChPayapplication> result = //JsonConvert.SerializeObject(list);
DBResult result = ChpayapplicationDAL.AuditBackList(listPay, SessionUtil.Session["USERID"].ToString());
StringBuilder sb = new StringBuilder();
if (!result.Success) { sb.Append("[{\"result\":\"fail\"}]"); }
else { sb.Append("[{\"result\":\"success\"}]"); }
context.Response.ContentType = "text/plain";
context.Response.Write(sb.ToString());
context.Response.End();
}
private void SubmitAudit(HttpContext context)
{
string relGID = "";
//string relReason = "";
string id = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["gid"].ToString());
//string reason = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["r"].ToString());
string pattern = "\0";
string replacement = "";
Regex rgx = new Regex(pattern);
relGID = rgx.Replace(id, replacement);
//relReason = rgx.Replace(reason, replacement);
pattern = "\t";
Regex rgx2 = new Regex(pattern);
relGID = rgx2.Replace(relGID, relGID);
//relReason = rgx2.Replace(relReason, relReason);
List<ChPayapplication> dataList = ChpayapplicationDAL.GetAuditDataList("", Convert.ToString(SessionUtil.Session["USERID"]), "", Convert.ToString(SessionUtil.Session["UserName"]), Convert.ToString(SessionUtil.Session["COMPANYID"]), "");
//List<ChPayapplication> list = dataList.Where(p => p.GID == relGID);
List<ChPayapplication> listPay = new List<ChPayapplication>();
ChPayapplication listItem = new ChPayapplication();
foreach (ChPayapplication temp in dataList) {
if (temp.GID == relGID)
{
listItem.BILLNO = temp.BILLNO;
listItem.BILLSTATUS = temp.BILLSTATUS;
listPay.Add(listItem);
}
}
//List<ChPayapplication> result = //JsonConvert.SerializeObject(list);
DBResult result = ChpayapplicationDAL.AuditList(listPay, SessionUtil.Session["USERID"].ToString());
StringBuilder sb = new StringBuilder();
if (!result.Success) { sb.Append("[{\"result\":\"fail\"}]"); }
else { sb.Append("[{\"result\":\"success\"}]"); }
context.Response.ContentType = "text/plain";
context.Response.Write(sb.ToString());
context.Response.End();
}
private void GetDataDetailList(HttpContext context)
{
string relBillNo = "";
string billNo = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["b"].ToString());
string pattern = "\0";
string replacement = "";
Regex rgx = new Regex(pattern);
relBillNo = rgx.Replace(billNo, replacement);
pattern = "\t";
Regex rgx2 = new Regex(pattern);
relBillNo = rgx2.Replace(relBillNo, replacement);
/*DataTable dt = BaseInfo.PaymentAuditingListDBServer.PaymentAuditingDetailList(relCacheKey, relBillNo);
StringBuilder sb = new StringBuilder();
if (dt == null || dt.Rows.Count == 0) { sb.Append("[{\"GID\":\"\"}]"); }
else { sb.Append(JsonClass.DataTable2JsonNoneTotalCount(dt)); }*/
var dataList = ChpayapplicationDAL.GetBodyAuditList("c.BILLNO = '" + relBillNo + "'", null);
string result = JsonConvert.SerializeObject(dataList);
context.Response.ContentType = "text/plain";
context.Response.Write(result);
context.Response.End();
}
private void GetDataInfo(HttpContext context)
{
string relStrCondition = "";
string relGID = "";
string gid = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["i"].ToString());
//string strCondition = Encrypt.DesDecrypt("#7c&e@63", context.Request.QueryString["s"].ToString());
//string IsAudit = context.Request.QueryString["au"].ToString();
string IsAudit = "";
string pattern = "\0";
string replacement = "";
Regex rgx = new Regex(pattern);
relGID = rgx.Replace(gid, replacement);
//relStrCondition = rgx.Replace(strCondition, replacement);
pattern = "\t";
Regex rgx2 = new Regex(pattern);
relGID = rgx2.Replace(relGID, replacement);
//relStrCondition = rgx2.Replace(relStrCondition, replacement);
if (IsAudit == "0") { IsAudit = ""; }
/*DataTable dt = BaseInfo.PaymentAuditingListDBServer.PaymentAuditionInfo(relCacheKey, relGID);
StringBuilder sb = new StringBuilder();
if (dt == null || dt.Rows.Count == 0) { sb.Append("[{\"GID\":\"\"}]"); }
else { sb.Append(JsonClass.DataTable2JsonNoneTotalCount(dt)); }*/
var dataList = ChpayapplicationDAL.GetAuditDataList(relStrCondition, Convert.ToString(SessionUtil.Session["USERID"]), IsAudit, Convert.ToString(SessionUtil.Session["UserName"]), Convert.ToString(SessionUtil.Session["COMPANYID"]), "");
//var list = dataList.Where(p => p.GID == relGID);
ChPayapplication chpay = new ChPayapplication();
foreach (ChPayapplication data in dataList)
{
if (data.GID == relGID)
{
/*
GID,i.BILLNO,i.BILLSTATUS,i.CUSTOMERNAME,i.CURR,i.CHEQUEPAYABLE,i.SETTLETYPE,i.PAYTYPE ");
i.PAYABLETIME,i.AMOUNTRMB,i.RATE,i.AMOUNTUSD,i.SETTLERMB as RMBDOAMOUNT,i.SETTLEUSD as USDDOAMOUNT,i.SETTLERATE");
i.APPLICANT,i.APPLYTIME,i.ENTERTIME,i.SETTLEUSER,i.SETTLETIME,i.AUDITUSER,i.AUDITTIME ");
i.REMARK,i.COMPANYID,i.ISAPP,i.PAYAPPID,i.CHEQUENUMREMARK,INVDATE,INVNO, ");
(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97005 and EnumValueID=i.BILLSTATUS) as BILLSTATUSREF");
(select ShowName from [user] where GID=i.APPLICANT) as APPLICANTNAME");
(select ShowName from [user] where GID=i.AUDITUSER) as AUDITUSERREF");
i.CUSTACCOUNTGID");
(select CODENAME+'_'+bankname from info_client_bank where gid=i.CUSTACCOUNTGID) CUSTBANKNAME");
(select ACCOUNT from info_client_bank where gid=i.CUSTACCOUNTGID) CUSTACCOUNT");
ISNULL((select sum(isnull(amount,0)-isnull(invoice,0)) as noinvoice from ch_fee where ISINVOICE<>1 and gid in (select feeid from ch_fee_do where BILLNO=i.BILLNO)),0) as NOINVOICE");
i.BS_CUSTOMERNAME,dbo.[GetUsingStep](wu.WORKFLOWID,wu.currentid,'" + userid + "',wu.stepno) as IsAudit ");
i.PREAMOUNTRMB,i.PREAMOUNTUSD ");
dbo.GetBalNoByPayNo(i.BILLNO) as BALBILLNO
*
billNo = item.BILLNO; //申请单号
BillNo = item.BILLNO;
billStatus = parseInt(item.BILLSTATUS); //状态
customerName = item.CUSTOMERNAME; //结算单位
settlementClient = item.CUSTOMERNAME;
amountRMB = new Number(item.AMOUNTRMB);
amountUSD = item.AMOUNTUSD; //USD
amountUSD = new Number(item.AMOUNTUSD);
applyTime = item.APPLYTIME; //申请日期
applyTime = applyTime.substring(0, 8);
applyTime = applyTime.replace(/\//g, "-");
applicantName = item.APPLICANTNAME; //申请人
payableTime = item.PAYABLETIME; //支付日期
payableTime = payableTime.substring(0, 8);
payableTime = payableTime.replace(/\//g, "-");
*/
chpay.BILLNO = data.BILLNO;
chpay.BILLSTATUS = data.BILLSTATUS;
chpay.CUSTOMERNAME = data.CUSTOMERNAME;
chpay.AMOUNTRMB = data.AMOUNTRMB;
chpay.AMOUNTUSD = data.AMOUNTUSD;
chpay.APPLYTIME = data.APPLYTIME;
chpay.APPLICANTNAME = data.APPLICANTNAME;
chpay.PAYABLETIME = data.PAYABLETIME;
}
}
string applytime = chpay.APPLYTIME.ToString();
applytime = applytime.Substring(0, applytime.IndexOf(" "));
string result = "[{\"BILLNO\":\"" + chpay.BILLNO + "\",\"BILLSTATUS\":\"" + chpay.BILLSTATUS + "\",\"CUSTOMERNAME\":\"" + chpay.CUSTOMERNAME + "\",\"AMOUNTRMB\":\"" + chpay.AMOUNTRMB + "\",\"AMOUNTUSD\":\"" + chpay.AMOUNTUSD + "\",\"APPLYTIME\":\"" + applytime + "\",\"APPLICANTNAME\":\"" + chpay.APPLICANTNAME + "\",\"PAYABLETIME\":\"" + chpay.PAYABLETIME + "\",\"INVNO\":\"" + chpay.INVNO + "\"}]";
context.Response.ContentType = "text/plain";
context.Response.Write(result);
context.Response.End();
}
private void GetDataList(HttpContext context)
{
string relStrCondition = "";
string relBeginFrom = "";
string relBeginTo = "";
string strCondition = Encrypt.DesDecrypt("#7c&e@63", context.Request.Form["s"].ToString());
string bf = Encrypt.DesDecrypt("#7c&e@63", context.Request.Form["bf"].ToString());
string bt = Encrypt.DesDecrypt("#7c&e@63", context.Request.Form["bt"].ToString());
string IsAudit = context.Request.QueryString["au"].ToString();
string pattern = "\0";
string replacement = "";
/*int pageIndex = int.Parse(context.Request.QueryString["i"].ToString());
int pageCount = int.Parse(context.Request.QueryString["c"].ToString());
int TotalCount = 0;*/
int start = int.Parse(context.Request.QueryString["t"].ToString());
int limit = int.Parse(context.Request.QueryString["l"].ToString());
Regex rgx = new Regex(pattern);
relStrCondition = rgx.Replace(strCondition, replacement);
relBeginFrom = rgx.Replace(bf, replacement);
relBeginTo = rgx.Replace(bt, replacement);
pattern = "\t";
Regex rgx2 = new Regex(pattern);
relStrCondition = rgx2.Replace(relStrCondition, replacement);
relBeginFrom = rgx2.Replace(relBeginFrom, replacement);
relBeginTo = rgx2.Replace(relBeginTo, replacement);
if (IsAudit == "0") { IsAudit = ""; }
//APPLYTIME
if (relBeginFrom != "") {
if (relStrCondition != "")
{
relStrCondition += " and APPLYTIME>='" + relBeginFrom + " 00:00:00' ";
}
else {
relStrCondition = " APPLYTIME>='" + relBeginFrom + " 00:00:00' ";
}
}
if (relBeginTo != "") {
relStrCondition += " and APPLYTIME<='" + relBeginTo + " 23:59:59' ";
}
var dataList = ChpayapplicationDAL.GetAuditDataList(relStrCondition, Convert.ToString(SessionUtil.Session["USERID"]), IsAudit, Convert.ToString(SessionUtil.Session["UserName"]), Convert.ToString(SessionUtil.Session["COMPANYID"]), "");
//var list = dataList.Skip(start).Take(limit);
string result = JsonConvert.SerializeObject(dataList);
/*string result2 = result.Substring(25, result.Length - 72);
var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() });
return new ContentResult() { Content = json };*/
context.Response.ContentType = "text/plain";
context.Response.Write(result);
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
}