You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
202 lines
7.2 KiB
202 lines
7.2 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using System.Data.Sql;
|
|
using System.Data.SqlClient;
|
|
using ManagementSystem.Utility;
|
|
|
|
namespace ManagementSystem
|
|
{
|
|
public partial class PickProject : Form
|
|
{
|
|
//程式內共用物件
|
|
public string strFrmStatus = ""; //表單狀態
|
|
public string strPKey = ""; //程式內的Key值
|
|
public string strOwnerForm = ""; //設定表單的擁有者
|
|
public int intIndex = 0; //設定被觸發的Grid筆數
|
|
SqlConnection sqlConn = UtilityClass.GetConn(MainForm.strAccountingBookID);
|
|
SqlCommand sqlCmd = new SqlCommand();
|
|
DataSet sdInsurance = new System.Data.DataSet();
|
|
|
|
public PickProject()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
#region 自定義程式
|
|
private void SearchEvent(string strProjectNumber, string strProjectName)
|
|
{
|
|
try
|
|
{
|
|
StringBuilder strSQL = new StringBuilder("");
|
|
strSQL.Append("Select ProjectNumber, ProjectCName ");
|
|
strSQL.Append("From OTB_PRJ_ProjectInfo ");
|
|
strSQL.Append("Where 1 = 1 ");
|
|
if (strProjectNumber != "") //專案編號
|
|
{
|
|
strSQL.Append("And ProjectNumber like '" + strProjectNumber + "' ");
|
|
}
|
|
if (strProjectName != "") //專案名稱
|
|
{
|
|
strSQL.Append("And ProjectCName like '" + strProjectName + "' ");
|
|
}
|
|
|
|
if (cbClosed.Checked)
|
|
{
|
|
strSQL.Append("Union ");
|
|
strSQL.Append("Select ProjectNumber, ProjectCName ");
|
|
strSQL.Append("From OTB_PRJ_ProjectInfo_Closed ");
|
|
strSQL.Append("Where 1 = 1 ");
|
|
if (strProjectNumber != "") //專案編號
|
|
{
|
|
strSQL.Append("And ProjectNumber like '" + strProjectNumber + "' ");
|
|
}
|
|
if (strProjectName != "") //專案名稱
|
|
{
|
|
strSQL.Append("And ProjectCName like '" + strProjectName + "' ");
|
|
}
|
|
}
|
|
//進行查詢
|
|
dgvDataMaintain.DataSource = UtilityClass.GetSQLResult(strSQL.ToString()).Tables[0];
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ErrorHandler.WriteErrorLog("PickProject.cs", ex);
|
|
}
|
|
}
|
|
|
|
private void CleanForm()
|
|
{
|
|
txtProjectName.Text = "";
|
|
txtProjectNumber.Text = "";
|
|
cbClosed.Checked = false;
|
|
}
|
|
|
|
private void PickItem() //取得資料
|
|
{
|
|
try
|
|
{
|
|
|
|
string strReturnItem = "";
|
|
string strProjectID = "";
|
|
foreach (DataGridViewRow dgvRow in dgvDataMaintain.SelectedRows)
|
|
{
|
|
strProjectID = (string)dgvRow.Cells["cProjectID"].Value;
|
|
if (!string.IsNullOrEmpty(strProjectID))
|
|
{
|
|
strReturnItem = strProjectID + "|" + dgvRow.Cells["cProjectName"].Value.ToString();
|
|
}
|
|
}
|
|
|
|
switch (strOwnerForm)
|
|
{
|
|
case "AccountingEntries_Header":
|
|
AccountingEntries frmParent = (AccountingEntries)this.Owner;
|
|
frmParent.ReturnProjectInfo(strReturnItem.Split('|'));
|
|
break;
|
|
|
|
case "AccountingEntries_Detail":
|
|
AccountingEntries frmParent1 = (AccountingEntries)this.Owner;
|
|
frmParent1.ReturnProjectInfo(intIndex, strReturnItem.Split('|'));
|
|
break;
|
|
|
|
case "ProjectIncomeStatement":
|
|
ProjectIncomeStatement frmParent2 = (ProjectIncomeStatement)this.Owner;
|
|
frmParent2.ReturnProjectInfo(strReturnItem.Split('|'));
|
|
break;
|
|
|
|
case "CashFlowForecastEdit":
|
|
CashFlowForecastEdit frmParent3 = (CashFlowForecastEdit)this.Owner;
|
|
frmParent3.ReturnProjectInfo(strReturnItem.Split('|'));
|
|
break;
|
|
case "HRDataCorrect":
|
|
HRDataCorrect frmParent4 = (HRDataCorrect)this.Owner;
|
|
frmParent4.ReturnProjectInfo(strReturnItem.Split('|'));
|
|
break;
|
|
}
|
|
this.Close();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ErrorHandler.WriteErrorLog("PickProject.cs", ex);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 事件觸發及問題處理
|
|
private void btnClose_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void btnClean_Click(object sender, EventArgs e)
|
|
{
|
|
CleanForm();
|
|
string strProjectNumber = txtProjectNumber.Text.Trim();
|
|
string strProjectName = txtProjectName.Text.Trim();
|
|
SearchEvent(strProjectNumber, strProjectName);
|
|
}
|
|
|
|
private void btnSearch_Click(object sender, EventArgs e)
|
|
{
|
|
string strProjectNumber = txtProjectNumber.Text.Trim();
|
|
string strProjectName = txtProjectName.Text.Trim();
|
|
SearchEvent(strProjectNumber, strProjectName);
|
|
}
|
|
|
|
private void txtProjectNumber_TextChanged(object sender, EventArgs e)
|
|
{
|
|
string strProjuectNumber = txtProjectNumber.Text.Trim();
|
|
string strProjectName = txtProjectName.Text.Trim();
|
|
|
|
strProjuectNumber = string.IsNullOrEmpty(strProjuectNumber) ? "" : strProjuectNumber + "%";
|
|
strProjectName = string.IsNullOrEmpty(strProjectName) ? "" : "%" + strProjectName + "%";
|
|
SearchEvent(strProjuectNumber, strProjectName);
|
|
}
|
|
|
|
private void txtProjectName_TextChanged(object sender, EventArgs e)
|
|
{
|
|
string strProjuectNumber = txtProjectNumber.Text.Trim();
|
|
string strProjectName = txtProjectName.Text.Trim();
|
|
|
|
strProjuectNumber = string.IsNullOrEmpty(strProjuectNumber) ? "" : strProjuectNumber + "%";
|
|
strProjectName = string.IsNullOrEmpty(strProjectName) ? "" : "%" + strProjectName + "%";
|
|
SearchEvent(strProjuectNumber, strProjectName);
|
|
}
|
|
|
|
private void btnPick_Click(object sender, EventArgs e)
|
|
{
|
|
PickItem();
|
|
}
|
|
|
|
private void dgvDataMaintain_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
PickItem();
|
|
}
|
|
|
|
private void PickProject_Load(object sender, EventArgs e)
|
|
{
|
|
SearchEvent("", "");
|
|
}
|
|
|
|
private void cbClosed_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
string strProjectNumber = txtProjectNumber.Text.Trim();
|
|
string strProjectName = txtProjectName.Text.Trim();
|
|
SearchEvent(strProjectNumber, strProjectName);
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|