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 } }