using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SuperMap.RealEstate.ServiceModel;
using SuperMap.RealEstate.FrameWork.Business;
using FRB = SuperMap.RealEstate.Finance.Running.Business;
using FSB = SuperMap.RealEstate.Finance.Storage.Business;
using SRHSB = SuperMap.RealEstate.HighWay.SellData.Business;
using HWRB = SuperMap.RealEstate.HighWay.Running.Business;
using Business = SuperMap.RealEstate.HighWay.Storage.Business;
using MSPB = SuperMap.RealEstate.MobileServicePlatform.Business;
using WorkFlowBusiness = SuperMap.RealEstate.WorkFlow.Instance.Business;
using QRWL.Common;
namespace StatisticalDecision.Handler
{
public class BusinessHelper
{
#region 方法 -> 获取移动支付信息
public static string GetMobilePayDailySales(Transaction _Transaction)
{
string RetString = "";
string action_data = CommonHelper.Request("action_data");
try
{
DataTable _DataTable = (new SRHSB.ENDACCOUNT(_Transaction).ExecuteDataTable(string.Format(
@"SELECT TO_CHAR(A.STATISTICS_DATE,'YYYY/MM/DD') AS STATISTICS_DATE,
A.SERVERPART_ID,A.SERVERPART_NAME,A.SERVERPART_INDEX,A.SERVERPART_CODE,
A.SHOPTRADE,SUBSTR(A.SHOPCODE,3) AS SHOPCODE,SUBSTR(A.SHOPNAME,3) AS SHOPNAME,
NVL(SUM(CASE WHEN A.SHOPREGION < 30 THEN A.FACT_AMOUNT END),0) AS FACT_AMOUNT_A,
NVL(SUM(CASE WHEN A.SHOPREGION >= 30 THEN A.FACT_AMOUNT END),0) AS FACT_AMOUNT_B,
NVL(SUM(CASE WHEN A.SHOPREGION < 30 THEN A.TICKETBILL END),0) AS TICKETBILL_A,
NVL(SUM(CASE WHEN A.SHOPREGION >= 30 THEN A.TICKETBILL END),0) AS TICKETBILL_B,
NVL(SUM(CASE WHEN A.SHOPREGION < 30 THEN A.OTHERPAY END),0) AS OTHERPAY_A,
NVL(SUM(CASE WHEN A.SHOPREGION >= 30 THEN A.OTHERPAY END),0) AS OTHERPAY_B,
NVL(SUM(CASE WHEN A.SHOPREGION < 30 THEN A.CREDITCARD END),0) AS CREDITCARD_A,
NVL(SUM(CASE WHEN A.SHOPREGION >= 30 THEN A.CREDITCARD END),0) AS CREDITCARD_B,
NVL(SUM(A.CREDITCARD),0) AS CREDITCARD,
NVL(SUM(A.FACT_AMOUNT),0) AS FACT_AMOUNT,NVL(SUM(A.TICKETBILL),0) AS TICKETBILL,
NVL(SUM(A.FACT_AMOUNT - A.TICKETBILL),0) AS OTHERPAY
FROM
HIGHWAY_SELLDATA.V_ENDACCOUNT_MOBILEPAY A
WHERE
SERVERPART_ID = {0} AND SUBSTR(A.SHOPCODE,3) = '{1}' AND
STATISTICS_DATE >= TO_DATE('{2}','YYYY/MM/DD') AND
STATISTICS_DATE < TO_DATE('{3}','YYYY/MM/DD') + 1
GROUP BY
TO_CHAR(A.STATISTICS_DATE,'YYYY/MM/DD'),
A.SERVERPART_ID,A.SERVERPART_NAME,A.SERVERPART_INDEX,
A.SERVERPART_CODE,A.SHOPTRADE,SUBSTR(A.SHOPCODE,3),SUBSTR(A.SHOPNAME,3)
ORDER BY STATISTICS_DATE",
action_data.Split(',')[1].ToDecrypt(), action_data.Split(',')[0].ToDecrypt(),
action_data.Split(',')[2], action_data.Split(',')[3])));
RetString = JsonHelper.DataTableToJson(_DataTable, "MobilePayDailyList");
}
catch (Exception ex)
{
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
return RetString;
}
#endregion
#region 方法 -> 获取移动支付信息
public static string GetMobilePayDailySalesNew(Transaction _Transaction)
{
string RetString = "";
string action_data = CommonHelper.Request("action_data");
try
{
string _DataTableName = action_data.Split(',')[5].ToDecrypt();
string sqlWhere = string.Empty;
if (action_data.Split(',')[6].ToDecrypt() == "")
{
if (action_data.Split(',')[1].ToDecrypt() != "0")
{
sqlWhere += " AND B.SERVERPART_ID =" + action_data.Split(',')[1].ToDecrypt();
}
}
else
{
sqlWhere += " AND B.TYPE_NAME ='" + action_data.Split(',')[6].ToDecrypt() + "'";
}
if (action_data.Split(',')[0].ToDecrypt() != "")
{
sqlWhere += " AND B.SHOPSHORTNAME ='" + action_data.Split(',')[0].ToDecrypt() + "'";
}
if (action_data.Split(',')[2].ToDecrypt() != "")
{
sqlWhere += " AND B.SHOPTRADE ='" + action_data.Split(',')[2].ToDecrypt() + "'";
}
string sql = string.Format(
@"SELECT TO_CHAR(A.STATISTICS_DATE,'YYYY/MM/DD') AS STATISTICS_DATE,
NVL(SUM(CASE WHEN B.SHOPREGION < 30 THEN A.FACT_AMOUNT END),0) AS FACT_AMOUNT_A,
NVL(SUM(CASE WHEN B.SHOPREGION >= 30 THEN A.FACT_AMOUNT END),0) AS FACT_AMOUNT_B,
NVL(SUM(CASE WHEN B.SHOPREGION < 30 THEN A.TICKETBILL END),0) AS TICKETBILL_A,
NVL(SUM(CASE WHEN B.SHOPREGION >= 30 THEN A.TICKETBILL END),0) AS TICKETBILL_B,
NVL(SUM(CASE WHEN B.SHOPREGION < 30 THEN A.OTHERPAY END),0) AS OTHERPAY_A,
NVL(SUM(CASE WHEN B.SHOPREGION >= 30 THEN A.OTHERPAY END),0) AS OTHERPAY_B,
NVL(SUM(CASE WHEN B.SHOPREGION < 30 THEN A.CREDITCARD END),0) AS CREDITCARD_A,
NVL(SUM(CASE WHEN B.SHOPREGION >= 30 THEN A.CREDITCARD END),0) AS CREDITCARD_B,
NVL(SUM(A.CREDITCARD),0) AS CREDITCARD,
NVL(SUM(A.FACT_AMOUNT),0) AS FACT_AMOUNT,NVL(SUM(A.TICKETBILL),0) AS TICKETBILL,
NVL(SUM(A.FACT_AMOUNT - A.TICKETBILL),0) AS OTHERPAY
FROM
HIGHWAY_SELLDATA.T_ENDACCOUNT{1} A,
HIGHWAY_STORAGE.V_REGIONSERVERPARTSHOP B
WHERE
A.SERVERPART_ID = B.SERVERPART_ID AND
A.SHOPCODE = B.SHOPCODE AND A.VALID = 1
{0} AND
STATISTICS_DATE >= TO_DATE('{2}','YYYY/MM/DD') AND
STATISTICS_DATE < TO_DATE('{3}','YYYY/MM/DD') + 1
GROUP BY
TO_CHAR(A.STATISTICS_DATE,'YYYY/MM/DD')
ORDER BY STATISTICS_DATE DESC",
sqlWhere, _DataTableName,
action_data.Split(',')[3].ToDecrypt(), action_data.Split(',')[4].ToDecrypt());
DataTable _DataTable = (new Business.SERVERPART(_Transaction).ExecuteDataTable(sql));
RetString = JsonHelper.DataTableToJson(_DataTable, "MobilePayDailyList");
}
catch (Exception ex)
{
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
return RetString;
}
#endregion
#region 方法 -> 获取商品调拨明细
public static string GetPrepareCommodity(Transaction _Transaction)
{
string RetString = "";
string action_data = CommonHelper.Request("action_data");
try
{
DataTable _DataTable = (new Business.COMMODITY(_Transaction).ExecuteDataTable(string.Format(@"SELECT
H.COMMODITYTYPE_ID,H.COMMODITYTYPE_NAME,
H.COMMODITYTYPE_CODE,G.COMMODITY_ID,
G.COMMODITY_TYPE,F.SHOPNAME,
TO_CHAR(C.PREPAREDATE,'yyyy-mm-dd') AS PREPAREDATE,
G.COMMODITY_CODE,G.COMMODITY_NAME,
G.COMMODITY_BARCODE,G.COMMODITY_UNIT,
G.COMMODITY_RULE,C.PREPARECOUNT,C.PURCHASE_TAXPRICE
FROM
WORKFLOW_INSTANCE.T_PROINST A,
SALESTORE_STORAGE.T_SALESTOREPROINST B,
SALESTORE_STORAGE.T_PREPARECOMMODITY C,
SALESTORE_STORAGE.T_SERVERPARTSTOCK D,
HIGHWAY_STORAGE.T_SERVERPART E,
HIGHWAY_STORAGE.T_SERVERPARTSHOP F,
HIGHWAY_STORAGE.T_COMMODITY G,
HIGHWAY_STORAGE.T_COMMODITYTYPE H
WHERE
A.PROINST_ID = B.PROINST_ID AND B.SALESTOREPROINST_ID = C.SALESTOREPROINST_ID AND
C.SALESTOREPROINST_ID = D.SERVERPARTSTOCK_ID AND C.TARGETSERVERPART_ID = E.SERVERPART_ID AND
C.TARGETSHOP_ID = F.SERVERPARTSHOP_ID AND C.COMMODITY_ID = G.COMMODITY_ID AND
G.COMMODITY_TYPE = H.COMMODITYTYPE_ID AND C.TARGETSERVERPART_ID = {0} AND
C.COMMODITY_ID = {1} AND C.PREPAREDATE BETWEEN TO_DATE('{2}','YYYY-MM-DD') AND TO_DATE('{3}','YYYY-MM-DD')
GROUP BY
H.COMMODITYTYPE_ID,H.COMMODITYTYPE_NAME,H.COMMODITYTYPE_CODE,
G.COMMODITY_ID,G.COMMODITY_TYPE,F.SHOPNAME,C.PREPAREDATE,
G.COMMODITY_CODE,G.COMMODITY_NAME,G.COMMODITY_BARCODE,
G.COMMODITY_UNIT,G.COMMODITY_RULE,C.PREPARECOUNT,C.PURCHASE_TAXPRICE",
action_data.Split(',')[0].ToDecrypt(), action_data.Split(',')[1].ToDecrypt(),
action_data.Split(',')[2], action_data.Split(',')[3])));
RetString = JsonHelper.DataTableToJson(_DataTable, "CommodityList");
}
catch (Exception ex)
{
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
return RetString;
}
#endregion
#region 方法 -> 获取商品调拨详情单
public static string getStoreWareList(Transaction _Transaction)
{
string RetString = "";
string action_data = CommonHelper.Request("action_data");
try
{
string WhereSql = string.Empty;
string SqlStrings = @"SELECT PREPARECOUNT,PURCHASE_TAXPRICE,PURCHASE_PRICE,ROUND(TRANSFERTAXPRICE,2) as TRANSFERTAXPRICE ,
ROUND(TRANSFERPRICE,2) as TRANSFERPRICE,TO_CHAR(PREPAREDATE,'YYYY/MM/DD') as PREPAREDATE
FROM
SALESTORE_STORAGE.V_PREPARECOMMODITY
WHERE
1 = 1";
string[] WhereList = action_data.Split('*');
string WhereString = string.Empty;
for (int coumnt = 0; coumnt < WhereList.Length; coumnt++)
{
string[] Coumnt = WhereList[coumnt].Split('=');
if (!string.IsNullOrEmpty(Coumnt[1]))
{
WhereString += " AND " + Coumnt[0] + "=" + Coumnt[1].ToDecrypt();
}
}
SqlStrings += WhereString + " ORDER BY PREPAREDATE DESC";
Business.SERVERPART Serverpart = new Business.SERVERPART(_Transaction);
DataTable _DataTable_ = Serverpart.ExecuteDataTable(SqlStrings, null);
RetString = JsonHelper.DataTableToJson(_DataTable_, "DELIVERBILL");
}
catch (Exception ex)
{
RetString = "error:" + ex.Message;
}
return RetString;
}
#endregion
#region 方法 -> 更新对账数据
public static string updateMobilePay(Transaction _Transaction)
{
string RetString = "";
string action_data = CommonHelper.Request("action_data");
try
{
string sql = "";
if (!string.IsNullOrEmpty(action_data))
{
DataTable _dt = CommonHelper.ToDataTable(action_data);
Business.SERVERPART Serverpart = new Business.SERVERPART(_Transaction);
foreach (DataRow _row in _dt.Rows)
{
DataTable _pay = Serverpart.ExecuteDataTable(
"SELECT * FROM HIGHWAY_SELLDATA.T_MOBILEPAYSTATISTICS WHERE SELLDATA_DATE = TO_DATE('" +
_row["SELLDATA_DATE"].ToString().Split(' ')[0] + "','YYYY/MM/DD') AND SERVERPARTSHOP_ID = " +
_row["SERVERPARTSHOP_ID"].ToString() + " AND PROVINCE_CODE = " + _row["PROVINCE_CODE"].ToString());
if (_pay.Rows.Count > 0)
{
sql = "UPDATE HIGHWAY_SELLDATA.T_MOBILEPAYSTATISTICS SET FACTAMOUNT = " + _row["FACTAMOUNT"].ToString() +
" WHERE SELLDATA_DATE = TO_DATE('" + _row["SELLDATA_DATE"].ToString().Split(' ')[0] +
"','YYYY/MM/DD') AND SERVERPARTSHOP_ID = " + _row["SERVERPARTSHOP_ID"].ToString() +
" AND PROVINCE_CODE = " + _row["PROVINCE_CODE"].ToString();
}
else if (_pay.Rows.Count == 0)
{
MSPB.SERVERPARTSHOP _SERVERPARTSHOP = new MSPB.SERVERPARTSHOP(_Transaction);
_SERVERPARTSHOP.AddSearchParameter("SERVERPARTSHOP_ID", _row["SERVERPARTSHOP_ID"].ToString());
_SERVERPARTSHOP.AddSearchParameter("PROVINCE_CODE", _row["PROVINCE_CODE"].ToString());
if (_SERVERPARTSHOP.Search())
{
MSPB.SERVERPART _SERVERPART = new MSPB.SERVERPART(_Transaction);
_SERVERPART.AddSearchParameter("SERVERPART_ID", _SERVERPARTSHOP.SERVERPART_ID);
_SERVERPART.AddSearchParameter("PROVINCE_CODE", _row["PROVINCE_CODE"].ToString());
if (_SERVERPART.Search())
{
sql = @"INSERT INTO HIGHWAY_SELLDATA.T_MOBILEPAYSTATISTICS
(MOBILEPAYSTATISTICS_ID,SELLDATA_DATE,PROVINCE_CODE,SERVERPART_ID,
SERVERPART_CODE,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPCODE,
SHOPNAME,FACTAMOUNT,DOWNLOAD_DATE)
VALUES(1,TO_DATE('" + _row["SELLDATA_DATE"].ToString().Split(' ')[0] +
"','YYYY/MM/DD')," + _row["PROVINCE_CODE"].ToString() + "," + _SERVERPART.SERVERPART_ID +
",'" + _SERVERPART.SERVERPART_CODE + "','" + _SERVERPART.SERVERPART_NAME +
"'," + _SERVERPARTSHOP.SERVERPARTSHOP_ID + ",'" + _SERVERPARTSHOP.SHOPCODE +
"','" + _SERVERPARTSHOP.SHOPNAME + "'," + _row["FACTAMOUNT"].ToString() + ",SYSDATE)";
}
}
}
Serverpart.ExecuteNonQuery(sql, null);
_Transaction.Commit();
}
RetString = "1";
}
}
catch (Exception ex)
{
RetString = "error:" + ex.Message;
}
finally
{
if (_Transaction.IsOpen)
{
_Transaction.Dispose();
}
}
return RetString;
}
#endregion
#region 方法 -> 获取待办事项列表
public static string GetWorkflowDealList(Transaction _Transaction)
{
int RowCount = 0;
bool JOINTLYSIGNType = false;
string RetString = "", _STAFF_NAME = "", _User_Name = ""; //返回结果、操作用户、待审核人
string DataType = CommonHelper.Request("DataType"),
PassportInfo_ID = CommonHelper.Request("PassportInfo_ID"),
PassportInfo_UserName = CommonHelper.Request("PassportInfo_UserName"),
LineCount = string.IsNullOrEmpty(CommonHelper.Request("LineCount")) ? "10" : CommonHelper.Request("LineCount");
DataTable _DataTable = new DataTable();
DataView _DataView = new DataView();
try
{
#region 列表数据获取
switch (DataType)
{
case "1":
_DataTable = new FRB.FINANCEPROINST(_Transaction).ExecuteDataTable(
"SELECT * FROM FINANCE_RUNNING.V_PROINSTFINANCELIST WHERE ACTINSTUSER_ID = " + PassportInfo_ID);
_DataView = _DataTable.DefaultView;
_DataView.Sort = "ACTINSTTYPE,ACTINST_STARTDATE DESC";
_DataTable = _DataView.ToTable();
RetString = "
| 经办人 | 报销说明 | " +
"报销金额 | 待审核人 | 提交时间 |
";
break;
case "2":
_DataTable = new HWRB.HIGHWAYPROINST(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_RUNNING.V_NOWACTINSTEX_COMPACT WHERE ACTINSTUSER_ID = " + PassportInfo_ID);
_DataView = _DataTable.DefaultView;
_DataView.Sort = "ACTINSTTYPE,ACTINST_STARTDATE DESC";
_DataTable = _DataView.ToTable();
RetString = "| 经办人 | 合同名称 | " +
"合同金额 | 待审核人 | 提交时间 |
";
break;
case "3":
_DataTable = new HWRB.HIGHWAYPROINST(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_RUNNING.V_ACTINST WHERE ACTINST_USER_ID = " + PassportInfo_ID);
_DataView = _DataTable.DefaultView;
_DataView.Sort = "ACTINSTTYPE,ACTINST_STARTDATE DESC";
_DataTable = _DataView.ToTable();
RetString = "| 经办人 | 业务名称 | " +
"部门名称 | 待审核人 | 提交时间 |
";
break;
case "4":
if (PassportInfo_UserName != "system")
{
_DataTable = new Business.DOCUMENT(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_STORAGE.V_DOCUMENT WHERE READING_ID = " + PassportInfo_ID +
" AND DOCUMENT_TYPE = 1000 AND DOCUMENT_STATE = 1");
}
else
{
_DataTable = new Business.DOCUMENT(_Transaction).FillDataTable(
"WHERE DOCUMENT_TYPE = 1000 AND DOCUMENT_STATE = 1");
}
_DataView = _DataTable.DefaultView;
_DataView.Sort = "OPERATE_DATE DESC";
_DataTable = _DataView.ToTable();
RetString = "| 文件标题 | " +
"上传时间 | 上传人 |
";
break;
}
#endregion
if (_DataTable != null && _DataTable.Rows.Count > 0)
{
foreach (DataRow _DataRow in _DataTable.Rows)
{
List ActInstList = new List();
switch (DataType)
{
case "1":
#region 本级财务
if (_DataRow["User_ID"].ToString() == PassportInfo_ID)
{
RetString += "| " + _DataRow["STAFF_NAME"].ToString() +
" | 15 ? " title=\"" +
_DataRow["PROINST_NAME"].ToString() + "\" style=\"width:100%;\">" +
_DataRow["PROINST_NAME"].ToString().Substring(0, 15) + "..." : " style=\"width:100%;\">" +
_DataRow["PROINST_NAME"].ToString()) + " | " +
(string.IsNullOrEmpty(_DataRow["PAYMENT_LOWER"].ToString()) ? "0.00" :
double.Parse(_DataRow["PAYMENT_LOWER"].ToString()).ToString("0.00")) +
" | " +
_DataRow["User_Name"].ToString() + " | " +
DateTime.Parse(_DataRow["ActInst_StartDate"].ToString()).ToString("MM月dd日HH:mm") + " |
";
}
else
{
RetString += "" +
"| " + _DataRow["STAFF_NAME"].ToString() +
" | 15 ? " title=\"" +
_DataRow["PROINST_NAME"].ToString() + "\" style=\"width:100%;\">" +
_DataRow["PROINST_NAME"].ToString().Substring(0, 15) + "..." : " style=\"width:100%;\">" +
_DataRow["PROINST_NAME"].ToString()) + " | " +
(string.IsNullOrEmpty(_DataRow["PAYMENT_LOWER"].ToString()) ? "0.00" :
double.Parse(_DataRow["PAYMENT_LOWER"].ToString()).ToString("0.00")) +
" | " + _DataRow["User_Name"].ToString() +
" | " +
DateTime.Parse(_DataRow["ActInst_StartDate"].ToString()).ToString("MM月dd日HH:mm") + " |
";
}
#endregion
break;
case "2":
#region 合同审批
ActInstList = new WorkFlowBusiness.ActInst(_Transaction).FillCollection("WHERE ProInst_ID = " +
_DataRow["ProInst_ID"].ToString() + " ORDER BY ACTINST_STARTDATE");
if (ActInstList.Count > 0)
{
_STAFF_NAME = ActInstList[0].User_Name;
}
_User_Name = _DataRow["User_Name"].ToString();
if (!string.IsNullOrEmpty(_DataRow["HIGHWAYPROINST_ID"].ToString()) &&
!string.IsNullOrEmpty(_DataRow["ACTDEF_ID"].ToString()))
{
HWRB.JOINTLYSIGN _JOINTLYSIGN = new HWRB.JOINTLYSIGN(_Transaction);
_JOINTLYSIGN.AddSearchParameter("HIGHWAYPROINST_ID", _DataRow["HIGHWAYPROINST_ID"].ToString());
_JOINTLYSIGN.AddSearchParameter("ACTDEF_ID", _DataRow["ACTDEF_ID"].ToString());
if (_JOINTLYSIGN.Search())
{
if (!string.IsNullOrEmpty(_JOINTLYSIGN.USER_IDS))
{
_User_Name = "";
foreach (User _User in new User(_Transaction).FillCollection(
"WHERE User_ID IN (" + _JOINTLYSIGN.USER_IDS + ")"))
{
if (_User.User_ID.ToString() == PassportInfo_ID)
{
JOINTLYSIGNType = true;
}
_User_Name += (string.IsNullOrEmpty(_User_Name) ? "" : ",") + _User.User_Name;
}
}
}
}
if (_DataRow["User_ID"].ToString() == PassportInfo_ID || JOINTLYSIGNType)
{
RetString += "| " + _STAFF_NAME +
" | 30 ? " title=\"" + _DataRow["COMPACT_NAME"].ToString() +
"\" style=\"width:100%;\">" + _DataRow["COMPACT_NAME"].ToString().Substring(0, 30) + "..." :
" style=\"width:100%;\">" + _DataRow["COMPACT_NAME"].ToString()) +
" | " + _DataRow["COMPACT_AMOUNT"].ToString() +
(_DataRow["OPERATION_TYPE"].ToString() == "310010" ? "" : "万") +
"元 | " +
_User_Name + " | " +
DateTime.Parse(_DataRow["ActInst_StartDate"].ToString()).ToString("MM月dd日HH:mm") + " |
";
}
else
{
RetString += "" +
"| " + _STAFF_NAME + " | 30 ? " title=\"" +
_DataRow["COMPACT_NAME"].ToString() + "\" style=\"width:100%;\">" +
_DataRow["COMPACT_NAME"].ToString().Substring(0, 30) + "..." : " style=\"width:100%;\">" +
_DataRow["COMPACT_NAME"].ToString()) + " | " +
_DataRow["COMPACT_AMOUNT"].ToString() + (_DataRow["OPERATION_TYPE"].ToString() == "310010" ?
"" : "万") + "元 | " +
_User_Name + " | " +
DateTime.Parse(_DataRow["ActInst_StartDate"].ToString()).ToString("MM月dd日HH:mm") + " |
";
}
#endregion
break;
case "3":
#region 招标投标
ActInstList = new WorkFlowBusiness.ActInst(_Transaction).FillCollection("WHERE ProInst_ID = " +
_DataRow["ProInst_ID"].ToString() + " ORDER BY ACTINST_STARTDATE");
if (ActInstList.Count > 0)
{
_STAFF_NAME = ActInstList[0].User_Name;
}
_User_Name = _DataRow["User_Name"].ToString();
if (!string.IsNullOrEmpty(_DataRow["HIGHWAYPROINST_ID"].ToString()) &&
!string.IsNullOrEmpty(_DataRow["ACTDEF_ID"].ToString()))
{
HWRB.JOINTLYSIGN _JOINTLYSIGN = new HWRB.JOINTLYSIGN(_Transaction);
_JOINTLYSIGN.AddSearchParameter("HIGHWAYPROINST_ID", _DataRow["HIGHWAYPROINST_ID"].ToString());
_JOINTLYSIGN.AddSearchParameter("ACTDEF_ID", _DataRow["ACTDEF_ID"].ToString());
if (_JOINTLYSIGN.Search())
{
if (!string.IsNullOrEmpty(_JOINTLYSIGN.USER_IDS))
{
_User_Name = "";
foreach (User _User in new User(_Transaction).FillCollection(
"WHERE User_ID IN (" + _JOINTLYSIGN.USER_IDS + ")"))
{
if (_User.User_ID.ToString() == PassportInfo_ID)
{
JOINTLYSIGNType = true;
}
_User_Name += (string.IsNullOrEmpty(_User_Name) ? "" : ",") + _User.User_Name;
}
}
}
}
if (_DataRow["User_ID"].ToString() == PassportInfo_ID || JOINTLYSIGNType)
{
RetString += "| " + _STAFF_NAME +
" | 15 ? " title=\"" + _DataRow["PROINST_NAME"].ToString() +
"\" style=\"width:100%;\">" + _DataRow["PROINST_NAME"].ToString().Substring(0, 15) + "..." :
" style=\"width:100%;\">" + _DataRow["PROINST_NAME"].ToString()) +
" | " + _DataRow["SERVERPART_NAME"].ToString() +
" | " +
_User_Name + " | " +
DateTime.Parse(_DataRow["ActInst_StartDate"].ToString()).ToString("MM月dd日HH:mm") + " |
";
}
else
{
RetString += "" +
"| " + _STAFF_NAME + " | 15 ? " title=\"" +
_DataRow["PROINST_NAME"].ToString() + "\" style=\"width:100%;\">" +
_DataRow["PROINST_NAME"].ToString().Substring(0, 15) + "..." : " style=\"width:100%;\">" +
_DataRow["PROINST_NAME"].ToString()) + " | " +
_DataRow["SERVERPART_NAME"].ToString() + " | " +
_User_Name + " | " +
DateTime.Parse(_DataRow["ActInst_StartDate"].ToString()).ToString("MM月dd日HH:mm") + " |
";
}
#endregion
break;
case "4":
#region 公文传阅
string DocumentPopDialogUrl = HttpContext.Current.Request.Url.Authority +
"/HighWay/Modules/006_DocumentManage/DocumentInbox/DocumentInBoxPage.aspx";
string _READING_ID = "";
try
{
_READING_ID = _DataRow["READING_ID"].ToEncrypt();
}
catch { }
RetString += "| 30 ? " title=\"" +
_DataRow["DOCUMENT_TITTLE"].ToString() + "\" style=\"width:100%;\">" +
_DataRow["DOCUMENT_TITTLE"].ToString().Substring(0, 30) + "..." :
" style=\"width:100%;\">" + _DataRow["DOCUMENT_TITTLE"].ToString()) +
" | " +
DateTime.Parse(_DataRow["OPERATE_DATE"].ToString()).ToString("yyyy年MM月dd日") +
" | " + _DataRow["STAFF_NAME"].ToString() + " |
";
#endregion
break;
}
RowCount++;
if (RowCount == int.Parse(LineCount))
{
break;
}
}
}
else
{
RetString = "";
}
}
catch (Exception ex)
{
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
return RetString;
}
#endregion
#region 方法 -> 获取待办事项数量
public static string GetWorkflowDealCount(Transaction _Transaction)
{
string RetString = "";
string PassportInfo_ID = CommonHelper.Request("PassportInfo_ID");
try
{
#region 列表数据获取
DataTable _DataTable = new FRB.FINANCEPROINST(_Transaction).ExecuteDataTable(
"SELECT * FROM FINANCE_RUNNING.V_PROINSTFINANCELIST WHERE ACTINSTUSER_ID = " +
PassportInfo_ID + " AND ACTINSTTYPE = 1");
RetString = _DataTable.Rows.Count.ToString();
_DataTable = new HWRB.PROINSTCOMPACT(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_RUNNING.V_NOWACTINSTEX_COMPACT WHERE ACTINSTUSER_ID = " +
PassportInfo_ID + " AND ACTINSTTYPE = 1");
RetString += "," + _DataTable.Rows.Count.ToString();
_DataTable = new HWRB.TENDER(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_RUNNING.V_ACTINST WHERE ACTINST_USER_ID = " +
PassportInfo_ID + " AND ACTINSTTYPE = 1");
RetString += "," + _DataTable.Rows.Count.ToString();
_DataTable = new Business.DOCUMENT(_Transaction).ExecuteDataTable(
"SELECT * FROM HIGHWAY_STORAGE.T_DOCUMENT WHERE ',' || READING_IDS || ',' LIKE '%," +
PassportInfo_ID + ",%' AND DOCUMENT_TYPE = 1000 AND DOCUMENT_STATE = 1");
RetString += "," + _DataTable.Rows.Count.ToString();
#endregion
}
catch (Exception ex)
{
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
return RetString;
}
#endregion
#region 方法 -> 获取资金动态
public static string GetFundDynamics(Transaction _Transaction)
{
double FormatNumber, NextNumber, TotalFormatNumber = 0.00, TotalNextNumber = 0.00;
string RetString = "", WhereRunningSql = "", WhereStorageSql = "";
string TimeSpans = CommonHelper.Request("TimeSpans");
try
{
switch (TimeSpans)
{
case "1":
WhereRunningSql = " WHERE TO_CHAR(ACTINST_STARTDATE,'YYYYMM') = TO_CHAR(SYSDATE,'YYYYMM')";
WhereStorageSql = " WHERE TO_CHAR(PROINST_FINISHDATE,'YYYYMM') = TO_CHAR(SYSDATE,'YYYYMM')";
break;
default:
if (!string.IsNullOrEmpty(TimeSpans))
{
if (!string.IsNullOrEmpty(TimeSpans.Split(',')[0]))
{
WhereRunningSql = " WHERE ACTINST_STARTDATE >= TO_DATE(" + TimeSpans.Split(',')[0] + ",'YYYY/MM/DD')";
WhereStorageSql = " WHERE PROINST_FINISHDATE >= TO_DATE(" + TimeSpans.Split(',')[0] + ",'YYYY/MM/DD')";
}
if (TimeSpans.Split(',').Length > 1 && !string.IsNullOrEmpty(TimeSpans.Split(',')[1]))
{
WhereRunningSql += (WhereRunningSql == "" ? " WHERE " : " AND ") + "ACTINST_STARTDATE < TO_DATE(" +
TimeSpans.Split(',')[1] + ",'YYYY/MM/DD') + 1";
WhereStorageSql += (WhereStorageSql == "" ? " WHERE " : " AND ") + "PROINST_FINISHDATE < TO_DATE(" +
TimeSpans.Split(',')[1] + ",'YYYY/MM/DD') + 1";
}
}
break;
}
#region 本级财务
DataTable _DataTable = new FRB.FINANCEPROINST(_Transaction).ExecuteDataTable(
"SELECT NVL(SUM(PAYMENT_LOWER),0) FROM FINANCE_RUNNING.V_FINANCE_STATISTICS" + WhereRunningSql);
if (_DataTable.Rows.Count > 0 && _DataTable.Rows[0][0].ToString() != "")
{
FormatNumber = double.Parse(_DataTable.Rows[0][0].ToString()).Round(2);
RetString = FormatNumber.ToString("N");
}
else
{
FormatNumber = 0;
RetString = "0.00";
}
TotalFormatNumber += FormatNumber;
_DataTable = new FSB.FINANCEPROINST(_Transaction).ExecuteDataTable(
"SELECT NVL(SUM(PAYMENT_LOWER),0) FROM FINANCE_STORAGE.V_FINANCE_STATISTICS" + WhereStorageSql);
if (_DataTable.Rows.Count > 0 && _DataTable.Rows[0][0].ToString() != "")
{
NextNumber = double.Parse(_DataTable.Rows[0][0].ToString()).Round(2);
RetString += '|' + double.Parse(_DataTable.Rows[0][0].ToString()).ToString("N");
}
else
{
NextNumber = 0;
RetString += '|' + "0.00";
}
TotalNextNumber += NextNumber;
RetString += '|' + (FormatNumber + NextNumber).ToString("N");
#endregion
DataTable REXPENSEBILL = new HWRB.HIGHWAYPROINST(_Transaction).ExecuteDataTable(
"SELECT NVL(SUM(PAYMENT_LOWER),0),PRODEF_TYPE FROM V_EXPENSEBILL_STATISTICS" +
WhereRunningSql + " GROUP BY PRODEF_TYPE");
DataTable SEXPENSEBILL = new Business.HIGHWAYPROINST(_Transaction).ExecuteDataTable(
"SELECT NVL(SUM(PAYMENT_LOWER),0),PRODEF_TYPE FROM V_EXPENSEBILL_STATISTICS" +
WhereStorageSql + " GROUP BY PRODEF_TYPE");
#region 区域
if (REXPENSEBILL.Rows.Count > 0 && REXPENSEBILL.Select("PRODEF_TYPE = 2").Length > 0 &&
REXPENSEBILL.Select("PRODEF_TYPE = 2")[0][0].ToString() != "")
{
FormatNumber = double.Parse(REXPENSEBILL.Select("PRODEF_TYPE = 2")[0][0].ToString()).Round(2);
RetString += '|' + FormatNumber.ToString("N");
}
else
{
FormatNumber = 0;
RetString += '|' + "0.00";
}
TotalFormatNumber += FormatNumber;
if (SEXPENSEBILL.Rows.Count > 0 && SEXPENSEBILL.Select("PRODEF_TYPE = 2").Length > 0 &&
SEXPENSEBILL.Select("PRODEF_TYPE = 2")[0][0].ToString() != "")
{
NextNumber = double.Parse(SEXPENSEBILL.Select("PRODEF_TYPE = 2")[0][0].ToString()).Round(2);
RetString += '|' + NextNumber.ToString("N");
}
else
{
NextNumber = 0;
RetString += '|' + "0.00";
}
TotalNextNumber += NextNumber;
RetString += '|' + (FormatNumber + NextNumber).ToString("N");
#endregion
#region 服务区
if (REXPENSEBILL.Rows.Count > 0 && REXPENSEBILL.Select("PRODEF_TYPE = 1").Length > 0 &&
REXPENSEBILL.Select("PRODEF_TYPE = 1")[0][0].ToString() != "")
{
FormatNumber = double.Parse(REXPENSEBILL.Select("PRODEF_TYPE = 1")[0][0].ToString()).Round(2);
RetString += '|' + FormatNumber.ToString("N");
}
else
{
FormatNumber = 0;
RetString += '|' + "0.00";
}
TotalFormatNumber += FormatNumber;
if (SEXPENSEBILL.Rows.Count > 0 && SEXPENSEBILL.Select("PRODEF_TYPE = 1").Length > 0 &&
SEXPENSEBILL.Select("PRODEF_TYPE = 1")[0][0].ToString() != "")
{
NextNumber = double.Parse(SEXPENSEBILL.Select("PRODEF_TYPE = 1")[0][0].ToString()).Round(2);
RetString += '|' + NextNumber.ToString("N");
}
else
{
NextNumber = 0;
RetString += '|' + "0.00";
}
TotalNextNumber += NextNumber;
RetString += '|' + (FormatNumber + NextNumber).ToString("N");
#endregion
#region 省外项目
if (REXPENSEBILL.Rows.Count > 0 && REXPENSEBILL.Select("PRODEF_TYPE = 3").Length > 0 &&
REXPENSEBILL.Select("PRODEF_TYPE = 3")[0][0].ToString() != "")
{
FormatNumber = double.Parse(REXPENSEBILL.Select("PRODEF_TYPE = 3")[0][0].ToString()).Round(2);
RetString += '|' + FormatNumber.ToString("N");
}
else
{
FormatNumber = 0;
RetString += '|' + "0.00";
}
TotalFormatNumber += FormatNumber;
if (SEXPENSEBILL.Rows.Count > 0 && SEXPENSEBILL.Select("PRODEF_TYPE = 3").Length > 0 &&
SEXPENSEBILL.Select("PRODEF_TYPE = 3")[0][0].ToString() != "")
{
NextNumber = double.Parse(SEXPENSEBILL.Select("PRODEF_TYPE = 3")[0][0].ToString()).Round(2);
RetString += '|' + NextNumber.ToString("N");
}
else
{
NextNumber = 0;
RetString += '|' + "0.00";
}
TotalNextNumber += NextNumber;
RetString += '|' + (FormatNumber + NextNumber).ToString("N");
#endregion
RetString += '|' + TotalFormatNumber.ToString("N") + '|' + TotalNextNumber.ToString("N") +
'|' + (TotalFormatNumber + TotalNextNumber).ToString("N");
}
catch (Exception ex)
{
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
return RetString;
}
#endregion
#region 方法 -> 获取营收数据
public static string GetRevenueData(Transaction _Transaction)
{
double FormatNumber, NextNumber, TotalFormatNumber = 0.00, TotalNextNumber = 0.00;
string RetString = "";
string TimeSpans = CommonHelper.Request("TimeSpans");
try
{
switch (TimeSpans)
{
case "1":
break;
}
}
catch (Exception ex)
{
SuperMap.RealEstate.Utility.ErrorLogHelper.Write(ex);
}
return RetString;
}
#endregion
#region 方法 -> 获取单品销售列表
public static string getSaleRanks(Transaction _Transaction)
{
string RetString = "";
string action_data = CommonHelper.Request("action_data");
string COMMODITY_BARCODE = action_data.ToDecrypt().Split('&')[0];
string StatisticStart_Date = action_data.ToDecrypt().Split('&')[1];
string StatisticEnd_Date = action_data.ToDecrypt().Split('&')[2];
//string SERVERPARTTYPE_ID = action_data.ToDecrypt().Split('&')[3];
string SERVERPART_ID = action_data.ToDecrypt().Split('&')[3];
string SHOPTRADE = action_data.ToDecrypt().Split('&')[4];
string SERVERPARTSHOP_ID = action_data.ToDecrypt().Split('&')[5];
string ROWNUMS = action_data.ToDecrypt().Split('&')[6];
string rowWhere = "";
//获得枚举信息
string WhereSQL = string.Empty;
string OtherSQL = string.Empty;
if (COMMODITY_BARCODE != "")
{
WhereSQL += " AND COMMODITY_BARCODE = '" + COMMODITY_BARCODE + "'";
OtherSQL += " AND COMMODITY_BARCODE = '" + COMMODITY_BARCODE + "'";
}
if (StatisticStart_Date != "")
{
WhereSQL += " AND SELLDATE >= TO_DATE('" + StatisticStart_Date + "','YYYY/MM/DD')";
OtherSQL += " AND SELLDATE >= TO_DATE('" + StatisticStart_Date + "','YYYY/MM/DD')";
}
if (StatisticEnd_Date != "")
{
WhereSQL += " AND SELLDATE <= TO_DATE('" + StatisticEnd_Date + "','YYYY/MM/DD')";
OtherSQL += " AND SELLDATE <= TO_DATE('" + StatisticEnd_Date + "','YYYY/MM/DD')";
}
//if (!string.IsNullOrEmpty(SERVERPARTTYPE_ID))
//{
// WhereSQL += "AND SERVERPARTTYPE_ID IN(" + SERVERPARTTYPE_ID + ")";
//}
if (!string.IsNullOrEmpty(SERVERPART_ID))
{
WhereSQL += "AND SERVERPART_ID IN(" + SERVERPART_ID + ")";
OtherSQL += "AND SERVERPART_ID IN(" + SERVERPART_ID + ")";
}
if (!string.IsNullOrEmpty(SERVERPARTSHOP_ID))
{
WhereSQL += "AND SERVERPARTSHOP_ID IN(" + SERVERPARTSHOP_ID + ")";
OtherSQL += "AND SERVERPARTSHOP_ID IN(" + SERVERPARTSHOP_ID + ")";
}
if (!string.IsNullOrEmpty(SHOPTRADE) && SHOPTRADE != "1=1")
{
WhereSQL += "AND BUSINESSTYPE = " + SHOPTRADE;
OtherSQL += "AND BUSINESSTYPE = " + SHOPTRADE;
}
if (ROWNUMS != "全部")
{
rowWhere = " WHERE ROWNUM <= " + ROWNUMS;
}
string strSql = @"SELECT ROWNUM,SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,TOTALSELLAMOUNT,TOTALCOUNT
FROM (SELECT SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,MAX(COMMODITY_NAME) AS COMMODITY_NAME,
COMMODITY_BARCODE,MAX(COMMODITY_RULE) AS COMMODITY_RULE,MAX(COMMODITY_UNIT) AS COMMODITY_UNIT,
SUM(TOTALSELLAMOUNT) AS TOTALSELLAMOUNT,SUM(TOTALCOUNT) AS TOTALCOUNT
FROM HIGHWAY_SELLDATA.V_SALERANKS WHERE 1 = 1 " + WhereSQL +
" GROUP BY SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,COMMODITY_BARCODE" +
" ORDER BY TOTALSELLAMOUNT DESC) " + rowWhere;
DataTable _DataTable = new Business.SERVERPART(_Transaction).ExecuteDataTable(strSql);
int ROWNUM = 0;
foreach (DataRow dr in _DataTable.Rows)
{
ROWNUM = int.Parse(dr["ROWNUM"].ToString());
SERVERPART_ID += (SERVERPART_ID == "" ? "" : ",") + dr["SERVERPART_ID"].ToString();
SERVERPARTSHOP_ID += (SERVERPARTSHOP_ID == "" ? "" : ",") + dr["SERVERPARTSHOP_ID"].ToString();
}
string otherSql = string.Format(@"SELECT ROWNUMS,SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,
SUM(TOTALSELLAMOUNT) AS TOTALSELLAMOUNT,SUM(TOTALCOUNT) AS TOTALCOUNT
FROM (SELECT 0 AS ROWNUMS,1 AS SERVERPART_ID,'其他服务区' as SERVERPART_NAME,
1 AS SERVERPARTSHOP_ID,'其他门店' AS SHOPNAME,
COMMODITY_CODE,COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_RULE,
COMMODITY_UNIT,SUM(TOTALSELLAMOUNT) AS TOTALSELLAMOUNT,SUM(TOTALCOUNT) AS TOTALCOUNT
FROM HIGHWAY_SELLDATA.V_SALERANKS
WHERE 1 = 1 {0} AND SERVERPART_ID NOT IN ({1}) AND SERVERPARTSHOP_ID NOT IN ({2})
GROUP BY SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME,COMMODITY_ID,COMMODITY_CODE,
COMMODITY_NAME,COMMODITY_BARCODE,COMMODITY_RULE,COMMODITY_UNIT,COMMODITY_CURRPRICE
ORDER BY TOTALSELLAMOUNT DESC)
GROUP BY ROWNUMS,SERVERPART_ID,SERVERPART_NAME,SERVERPARTSHOP_ID,SHOPNAME", OtherSQL, SERVERPART_ID, SERVERPARTSHOP_ID);
foreach (DataRow dr in new Business.COMMODITY(_Transaction).ExecuteDataTable(otherSql).Rows)
{
DataRow _DataRow = _DataTable.NewRow();
for (int rownum = 0; rownum < dr.ItemArray.Length; rownum++)
{
_DataRow[rownum] = dr[rownum];
}
_DataRow[0] = (ROWNUM + 1).ToString();
_DataTable.Rows.Add(_DataRow);
}
RetString = JsonHelper.DataTableToJson(_DataTable, "SALERANKS");
return RetString;
}
#endregion
}
}