chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,623 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.Data.Common;
|
||||
using Wellan.Data;
|
||||
using Wellan.Common;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
using CRAX;
|
||||
|
||||
/// <summary>
|
||||
/// 專案憑證處理
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmRpfe : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private string _RPPYN = "";
|
||||
private int _YY = 0;
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM RPFE ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY RPPYN, RPREN";
|
||||
private TextBox[] RPDATs = new TextBox[10];
|
||||
private DropDownList[] RPACCs = new DropDownList[10];
|
||||
private TextBox[] RPAMTs = new TextBox[10];
|
||||
private TextBox[] RPDOCs = new TextBox[10];
|
||||
private DateTime[] RPDATValues = new DateTime[10];
|
||||
private int[] RPAMTValues = new int[10];
|
||||
DataTable reportData;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//ddlBPPNM.DataSource = new BpaaDAC().GetBpaa();
|
||||
//ddlBPPNM.DataBind();
|
||||
//if (IsPostBack)
|
||||
// RPFEGrid.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsRPFEForm.ConnectionString = ConnectionString;
|
||||
dsRPFEGrid.ConnectionString = ConnectionString;
|
||||
dsRPFE_RPACC.ConnectionString = ConnectionString;
|
||||
dsRPFE_RPENO.ConnectionString = ConnectionString;
|
||||
|
||||
_RPPYN = GetStringParam("RPPYN");
|
||||
_YY = GetIntParam("YY");
|
||||
|
||||
if (_YY > 0)
|
||||
{
|
||||
txtYY.Text = _YY.ToString();
|
||||
ddlBPPNM.DataSource = new BpaaDAC().GetBpaa(_YY + WGuard1.CY11);
|
||||
ddlBPPNM.DataBind();
|
||||
ListItem item = ddlBPPNM.Items.FindByValue(_RPPYN);
|
||||
if (item != null)
|
||||
item.Selected = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
txtYY.Focus();
|
||||
}
|
||||
|
||||
MultiView1.Visible = _RPPYN != "";
|
||||
|
||||
dsRPFE_RPACC.SelectParameters["RPPYN"].DefaultValue = _RPPYN;
|
||||
dsRPFE_RPENO.SelectParameters["RPPYN"].DefaultValue = _RPPYN;
|
||||
|
||||
RPDATs[0] = txtRPFE_RPDAT_01;
|
||||
RPDATs[1] = txtRPFE_RPDAT_02;
|
||||
RPDATs[2] = txtRPFE_RPDAT_03;
|
||||
RPDATs[3] = txtRPFE_RPDAT_04;
|
||||
RPDATs[4] = txtRPFE_RPDAT_05;
|
||||
RPDATs[5] = txtRPFE_RPDAT_06;
|
||||
RPDATs[6] = txtRPFE_RPDAT_07;
|
||||
RPDATs[7] = txtRPFE_RPDAT_08;
|
||||
RPDATs[8] = txtRPFE_RPDAT_09;
|
||||
RPDATs[9] = txtRPFE_RPDAT_10;
|
||||
|
||||
RPACCs[0] = ddlRPFE_RPACC_01;
|
||||
RPACCs[1] = ddlRPFE_RPACC_02;
|
||||
RPACCs[2] = ddlRPFE_RPACC_03;
|
||||
RPACCs[3] = ddlRPFE_RPACC_04;
|
||||
RPACCs[4] = ddlRPFE_RPACC_05;
|
||||
RPACCs[5] = ddlRPFE_RPACC_06;
|
||||
RPACCs[6] = ddlRPFE_RPACC_07;
|
||||
RPACCs[7] = ddlRPFE_RPACC_08;
|
||||
RPACCs[8] = ddlRPFE_RPACC_09;
|
||||
RPACCs[9] = ddlRPFE_RPACC_10;
|
||||
|
||||
RPAMTs[0] = txtRPFE_RPAMT_01;
|
||||
RPAMTs[1] = txtRPFE_RPAMT_02;
|
||||
RPAMTs[2] = txtRPFE_RPAMT_03;
|
||||
RPAMTs[3] = txtRPFE_RPAMT_04;
|
||||
RPAMTs[4] = txtRPFE_RPAMT_05;
|
||||
RPAMTs[5] = txtRPFE_RPAMT_06;
|
||||
RPAMTs[6] = txtRPFE_RPAMT_07;
|
||||
RPAMTs[7] = txtRPFE_RPAMT_08;
|
||||
RPAMTs[8] = txtRPFE_RPAMT_09;
|
||||
RPAMTs[9] = txtRPFE_RPAMT_10;
|
||||
|
||||
RPDOCs[0] = txtRPFE_RPDOC_01;
|
||||
RPDOCs[1] = txtRPFE_RPDOC_02;
|
||||
RPDOCs[2] = txtRPFE_RPDOC_03;
|
||||
RPDOCs[3] = txtRPFE_RPDOC_04;
|
||||
RPDOCs[4] = txtRPFE_RPDOC_05;
|
||||
RPDOCs[5] = txtRPFE_RPDOC_06;
|
||||
RPDOCs[6] = txtRPFE_RPDOC_07;
|
||||
RPDOCs[7] = txtRPFE_RPDOC_08;
|
||||
RPDOCs[8] = txtRPFE_RPDOC_09;
|
||||
RPDOCs[9] = txtRPFE_RPDOC_10;
|
||||
|
||||
//_RPPYN = ViewState["RPNUM"] != null ? ViewState["RPNUM"].ToString() : "";
|
||||
//_RPRDT1 = ViewState["RPRDT1"] != null ? ViewState["RPRDT1"].ToString() : "";
|
||||
//_RPRDT2 = ViewState["RPRDT2"] != null ? ViewState["RPRDT2"].ToString() : "";
|
||||
|
||||
StringBuilder sb1 = new StringBuilder();
|
||||
StringBuilder sb2 = new StringBuilder();
|
||||
StringBuilder sb3 = new StringBuilder();
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
sb1.Append(String.Format("\"{0}\"", RPDATs[i].ClientID) + (i < 9 ? "," : ""));
|
||||
sb2.Append(String.Format("\"{0}\"", RPAMTs[i].ClientID) + (i < 9 ? "," : ""));
|
||||
sb3.Append(String.Format("\"{0}\"", RPDOCs[i].ClientID) + (i < 9 ? "," : ""));
|
||||
}
|
||||
Page.ClientScript.RegisterArrayDeclaration("RPDATIds", sb1.ToString());
|
||||
Page.ClientScript.RegisterArrayDeclaration("RPAMTIds", sb2.ToString());
|
||||
Page.ClientScript.RegisterArrayDeclaration("RPDOCIds", sb3.ToString());
|
||||
|
||||
GetGridViewRowColor(RPFEGrid);
|
||||
|
||||
reportData = new DataTable();
|
||||
reportData.Columns.Add("RPREN", typeof(String));
|
||||
reportData.Columns.Add("RPPYN", typeof(String));
|
||||
reportData.Columns.Add("ProjectName", typeof(String));
|
||||
reportData.Columns.Add("Amount", typeof(Int32));
|
||||
reportData.Columns.Add("Document", typeof(String));
|
||||
|
||||
if (MultiView1.ActiveViewIndex == 0)
|
||||
SetClientFocus(txtRPFE_RPDAT_01);
|
||||
|
||||
Search();
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsRPFEGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsRPFEGrid, "RPPYN", _RPPYN, "", true);
|
||||
sql.Append(order);
|
||||
dsRPFEGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
private int CheckInsertInput(int index)
|
||||
{
|
||||
RPDATs[index].Text = RPDATs[index].Text.Trim();
|
||||
RPAMTs[index].Text = RPAMTs[index].Text.Trim();
|
||||
RPDOCs[index].Text = RPDOCs[index].Text.Trim();
|
||||
|
||||
// 有輸入的條件為:日期有輸入且合理,金額大於0,備註無所謂
|
||||
bool rpdatValid = false;
|
||||
bool rpamtValid = false;
|
||||
rpdatValid = CheckDate(RPDATs[index].Text + "01", out RPDATValues[index]);
|
||||
rpamtValid = Int32.TryParse(RPAMTs[index].Text, out RPAMTValues[index]);
|
||||
if (RPDATs[index].Text != "" && rpdatValid &&
|
||||
RPAMTs[index].Text != "" && rpamtValid && RPAMTValues[index] > 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (RPDATs[index].Text == "" && RPAMTs[index].Text == "")
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int returnValue = 0;
|
||||
if (RPDATs[index].Text != "" && !rpdatValid)
|
||||
{
|
||||
returnValue -= 1;
|
||||
}
|
||||
if (RPAMTs[index].Text != "" && !rpamtValid)
|
||||
{
|
||||
returnValue -= 2;
|
||||
}
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void dsRPFEForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void dsRPFEForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void RPFEGrid_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (RPFEGrid.Rows.Count > 0)
|
||||
{
|
||||
if (RPFEGrid.SelectedIndex == -1)
|
||||
RPFEGrid.SelectedIndex = 0;
|
||||
if (RPFEGrid.SelectedIndex > RPFEGrid.Rows.Count - 1)
|
||||
RPFEGrid.SelectedIndex = RPFEGrid.Rows.Count - 1;
|
||||
RPFEForm.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void RPFEGrid_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
RPFEGrid.SelectedIndex = 0;
|
||||
RPFEGrid.DataBind();
|
||||
}
|
||||
|
||||
protected void dsRPFEGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
//RPFEForm.ChangeMode(FormViewMode.Insert);
|
||||
//RPFEForm_ModeChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void RPFEForm_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "APPEND":
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
break;
|
||||
case "Print":
|
||||
RPFEForm.DataBind();
|
||||
if (RPFEForm.DataItem != null)
|
||||
{
|
||||
DataRowView rv = RPFEForm.DataItem as DataRowView;
|
||||
AddReportData(rv["RPREN"].ToString(),
|
||||
rv["RPPYN"].ToString(),
|
||||
GetLookup("BPAA", rv["RPPYN"].ToString(), "BPPYM", ""),
|
||||
Convert.ToInt32(rv["RPAMT"]),
|
||||
rv["RPACC"].ToString(),
|
||||
Convert.ToDateTime(rv["RPDAT"]),
|
||||
rv["RPDOC"].ToString());
|
||||
PrintReport();
|
||||
}
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
RPFEForm.ChangeMode(FormViewMode.ReadOnly);
|
||||
RPFEForm_ModeChanged(sender, e);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void RPFEForm_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
RPFEGrid.DataBind();
|
||||
if (RPFEGrid.SelectedIndex > RPFEGrid.Rows.Count - 1)
|
||||
{
|
||||
RPFEGrid.SelectedIndex = RPFEGrid.Rows.Count - 1;
|
||||
RPFEGrid.DataBind();
|
||||
}
|
||||
RPFEForm.DataBind();
|
||||
}
|
||||
|
||||
protected void RPFEForm_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void RPFEForm_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void RPFEForm_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (RPFEForm.CurrentMode)
|
||||
{
|
||||
case FormViewMode.ReadOnly:
|
||||
RPFEGrid.Visible = true;
|
||||
RPFEGrid.DataBind();
|
||||
if (RPFEGrid.Rows.Count > 0)
|
||||
{
|
||||
if (RPFEGrid.SelectedIndex == -1)
|
||||
{
|
||||
RPFEGrid.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
RPFEGrid.PageIndex = RPFEGrid.PageCount - 1;
|
||||
RPFEGrid.DataBind();
|
||||
RPFEGrid.SelectedIndex = RPFEGrid.Rows.Count - 1;
|
||||
}
|
||||
RPFEGrid.DataBind();
|
||||
RPFEForm.DataBind();
|
||||
}
|
||||
break;
|
||||
|
||||
case FormViewMode.Edit:
|
||||
RPFEGrid.Visible = false;
|
||||
break;
|
||||
|
||||
case FormViewMode.Insert:
|
||||
RPFEGrid.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void RPFEForm_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void RPFEForm_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (RPFEForm.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
SetClientFocus(RPFEForm, "txtRPFE_RPDAT");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void RPFEGrid_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(RPFEGrid, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void RPFEGrid_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in RPFEGrid.Rows)
|
||||
SetGridViewMouseBehavier(RPFEGrid, row);
|
||||
}
|
||||
|
||||
protected void RPFEForm_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
// TODO: 檢查關帳日
|
||||
}
|
||||
|
||||
protected new bool CheckInput(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
bool result = true;
|
||||
values["RPDAT"] = CheckDate(values["RPDAT"].ToString() + "01", "請輸入正確的日期", ref result, cvMessage);
|
||||
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void RPFEForm_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
//e.Values["RPTYP"] = (RPFEForm.FindControl("ddlRPFE_RPTYP") as DropDownList).SelectedValue;
|
||||
//e.Cancel = !CheckInput(e.Values);
|
||||
}
|
||||
|
||||
protected void RPFEForm_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
e.Cancel = !CheckInput(e.NewValues);
|
||||
}
|
||||
|
||||
protected void cvRPTCT_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i);
|
||||
}
|
||||
|
||||
// 新增畫面之存檔按鈕
|
||||
protected void btnSave1_Click(object sender, EventArgs e)
|
||||
{
|
||||
// 存檔
|
||||
// 1. 檢查各組輸入
|
||||
int[] hasInput = new int[10];
|
||||
bool valid = true;
|
||||
bool saveOk = false;
|
||||
bool needSave = false;
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
for (int i = 0; i < RPACCs.Length; i++)
|
||||
{
|
||||
hasInput[i] = CheckInsertInput(i);
|
||||
switch (hasInput[i])
|
||||
{
|
||||
case 0:
|
||||
needSave = true;
|
||||
break;
|
||||
case -1:
|
||||
valid = false;
|
||||
cvMessage.ErrorMessage += String.Format("第{0}組輸入月份不合理<br/>", i + 1);
|
||||
break;
|
||||
case -2:
|
||||
valid = false;
|
||||
cvMessage.ErrorMessage += String.Format("第{0}組輸入金額不合理<br/>", i + 1);
|
||||
break;
|
||||
case -3:
|
||||
valid = false;
|
||||
cvMessage.ErrorMessage += String.Format("第{0}組輸入月份與金額不合理<br/>", i + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!valid)
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!needSave)
|
||||
return;
|
||||
|
||||
// 2. 各組輸入存檔
|
||||
DbCommand cmd1 = Query.NewCommand(
|
||||
@"INSERT INTO RPFE
|
||||
(RPREN, RPPYN, RPDAT, RPACC, RPAMT, RPDOC,
|
||||
APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@RPREN, @RPPYN, @RPDAT, @RPACC, @RPAMT, @RPDOC,
|
||||
1, GETDATE(), 'INSERT', @TRUSR)");
|
||||
cmd1.Parameters.Add(Query.NewParameter("RPREN", DbType.String));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RPPYN", _RPPYN));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RPDAT", DbType.DateTime));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RPACC", DbType.String));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RPAMT", DbType.Int32));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RPDOC", DbType.String));
|
||||
cmd1.Parameters.Add(Query.NewParameter("TRUSR", UserId));
|
||||
|
||||
// 取得專案年度名稱
|
||||
string bppym = GetLookup("BPAA", _RPPYN, "BPPYM", "");
|
||||
if (bppym == "")
|
||||
{
|
||||
string[] tmp = ddlBPPNM.SelectedItem.Text.Split('】');
|
||||
bppym = tmp.Length > 1 ? tmp[1] : ddlBPPNM.SelectedItem.Text;
|
||||
}
|
||||
|
||||
DbConnection conn = Query.NewConnection(ConnectionString);
|
||||
cmd1.Connection = conn;
|
||||
conn.Open();
|
||||
DbTransaction tran = conn.BeginTransaction();
|
||||
cmd1.Transaction = tran;
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < RPACCs.Length; i++)
|
||||
{
|
||||
if (hasInput[i] == 0)
|
||||
{
|
||||
string rpren = WGuard1.WNextRen(RPDATValues[i], "RPFE", "RPREN", "YYYYMM<999999>", "", tran);
|
||||
|
||||
cmd1.Parameters["RPREN"].Value = rpren;
|
||||
cmd1.Parameters["RPDAT"].Value = RPDATValues[i];
|
||||
cmd1.Parameters["RPACC"].Value = RPACCs[i].SelectedValue;
|
||||
cmd1.Parameters["RPAMT"].Value = RPAMTValues[i];
|
||||
cmd1.Parameters["RPDOC"].Value = RPDOCs[i].Text;
|
||||
cmd1.ExecuteNonQuery();
|
||||
|
||||
// 將資料放進報表要用的 DataTable
|
||||
AddReportData(rpren, _RPPYN, bppym, RPAMTValues[i], RPACCs[i].Text, RPDATValues[i], RPDOCs[i].Text);
|
||||
}
|
||||
}
|
||||
tran.Commit();
|
||||
saveOk = true;
|
||||
|
||||
// 清除畫面資料
|
||||
for (int i = 0; i < RPDATs.Length; i++)
|
||||
{
|
||||
RPDATs[i].Text = "";
|
||||
RPAMTs[i].Text = "";
|
||||
RPDOCs[i].Text = "";
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
tran.Rollback();
|
||||
cvMessage.ErrorMessage = ex.Message;
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
|
||||
// 3. 是否要列印單據黏貼條
|
||||
if (saveOk && cbWantPrint.Checked)
|
||||
{
|
||||
PrintReport();
|
||||
}
|
||||
}
|
||||
|
||||
// 將資料加入報表資料中
|
||||
protected void AddReportData(string rpren, string rppyn, string projectName, int amount, string rpacc, DateTime rpdat, string rpdoc)
|
||||
{
|
||||
reportData.Rows.Add(rpren, rppyn, projectName, amount, rpdat.ToString("yyyy\"年\"MM\"月\"") + GetBPACC(rpacc) + (rpdoc != "" ? "(" + rpdoc + ")" : ""));
|
||||
}
|
||||
|
||||
// 列印報表
|
||||
protected void PrintReport()
|
||||
{
|
||||
WTableTr tableTr = new WTableTr();
|
||||
string realFileName = tableTr.ExportToMDB(reportData, ReportDataPath + "RPFE_01.mdb", "RPFE_01", true, true, false);
|
||||
realFileName = "reportData/" + Path.GetFileName(realFileName);
|
||||
reportData.Dispose();
|
||||
tableTr = null;
|
||||
|
||||
//WCrExport crex = new WCrExport();
|
||||
//crex.LoadReport(ReportDataPath + "RPFE_01.rpt", realFileName);
|
||||
//crex.WebExportAsPdf(Response);
|
||||
//crex.CloseReport();
|
||||
//RegisterStartupScript("REPORT_OBJECT", CRAXHelper.GetCRAXViewerDeclaration());
|
||||
ReportParameter rp = new ReportParameter();
|
||||
rp.Add("公司名稱", GetString("COMPANY.NAME"));
|
||||
string realParamFileName = "reportData/" + Path.GetFileName(rp.Save(ReportDataPath + "RPFE_01.rpp", true));
|
||||
|
||||
RegisterStartupScript("REPORT_JS",
|
||||
CRAXHelper.GetReportScript(Context,
|
||||
GetWebRootUrl() + "CRAX/",
|
||||
"../report/RPFE_01.rpt",
|
||||
"../" + realFileName,
|
||||
"../" + realParamFileName,
|
||||
"",
|
||||
"RPFE_01.rpt",
|
||||
"RPFE_01.mdb",
|
||||
"RPFE_01.rpp",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
0,
|
||||
0));
|
||||
}
|
||||
|
||||
// 新增畫面之取消按鈕
|
||||
protected void btnCancel1_Click(object sender, EventArgs e)
|
||||
{
|
||||
// 回到處理畫面
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
protected string GetBPACC(string bpacc)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand("SELECT BPAME FROM BPAB WHERE BPPYN=@BPPYN AND BPACC=@BPACC");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPYN", _RPPYN));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPACC", bpacc));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o == null || o == DBNull.Value)
|
||||
return "";
|
||||
else
|
||||
return o.ToString();
|
||||
}
|
||||
|
||||
protected void cvRPAMT_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i > 0;
|
||||
}
|
||||
|
||||
protected void Next_Click(object sender, EventArgs e)
|
||||
{
|
||||
string rppyn = ddlBPPNM.SelectedValue;
|
||||
|
||||
// 檢查此使用者是否有權限處理這個專案
|
||||
BprmDAC bprm = new BprmDAC(Query);
|
||||
if (!bprm.GetRight(rppyn, UserId))
|
||||
{
|
||||
MultiView1.Visible = false;
|
||||
cvMessage.ErrorMessage = "對不起,你沒有處理這個專案的權限!";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// 檢查科目是否有設定
|
||||
dsRPFE_RPACC.SelectParameters["RPPYN"].DefaultValue = rppyn;
|
||||
DataView dv = dsRPFE_RPACC.Select(new DataSourceSelectArguments()) as DataView;
|
||||
if (dv.Count == 0)
|
||||
{
|
||||
MultiView1.Visible = false;
|
||||
cvMessage.ErrorMessage = "此專案年度接單尚未設定科目";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
ParamList["RPPYN"] = rppyn;
|
||||
DoAfterCommand("RPFE");
|
||||
}
|
||||
|
||||
protected void btnYY_Click(object sender, EventArgs e)
|
||||
{
|
||||
int year;
|
||||
if (!Int32.TryParse(txtYY.Text.Trim(), out year))
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage = "請輸入正確的年度";
|
||||
return;
|
||||
}
|
||||
|
||||
MultiView1.Visible = false;
|
||||
ParamList["YY"] = year;
|
||||
ParamList["RPPYN"] = "";
|
||||
DoAfterCommand("RPFE");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user