chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,686 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBcus.ascx.cs" Inherits="forms_customer_fmBcus" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="FMBCUS.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="1">
|
||||
<asp:View ID="SearchView" runat="server">
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
TextMessageId="F.+SEARCH" CssClass="button"
|
||||
OnClick="btnSearch_Click" Text="F.查詢" AccessKey="F" />
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
CssClass="button" Text="I.新增" TextMessageId="I.+INSERT"
|
||||
AccessKey="I" OnClick="btnInsert_Click" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
TextMessageId="C.+CANCEL" CssClass="button"
|
||||
OnClick="btnCancel_Click" Text="C.取消" AccessKey="C" /><table>
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 100px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 110px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBCNUM" runat="server" TextMessageId="BCUS.BCNUM+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBCNUM" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBCNAM" runat="server" TextMessageId="BCUS.BCNAM+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBCNAM" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:View>
|
||||
<asp:View ID="EditView" runat="server">
|
||||
<asp:SqlDataSource ID="dsBCUSGrid" runat="server"
|
||||
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM BCUS WHERE 1=0"
|
||||
ConnectionString="Data Source=SRYANG-2K3;Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" OnSelected="dsBCUSGrid_Selected">
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBCUSForm" runat="server"
|
||||
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM BCUS WHERE BCNUM=@BCNUM"
|
||||
DeleteCommand="DELETE BCUS WHERE BCNUM = @OLD_BCNUM AND APPNO = @OLD_APPNO"
|
||||
InsertCommand="INSERT INTO BCUS (BCNUM, BCNAM, BCSNM, BCIDN, BCTYP, BCMQT, BCCAP, BCCNT, BCADZ, BCADC, BCADT, BCADS, BCTEL, BCFAX, BCWEB, BCBRF, BCPRD, BCWFE, TRDAT, TRMOD, TRUSR, APPNO) VALUES (@BCNUM, @BCNAM, @BCSNM, @BCIDN, @BCTYP, @BCMQT, @BCCAP, @BCCNT, @BCADZ, @BCADC, @BCADT, @BCADS, @BCTEL, @BCFAX, @BCWEB, @BCBRF, @BCPRD, @BCWFE, GETDATE(), 'INSERT', @TRUSR, 1)"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
UpdateCommand="UPDATE BCUS SET BCNAM = @BCNAM, BCSNM = @BCSNM, BCIDN = @BCIDN, BCTYP = @BCTYP, BCMQT = @BCMQT, BCCAP = @BCCAP, BCCNT = @BCCNT, BCADZ = @BCADZ, BCADC = @BCADC, BCADT = @BCADT, BCADS = @BCADS, BCTEL = @BCTEL, BCFAX = @BCFAX, BCWEB = @BCWEB, BCBRF = @BCBRF, BCPRD = @BCPRD, BCWFE = @BCWFE, TRDAT = GETDATE(), TRMOD = 'UPDATE', TRUSR = @TRUSR, APPNO = APPNO + 1 WHERE BCNUM = @OLD_BCNUM AND APPNO = @OLD_APPNO "
|
||||
OnInserting="dsBCUSForm_Inserting" OnUpdating="dsBCUSForm_Updating">
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBCUS"
|
||||
Name="BCNUM" PropertyName="SelectedValue" />
|
||||
</SelectParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BCNUM" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BCNAM" />
|
||||
<asp:Parameter Name="BCSNM" />
|
||||
<asp:Parameter Name="BCIDN" />
|
||||
<asp:Parameter Name="BCTYP" />
|
||||
<asp:Parameter Name="BCMQT" />
|
||||
<asp:Parameter Name="BCCAP" />
|
||||
<asp:Parameter Name="BCCNT" />
|
||||
<asp:Parameter Name="BCADZ" />
|
||||
<asp:Parameter Name="BCADC" />
|
||||
<asp:Parameter Name="BCADT" />
|
||||
<asp:Parameter Name="BCADS" />
|
||||
<asp:Parameter Name="BCTEL" />
|
||||
<asp:Parameter Name="BCFAX" />
|
||||
<asp:Parameter Name="BCWEB" />
|
||||
<asp:Parameter Name="BCBRF" />
|
||||
<asp:Parameter Name="BCPRD" />
|
||||
<asp:Parameter Name="BCWFE" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR"
|
||||
SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_BCNUM" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BCNUM" />
|
||||
<asp:Parameter Name="BCNAM" />
|
||||
<asp:Parameter Name="BCSNM" />
|
||||
<asp:Parameter Name="BCIDN" />
|
||||
<asp:Parameter Name="BCTYP" />
|
||||
<asp:Parameter Name="BCMQT" />
|
||||
<asp:Parameter Name="BCCAP" />
|
||||
<asp:Parameter Name="BCCNT" />
|
||||
<asp:Parameter Name="BCADZ" />
|
||||
<asp:Parameter Name="BCADC" />
|
||||
<asp:Parameter Name="BCADT" />
|
||||
<asp:Parameter Name="BCADS" />
|
||||
<asp:Parameter Name="BCTEL" />
|
||||
<asp:Parameter Name="BCFAX" />
|
||||
<asp:Parameter Name="BCWEB" />
|
||||
<asp:Parameter Name="BCBRF" />
|
||||
<asp:Parameter Name="BCPRD" />
|
||||
<asp:Parameter Name="BCWFE" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR"
|
||||
SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="fvBCUS" runat="server"
|
||||
DataSourceID="dsBCUSForm" DataKeyNames="BCNUM,APPNO"
|
||||
OnDataBound="fvBCUS_DataBound" OnItemCommand="fvBCUS_ItemCommand"
|
||||
OnItemDeleted="fvBCUS_ItemDeleted" OnItemInserted="fvBCUS_ItemInserted"
|
||||
OnItemUpdated="fvBCUS_ItemUpdated" OnModeChanged="fvBCUS_ModeChanged"
|
||||
OnModeChanging="fvBCUS_ModeChanging" OnItemDeleting="fvBCUS_ItemDeleting"
|
||||
OnItemInserting="fvBCUS_ItemInserting">
|
||||
<ItemTemplate>
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
CommandName="New" CssClass="button" Text="I.新增"
|
||||
TextMessageId="I.+INSERT" AccessKey="I" />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
CommandName="Edit" CssClass="button" Text="M.更正"
|
||||
TextMessageId="M.+UPDATE" AccessKey="M" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
CommandName="Delete" CssClass="button"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE" OnClientClick="return confirm(msgConfirmDelete);"
|
||||
AccessKey="T" />
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
CommandName="Search" CssClass="button"
|
||||
Text="F.查詢" TextMessageId="F.+SEARCH" AccessKey="F" />
|
||||
<cc1:WButton ID="WButton1" runat="server"
|
||||
CommandName="BPRJ" CssClass="button" Text="P.客戶專案資料"
|
||||
AccessKey="P" Width="105px" />
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCNUMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCNUM" runat="server"
|
||||
Text='<%# Bind("BCNUM", "{0:c}") %>' CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCNAMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="3" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCNAM" runat="server"
|
||||
Text='<%# Bind("BCNAM", "{0:c}") %>' CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCSNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCSNM+:">客戶簡稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCSNM" runat="server"
|
||||
Text='<%# Bind("BCSNM", "{0:c}") %>' CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCIDNLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCIDN+:">統一編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCIDN" runat="server"
|
||||
Text='<%# Bind("BCIDN", "{0:c}") %>' CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCTYPLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCTYP+:">產業類別:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCTYP" runat="server"
|
||||
Text='<%# Bind("BCTYP", "{0:c}") %>' CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCMQTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCMQT+:">員工人數:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCMQT" runat="server"
|
||||
Text='<%# Bind("BCMQT", "{0}") %>' CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCCAPLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCCAP+:">資本額:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCCAP" runat="server"
|
||||
Text='<%# Bind("BCCAP", "{0:c}") %>' CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBCUS_BCADZLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCADR+:">公司地址:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="7">
|
||||
(<asp:Label ID="lbBCUS_BCADZ" runat="server"
|
||||
Text='<%# Bind("BCADZ", "{0:c}") %>' CssClass="textInput1"></asp:Label>)
|
||||
<asp:Label ID="lbBCUS_BCADC" runat="server"
|
||||
Text='<%# Bind("BCADC", "{0:c}") %>' CssClass="textInput1"></asp:Label><asp:Label
|
||||
ID="lbBCUS_BCADT" runat="server" Text='<%# Bind("BCADT", "{0:c}") %>'
|
||||
CssClass="textInput1"></asp:Label><asp:Label
|
||||
ID="lbBCUS_BCADS" runat="server" Text='<%# Bind("BCADS", "{0:c}") %>'
|
||||
CssClass="textInput1"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCTELLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCTEL+:">電話:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCTEL" runat="server"
|
||||
Text='<%# Bind("BCTEL", "{0:c}") %>' CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCFAXLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCFAX+:">傳真:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCFAX" runat="server"
|
||||
Text='<%# Bind("BCFAX", "{0:c}") %>' CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCCNTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCCNT+:">人事聯絡人:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCCNT" runat="server"
|
||||
Text='<%# Bind("BCCNT", "{0:c}") %>' CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCWEBLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCWEB+:">公司網站:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBCUS_BCWEB" runat="server"
|
||||
Text='<%# Bind("BCWEB", "{0:c}") %>' CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCBRFLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCBRF+:">公司簡介:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataDisplayCell1">
|
||||
<asp:Label ID="lbBCUS_BCBRF" runat="server"
|
||||
Text='<%# Eval("BCBRF", "{0:c}").Replace("\u000d", "<br/>").Replace(" ", "\u0026nbsp;") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCPRDLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCPRD+:">服務項目:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataDisplayCell1">
|
||||
<asp:Label ID="lbBCUS_BCPRD" runat="server"
|
||||
Text='<%# Eval("BCPRD", "{0:c}").Replace("\u000d", "<br/>").Replace(" ", "\u0026nbsp;") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBCUS_BCWFELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCWFE+:">福利制度:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataDisplayCell1">
|
||||
<asp:Label ID="lbBCUS_BCWFE" runat="server"
|
||||
Text='<%# Eval("BCWFE", "{0:c}").Replace("\u000d", "<br/>").Replace(" ", "\u0026nbsp;") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</ItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
CommandName="Update" CssClass="button"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" />
|
||||
<asp:RequiredFieldValidator ID="rvBCNAM"
|
||||
runat="server" ControlToValidate="txtBCUS_BCNAM"
|
||||
ErrorMessage="請輸入客戶名稱" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBCIDN" runat="server"
|
||||
ControlToValidate="txtBCUS_BCIDN" Display="None"
|
||||
ErrorMessage="統一編號不正確" OnServerValidate="cvBCIDN_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBCMQT" runat="server"
|
||||
ControlToValidate="txtBCUS_BCMQT" Display="None"
|
||||
ErrorMessage="員工人數請輸入數字" OnServerValidate="cvBCMQT_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBCCAP" runat="server"
|
||||
ControlToValidate="txtBCUS_BCCAP" Display="None"
|
||||
ErrorMessage="資本額請輸入數字" OnServerValidate="cvBCMQT_ServerValidate"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel17" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:Label ID="lbBCUS_BCNUM" runat="server"
|
||||
Text='<%# Bind("BCNUM", "{0:c}") %>' CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel18" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="3" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCNAM" runat="server"
|
||||
CssClass="textInput" MaxLength="50" Text='<%# Bind("BCNAM", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel19" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCSNM+:">客戶簡稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCSNM" runat="server"
|
||||
CssClass="textInput" MaxLength="4" Text='<%# Bind("BCSNM", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel20" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCIDN+:">統一編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCIDN" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BCIDN", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel21" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCTYP+:">產業類別:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCTYP" runat="server"
|
||||
CssClass="textInput" MaxLength="5" Text='<%# Bind("BCTYP", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel22" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCMQT+:">員工人數:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCMQT" runat="server"
|
||||
CssClass="textInput" MaxLength="5" Text='<%# Bind("BCMQT", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel23" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCCAP+:">資本額:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCCAP" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BCCAP", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel24" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCADR+:">公司地址:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="7">
|
||||
<cc1:WAddressEditor ID="WAddressEditor1"
|
||||
runat="server" Width="100%" ZipCode='<%# Bind("BCADZ", "{0:c}") %>'
|
||||
County='<%# Bind("BCADC", "{0:c}") %>'
|
||||
Township='<%# Bind("BCADT", "{0:c}") %>'
|
||||
StreetAddress='<%# Bind("BCADS", "{0:c}") %>'
|
||||
CssClass="textInput" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel25" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCTEL+:">電話:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCTEL" runat="server"
|
||||
CssClass="textInput" MaxLength="15" Text='<%# Bind("BCTEL", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel26" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCFAX+:">傳真:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCFAX" runat="server"
|
||||
CssClass="textInput" MaxLength="15" Text='<%# Bind("BCFAX", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel27" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCCNT+:">人事聯絡人:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCCNT" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BCCNT", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel28" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCWEB+:">公司網站:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCWEB" runat="server"
|
||||
CssClass="textInput" MaxLength="50" Text='<%# Bind("BCWEB", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel29" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCBRF+:">公司簡介:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataEditCell1">
|
||||
<asp:TextBox ID="txtBCUS_BCBRF" runat="server"
|
||||
CssClass="textInput" Rows="5" Text='<%# Bind("BCBRF", "{0:c}") %>'
|
||||
TextMode="MultiLine"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel30" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCPRD+:">服務項目:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataEditCell1">
|
||||
<asp:TextBox ID="txtBCUS_BCPRD" runat="server"
|
||||
CssClass="textInput" Rows="5" Text='<%# Bind("BCPRD", "{0:c}") %>'
|
||||
TextMode="MultiLine"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel31" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCWFE+:">福利制度:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataEditCell1">
|
||||
<asp:TextBox ID="txtBCUS_BCWFE" runat="server"
|
||||
CssClass="textInput" Rows="5" Text='<%# Bind("BCWFE", "{0:c}") %>'
|
||||
TextMode="MultiLine"></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="rfBCUS_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
</EditItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
CommandName="Insert" CssClass="button"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" />
|
||||
<asp:RequiredFieldValidator ID="rvBCNAM"
|
||||
runat="server" ControlToValidate="txtBCUS_BCNAM"
|
||||
ErrorMessage="請輸入客戶名稱" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBCIDN" runat="server"
|
||||
ControlToValidate="txtBCUS_BCIDN" Display="None"
|
||||
ErrorMessage="統一編號不正確" OnServerValidate="cvBCIDN_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBCMQT" runat="server"
|
||||
ControlToValidate="txtBCUS_BCMQT" Display="None"
|
||||
ErrorMessage="員工人數請輸入數字" OnServerValidate="cvBCMQT_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBCCAP" runat="server"
|
||||
ControlToValidate="txtBCUS_BCCAP" Display="None"
|
||||
ErrorMessage="資本額請輸入數字" OnServerValidate="cvBCMQT_ServerValidate"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel33" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">分類:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<cc1:WDropDownList ID="ddlClass" CssClass="textInput"
|
||||
runat="server" SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BCUSCLS'"
|
||||
DataTextField="BSSCR" DataValueField="BSCLS">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel34" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">區域:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlZone" CssClass="textInput"
|
||||
runat="server" SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BCUSZON'"
|
||||
DataTextField="BSSCR" DataValueField="BSCLS">
|
||||
</cc1:WDropDownList></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel2" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<cc1:WLabel ID="WLabel32" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">(系統自動編號)</cc1:WLabel></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="3" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCNAM" runat="server"
|
||||
CssClass="textInput" MaxLength="50" Text='<%# Bind("BCNAM", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel4" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCSNM+:">客戶簡稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCSNM" runat="server"
|
||||
CssClass="textInput" MaxLength="4" Text='<%# Bind("BCSNM", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel5" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCIDN+:">統一編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCIDN" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BCIDN", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel6" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCTYP+:">產業類別:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCTYP" runat="server"
|
||||
CssClass="textInput" MaxLength="5" Text='<%# Bind("BCTYP", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel7" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCMQT+:">員工人數:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCMQT" runat="server"
|
||||
CssClass="textInput" MaxLength="5" Text='<%# Bind("BCMQT", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel8" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCCAP+:">資本額:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCCAP" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BCCAP", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel9" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCADR+:">公司地址:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="7">
|
||||
<cc1:WAddressEditor ID="WAddressEditor1"
|
||||
runat="server" Width="100%" ZipCode='<%# Bind("BCADZ", "{0:c}") %>'
|
||||
County='<%# Bind("BCADC", "{0:c}") %>'
|
||||
Township='<%# Bind("BCADT", "{0:c}") %>'
|
||||
StreetAddress='<%# Bind("BCADS", "{0:c}") %>' />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel10" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCTEL+:">電話:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCTEL" runat="server"
|
||||
CssClass="textInput" MaxLength="15" Text='<%# Bind("BCTEL", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel11" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCFAX+:">傳真:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCFAX" runat="server"
|
||||
CssClass="textInput" MaxLength="15" Text='<%# Bind("BCFAX", "{0}") %>'></asp:TextBox></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel12" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCCNT+:">人事聯絡人:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCCNT" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BCCNT", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel13" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCWEB+:">公司網站:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBCUS_BCWEB" runat="server"
|
||||
CssClass="textInput" MaxLength="50" Text='<%# Bind("BCWEB", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel14" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCBRF+:">公司簡介:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataEditCell1">
|
||||
<asp:TextBox ID="txtBCUS_BCBRF" runat="server"
|
||||
CssClass="textInput" Rows="5" Text='<%# Bind("BCBRF", "{0:c}") %>'
|
||||
TextMode="MultiLine"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel15" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCPRD+:">服務項目:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataEditCell1">
|
||||
<asp:TextBox ID="txtBCUS_BCPRD" runat="server"
|
||||
CssClass="textInput" Rows="5" Text='<%# Bind("BCPRD", "{0:c}") %>'
|
||||
TextMode="MultiLine"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel16" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCWFE+:">福利制度:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="7" class="dataEditCell1">
|
||||
<asp:TextBox ID="txtBCUS_BCWFE" runat="server"
|
||||
CssClass="textInput" Rows="5" Text='<%# Bind("BCWFE", "{0:c}") %>'
|
||||
TextMode="MultiLine"></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="gvBCUS" runat="server"
|
||||
DataSourceID="dsBCUSGrid" DataKeyNames="BCNUM"
|
||||
AutoGenerateColumns="False" OnDataBound="gvBCUS_DataBound"
|
||||
OnPageIndexChanged="gvBCUS_PageIndexChanged"
|
||||
OnRowDataBound="gvBCUS_RowDataBound" OnSelectedIndexChanged="gvBCUS_SelectedIndexChanged"
|
||||
AllowPaging="True"
|
||||
CssClass="gridLine">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText="" ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField AccessibleHeaderText="BCUS.BCNUM"
|
||||
DataField="BCNUM" HeaderText="BCNUM" ReadOnly="True"
|
||||
SortExpression="BCNUM" />
|
||||
<asp:BoundField AccessibleHeaderText="BCUS.BCNAM"
|
||||
DataField="BCNAM" HeaderText="BCNAM" SortExpression="BCNAM" />
|
||||
<asp:BoundField AccessibleHeaderText="BCUS.BCIDN"
|
||||
DataField="BCIDN" HeaderText="BCIDN" SortExpression="BCIDN" />
|
||||
<asp:BoundField AccessibleHeaderText="BCUS.BCCNT"
|
||||
DataField="BCCNT" HeaderText="BCCNT" SortExpression="BCCNT" />
|
||||
<asp:BoundField AccessibleHeaderText="BCUS.BCTEL"
|
||||
DataField="BCTEL" HeaderText="BCTEL" SortExpression="BCTEL" />
|
||||
<asp:BoundField AccessibleHeaderText="BCUS.BCFAX"
|
||||
DataField="BCFAX" HeaderText="BCFAX" SortExpression="BCFAX" />
|
||||
<asp:TemplateField AccessibleHeaderText="BCUS.BCADR">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbBCADZ" runat="server" Text='<%# Eval("BCADZ", "{0:c}")%>' />
|
||||
<asp:Label ID="lbBCADC" runat="server" Text='<%# Eval("BCADC", "{0:c}")%>' />
|
||||
<asp:Label ID="lbBCADT" runat="server" Text='<%# Eval("BCADT", "{0:c}")%>' />
|
||||
<asp:Label ID="lbBCADS" runat="server" Text='<%# Eval("BCADS", "{0:c}")%>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager" runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -0,0 +1,343 @@
|
||||
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;
|
||||
|
||||
public partial class forms_customer_fmBcus : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private string _BCNUM = "";
|
||||
private string _BCNAM = "";
|
||||
private string _OLD_BCNUM = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BCUS ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BCNUM";
|
||||
private string _bcusCls = "";
|
||||
private string _bcusZon = "";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
_BCNUM = ViewState["BCNUM"] != null ? ViewState["BCNUM"].ToString() : "";
|
||||
_BCNAM = ViewState["BCNAM"] != null ? ViewState["BCNAM"].ToString() : "";
|
||||
|
||||
//if (IsPostBack)
|
||||
// gvBCUS.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsBCUSForm.ConnectionString = ConnectionString;
|
||||
dsBCUSGrid.ConnectionString = ConnectionString;
|
||||
|
||||
GetGridViewRowColor(gvBCUS);
|
||||
|
||||
switch (MultiView1.ActiveViewIndex)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
Search();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查詢按鈕
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
ViewState["BCNUM"] = txtBCNUM.Text;
|
||||
ViewState["BCNAM"] = txtBCNAM.Text;
|
||||
|
||||
_BCNUM = txtBCNUM.Text;
|
||||
_BCNAM = txtBCNAM.Text;
|
||||
|
||||
|
||||
if (_BCNUM.Length == 0 &&
|
||||
_BCNAM.Length == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = GetString("NOSRHCOND");
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
|
||||
Search();
|
||||
|
||||
gvBCUS.PageIndex = 0;
|
||||
gvBCUS.SelectedIndex = 0;
|
||||
gvBCUS.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
// 取消查詢按鈕
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsBCUSGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBCUSGrid, "BCNUM", _BCNUM, "", true);
|
||||
AddSearch(sql, dsBCUSGrid, "BCNAM", _BCNAM, "", true);
|
||||
sql.Append(order);
|
||||
dsBCUSGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
// dataSource 新增存檔之前
|
||||
protected void dsBCUSForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
e.Command.Parameters["@BCNUM"].Value =
|
||||
WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BCUS", "BCNUM", String.Format("\"{0}{1}\"<9999>", _bcusZon, _bcusCls), " LEN(BCNUM)=6 ");
|
||||
}
|
||||
|
||||
// dataSource 更正存檔之前
|
||||
protected void dsBCUSForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void gvBCUS_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBCUS.SelectedIndex == -1)
|
||||
gvBCUS.SelectedIndex = 0;
|
||||
|
||||
// 返回時,回到之前選擇的那一筆
|
||||
if (ParamList.ContainsKey("BCNUM"))
|
||||
{
|
||||
string bcnum = WDAC.GetStringValue(ParamList["BCNUM"]);
|
||||
|
||||
DataView dv = dsBCUSGrid.Select(new DataSourceSelectArguments()) as DataView;
|
||||
dv.RowFilter = String.Format("BCNUM='{0}'", bcnum);
|
||||
if (dv.Count > 0)
|
||||
{
|
||||
int rowIndex = dv.Table.Rows.IndexOf(dv[0].Row);
|
||||
gvBCUS.PageIndex = (rowIndex / gvBCUS.PageSize);
|
||||
gvBCUS.SelectedIndex = rowIndex - gvBCUS.PageIndex * gvBCUS.PageSize;
|
||||
}
|
||||
|
||||
ParamList.Remove("BCNUM");
|
||||
}
|
||||
|
||||
fvBCUS.DataBind();
|
||||
}
|
||||
|
||||
protected void gvBCUS_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBCUS.SelectedIndex = 0;
|
||||
gvBCUS.DataBind();
|
||||
}
|
||||
|
||||
protected void dsBCUSGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
if (MultiView1.ActiveViewIndex == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = GetString("NODATA");
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
cvMessage.ErrorMessage = GetString("NODATA");
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBCUS_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Search":
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
SetClientFocus(txtBCNUM);
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBCUS.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBCUS_ModeChanged(sender, e);
|
||||
break;
|
||||
case "BPRJ":
|
||||
fvBCUS.DataBind();
|
||||
if (fvBCUS.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBCUS.DataItem as DataRowView;
|
||||
ParamList.Clear();
|
||||
ParamList.Add("BCNUM", rv["BCNUM"]);
|
||||
DoAfterCommand("BPRJ");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBCUS_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBCUS.DataBind();
|
||||
fvBCUS.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBCUS_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBCUS_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBCUS_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (fvBCUS.CurrentMode == FormViewMode.ReadOnly)
|
||||
{
|
||||
gvBCUS.Visible = true;
|
||||
gvBCUS.DataBind();
|
||||
if (gvBCUS.Rows.Count > 0 && gvBCUS.SelectedIndex == -1)
|
||||
{
|
||||
gvBCUS.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
gvBCUS.PageIndex = gvBCUS.PageCount - 1;
|
||||
gvBCUS.DataBind();
|
||||
gvBCUS.SelectedIndex = gvBCUS.Rows.Count - 1;
|
||||
}
|
||||
|
||||
fvBCUS.DataBind();
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (fvBCUS.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
break;
|
||||
}
|
||||
|
||||
gvBCUS.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBCUS_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void fvBCUS_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBCUS.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
SetClientFocus(fvBCUS, "txtBCUS_BCNAM");
|
||||
break;
|
||||
case FormViewMode.Edit:
|
||||
SetClientFocus(fvBCUS, "txtBCUS_BCNAM");
|
||||
break;
|
||||
case FormViewMode.ReadOnly:
|
||||
if (fvBCUS.DataItem != null)
|
||||
ViewState["OLD_BCNUM"] = (fvBCUS.DataItem as DataRowView)["BCNUM"];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void rvBCNUM1_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
// 檢查客戶編號是否重複
|
||||
_OLD_BCNUM = ViewState["OLD_BCNUM"] != null ? ViewState["OLD_BCNUM"].ToString() : "";
|
||||
args.IsValid = true;
|
||||
|
||||
if (args.Value == _OLD_BCNUM)
|
||||
return;
|
||||
|
||||
DbCommand cmd = Query.NewCommand("SELECT COUNT(1) FROM BCUS WHERE BCNUM=@BCNUM");
|
||||
cmd.Parameters.Add(Query.NewParameter("BCNUM", args.Value));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
args.IsValid = (o == null || Convert.ToInt32(o) == 0);
|
||||
}
|
||||
|
||||
protected void gvBCUS_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(gvBCUS, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBCUS_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in gvBCUS.Rows)
|
||||
SetGridViewMouseBehavier(gvBCUS, row);
|
||||
}
|
||||
|
||||
protected void cvBCIDN_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
// 檢查統一編號是否正確
|
||||
args.IsValid = WGuard1.WCheckUbiNumber(args.Value) == 0;
|
||||
}
|
||||
|
||||
protected void cvBCMQT_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
// 檢查員工人數應為正數
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && int.TryParse(args.Value, out i) && i > 0;
|
||||
}
|
||||
|
||||
protected void fvBCUS_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
// 檢查是否有專案資料
|
||||
DbCommand cmd = Query.NewCommand("SELECT COUNT(1) FROM BPRJ WHERE BPNUM=@BPNUM");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPNUM", e.Keys["BCNUM"]));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o != null && Convert.ToInt32(o) > 0)
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage = "此客戶有專案資料,不可刪除";
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBCUS_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
_bcusCls = (fvBCUS.FindControl("ddlClass") as DropDownList).SelectedValue;
|
||||
_bcusZon = (fvBCUS.FindControl("ddlZone") as DropDownList).SelectedValue;
|
||||
}
|
||||
|
||||
// 查詢畫面的新增按鈕
|
||||
protected void btnInsert_Click(object sender, EventArgs e)
|
||||
{
|
||||
gvBCUS.Visible = false;
|
||||
fvBCUS.ChangeMode(FormViewMode.Insert);
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,613 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBpaa.ascx.cs" Inherits="forms_customer_fmBpaa" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="FMBPAA.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="1">
|
||||
<asp:View ID="SearchView" runat="server">
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
TextMessageId="SEARCH" CssClass="button"
|
||||
OnClick="btnSearch_Click" Text="查詢" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
TextMessageId="CANCEL" CssClass="button"
|
||||
OnClick="btnCancel_Click" Text="取消" />
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 100px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 110px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPNUM" runat="server" TextMessageId="BCUS.BCNUM+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPNUM" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPPNM" runat="server" TextMessageId="BPRJ.BPPNM+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPPNM" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPPYN" runat="server" TextMessageId="BPAA.BPPYN+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPPYN" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPPYM" runat="server" TextMessageId="BPAA.BPPYM+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPPYM" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPYER" runat="server" TextMessageId="BPAA.BPYER+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPYER" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<cc1:WLabel ID="lbMessage" runat="server"
|
||||
EnableViewState="False" ForeColor="Red"
|
||||
TextMessageId="" Visible="False"></cc1:WLabel>
|
||||
</asp:View>
|
||||
<asp:View ID="EditView" runat="server">
|
||||
<asp:SqlDataSource ID="dsBPAAGrid" runat="server"
|
||||
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM BPAA WHERE 1=0"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" OnSelected="dsBPAAGrid_Selected"></asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPAAForm" runat="server"
|
||||
InsertCommand="INSERT INTO BPAA
|
||||
(BPPNM, BPYER, BPPYN, BPPYM, BPBGT, BPFED, BPSAL, BPOTT, BPOTD, BPALT, APPNO, TRDAT, TRMOD,
|
||||
TRUSR)
|
||||
VALUES
|
||||
(@BPPNM, @BPYER, @BPPYN, @BPPYM, @BPBGT, @BPFED, @BPSAL, @BPOTT, @BPOTD, @BPALT, 1, GETDATE(),
|
||||
'INSERT', @TRUSR)"
|
||||
UpdateCommand="UPDATE BPAA SET
|
||||
BPPYM = @BPPYM,
|
||||
BPBGT = @BPBGT,
|
||||
BPFED = @BPFED,
|
||||
BPSAL = @BPSAL,
|
||||
BPOTT = @BPOTT,
|
||||
BPOTD = @BPOTD,
|
||||
BPALT = @BPALT,
|
||||
APPNO = APPNO + 1,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'UPDATE',
|
||||
TRUSR = @TRUSR
|
||||
WHERE BPPNM = @OLD_BPPNM
|
||||
AND BPYER = @OLD_BPYER
|
||||
AND APPNO = @OLD_APPNO"
|
||||
DeleteCommand="DELETE FROM BPAA WHERE BPPNM = @OLD_BPPNM AND BPYER = @OLD_BPYER AND APPNO = @OLD_APPNO"
|
||||
ConflictDetection="CompareAllValues" OldValuesParameterFormatString="OLD_{0}"
|
||||
OnInserting="dsBPAAForm_Inserting" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM BPAA WHERE BPPNM=@BPPNM AND BPYER=@BPYER"
|
||||
OnUpdated="dsBPAAForm_Updated" OnUpdating="dsBPAAForm_Updating">
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BPPNM" />
|
||||
<asp:Parameter Name="BPYER" />
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
<asp:Parameter Name="BPPYM" />
|
||||
<asp:Parameter Name="BPBGT" />
|
||||
<asp:Parameter Name="BPFED" />
|
||||
<asp:Parameter Name="BPSAL" />
|
||||
<asp:Parameter Name="BPOTT" />
|
||||
<asp:Parameter Name="BPOTD" />
|
||||
<asp:Parameter Name="BPALT" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR"
|
||||
SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BPPYM" />
|
||||
<asp:Parameter Name="BPBGT" />
|
||||
<asp:Parameter Name="BPFED" />
|
||||
<asp:Parameter Name="BPSAL" />
|
||||
<asp:Parameter Name="BPOTT" />
|
||||
<asp:Parameter Name="BPOTD" />
|
||||
<asp:Parameter Name="BPALT" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR"
|
||||
SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_BPPNM" />
|
||||
<asp:Parameter Name="OLD_BPYER" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BPPNM" />
|
||||
<asp:Parameter Name="OLD_BPYER" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPAA"
|
||||
Name="BPPNM" PropertyName="SelectedDataKey["BPPNM"]" />
|
||||
<asp:ControlParameter ControlID="gvBPAA"
|
||||
Name="BPYER" PropertyName="SelectedDataKey["BPYER"]" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="fvBPAA" runat="server"
|
||||
OnItemCommand="fvBPAA_ItemCommand" DataSourceID="dsBPAAForm"
|
||||
OnItemCreated="fvBPAA_ItemCreated" OnDataBound="fvBPAA_DataBound"
|
||||
OnItemDeleted="fvBPAA_ItemDeleted" OnItemInserted="fvBPAA_ItemInserted"
|
||||
OnItemUpdated="fvBPAA_ItemUpdated" OnModeChanged="fvBPAA_ModeChanged"
|
||||
OnModeChanging="fvBPAA_ModeChanging" OnItemDeleting="fvBPAA_ItemDeleting"
|
||||
OnItemUpdating="fvBPAA_ItemUpdating" OnItemInserting="fvBPAA_ItemInserting"
|
||||
DataKeyNames="BPPNM,BPYER,APPNO" OnDataBinding="fvBPAA_DataBinding">
|
||||
<ItemTemplate>
|
||||
<table cellpadding="0" cellspacing="0" width="860">
|
||||
<tr>
|
||||
<td>
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" CommandName="New" CssClass="button"
|
||||
Text="I.新增" TextMessageId="I.+INSERT" />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
AccessKey="M" CommandName="Edit" CssClass="button"
|
||||
Text="M.更正" TextMessageId="M.+UPDATE" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
AccessKey="T" CommandName="Delete" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmDelete);"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE" />
|
||||
</td>
|
||||
<td>
|
||||
<cc1:WButton ID="btnBPAB" runat="server"
|
||||
CommandName="Detail" CssClass="button"
|
||||
Text="B.科目設定" AccessKey="B" />
|
||||
<cc1:WButton ID="btnBPJA" runat="server"
|
||||
AccessKey="Z" CommandName="BPJA" CssClass="button"
|
||||
Text="Z.年度職稱" />
|
||||
<cc1:WButton ID="WButton2" runat="server"
|
||||
CommandName="SubjectAssign" CssClass="button"
|
||||
Text="S.科目對應" AccessKey="S" /></td>
|
||||
<td align="right">
|
||||
<cc1:WButton ID="WButton1" runat="server"
|
||||
CausesValidation="False" CommandName="Return"
|
||||
CssClass="button" Text="R.返回客戶專案" AccessKey="R"
|
||||
Width="105px" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPAA_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPNM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPNM", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPRJ", Eval("BPPNM", "{0:c}"), "BPPME", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPYERLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPYER+:">年度:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAA_BPYER" runat="server"
|
||||
Text='<%# Bind("BPYER", "{0}") %>' CssClass="textInput"
|
||||
TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPBGTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPBGT+:">年度預算:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPBGT" runat="server"
|
||||
Text='<%# Bind("BPBGT", "{0:###,###,###,###,##0}") %>'
|
||||
CssClass="textInput"></cc1:WLabel></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0}") %>'
|
||||
TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="5">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYM", "{0}") %>'></cc1:WLabel></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPFEDLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPFED+:">差勤結算日:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPAA_BPFED" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPFED") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPSALLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPSAL+:">破月薪資計算方式:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAA_BPSAL" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCLS", Eval("BPSAL", "{0:c}"), "BSSCR", "BSPAR=`BPAAMSD`") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel4" runat="server"
|
||||
CssClass="controlLabel">時數計算方式:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="Label1" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCLS", Eval("BPOTT", "{0:c}"), "BSSCR", "BSPAR=`BPAAOTT`") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel5" runat="server"
|
||||
CssClass="controlLabel">加班補休期限(月):</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="Label2" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPOTD") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel6" runat="server"
|
||||
CssClass="controlLabel">年初特休計算方式:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="2">
|
||||
<asp:Label ID="lbBPAA_BPALT" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCLS", Eval("BPALT", "{0:c}"), "BSSCR", "BSPAR=`BPAAALT`") %>'></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</ItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Insert" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" /> <cc1:WButton
|
||||
ID="btnCancel" runat="server" AccessKey="C"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:CustomValidator ID="cvBPYER" runat="server"
|
||||
ErrorMessage="CustomValidator" ControlToValidate="txtBPAA_BPYER"
|
||||
OnServerValidate="CustomValidator1_ServerValidate"
|
||||
Display="None" SetFocusOnError="True"></asp:CustomValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPYER"
|
||||
runat="server" ControlToValidate="txtBPAA_BPYER"
|
||||
Display="None" ErrorMessage="請輸入年度" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPPYM"
|
||||
runat="server" ControlToValidate="txtBPAA_BPPYM"
|
||||
Display="None" ErrorMessage="請輸入專案年度名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RangeValidator ID="rvBPBGT" runat="server"
|
||||
ControlToValidate="txtBPAA_BPBGT" Display="None"
|
||||
ErrorMessage="預算請輸入大於 0 的數字" MaximumValue="999999999999999"
|
||||
MinimumValue="1"></asp:RangeValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPBGT"
|
||||
runat="server" ControlToValidate="txtBPAA_BPBGT"
|
||||
Display="None" ErrorMessage="請輸入年度預算"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPFED" runat="server"
|
||||
ControlToValidate="txtBPAA_BPFED" Display="None"
|
||||
ErrorMessage="差勤結算日請輸入 1-31 的數字" OnServerValidate="cvBPFED_ServerValidate"
|
||||
SetFocusOnError="True" ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:RangeValidator ID="rvBPOTD" runat="server" ControlToValidate="txtBPAA_BPOTD" Display="None" ErrorMessage="加班補休期限請輸入 1-99 的數字" MaximumValue="99" MinimumValue="1" Type="Integer"></asp:RangeValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAA_BPPNM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPNM", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAA_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPRJ", _BPPNM, "BPPME", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAA_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAA_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPYERLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPYER+:">年度:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAA_BPYER" MaxLength="3"
|
||||
runat="server" Text='<%# Bind("BPYER", "{0}") %>'
|
||||
CssClass="textInput1" Columns="3"></asp:TextBox>
|
||||
<cc1:WLabel ID="WLabel2" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">(民國年)</cc1:WLabel></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPBGTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPBGT+:">年度預算:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAA_BPBGT" runat="server"
|
||||
CssClass="textInput" MaxLength="10"
|
||||
Text='<%# Bind("BPBGT") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYN" runat="server"
|
||||
CssClass="textInput" Text="(系統自動編號)" TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="5">
|
||||
<asp:TextBox ID="txtBPAA_BPPYM" runat="server"
|
||||
Text='<%# Bind("BPPYM", "{0}") %>' CssClass="textInput"
|
||||
MaxLength="50"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPFEDLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPFED+:">差勤結算日:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAA_BPFED" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPFED") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPSALLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPSAL+:">破月薪資計算方式:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPSAL" runat="server"
|
||||
CssClass="textInput" DataTextField="BSSCR"
|
||||
DataValueField="BSCLS" SelectedValue='<%# Bind("BPSAL", "{0:c}") %>'
|
||||
SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BPAAMSD' ORDER BY BSCLS">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel4" runat="server"
|
||||
CssClass="controlLabel">時數計算方式:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPOTT" runat="server"
|
||||
CssClass="textInput" DataTextField="BSSCR"
|
||||
DataValueField="BSCLS" SelectedValue='<%# Bind("BPOTT", "{0:c}") %>'
|
||||
SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BPAAOTT' ORDER BY BSCLS">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel5" runat="server"
|
||||
CssClass="controlLabel">加班補休期限(月):</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAA_BPOTD" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPOTD") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel6" runat="server"
|
||||
CssClass="controlLabel">年初特休計算方式:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="2">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPALT" runat="server"
|
||||
CssClass="textInput" DataTextField="BSSCR"
|
||||
DataValueField="BSCLS" SelectedValue='<%# Bind("BPALT", "{0:c}") %>'
|
||||
SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BPAAALT' ORDER BY BSCLS">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Update" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" /> <cc1:WButton
|
||||
ID="btnCancel" runat="server" AccessKey="C"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPPYM"
|
||||
runat="server" ControlToValidate="txtBPAA_BPPYM"
|
||||
Display="None" ErrorMessage="請輸入專案年度名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RangeValidator ID="rvBPBGT" runat="server"
|
||||
ControlToValidate="txtBPAA_BPBGT" Display="None"
|
||||
ErrorMessage="預算請輸入大於 0 的數字" MaximumValue="999999999999999"
|
||||
MinimumValue="1"></asp:RangeValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPBGT"
|
||||
runat="server" ControlToValidate="txtBPAA_BPBGT"
|
||||
Display="None" ErrorMessage="請輸入年度預算"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPFED" runat="server"
|
||||
ControlToValidate="txtBPAA_BPFED" Display="None"
|
||||
ErrorMessage="差勤結算日請輸入 1-31 的數字" OnServerValidate="cvBPFED_ServerValidate"
|
||||
SetFocusOnError="True" ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:RangeValidator ID="rvBPOTD" runat="server" ControlToValidate="txtBPAA_BPOTD" Display="None" ErrorMessage="加班補休期限請輸入 1-99 的數字" MaximumValue="99" MinimumValue="1" Type="Integer"></asp:RangeValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAA_BPPNM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPNM", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAA_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPRJ", Eval("BPPNM", "{0:c}"), "BPPME", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAA_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAA_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPYERLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPYER+:">年度:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAA_BPYER" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPYER", "{0}") %>'
|
||||
TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="right" class="dataEditCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPBGTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPBGT+:">年度預算:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPAA_BPBGT" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPBGT") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0}") %>'
|
||||
TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="right" class="dataEditCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="5">
|
||||
<asp:TextBox ID="txtBPAA_BPPYM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYM", "{0}") %>'
|
||||
MaxLength="50"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPFEDLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPFED+:">差勤結算日:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPAA_BPFED" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPFED") %>'></asp:TextBox></td>
|
||||
<td align="right" class="dataEditCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPSALLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPSAL+:">破月薪資計算方式:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPSAL" runat="server"
|
||||
CssClass="textInput" DataTextField="BSSCR"
|
||||
DataValueField="BSCLS" SelectedValue='<%# Bind("BPSAL", "{0:c}") %>'
|
||||
SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BPAAMSD' ORDER BY BSCLS">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel4" runat="server"
|
||||
CssClass="controlLabel">時數計算方式:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPOTT" runat="server"
|
||||
CssClass="textInput" DataTextField="BSSCR"
|
||||
DataValueField="BSCLS" SelectedValue='<%# Bind("BPOTT", "{0:c}") %>'
|
||||
SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BPAAOTT' ORDER BY BSCLS">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel5" runat="server"
|
||||
CssClass="controlLabel">加班補休期限(月):</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAA_BPOTD" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPOTD") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel6" runat="server"
|
||||
CssClass="controlLabel">年初特休計算方式:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="2">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPALT" runat="server"
|
||||
CssClass="textInput" DataTextField="BSSCR"
|
||||
DataValueField="BSCLS" SelectedValue='<%# Bind("BPALT", "{0:c}") %>'
|
||||
SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BPAAALT' ORDER BY BSCLS">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPAA_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
</EditItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="gvBPAA" runat="server"
|
||||
DataSourceID="dsBPAAGrid" DataKeyNames="BPPNM,BPYER"
|
||||
AutoGenerateColumns="False" AllowPaging="True"
|
||||
OnDataBound="gvBPAA_DataBound" OnPageIndexChanged="gvBPAA_PageIndexChanged"
|
||||
OnRowDataBound="gvBPAA_RowDataBound" OnSelectedIndexChanged="gvBPAA_SelectedIndexChanged">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText="" ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField AccessibleHeaderText="BPRJ.BPPNM"
|
||||
DataField="BPPNM" HeaderText="BPPNM" ReadOnly="True"
|
||||
SortExpression="BPPNM" />
|
||||
<asp:BoundField AccessibleHeaderText="BPAA.BPYER"
|
||||
DataField="BPYER" HeaderText="BPYER" ReadOnly="True"
|
||||
SortExpression="BPYER" />
|
||||
<asp:BoundField AccessibleHeaderText="BPAA.BPBGT"
|
||||
DataField="BPBGT" HeaderText="BPBGT" SortExpression="BPBGT"
|
||||
HtmlEncode="False" DataFormatString="{0:###,###,###,###,##0}" />
|
||||
<asp:BoundField AccessibleHeaderText="BPAA.BPPYN"
|
||||
DataField="BPPYN" HeaderText="BPPYN" SortExpression="BPPYN" />
|
||||
<asp:BoundField AccessibleHeaderText="BPAA.BPPYM"
|
||||
DataField="BPPYM" HeaderText="BPPYM" SortExpression="BPPYM" />
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager" runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
<br />
|
||||
@@ -0,0 +1,457 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 專案年度接單處理
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBpaa : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPNUM = "";
|
||||
protected string _BPPNM = "";
|
||||
private string _BPYER = "";
|
||||
private string _BPPYN = "";
|
||||
private string _BPPYM = "";
|
||||
//private int _OLD_BPYER = 0;
|
||||
//private string _OLD_BPPYN = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BPAA ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BPPNM, BPYER";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//if (IsPostBack)
|
||||
// gvBPAA.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsBPAAForm.ConnectionString = ConnectionString;
|
||||
dsBPAAGrid.ConnectionString = ConnectionString;
|
||||
|
||||
//_BPPNM = ViewState["BPPNM"] != null ? ViewState["BPPNM"].ToString() : "";
|
||||
//_BPYER = ViewState["BPYER"] != null ? ViewState["BPYER"].ToString() : "";
|
||||
//_BPPYN = ViewState["BPPYN"] != null ? ViewState["BPPYN"].ToString() : "";
|
||||
//_BPPYM = ViewState["BPPYM"] != null ? ViewState["BPPYM"].ToString() : "";
|
||||
|
||||
if (_BPNUM == "")
|
||||
_BPNUM = GetStringParam("BPNUM");
|
||||
if (_BPPNM == "")
|
||||
_BPPNM = GetStringParam("BPPNM");
|
||||
|
||||
GetGridViewRowColor(gvBPAA);
|
||||
|
||||
switch (MultiView1.ActiveViewIndex)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
SetClientFocus(txtBPNUM);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
Search();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查詢按鈕
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
ViewState["BPPNM"] = txtBPPNM.Text;
|
||||
ViewState["BPYER"] = txtBPYER.Text;
|
||||
ViewState["BPPYN"] = txtBPPYN.Text;
|
||||
ViewState["BPPYM"] = txtBPPYM.Text;
|
||||
|
||||
_BPPNM = txtBPPNM.Text;
|
||||
_BPYER = txtBPYER.Text;
|
||||
_BPPYN = txtBPPYN.Text;
|
||||
_BPPYM = txtBPPYM.Text;
|
||||
|
||||
if (_BPPNM.Length == 0 &&
|
||||
_BPYER.Length == 0 &&
|
||||
_BPPYN.Length == 0 &&
|
||||
_BPPYM.Length == 0)
|
||||
{
|
||||
lbMessage.Text = GetString("NOSRHCOND");
|
||||
lbMessage.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
|
||||
Search();
|
||||
|
||||
gvBPAA.PageIndex = 0;
|
||||
gvBPAA.SelectedIndex = 0;
|
||||
gvBPAA.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
// 取消查詢按鈕
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsBPAAGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPAAGrid, "BPPNM", _BPPNM, "", true);
|
||||
AddSearch(sql, dsBPAAGrid, "BPYER", _BPYER, "", true);
|
||||
AddSearch(sql, dsBPAAGrid, "BPPYN", _BPPYN, "", true);
|
||||
AddSearch(sql, dsBPAAGrid, "BPPYM", _BPPYM, "", true);
|
||||
sql.Append(order);
|
||||
dsBPAAGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
private void CalcFields(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
Decimal bpbgt;
|
||||
if (Decimal.TryParse(values["BPBGT"].ToString(), out bpbgt))
|
||||
values["BPBGT"] = bpbgt;
|
||||
else
|
||||
values["BPBGT"] = 0;
|
||||
}
|
||||
|
||||
protected void dsBPAAForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void dsBPAAForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void dsBPAAForm_Updated(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void gvBPAA_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPAA.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAA.SelectedIndex == -1)
|
||||
gvBPAA.SelectedIndex = 0;
|
||||
|
||||
// 返回時,回到之前選擇的那一筆
|
||||
if (ParamList.ContainsKey("BPPNM") && ParamList.ContainsKey("BPYER"))
|
||||
{
|
||||
DataView dv = dsBPAAGrid.Select(new DataSourceSelectArguments()) as DataView;
|
||||
dv.RowFilter = String.Format("BPPNM='{0}' and BPYER={1}", ParamList["BPPNM"], ParamList["BPYER"]);
|
||||
if (dv.Count > 0)
|
||||
{
|
||||
int rowIndex = dv.Table.Rows.IndexOf(dv[0].Row);
|
||||
gvBPAA.PageIndex = (rowIndex / gvBPAA.PageSize);
|
||||
gvBPAA.SelectedIndex = rowIndex - gvBPAA.PageIndex * gvBPAA.PageSize;
|
||||
}
|
||||
|
||||
// ParamList.Remove("BPPNM");
|
||||
ParamList.Remove("BPYER");
|
||||
}
|
||||
|
||||
fvBPAA.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAA_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPAA.SelectedIndex = 0;
|
||||
gvBPAA.DataBind();
|
||||
}
|
||||
|
||||
protected void dsBPAAGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
fvBPAA.ChangeMode(FormViewMode.Insert);
|
||||
fvBPAA_ModeChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Insert":
|
||||
break;
|
||||
case "Edit":
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPAA.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPAA_ModeChanged(sender, e);
|
||||
if (gvBPAA.Rows.Count == 0)
|
||||
DoAfterCommand("BPRJ");
|
||||
break;
|
||||
case "Return":
|
||||
DoAfterCommand("BPRJ");
|
||||
break;
|
||||
case "Detail":
|
||||
fvBPAA.DataBind();
|
||||
if (fvBPAA.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPAA.DataItem as DataRowView;
|
||||
ParamList["BPNUM"] = _BPNUM;
|
||||
ParamList["BPPNM"] = rv["BPPNM"];
|
||||
ParamList["BPPYN"] = rv["BPPYN"];
|
||||
ParamList["BPYER"] = rv["BPYER"].ToString();
|
||||
DoAfterCommand("BPAB");
|
||||
}
|
||||
break;
|
||||
case "BPJA":
|
||||
fvBPAA.DataBind();
|
||||
|
||||
if (fvBPAA.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPAA.DataItem as DataRowView;
|
||||
//ParamList.Clear();
|
||||
ParamList["BPNUM"] = _BPNUM;
|
||||
ParamList["BPPNM"] = rv["BPPNM"];
|
||||
ParamList["BPPYN"] = rv["BPPYN"];
|
||||
ParamList["BPYER"] = rv["BPYER"].ToString();
|
||||
DoAfterCommand("BPJA");
|
||||
}
|
||||
break;
|
||||
case "RASN":
|
||||
fvBPAA.DataBind();
|
||||
|
||||
if (fvBPAA.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPAA.DataItem as DataRowView;
|
||||
//ParamList.Clear();
|
||||
ParamList["BPNUM"] = _BPNUM;
|
||||
ParamList["BPPNM"] = rv["BPPNM"];
|
||||
ParamList["BPPYN"] = rv["BPPYN"];
|
||||
ParamList["BPYER"] = rv["BPYER"].ToString();
|
||||
//ParamList.Add("RACNM", _BPNUM);
|
||||
//ParamList.Add("RASNM", rv["BPPYN"]);
|
||||
DoAfterCommand("RASN");
|
||||
}
|
||||
break;
|
||||
case "SubjectAssign":
|
||||
fvBPAA.DataBind();
|
||||
if (fvBPAA.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPAA.DataItem as DataRowView;
|
||||
//ParamList.Clear();
|
||||
ParamList["BPNUM"] = _BPNUM;
|
||||
ParamList["BPPNM"] = rv["BPPNM"];
|
||||
ParamList["BPPYN"] = rv["BPPYN"];
|
||||
ParamList["BPYER"] = rv["BPYER"].ToString();
|
||||
DoAfterCommand("BPAASUB");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPAA.DataBind();
|
||||
if (gvBPAA.SelectedIndex > gvBPAA.Rows.Count - 1)
|
||||
{
|
||||
gvBPAA.SelectedIndex = gvBPAA.Rows.Count - 1;
|
||||
gvBPAA.DataBind();
|
||||
}
|
||||
fvBPAA.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAA_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.ReadOnly:
|
||||
gvBPAA.Visible = true;
|
||||
gvBPAA.DataBind();
|
||||
if (gvBPAA.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAA.SelectedIndex == -1)
|
||||
{
|
||||
gvBPAA.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
gvBPAA.PageIndex = gvBPAA.PageCount - 1;
|
||||
gvBPAA.DataBind();
|
||||
gvBPAA.SelectedIndex = gvBPAA.Rows.Count - 1;
|
||||
}
|
||||
gvBPAA.DataBind();
|
||||
fvBPAA.DataBind();
|
||||
}
|
||||
break;
|
||||
|
||||
case FormViewMode.Edit:
|
||||
gvBPAA.Visible = false;
|
||||
break;
|
||||
|
||||
case FormViewMode.Insert:
|
||||
gvBPAA.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAA_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void fvBPAA_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
SetClientFocus(fvBPAA, "txtBPAA_BPBGT");
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
SetClientFocus(fvBPAA, "txtBPAA_BPYER");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
CustomValidator v = source as CustomValidator;
|
||||
|
||||
// 檢查年度是否為數字
|
||||
int bpyer;
|
||||
|
||||
if (!int.TryParse((fvBPAA.FindControl("txtBPAA_BPYER") as ITextControl).Text, out bpyer))
|
||||
{
|
||||
args.IsValid = false;
|
||||
v.ErrorMessage = "年度請輸入民國年";
|
||||
return;
|
||||
}
|
||||
|
||||
switch (fvBPAA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
DbCommand cmd = Query.NewCommand("SELECT COUNT(1) FROM BPAA WHERE BPPNM=@BPPNM AND BPYER=@BPYER");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPNM", _BPPNM));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPYER", bpyer));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
// 重複
|
||||
if (o != null && Convert.ToInt32(o) != 0)
|
||||
{
|
||||
args.IsValid = false;
|
||||
v.ErrorMessage = "本年度已開帳!請取消新增之後,用更正來修改預算及年度專案名稱";
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
case FormViewMode.Edit:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemCreated(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
(fvBPAA.FindControl("lbBPAA_BPPNM") as ITextControl).Text = _BPPNM;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAA_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(gvBPAA, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPAA_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in gvBPAA.Rows)
|
||||
SetGridViewMouseBehavier(gvBPAA, row);
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
// 1. 是否已有科目設定
|
||||
DbCommand cmd1 = Query.NewCommand("SELECT COUNT(1) FROM BPAB WHERE BPPYN=@BPPYN");
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
||||
int i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
||||
if (i > 0)
|
||||
{
|
||||
cvMessage.ErrorMessage += "本年度已有科目設定。不可刪除!<br/>";
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
|
||||
// 2. 是否已有職稱設定
|
||||
cmd1.CommandText = "SELECT COUNT(1) FROM BPJA WHERE BPPYN=@BPPYN";
|
||||
cmd1.Parameters.Clear();
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
||||
i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
||||
if (i > 0)
|
||||
{
|
||||
cvMessage.ErrorMessage += "本年度已有職稱設定。不可刪除!<br/>";
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
e.Cancel = !cvMessage.IsValid;
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
CalcFields(e.NewValues);
|
||||
// 記住連鎖更正之舊值
|
||||
//_OLD_BPPYN = e.OldValues["BPPYN"].ToString();
|
||||
//e.NewValues["BPPYN"] = String.Format("{0:000}{1}", Convert.ToInt32(e.NewValues["BPYER"]), e.NewValues["BPPNM"]);
|
||||
}
|
||||
|
||||
protected void fvBPAA_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
e.Values["BPPYN"] = String.Format("{0:000}{1}", Convert.ToInt32(e.Values["BPYER"]), e.Values["BPPNM"]);
|
||||
CalcFields(e.Values);
|
||||
}
|
||||
|
||||
protected void cvBPFED_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i >= 1 && i <= 31;
|
||||
}
|
||||
|
||||
protected void fvBPAA_DataBinding(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,356 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBpaaSub.ascx.cs"
|
||||
Inherits="forms_customer_fmBpaaSub" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server"
|
||||
CssClass="pageTitle" TextMessageId="FMBPAASUB.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage"
|
||||
runat="server" Display="None"></asp:CustomValidator>
|
||||
<asp:SqlDataSource ID="dsBPAA"
|
||||
runat="server" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT TRDAT, TRMOD, TRUSR, BPPNM, BPYER, BPPYN, BPPYM, BPS01, BPS02, BPS03, BPS04, APPNO, BPS05, BPS06, BPS07, BPS08, BPS09, BPS10, BPS11, BPS12, BPS13, BPS14, BPS15, BPS16, BPS17, BPS18, BPS19, BPS20, BPS21, BPS22, BPS23, BPS24, BPS25, BPS26, BPS27, BPS28, BPS29, BPS30 FROM BPAA WHERE (BPPNM = @BPPNM) AND (BPYER = @BPYER)"
|
||||
UpdateCommand="UPDATE BPAA SET TRDAT = GETDATE(), TRMOD = 'UPDATE', TRUSR = @TRUSR, APPNO = APPNO + 1, BPS01 = @BPS01, BPS02 = @BPS02, BPS03 = @BPS03, BPS04 = @BPS04, BPS05 = @BPS05, BPS06 = @BPS06, BPS07 = @BPS07, BPS08 = @BPS08, BPS09 = @BPS09, BPS10 = @BPS10, BPS11 = @BPS11, BPS12 = @BPS12, BPS13 = @BPS13, BPS14 = @BPS14, BPS15 = @BPS15, BPS16 = @BPS16, BPS17 = @BPS17, BPS18 = @BPS18, BPS19 = @BPS19, BPS20 = @BPS20, BPS21 = @BPS21, BPS22 = @BPS22, BPS23 = @BPS23, BPS24 = @BPS24, BPS25 = @BPS25, BPS26 = @BPS26, BPS27 = @BPS27, BPS28 = @BPS28, BPS29 = @BPS29, BPS30 = @BPS30 WHERE (BPPNM = @OLD_BPPNM) AND (BPYER = @OLD_BPYER) AND (APPNO = @OLD_APPNO)"
|
||||
ConflictDetection="CompareAllValues"
|
||||
OldValuesParameterFormatString="OLD_{0}">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="BPPNM" Type="String" />
|
||||
<asp:Parameter Name="BPYER" Type="Int32" />
|
||||
</SelectParameters>
|
||||
<UpdateParameters>
|
||||
<asp:SessionParameter Name="TRUSR"
|
||||
SessionField="W_CUSR" Type="String" />
|
||||
<asp:Parameter Name="BPS01" Type="String" />
|
||||
<asp:Parameter Name="BPS02" Type="String" />
|
||||
<asp:Parameter Name="BPS03" Type="String" />
|
||||
<asp:Parameter Name="BPS04" Type="String" />
|
||||
<asp:Parameter Name="BPS05" Type="String" />
|
||||
<asp:Parameter Name="BPS06" Type="String" />
|
||||
<asp:Parameter Name="BPS07" Type="String" />
|
||||
<asp:Parameter Name="BPS08" Type="String" />
|
||||
<asp:Parameter Name="BPS09" Type="String" />
|
||||
<asp:Parameter Name="BPS10" Type="String" />
|
||||
<asp:Parameter Name="BPS11" Type="String" />
|
||||
<asp:Parameter Name="BPS12" Type="String" />
|
||||
<asp:Parameter Name="BPS13" Type="String" />
|
||||
<asp:Parameter Name="BPS14" Type="String" />
|
||||
<asp:Parameter Name="BPS15" Type="String" />
|
||||
<asp:Parameter Name="BPS16" Type="String" />
|
||||
<asp:Parameter Name="BPS17" Type="String" />
|
||||
<asp:Parameter Name="BPS18" Type="String" />
|
||||
<asp:Parameter Name="BPS19" Type="String" />
|
||||
<asp:Parameter Name="BPS20" Type="String" />
|
||||
<asp:Parameter Name="BPS21" Type="String" />
|
||||
<asp:Parameter Name="BPS22" Type="String" />
|
||||
<asp:Parameter Name="BPS23" Type="String" />
|
||||
<asp:Parameter Name="BPS24" Type="String" />
|
||||
<asp:Parameter Name="BPS25" Type="String" />
|
||||
<asp:Parameter Name="BPS26" Type="String" />
|
||||
<asp:Parameter Name="BPS27" Type="String" />
|
||||
<asp:Parameter Name="BPS28" Type="String" />
|
||||
<asp:Parameter Name="BPS29" Type="String" />
|
||||
<asp:Parameter Name="BPS30" Type="String" />
|
||||
<asp:Parameter Name="OLD_BPPNM"
|
||||
Type="String" />
|
||||
<asp:Parameter Name="OLD_BPYER"
|
||||
Type="Int32" />
|
||||
<asp:Parameter Name="OLD_APPNO"
|
||||
Type="Int32" />
|
||||
</UpdateParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPAB"
|
||||
runat="server" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT '' BPACC, '' BPAME UNION SELECT BPACC, BPACC + ' ' + BPAME AS BPAME FROM BPAB WHERE (BPPYN = @BPPYN) AND (SUBSTRING(BPACC, 5, 2) <> '00') ORDER BY BPACC">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource><asp:SqlDataSource ID="dsBPABBig"
|
||||
runat="server" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT '' BPACC, '' BPAME UNION SELECT BPACC, BPACC + ' ' + BPAME AS BPAME FROM BPAB WHERE (BPPYN = @BPPYN) AND (SUBSTRING(BPACC, 3, 4) = '0000') ORDER BY BPACC">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPABSmall"
|
||||
runat="server" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT '' BPACC, '' BPAME UNION SELECT BPACC, BPACC + ' ' + BPAME AS BPAME FROM BPAB WHERE (BPPYN = @BPPYN) AND (SUBSTRING(BPACC, 3, 2) <> '00') AND (SUBSTRING(BPACC, 5, 2) = '00') ORDER BY BPACC">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="BPAAForm" runat="server"
|
||||
DataKeyNames="BPPNM,BPYER" DataSourceID="dsBPAA"
|
||||
DefaultMode="Edit" OnItemCommand="BPAAForm_ItemCommand"
|
||||
OnItemUpdated="BPAAForm_ItemUpdated">
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
CommandName="Update" CssClass="button"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" />
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 150px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 90px;
|
||||
height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 500px;
|
||||
height: 0px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPNMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPPNM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPNM", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" class="dataEditCell"
|
||||
colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPRJ", Eval("BPPNM", "{0:c}"), "BPPME", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPYERLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPYER+:">年度:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPYER" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPYER", "{0}") %>'
|
||||
TextMessageId=""></cc1:WLabel></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0}") %>'
|
||||
TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="right" class="dataEditCell"
|
||||
colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPPYM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYM", "{0}") %>'></cc1:WLabel></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 180px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 270px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 180px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 270px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="2"
|
||||
rowspan="" style="border-bottom: black 1px solid;
|
||||
height: 50px" valign="bottom">
|
||||
<asp:Label ID="Label1" runat="server"
|
||||
Font-Bold="True" ForeColor="Blue"
|
||||
Text="由「薪資計算匯總」計算的科目"></asp:Label></td>
|
||||
<td align="center" colspan="2"
|
||||
rowspan="" style="border-bottom: black 1px solid;
|
||||
height: 50px" valign="bottom">
|
||||
<asp:Label ID="Label2" runat="server"
|
||||
Font-Bold="True" ForeColor="Blue"
|
||||
Text="由「輸入總表項目」輸入的科目"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS01+:">BPAA.BPS01:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS01"
|
||||
runat="server" SelectedValue='<%# Bind("BPS01", "{0:c}") %>'
|
||||
CssClass="textInput" DataTextField="BPAME"
|
||||
DataValueField="BPACC" DataSourceID="dsBPAB">
|
||||
</cc1:WDropDownList></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel2" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPS15+:">BPAA.BPS15:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS15"
|
||||
runat="server" SelectedValue='<%# Bind("BPS15", "{0:c}") %>'
|
||||
CssClass="textInput" DataSourceID="dsBPABSmall"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</cc1:WDropDownList></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS02+:">BPAA.BPS02:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS02"
|
||||
runat="server" SelectedValue='<%# Bind("BPS02", "{0:c}") %>'
|
||||
CssClass="textInput" DataTextField="BPAME"
|
||||
DataValueField="BPACC" DataSourceID="dsBPAB">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS13Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS13+:">BPAA.BPS13:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS13"
|
||||
runat="server" SelectedValue='<%# Bind("BPS13", "{0:c}") %>'
|
||||
CssClass="textInput" DataSourceID="dsBPAB"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</cc1:WDropDownList></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS03+:">BPAA.BPS03:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS03"
|
||||
runat="server" SelectedValue='<%# Bind("BPS03", "{0:c}") %>'
|
||||
CssClass="textInput" DataTextField="BPAME"
|
||||
DataValueField="BPACC" DataSourceID="dsBPAB">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS14Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS14+:">BPAA.BPS14:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS14"
|
||||
runat="server" SelectedValue='<%# Bind("BPS14", "{0:c}") %>'
|
||||
CssClass="textInput" DataSourceID="dsBPAB"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</cc1:WDropDownList></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS04+:">BPAA.BPS04:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS04"
|
||||
runat="server" SelectedValue='<%# Bind("BPS04", "{0:c}") %>'
|
||||
CssClass="textInput" DataTextField="BPAME"
|
||||
DataValueField="BPACC" DataSourceID="dsBPAB">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPAA_BPS05Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS05+:">BPAA.BPS05:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS05"
|
||||
runat="server" SelectedValue='<%# Bind("BPS05", "{0:c}") %>'
|
||||
CssClass="textInput" DataTextField="BPAME"
|
||||
DataValueField="BPACC" DataSourceID="dsBPAB">
|
||||
</cc1:WDropDownList></td>
|
||||
<td colspan="1" align="right">
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS06Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS06+:">BPAA.BPS06:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS06"
|
||||
runat="server" SelectedValue='<%# Bind("BPS06", "{0:c}") %>'
|
||||
CssClass="textInput" DataTextField="BPAME"
|
||||
DataValueField="BPACC" DataSourceID="dsBPAB">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS07Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS07+:">BPAA.BPS07:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS07"
|
||||
runat="server" SelectedValue='<%# Bind("BPS07", "{0:c}") %>'
|
||||
CssClass="textInput" DataTextField="BPAME"
|
||||
DataValueField="BPACC" DataSourceID="dsBPAB">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS08Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS08+:">BPAA.BPS08:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS08"
|
||||
runat="server" SelectedValue='<%# Bind("BPS08", "{0:c}") %>'
|
||||
CssClass="textInput" DataTextField="BPAME"
|
||||
DataValueField="BPACC" DataSourceID="dsBPAB">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAA_BPS09Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPS09+:">BPAA.BPS09:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<cc1:WDropDownList ID="ddlBPAA_BPS09"
|
||||
runat="server" SelectedValue='<%# Bind("BPS09", "{0:c}") %>'
|
||||
CssClass="textInput" DataSourceID="dsBPAB"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPAA_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
</EditItemTemplate>
|
||||
</asp:FormView>
|
||||
@@ -0,0 +1,61 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 年度接單科目對應設定
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBpaaSub : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private string _BPNUM = "";
|
||||
private string _BPPNM = "";
|
||||
private string _BPPYN = "";
|
||||
private string _BPYER = "";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsBPAA.ConnectionString = ConnectionString;
|
||||
dsBPAB.ConnectionString = ConnectionString;
|
||||
dsBPABBig.ConnectionString = ConnectionString;
|
||||
dsBPABSmall.ConnectionString = ConnectionString;
|
||||
|
||||
_BPNUM = GetStringParam("BPNUM");
|
||||
_BPPNM = GetStringParam("BPPNM");
|
||||
_BPPYN = GetStringParam("BPPYN");
|
||||
_BPYER = GetStringParam("BPYER");
|
||||
|
||||
dsBPAA.SelectParameters["BPPNM"].DefaultValue = _BPPNM;
|
||||
dsBPAA.SelectParameters["BPYER"].DefaultValue = _BPYER;
|
||||
|
||||
dsBPAB.SelectParameters["BPPYN"].DefaultValue = _BPPYN;
|
||||
dsBPABBig.SelectParameters["BPPYN"].DefaultValue = _BPPYN;
|
||||
dsBPABSmall.SelectParameters["BPPYN"].DefaultValue = _BPPYN;
|
||||
}
|
||||
|
||||
protected void BPAAForm_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Cancel":
|
||||
DoAfterCommand("BPAA");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void BPAAForm_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
DoAfterCommand("BPAA");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,697 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="fmBpab.ascx.cs"
|
||||
Inherits="forms_customer_fmBpab" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI" TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="FMBPAB.NAME+'--科目明細'"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server" Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="1">
|
||||
<asp:View ID="View1" runat="server">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel14" runat="server" TextMessageId="">年度:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtYY" runat="server" Columns="4" CssClass="textInput1"
|
||||
MaxLength="4"></asp:TextBox>
|
||||
<cc1:WButton ID="btnYY" runat="server" AccessKey="Y" CssClass="button"
|
||||
OnClick="btnYY_Click" Text="Y.確定" />
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel15" runat="server" TextMessageId="">專案:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlRPPYN" runat="server" AutoPostBack="True"
|
||||
CssClass="textInput1" DataTextField="BPPYM" DataValueField="BPPYN"
|
||||
OnSelectedIndexChanged="ddlRPPYN_SelectedIndexChanged" Width="500px">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellpadding="3" cellspacing="5">
|
||||
<tr>
|
||||
<th>
|
||||
<cc1:WLabel ID="WLabel16" runat="server" Text="科目" TextMessageId=""></cc1:WLabel>
|
||||
</th>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<div id="treeDiv" style="border-style: solid; border-width: 1px; width: 400px;
|
||||
height: 500px; overflow: auto;" onscroll="javascript:SetDivPosition(this);">
|
||||
<asp:TreeView ID="tvBPAB" runat="server" ImageSet="Simple" Width="100%">
|
||||
<HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
|
||||
<NodeStyle Font-Names="Tahoma" Font-Size="10pt" ForeColor="Black"
|
||||
HorizontalPadding="0px" NodeSpacing="0px" VerticalPadding="0px" />
|
||||
<ParentNodeStyle Font-Bold="False" />
|
||||
<SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD"
|
||||
HorizontalPadding="0px" VerticalPadding="0px" />
|
||||
</asp:TreeView>
|
||||
</div>
|
||||
</td>
|
||||
<td valign="top">
|
||||
<asp:Button ID="Button1" runat="server" Text="新增科目大類" />
|
||||
<asp:Button ID="Button2" runat="server" Text="新增科目小類" />
|
||||
<asp:Button ID="Button3" runat="server" Text="新增科目明細" />
|
||||
<br />
|
||||
<asp:Button ID="Button4" runat="server" Text="更正" />
|
||||
<asp:Button ID="Button5" runat="server" Text="存檔" />
|
||||
<asp:Button ID="Button6" runat="server" Text="取消" />
|
||||
<asp:Button ID="Button7" runat="server" Text="刪除" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:View>
|
||||
<asp:View ID="EditView" runat="server">
|
||||
<asp:SqlDataSource ID="dsBPABGrid" runat="server" ConflictDetection="CompareAllValues"
|
||||
SelectCommand="SELECT * FROM BPAB WHERE 1=0" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" OnSelected="dsBPABGrid_Selected">
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPABForm" runat="server" InsertCommand="INSERT INTO BPAB
|
||||
(BPPYN, BPACC, BPAME, BPBGT, BPCLS, BPORD,
|
||||
APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@BPPYN, @BPACC, @BPAME, @BPBGT, @BPCLS, @BPORD,
|
||||
1, GETDATE(), 'INSERT', @TRUSR)" UpdateCommand="UPDATE BPAB SET
|
||||
BPACC = @BPACC,
|
||||
BPAME = @BPAME,
|
||||
BPBGT = @BPBGT,
|
||||
BPCLS = @BPCLS,
|
||||
BPORD = @BPORD,
|
||||
APPNO = APPNO + 1,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'UPDATE',
|
||||
TRUSR = @TRUSR
|
||||
WHERE BPPYN = @OLD_BPPYN
|
||||
AND BPACC = @OLD_BPACC
|
||||
AND APPNO = @OLD_APPNO" DeleteCommand="DELETE FROM BPAB
|
||||
WHERE BPPYN = @OLD_BPPYN
|
||||
AND BPACC = @OLD_BPACC
|
||||
AND APPNO = @OLD_APPNO" ConflictDetection="CompareAllValues"
|
||||
OldValuesParameterFormatString="OLD_{0}" OnInserting="dsBPABForm_Inserting"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM BPAB WHERE BPPYN = @BPPYN
|
||||
AND BPACC = @BPACC" OnUpdating="dsBPABForm_Updating"
|
||||
OnDeleted="dsBPABForm_Deleted" OnDeleting="dsBPABForm_Deleting"
|
||||
OnUpdated="dsBPABForm_Updated">
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
<asp:Parameter Name="BPACC" />
|
||||
<asp:Parameter Name="BPAME" />
|
||||
<asp:Parameter Name="BPBGT" />
|
||||
<asp:Parameter Name="BPCLS" />
|
||||
<asp:Parameter Name="BPORD" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR" SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BPACC" />
|
||||
<asp:Parameter Name="BPAME" />
|
||||
<asp:Parameter Name="BPBGT" />
|
||||
<asp:Parameter Name="BPCLS" />
|
||||
<asp:Parameter Name="BPORD" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR" SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPACC" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPACC" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPAB" Name="BPPYN" PropertyName="SelectedDataKey["BPPYN"]" />
|
||||
<asp:ControlParameter ControlID="gvBPAB" Name="BPACC" PropertyName="SelectedDataKey["BPACC"]" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPABBig" runat="server" ConflictDetection="CompareAllValues"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
OldValuesParameterFormatString="OLD_{0}" ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT BPACC, BPAME, BPORD FROM BPAB
|
||||
WHERE BPPYN = @BPPYN
|
||||
AND SUBSTRING(BPACC,3,4) = '0000'
|
||||
ORDER BY BPORD">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPABSmall" runat="server" ConflictDetection="CompareAllValues"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
OldValuesParameterFormatString="OLD_{0}" ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT BPACC, BPAME, BPORD FROM BPAB
|
||||
WHERE BPPYN = @BPPYN
|
||||
AND SUBSTRING(BPACC,3,2) <> '00'
|
||||
AND SUBSTRING(BPACC,5,2) = '00'
|
||||
ORDER BY BPORD">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="fvBPAB" runat="server" OnItemCommand="fvBPAB_ItemCommand"
|
||||
DataSourceID="dsBPABForm" OnItemCreated="fvBPAB_ItemCreated"
|
||||
OnDataBound="fvBPAB_DataBound" OnItemDeleted="fvBPAB_ItemDeleted"
|
||||
OnItemInserted="fvBPAB_ItemInserted" OnItemUpdated="fvBPAB_ItemUpdated"
|
||||
OnModeChanged="fvBPAB_ModeChanged" OnModeChanging="fvBPAB_ModeChanging"
|
||||
OnItemInserting="fvBPAB_ItemInserting" OnItemUpdating="fvBPAB_ItemUpdating">
|
||||
<ItemTemplate>
|
||||
<table cellpadding="0" cellspacing="0" width="858">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="btnInsert" runat="server" CommandName="New"
|
||||
CssClass="button" Text="I.新增" TextMessageId="I.+INSERT" AccessKey="I" />
|
||||
<cc1:WButton ID="btnEdit" runat="server" CommandName="Edit" CssClass="button"
|
||||
Text="M.更正" TextMessageId="M.+UPDATE" AccessKey="M" />
|
||||
<cc1:WButton ID="btnDelete" runat="server" CommandName="Delete"
|
||||
CssClass="button" Text="T.刪除" TextMessageId="T.+DELETE" OnClientClick="return confirm(msgConfirmDelete);"
|
||||
AccessKey="T" />
|
||||
</td>
|
||||
<td align="right">
|
||||
<cc1:WButton ID="WButton4" runat="server" CausesValidation="False"
|
||||
CommandName="Big" CssClass="button" Text="1.返回科目大類" AccessKey="1"
|
||||
Style="width: 105px" />
|
||||
<cc1:WButton ID="WButton1" runat="server" CausesValidation="False"
|
||||
CommandName="Small" CssClass="button" Text="2.返回科目小類" AccessKey="2"
|
||||
Style="width: 105px" />
|
||||
<cc1:WButton ID="WButton3" runat="server" CausesValidation="False"
|
||||
CommandName="Return" CssClass="button" Text="R.返回年度接單" Style="width: 105px"
|
||||
AccessKey="R" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellpadding="2" cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPYN" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPME" runat="server" CssClass="textInput"
|
||||
Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUM" runat="server" CssClass="textInput"
|
||||
Text='<%# _BPNUM %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUMX" runat="server" CssClass="textInput"
|
||||
Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel2" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">大類:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPACCBig" runat="server" CssClass="textInput"
|
||||
TextMessageId="" Text='<%# GetBPACCBig(Eval("BPACC", "{0:c}")) %>'></cc1:WLabel>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">小類:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAB_BPACCSmall" runat="server" CssClass="textInput"
|
||||
TextMessageId="" Text='<%# GetBPACCSmall(Eval("BPACC", "{0:c}")) %>'></cc1:WLabel>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPORDLabel" runat="server" CssClass="controlLabel">順序:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPORD" runat="server" Text='<%# Bind("BPORD", "{0}") %>'
|
||||
CssClass="textInput" TextMessageId=""></cc1:WLabel>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPACCLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAB.BPACC+:">科目編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAB_BPACC" runat="server" Text='<%# Bind("BPACC", "{0}") %>'
|
||||
CssClass="textInput"></cc1:WLabel>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPAMELabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAB.BPAME+:">科目名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="3" class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAB_BPAME" runat="server" Text='<%# Bind("BPAME", "{0}") %>'
|
||||
CssClass="textInput"></cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPAB_BPBGTLabel" runat="server" CssClass="controlLabel">年度預算:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAB_BPBGT" runat="server" Text='<%# Bind("BPBGT", "{0:#,###,###,##0.##}") %>'
|
||||
CssClass="textInput"></cc1:WLabel>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPDOCLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAB.BPDOC+:">備註:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="7">
|
||||
<asp:Label ID="lbBPAB_BPDOC" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPDOC", "{0:c}") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPAB_APPNO" runat="server" Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
</ItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server" CommandName="Insert"
|
||||
CssClass="button" Text="S.存檔" TextMessageId="S.+SAVE" OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server" CommandName="Cancel"
|
||||
CssClass="button" Text="C.取消" TextMessageId="C.+CANCEL" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" CommandArgument="Detail" CausesValidation="False" />
|
||||
<asp:CustomValidator ID="cvBPORD" runat="server" ControlToValidate="txtBPAB_BPORD"
|
||||
Display="None" ErrorMessage="順序請輸入 1-99 的數字" OnServerValidate="cvBPORD_ServerValidate"
|
||||
ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPAME" runat="server" ControlToValidate="txtBPAB_BPAME"
|
||||
Display="None" ErrorMessage="請輸入科目名稱"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPBGT" runat="server" ControlToValidate="txtBPAB_BPBGT"
|
||||
Display="None" OnServerValidate="cvBPBGT_ServerValidate" ErrorMessage="年度預算請輸入數字"
|
||||
ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel4" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYN" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel5" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYNX" runat="server" CssClass="textInput"
|
||||
Text='<%# GetLookup("BPAA", _BPPYN, "BPPYM", "")%>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel6" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUM" runat="server" CssClass="textInput"
|
||||
Text='<%# _BPNUM %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel7" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUMX" runat="server" CssClass="textInput"
|
||||
Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel2" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">大類:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<select id="dlBPAB_BPACCBig" runat="server" class="textInput"
|
||||
datasourceid="dsBPABBig" datatextfield="BPAME" datavaluefield="BPACC">
|
||||
<option selected="selected"></option>
|
||||
</select>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">小類:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<select id="dlBPAB_BPACCSmall" runat="server" class="textInput"
|
||||
datasourceid="dsBPABSmall" datatextfield="BPAME" datavaluefield="BPACC">
|
||||
<option selected="selected"></option>
|
||||
</select>
|
||||
</td>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel9" runat="server" CssClass="controlLabel">順序:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPORD" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPORD") %>' MaxLength="2"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel10" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAB.BPACC+:">科目編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<cc1:WLabel ID="WLabel13" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">(自動編號)</cc1:WLabel>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel11" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAB.BPAME+:">科目名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="3" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPAME" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPAME") %>' MaxLength="20"></asp:TextBox>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel12" runat="server" CssClass="controlLabel">年度預算:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPBGT" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPBGT") %>' MaxLength="10"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPDOCLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAB.BPDOC+:">備註:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="7">
|
||||
<asp:TextBox ID="txtBPAB_BPDOC" runat="server" CssClass="textInput"
|
||||
MaxLength="100" Text='<%# Bind("BPDOC", "{0:c}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPACCBig" runat="server" />
|
||||
<asp:HiddenField ID="hfBPACCSmall" runat="server" />
|
||||
</InsertItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server" CommandName="Update"
|
||||
CssClass="button" Text="S.存檔" TextMessageId="S.+SAVE" OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server" CommandName="Cancel"
|
||||
CssClass="button" Text="C.取消" TextMessageId="C.+CANCEL" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" CommandArgument="Detail" CausesValidation="False" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPAME" runat="server" ControlToValidate="txtBPAB_BPAME"
|
||||
Display="None" ErrorMessage="請輸入科目名稱"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPORD" runat="server" ControlToValidate="txtBPAB_BPORD"
|
||||
Display="None" ErrorMessage="順序請輸入 1-99 的數字" OnServerValidate="cvBPORD_ServerValidate"
|
||||
ValidateEmptyText="True"></asp:CustomValidator><asp:CustomValidator
|
||||
ID="cvBPBGT" runat="server" ControlToValidate="txtBPAB_BPBGT"
|
||||
Display="None" ErrorMessage="年度預算請輸入數字" OnServerValidate="cvBPBGT_ServerValidate"
|
||||
ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYN" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYNX" runat="server" CssClass="textInput"
|
||||
Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUM" runat="server" CssClass="textInput"
|
||||
Text='<%# _BPNUM %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUMX" runat="server" CssClass="textInput"
|
||||
Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel2" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">大類:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<select id="dlBPAB_BPACCBig" runat="server" class="textInput"
|
||||
datasourceid="dsBPABBig" datatextfield="BPAME" datavaluefield="BPACC">
|
||||
<option selected="selected"></option>
|
||||
</select>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">小類:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<select id="dlBPAB_BPACCSmall" runat="server" class="textInput"
|
||||
datasourceid="dsBPABSmall" datatextfield="BPAME" datavaluefield="BPACC">
|
||||
<option selected="selected"></option>
|
||||
</select>
|
||||
</td>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbBPAB_BPORDLabel" runat="server" CssClass="controlLabel">順序:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPORD" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPORD") %>' MaxLength="2"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel10" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAB.BPACC+:">科目編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<cc1:WLabel ID="WLabel13" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">(自動編號)</cc1:WLabel>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPAMELabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAB.BPAME+:">科目名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="3" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPAME" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPAME") %>' MaxLength="20"></asp:TextBox>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPAB_BPBGTLabel" runat="server" CssClass="controlLabel">年度預算:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPBGT" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPBGT") %>' MaxLength="10"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPDOCLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAB.BPDOC+:">備註:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="7">
|
||||
<asp:TextBox ID="txtBPAB_BPDOC" runat="server" CssClass="textInput"
|
||||
MaxLength="100" Text='<%# Bind("BPDOC", "{0:c}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPAB_APPNO" runat="server" Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
<asp:HiddenField ID="hfBPAB_BPACC" runat="server" Value='<%# Bind("BPACC") %>' />
|
||||
<asp:HiddenField ID="hfBPACCBig" runat="server" />
|
||||
<asp:HiddenField ID="hfBPACCSmall" runat="server" />
|
||||
</EditItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="gvBPAB" runat="server" DataSourceID="dsBPABGrid"
|
||||
DataKeyNames="BPPYN,BPACC" AutoGenerateColumns="False" AllowPaging="True"
|
||||
OnDataBound="gvBPAB_DataBound" OnPageIndexChanged="gvBPAB_PageIndexChanged"
|
||||
OnRowDataBound="gvBPAB_RowDataBound" OnSelectedIndexChanged="gvBPAB_SelectedIndexChanged">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText="" ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False" ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField AccessibleHeaderText="BPAB.BPACC" DataField="BPACC"
|
||||
HeaderText="BPACC" ReadOnly="True" SortExpression="BPACC">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPAB.BPAME" DataField="BPAME"
|
||||
HeaderText="BPAME" SortExpression="BPAME" />
|
||||
<asp:BoundField AccessibleHeaderText="BPAB.BPBGT" DataField="BPBGT"
|
||||
HeaderText="BPBGT" SortExpression="BPBGT" DataFormatString="{0:###,###,##0.##}"
|
||||
HtmlEncode="False">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField HeaderText="大類">
|
||||
<ItemTemplate>
|
||||
<cc1:WLabel ID="lbBPAB_BPACCBig" runat="server" CssClass="textInput"
|
||||
Text='<%# GetBPACCBig(Eval("BPACC", "{0:c}")) %>' TextMessageId=""></cc1:WLabel>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="小類">
|
||||
<ItemTemplate>
|
||||
<cc1:WLabel ID="lbBPAB_BPACCSmall" runat="server" CssClass="textInput"
|
||||
Text='<%# GetBPACCSmall(Eval("BPACC", "{0:c}")) %>' TextMessageId=""></cc1:WLabel>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="BPORD" HeaderText="順序" SortExpression="BPORD">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager" runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
function BPACCBigChange(bigId, smallId, hfBigId, hfSmallId)
|
||||
{
|
||||
var big = document.getElementById(bigId);
|
||||
var small = document.getElementById(smallId);
|
||||
var hfBig = document.getElementById(hfBigId);
|
||||
var hfSmall = document.getElementById(hfSmallId);
|
||||
|
||||
small.options.length = 0;
|
||||
|
||||
for (i = 0; i < smallValue.length; i++)
|
||||
{
|
||||
if (smallValue[i].substr(0, 2) == big.value.substr(0, 2))
|
||||
{
|
||||
var oOption = document.createElement("OPTION");
|
||||
small.options.add(oOption);
|
||||
oOption.innerText = smallText[i];
|
||||
oOption.value = smallValue[i];
|
||||
}
|
||||
}
|
||||
|
||||
hfBig.value = big.value;
|
||||
hfSmall.value = small.value;
|
||||
}
|
||||
|
||||
function BPACCSmallChange(smallId, hfSmallId)
|
||||
{
|
||||
var small = document.getElementById(smallId);
|
||||
var hfSmall = document.getElementById(hfSmallId);
|
||||
hfSmall.value = small.value;
|
||||
}
|
||||
|
||||
function CopyBPACCValue(bigId, smallId, hfBigId, hfSmallId)
|
||||
{
|
||||
var big = document.getElementById(bigId);
|
||||
var small = document.getElementById(smallId);
|
||||
var hfBig = document.getElementById(hfBigId);
|
||||
var hfSmall = document.getElementById(hfSmallId);
|
||||
|
||||
hfBig.value = big.value;
|
||||
hfSmall.value = small.value;
|
||||
}
|
||||
|
||||
function SetDivPosition(obj)
|
||||
{
|
||||
var intY = obj.scrollTop;
|
||||
document.cookie = "yPos=!~" + intY + "~!";
|
||||
}
|
||||
|
||||
function RestoreDivPosition()
|
||||
{
|
||||
var strCook = document.cookie;
|
||||
if (strCook.indexOf("!~") != 0)
|
||||
{
|
||||
var intS = strCook.indexOf("!~");
|
||||
var intE = strCook.indexOf("~!");
|
||||
var strPos = strCook.substring(intS + 2, intE);
|
||||
var treeDiv = document.getElementById("treeDiv");
|
||||
|
||||
if (treeDiv)
|
||||
{
|
||||
treeDiv.scrollTop = strPos;
|
||||
}
|
||||
}
|
||||
}
|
||||
-->
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,516 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 年度科目設定(科目)
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBpab : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPNUM = "";
|
||||
protected string _BPPYN = "";
|
||||
private string _OLD_BPACC = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BPAB ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BPPYN, BPCLS";
|
||||
private DbCommand cmdTree;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//if (IsPostBack)
|
||||
// gvBPAB.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
|
||||
Page.ClientScript.RegisterStartupScript(Page.GetType(), "RestoreDivPosition", "RestoreDivPosition();", true);
|
||||
|
||||
dsBPABForm.ConnectionString = ConnectionString;
|
||||
dsBPABGrid.ConnectionString = ConnectionString;
|
||||
dsBPABBig.ConnectionString = ConnectionString;
|
||||
dsBPABSmall.ConnectionString = ConnectionString;
|
||||
|
||||
_BPNUM = GetStringParam("BPNUM");
|
||||
_BPPYN = GetStringParam("BPPYN");
|
||||
|
||||
dsBPABBig.SelectParameters["BPPYN"].DefaultValue = _BPPYN;
|
||||
dsBPABSmall.SelectParameters["BPPYN"].DefaultValue = _BPPYN;
|
||||
|
||||
GetGridViewRowColor(gvBPAB);
|
||||
|
||||
Search();
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
|
||||
dsBPABGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPABGrid, "BPPYN", _BPPYN, "", true);
|
||||
sql.Append(" AND SUBSTRING(BPACC,3,2) <> '00' AND SUBSTRING(BPACC,5,2) <> '00' ");
|
||||
sql.Append(order);
|
||||
dsBPABGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
Decimal bpbgt;
|
||||
if (Decimal.TryParse(e.Command.Parameters["@BPBGT"].Value.ToString(), out bpbgt))
|
||||
e.Command.Parameters["@BPBGT"].Value = bpbgt;
|
||||
else
|
||||
e.Command.Parameters["@BPBGT"].Value = 0;
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
|
||||
e.Command.Connection.Open();
|
||||
e.Command.Transaction = e.Command.Connection.BeginTransaction();
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Updated(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
cvMessage.IsValid = true;
|
||||
cvMessage.ErrorMessage = "";
|
||||
ChainUpdateBPAA(e.Command.Parameters["@OLD_BPACC"].Value.ToString(),
|
||||
e.Command.Parameters["@BPACC"].Value.ToString(),
|
||||
e.Command.Transaction);
|
||||
e.Command.Transaction.Commit();
|
||||
e.Command.Connection.Close();
|
||||
//cvMessage.IsValid = cvMessage.ErrorMessage == "";
|
||||
}
|
||||
|
||||
protected void gvBPAB_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPAB.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAB.SelectedIndex == -1)
|
||||
gvBPAB.SelectedIndex = 0;
|
||||
|
||||
fvBPAB.DataBind();
|
||||
|
||||
if (fvBPAB.DataItem != null)
|
||||
ViewState["OLD_BPACC"] = (fvBPAB.DataItem as DataRowView)["BPACC"];
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAB_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
GridView gv = sender as GridView;
|
||||
gv.SelectedIndex = 0;
|
||||
gv.DataBind();
|
||||
}
|
||||
|
||||
protected void dsBPABGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
gvBPAB.Visible = false;
|
||||
fvBPAB.ChangeMode(FormViewMode.Insert);
|
||||
fvBPAB_ModeChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Insert":
|
||||
break;
|
||||
case "Edit":
|
||||
break;
|
||||
case "Delete":
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPAB.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPAB_ModeChanged(sender, e);
|
||||
if (gvBPAB.Rows.Count == 0)
|
||||
DoAfterCommand("SMALL");
|
||||
break;
|
||||
case "Small":
|
||||
DoAfterCommand("SMALL");
|
||||
break;
|
||||
case "Big":
|
||||
DoAfterCommand("BIG");
|
||||
break;
|
||||
case "Return":
|
||||
DoAfterCommand("BPAA");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPAB.DataBind();
|
||||
if (gvBPAB.SelectedIndex > gvBPAB.Rows.Count - 1)
|
||||
{
|
||||
gvBPAB.SelectedIndex = gvBPAB.Rows.Count - 1;
|
||||
gvBPAB.DataBind();
|
||||
}
|
||||
fvBPAB.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAB_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.ReadOnly:
|
||||
gvBPAB.Visible = true;
|
||||
gvBPAB.DataBind();
|
||||
if (gvBPAB.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAB.SelectedIndex == -1)
|
||||
{
|
||||
gvBPAB.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
gvBPAB.PageIndex = gvBPAB.PageCount - 1;
|
||||
gvBPAB.DataBind();
|
||||
gvBPAB.SelectedIndex = gvBPAB.Rows.Count - 1;
|
||||
}
|
||||
|
||||
fvBPAB.DataBind();
|
||||
}
|
||||
break;
|
||||
|
||||
case FormViewMode.Edit:
|
||||
gvBPAB.Visible = false;
|
||||
break;
|
||||
|
||||
case FormViewMode.Insert:
|
||||
gvBPAB.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void RegisterJS(FormView fv)
|
||||
{
|
||||
HtmlSelect dlBig = fv.FindControl("dlBPAB_BPACCBig") as HtmlSelect;
|
||||
HtmlSelect dlSmall = fv.FindControl("dlBPAB_BPACCSmall") as HtmlSelect;
|
||||
HiddenField hfBig = fv.FindControl("hfBPACCBig") as HiddenField;
|
||||
HiddenField hfSmall = fv.FindControl("hfBPACCSmall") as HiddenField;
|
||||
dlBig.Attributes["onchange"] = String.Format("javascript:BPACCBigChange('{0:c}', '{1:c}', '{2:c}', '{3:c}');",
|
||||
dlBig.ClientID, dlSmall.ClientID, hfBig.ClientID, hfSmall.ClientID);
|
||||
dlSmall.Attributes["onchange"] = String.Format("javascript:BPACCSmallChange('{0:c}', '{1:c}');",
|
||||
dlSmall.ClientID, hfSmall.ClientID);
|
||||
|
||||
StringBuilder sb1 = new StringBuilder();
|
||||
StringBuilder sb2 = new StringBuilder();
|
||||
|
||||
for (int i = 0; i < dlSmall.Items.Count; i++)
|
||||
{
|
||||
sb1.Append("\"" + dlSmall.Items[i].Value + "\",");
|
||||
sb2.Append("\"" + dlSmall.Items[i].Text + "\",");
|
||||
}
|
||||
|
||||
Page.ClientScript.RegisterArrayDeclaration("smallValue", sb1.ToString().Remove(sb1.Length - 1));
|
||||
Page.ClientScript.RegisterArrayDeclaration("smallText", sb2.ToString().Remove(sb2.Length - 1));
|
||||
|
||||
Button btnSave = fv.FindControl("btnSave") as Button;
|
||||
btnSave.OnClientClick = String.Format("javascript:CopyBPACCValue('{0:c}', '{1:c}', '{2:c}', '{3:c}');return confirm(msgConfirmSave);",
|
||||
dlBig.ClientID, dlSmall.ClientID, hfBig.ClientID, hfSmall.ClientID);
|
||||
|
||||
if (fv.DataItem != null)
|
||||
{
|
||||
string bpacc = (fv.DataItem as DataRowView)["BPACC"].ToString();
|
||||
dlBig.Value = bpacc.Substring(0, 2) + "0000";
|
||||
|
||||
for (int i = dlSmall.Items.Count - 1; i >= 0; i--)
|
||||
{
|
||||
if (dlSmall.Items[i].Value.Substring(0, 2) != bpacc.Substring(0, 2))
|
||||
dlSmall.Items.Remove(dlSmall.Items[i]);
|
||||
}
|
||||
|
||||
if (bpacc != "")
|
||||
dlSmall.Value = bpacc.Substring(0, 4) + "00";
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = dlSmall.Items.Count - 1; i >= 0; i--)
|
||||
{
|
||||
if (dlSmall.Items[i].Value.Substring(0, 2) != dlBig.Value.Substring(0, 2))
|
||||
dlSmall.Items.Remove(dlSmall.Items[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
FormView fv = sender as FormView;
|
||||
|
||||
switch (fv.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
SetClientFocus(fv, "dlBPAB_BPACCBig");
|
||||
RegisterJS(fv);
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
SetClientFocus(fv, "dlBPAB_BPACCBig");
|
||||
RegisterJS(fv);
|
||||
break;
|
||||
case FormViewMode.ReadOnly:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemCreated(object sender, EventArgs e)
|
||||
{
|
||||
FormView fv = sender as FormView;
|
||||
switch (fv.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
(fv.FindControl("lbBPAB_BPNUM") as ITextControl).Text = _BPNUM;
|
||||
(fv.FindControl("lbBPAB_BPPYN") as ITextControl).Text = _BPPYN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAB_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(sender as GridView, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPAB_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
GridView gv = sender as GridView;
|
||||
foreach (GridViewRow row in gv.Rows)
|
||||
SetGridViewMouseBehavier(gv, row);
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
string bpaccSmall = (fvBPAB.FindControl("hfBPACCSmall") as HiddenField).Value;
|
||||
e.Values["BPACC"] = WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPAB", "BPACC",
|
||||
String.Format("\"{0}\"<99>", bpaccSmall.Substring(0, 4)), String.Format(" BPPYN='{0}' ", _BPPYN));
|
||||
|
||||
// 取得小類的排序號
|
||||
int newBpord = Convert.ToInt32(e.Values["BPORD"]);
|
||||
DbCommand cmd1 = Query.NewCommand("SELECT BPCLS FROM BPAB WHERE BPACC=@BPACC");
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPACC", bpaccSmall));
|
||||
string bpclsSmall = Query.ExecuteScalar(cmd1).ToString();
|
||||
|
||||
e.Values["BPCLS"] = String.Format("{0}{1:00}", bpclsSmall.Substring(0, 4), newBpord);
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
_OLD_BPACC = ViewState["OLD_BPACC"] != null ? ViewState["OLD_BPACC"].ToString() : "";
|
||||
string bpaccSmall = (fvBPAB.FindControl("hfBPACCSmall") as HiddenField).Value;
|
||||
if (_OLD_BPACC.Substring(0, 4) != bpaccSmall.Substring(0, 4))
|
||||
e.NewValues["BPACC"] = WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPAB", "BPACC", String.Format("\"{0}\"<99>", bpaccSmall.Substring(0, 4)), "");
|
||||
|
||||
// 取得小類的排序號
|
||||
int newBpord = Convert.ToInt32(e.NewValues["BPORD"]);
|
||||
DbCommand cmd1 = Query.NewCommand("SELECT BPCLS FROM BPAB WHERE BPACC=@BPACC");
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPACC", bpaccSmall));
|
||||
string bpclsSmall = Query.ExecuteScalar(cmd1).ToString();
|
||||
|
||||
e.NewValues["BPCLS"] = String.Format("{0}{1:00}", bpclsSmall.Substring(0, 4), newBpord);
|
||||
}
|
||||
|
||||
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", _BPPYN));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPACC", bpacc));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o == null || o == DBNull.Value)
|
||||
return "";
|
||||
else
|
||||
return o.ToString();
|
||||
}
|
||||
|
||||
protected string GetBPACCBig(string bpacc)
|
||||
{
|
||||
return GetBPACC(bpacc.Substring(0, 2) + "0000");
|
||||
}
|
||||
|
||||
protected string GetBPACCSmall(string bpacc)
|
||||
{
|
||||
return GetBPACC(bpacc.Substring(0, 4) + "00");
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void cvBPBGT_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
// 檢查預算是否輸入合理的數字
|
||||
int i;
|
||||
args.IsValid = int.TryParse(args.Value, out i) && i >= 0;
|
||||
}
|
||||
|
||||
protected void cvBPORD_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = int.TryParse(args.Value, out i) && i > 0 && i < 100;
|
||||
}
|
||||
|
||||
protected void ChainUpdateBPAA(string old_bpacc, string new_bpacc, DbTransaction tran)
|
||||
{
|
||||
// 取得專案科目對應資料
|
||||
GetData gd = new GetData();
|
||||
gd.Query = Query;
|
||||
DataTable bpaa = gd.GetBPAA_BPPYN(_BPPYN);
|
||||
DataRow bpaaRow = bpaa.Rows[0];
|
||||
DbCommand cmdUpdateBPAA = Query.NewCommand();
|
||||
cmdUpdateBPAA.Connection = tran.Connection;
|
||||
cmdUpdateBPAA.Transaction = tran;
|
||||
cmdUpdateBPAA.Parameters.Add(Query.NewParameter("TRUSR", UserId));
|
||||
cmdUpdateBPAA.Parameters.Add(Query.NewParameter("BPPYN", _BPPYN));
|
||||
cmdUpdateBPAA.Parameters.Add(Query.NewParameter("BPSXX", new_bpacc));
|
||||
|
||||
// 核對科目對應資料,如果已有科目對應,則清除科目對應
|
||||
string[] fieldNames = {"BPS01", "BPS02", "BPS03", "BPS04", "BPS05",
|
||||
"BPS06", "BPS07", "BPS08", "BPS09", "BPS10",
|
||||
"BPS11", "BPS12", "BPS13", "BPS14", "BPS15",
|
||||
"BPS16", "BPS17", "BPS18", "BPS19", "BPS20",
|
||||
"BPS21", "BPS22", "BPS23", "BPS24", "BPS25",
|
||||
"BPS26", "BPS27", "BPS28", "BPS29", "BPS30"};
|
||||
for (int i = 0; i < fieldNames.Length; i++)
|
||||
{
|
||||
if (bpaaRow[fieldNames[i]] != DBNull.Value && bpaaRow[fieldNames[i]].ToString() == old_bpacc)
|
||||
{
|
||||
cvMessage.ErrorMessage += String.Format("\"{0}\" 的科目對應因科目刪除而清除<br/>", GetString("BPAA." + fieldNames[i]));
|
||||
cmdUpdateBPAA.CommandText = String.Format("UPDATE BPAA SET {0}=@BPSXX, TRDAT=GETDATE(), TRMOD='UPDATE', TRUSR=@TRUSR WHERE BPPYN=@BPPYN", fieldNames[i]);
|
||||
cmdUpdateBPAA.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Deleting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
e.Command.Connection.Open();
|
||||
e.Command.Transaction = e.Command.Connection.BeginTransaction();
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Deleted(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
cvMessage.IsValid = true;
|
||||
cvMessage.ErrorMessage = "";
|
||||
ChainUpdateBPAA(e.Command.Parameters["@OLD_BPACC"].Value.ToString(), "", e.Command.Transaction);
|
||||
e.Command.Transaction.Commit();
|
||||
e.Command.Connection.Close();
|
||||
cvMessage.IsValid = cvMessage.ErrorMessage == "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region 新作法
|
||||
|
||||
protected void btnYY_Click(object sender, EventArgs e)
|
||||
{
|
||||
int year;
|
||||
if (!Int32.TryParse(txtYY.Text.Trim(), out year))
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage = "請輸入正確的年度";
|
||||
return;
|
||||
}
|
||||
|
||||
ddlRPPYN.DataSource = new BpaaDAC().GetBpaaWithTY(year + WGuard1.CY11);
|
||||
ddlRPPYN.DataBind();
|
||||
}
|
||||
|
||||
|
||||
protected void ddlRPPYN_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
DrawTree("", tvBPAB.Nodes);
|
||||
}
|
||||
|
||||
protected void DrawTree(string parent, TreeNodeCollection nodes)
|
||||
{
|
||||
if (cmdTree == null)
|
||||
cmdTree = Query.NewCommand();
|
||||
|
||||
string sql1 = "SELECT BPACC, BPAME, BPORD FROM BPAB WHERE BPPYN=@BPPYN";
|
||||
|
||||
switch (parent.Length)
|
||||
{
|
||||
case 0:
|
||||
cmdTree.CommandText = sql1 + " AND SUBSTRING(BPACC,3,4) = '0000'";
|
||||
break;
|
||||
case 2:
|
||||
cmdTree.CommandText = sql1 + " AND SUBSTRING(BPACC,1,2) = @PARENT AND SUBSTRING(BPACC,3,2) <> '00' AND SUBSTRING(BPACC,5,2) = '00'";
|
||||
break;
|
||||
case 4:
|
||||
cmdTree.CommandText = sql1 + " AND SUBSTRING(BPACC,1,4) = @PARENT AND SUBSTRING(BPACC,5,2) <> '00'";
|
||||
break;
|
||||
}
|
||||
cmdTree.CommandText += " ORDER BY BPORD ";
|
||||
Query.AddParam(cmdTree, "BPPYN", ddlRPPYN.SelectedValue);
|
||||
Query.AddParam(cmdTree, "PARENT", parent);
|
||||
|
||||
DataTable treeData = Query.Select(cmdTree);
|
||||
|
||||
foreach (DataRow row in treeData.Rows)
|
||||
{
|
||||
string bpacc = WQuery.GetStringValue(row["BPACC"]);
|
||||
string bpame = WQuery.GetStringValue(row["BPAME"]);
|
||||
|
||||
TreeNode newNode = new TreeNode("(" + bpacc + ") " + bpame, bpacc);
|
||||
newNode.Expanded = true;
|
||||
nodes.Add(newNode);
|
||||
|
||||
// 第二層
|
||||
if (bpacc.Substring(2, 4) == "0000")
|
||||
DrawTree(bpacc.Substring(0, 2), newNode.ChildNodes);
|
||||
|
||||
// 第三層
|
||||
if (bpacc.Substring(4, 2) == "00")
|
||||
DrawTree(bpacc.Substring(0, 4), newNode.ChildNodes);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -0,0 +1,421 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBpabBig.ascx.cs"
|
||||
Inherits="forms_customer_fmBpabBig" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server"
|
||||
CssClass="pageTitle" TextMessageId="FMBPAB.NAME+'--科目大類'"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage"
|
||||
runat="server" Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1"
|
||||
runat="server" ActiveViewIndex="0">
|
||||
<asp:View ID="BigClassView" runat="server">
|
||||
<asp:SqlDataSource ID="dsBPABGrid"
|
||||
runat="server" ConflictDetection="CompareAllValues"
|
||||
SelectCommand="SELECT TRDAT, TRMOD, TRUSR, BPPYN, BPACC, BPAME, BPBGT, BPCLS, BPORD, APPNO FROM BPAB WHERE (1 = 0)"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
OnSelected="dsBPABGrid_Selected">
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPABForm"
|
||||
runat="server" InsertCommand="INSERT INTO BPAB (BPPYN, BPACC, BPAME, BPBGT, BPCLS, BPORD, APPNO, TRDAT, TRMOD, TRUSR) VALUES (@BPPYN, @BPACC, @BPAME, @BPBGT, @BPCLS, @BPORD, 1, GETDATE(), 'INSERT', @TRUSR)"
|
||||
UpdateCommand="UPDATE BPAB SET BPACC = @BPACC, BPAME = @BPAME, BPBGT = @BPBGT, BPCLS = @BPCLS, BPORD = @BPORD, APPNO = APPNO + 1, TRDAT = GETDATE(), TRMOD = 'UPDATE', TRUSR = @TRUSR WHERE BPPYN = @OLD_BPPYN AND BPACC = @OLD_BPACC AND APPNO = @OLD_APPNO"
|
||||
DeleteCommand="DELETE FROM BPAB WHERE BPPYN = @OLD_BPPYN AND BPACC = @OLD_BPACC AND APPNO = @OLD_APPNO"
|
||||
ConflictDetection="CompareAllValues"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
OnInserting="dsBPABForm_Inserting"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT * FROM BPAB WHERE BPPYN = @BPPYN AND BPACC = @BPACC"
|
||||
OnUpdating="dsBPABForm_Updating"
|
||||
OnUpdated="dsBPABForm_Updated">
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPACC" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BPACC" Size="8"
|
||||
Type="String" />
|
||||
<asp:Parameter Name="BPAME" />
|
||||
<asp:Parameter Name="BPBGT" />
|
||||
<asp:Parameter Name="BPCLS" Size="8"
|
||||
Type="String" />
|
||||
<asp:Parameter Name="BPORD" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPACC" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPAB"
|
||||
Name="BPPYN" PropertyName="SelectedDataKey["BPPYN"]" />
|
||||
<asp:ControlParameter ControlID="gvBPAB"
|
||||
Name="BPACC" PropertyName="SelectedDataKey["BPACC"]" />
|
||||
</SelectParameters>
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
<asp:Parameter Name="BPACC" />
|
||||
<asp:Parameter Name="BPAME" />
|
||||
<asp:Parameter Name="BPBGT" />
|
||||
<asp:Parameter Name="BPCLS" />
|
||||
<asp:Parameter Name="BPORD" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="fvBPAB" runat="server"
|
||||
OnItemCommand="fvBPAB_ItemCommand"
|
||||
DataSourceID="dsBPABForm" OnItemCreated="fvBPAB_ItemCreated"
|
||||
OnDataBound="fvBPAB_DataBound"
|
||||
OnItemDeleted="fvBPAB_ItemDeleted"
|
||||
OnItemInserted="fvBPAB_ItemInserted"
|
||||
OnItemUpdated="fvBPAB_ItemUpdated"
|
||||
OnModeChanged="fvBPAB_ModeChanged"
|
||||
OnModeChanging="fvBPAB_ModeChanging"
|
||||
OnItemDeleting="fvBPAB_ItemDeleting">
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
CommandName="Update" CssClass="button"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" CommandArgument="Big" CausesValidation="False" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPAME"
|
||||
runat="server" ControlToValidate="txtBPAB_BPAME"
|
||||
Display="None" ErrorMessage="請輸入大類名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPORD"
|
||||
runat="server" ControlToValidate="txtBPAB_BPORD"
|
||||
Display="None" ErrorMessage="請輸入順序"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPORD"
|
||||
runat="server" Display="None" ControlToValidate="txtBPAB_BPORD"
|
||||
ErrorMessage="順序請輸入 1-99 的數字"
|
||||
OnServerValidate="cvBPORD_ServerValidate" ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel9" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel10" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel11" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel12" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel14" runat="server"
|
||||
CssClass="controlLabel">大類名稱:</cc1:WLabel></td>
|
||||
<td colspan="3" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPAME"
|
||||
runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPAME") %>' MaxLength="20"></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel15" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">順序:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPORD"
|
||||
runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPORD") %>' MaxLength="2"></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPAB_BPACC"
|
||||
runat="server" Value='<%# Bind("BPACC") %>' />
|
||||
<asp:HiddenField ID="hfBPAB_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO") %>' />
|
||||
</EditItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
CommandName="Insert" CssClass="button"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" CommandArgument="Big" CausesValidation="False" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPAME"
|
||||
runat="server" ControlToValidate="txtBPAB_BPAME"
|
||||
Display="None" ErrorMessage="請輸入大類名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPORD"
|
||||
runat="server" ControlToValidate="txtBPAB_BPORD"
|
||||
Display="None" ErrorMessage="請輸入順序"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPORD"
|
||||
runat="server" Display="None"
|
||||
ControlToValidate="txtBPAB_BPORD"
|
||||
ErrorMessage="順序請輸入 1-99 的數字"
|
||||
OnServerValidate="cvBPORD_ServerValidate" ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel2" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", _BPPYN, "BPPYM", "")%>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel4" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel5" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel7" runat="server"
|
||||
CssClass="controlLabel">大類名稱:</cc1:WLabel></td>
|
||||
<td colspan="3" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPAME"
|
||||
runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPAME") %>' MaxLength="20"></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel8" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">順序:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPORD"
|
||||
runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPORD") %>' MaxLength="2"></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
<ItemTemplate>
|
||||
<table border="0" cellpadding="0"
|
||||
cellspacing="0" width="858">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
CommandName="New" CssClass="button"
|
||||
Text="I.新增" TextMessageId="I.+INSERT"
|
||||
AccessKey="I" />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
CommandName="Edit" CssClass="button"
|
||||
Text="M.更正" TextMessageId="M.+UPDATE"
|
||||
AccessKey="M" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
CommandName="Delete" CssClass="button"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE"
|
||||
OnClientClick="return confirm(msgConfirmDelete);"
|
||||
AccessKey="T" /></td>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="WButton2" runat="server"
|
||||
CausesValidation="False" CommandName="Small"
|
||||
CssClass="button" Text="2.科目小類"
|
||||
AccessKey="2" />
|
||||
<cc1:WButton ID="WButton3" runat="server"
|
||||
AccessKey="3" CausesValidation="False"
|
||||
CommandName="Detail" CssClass="button"
|
||||
Text="3.科目明細" /></td>
|
||||
<td align="right">
|
||||
<cc1:WButton ID="WButton1" runat="server"
|
||||
CausesValidation="False" CommandName="Return"
|
||||
CssClass="button" Text="R.返回年度接單"
|
||||
Style="width: 105px" AccessKey="R" /> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPAB_BPACC"
|
||||
runat="server" Value='<%# Bind("BPACC", "{0}") %>' />
|
||||
<asp:HiddenField ID="hfBPAB_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPAMELabel"
|
||||
runat="server" CssClass="controlLabel">大類名稱:</cc1:WLabel></td>
|
||||
<td colspan="3" class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAB_BPAME" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPAME", "{0}") %>'></cc1:WLabel></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPORDLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">順序:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAB_BPORD" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPORD", "{0}") %>'
|
||||
TextMessageId=""></cc1:WLabel></td>
|
||||
</tr>
|
||||
</table>
|
||||
</ItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="gvBPAB" runat="server"
|
||||
DataSourceID="dsBPABGrid" DataKeyNames="BPPYN,BPACC"
|
||||
AutoGenerateColumns="False"
|
||||
AllowPaging="True" OnDataBound="gvBPAB_DataBound"
|
||||
OnPageIndexChanged="gvBPAB_PageIndexChanged"
|
||||
OnRowDataBound="gvBPAB_RowDataBound"
|
||||
OnSelectedIndexChanged="gvBPAB_SelectedIndexChanged">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText=""
|
||||
ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField DataField="BPACC"
|
||||
HeaderText="大類編號" ReadOnly="True"
|
||||
SortExpression="BPACC">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="BPAME"
|
||||
HeaderText="大類名稱" SortExpression="BPAME" />
|
||||
<asp:BoundField DataField="BPORD"
|
||||
HeaderText="順序" SortExpression="BPORD">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager"
|
||||
runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -0,0 +1,312 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 年度科目設定(大類)
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBpabBig : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPNUM = "";
|
||||
protected string _BPPYN = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BPAB ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BPPYN, BPCLS, BPORD";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//if (IsPostBack)
|
||||
// gvBPAB.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsBPABForm.ConnectionString = ConnectionString;
|
||||
dsBPABGrid.ConnectionString = ConnectionString;
|
||||
|
||||
_BPNUM = GetStringParam("BPNUM");
|
||||
_BPPYN = GetStringParam("BPPYN");
|
||||
|
||||
GetGridViewRowColor(gvBPAB);
|
||||
|
||||
Search();
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
|
||||
dsBPABGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPABGrid, "BPPYN", _BPPYN, "", true);
|
||||
sql.Append(" AND SUBSTRING(BPACC,3,4) = '0000' ");
|
||||
sql.Append(order);
|
||||
dsBPABGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
e.Command.Parameters["@BPACC"].Value =
|
||||
WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPAB", "BPACC", "<99>\"0000\"", String.Format("BPPYN='{0}'", _BPPYN));
|
||||
e.Command.Parameters["@BPCLS"].DbType = DbType.String;
|
||||
e.Command.Parameters["@BPCLS"].Size = 8;
|
||||
e.Command.Parameters["@BPCLS"].Value =
|
||||
String.Format("{0:00}", Convert.ToInt32(e.Command.Parameters["@BPORD"].Value)) + "0000";
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
int newBpord = Convert.ToInt32(e.Command.Parameters["@BPORD"].Value);
|
||||
e.Command.Parameters["@BPCLS"].Value = String.Format("{0:00}", newBpord) + "0000";
|
||||
|
||||
e.Command.Connection.Open();
|
||||
e.Command.Transaction = e.Command.Connection.BeginTransaction();
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Updated(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
int newBpord = Convert.ToInt32(e.Command.Parameters["@BPORD"].Value);
|
||||
int oldBpord = ViewState["OLD_BPORD"] != null && ViewState["OLD_BPORD"].ToString() != "" ? Convert.ToInt32(ViewState["OLD_BPORD"]) : 0;
|
||||
string oldBpacc = e.Command.Parameters["@OLD_BPACC"].Value.ToString();
|
||||
|
||||
try
|
||||
{
|
||||
if (newBpord != oldBpord)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand(
|
||||
@"UPDATE BPAB
|
||||
SET BPCLS = @NEW_BPORD + SUBSTRING(BPCLS, 3, 4)
|
||||
WHERE SUBSTRING(BPACC, 1, 2)=@BPACC");
|
||||
cmd.Parameters.Add(Query.NewParameter("NEW_BPORD", newBpord.ToString("00")));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPACC", oldBpacc.Substring(0, 2)));
|
||||
cmd.Connection = e.Command.Connection;
|
||||
cmd.Transaction = e.Command.Transaction;
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
e.Command.Transaction.Commit();
|
||||
e.Command.Connection.Close();
|
||||
}
|
||||
catch
|
||||
{
|
||||
e.Command.Transaction.Rollback();
|
||||
e.Command.Connection.Close();
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAB_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPAB.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAB.SelectedIndex == -1)
|
||||
gvBPAB.SelectedIndex = 0;
|
||||
|
||||
fvBPAB.DataBind();
|
||||
|
||||
if (fvBPAB.DataItem != null)
|
||||
ViewState["OLD_BPORD"] = (fvBPAB.DataItem as DataRowView)["BPORD"].ToString();
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAB_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPAB.SelectedIndex = 0;
|
||||
gvBPAB.DataBind();
|
||||
}
|
||||
|
||||
protected void dsBPABGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
gvBPAB.Visible = false;
|
||||
fvBPAB.ChangeMode(FormViewMode.Insert);
|
||||
fvBPAB_ModeChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Insert":
|
||||
break;
|
||||
case "Edit":
|
||||
break;
|
||||
case "Delete":
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPAB.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPAB_ModeChanged(sender, e);
|
||||
if (gvBPAB.Rows.Count == 0)
|
||||
{
|
||||
//ParamList.Clear();
|
||||
DoAfterCommand("BPAA");
|
||||
}
|
||||
break;
|
||||
|
||||
case "Small":
|
||||
DoAfterCommand("SMALL");
|
||||
break;
|
||||
|
||||
case "Detail":
|
||||
DoAfterCommand("DETAIL");
|
||||
break;
|
||||
|
||||
case "Return":
|
||||
//ParamList.Clear();
|
||||
DoAfterCommand("BPAA");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
|
||||
gvBPAB.DataBind();
|
||||
if (gvBPAB.SelectedIndex > gvBPAB.Rows.Count - 1)
|
||||
{
|
||||
gvBPAB.SelectedIndex = gvBPAB.Rows.Count - 1;
|
||||
gvBPAB.DataBind();
|
||||
}
|
||||
fvBPAB.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAB_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.ReadOnly:
|
||||
gvBPAB.Visible = true;
|
||||
gvBPAB.DataBind();
|
||||
if (gvBPAB.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAB.SelectedIndex == -1)
|
||||
{
|
||||
gvBPAB.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
gvBPAB.PageIndex = gvBPAB.PageCount - 1;
|
||||
gvBPAB.DataBind();
|
||||
gvBPAB.SelectedIndex = gvBPAB.Rows.Count - 1;
|
||||
}
|
||||
|
||||
fvBPAB.DataBind();
|
||||
}
|
||||
break;
|
||||
|
||||
case FormViewMode.Edit:
|
||||
gvBPAB.Visible = false;
|
||||
break;
|
||||
|
||||
case FormViewMode.Insert:
|
||||
gvBPAB.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void fvBPAB_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
SetClientFocus(fvBPAB, "txtBPAB_BPAME");
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
SetClientFocus(fvBPAB, "txtBPAB_BPAME");
|
||||
break;
|
||||
case FormViewMode.ReadOnly:
|
||||
if (fvBPAB.DataItem != null)
|
||||
ViewState["OLD_BPORD"] = (fvBPAB.DataItem as DataRowView)["BPORD"].ToString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemCreated(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
(fvBPAB.FindControl("lbBPAB_BPPYN") as ITextControl).Text = _BPPYN;
|
||||
//(fvBPAB.FindControl("lbBPAB_BPYER") as ITextControl).Text = _BPYER.ToString();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAB_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(sender as GridView, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPAB_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in gvBPAB.Rows)
|
||||
SetGridViewMouseBehavier(gvBPAB, row);
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
// 1. 是否已有科目設定
|
||||
DbCommand cmd1 = Query.NewCommand("SELECT COUNT(1) FROM BPAB WHERE BPPYN=@BPPYN AND BPACC >= @BPACC + '0001' AND BPACC <= @BPACC + '9999'");
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPACC", e.Values["BPACC"].ToString().Substring(0, 2)));
|
||||
int i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
||||
if (i > 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "本大類之下有小類及科目。不可刪除!";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected void cvBPORD_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = int.TryParse(args.Value, out i) && i > 0 && i < 100;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,526 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBpabSmall.ascx.cs" Inherits="forms_customer_fmBpabSmall" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server"
|
||||
CssClass="pageTitle" TextMessageId="FMBPAB.NAME+'--科目小類'"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage"
|
||||
runat="server" Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1"
|
||||
runat="server" ActiveViewIndex="0">
|
||||
<asp:View ID="BigClassView" runat="server">
|
||||
<asp:SqlDataSource ID="dsBPABGrid"
|
||||
runat="server" ConflictDetection="CompareAllValues"
|
||||
SelectCommand="SELECT * FROM BPAB WHERE 1=0"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
OnSelected="dsBPABGrid_Selected">
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPABForm"
|
||||
runat="server" InsertCommand="INSERT INTO BPAB
|
||||
(BPPYN, BPACC, BPAME, BPBGT, BPCLS, BPORD,
|
||||
APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@BPPYN, @BPACC, @BPAME, @BPBGT, @BPCLS, @BPORD,
|
||||
1, GETDATE(), 'INSERT', @TRUSR)"
|
||||
UpdateCommand="UPDATE BPAB SET
|
||||
BPACC = @BPACC,
|
||||
BPAME = @BPAME,
|
||||
BPBGT = @BPBGT,
|
||||
BPCLS = @BPCLS,
|
||||
BPORD = @BPORD,
|
||||
APPNO = APPNO + 1,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'UPDATE',
|
||||
TRUSR = @TRUSR
|
||||
WHERE BPPYN = @OLD_BPPYN
|
||||
AND BPACC = @OLD_BPACC
|
||||
AND APPNO = @OLD_APPNO"
|
||||
DeleteCommand="DELETE FROM BPAB
|
||||
WHERE BPPYN = @OLD_BPPYN
|
||||
AND BPACC = @OLD_BPACC
|
||||
AND APPNO = @OLD_APPNO"
|
||||
ConflictDetection="CompareAllValues"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
OnInserting="dsBPABForm_Inserting"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT * FROM BPAB WHERE BPPYN = @BPPYN
|
||||
AND BPACC = @BPACC" OnUpdated="dsBPABForm_Updated" OnUpdating="dsBPABForm_Updating" OnDeleted="dsBPABForm_Deleted" OnDeleting="dsBPABForm_Deleting">
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPACC" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BPACC" />
|
||||
<asp:Parameter Name="BPAME" />
|
||||
<asp:Parameter Name="BPBGT" />
|
||||
<asp:Parameter Name="BPCLS" />
|
||||
<asp:Parameter Name="BPORD" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPACC" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPAB"
|
||||
Name="BPPYN" PropertyName="SelectedDataKey["BPPYN"]" />
|
||||
<asp:ControlParameter ControlID="gvBPAB"
|
||||
Name="BPACC" PropertyName="SelectedDataKey["BPACC"]" />
|
||||
</SelectParameters>
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
<asp:Parameter Name="BPACC" />
|
||||
<asp:Parameter Name="BPAME" />
|
||||
<asp:Parameter Name="BPBGT" />
|
||||
<asp:Parameter Name="BPCLS" />
|
||||
<asp:Parameter Name="BPORD" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPABBig"
|
||||
runat="server"
|
||||
ConflictDetection="CompareAllValues"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT BPACC, BPAME, BPORD FROM BPAB
|
||||
WHERE BPPYN = @BPPYN
|
||||
AND SUBSTRING(BPACC,3,4) = '0000'
|
||||
ORDER BY BPORD">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="fvBPAB" runat="server"
|
||||
OnItemCommand="fvBPAB_ItemCommand"
|
||||
DataSourceID="dsBPABForm"
|
||||
OnItemCreated="fvBPAB_ItemCreated"
|
||||
OnDataBound="fvBPAB_DataBound"
|
||||
OnItemDeleted="fvBPAB_ItemDeleted"
|
||||
OnItemInserted="fvBPAB_ItemInserted"
|
||||
OnItemUpdated="fvBPAB_ItemUpdated"
|
||||
OnModeChanged="fvBPAB_ModeChanged"
|
||||
OnModeChanging="fvBPAB_ModeChanging" OnItemInserting="fvBPAB_ItemInserting" OnItemUpdating="fvBPAB_ItemUpdating" OnItemDeleting="fvBPAB_ItemDeleting">
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
CommandName="Update" CssClass="button"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" CommandArgument="Big" CausesValidation="False" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPAME"
|
||||
runat="server" ControlToValidate="txtBPAB_BPAME"
|
||||
Display="None" ErrorMessage="請輸入小類名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPORD"
|
||||
runat="server" ControlToValidate="txtBPAB_BPORD"
|
||||
Display="None" ErrorMessage="請輸入順序"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPORD"
|
||||
runat="server" Display="None"
|
||||
ErrorMessage="順序請輸入 1 - 99 的數字"
|
||||
OnServerValidate="cvBPORD_ServerValidate" ControlToValidate="txtBPAB_BPORD" ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:RangeValidator ID="rgvBPBGT"
|
||||
runat="server" ControlToValidate="txtBPAB_BPBGT"
|
||||
Display="None" ErrorMessage="預算請輸入大於 0 的數字"
|
||||
MaximumValue="9999999999" MinimumValue="1"></asp:RangeValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPBGT"
|
||||
runat="server" ControlToValidate="txtBPAB_BPBGT"
|
||||
Display="None" ErrorMessage="請輸入年度預算"></asp:RequiredFieldValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel16" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">大類:</cc1:WLabel></td>
|
||||
<td colspan="3" class="dataEditCell">
|
||||
<asp:DropDownList ID="dlBPAB_BPACCBig"
|
||||
runat="server" DataSourceID="dsBPABBig" CssClass="textInput" DataTextField="BPAME" DataValueField="BPACC" SelectedValue='<%# Eval("BPACC", "{0:c}").Substring(0,2) + "0000" %>'>
|
||||
</asp:DropDownList></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPAMELabel"
|
||||
runat="server" CssClass="controlLabel">小類名稱:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<asp:TextBox ID="txtBPAB_BPAME"
|
||||
runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPAME") %>' MaxLength="20"></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel12" runat="server"
|
||||
CssClass="controlLabel">年度預算:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPAB_BPBGT"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="10" Text='<%# Bind("BPBGT") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPORDLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">順序:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPORD"
|
||||
runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPORD") %>' MaxLength="2"></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPAB_BPACC"
|
||||
runat="server" Value='<%# Bind("BPACC") %>' />
|
||||
<asp:HiddenField ID="hfBPAB_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO") %>' />
|
||||
</EditItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
CommandName="Insert" CssClass="button"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" CommandArgument="Big" CausesValidation="False" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPAME"
|
||||
runat="server" ControlToValidate="txtBPAB_BPAME"
|
||||
Display="None" ErrorMessage="請輸入小類名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPORD"
|
||||
runat="server" ControlToValidate="txtBPAB_BPORD"
|
||||
Display="None" ErrorMessage="請輸入順序"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPBGT"
|
||||
runat="server" ControlToValidate="txtBPAB_BPBGT"
|
||||
Display="None" ErrorMessage="請輸入年度預算"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPORD"
|
||||
runat="server" Display="None"
|
||||
ErrorMessage="順序請輸入 1 - 99 的數字"
|
||||
OnServerValidate="cvBPORD_ServerValidate" ControlToValidate="txtBPAB_BPORD" ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:RangeValidator ID="rgvBPBGT"
|
||||
runat="server" ControlToValidate="txtBPAB_BPBGT"
|
||||
Display="None" ErrorMessage="預算請輸入大於 0 的數字"
|
||||
MaximumValue="9999999999" MinimumValue="1"></asp:RangeValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", _BPPYN, "BPPYM", "")%>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPAB_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel16" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">大類:</cc1:WLabel></td>
|
||||
<td colspan="3" class="dataEditCell"><asp:DropDownList ID="dlBPAB_BPACCBig"
|
||||
runat="server" DataSourceID="dsBPABBig" CssClass="textInput" DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPAMELabel"
|
||||
runat="server" CssClass="controlLabel">小類名稱:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<asp:TextBox ID="txtBPAB_BPAME"
|
||||
runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPAME") %>' MaxLength="20"></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel12" runat="server"
|
||||
CssClass="controlLabel">年度預算:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPAB_BPBGT"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="10" Text='<%# Bind("BPBGT") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPORDLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">順序:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPAB_BPORD"
|
||||
runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPORD") %>' MaxLength="2"></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
<ItemTemplate>
|
||||
<table cellpadding="0" cellspacing="0"
|
||||
width="858">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
CommandName="New" CssClass="button"
|
||||
Text="I.新增" TextMessageId="I.+INSERT"
|
||||
AccessKey="I" />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
CommandName="Edit" CssClass="button"
|
||||
Text="M.更正" TextMessageId="M.+UPDATE"
|
||||
AccessKey="M" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
CommandName="Delete" CssClass="button"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE"
|
||||
OnClientClick="return confirm(msgConfirmDelete);"
|
||||
AccessKey="T" /></td>
|
||||
<td align="center">
|
||||
<cc1:WButton ID="WButton2" runat="server"
|
||||
CausesValidation="False" CommandName="Detail"
|
||||
CssClass="button" Text="3.科目明細" AccessKey="3" /></td>
|
||||
<td align="right">
|
||||
<cc1:WButton ID="WButton4" runat="server"
|
||||
AccessKey="1" CausesValidation="False"
|
||||
CommandName="Big" CssClass="button"
|
||||
Style="width: 105px" Text="1.返回科目大類" />
|
||||
<cc1:WButton ID="WButton1" runat="server"
|
||||
CausesValidation="False" CommandName="Return"
|
||||
CssClass="button" Text="R.返回年度接單"
|
||||
Style="width: 105px" AccessKey="R" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPAB_BPACC"
|
||||
runat="server" Value='<%# Bind("BPACC", "{0}") %>' />
|
||||
<asp:HiddenField ID="hfBPAB_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel16"
|
||||
runat="server" CssClass="controlLabel" TextMessageId="">大類:</cc1:WLabel></td>
|
||||
<td colspan="3" class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAB_BPACCBig" runat="server"
|
||||
CssClass="textInput" Text='<%# GetBPACCBig(Eval("BPACC", "{0:c}")) %>' TextMessageId=""></cc1:WLabel></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPAMELabel"
|
||||
runat="server" CssClass="controlLabel">小類名稱:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<cc1:WLabel ID="lbBPAB_BPAME" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPAME", "{0}") %>'></cc1:WLabel></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPBGTLabel"
|
||||
runat="server" CssClass="controlLabel">年度預算:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPBGT" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPBGT", "{0:#,###,###,##0.##}") %>'></cc1:WLabel></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPAB_BPORDLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">順序:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbBPAB_BPORD" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPORD", "{0}") %>'
|
||||
TextMessageId=""></cc1:WLabel></td>
|
||||
</tr>
|
||||
</table>
|
||||
</ItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="gvBPAB" runat="server"
|
||||
DataSourceID="dsBPABGrid"
|
||||
DataKeyNames="BPPYN,BPACC"
|
||||
AutoGenerateColumns="False"
|
||||
AllowPaging="True" OnDataBound="gvBPAB_DataBound"
|
||||
OnPageIndexChanged="gvBPAB_PageIndexChanged"
|
||||
OnRowDataBound="gvBPAB_RowDataBound"
|
||||
OnSelectedIndexChanged="gvBPAB_SelectedIndexChanged">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText=""
|
||||
ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" Width="0px" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField DataField="BPACC"
|
||||
HeaderText="小類編號" ReadOnly="True"
|
||||
SortExpression="BPACC">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="BPAME"
|
||||
HeaderText="小類名稱" SortExpression="BPAME" />
|
||||
<asp:BoundField DataField="BPBGT"
|
||||
DataFormatString="{0:###,###,###,##0.##}"
|
||||
HeaderText="年度預算" HtmlEncode="False"
|
||||
SortExpression="BPBGT">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField
|
||||
DataField="BPORD" HeaderText="順序"
|
||||
SortExpression="BPORD">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager"
|
||||
runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -0,0 +1,453 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 年度科目設定(小類)
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBpabSmall : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPNUM = "";
|
||||
protected string _BPPYN = "";
|
||||
private string _OLD_BPACC = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BPAB ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BPPYN, BPCLS, BPORD";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//if (IsPostBack)
|
||||
// gvBPAB.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsBPABForm.ConnectionString = ConnectionString;
|
||||
dsBPABGrid.ConnectionString = ConnectionString;
|
||||
dsBPABBig.ConnectionString = ConnectionString;
|
||||
|
||||
_BPNUM = GetStringParam("BPNUM");
|
||||
_BPPYN = GetStringParam("BPPYN");
|
||||
|
||||
dsBPABBig.SelectParameters["BPPYN"].DefaultValue = _BPPYN;
|
||||
|
||||
GetGridViewRowColor(gvBPAB);
|
||||
|
||||
Search();
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
|
||||
dsBPABGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPABGrid, "BPPYN", _BPPYN, "", true);
|
||||
sql.Append(" AND SUBSTRING(BPACC,3,2) <> '00' AND SUBSTRING(BPACC,5,2) = '00' ");
|
||||
sql.Append(order);
|
||||
dsBPABGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
Decimal bpbgt;
|
||||
if (Decimal.TryParse(e.Command.Parameters["@BPBGT"].Value.ToString(), out bpbgt))
|
||||
e.Command.Parameters["@BPBGT"].Value = bpbgt;
|
||||
else
|
||||
e.Command.Parameters["@BPBGT"].Value = 0;
|
||||
}
|
||||
|
||||
// 取得大類的排序號
|
||||
private string GetBigBPCLS(string bpacc, DbConnection conn, DbTransaction tran)
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand("SELECT BPCLS FROM BPAB WHERE BPACC=@BPACC");
|
||||
cmd1.Connection = conn;
|
||||
cmd1.Transaction = tran;
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPACC", bpacc.Substring(0, 2) + "0000"));
|
||||
return cmd1.ExecuteScalar().ToString();
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
string newBpacc = e.Command.Parameters["@BPACC"].Value.ToString();
|
||||
int newBpord = Convert.ToInt32(e.Command.Parameters["@BPORD"].Value);
|
||||
e.Command.Connection.Open();
|
||||
e.Command.Parameters["@BPCLS"].Value =
|
||||
String.Format("{0}{1:00}00", GetBigBPCLS(newBpacc, e.Command.Connection, e.Command.Transaction).Substring(0, 2), newBpord);
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
|
||||
e.Command.Connection.Open();
|
||||
e.Command.Transaction = e.Command.Connection.BeginTransaction();
|
||||
|
||||
// 修改自己的排序號碼
|
||||
int newBpord = Convert.ToInt32(e.Command.Parameters["@BPORD"].Value);
|
||||
string oldBpcls = ViewState["OLD_BPCLS"] != null ? ViewState["OLD_BPCLS"].ToString() : "";
|
||||
string newBpacc = e.Command.Parameters["@BPACC"].Value.ToString();
|
||||
e.Command.Parameters["@BPCLS"].Value =
|
||||
String.Format("{0}{1:00}00", GetBigBPCLS(newBpacc, e.Command.Connection, e.Command.Transaction).Substring(0, 2), newBpord);
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Updated(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
int newBpord = Convert.ToInt32(e.Command.Parameters["@BPORD"].Value);
|
||||
int oldBpord = ViewState["OLD_BPORD"] != null && ViewState["OLD_BPORD"].ToString() != "" ? Convert.ToInt32(ViewState["OLD_BPORD"]) : 0;
|
||||
string oldBpcls = ViewState["OLD_BPCLS"] != null ? ViewState["OLD_BPCLS"].ToString() : "";
|
||||
string newBpacc = e.Command.Parameters["@BPACC"].Value.ToString();
|
||||
string oldBpacc = e.Command.Parameters["@OLD_BPACC"].Value.ToString();
|
||||
|
||||
try
|
||||
{
|
||||
if (oldBpacc.Substring(0, 2) != newBpacc.Substring(0, 2) || newBpord != oldBpord)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("UPDATE BPAB SET TRDAT=GETDATE(), TRMOD='UPDATE', TRUSR=@TRUSR, APPNO = APPNO + 1 ");
|
||||
DbCommand cmd = Query.NewCommand();
|
||||
cmd.Connection = e.Command.Connection;
|
||||
cmd.Transaction = e.Command.Transaction;
|
||||
cmd.Parameters.Add(Query.NewParameter("TRUSR", UserId));
|
||||
|
||||
// 取得新大類的排序號
|
||||
string newBigBpcls = GetBigBPCLS(newBpacc, e.Command.Connection, e.Command.Transaction);
|
||||
|
||||
// 如果修改了大類,這個小類底下的科目都要移動過去
|
||||
if (oldBpacc.Substring(0, 2) != newBpacc.Substring(0, 2))
|
||||
{
|
||||
sb.Append(" , BPACC = @NEW_BPACC + SUBSTRING(BPACC, 5, 2) ");
|
||||
cmd.Parameters.Add(Query.NewParameter("NEW_BPACC", newBpacc.Substring(0, 4)));
|
||||
|
||||
sb.Append(" , BPCLS = @NEW_BPORD + SUBSTRING(BPCLS, 5, 2) ");
|
||||
cmd.Parameters.Add(Query.NewParameter("NEW_BPORD", newBigBpcls.Substring(0, 2) + newBpord.ToString("00")));
|
||||
}
|
||||
// 如果修改了排序號,那麼小類底下的排序號也要移動過去
|
||||
else if (newBpord != oldBpord)
|
||||
{
|
||||
sb.Append(" , BPCLS = @NEW_BPORD + SUBSTRING(BPCLS, 5, 2) ");
|
||||
cmd.Parameters.Add(Query.NewParameter("NEW_BPORD", newBigBpcls.Substring(0, 2) + newBpord.ToString("00")));
|
||||
}
|
||||
|
||||
sb.Append(" WHERE SUBSTRING(BPACC, 1, 4)=@OLD_BPACC");
|
||||
cmd.CommandText = sb.ToString();
|
||||
cmd.Parameters.Add(Query.NewParameter("OLD_BPACC", oldBpacc.Substring(0, 4)));
|
||||
cmd.ExecuteNonQuery();
|
||||
cmd.Dispose();
|
||||
}
|
||||
|
||||
// 連鎖更新科目對應
|
||||
ChainUpdateBPAA(oldBpacc, newBpacc, e.Command.Transaction);
|
||||
|
||||
e.Command.Transaction.Commit();
|
||||
e.Command.Connection.Close();
|
||||
}
|
||||
catch
|
||||
{
|
||||
e.Command.Transaction.Rollback();
|
||||
e.Command.Connection.Close();
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAB_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPAB.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAB.SelectedIndex == -1)
|
||||
gvBPAB.SelectedIndex = 0;
|
||||
|
||||
fvBPAB.DataBind();
|
||||
|
||||
if (fvBPAB.DataItem != null)
|
||||
{
|
||||
ViewState["OLD_BPACC"] = (fvBPAB.DataItem as DataRowView)["BPACC"];
|
||||
ViewState["OLD_BPCLS"] = (fvBPAB.DataItem as DataRowView)["BPCLS"];
|
||||
ViewState["OLD_BPORD"] = (fvBPAB.DataItem as DataRowView)["BPORD"];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAB_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPAB.SelectedIndex = 0;
|
||||
gvBPAB.DataBind();
|
||||
}
|
||||
|
||||
protected void dsBPABGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
gvBPAB.Visible = false;
|
||||
fvBPAB.ChangeMode(FormViewMode.Insert);
|
||||
fvBPAB_ModeChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Insert":
|
||||
break;
|
||||
case "Edit":
|
||||
break;
|
||||
case "Delete":
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPAB.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPAB_ModeChanged(sender, e);
|
||||
if (gvBPAB.Rows.Count == 0)
|
||||
DoAfterCommand("BIG");
|
||||
break;
|
||||
|
||||
case "Big":
|
||||
DoAfterCommand("BIG");
|
||||
break;
|
||||
|
||||
case "Small":
|
||||
DoAfterCommand("SMALL");
|
||||
break;
|
||||
|
||||
case "Detail":
|
||||
DoAfterCommand("DETAIL");
|
||||
break;
|
||||
|
||||
case "Return":
|
||||
//ParamList.Clear();
|
||||
DoAfterCommand("BPAA");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
|
||||
gvBPAB.DataBind();
|
||||
if (gvBPAB.SelectedIndex > gvBPAB.Rows.Count - 1)
|
||||
{
|
||||
gvBPAB.SelectedIndex = gvBPAB.Rows.Count - 1;
|
||||
gvBPAB.DataBind();
|
||||
}
|
||||
fvBPAB.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPAB_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.ReadOnly:
|
||||
gvBPAB.Visible = true;
|
||||
gvBPAB.DataBind();
|
||||
if (gvBPAB.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPAB.SelectedIndex == -1)
|
||||
{
|
||||
gvBPAB.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
gvBPAB.PageIndex = gvBPAB.PageCount - 1;
|
||||
gvBPAB.DataBind();
|
||||
gvBPAB.SelectedIndex = gvBPAB.Rows.Count - 1;
|
||||
}
|
||||
|
||||
fvBPAB.DataBind();
|
||||
}
|
||||
break;
|
||||
|
||||
case FormViewMode.Edit:
|
||||
gvBPAB.Visible = false;
|
||||
break;
|
||||
|
||||
case FormViewMode.Insert:
|
||||
gvBPAB.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void fvBPAB_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
SetClientFocus(fvBPAB, "txtBPAB_BPAME");
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
SetClientFocus(fvBPAB, "txtBPAB_BPAME");
|
||||
break;
|
||||
case FormViewMode.ReadOnly:
|
||||
if (fvBPAB.DataItem != null)
|
||||
{
|
||||
ViewState["OLD_BPACC"] = (fvBPAB.DataItem as DataRowView)["BPACC"];
|
||||
ViewState["OLD_BPCLS"] = (fvBPAB.DataItem as DataRowView)["BPCLS"];
|
||||
ViewState["OLD_BPORD"] = (fvBPAB.DataItem as DataRowView)["BPORD"];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemCreated(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPAB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
(fvBPAB.FindControl("lbBPAB_BPNUM") as ITextControl).Text = _BPNUM;
|
||||
(fvBPAB.FindControl("lbBPAB_BPPYN") as ITextControl).Text = _BPPYN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPAB_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(sender as GridView, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPAB_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in gvBPAB.Rows)
|
||||
SetGridViewMouseBehavier(gvBPAB, row);
|
||||
}
|
||||
|
||||
// 取得大類名稱
|
||||
protected string GetBPACCBig(string bpacc)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand("SELECT BPAME FROM BPAB WHERE BPPYN=@BPPYN AND BPACC=@BPACC");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPYN", _BPPYN));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPACC", bpacc.Substring(0, 2) + "0000"));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o == null || o == DBNull.Value)
|
||||
return "";
|
||||
else
|
||||
return o.ToString();
|
||||
}
|
||||
|
||||
// 取得自動編號的科目編號
|
||||
private string GetNewBPACC(string bpaccBig)
|
||||
{
|
||||
return WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPAB", "BPACC", String.Format("\"{0}\"<99>\"00\"", bpaccBig.Substring(0, 2)), string.Format(" BPPYN='{0}'", _BPPYN));
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
string bpaccBig = (fvBPAB.FindControl("dlBPAB_BPACCBig") as DropDownList).SelectedValue;
|
||||
e.Values["BPACC"] = GetNewBPACC(bpaccBig);
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
_OLD_BPACC = ViewState["OLD_BPACC"] != null ? ViewState["OLD_BPACC"].ToString() : "";
|
||||
string bpaccBig = (fvBPAB.FindControl("dlBPAB_BPACCBig") as DropDownList).SelectedValue;
|
||||
if (_OLD_BPACC.Substring(0, 2) != bpaccBig.Substring(0, 2))
|
||||
e.NewValues["BPACC"] = GetNewBPACC(bpaccBig);
|
||||
}
|
||||
|
||||
protected void cvBPORD_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = int.TryParse(args.Value, out i) && i > 0 && i < 100;
|
||||
}
|
||||
|
||||
protected void fvBPAB_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
// 1. 是否已有科目設定
|
||||
DbCommand cmd1 = Query.NewCommand("SELECT COUNT(1) FROM BPAB WHERE BPPYN=@BPPYN AND BPACC >= @BPACC + '01' AND BPACC <= @BPACC + '99'");
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPACC", e.Values["BPACC"].ToString().Substring(0, 4)));
|
||||
int i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
||||
if (i > 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "本小類之下有科目。不可刪除!";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Deleting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
e.Command.Connection.Open();
|
||||
e.Command.Transaction = e.Command.Connection.BeginTransaction();
|
||||
}
|
||||
|
||||
protected void ChainUpdateBPAA(string old_bpacc, string new_bpacc, DbTransaction tran)
|
||||
{
|
||||
// 取得專案科目對應資料
|
||||
GetData gd = new GetData();
|
||||
gd.Query = Query;
|
||||
DataTable bpaa = gd.GetBPAA_BPPYN(_BPPYN);
|
||||
DataRow bpaaRow = bpaa.Rows[0];
|
||||
DbCommand cmdUpdateBPAA = Query.NewCommand();
|
||||
cmdUpdateBPAA.Connection = tran.Connection;
|
||||
cmdUpdateBPAA.Transaction = tran;
|
||||
cmdUpdateBPAA.Parameters.Add(Query.NewParameter("TRUSR", UserId));
|
||||
cmdUpdateBPAA.Parameters.Add(Query.NewParameter("BPPYN", _BPPYN));
|
||||
cmdUpdateBPAA.Parameters.Add(Query.NewParameter("BPSXX", new_bpacc));
|
||||
|
||||
// 核對科目對應資料,如果已有科目對應,則清除科目對應
|
||||
string[] fieldNames = {"BPS01", "BPS02", "BPS03", "BPS04", "BPS05",
|
||||
"BPS06", "BPS07", "BPS08", "BPS09", "BPS10",
|
||||
"BPS11", "BPS12", "BPS13", "BPS14", "BPS15",
|
||||
"BPS16", "BPS17", "BPS18", "BPS19", "BPS20",
|
||||
"BPS21", "BPS22", "BPS23", "BPS24", "BPS25",
|
||||
"BPS26", "BPS27", "BPS28", "BPS29", "BPS30"};
|
||||
for (int i = 0; i < fieldNames.Length; i++)
|
||||
{
|
||||
if (bpaaRow[fieldNames[i]] != DBNull.Value && bpaaRow[fieldNames[i]].ToString() == old_bpacc)
|
||||
{
|
||||
cvMessage.ErrorMessage += String.Format("\"{0}\" 的科目對應因科目刪除而清除<br/>", GetString("BPAA." + fieldNames[i]));
|
||||
cmdUpdateBPAA.CommandText = String.Format("UPDATE BPAA SET {0}=@BPSXX, TRDAT=GETDATE(), TRMOD='UPDATE', TRUSR=@TRUSR WHERE BPPYN=@BPPYN", fieldNames[i]);
|
||||
cmdUpdateBPAA.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void dsBPABForm_Deleted(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
cvMessage.IsValid = true;
|
||||
cvMessage.ErrorMessage = "";
|
||||
ChainUpdateBPAA(e.Command.Parameters["@OLD_BPACC"].Value.ToString(), "", e.Command.Transaction);
|
||||
e.Command.Transaction.Commit();
|
||||
e.Command.Connection.Close();
|
||||
cvMessage.IsValid = cvMessage.ErrorMessage == "";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,463 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBpja.ascx.cs" Inherits="forms_customer_fmBpja" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server"
|
||||
CssClass="pageTitle" TextMessageId="FMBPJA.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage"
|
||||
runat="server" Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1"
|
||||
runat="server" ActiveViewIndex="0">
|
||||
<asp:View ID="EditView" runat="server">
|
||||
<asp:SqlDataSource ID="dsBPJAGrid"
|
||||
runat="server" ConflictDetection="CompareAllValues"
|
||||
SelectCommand="SELECT * FROM BPJA WHERE (1 = 0)"
|
||||
OnSelected="dsBPJAGrid_Selected"></asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPJAForm"
|
||||
runat="server" InsertCommand="INSERT INTO dbo.BPJA
|
||||
(BPPYN, BPJNO, BPJME, BPQTY, BPCLS, APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@BPPYN, @BPJNO, @BPJME, @BPQTY, @BPCLS, 1, GETDATE(), 'INSERT', @TRUSR)"
|
||||
UpdateCommand="UPDATE BPJA SET BPJME = @BPJME, BPQTY = @BPQTY, APPNO = APPNO + 1, TRDAT = GETDATE(), TRMOD = 'UPDATE', TRUSR = @TRUSR, BPCLS =@BPCLS WHERE (BPPYN = @OLD_BPPYN) AND (BPJNO = @OLD_BPJNO) AND (APPNO = @OLD_APPNO)"
|
||||
DeleteCommand="DELETE FROM BPJA WHERE BPPYN = @OLD_BPPYN AND BPJNO = @OLD_BPJNO AND APPNO = @OLD_APPNO"
|
||||
ConflictDetection="CompareAllValues"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
OnInserting="dsBPJAForm_Inserting"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT TRDAT, TRMOD, TRUSR, BPPYN, BPJNO, BPJME, APPNO, BPQTY, BPCLS FROM BPJA WHERE (BPPYN = @BPPYN) AND (BPJNO = @BPJNO)">
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
<asp:Parameter Name="BPJNO" />
|
||||
<asp:Parameter Name="BPJME" />
|
||||
<asp:Parameter Name="BPQTY" />
|
||||
<asp:Parameter Name="BPCLS" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BPJME" />
|
||||
<asp:Parameter Name="BPQTY" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="BPCLS" />
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPJNO" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPJNO" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPJA"
|
||||
Name="BPPYN" PropertyName="SelectedDataKey["BPPYN"]" />
|
||||
<asp:ControlParameter ControlID="gvBPJA"
|
||||
Name="BPJNO" PropertyName="SelectedDataKey["BPJNO"]" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="fvBPJA" runat="server"
|
||||
OnItemCommand="fvBPJA_ItemCommand"
|
||||
DataSourceID="dsBPJAForm" OnItemCreated="fvBPJA_ItemCreated"
|
||||
OnDataBound="fvBPJA_DataBound"
|
||||
OnItemDeleted="fvBPJA_ItemDeleted"
|
||||
OnItemInserted="fvBPJA_ItemInserted"
|
||||
OnItemUpdated="fvBPJA_ItemUpdated"
|
||||
OnModeChanged="fvBPJA_ModeChanged"
|
||||
OnModeChanging="fvBPJA_ModeChanging"
|
||||
OnItemDeleting="fvBPJA_ItemDeleting" EnableModelValidation="True">
|
||||
<ItemTemplate>
|
||||
<table width="858" cellpadding="0"
|
||||
cellspacing="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" CommandName="New"
|
||||
CssClass="button" Text="I.新增"
|
||||
TextMessageId="I.+INSERT" />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
AccessKey="M" CommandName="Edit"
|
||||
CssClass="button" Text="M.更正"
|
||||
TextMessageId="M.+UPDATE" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
AccessKey="T" CommandName="Delete"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmDelete);"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE" />
|
||||
</td>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="btnBPAB" runat="server"
|
||||
CommandName="Detail" CssClass="button"
|
||||
Text="B.等級設定" AccessKey="B" />
|
||||
</td>
|
||||
<td align="right">
|
||||
<cc1:WButton ID="WButton1" runat="server"
|
||||
CausesValidation="False" CommandName="Return"
|
||||
CssClass="button" Text="R.返回年度接單"
|
||||
AccessKey="R" Width="105px" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPJA_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPJNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPJNO+:">職稱代號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJA_BPJNO" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPJNO", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPQTYLabel0" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">職稱類別:</cc1:WLabel>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJA_BPCLS" runat="server" CssClass="textInput"
|
||||
Text='<%# Eval("BPCLS", "{0}") + " " + GetLookup("BCLS", Eval("BPCLS", "{0}"), "BSSCR", " BSPAR=`BPJACLS` ") %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPQTYLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPQTY+:">人數:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJA_BPQTY" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPQTY", "{0:###,###,###,###,##0.####}") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPJMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPJME+:">職稱名稱:</cc1:WLabel></td>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbBPJA_BPJME" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPJME", "{0:c}") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</ItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Insert"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CommandName="Cancel"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPJME"
|
||||
runat="server" ControlToValidate="txtBPJA_BPJME"
|
||||
Display="None" ErrorMessage="請輸入職稱名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPQTY"
|
||||
runat="server" ControlToValidate="txtBPJA_BPQTY"
|
||||
Display="None" ErrorMessage="請輸入人數"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPQTY"
|
||||
runat="server" ControlToValidate="txtBPJA_BPQTY"
|
||||
Display="None" ErrorMessage="人數請輸入數字"
|
||||
OnServerValidate="CustomValidator1_ServerValidate"
|
||||
SetFocusOnError="True"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJA_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJA_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", _BPPYN, "BPPYM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJA_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJA_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPJNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPJNO+:">職稱代號:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WLabel ID="WLabel3" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">(自動編號)</cc1:WLabel></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPQTYLabel0" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">職稱類別:</cc1:WLabel>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<cc1:WDropDownList ID="ddlBPJA_BPCLS" runat="server" CssClass="textInput"
|
||||
DataTextField="BSSCR" DataValueField="BSCLS"
|
||||
SelectedValue='<%# Bind("BPCLS") %>'
|
||||
SQL="SELECT BSCLS, BSCLS + ' ' + BSSCR BSSCR FROM BCLS WHERE BSPAR='BPJACLS' ORDER BY BSCLS">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPQTYLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPQTY+:">人數:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJA_BPQTY" runat="server" CssClass="textInput"
|
||||
MaxLength="4" Text='<%# Bind("BPQTY", "{0:###,###,###,###,##0.####}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPJMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPJME+:">職稱名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPJA_BPJME" runat="server"
|
||||
CssClass="textInput" MaxLength="20"
|
||||
Text='<%# Bind("BPJME") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td style="width: 18px">
|
||||
<asp:ImageButton ID="txtBPJA_BPJME_WQRY" runat="server"
|
||||
ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Update"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CommandName="Cancel"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPJME"
|
||||
runat="server" ControlToValidate="txtBPJA_BPJME"
|
||||
Display="None" ErrorMessage="請輸入職稱名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPQTY"
|
||||
runat="server" ControlToValidate="txtBPJA_BPQTY"
|
||||
Display="None" ErrorMessage="請輸入人數"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPQTY"
|
||||
runat="server" ControlToValidate="txtBPJA_BPQTY"
|
||||
Display="None" ErrorMessage="人數請輸入數字"
|
||||
OnServerValidate="CustomValidator1_ServerValidate"
|
||||
SetFocusOnError="True"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJA_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJA_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJA_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPNUM %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJA_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPJNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPJNO+:">職稱代號:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:Label ID="lbBPJA_BPJNO" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPJNO", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" class="dataEditCell"
|
||||
colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPQTYLabel0" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="">職稱類別:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<cc1:WDropDownList ID="ddlBPJA_BPCLS" runat="server" CssClass="textInput"
|
||||
DataTextField="BSSCR" DataValueField="BSCLS"
|
||||
SelectedValue='<%# Bind("BPCLS") %>'
|
||||
SQL="SELECT BSCLS, BSCLS + ' ' + BSSCR BSSCR FROM BCLS WHERE BSPAR='BPJACLS' ORDER BY BSCLS">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
<td align="right" class="dataEditCell" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPQTYLabel" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPQTY+:">人數:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJA_BPQTY" runat="server" CssClass="textInput"
|
||||
MaxLength="4" Text='<%# Bind("BPQTY", "{0:###,###,###,###,##0.####}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJA_BPJMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPJME+:">職稱名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPJA_BPJME" runat="server"
|
||||
CssClass="textInput" MaxLength="20"
|
||||
Text='<%# Bind("BPJME") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td style="width: 18px">
|
||||
<asp:ImageButton ID="txtBPJA_BPJME_WQRY" runat="server"
|
||||
ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPJA_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
</EditItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="gvBPJA" runat="server"
|
||||
DataSourceID="dsBPJAGrid" DataKeyNames="BPPYN,BPJNO"
|
||||
AutoGenerateColumns="False"
|
||||
AllowPaging="True" OnDataBound="gvBPJA_DataBound"
|
||||
OnPageIndexChanged="gvBPJA_PageIndexChanged"
|
||||
OnRowDataBound="gvBPJA_RowDataBound"
|
||||
OnSelectedIndexChanged="gvBPJA_SelectedIndexChanged"
|
||||
EnableModelValidation="True">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText=""
|
||||
ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField AccessibleHeaderText="BPAA.BPPYN"
|
||||
DataField="BPPYN" HeaderText="BPPYN"
|
||||
ReadOnly="True" SortExpression="BPPYN" />
|
||||
<asp:BoundField AccessibleHeaderText="BPJA.BPJNO"
|
||||
DataField="BPJNO" HeaderText="BPJNO"
|
||||
ReadOnly="True" SortExpression="BPJNO" />
|
||||
<asp:BoundField AccessibleHeaderText="BPJA.BPJME"
|
||||
DataField="BPJME" HeaderText="BPJME"
|
||||
SortExpression="BPJME" />
|
||||
<asp:TemplateField HeaderText="職稱等級">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbBPJA_BPCLS" runat="server" CssClass="textInput"
|
||||
Text='<%# Eval("BPCLS", "{0}") + " " + GetLookup("BCLS", Eval("BPCLS", "{0}"), "BSSCR", " BSPAR=`BPJACLS` ") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField AccessibleHeaderText="BPJA.BPQTY"
|
||||
DataField="BPQTY" HeaderText="BPQTY"
|
||||
SortExpression="BPQTY" />
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager"
|
||||
runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -0,0 +1,293 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 年度職稱設定
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBpja : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPNUM = "";
|
||||
protected string _BPPYN = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BPJA ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BPPYN, BPJNO";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//if (IsPostBack)
|
||||
// gvBPJA.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsBPJAForm.ConnectionString = ConnectionString;
|
||||
dsBPJAGrid.ConnectionString = ConnectionString;
|
||||
|
||||
_BPPYN = GetStringParam("BPPYN");
|
||||
_BPNUM = GetStringParam("BPNUM");
|
||||
|
||||
GetGridViewRowColor(gvBPJA);
|
||||
|
||||
Search();
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsBPJAGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPJAGrid, "BPPYN", _BPPYN, "", true);
|
||||
sql.Append(order);
|
||||
dsBPJAGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void dsBPJAForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
e.Command.Parameters["@BPPYN"].Value = _BPPYN;
|
||||
e.Command.Parameters["@BPJNO"].Value = WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPJA", "BPJNO", "<ZZ>", String.Format(" BPPYN='{0}'", _BPPYN));
|
||||
}
|
||||
|
||||
protected void dsBPJAForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void gvBPJA_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPJA.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPJA.SelectedIndex == -1)
|
||||
gvBPJA.SelectedIndex = 0;
|
||||
|
||||
// 返回時,回到之前選擇的那一筆
|
||||
// BPPYN,BPJNO
|
||||
if (ParamList.ContainsKey("BPPYN") && ParamList.ContainsKey("BPJNO"))
|
||||
{
|
||||
DataView dv = dsBPJAGrid.Select(new DataSourceSelectArguments()) as DataView;
|
||||
dv.RowFilter = String.Format("BPPYN='{0}' and BPJNO='{1}'", ParamList["BPPYN"], ParamList["BPJNO"]);
|
||||
if (dv.Count > 0)
|
||||
{
|
||||
int rowIndex = dv.Table.Rows.IndexOf(dv[0].Row);
|
||||
gvBPJA.PageIndex = (rowIndex / gvBPJA.PageSize);
|
||||
gvBPJA.SelectedIndex = rowIndex - gvBPJA.PageIndex * gvBPJA.PageSize;
|
||||
}
|
||||
|
||||
// ParamList.Remove("BPPYN");
|
||||
ParamList.Remove("BPJNO");
|
||||
}
|
||||
|
||||
fvBPJA.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPJA_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPJA.SelectedIndex = 0;
|
||||
gvBPJA.DataBind();
|
||||
}
|
||||
|
||||
protected void dsBPJAGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
fvBPJA.ChangeMode(FormViewMode.Insert);
|
||||
fvBPJA_ModeChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPJA_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Insert":
|
||||
break;
|
||||
case "Edit":
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPJA.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPJA_ModeChanged(sender, e);
|
||||
if (gvBPJA.Rows.Count == 0)
|
||||
DoAfterCommand("BPAA");
|
||||
break;
|
||||
case "Return":
|
||||
DoAfterCommand("BPAA");
|
||||
break;
|
||||
case "Detail":
|
||||
fvBPJA.DataBind();
|
||||
if (fvBPJA.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPJA.DataItem as DataRowView;
|
||||
ParamList["BPPYN"] = rv["BPPYN"];
|
||||
ParamList["BPJNO"] = rv["BPJNO"];
|
||||
ParamList["BPJME"] = rv["BPJME"];
|
||||
DoAfterCommand("BPJB");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPJA_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPJA.DataBind();
|
||||
if (gvBPJA.SelectedIndex > gvBPJA.Rows.Count - 1)
|
||||
{
|
||||
gvBPJA.SelectedIndex = gvBPJA.Rows.Count - 1;
|
||||
gvBPJA.DataBind();
|
||||
}
|
||||
fvBPJA.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPJA_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPJA_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPJA_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPJA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.ReadOnly:
|
||||
gvBPJA.Visible = true;
|
||||
gvBPJA.DataBind();
|
||||
if (gvBPJA.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPJA.SelectedIndex == -1)
|
||||
{
|
||||
gvBPJA.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
gvBPJA.PageIndex = gvBPJA.PageCount - 1;
|
||||
gvBPJA.DataBind();
|
||||
gvBPJA.SelectedIndex = gvBPJA.Rows.Count - 1;
|
||||
}
|
||||
gvBPJA.DataBind();
|
||||
fvBPJA.DataBind();
|
||||
}
|
||||
break;
|
||||
|
||||
case FormViewMode.Edit:
|
||||
gvBPJA.Visible = false;
|
||||
break;
|
||||
|
||||
case FormViewMode.Insert:
|
||||
gvBPJA.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPJA_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void fvBPJA_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPJA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
Control ddlBPJA_BPCLS = fvBPJA.FindControl("ddlBPJA_BPCLS");
|
||||
RegisterLookupEvent(fvBPJA, "txtBPJA_BPJME_WQRY", "txtBPJA_BPJME", "txtBPJA_BPJME", "BCLS_BPJA_BPNAM", " BSCLS LIKE '\" + document.getElementById(\"" + ddlBPJA_BPCLS.ClientID + "\").value + \"%'");
|
||||
SetClientFocus(fvBPJA, "txtBPJA_BPJME");
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
ddlBPJA_BPCLS = fvBPJA.FindControl("ddlBPJA_BPCLS");
|
||||
RegisterLookupEvent(fvBPJA, "txtBPJA_BPJME_WQRY", "txtBPJA_BPJME", "txtBPJA_BPJME", "BCLS_BPJA_BPNAM", " BSCLS LIKE '\" + document.getElementById(\"" + ddlBPJA_BPCLS.ClientID + "\").value + \"%'");
|
||||
SetClientFocus(fvBPJA, "txtBPJA_BPJME");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
CustomValidator v = source as CustomValidator;
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && int.TryParse(args.Value, out i) && i > 0;
|
||||
}
|
||||
|
||||
protected void fvBPJA_ItemCreated(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPJA.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
(fvBPJA.FindControl("lbBPJA_BPPYN") as ITextControl).Text = _BPPYN;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPJA_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(gvBPJA, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPJA_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in gvBPJA.Rows)
|
||||
SetGridViewMouseBehavier(gvBPJA, row);
|
||||
}
|
||||
|
||||
protected void fvBPJA_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
// 1. 是否已有科目設定
|
||||
DbCommand cmd1 = Query.NewCommand("SELECT COUNT(1) FROM BPJB WHERE BPPYN=@BPPYN AND BPJNO=@BPJNO");
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPJNO", e.Values["BPJNO"]));
|
||||
int i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
||||
cmd1.Dispose();
|
||||
if (i > 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "本職稱已有等級設定。不可刪除!";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
// 2. 是否有派遣人員使用此職稱
|
||||
DbCommand cmd2 = Query.NewCommand("SELECT COUNT(1) FROM RASN WHERE RAPYN=@BPPYN AND RAJNO=@BPJNO");
|
||||
cmd2.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
||||
cmd2.Parameters.Add(Query.NewParameter("BPJNO", e.Values["BPJNO"]));
|
||||
i = Convert.ToInt32(Query.ExecuteScalar(cmd2));
|
||||
cmd2.Dispose();
|
||||
if (i > 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "本職稱已有派遣人員使用。不可刪除!";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,789 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBpjb.ascx.cs" Inherits="forms_customer_fmBpjb" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server"
|
||||
CssClass="pageTitle" TextMessageId="FMBPJB.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage"
|
||||
runat="server" Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1"
|
||||
runat="server" ActiveViewIndex="0">
|
||||
<asp:View ID="EditView" runat="server">
|
||||
<asp:SqlDataSource ID="dsBPJBGrid"
|
||||
runat="server" ConflictDetection="CompareAllValues"
|
||||
SelectCommand="SELECT * FROM BPJB WHERE (1 = 0)"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
OnSelected="dsBPJBGrid_Selected">
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPJBForm"
|
||||
runat="server" InsertCommand="INSERT INTO BPJB
|
||||
(BPPYN, BPJNO, BPCNO, BPCME, BPSRM, BPSRD, BPP01, BPP02, BPP03, BPP04, BPP05, APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@BPPYN, @BPJNO, @BPCNO, @BPCME, @BPSRM, @BPSRD, @BPP01, @BPP02, @BPP03, @BPP04, @BPP05, 1, GETDATE(), 'INSERT', @TRUSR)"
|
||||
UpdateCommand="UPDATE BPJB SET
|
||||
BPCME = @BPCME,
|
||||
BPSRM = @BPSRM,
|
||||
BPSRD = @BPSRD,
|
||||
BPP01 = @BPP01,
|
||||
BPP02 = @BPP02,
|
||||
BPP03 = @BPP03,
|
||||
BPP04 = @BPP04,
|
||||
BPP05 = @BPP05,
|
||||
APPNO = APPNO + 1,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'UPDATE',
|
||||
TRUSR = @TRUSR
|
||||
WHERE BPPYN = @OLD_BPPYN
|
||||
AND BPJNO = @OLD_BPJNO
|
||||
AND BPCNO = @OLD_BPCNO
|
||||
AND APPNO = @OLD_APPNO"
|
||||
DeleteCommand="DELETE FROM BPJB
|
||||
WHERE BPPYN = @OLD_BPPYN
|
||||
AND BPJNO = @OLD_BPJNO
|
||||
AND BPCNO = @OLD_BPCNO
|
||||
AND APPNO = @OLD_APPNO"
|
||||
ConflictDetection="CompareAllValues"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
OnInserting="dsBPJBForm_Inserting"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT * FROM BPJB WHERE BPPYN=@BPPYN AND BPJNO=@BPJNO AND BPCNO=@BPCNO" OnUpdating="dsBPJBForm_Updating">
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BPPYN" />
|
||||
<asp:Parameter Name="BPJNO" />
|
||||
<asp:Parameter Name="BPCNO" />
|
||||
<asp:Parameter Name="BPCME" />
|
||||
<asp:Parameter Name="BPSRM" />
|
||||
<asp:Parameter Name="BPSRD" />
|
||||
<asp:Parameter Name="BPP01" />
|
||||
<asp:Parameter Name="BPP02" />
|
||||
<asp:Parameter Name="BPP03" />
|
||||
<asp:Parameter Name="BPP04" />
|
||||
<asp:Parameter Name="BPP05" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BPCME" />
|
||||
<asp:Parameter Name="BPSRM" />
|
||||
<asp:Parameter Name="BPSRD" />
|
||||
<asp:Parameter Name="BPP01" />
|
||||
<asp:Parameter Name="BPP02" />
|
||||
<asp:Parameter Name="BPP03" />
|
||||
<asp:Parameter Name="BPP04" />
|
||||
<asp:Parameter Name="BPP05" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPJNO" />
|
||||
<asp:Parameter Name="OLD_BPCNO" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BPPYN" />
|
||||
<asp:Parameter Name="OLD_BPJNO" />
|
||||
<asp:Parameter Name="OLD_BPCNO" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPJB"
|
||||
Name="BPPYN" PropertyName="SelectedDataKey["BPPYN"]" />
|
||||
<asp:ControlParameter ControlID="gvBPJB"
|
||||
Name="BPJNO" PropertyName="SelectedDataKey["BPJNO"]" />
|
||||
<asp:ControlParameter ControlID="gvBPJB"
|
||||
Name="BPCNO" PropertyName="SelectedDataKey["BPCNO"]" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="fvBPJB" runat="server"
|
||||
OnItemCommand="fvBPJB_ItemCommand"
|
||||
DataSourceID="dsBPJBForm" OnItemCreated="fvBPJB_ItemCreated"
|
||||
OnDataBound="fvBPJB_DataBound"
|
||||
OnItemDeleted="fvBPJB_ItemDeleted"
|
||||
OnItemInserted="fvBPJB_ItemInserted"
|
||||
OnItemUpdated="fvBPJB_ItemUpdated"
|
||||
OnModeChanged="fvBPJB_ModeChanged"
|
||||
OnModeChanging="fvBPJB_ModeChanging"
|
||||
OnItemDeleting="fvBPJB_ItemDeleting">
|
||||
<ItemTemplate>
|
||||
<table width="860" cellpadding="0"
|
||||
cellspacing="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" CommandName="New"
|
||||
CssClass="button" Text="I.新增"
|
||||
TextMessageId="I.+INSERT" />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
AccessKey="M" CommandName="Edit"
|
||||
CssClass="button" Text="M.更正"
|
||||
TextMessageId="M.+UPDATE" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
AccessKey="T" CommandName="Delete"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmDelete);"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE" />
|
||||
</td>
|
||||
<td align="right">
|
||||
<cc1:WButton ID="btnBPAB" runat="server"
|
||||
CommandName="Return" CssClass="button"
|
||||
Text="R.返回職稱設定" AccessKey="R"
|
||||
Width="105px" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPJB_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUM" runat="server"
|
||||
CssClass="textInput" Text="<%# _BPNUM %>"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPJNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPJNO+:">職稱代號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPJNO" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPJNO", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPJMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPJME+:">職稱名稱:</cc1:WLabel></td>
|
||||
<td colspan="3" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPJME" runat="server"
|
||||
CssClass="textInput" Text="<%# _BPJME %>"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPCNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPCNO+:">等級代號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPCNO" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPCNO", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPCMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPCME+:">等級名稱:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPCME" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPCME", "{0:c}") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPSRMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPSRM+:">月薪:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPSRM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPSRM", "{0:###,###,###,###,##0.####}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPSRDLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPSRD+:">時薪:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPSRD" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPSRD", "{0:###,###,###,###,##0.####}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP01+:">全勤獎金:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPP01" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPP01", "{0:###,###,###,###,##0.####}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP02Label0" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP02+:">伙食津貼:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPP02" runat="server" CssClass="textInput"
|
||||
Text='<%# Bind("BPP02", "{0:###,###,###,###,##0.####}") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP03+:">職務加給:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPP03" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPP03", "{0:###,###,###,###,##0.####}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP04+:">派駐津貼:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPP04" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPP04", "{0:###,###,###,###,##0.####}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP05Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP05+:">其他津貼:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPP05" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPP05", "{0:###,###,###,###,##0.####}") %>'></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</ItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Insert"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CommandName="Cancel"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPCME"
|
||||
runat="server" ControlToValidate="txtBPJB_BPCME"
|
||||
Display="None" ErrorMessage="請輸入等級名稱"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPSRM"
|
||||
runat="server" ControlToValidate="txtBPJB_BPSRM"
|
||||
Display="None" ErrorMessage="請輸入月薪"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPSRD"
|
||||
runat="server" ControlToValidate="txtBPJB_BPSRD"
|
||||
Display="None" ErrorMessage="請輸入時薪"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP01"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP01"
|
||||
Display="None" ErrorMessage="請輸入全勤獎金"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP02"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP02"
|
||||
Display="None" ErrorMessage="請輸入伙食津貼"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP03"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP03"
|
||||
Display="None" ErrorMessage="請輸入職務加給"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP04"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP04"
|
||||
Display="None" ErrorMessage="請輸入派駐津貼"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP05"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP05"
|
||||
Display="None" ErrorMessage="請輸入其他津貼"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPPYN %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYM+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", _BPPYN, "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPNUM" runat="server"
|
||||
CssClass="textInput" Text="<%# _BPNUM %>"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPJNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPJNO+:">職稱代號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPJNO" runat="server"
|
||||
CssClass="textInput" Text='<%# _BPJNO %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPJMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPJME+:">職稱名稱:</cc1:WLabel></td>
|
||||
<td colspan="3" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPJME" runat="server"
|
||||
CssClass="textInput" Text="<%# _BPJME %>"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPCNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPCNO+:">等級代號:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPCNO" runat="server"
|
||||
CssClass="textInput" Text="(自動編號)"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPCMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPCME+:">等級名稱:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPCME"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="20" Text='<%# Bind("BPCME", "{0:c}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPSRMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPSRM+:">月薪:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPSRM"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPSRM", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPSRDLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPSRD+:">時薪:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPSRD"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPSRD", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP01+:">全勤獎金:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPJB_BPP01"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP01", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP02Label" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP02+:">伙食津貼:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPJB_BPP02"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP02", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP03+:">職務加給:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPP03"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP03", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP04+:">派駐津貼:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPP04"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP04", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP05Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP05+:">其他津貼:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPJB_BPP05"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP05", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Update"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CommandName="Cancel"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPCME"
|
||||
runat="server" ControlToValidate="txtBPJB_BPCME"
|
||||
Display="None" ErrorMessage="請輸入等級名稱"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPSRM"
|
||||
runat="server" ControlToValidate="txtBPJB_BPSRM"
|
||||
Display="None" ErrorMessage="請輸入月薪"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPSRD"
|
||||
runat="server" ControlToValidate="txtBPJB_BPSRD"
|
||||
Display="None" ErrorMessage="請輸入時薪"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP01"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP01"
|
||||
Display="None" ErrorMessage="請輸入全勤獎金"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP02"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP02"
|
||||
Display="None" ErrorMessage="請輸入伙食津貼"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP03"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP03"
|
||||
Display="None" ErrorMessage="請輸入職務加給"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP04"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP04"
|
||||
Display="None" ErrorMessage="請輸入派駐津貼"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP05"
|
||||
runat="server" ControlToValidate="txtBPJB_BPP05"
|
||||
Display="None" ErrorMessage="請輸入其他津貼"
|
||||
OnServerValidate="cvBPSRM_ServerValidate"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px;
|
||||
width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPAA.BPPME+:">專案年度名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("BPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPNUM" runat="server"
|
||||
CssClass="textInput" Text="<%# _BPNUM %>"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", _BPNUM, "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPJNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPJNO+:">職稱代號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPJNO" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPJNO", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPJMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJA.BPJME+:">職稱名稱:</cc1:WLabel></td>
|
||||
<td colspan="3" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPJB_BPJME" runat="server"
|
||||
CssClass="textInput" Text="<%# _BPJME %>"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPCNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPCNO+:">等級代號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPJB_BPCNO" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPCNO", "{0:c}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPCMELabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPCME+:">等級名稱:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPCME"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="20" Text='<%# Bind("BPCME", "{0:c}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPSRMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPSRM+:">月薪:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPSRM"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPSRM", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPSRDLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPSRD+:">時薪:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPSRD"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPSRD", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP01+:">全勤獎金:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPJB_BPP01"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP01", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP02Label" runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP02+:">伙食津貼:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPJB_BPP02"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP02", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP03+:">職務加給:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPP03"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP03", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP04+:">派駐津貼:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPJB_BPP04"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP04", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPJB_BPP05Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="BPJB.BPP05+:">其他津貼:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPJB_BPP05"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6" Text='<%# Bind("BPP05", "{0:#####0}") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPJB_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO") %>' />
|
||||
</EditItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="gvBPJB" runat="server"
|
||||
DataSourceID="dsBPJBGrid" DataKeyNames="BPPYN,BPJNO,BPCNO"
|
||||
AutoGenerateColumns="False"
|
||||
AllowPaging="True" OnDataBound="gvBPJB_DataBound"
|
||||
OnPageIndexChanged="gvBPJB_PageIndexChanged"
|
||||
OnRowDataBound="gvBPJB_RowDataBound"
|
||||
OnSelectedIndexChanged="gvBPJB_SelectedIndexChanged">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText=""
|
||||
ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField AccessibleHeaderText="BPAA.BPPYN"
|
||||
DataField="BPPYN" HeaderText="BPPYN"
|
||||
ReadOnly="True" SortExpression="BPPYN" />
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPJNO"
|
||||
DataField="BPJNO" HeaderText="BPJNO"
|
||||
ReadOnly="True" SortExpression="BPJNO" />
|
||||
<asp:TemplateField AccessibleHeaderText="BPJA.BPJME"
|
||||
HeaderText="BPJME" SortExpression="BPJME">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server"
|
||||
Text="<%# _BPJME %>"></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPCNO"
|
||||
DataField="BPCNO" HeaderText="BPCNO"
|
||||
ReadOnly="True" SortExpression="BPCNO" />
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPCME"
|
||||
DataField="BPCME" HeaderText="BPCME"
|
||||
SortExpression="BPCME" />
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPSRM"
|
||||
DataField="BPSRM" DataFormatString="{0:###,##0.##}"
|
||||
HeaderText="BPSRM" HtmlEncode="False"
|
||||
SortExpression="BPSRM">
|
||||
<HeaderStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right"
|
||||
Width="60px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPSRD"
|
||||
DataField="BPSRD" DataFormatString="{0:###,##0.##}"
|
||||
HeaderText="BPSRD" HtmlEncode="False"
|
||||
SortExpression="BPSRD">
|
||||
<HeaderStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right"
|
||||
Width="60px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPP01"
|
||||
DataField="BPP01" DataFormatString="{0:###,##0.##}"
|
||||
HeaderText="BPP01" HtmlEncode="False"
|
||||
SortExpression="BPP01">
|
||||
<HeaderStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right"
|
||||
Width="60px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPP02"
|
||||
DataField="BPP02" DataFormatString="{0:###,##0.##}"
|
||||
HeaderText="BPP02" HtmlEncode="False"
|
||||
SortExpression="BPP02">
|
||||
<HeaderStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right"
|
||||
Width="60px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPP03"
|
||||
DataField="BPP03" DataFormatString="{0:###,##0.##}"
|
||||
HeaderText="BPP03" HtmlEncode="False"
|
||||
SortExpression="BPP03">
|
||||
<HeaderStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right"
|
||||
Width="60px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPP04"
|
||||
DataField="BPP04" DataFormatString="{0:###,##0.##}"
|
||||
HeaderText="BPP04" HtmlEncode="False"
|
||||
SortExpression="BPP04">
|
||||
<HeaderStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right"
|
||||
Width="60px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPJB.BPP05"
|
||||
DataField="BPP05" DataFormatString="{0:###,##0.##}"
|
||||
HeaderText="BPP05" HtmlEncode="False"
|
||||
SortExpression="BPP05">
|
||||
<HeaderStyle HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right"
|
||||
Width="60px" />
|
||||
</asp:BoundField>
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager"
|
||||
runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
<br />
|
||||
@@ -0,0 +1,276 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 職稱等級設定
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBpjb : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPNUM = "";
|
||||
protected string _BPPYN = "";
|
||||
protected string _BPJNO = "";
|
||||
protected string _BPJME = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BPJB ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BPPYN, BPJNO, BPCNO";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//if (IsPostBack)
|
||||
// gvBPJB.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsBPJBForm.ConnectionString = ConnectionString;
|
||||
dsBPJBGrid.ConnectionString = ConnectionString;
|
||||
|
||||
_BPNUM = GetStringParam("BPNUM");
|
||||
_BPPYN = GetStringParam("BPPYN");
|
||||
_BPJNO = GetStringParam("BPJNO");
|
||||
_BPJME = GetStringParam("BPJME");
|
||||
|
||||
GetGridViewRowColor(gvBPJB);
|
||||
|
||||
Search();
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsBPJBGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPJBGrid, "BPPYN", _BPPYN, "", true);
|
||||
AddSearch(sql, dsBPJBGrid, "BPJNO", _BPJNO, "", true);
|
||||
sql.Append(order);
|
||||
dsBPJBGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
if (e.Command.Parameters["@BPSRM"].Value == null || e.Command.Parameters["@BPSRM"].Value.ToString() == "")
|
||||
e.Command.Parameters["@BPSRM"].Value = 0;
|
||||
if (e.Command.Parameters["@BPSRD"].Value == null || e.Command.Parameters["@BPSRD"].Value.ToString() == "")
|
||||
e.Command.Parameters["@BPSRD"].Value = 0;
|
||||
if (e.Command.Parameters["@BPP01"].Value == null || e.Command.Parameters["@BPP01"].Value.ToString() == "")
|
||||
e.Command.Parameters["@BPP01"].Value = 0;
|
||||
if (e.Command.Parameters["@BPP03"].Value == null || e.Command.Parameters["@BPP03"].Value.ToString() == "")
|
||||
e.Command.Parameters["@BPP03"].Value = 0;
|
||||
if (e.Command.Parameters["@BPP04"].Value == null || e.Command.Parameters["@BPP04"].Value.ToString() == "")
|
||||
e.Command.Parameters["@BPP04"].Value = 0;
|
||||
if (e.Command.Parameters["@BPP05"].Value == null || e.Command.Parameters["@BPP05"].Value.ToString() == "")
|
||||
e.Command.Parameters["@BPP05"].Value = 0;
|
||||
|
||||
// 伙食費固定為 1800
|
||||
// e.Command.Parameters["@BPP02"].Value = 1800;
|
||||
}
|
||||
|
||||
protected void dsBPJBForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
e.Command.Parameters["@BPPYN"].Value = _BPPYN;
|
||||
e.Command.Parameters["@BPJNO"].Value = _BPJNO;
|
||||
e.Command.Parameters["@BPCNO"].Value = WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPJB", "BPCNO", "<ZZ>", String.Format(" BPPYN='{0}' AND BPJNO='{1}'", _BPPYN, _BPJNO));
|
||||
}
|
||||
|
||||
protected void dsBPJBForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void gvBPJB_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPJB.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPJB.SelectedIndex == -1)
|
||||
gvBPJB.SelectedIndex = 0;
|
||||
fvBPJB.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPJB_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPJB.SelectedIndex = 0;
|
||||
gvBPJB.DataBind();
|
||||
}
|
||||
|
||||
protected void dsBPJBGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
fvBPJB.ChangeMode(FormViewMode.Insert);
|
||||
fvBPJB_ModeChanged(sender, e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPJB_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Insert":
|
||||
break;
|
||||
case "Edit":
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPJB.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPJB_ModeChanged(sender, e);
|
||||
if (gvBPJB.Rows.Count == 0)
|
||||
DoAfterCommand("BPJA");
|
||||
break;
|
||||
case "Return":
|
||||
DoAfterCommand("BPJA");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPJB_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPJB.DataBind();
|
||||
if (gvBPJB.SelectedIndex > gvBPJB.Rows.Count - 1)
|
||||
{
|
||||
gvBPJB.SelectedIndex = gvBPJB.Rows.Count - 1;
|
||||
gvBPJB.DataBind();
|
||||
}
|
||||
fvBPJB.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPJB_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPJB_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPJB_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPJB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.ReadOnly:
|
||||
gvBPJB.Visible = true;
|
||||
gvBPJB.DataBind();
|
||||
if (gvBPJB.Rows.Count > 0)
|
||||
{
|
||||
if (gvBPJB.SelectedIndex == -1)
|
||||
{
|
||||
gvBPJB.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
gvBPJB.PageIndex = gvBPJB.PageCount - 1;
|
||||
gvBPJB.DataBind();
|
||||
gvBPJB.SelectedIndex = gvBPJB.Rows.Count - 1;
|
||||
}
|
||||
gvBPJB.DataBind();
|
||||
fvBPJB.DataBind();
|
||||
}
|
||||
break;
|
||||
|
||||
case FormViewMode.Edit:
|
||||
gvBPJB.Visible = false;
|
||||
break;
|
||||
|
||||
case FormViewMode.Insert:
|
||||
gvBPJB.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPJB_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void fvBPJB_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPJB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
SetClientFocus(fvBPJB, "txtBPJB_BPCME");
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
(fvBPJB.FindControl("txtBPJB_BPSRM") as ITextControl).Text = "0";
|
||||
(fvBPJB.FindControl("txtBPJB_BPSRD") as ITextControl).Text = "0";
|
||||
(fvBPJB.FindControl("txtBPJB_BPP01") as ITextControl).Text = "0";
|
||||
(fvBPJB.FindControl("txtBPJB_BPP02") as ITextControl).Text = "0";
|
||||
(fvBPJB.FindControl("txtBPJB_BPP03") as ITextControl).Text = "0";
|
||||
(fvBPJB.FindControl("txtBPJB_BPP04") as ITextControl).Text = "0";
|
||||
(fvBPJB.FindControl("txtBPJB_BPP05") as ITextControl).Text = "0";
|
||||
SetClientFocus(fvBPJB, "txtBPJB_BPCME");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPJB_ItemCreated(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPJB.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
(fvBPJB.FindControl("lbBPJB_BPPYN") as ITextControl).Text = _BPPYN;
|
||||
(fvBPJB.FindControl("lbBPJB_BPNUM") as ITextControl).Text = _BPNUM;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPJB_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(gvBPJB, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPJB_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in gvBPJB.Rows)
|
||||
SetGridViewMouseBehavier(gvBPJB, row);
|
||||
}
|
||||
|
||||
protected void fvBPJB_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
// 是否有派遣人員使用此職稱
|
||||
DbCommand cmd1 = Query.NewCommand("SELECT COUNT(1) FROM RASN WHERE RAPYN=@BPPYN AND RAJNO=@BPJNO AND RACNO=@BPCNO");
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPJNO", e.Values["BPJNO"]));
|
||||
cmd1.Parameters.Add(Query.NewParameter("BPCNO", e.Values["BPCNO"]));
|
||||
int i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
||||
cmd1.Dispose();
|
||||
if (i > 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "本職稱等級已有派遣人員使用。不可刪除!";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected void cvBPSRM_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i >= 0 && i <= 999999;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,869 @@
|
||||
<!--
|
||||
******************************************************************************
|
||||
* 程式名稱:fmBprj 客戶專案處理畫面
|
||||
* 作 者:楊樹人
|
||||
* 日 期:2007/12/06
|
||||
******************************************************************************
|
||||
-->
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBprj.ascx.cs" Inherits="forms_customer_fmBprj" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="FMBPRJ.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="1" OnActiveViewChanged="MultiView1_ActiveViewChanged">
|
||||
<asp:View ID="SearchView" runat="server">
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
TextMessageId="F.+SEARCH" CssClass="button"
|
||||
OnClick="btnSearch_Click" Text="F.查詢" AccessKey="F" />
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" TextMessageId="I.+INSERT"
|
||||
CssClass="button" Text="I.新增" OnClick="btnInsert_Click" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
TextMessageId="C.+CANCEL" CssClass="button"
|
||||
OnClick="btnCancel_Click" Text="C.取消" AccessKey="C" />
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 100px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 110px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPPNM" runat="server" TextMessageId="BPRJ.BPPNM+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPPNM" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPPME" runat="server" TextMessageId="BPRJ.BPPME+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPPME" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPNUM" runat="server" TextMessageId="BCUS.BCNUM+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPNUM" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:View>
|
||||
<asp:View ID="EditView" runat="server">
|
||||
<asp:SqlDataSource ID="dsBPRJGrid" runat="server"
|
||||
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM BPRJ WHERE 1=0"
|
||||
ConnectionString="Data Source=SRYANG-2K3;Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" OnSelected="dsBPRJGrid_Selected"></asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPRJForm" runat="server"
|
||||
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM BPRJ WHERE BPNUM=@BPNUM AND BPPNM=@BPPNM"
|
||||
DeleteCommand="DELETE BPRJ
|
||||
WHERE BPNUM = @OLD_BPNUM
|
||||
AND BPPNM = @OLD_BPPNM
|
||||
AND APPNO = @OLD_APPNO"
|
||||
InsertCommand="INSERT INTO BPRJ
|
||||
(BPNUM, BPPNM, BPPME, BPLDR, BPLOC, BPCTN, BPCTT, BPSTM, BPETM, BPWTN, BPBFT,
|
||||
BPAFT, BPHOL, BPOVR, BPLVE, BPCPY, BPTME, APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@BPNUM, @BPPNM, @BPPME, @BPLDR, @BPLOC, @BPCTN, @BPCTT, @BPSTM, @BPETM, @BPWTN, @BPBFT,
|
||||
@BPAFT, @BPHOL, @BPOVR, @BPLVE, @BPCPY, @BPTME, 1, GETDATE(), 'INSERT', @TRUSR)"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
UpdateCommand="UPDATE BPRJ SET
|
||||
BPPNM = @BPPNM,
|
||||
BPPME = @BPPME,
|
||||
BPNUM = @BPNUM,
|
||||
BPLDR = @BPLDR,
|
||||
BPLOC = @BPLOC,
|
||||
BPCTN = @BPCTN,
|
||||
BPCTT = @BPCTT,
|
||||
BPSTM = @BPSTM,
|
||||
BPETM = @BPETM,
|
||||
BPWTN = @BPWTN,
|
||||
BPBFT = @BPBFT,
|
||||
BPAFT = @BPAFT,
|
||||
BPHOL = @BPHOL,
|
||||
BPOVR = @BPOVR,
|
||||
BPLVE = @BPLVE,
|
||||
BPCPY = @BPCPY,
|
||||
BPTME = @BPTME,
|
||||
APPNO = APPNO + 1,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'UPDATE',
|
||||
TRUSR = @TRUSR
|
||||
WHERE BPNUM = @OLD_BPNUM
|
||||
AND BPPNM = @OLD_BPPNM
|
||||
AND APPNO = @OLD_APPNO">
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPRJ"
|
||||
Name="BPNUM" PropertyName="SelectedDataKey["BPNUM"]" />
|
||||
<asp:ControlParameter ControlID="gvBPRJ"
|
||||
Name="BPPNM" PropertyName="SelectedDataKey["BPPNM"]" />
|
||||
</SelectParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BPNUM" DbType="String" />
|
||||
<asp:Parameter Name="OLD_BPPNM" DbType="String" />
|
||||
<asp:Parameter Name="OLD_APPNO" DbType="Int32" />
|
||||
</DeleteParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BPPNM" DbType="String" />
|
||||
<asp:Parameter Name="BPPME" DbType="String" />
|
||||
<asp:Parameter Name="BPNUM" DbType="String" />
|
||||
<asp:Parameter Name="BPLDR" DbType="String" />
|
||||
<asp:Parameter Name="BPLOC" DbType="String" />
|
||||
<asp:Parameter Name="BPCTN" DbType="String" />
|
||||
<asp:Parameter Name="BPCTT" DbType="String" />
|
||||
<asp:Parameter Name="BPSTM" DbType="String" />
|
||||
<asp:Parameter Name="BPETM" DbType="String" />
|
||||
<asp:Parameter Name="BPWTN" DbType="String" />
|
||||
<asp:Parameter Name="BPBFT" DbType="Double" />
|
||||
<asp:Parameter Name="BPAFT" DbType="Double" />
|
||||
<asp:Parameter Name="BPHOL" DbType="Double" />
|
||||
<asp:Parameter Name="BPOVR" DbType="String" />
|
||||
<asp:Parameter Name="BPLVE" DbType="String" />
|
||||
<asp:Parameter Name="BPCPY" DbType="String" />
|
||||
<asp:Parameter Name="BPTME" DbType="String" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR"
|
||||
SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_BPNUM" DbType="String" />
|
||||
<asp:Parameter Name="OLD_BPPNM" DbType="String" />
|
||||
<asp:Parameter Name="OLD_APPNO" DbType="String" />
|
||||
</UpdateParameters>
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BPNUM" DbType="String" />
|
||||
<asp:Parameter Name="BPPNM" DbType="String" />
|
||||
<asp:Parameter Name="BPPME" DbType="String" />
|
||||
<asp:Parameter Name="BPLDR" DbType="String" />
|
||||
<asp:Parameter Name="BPLOC" DbType="String" />
|
||||
<asp:Parameter Name="BPCTN" DbType="String" />
|
||||
<asp:Parameter Name="BPCTT" DbType="String" />
|
||||
<asp:Parameter Name="BPSTM" DbType="String" />
|
||||
<asp:Parameter Name="BPETM" DbType="String" />
|
||||
<asp:Parameter Name="BPWTN" DbType="String" />
|
||||
<asp:Parameter Name="BPBFT" DbType="Double" />
|
||||
<asp:Parameter Name="BPAFT" DbType="Double" />
|
||||
<asp:Parameter Name="BPHOL" DbType="Double" />
|
||||
<asp:Parameter Name="BPOVR" DbType="String" />
|
||||
<asp:Parameter Name="BPLVE" DbType="String" />
|
||||
<asp:Parameter Name="BPCPY" DbType="String" />
|
||||
<asp:Parameter Name="BPTME" DbType="String" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR"
|
||||
SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
</asp:SqlDataSource>
|
||||
|
||||
<asp:ObjectDataSource ID="ds公司別" runat="server"
|
||||
OldValuesParameterFormatString="original_{0}"
|
||||
SelectMethod="SelectAll" TypeName="CompanyDAC">
|
||||
</asp:ObjectDataSource>
|
||||
|
||||
<asp:ObjectDataSource ID="dsBTME" runat="server"
|
||||
OldValuesParameterFormatString="original_{0}"
|
||||
SelectMethod="SelectForDropdown" TypeName="BtmeDAC">
|
||||
</asp:ObjectDataSource>
|
||||
|
||||
<asp:FormView ID="fvBPRJ" runat="server"
|
||||
DataSourceID="dsBPRJForm" DataKeyNames="BPNUM,BPPNM,APPNO"
|
||||
OnDataBound="fvBPRJ_DataBound" OnItemCommand="fvBPRJ_ItemCommand"
|
||||
OnItemDeleted="fvBPRJ_ItemDeleted" OnItemInserted="fvBPRJ_ItemInserted"
|
||||
OnItemUpdated="fvBPRJ_ItemUpdated" OnModeChanged="fvBPRJ_ModeChanged"
|
||||
OnModeChanging="fvBPRJ_ModeChanging" OnItemDeleting="fvBPRJ_ItemDeleting"
|
||||
OnItemInserting="fvBPRJ_ItemInserting"
|
||||
OnItemUpdating="fvBPRJ_ItemUpdating">
|
||||
<ItemTemplate>
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
CommandName="New" CssClass="button" Text="I.新增"
|
||||
TextMessageId="I.+INSERT" AccessKey="I" />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
CommandName="Edit" CssClass="button" Text="M.更正"
|
||||
TextMessageId="M.+UPDATE" AccessKey="M" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
CommandName="Delete" CssClass="button"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE" OnClientClick="return confirm(msgConfirmDelete);"
|
||||
AccessKey="T" />
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
CommandName="Search" CssClass="button"
|
||||
Text="F.查詢" TextMessageId="F.+SEARCH" AccessKey="F" /></td>
|
||||
<td width="30"></td>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="btnBPAA" runat="server"
|
||||
CommandName="BPAA" CssClass="button" Text="Y.年度接單"
|
||||
AccessKey="Y" Width="105px" />
|
||||
<cc1:WButton ID="btnBPRM" runat="server"
|
||||
CommandName="BPRM" CssClass="button" Text="P.專案作業人員"
|
||||
AccessKey="P" Width="105px" Visible="false" />
|
||||
<cc1:WButton ID="btnOPEN" runat="server"
|
||||
CommandName="OPEN" CssClass="button" Text="O.年度開帳"
|
||||
AccessKey="O" Enabled="False" Width="105px" />
|
||||
<cc1:WButton ID="btnClose" runat="server"
|
||||
CommandName="CLOSE" CssClass="button" Text="C.年度關帳"
|
||||
AccessKey="C" Enabled="False" Width="105px" />
|
||||
</td>
|
||||
<td width="30"></td>
|
||||
<td align="right">
|
||||
<cc1:WButton ID="btnBCUS" runat="server"
|
||||
AccessKey="R" CommandName="BCUS" CssClass="button"
|
||||
Text="R.返回客戶資料" TextMessageId="" Width="105px"
|
||||
Enabled='<%# ForwardSource != "" %>' />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 110px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 100px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 130px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lb公司別" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">公司別:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbBPRJ_BPCPY" runat="server"
|
||||
CssClass="textInput"
|
||||
Text='<%# CompanyDAC.GetCompanyName(Eval("BPCPY", "{0}")) %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPPNM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPNM") %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="5">
|
||||
<asp:Label ID="lbBPRJ_BPPME" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPME") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPNUM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPNUM") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="5">
|
||||
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", Eval("BPNUM", "{0}"), "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPLDRLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPLDR+:">專案主管:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPLDR" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPLDR") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPLOCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPLOC+:">專案地點:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="5">
|
||||
<asp:Label ID="lbBPRJ_BPLOC" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPLOC") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPCTNLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPCTN+:">專案聯絡人:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPCTN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPCTN") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPCTTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPCTT+:">聯絡人電話:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPCTT" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPCTT") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<%-- <td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPSTMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPSTM+:">上班時間:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPSTM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPSTM") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPETMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPETM+:">下班時間:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPETM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPETM") %>'></asp:Label></td>--%>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server"
|
||||
CssClass="controlLabel">預設班表:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbBPRJ_BPETM" runat="server"
|
||||
CssClass="textInput" Text='<%# GetBtmeName(Eval("BPTME")) %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPWTNLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPWTN+:">是否需輪班:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPWTN" runat="server"
|
||||
CssClass="textInput" Text='<%# Eval("BPWTN", "{0}").ToUpper() == "Y" ? "是" : "否" %>'></asp:Label></td>
|
||||
<td align="right" colspan="1"></td>
|
||||
<td colspan="1"></td>
|
||||
<td align="right" colspan="1"></td>
|
||||
<td colspan="1"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPBFTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPBFT+:">前二加班:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPBFT" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPBFT", "{0:##0.0000}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPAFTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPAFT+:">後二加班:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPAFT" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPAFT", "{0:##0.0000}") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPHOLLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPHOL+:">假日加班:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPHOL" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPHOL", "{0:##0.0000}") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPOVRLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPOVR+:">加班費計算方式:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbBPRJ_BPOVR" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BFRM", Eval("BPOVR", "{0:c}"), "BFNAM") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPLVELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPLVE+:">請假計算方式:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbBPRJ_BPLVE" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BFRM", Eval("BPLVE", "{0:c}"), "BFNAM") %>'></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</ItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
CommandName="Update" CssClass="button"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPPME"
|
||||
runat="server" ControlToValidate="txtBPRJ_BPPME"
|
||||
Display="None" ErrorMessage="請輸入專案名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPNUM"
|
||||
runat="server" ControlToValidate="txtBPRJ_BPNUM"
|
||||
Display="None" ErrorMessage="請輸入客戶編號"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPBFT" runat="server"
|
||||
ControlToValidate="txtBPRJ_BPBFT" Display="None"
|
||||
ErrorMessage="請輸入前二加班 (例如 1.33)" OnServerValidate="cvOverTime_ServerValidate"
|
||||
ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPAFT" runat="server"
|
||||
ControlToValidate="txtBPRJ_BPAFT" Display="None"
|
||||
ErrorMessage="請輸入後二加班 (例如 1.66)" OnServerValidate="cvOverTime_ServerValidate"
|
||||
ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPHOL" runat="server"
|
||||
ControlToValidate="txtBPRJ_BPHOL" Display="None"
|
||||
ErrorMessage="請輸入假日加班 (例如 1.00)" OnServerValidate="cvOverTime_ServerValidate"
|
||||
ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPCPY" runat="server"
|
||||
ControlToValidate="ddlBPCPY" Display="None"
|
||||
ErrorMessage="請選擇公司別"></asp:RequiredFieldValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
style="table-layout: fixed" width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 130px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPNMLabel1" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">公司別:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="3" class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPCPY" runat="server"
|
||||
CssClass="textInput" DataSourceID="ds公司別"
|
||||
DataTextField="CompanyName" DataValueField="CompanyId"
|
||||
SelectedValue='<%# Bind("BPCPY") %>'>
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRJ_BPPNM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPNM") %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="5">
|
||||
<asp:TextBox ID="txtBPRJ_BPPME" runat="server"
|
||||
CssClass="textInput" MaxLength="50"
|
||||
Text='<%# Bind("BPPME") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1">
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
width="100%">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtBPRJ_BPNUM" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPNUM") %>'></asp:TextBox></td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnBPRJ_BPNUM_WQRY"
|
||||
runat="server" ImageUrl="~/picture/pickup.gif" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="5" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCUS", Eval("BPNUM", "{0}"), "BCNAM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPLDRLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPLDR+:">專案主管:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="3">
|
||||
<asp:TextBox ID="txtBPRJ_BPLDR" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPLDR") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPLOCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPLOC+:">專案地點:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="3">
|
||||
<asp:TextBox ID="txtBPRJ_BPLOC" runat="server"
|
||||
CssClass="textInput" MaxLength="30" Text='<%# Bind("BPLOC") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPCTNLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPCTN+:">專案聯絡人:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPCTN" runat="server"
|
||||
CssClass="textInput" MaxLength="20" Text='<%# Bind("BPCTN") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPCTTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPCTT+:">聯絡人電話:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPCTT" runat="server"
|
||||
CssClass="textInput" MaxLength="20" Text='<%# Bind("BPCTT") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<%-- <td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPSTMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPSTM+:">上班時間:</cc1:WLabel></td>
|
||||
<td colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPSTM" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPSTM") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPETMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPETM+:">下班時間:</cc1:WLabel></td>
|
||||
<td colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPETM" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPETM") %>'></asp:TextBox></td>--%>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server"
|
||||
CssClass="controlLabel">預設班表:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<cc1:WDropDownList ID="ddlBPTME" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsBTME"
|
||||
DataTextField="BTNME" DataValueField="BTTID"
|
||||
SelectedValue='<%# Bind("BPTME") %>'></cc1:WDropDownList>
|
||||
</td>
|
||||
<td colspan="2">
|
||||
<cc1:WCheckBox ID="cbBPRJ_BPWTN" runat="server"
|
||||
Text="是否需輪班" TextMessageId="BPRJ.BPWTN" CheckedValue="Y"
|
||||
UncheckedValue="N"
|
||||
Value='<%# Bind("BPWTN") %>' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbBPRJ_BPBFTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPBFT+:">前二加班:</cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPRJ_BPBFT" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPBFT") %>'></asp:TextBox></td>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbBPRJ_BPAFTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPAFT+:">後二加班:</cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPRJ_BPAFT" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPAFT") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPHOLLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPHOL+:">假日加班:</cc1:WLabel></td>
|
||||
<td colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPHOL" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPHOL") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbBPRJ_BPOVRLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPOVR+:">加班費計算方式:</cc1:WLabel></td>
|
||||
<td colspan="3">
|
||||
<cc1:WDropDownList ID="ddlBPRJ_BPOVR" runat="server"
|
||||
CssClass="textInput" DataTextField="BFNAM"
|
||||
DataValueField="BFNUM" SelectedValue='<%# Bind("BPOVR") %>'
|
||||
SQL="SELECT BFNUM, BFNAM FROM BFRM WHERE BFNUM LIKE 'A%' ORDER BY BFNUM">
|
||||
</cc1:WDropDownList></td>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbBPRJ_BPLVELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPLVE+:">請假計算方式:</cc1:WLabel></td>
|
||||
<td colspan="3">
|
||||
<cc1:WDropDownList ID="ddlBPRJ_BPLVE" runat="server"
|
||||
CssClass="textInput" DataTextField="BFNAM"
|
||||
DataValueField="BFNUM" SelectedValue='<%# Bind("BPLVE") %>'
|
||||
SQL="SELECT BFNUM, BFNAM FROM BFRM WHERE BFNUM LIKE 'B%' ORDER BY BFNUM">
|
||||
</cc1:WDropDownList></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPRJ_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
</EditItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
CommandName="Insert" CssClass="button"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" OnClientClick="return confirm(msgConfirmSave);"
|
||||
AccessKey="S" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
AccessKey="C" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPPNM"
|
||||
runat="server" ControlToValidate="txtBPRJ_BPPNM"
|
||||
Display="None" ErrorMessage="請輸入專案編號"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPPME"
|
||||
runat="server" ControlToValidate="txtBPRJ_BPPME"
|
||||
Display="None" ErrorMessage="請輸入專案名稱"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPNUM"
|
||||
runat="server" ControlToValidate="txtBPRJ_BPNUM"
|
||||
Display="None" ErrorMessage="請輸入客戶編號"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPBFT" runat="server"
|
||||
ControlToValidate="txtBPRJ_BPBFT" Display="None"
|
||||
ErrorMessage="請輸入前二加班 (例如 1.33)" OnServerValidate="cvOverTime_ServerValidate"
|
||||
ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPAFT" runat="server"
|
||||
ControlToValidate="txtBPRJ_BPAFT" Display="None"
|
||||
ErrorMessage="請輸入後二加班 (例如 1.66)" OnServerValidate="cvOverTime_ServerValidate"
|
||||
ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPHOL" runat="server"
|
||||
ControlToValidate="txtBPRJ_BPHOL" Display="None"
|
||||
ErrorMessage="請輸入假日加班 (例如 1.00)" OnServerValidate="cvOverTime_ServerValidate"
|
||||
ValidateEmptyText="True"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPPNM" runat="server"
|
||||
ControlToValidate="txtBPRJ_BPPNM" Display="None"
|
||||
ErrorMessage="專案編號已存在,請重新輸入"
|
||||
ValidateEmptyText="True"
|
||||
OnServerValidate="cvBPPNM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPCPY" runat="server"
|
||||
ControlToValidate="ddlBPCPY" Display="None"
|
||||
ErrorMessage="請選擇公司別"></asp:RequiredFieldValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
style="table-layout: fixed" width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 130px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel2" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">業態:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<cc1:WDropDownList ID="ddlTrade" runat="server"
|
||||
CssClass="textInput" DataTextField="BSSCR"
|
||||
DataValueField="BSCLS"
|
||||
SQL="SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR='BCUSTRD'">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel0" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">公司別:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<cc1:WDropDownList ID="ddlBPCPY" runat="server"
|
||||
CssClass="textInput" DataSourceID="ds公司別"
|
||||
DataTextField="CompanyName" DataValueField="CompanyId"
|
||||
SelectedValue='<%# Bind("BPCPY") %>'>
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPNM+:">專案編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPPNM" runat="server"
|
||||
CssClass="textInput" MaxLength="10"
|
||||
Text='<%# Bind("BPPNM") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPPMELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPPME+:">專案名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="5">
|
||||
<asp:TextBox ID="txtBPRJ_BPPME" runat="server"
|
||||
CssClass="textInput" MaxLength="50"
|
||||
Text='<%# Bind("BPPME") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNUM+:">客戶編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
width="100%">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtBPRJ_BPNUM" runat="server"
|
||||
CssClass="textInput" MaxLength="10"
|
||||
Text='<%# Bind("BPNUM") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnBPRJ_BPNUM_WQRY" runat="server"
|
||||
ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPNUMXLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BCUS.BCNAM+:">客戶名稱:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="5">
|
||||
<asp:Label ID="lbBPRJ_BPNUMX" runat="server"
|
||||
CssClass="textInput"
|
||||
Text='<%# GetLookup("BCUS", Eval("BPNUM", "{0}"), "BCNAM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPLDRLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPLDR+:">專案主管:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<asp:TextBox ID="txtBPRJ_BPLDR" runat="server"
|
||||
CssClass="textInput" MaxLength="10"
|
||||
Text='<%# Bind("BPLDR") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPLOCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPLOC+:">專案地點:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<asp:TextBox ID="txtBPRJ_BPLOC" runat="server"
|
||||
CssClass="textInput" MaxLength="30"
|
||||
Text='<%# Bind("BPLOC") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPCTNLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPCTN+:">專案聯絡人:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPCTN" runat="server"
|
||||
CssClass="textInput" MaxLength="20"
|
||||
Text='<%# Bind("BPCTN") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPCTTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPCTT+:">聯絡人電話:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPCTT" runat="server"
|
||||
CssClass="textInput" MaxLength="20"
|
||||
Text='<%# Bind("BPCTT") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<%-- <td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPSTMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPSTM+:">上班時間:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPSTM" runat="server"
|
||||
CssClass="textInput" MaxLength="10"
|
||||
Text='<%# Bind("BPSTM") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPETMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPETM+:">下班時間:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPETM" runat="server"
|
||||
CssClass="textInput" MaxLength="10"
|
||||
Text='<%# Bind("BPETM") %>'></asp:TextBox>
|
||||
</td>--%>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server"
|
||||
CssClass="controlLabel">預設班表:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<cc1:WDropDownList ID="ddlBPTME" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsBTME"
|
||||
DataTextField="BTNME" DataValueField="BTTID"
|
||||
SelectedValue='<%# Bind("BPTME") %>'></cc1:WDropDownList>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="2">
|
||||
<cc1:WCheckBox ID="cbBPRJ_BPWTN" runat="server"
|
||||
CheckedValue="Y" CssClass="textInput" Text="是否需輪班"
|
||||
TextMessageId="BPRJ.BPWTN" UncheckedValue="N"
|
||||
Value='<%# Bind("BPWTN") %>' />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbBPRJ_BPBFTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPBFT+:">前二加班:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPRJ_BPBFT" runat="server"
|
||||
CssClass="textInput" MaxLength="8"
|
||||
Text='<%# Bind("BPBFT") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbBPRJ_BPAFTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPAFT+:">後二加班:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPRJ_BPAFT" runat="server"
|
||||
CssClass="textInput" MaxLength="8"
|
||||
Text='<%# Bind("BPAFT") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRJ_BPHOLLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPHOL+:">假日加班:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPRJ_BPHOL" runat="server"
|
||||
CssClass="textInput" MaxLength="8"
|
||||
Text='<%# Bind("BPHOL") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbBPRJ_BPOVRLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPOVR+:">加班費計算方式:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<cc1:WDropDownList ID="ddlBPRJ_BPOVR" runat="server"
|
||||
CssClass="textInput" DataTextField="BFNAM"
|
||||
DataValueField="BFNUM" SelectedValue='<%# Bind("BPOVR") %>'
|
||||
SQL="SELECT BFNUM, BFNAM FROM BFRM WHERE BFNUM LIKE 'A%' ORDER BY BFNUM">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbBPRJ_BPLVELabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRJ.BPLVE+:">請假計算方式:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<cc1:WDropDownList ID="ddlBPRJ_BPLVE" runat="server"
|
||||
CssClass="textInput" DataTextField="BFNAM"
|
||||
DataValueField="BFNUM" SelectedValue='<%# Bind("BPLVE") %>'
|
||||
SQL="SELECT BFNUM, BFNAM FROM BFRM WHERE BFNUM LIKE 'B%' ORDER BY BFNUM">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
</asp:FormView>
|
||||
|
||||
<asp:GridView ID="gvBPRJ" runat="server"
|
||||
DataSourceID="dsBPRJGrid" DataKeyNames="BPNUM,BPPNM"
|
||||
AutoGenerateColumns="False" AllowPaging="True"
|
||||
OnDataBound="gvBPRJ_DataBound" OnPageIndexChanged="gvBPRJ_PageIndexChanged" OnRowDataBound="gvBPRJ_RowDataBound"
|
||||
OnSelectedIndexChanged="gvBPRJ_SelectedIndexChanged">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText="" ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField AccessibleHeaderText="BPRJ.BPPNM"
|
||||
DataField="BPPNM" HeaderText="BPPNM" SortExpression="BPPNM" />
|
||||
<asp:BoundField AccessibleHeaderText="BPRJ.BPPME"
|
||||
DataField="BPPME" HeaderText="BPPME" SortExpression="BPPME" />
|
||||
<asp:BoundField AccessibleHeaderText="BCUS.BCNUM"
|
||||
DataField="BPNUM" HeaderText="BPNUM" ReadOnly="True"
|
||||
SortExpression="BPNUM" />
|
||||
<asp:TemplateField AccessibleHeaderText="BCUS.BCNAM">
|
||||
<ItemTemplate>
|
||||
<asp:Label runat="server" ID="lbBCUS_BCNAM"
|
||||
Text='<%# GetLookup("BCUS", Eval("BPNUM", "{0:c}"), "BCNAM", "") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField HeaderText="最近接單年度"
|
||||
DataField="LAST_YEAR" ItemStyle-HorizontalAlign="Center" />
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager" runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -0,0 +1,420 @@
|
||||
/******************************************************************************
|
||||
* 程式名稱:fmBprj 客戶專案處理
|
||||
* 作 者:楊樹人
|
||||
* 日 期:2007/12/06
|
||||
******************************************************************************/
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using Wellan.Common;
|
||||
using Wellan.Data;
|
||||
|
||||
/// <summary>
|
||||
/// 客戶專案處理
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBprj : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private string _BPNUM = "";
|
||||
private string _BPPNM = "";
|
||||
private string _BPPME = "";
|
||||
//private string _CurrentBPNUM = "";
|
||||
//private string _CurrentBPPNM = "";
|
||||
private string select = "SELECT *, (SELECT TOP 1 BPYER FROM BPAA WHERE BPAA.BPPNM = BPRJ.BPPNM ORDER BY BPYER DESC) LAST_YEAR ";
|
||||
private string from = " FROM BPRJ ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY LAST_YEAR DESC";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
_BPNUM = ViewState["BPNUM"] != null ? ViewState["BPNUM"].ToString() : "";
|
||||
_BPPNM = ViewState["BPPNM"] != null ? ViewState["BPPNM"].ToString() : "";
|
||||
_BPPME = ViewState["BPPME"] != null ? ViewState["BPPME"].ToString() : "";
|
||||
//_CurrentBPNUM = ViewState["CurrentBPNUM"] != null ? ViewState["CurrentBPNUM"].ToString() : "";
|
||||
//_CurrentBPPNM = ViewState["CurrentBPPNM"] != null ? ViewState["CurrentBPPNM"].ToString() : "";
|
||||
//if (IsPostBack)
|
||||
// gvBPRJ.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsBPRJForm.ConnectionString = ConnectionString;
|
||||
dsBPRJGrid.ConnectionString = ConnectionString;
|
||||
|
||||
_BPNUM = ForwardSource != "" ? GetStringParam("BCNUM") : _BPNUM;
|
||||
|
||||
GetGridViewRowColor(gvBPRJ);
|
||||
|
||||
switch (MultiView1.ActiveViewIndex)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
if (ForwardSource != "")
|
||||
{
|
||||
btnCancel.Text = "C.返回客戶資料";
|
||||
btnCancel.Width = new Unit(105);
|
||||
}
|
||||
SetClientFocus(txtBPPNM);
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
Search();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查詢畫面的查詢按鈕
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
ViewState["BPNUM"] = txtBPNUM.Text;
|
||||
ViewState["BPPNM"] = txtBPPNM.Text;
|
||||
ViewState["BPPME"] = txtBPPME.Text;
|
||||
|
||||
_BPNUM = txtBPNUM.Text;
|
||||
_BPPNM = txtBPPNM.Text;
|
||||
_BPPME = txtBPPME.Text;
|
||||
|
||||
if (_BPNUM.Length == 0 &&
|
||||
_BPPNM.Length == 0 &&
|
||||
_BPPME.Length == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = GetString("NOSRHCOND");
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
|
||||
Search();
|
||||
|
||||
gvBPRJ.PageIndex = 0;
|
||||
gvBPRJ.SelectedIndex = 0;
|
||||
gvBPRJ.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
// 查詢畫面的新增按鈕
|
||||
protected void btnInsert_Click(object sender, EventArgs e)
|
||||
{
|
||||
gvBPRJ.Visible = false;
|
||||
fvBPRJ.ChangeMode(FormViewMode.Insert);
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
// 查詢畫面的取消按鈕
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
if (ForwardSource != "")
|
||||
DoAfterCommand("BCUS");
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsBPRJGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPRJGrid, "BPNUM", _BPNUM, "", true);
|
||||
AddSearch(sql, dsBPRJGrid, "BPPNM", _BPPNM, "", true);
|
||||
AddSearch(sql, dsBPRJGrid, "BPPME", "%" + _BPPME, "", true);
|
||||
sql.Append(order);
|
||||
dsBPRJGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
protected string GetBtmeName(object bptme)
|
||||
{
|
||||
var btmestr = (bptme == null || bptme == DBNull.Value) ? null : bptme.ToString();
|
||||
var dv = dsBTME.Select() as List<BtmeItem>;
|
||||
if (dv == null) { return btmestr; }
|
||||
var btmeItem = dv.FirstOrDefault(p => p.BTTID == btmestr);
|
||||
if (btmeItem != null) { return btmeItem.BTNME; }
|
||||
return btmestr;
|
||||
}
|
||||
|
||||
protected void gvBPRJ_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPRJ.SelectedIndex == -1)
|
||||
gvBPRJ.SelectedIndex = 0;
|
||||
|
||||
// 返回時,回到之前選擇的那一筆
|
||||
if (ParamList.ContainsKey("BPNUM") && ParamList.ContainsKey("BPPNM"))
|
||||
{
|
||||
string bpnum = WDAC.GetStringValue(ParamList["BPNUM"]);
|
||||
string bppnm = WDAC.GetStringValue(ParamList["BPPNM"]);
|
||||
|
||||
DataView dv = dsBPRJGrid.Select(new DataSourceSelectArguments()) as DataView;
|
||||
dv.RowFilter = String.Format("BPNUM='{0}' and BPPNM='{1}'", bpnum, bppnm);
|
||||
if (dv.Count > 0)
|
||||
{
|
||||
int rowIndex = dv.Table.Rows.IndexOf(dv[0].Row);
|
||||
gvBPRJ.PageIndex = (rowIndex / gvBPRJ.PageSize);
|
||||
gvBPRJ.SelectedIndex = rowIndex - gvBPRJ.PageIndex * gvBPRJ.PageSize;
|
||||
}
|
||||
|
||||
ParamList.Remove("BPNUM");
|
||||
ParamList.Remove("BPPNM");
|
||||
}
|
||||
|
||||
fvBPRJ.DataBind();
|
||||
}
|
||||
|
||||
protected void gvBPRJ_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPRJ.SelectedIndex = 0;
|
||||
gvBPRJ.DataBind();
|
||||
}
|
||||
|
||||
// 資料擷取完後的事件
|
||||
protected void dsBPRJGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
// 沒有資料,回到查詢畫面
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
if (MultiView1.ActiveViewIndex != 0)
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
|
||||
if (ForwardSource == "")
|
||||
cvMessage.ErrorMessage = GetString("NODATA");
|
||||
else
|
||||
{
|
||||
cvMessage.ErrorMessage = "此客戶沒有專案資料,請重新輸入條件查詢";
|
||||
btnCancel.Text = "C.返回客戶資料";
|
||||
btnCancel.Width = new Unit(105);
|
||||
}
|
||||
|
||||
SetClientFocus(txtBPPNM);
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPRJ_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Search":
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
SetClientFocus(txtBPPNM);
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPRJ.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPRJ_ModeChanged(sender, e);
|
||||
break;
|
||||
case "BPAA":
|
||||
case "BPRM":
|
||||
fvBPRJ.DataBind();
|
||||
|
||||
if (fvBPRJ.DataItem != null)
|
||||
{
|
||||
DataRowView rv = fvBPRJ.DataItem as DataRowView;
|
||||
// ParamList.Clear();
|
||||
ParamList.Add("BPNUM", rv["BPNUM"]);
|
||||
ParamList.Add("BPPNM", rv["BPPNM"]);
|
||||
DoAfterCommand(e.CommandName);
|
||||
}
|
||||
break;
|
||||
case "BCUS":
|
||||
DoAfterCommand("BCUS");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPRJ_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPRJ.DataBind();
|
||||
if (gvBPRJ.SelectedIndex > gvBPRJ.Rows.Count - 1)
|
||||
{
|
||||
gvBPRJ.SelectedIndex = gvBPRJ.Rows.Count - 1;
|
||||
gvBPRJ.DataBind();
|
||||
}
|
||||
fvBPRJ.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPRJ_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPRJ_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
// FormView 模式切換後的事件
|
||||
protected void fvBPRJ_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (fvBPRJ.CurrentMode == FormViewMode.ReadOnly)
|
||||
{
|
||||
gvBPRJ.Visible = true;
|
||||
gvBPRJ.DataBind();
|
||||
if (gvBPRJ.Rows.Count > 0 && gvBPRJ.SelectedIndex == -1)
|
||||
{
|
||||
gvBPRJ.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert)
|
||||
{
|
||||
gvBPRJ.PageIndex = gvBPRJ.PageCount - 1;
|
||||
gvBPRJ.DataBind();
|
||||
gvBPRJ.SelectedIndex = gvBPRJ.Rows.Count - 1;
|
||||
}
|
||||
|
||||
fvBPRJ.DataBind();
|
||||
}
|
||||
else
|
||||
{
|
||||
gvBPRJ.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPRJ_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void fvBPRJ_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
if (fvBPRJ.CurrentMode == FormViewMode.Insert || fvBPRJ.CurrentMode == FormViewMode.Edit)
|
||||
{
|
||||
RegisterLookupEvent(fvBPRJ, "btnBPRJ_BPNUM_WQRY", "txtBPRJ_BPNUM", "txtBPRJ_BPNUM,lbBPRJ_BPNUMX", "BCUS");
|
||||
|
||||
switch (fvBPRJ.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
SetControlFocus(fvBPRJ, "txtBPRJ_BPPME");
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
SetControlFocus(fvBPRJ, "txtBPRJ_BPPNM");
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SetControlEnabled(fvBPRJ, "btnBPRM", CheckRight("FMBPRM", WRightName.Execute));
|
||||
}
|
||||
}
|
||||
|
||||
protected void CalcFields(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
//values["BPSSB"] = (fvBPRJ.FindControl("cbBPRJ_BPSSB") as CheckBox).Checked ? "Y" : "N";
|
||||
values["BPWTN"] = (fvBPRJ.FindControl("cbBPRJ_BPWTN") as CheckBox).Checked ? "Y" : "N";
|
||||
}
|
||||
|
||||
// 新增存檔前
|
||||
protected void fvBPRJ_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
CalcFields(e.Values);
|
||||
// 取消自動編號 2011-01-11 SRYANG
|
||||
// string _bprjTrd = (fvBPRJ.FindControl("ddlTrade") as DropDownList).SelectedValue;
|
||||
// string _bcusHdr = e.Values["BPNUM"].ToString().Substring(0, 2);
|
||||
// e.Values["BPPNM"] = WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPRJ", "BPPNM", String.Format("\"{0}{1}\"<999>", _bcusHdr, _bprjTrd), "");
|
||||
}
|
||||
|
||||
// 更正存檔前
|
||||
protected void fvBPRJ_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
CalcFields(e.NewValues);
|
||||
}
|
||||
|
||||
// 刪除前
|
||||
protected void fvBPRJ_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
// 檢查是否有專案預算資料
|
||||
DbCommand cmd = Query.NewCommand("SELECT COUNT(1) FROM BPAA WHERE BPPNM=@BPPNM");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPNM", e.Keys["BPPNM"]));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o != null && Convert.ToInt32(o) > 0)
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage = "此專案有專案預算資料,不可刪除";
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
// TODO: 檢查是否有專案派遣資料
|
||||
// TODO: 檢查是否有專案核銷資料
|
||||
}
|
||||
|
||||
protected void cvBPNUM_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
CustomValidator v = source as CustomValidator;
|
||||
|
||||
// 檢查客戶編號是否輸入,是否存在
|
||||
if (args.Value == "")
|
||||
{
|
||||
args.IsValid = false;
|
||||
v.Text = "請輸入客戶編號";
|
||||
}
|
||||
|
||||
DbCommand cmd = Query.NewCommand("SELECT COUNT(1) FROM BCUS WHERE BCNUM=@BCNUM");
|
||||
cmd.Parameters.Add(Query.NewParameter("BCNUM", args.Value));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o == null || Convert.ToInt32(o) == 0)
|
||||
{
|
||||
args.IsValid = false;
|
||||
v.Text = "客戶編號不存在!請重新輸入。";
|
||||
}
|
||||
|
||||
args.IsValid = true;
|
||||
}
|
||||
|
||||
protected void MultiView1_ActiveViewChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (MultiView1.ActiveViewIndex)
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPRJ_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(sender as GridView, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPRJ_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in (sender as GridView).Rows)
|
||||
SetGridViewMouseBehavier(sender as GridView, row);
|
||||
}
|
||||
|
||||
protected void cvOverTime_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
CustomValidator cv = source as CustomValidator;
|
||||
double i;
|
||||
args.IsValid = args.Value != "" && double.TryParse(args.Value, out i) && i >= 0d && i <= 3d;
|
||||
}
|
||||
|
||||
protected void cvBPPNM_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
// 新增時 專案編號 重複檢查
|
||||
DbCommand cmd = Query.NewCommand("SELECT COUNT(1) FROM BPRJ WHERE BPPNM=@BPPNM");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPNM", args.Value));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
args.IsValid = o == null || Convert.ToInt32(o) == 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,413 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBprm.ascx.cs" Inherits="forms_customer_fmBprm" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="FMBPRM.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="0">
|
||||
<asp:View ID="View2" runat="server">
|
||||
<table border="0" cellpadding="3" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<cc1:WLabel ID="WLabel8" runat="server" TextMessageId="">輸入年度:</cc1:WLabel>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtYear" runat="server" Columns="4"
|
||||
MaxLength="4"></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<cc1:WLabel ID="WLabel7" runat="server" TextMessageId="">選擇客戶:</cc1:WLabel>
|
||||
</td>
|
||||
<td>
|
||||
<asp:DropDownList ID="ddlBCUS" runat="server">
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
<td>
|
||||
<cc1:WButton ID="WButton1" runat="server"
|
||||
onclick="WButton1_Click" Text="確定" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellpadding="3" cellspacing="5">
|
||||
<tr>
|
||||
<th>
|
||||
<cc1:WLabel ID="WLabel4" runat="server" Text="專案"></cc1:WLabel>
|
||||
</th>
|
||||
<th>
|
||||
<cc1:WLabel ID="WLabel5" runat="server" Text="專案處理人員"></cc1:WLabel>
|
||||
</th>
|
||||
<td>
|
||||
</td>
|
||||
<th>
|
||||
<cc1:WLabel ID="WLabel6" runat="server" Text="非處理人員"></cc1:WLabel>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:ListBox ID="lbProject" runat="server" Rows="25"
|
||||
Width="400px" AutoPostBack="True"
|
||||
onselectedindexchanged="lbProject_SelectedIndexChanged"></asp:ListBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ListBox ID="lbInWork" runat="server" Rows="25"
|
||||
Width="160px" SelectionMode="Multiple"></asp:ListBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnMoveIn" runat="server"
|
||||
ImageUrl="~/picture/arrow_left.png"
|
||||
onclick="btnMoveIn_Click" />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<asp:ImageButton ID="btnMoveOut" runat="server"
|
||||
ImageUrl="~/picture/arrow_right.png"
|
||||
onclick="btnMoveOut_Click" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:ListBox ID="lbOutWork" runat="server" Rows="25"
|
||||
Width="160px" SelectionMode="Multiple"></asp:ListBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:View>
|
||||
<asp:View ID="View3" runat="server">
|
||||
<asp:SqlDataSource ID="dsBPRMGrid" runat="server"
|
||||
ConflictDetection="CompareAllValues"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
OnSelected="dsBPRM_Selected"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT * FROM BPRM"></asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsBPRMForm" runat="server"
|
||||
ConflictDetection="CompareAllValues"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa" DeleteCommand="DELETE FROM BPRM
|
||||
WHERE BPPNM = @OLD_BPPNM
|
||||
AND BPENO = @OLD_BPENO
|
||||
AND APPNO = @OLD_APPNO"
|
||||
InsertCommand="INSERT INTO BPRM
|
||||
(BPPNM, BPENO, APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@BPPNM, @BPENO, 1, GETDATE(), 'INSERT', @TRUSR)"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
OnSelected="dsBPRM_Selected"
|
||||
OnSelecting="dsBPRMForm_Selecting"
|
||||
ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM BPRM
|
||||
WHERE BPPNM=@BPPNM
|
||||
AND BPENO=@BPENO
|
||||
ORDER BY BPENO" UpdateCommand="UPDATE BPRM SET
|
||||
BPPNM = @BPPNM,
|
||||
BPENO = @BPENO,
|
||||
APPNO = APPNO + 1,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'UPDATE',
|
||||
TRUSR = @TRUSR
|
||||
WHERE BPPNM = @OLD_BPPNM
|
||||
AND BPENO = @OLD_BPENO
|
||||
AND APPNO = @OLD_APPNO">
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPRM" Name="BPPNM"
|
||||
PropertyName="SelectedDataKey["BPPNM"]" />
|
||||
<asp:ControlParameter ControlID="gvBPRM" Name="BPENO"
|
||||
PropertyName="SelectedDataKey["BPENO"]" />
|
||||
</SelectParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BPPNM" />
|
||||
<asp:Parameter Name="OLD_BPENO" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BPPNM" />
|
||||
<asp:Parameter Name="BPENO" />
|
||||
<asp:SessionParameter Name="TRUSR" SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_BPPNM" />
|
||||
<asp:Parameter Name="OLD_BPENO" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BPPNM" />
|
||||
<asp:Parameter Name="BPENO" />
|
||||
<asp:SessionParameter Name="TRUSR" SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="fvBPRM" runat="server"
|
||||
DataSourceID="dsBPRMForm" OnDataBound="fvBPRM_DataBound"
|
||||
OnItemCommand="fvBPRM_ItemCommand"
|
||||
OnItemDeleted="fvBPRM_ItemDeleted"
|
||||
OnItemInserted="fvBPRM_ItemInserted"
|
||||
OnItemInserting="fvBPRM_ItemInserting"
|
||||
OnItemUpdated="fvBPRM_ItemUpdated"
|
||||
OnItemUpdating="fvBPRM_ItemUpdating"
|
||||
OnModeChanged="fvBPRM_ModeChanged"
|
||||
OnModeChanging="fvBPRM_ModeChanging">
|
||||
<ItemTemplate>
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
width="640">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<cc1:WButton ID="btnInsert" runat="server" AccessKey="I"
|
||||
CommandName="New" CssClass="button" Text="I.新增"
|
||||
TextMessageId="I.+INSERT" />
|
||||
<cc1:WButton ID="btnEdit" runat="server" AccessKey="M"
|
||||
CommandName="Edit" CssClass="button" Text="M.更正"
|
||||
TextMessageId="M.+UPDATE" />
|
||||
<cc1:WButton ID="btnDelete" runat="server" AccessKey="T"
|
||||
CommandName="Delete" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmDelete);"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE" />
|
||||
</td>
|
||||
<td align="right">
|
||||
<cc1:WButton ID="btnBPRJ" runat="server" AccessKey="R"
|
||||
CommandName="BPRJ" CssClass="button"
|
||||
Enabled='<%# ForwardSource != "" %>' Text="R.返回專案資料"
|
||||
TextMessageId="" Width="105px" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
style="table-layout: fixed" width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRM_BPPNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRM.BPPNM+:">專案編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRM_BPPNM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPNM", "{0:c}") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="4">
|
||||
<asp:Label ID="lbBPRM_BPPNMX" runat="server"
|
||||
CssClass="textInput"
|
||||
Text='<%# GetLookup("BPRJ", Eval("BPPNM", "{0:c}"), "BPPME") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRM_BPENOLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRM.BPENO+:">人員編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRM_BPENO" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPENO", "{0:c}") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="2">
|
||||
<asp:Label ID="lbBPRM_BPENOX" runat="server"
|
||||
Text='<%# GetLookup("BPSN", Eval("BPENO", "{0:c}"), "BPNME") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="lbBPRM_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO") %>' />
|
||||
</ItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server" AccessKey="S"
|
||||
CommandName="Insert" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmSave);" Text="S.存檔"
|
||||
TextMessageId="S.+SAVE" />
|
||||
<cc1:WButton ID="btnCancel" runat="server" AccessKey="C"
|
||||
CausesValidation="false" CommandName="Cancel"
|
||||
CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPENO" runat="server"
|
||||
ControlToValidate="txtBPRM_BPENO" Display="None"
|
||||
ErrorMessage="請輸入人員編號"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPENO" runat="server"
|
||||
ControlToValidate="txtBPRM_BPENO" Display="None"
|
||||
ErrorMessage="人員編號不存在"
|
||||
OnServerValidate="cvBPENO_ServerValidate"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
style="table-layout: fixed" width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRM_BPPNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRM.BPPNM+:">專案編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRM_BPPNM" runat="server"
|
||||
CssClass="textInput" Text="<%# _BPPNM %>"></asp:Label>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="4">
|
||||
<asp:Label ID="lbBPRM_BPPNMX" runat="server"
|
||||
CssClass="textInput"
|
||||
Text='<%# GetLookup("BPRJ", _BPPNM, "BPPME") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel2" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRM.BPENO+:">人員編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<table border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtBPRM_BPENO" runat="server"
|
||||
CssClass="textInput" MaxLength="10"
|
||||
Text='<%# Bind("BPENO", "{0:c}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td style="width: 17px">
|
||||
<asp:ImageButton ID="btnBPRM_BPENO_WQRY" runat="server"
|
||||
ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="2">
|
||||
<asp:Label ID="lbBPRM_BPENOX" runat="server"
|
||||
CssClass="textInput"
|
||||
Text='<%# GetLookup("BPSN", Eval("BPENO", "{0:c}"), "BPNME") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server" AccessKey="S"
|
||||
CommandName="Update" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmSave);" Text="S.存檔"
|
||||
TextMessageId="S.+SAVE" />
|
||||
<cc1:WButton ID="btnCancel" runat="server" AccessKey="C"
|
||||
CausesValidation="false" CommandName="Cancel"
|
||||
CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
style="table-layout: fixed" width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPRM_BPPNMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRM.BPPNM+:">專案編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPRM_BPPNM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPPNM", "{0:c}") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="4">
|
||||
<asp:Label ID="lbBPRM_BPPNMX" runat="server"
|
||||
CssClass="textInput"
|
||||
Text='<%# GetLookup("BPRJ", Eval("BPPNM", "{0:c}"), "BPPME") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel3" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPRM.BPENO+:">人員編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
class="textInput">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtBPRM_BPENO" runat="server"
|
||||
CssClass="textInput" MaxLength="10"
|
||||
Text='<%# Bind("BPENO", "{0:c}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td style="width: 17px">
|
||||
<asp:ImageButton ID="btnBPRM_BPENO_WQRY" runat="server"
|
||||
ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="2">
|
||||
<asp:Label ID="lbBPRM_BPENOX" runat="server"
|
||||
CssClass="textInput"
|
||||
Text='<%# GetLookup("BPSN", Eval("BPENO", "{0:c}"), "BPNME") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPRM_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO") %>' />
|
||||
</EditItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="gvBPRM" runat="server" AllowPaging="True"
|
||||
AutoGenerateColumns="False" DataKeyNames="BPPNM,BPENO"
|
||||
DataSourceID="dsBPRMGrid" OnDataBound="gvBPRM_DataBound"
|
||||
OnPageIndexChanged="gvBPRM_PageIndexChanged"
|
||||
OnRowDataBound="gvBPRM_RowDataBound"
|
||||
OnSelectedIndexChanged="gvBPRM_SelectedIndexChanged">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText="" ShowSelectButton="True" />
|
||||
<asp:BoundField AccessibleHeaderText="BPRM.BPPNM"
|
||||
DataField="BPPNM" HeaderText="專案編號" ReadOnly="True"
|
||||
SortExpression="BPPNM" />
|
||||
<asp:BoundField AccessibleHeaderText="BPRM.BPENO"
|
||||
DataField="BPENO" HeaderText="人員編號" ReadOnly="True"
|
||||
SortExpression="BPENO" />
|
||||
<asp:TemplateField AccessibleHeaderText="BPSN.BPNME"
|
||||
HeaderText="人員姓名" SortExpression="BPENO">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbBPRM_BPENOX" runat="server"
|
||||
Text='<%# GetLookup("BPSN", Eval("BPENO", "{0:c}"), "BPNME") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<HeaderStyle Width="250px" />
|
||||
<ItemStyle Width="250px" />
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="WGridViewPager1" runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -0,0 +1,365 @@
|
||||
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.Text;
|
||||
using Wellan.Common;
|
||||
using Wellan.Data;
|
||||
using System.Data.Common;
|
||||
|
||||
/// <summary>
|
||||
/// 專案處理人員
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBprm : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPPNM = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BPRM ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BPENO";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//if (IsPostBack)
|
||||
// gvBPRM.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
|
||||
if (ddlBCUS.Items.Count == 0)
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText =
|
||||
@"SELECT '' AS BCNUM, '(請選擇客戶)' AS BCNAM
|
||||
UNION ALL
|
||||
SELECT BCNUM, '(' + BCNUM + ') ' + BCNAM AS BCNAM
|
||||
FROM BCUS
|
||||
ORDER BY BCNUM";
|
||||
ddlBCUS.DataSource = Query.Select(cmd1);
|
||||
ddlBCUS.DataValueField = "BCNUM";
|
||||
ddlBCUS.DataTextField = "BCNAM";
|
||||
ddlBCUS.DataBind();
|
||||
}
|
||||
|
||||
BindBPRJListBox();
|
||||
|
||||
/* 舊作法程式
|
||||
dsBPRMForm.ConnectionString = ConnectionString;
|
||||
dsBPRMGrid.ConnectionString = ConnectionString;
|
||||
_BPPNM = GetStringParam("BPPNM");
|
||||
GetGridViewRowColor(gvBPRM);
|
||||
Search();
|
||||
*/
|
||||
}
|
||||
|
||||
#region 新作法程式
|
||||
|
||||
protected void BindBPRJListBox()
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText =
|
||||
@"SELECT BPPNM, '(' + BPPNM + ') ' + BPPME AS BPPME
|
||||
FROM BPRJ
|
||||
WHERE BPNUM=@BPNUM
|
||||
AND EXISTS (SELECT 1 FROM BPAA WHERE BPAA.BPPNM=BPRJ.BPPNM AND (BPAA.BPPNM = 'TYB00001' OR BPAA.BPPNM = 'JYB00001' OR BPAA.BPYER=@BPYER))
|
||||
ORDER BY BPPNM";
|
||||
Query.AddParam(cmd1, "BPNUM", ddlBCUS.SelectedValue);
|
||||
Query.AddParam(cmd1, "BPYER", WQuery.GetInt32Value(txtYear.Text));
|
||||
|
||||
lbProject.DataSource = Query.Select(cmd1);
|
||||
lbProject.DataValueField = "BPPNM";
|
||||
lbProject.DataTextField = "BPPME";
|
||||
lbProject.DataBind();
|
||||
|
||||
if (lbProject.Items.Count > 0 && lbProject.SelectedIndex == -1)
|
||||
{
|
||||
lbProject.SelectedIndex = 0;
|
||||
BindWorkerListBox();
|
||||
}
|
||||
}
|
||||
|
||||
protected void BindWorkerListBox()
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText = String.Format(
|
||||
@"SELECT BPENO, '(' + BPENO + ') ' + BPNME AS BPNME FROM BPSNView
|
||||
WHERE BPEDY IS NULL
|
||||
AND BPDPT IN {0}
|
||||
AND EXISTS (SELECT BWEH.BPENO FROM BWEH WHERE BWEH.BPGLP='03' AND BWEH.BPENO=BPSNView.BPENO)
|
||||
AND EXISTS (SELECT * FROM BPRM WHERE BPPNM=@BPPNM AND BPRM.BPENO=BPSNView.BPENO)", PublicVariable.InnerDepartment);
|
||||
Query.AddParam(cmd1, "BPPNM", lbProject.SelectedValue);
|
||||
|
||||
DbCommand cmd2 = Query.NewCommand();
|
||||
cmd2.CommandText = String.Format(
|
||||
@"SELECT BPENO, '(' + BPENO + ') ' + BPNME AS BPNME FROM BPSNView
|
||||
WHERE BPEDY IS NULL
|
||||
AND BPDPT IN {0}
|
||||
AND EXISTS (SELECT BWEH.BPENO FROM BWEH WHERE BWEH.BPGLP='03' AND BWEH.BPENO=BPSNView.BPENO)
|
||||
AND NOT EXISTS (SELECT * FROM BPRM WHERE BPPNM=@BPPNM AND BPRM.BPENO=BPSNView.BPENO)", PublicVariable.InnerDepartment);
|
||||
Query.AddParam(cmd2, "BPPNM", lbProject.SelectedValue);
|
||||
|
||||
lbInWork.DataSource = Query.Select(cmd1);
|
||||
lbInWork.DataValueField = "BPENO";
|
||||
lbInWork.DataTextField = "BPNME";
|
||||
lbInWork.DataBind();
|
||||
|
||||
lbOutWork.DataSource = Query.Select(cmd2);
|
||||
lbOutWork.DataValueField = "BPENO";
|
||||
lbOutWork.DataTextField = "BPNME";
|
||||
lbOutWork.DataBind();
|
||||
}
|
||||
|
||||
protected void WButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
BindBPRJListBox();
|
||||
}
|
||||
|
||||
protected void lbProject_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
BindWorkerListBox();
|
||||
}
|
||||
|
||||
protected void btnMoveIn_Click(object sender, ImageClickEventArgs e)
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText =
|
||||
@"SELECT BPENO FROM BPRM WHERE BPPNM=@BPPNM AND BPENO=@BPENO";
|
||||
|
||||
DbCommand cmd2 = Query.NewCommand();
|
||||
cmd2.CommandText =
|
||||
@"INSERT INTO BPRM (BPPNM, BPENO, APPNO) VALUES (@BPPNM, @BPENO, 1)";
|
||||
|
||||
foreach (ListItem item in lbOutWork.Items)
|
||||
{
|
||||
if (!item.Selected)
|
||||
continue;
|
||||
|
||||
Query.AddParam(cmd1, "BPPNM", lbProject.SelectedValue);
|
||||
Query.AddParam(cmd1, "BPENO", item.Value);
|
||||
if (Query.Select(cmd1).Rows.Count == 0)
|
||||
{
|
||||
Query.AddParam(cmd2, "BPPNM", lbProject.SelectedValue);
|
||||
Query.AddParam(cmd2, "BPENO", item.Value);
|
||||
Query.ExecuteNonQuery(cmd2);
|
||||
}
|
||||
}
|
||||
|
||||
BindWorkerListBox();
|
||||
}
|
||||
|
||||
protected void btnMoveOut_Click(object sender, ImageClickEventArgs e)
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText =
|
||||
@"DELETE FROM BPRM WHERE BPPNM=@BPPNM AND BPENO=@BPENO";
|
||||
|
||||
foreach (ListItem item in lbInWork.Items)
|
||||
{
|
||||
if (!item.Selected)
|
||||
continue;
|
||||
|
||||
Query.AddParam(cmd1, "BPPNM", lbProject.SelectedValue);
|
||||
Query.AddParam(cmd1, "BPENO", item.Value);
|
||||
Query.ExecuteNonQuery(cmd1);
|
||||
}
|
||||
|
||||
BindWorkerListBox();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 舊作法程式
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsBPRMGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPRMGrid, "BPPNM", _BPPNM, "", true);
|
||||
sql.Append(order);
|
||||
dsBPRMGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
protected void dsBPRM_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
fvBPRM.ChangeMode(FormViewMode.Insert);
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPRM_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPRM.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
case FormViewMode.Edit:
|
||||
RegisterLookupEvent(fvBPRM, "btnBPRM_BPENO_WQRY", "txtBPRM_BPENO", "txtBPRM_BPENO,lbBPRM_BPENOX", "BPSN",
|
||||
String.Format("BPEDY IS NULL AND BPDPT IN {0} AND NOT EXISTS (SELECT * FROM BPRM WHERE BPRM.BPPNM='" + _BPPNM + "' AND BPRM.BPENO=BPSNView.BPENO)", PublicVariable.InnerDepartment));
|
||||
SetClientFocus(fvBPRM, "txtBPRM_BPENO");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPRM_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPRM.SelectedIndex == -1 && gvBPRM.Rows.Count > 0)
|
||||
gvBPRM.SelectedIndex = 0;
|
||||
fvBPRM.DataBind();
|
||||
}
|
||||
|
||||
protected void gvBPRM_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPRM.SelectedIndex = 0;
|
||||
gvBPRM.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPRM.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPRM_ModeChanged(sender, e);
|
||||
break;
|
||||
case "BPRJ":
|
||||
DoAfterCommand("BPRJ");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPRM_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (fvBPRM.CurrentMode == FormViewMode.ReadOnly)
|
||||
{
|
||||
gvBPRM.Visible = true;
|
||||
gvBPRM.DataBind();
|
||||
if (gvBPRM.Rows.Count > 0 && gvBPRM.SelectedIndex == -1)
|
||||
{
|
||||
gvBPRM.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert && gvBPRM.Rows.Count > 0)
|
||||
{
|
||||
gvBPRM.PageIndex = gvBPRM.PageCount - 1;
|
||||
gvBPRM.DataBind();
|
||||
gvBPRM.SelectedIndex = gvBPRM.Rows.Count - 1;
|
||||
}
|
||||
|
||||
fvBPRM.DataBind();
|
||||
}
|
||||
else
|
||||
{
|
||||
gvBPRM.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPRM_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void CalcFields(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
}
|
||||
|
||||
protected bool CheckDuplicate(string bpeno)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand(
|
||||
@"SELECT COUNT(1) FROM BPRM WHERE BPPNM=@BPPNM AND BPENO=@BPENO");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPNM", _BPPNM));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPENO", bpeno));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
return (o == null || o == DBNull.Value || Convert.ToInt32(o) == 0);
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
// 檢查是否重複
|
||||
if (!CheckDuplicate(e.Values["BPENO"].ToString()))
|
||||
{
|
||||
cvMessage.ErrorMessage = "員工編號重複,請重新輸入";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
CalcFields(e.Values);
|
||||
e.Values["BPPNM"] = _BPPNM;
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
// 檢查是否重複
|
||||
if (e.OldValues["BPENO"].ToString() != e.NewValues["BPENO"].ToString() && !CheckDuplicate(e.NewValues["BPENO"].ToString()))
|
||||
{
|
||||
cvMessage.ErrorMessage = "員工編號重複,請重新輸入";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
CalcFields(e.NewValues);
|
||||
}
|
||||
|
||||
protected void gvBPRM_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(sender as GridView, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPRM_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in (sender as GridView).Rows)
|
||||
SetGridViewMouseBehavier(sender as GridView, row);
|
||||
}
|
||||
|
||||
protected void cvBPENO_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
BPSN_DAC bpsn = new BPSN_DAC(WConfig.GetConnectionConfig(), WConfig.GetConnectionConfigName());
|
||||
args.IsValid = args.Value != "" && bpsn.IsExist(args.Value, true) && bpsn.GetDepartment(args.Value) != "X";
|
||||
}
|
||||
|
||||
protected void dsBPRMForm_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
|
||||
{
|
||||
e.Command.Parameters["@BPPNM"].Value = _BPPNM;
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPRM.DataBind();
|
||||
if (gvBPRM.SelectedIndex > gvBPRM.Rows.Count - 1)
|
||||
{
|
||||
gvBPRM.SelectedIndex = gvBPRM.Rows.Count - 1;
|
||||
gvBPRM.DataBind();
|
||||
}
|
||||
fvBPRM.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,800 @@
|
||||
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 System.Collections.Generic;
|
||||
|
||||
/// <summary>
|
||||
/// 專案人員派遣
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmRasn : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _RACNM = "";
|
||||
protected string _RAPYN = "";
|
||||
protected string _BPENO = "";
|
||||
protected string _BPNME = "";
|
||||
|
||||
protected int _YY = 0;
|
||||
//private string select = "SELECT A.*, B.BPSRM, B.BPSRD, B.BPP01, B.BPP02, B.BPP03, B.BPP04, B.BPP05, (CASE WHEN A.RAEDT IS NULL THEN 1 ELSE 2 END) RAEND ";
|
||||
//private string from =
|
||||
// @" FROM RASN A
|
||||
// LEFT OUTER JOIN BPJB B ON A.RAPYN=B.BPPYN AND A.RAJNO=B.BPJNO AND A.RACNO=B.BPCNO
|
||||
// LEFT OUTER JOIN BPSNView C ON A.RANUM=C.BPENO ";
|
||||
//private string where = " WHERE 1=1 ";
|
||||
//// private string order = " ORDER BY RACNM, RAPYN, RAEND, RANUM, RAITM";
|
||||
//private string order = " ORDER BY RAPYN, RAEND, RANUM, RAITM";
|
||||
//private string hq_order = " ORDER BY RAEDT, RANUM";
|
||||
protected bool canSeeSalary = false;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
_RACNM = ViewState["RACNM"] != null ? ViewState["RACNM"].ToString() : "";
|
||||
_RAPYN = ViewState["RAPYN"] != null ? ViewState["RAPYN"].ToString() : "";
|
||||
_BPENO = ViewState["BPENO"] != null ? ViewState["BPENO"].ToString() : "";
|
||||
_BPNME = ViewState["BPNME"] != null ? ViewState["BPNME"].ToString() : "";
|
||||
|
||||
//if (IsPostBack)
|
||||
// RASNGrid.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsRASNForm.ConnectionString = ConnectionString;
|
||||
dsRASNGrid.ConnectionString = ConnectionString;
|
||||
dsRASN_RABRH.ConnectionString = ConnectionString;
|
||||
dsRASN_RANUM.ConnectionString = ConnectionString;
|
||||
dsRASN_BPJNO.ConnectionString = ConnectionString;
|
||||
dsRASN_BPCNO.ConnectionString = ConnectionString;
|
||||
dsRASN_RAENO1.ConnectionString = ConnectionString;
|
||||
dsRASN_RABRH1.ConnectionString = ConnectionString;
|
||||
dsRASN_RAWTZ.ConnectionString = ConnectionString;
|
||||
|
||||
_YY = GetIntParam("YY");
|
||||
|
||||
if (ForwardSource != "")
|
||||
{
|
||||
_RAPYN = GetStringParam("RAPYN");
|
||||
ViewState["RAPYN"] = _RAPYN;
|
||||
|
||||
DbCommand cmdRacnm = Query.NewCommand(
|
||||
@"SELECT A.BCNUM FROM BCUS A
|
||||
INNER JOIN BPRJ B ON A.BCNUM=B.BPNUM
|
||||
INNER JOIN BPAA C ON B.BPPNM=C.BPPNM
|
||||
WHERE C.BPPYN=@BPPYN");
|
||||
cmdRacnm.Parameters.Add(Query.NewParameter("BPPYN", _RAPYN));
|
||||
object o = Query.ExecuteScalar(cmdRacnm);
|
||||
if (o == null)
|
||||
_RACNM = "";
|
||||
else
|
||||
_RACNM = o.ToString();
|
||||
}
|
||||
|
||||
if (_YY > 0)
|
||||
{
|
||||
txtYY.Text = _YY.ToString();
|
||||
|
||||
ddlBPPYN.DataSource = new BpaaDAC().GetBpaa(_YY + WGuard1.CY11);
|
||||
ddlBPPYN.DataBind();
|
||||
ListItem item = ddlBPPYN.Items.FindByValue(_RAPYN);
|
||||
if (item != null)
|
||||
item.Selected = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
txtYY.Focus();
|
||||
}
|
||||
|
||||
MultiView1.Visible = _RAPYN != "";
|
||||
|
||||
dsRASN_BPJNO.SelectParameters["BPPYN"].DefaultValue = _RAPYN;
|
||||
dsRASN_BPCNO.SelectParameters["BPPYN"].DefaultValue = _RAPYN;
|
||||
|
||||
string zone;
|
||||
string bscls;
|
||||
if (_RAPYN.Length > 4)
|
||||
zone = _RAPYN.Substring(3, 1);
|
||||
else
|
||||
zone = "";
|
||||
|
||||
switch (zone)
|
||||
{
|
||||
case "A": // A 北基宜
|
||||
bscls = "1%";
|
||||
break;
|
||||
case "B": // B 桃竹苗
|
||||
bscls = "2%";
|
||||
break;
|
||||
case "C": // C 中彰投
|
||||
bscls = "3%";
|
||||
break;
|
||||
case "D": // D 雲嘉南
|
||||
bscls = "4%";
|
||||
break;
|
||||
case "E": // E 高屏澎東
|
||||
bscls = "5%";
|
||||
break;
|
||||
case "F": // 台北市 (預留)
|
||||
bscls = "6%";
|
||||
break;
|
||||
case "G": // 高雄市 (預留)
|
||||
bscls = "7%";
|
||||
break;
|
||||
default:
|
||||
bscls = "%";
|
||||
break;
|
||||
}
|
||||
dsRASN_RABRH.SelectParameters["BSCLS"].DefaultValue = bscls;
|
||||
|
||||
GetGridViewRowColor(RASNGrid);
|
||||
|
||||
switch (MultiView1.ActiveViewIndex)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
//RegisterLookupEvent(this, "btnRASN_RACNM_WQRY", "txtRACNM", "txtRACNM,txtRACNMX", "BCUS");
|
||||
//RegisterLookupEvent(this, "btnRASN_RAPYN_WQRY", "txtRAPYN", "txtRAPYN,txtRAPYNX", "BPRJ");
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
Search();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 依權限顯示隱藏資料
|
||||
canSeeSalary = CheckRight(WRightName.Update);
|
||||
|
||||
RASNGrid.Columns[5].Visible = canSeeSalary;
|
||||
RASNGrid.Columns[6].Visible = canSeeSalary;
|
||||
RASNGrid.Columns[7].Visible = canSeeSalary;
|
||||
RASNGrid.Columns[8].Visible = canSeeSalary;
|
||||
RASNGrid.Columns[9].Visible = canSeeSalary;
|
||||
RASNGrid.Columns[10].Visible = canSeeSalary;
|
||||
RASNGrid.Columns[11].Visible = canSeeSalary;
|
||||
RASNGrid.Columns[12].Visible = canSeeSalary;
|
||||
}
|
||||
|
||||
// 查詢按鈕
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
// _RACNM = txtRACNM.Text;
|
||||
// _RAPYN = txtRAPYN.Text;
|
||||
_BPENO = txtBPENO.Text;
|
||||
_BPNME = txtBPNME.Text;
|
||||
|
||||
if (//_RACNM.Length == 0 &&
|
||||
//_RAPYN.Length == 0 &&
|
||||
_BPENO.Length == 0 &&
|
||||
_BPNME.Length == 0)
|
||||
{
|
||||
lbMessage.Text = GetString("NOSRHCOND");
|
||||
lbMessage.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
|
||||
Search();
|
||||
|
||||
RASNGrid.PageIndex = 0;
|
||||
RASNGrid.SelectedIndex = 0;
|
||||
RASNGrid.DataBind();
|
||||
|
||||
// 查詢有資料時,才將查詢條件紀錄在 ViewState 中
|
||||
if (RASNGrid.Rows.Count > 0)
|
||||
{
|
||||
// ViewState["RACNM"] = txtRACNM.Text;
|
||||
// ViewState["RAPYN"] = txtRAPYN.Text;
|
||||
ViewState["BPENO"] = txtBPENO.Text;
|
||||
ViewState["BPNME"] = txtBPNME.Text;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 取消查詢按鈕
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
//ViewState.Remove("RACNM");
|
||||
//ViewState.Remove("RAPYN");
|
||||
ViewState.Remove("BPENO");
|
||||
ViewState.Remove("BPNME");
|
||||
Search();
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
List<string> HQ_RAPYNS = new List<string>() { "103TYB00001", "103JYB00001" };
|
||||
String searchOrder1 = String.Empty, searchOrder2 = String.Empty;
|
||||
if (HQ_RAPYNS.IndexOf(_RAPYN) < 0)
|
||||
{
|
||||
searchOrder1 = "RANUM";
|
||||
searchOrder2 = "RAEDT, RANUM";
|
||||
}
|
||||
else
|
||||
{
|
||||
searchOrder1 = "RAEDT, RANUM";
|
||||
searchOrder2 = "RAEDT, RANUM";
|
||||
}
|
||||
|
||||
sql.Append(string.Format(@"
|
||||
SELECT A.*, B.BPSRM, B.BPSRD, B.BPP01, B.BPP02, B.BPP03, B.BPP04, B.BPP05
|
||||
FROM
|
||||
(
|
||||
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY {0}) ROWNUM FROM RASN WHERE RAPYN=@RAPYN AND RAEDT IS NULL) T1
|
||||
UNION ALL
|
||||
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY {1}) ROWNUM FROM RASN WHERE RAPYN=@RAPYN AND RAEDT IS NOT NULL) T2
|
||||
) A
|
||||
LEFT OUTER JOIN BPJB B ON A.RAPYN=B.BPPYN AND A.RAJNO=B.BPJNO AND A.RACNO=B.BPCNO
|
||||
LEFT OUTER JOIN BPSNView C ON A.RANUM=C.BPENO
|
||||
WHERE 1=1
|
||||
", searchOrder1, searchOrder2));
|
||||
if (!string.IsNullOrEmpty(txtYY.Text) && HQ_RAPYNS.IndexOf(_RAPYN) < 0)
|
||||
{
|
||||
sql.Append(string.Format(" AND ((RASDT >= '{0}/01/01' AND RASDT <= '{0}/12/31') OR (RAEDT >= '{0}/01/01' AND RAEDT <= '{0}/12/31') OR (RASDT <= '{0}/01/01' AND RAEDT >= '{0}/12/31') ) ", WQuery.GetInt32Value(txtYY.Text) + WGuard1.CY11));
|
||||
}
|
||||
|
||||
dsRASNGrid.SelectParameters.Clear();
|
||||
dsRASNGrid.SelectParameters.Add(new Parameter("RAPYN", DbType.String, _RAPYN));
|
||||
// AddSearch(sql, dsRASNGrid, "RAPYN", _RAPYN, "", true);
|
||||
AddSearch(sql, dsRASNGrid, "C.BPENO", _BPENO, "", true);
|
||||
AddSearch(sql, dsRASNGrid, "C.BPNME", _BPNME, "", true);
|
||||
|
||||
dsRASNGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
// 存檔前的計算動作
|
||||
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void dsRASNForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void dsRASNForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void RASNGrid_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (RASNGrid.Rows.Count > 0)
|
||||
{
|
||||
RASNGrid.Visible = true;
|
||||
if (RASNGrid.SelectedIndex == -1)
|
||||
RASNGrid.SelectedIndex = 0;
|
||||
if (RASNGrid.SelectedIndex > RASNGrid.Rows.Count - 1)
|
||||
RASNGrid.SelectedIndex = RASNGrid.Rows.Count - 1;
|
||||
|
||||
if (RASNGrid.SelectedIndex != -1)
|
||||
{
|
||||
dsRASN_BPJNO.SelectParameters["BPPYN"].DefaultValue = RASNGrid.SelectedDataKey["RAPYN"].ToString();
|
||||
dsRASN_BPCNO.SelectParameters["BPPYN"].DefaultValue = RASNGrid.SelectedDataKey["RAPYN"].ToString();
|
||||
}
|
||||
|
||||
RASNForm.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void RASNGrid_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
RASNGrid.SelectedIndex = 0;
|
||||
RASNGrid.DataBind();
|
||||
}
|
||||
|
||||
protected void dsRASNGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
if (ForwardSource != "")
|
||||
RASNForm.ChangeMode(FormViewMode.Insert);
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
|
||||
lbMessage.Text = GetString("NODATA");
|
||||
lbMessage.Visible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void RASNForm_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Search":
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
break;
|
||||
case "Save":
|
||||
cvMessage.ErrorMessage = "";
|
||||
bool passed = true;
|
||||
|
||||
string bpjno = (RASNForm.FindControl("hfBPJNO") as HiddenField).Value;
|
||||
string bpcno = (RASNForm.FindControl("hfBPCNO") as HiddenField).Value.Split('_')[0];
|
||||
string rasdt = (RASNForm.FindControl("txtRASN_RASDT") as TextBox).Text;
|
||||
string rabrh = (RASNForm.FindControl("ddlRASN_RABRH") as DropDownList).SelectedValue;
|
||||
string rawtz = (RASNForm.FindControl("ddlRASN_RAWTZ") as DropDownList).SelectedValue;
|
||||
if (string.IsNullOrEmpty(rawtz))
|
||||
rawtz = "台北";
|
||||
|
||||
int selected = 0;
|
||||
foreach (ListItem item in (RASNForm.FindControl("selRASN_RANUM") as CheckBoxList).Items)
|
||||
selected += item.Selected ? 1 : 0;
|
||||
if (selected == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage += "請選擇人員<br>";
|
||||
cvMessage.IsValid = false;
|
||||
passed = false;
|
||||
}
|
||||
|
||||
if (bpjno == "")
|
||||
{
|
||||
cvMessage.ErrorMessage += "請選擇職稱<br>";
|
||||
cvMessage.IsValid = false;
|
||||
passed = false;
|
||||
}
|
||||
|
||||
if (bpcno == "")
|
||||
{
|
||||
cvMessage.ErrorMessage += "請選擇等級<br>";
|
||||
cvMessage.IsValid = false;
|
||||
passed = false;
|
||||
}
|
||||
|
||||
if (rabrh == "")
|
||||
{
|
||||
cvMessage.ErrorMessage += "請選擇站別<br>";
|
||||
cvMessage.IsValid = false;
|
||||
passed = false;
|
||||
}
|
||||
|
||||
DateTime rasdtValue = (DateTime)CheckDate(rasdt, "請輸入正確的派遣開始日期", ref passed, cvMessage);
|
||||
|
||||
DataTable bpjb = GetBPJB(bpjno, bpcno);
|
||||
if (bpjb.Rows.Count == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage += "請檢查專案年度職稱與等級資料是否設定正確<br>";
|
||||
cvMessage.IsValid = false;
|
||||
passed = false;
|
||||
}
|
||||
|
||||
if (!passed)
|
||||
{
|
||||
RegisterJS(RASNForm);
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
break;
|
||||
}
|
||||
|
||||
// 準備新增
|
||||
DbCommand cmdInsertRASN = Query.NewCommand(
|
||||
@"INSERT INTO RASN
|
||||
(RANUM, RAITM, RACNM, RAPYN, RASDT, RAEDT, RAJNO, RACNO, RABRH, RAWTZ,
|
||||
APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@RANUM, @RAITM, @RACNM, @RAPYN, @RASDT, NULL, @RAJNO, @RACNO, @RABRH, @RAWTZ,
|
||||
1, GETDATE(), 'INSERT', @TRUSR)");
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("RANUM", DbType.String));
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("RAITM", DbType.Int32));
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("RACNM", _RACNM));
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("RAPYN", _RAPYN));
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("RASDT", rasdtValue.ToString(WGuard1.InvariantCulture)));
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("RAJNO", bpjno));
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("RACNO", bpcno));
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("RABRH", rabrh));
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("RAWTZ", rawtz));
|
||||
cmdInsertRASN.Parameters.Add(Query.NewParameter("TRUSR", UserId));
|
||||
DbConnection conn = Query.NewConnection();
|
||||
cmdInsertRASN.Connection = conn;
|
||||
conn.Open();
|
||||
DbTransaction tran = conn.BeginTransaction();
|
||||
|
||||
cmdInsertRASN.Transaction = tran;
|
||||
try
|
||||
{
|
||||
foreach (ListItem item in (RASNForm.FindControl("selRASN_RANUM") as CheckBoxList).Items)
|
||||
if (item.Selected)
|
||||
{
|
||||
// 新增人員派遣紀錄
|
||||
// 取新的項次
|
||||
object o = Query.ExecuteScalar(String.Format("SELECT ISNULL(MAX(RAITM), 0) + 1 FROM RASN WHERE RANUM='{0}'", item.Value));
|
||||
if (o == null)
|
||||
cmdInsertRASN.Parameters["RAITM"].Value = 1;
|
||||
else
|
||||
cmdInsertRASN.Parameters["RAITM"].Value = Convert.ToInt32(o);
|
||||
cmdInsertRASN.Parameters["RANUM"].Value = item.Value;
|
||||
cmdInsertRASN.ExecuteNonQuery();
|
||||
|
||||
/*
|
||||
dsRASNForm.InsertParameters.UpdateValues(Context, this);
|
||||
dsRASNForm.InsertParameters["RANUM"].DefaultValue = item.Value;
|
||||
dsRASNForm.InsertParameters["RACNM"].DefaultValue = _RACNM;
|
||||
dsRASNForm.InsertParameters["RAPYN"].DefaultValue = _RAPYN;
|
||||
dsRASNForm.InsertParameters["RAJNO"].DefaultValue = bpjno;
|
||||
dsRASNForm.InsertParameters["RACNO"].DefaultValue = bpcno;
|
||||
dsRASNForm.InsertParameters["RASDT"].DefaultValue = rasdtValue.ToString(System.Globalization.CultureInfo.InvariantCulture);
|
||||
dsRASNForm.InsertParameters["RABRH"].DefaultValue = rabrh;
|
||||
*/
|
||||
/*
|
||||
dsRASNForm.InsertParameters["RAMSL"].DefaultValue = bpjb.Rows[0]["BPSRM"].ToString();
|
||||
dsRASNForm.InsertParameters["RAHSL"].DefaultValue = bpjb.Rows[0]["BPSRD"].ToString();
|
||||
dsRASNForm.InsertParameters["RAP01"].DefaultValue = bpjb.Rows[0]["BPP01"].ToString();
|
||||
dsRASNForm.InsertParameters["RAP02"].DefaultValue = bpjb.Rows[0]["BPP02"].ToString();
|
||||
dsRASNForm.InsertParameters["RAP03"].DefaultValue = bpjb.Rows[0]["BPP03"].ToString();
|
||||
dsRASNForm.InsertParameters["RAP04"].DefaultValue = bpjb.Rows[0]["BPP04"].ToString();
|
||||
dsRASNForm.InsertParameters["RAP05"].DefaultValue = bpjb.Rows[0]["BPP05"].ToString();
|
||||
*/
|
||||
//dsRASNForm.InsertParameters["RAS01"].DefaultValue = ras01;
|
||||
|
||||
//dsRASNForm.Insert();
|
||||
}
|
||||
//throw new Exception("失敗測試");
|
||||
tran.Commit();
|
||||
ClientShowMessage("人員派遣新增成功!");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
tran.Rollback();
|
||||
ClientShowMessage("人員派遣新增失敗!原因為:\\n" + ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
(RASNForm.FindControl("selRASN_RANUM") as CheckBoxList).DataBind();
|
||||
(RASNForm.FindControl("gvRASN_RAENO") as GridView).DataBind();
|
||||
(RASNForm.FindControl("gvRASN_RABRH") as GridView).DataBind();
|
||||
RegisterJS(RASNForm);
|
||||
}
|
||||
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
/*
|
||||
RASNForm.ChangeMode(FormViewMode.ReadOnly);
|
||||
RASNForm_ModeChanged(sender, e);
|
||||
if (RASNGrid.Rows.Count == 0)
|
||||
{
|
||||
DoAfterCommand("BPRJ");
|
||||
}
|
||||
*/
|
||||
break;
|
||||
case "Return":
|
||||
DoAfterCommand("BPRJ");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 取得該職稱及等級之薪資資料
|
||||
protected DataTable GetBPJB(string bpjno, string bpcno)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand(
|
||||
@"SELECT BPSRM, BPSRD, BPP01, BPP02, BPP03, BPP04, BPP05 FROM BPJB
|
||||
WHERE BPPYN=@BPPYN AND BPJNO=@BPJNO AND BPCNO=@BPCNO ");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPYN", _RAPYN));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPJNO", bpjno));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPCNO", bpcno));
|
||||
return Query.Select(cmd);
|
||||
}
|
||||
|
||||
protected void RASNForm_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
RASNGrid.DataBind();
|
||||
RASNForm.DataBind();
|
||||
}
|
||||
|
||||
protected void RASNForm_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void RASNForm_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void RASNForm_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (RASNForm.CurrentMode == FormViewMode.ReadOnly)
|
||||
{
|
||||
RASNGrid.Visible = true;
|
||||
RASNGrid.DataBind();
|
||||
if (RASNGrid.Rows.Count > 0 && RASNGrid.SelectedIndex == -1)
|
||||
{
|
||||
RASNGrid.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert && RASNGrid.Rows.Count > 0)
|
||||
{
|
||||
RASNGrid.PageIndex = RASNGrid.PageCount - 1;
|
||||
RASNGrid.DataBind();
|
||||
RASNGrid.SelectedIndex = RASNGrid.Rows.Count - 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (RASNForm.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
break;
|
||||
}
|
||||
|
||||
RASNGrid.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void RASNForm_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void RASNForm_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
if (RASNForm.CurrentMode == FormViewMode.Insert || RASNForm.CurrentMode == FormViewMode.Edit)
|
||||
{
|
||||
RegisterCalendarEvent(RASNForm, "btnRASN_RASDT_DATE", "txtRASN_RASDT");
|
||||
if (RASNForm.CurrentMode == FormViewMode.Edit)
|
||||
RegisterCalendarEvent(RASNForm, "btnRASN_RAEDT_DATE", "txtRASN_RAEDT");
|
||||
RegisterJS(RASNForm);
|
||||
|
||||
switch (RASNForm.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
SetClientFocus(RASNForm, "selRASN_RANUM");
|
||||
dsRASN_RAENO1.SelectParameters["RAPYN"].DefaultValue = _RAPYN;
|
||||
dsRASN_RABRH1.SelectParameters["RAPYN"].DefaultValue = _RAPYN;
|
||||
break;
|
||||
case FormViewMode.Edit:
|
||||
SetControlFocus(RASNForm, "txtRASN_RASDT");
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (RASNForm.CurrentMode == FormViewMode.ReadOnly)
|
||||
{
|
||||
SetControlVisible(RASNForm, "Panel2", canSeeSalary);
|
||||
}
|
||||
}
|
||||
|
||||
protected void dsRASNForm_Deleted(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void RegisterJS(FormView fv)
|
||||
{
|
||||
HtmlSelect dlBPJNO = fv.FindControl("ddlBPJNO") as HtmlSelect;
|
||||
HtmlSelect dlBPCNO = fv.FindControl("ddlBPCNO") as HtmlSelect;
|
||||
HiddenField hfBPJNO = fv.FindControl("hfBPJNO") as HiddenField;
|
||||
HiddenField hfBPCNO = fv.FindControl("hfBPCNO") as HiddenField;
|
||||
dlBPJNO.Attributes["onchange"] = String.Format("javascript:BPJNOChange('{0:c}', '{1:c}', '{2:c}', '{3:c}');",
|
||||
dlBPJNO.ClientID, dlBPCNO.ClientID, hfBPJNO.ClientID, hfBPCNO.ClientID);
|
||||
dlBPCNO.Attributes["onchange"] = String.Format("javascript:BPCNOChange('{0:c}', '{1:c}');",
|
||||
dlBPCNO.ClientID, hfBPCNO.ClientID);
|
||||
|
||||
StringBuilder sb1 = new StringBuilder();
|
||||
StringBuilder sb2 = new StringBuilder();
|
||||
|
||||
dlBPCNO.DataBind();
|
||||
for (int i = 0; i < dlBPCNO.Items.Count; i++)
|
||||
{
|
||||
sb1.Append("\"" + dlBPCNO.Items[i].Value + "\"" + (i < dlBPCNO.Items.Count - 1 ? "," : ""));
|
||||
sb2.Append("\"" + dlBPCNO.Items[i].Text + "\"" + (i < dlBPCNO.Items.Count - 1 ? "," : ""));
|
||||
}
|
||||
|
||||
Page.ClientScript.RegisterArrayDeclaration("BPCNOValue", sb1.ToString());
|
||||
Page.ClientScript.RegisterArrayDeclaration("BPCNOText", sb2.ToString());
|
||||
|
||||
Button btnSave = fv.FindControl("btnSave") as Button;
|
||||
btnSave.OnClientClick = String.Format("javascript:CopyValue('{0:c}', '{1:c}', '{2:c}', '{3:c}');return confirm(msgConfirmSave);",
|
||||
dlBPJNO.ClientID, dlBPCNO.ClientID, hfBPJNO.ClientID, hfBPCNO.ClientID);
|
||||
|
||||
if (fv.DataItem != null)
|
||||
{
|
||||
DataRowView row = fv.DataItem as DataRowView;
|
||||
dlBPJNO.Value = row["RAJNO"].ToString();
|
||||
}
|
||||
|
||||
for (int i = dlBPCNO.Items.Count - 1; i >= 0; i--)
|
||||
{
|
||||
string[] bpcnos = dlBPCNO.Items[i].Value.Split('_');
|
||||
if (bpcnos.Length > 1)
|
||||
dlBPCNO.Items[i].Value = bpcnos[1];
|
||||
if (bpcnos[0] != dlBPJNO.Value)
|
||||
dlBPCNO.Items.Remove(dlBPCNO.Items[i]);
|
||||
}
|
||||
|
||||
if (fv.DataItem != null)
|
||||
{
|
||||
DataRowView row = fv.DataItem as DataRowView;
|
||||
dlBPCNO.Value = row["RACNO"].ToString();
|
||||
}
|
||||
}
|
||||
|
||||
protected void RASNGrid_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in RASNGrid.Rows)
|
||||
SetGridViewMouseBehavier(RASNGrid, row);
|
||||
}
|
||||
|
||||
protected void RASNGrid_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(RASNGrid, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected string GetRAJNOName(string rapyn, string rajno)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand("SELECT BPJME FROM BPJA WHERE (BPPYN = @BPPYN) AND (BPJNO=@BPJNO)");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPYN", rapyn));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPJNO", rajno));
|
||||
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o == null)
|
||||
return "";
|
||||
else
|
||||
return o.ToString();
|
||||
}
|
||||
|
||||
protected string GetRACNOName(string rapyn, string rajno, string racno)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand("SELECT BPCME FROM BPJB WHERE (BPPYN = @BPPYN) AND (BPJNO=@BPJNO) AND (BPCNO=@BPCNO)");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPYN", rapyn));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPJNO", rajno));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPCNO", racno));
|
||||
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o == null)
|
||||
return "";
|
||||
else
|
||||
return o.ToString();
|
||||
}
|
||||
|
||||
protected void RASNForm_ItemCreated(object sender, EventArgs e)
|
||||
{
|
||||
if (RASNForm.CurrentMode == FormViewMode.Insert)
|
||||
{
|
||||
(RASNForm.FindControl("txtRASN_RASDT") as TextBox).Text = _RAPYN.Substring(0, _RAPYN.Length - 4) + "0101";
|
||||
}
|
||||
}
|
||||
|
||||
protected new bool CheckInput(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
bool result = true;
|
||||
|
||||
// 檢查日期
|
||||
values["RASDT"] = CheckDate(values["RASDT"], "請輸入正確的派遣開始日期", ref result, cvMessage);
|
||||
if (values["RAEDT"].ToString() != "")
|
||||
{
|
||||
values["RAEDT"] = CheckDate(values["RAEDT"], "請輸入正確的派遣結束日期", ref result, cvMessage);
|
||||
if (result && Convert.ToDateTime(values["RAEDT"]).CompareTo(values["RASDT"]) < 0)
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage += "派遣結束日期 不可小於 派遣開始日期";
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void RASNForm_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
e.Cancel = !CheckInput(e.Values);
|
||||
}
|
||||
|
||||
protected void RASNForm_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
// 更正前檢查,檢查專案年度職稱與等級資料是否設定正確
|
||||
e.Cancel = !CheckInput(e.NewValues);
|
||||
|
||||
string bpjno = (RASNForm.FindControl("hfBPJNO") as HiddenField).Value;
|
||||
string bpcno = (RASNForm.FindControl("hfBPCNO") as HiddenField).Value.Split('_')[0];
|
||||
e.NewValues["RAJNO"] = bpjno;
|
||||
e.NewValues["RACNO"] = bpcno;
|
||||
|
||||
DataTable bpjb = GetBPJB(bpjno, bpcno);
|
||||
|
||||
if (bpjb.Rows.Count == 0)
|
||||
{
|
||||
e.Cancel = true;
|
||||
cvMessage.ErrorMessage += "請先檢查專案年度職稱與等級資料是否設定正確<br>";
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void Next_Click(object sender, EventArgs e)
|
||||
{
|
||||
string rapyn = ddlBPPYN.SelectedValue;
|
||||
|
||||
// 檢查此使用者是否有權限處理這個專案
|
||||
BprmDAC bprm = new BprmDAC(Query);
|
||||
if (!bprm.GetRight(rapyn, UserId))
|
||||
{
|
||||
MultiView1.Visible = false;
|
||||
cvMessage.ErrorMessage = "對不起,你沒有處理這個專案的權限!";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// 檢查職稱與等級是否有設定
|
||||
dsRASN_BPJNO.SelectParameters["BPPYN"].DefaultValue = rapyn;
|
||||
DataView dv = dsRASN_BPJNO.Select(new DataSourceSelectArguments()) as DataView;
|
||||
if (dv.Count == 0)
|
||||
{
|
||||
MultiView1.Visible = false;
|
||||
cvMessage.ErrorMessage = "此專案年度接單尚未設定職稱";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
dsRASN_BPCNO.SelectParameters["BPPYN"].DefaultValue = rapyn;
|
||||
dv = dsRASN_BPCNO.Select(new DataSourceSelectArguments()) as DataView;
|
||||
if (dv.Count == 0)
|
||||
{
|
||||
MultiView1.Visible = false;
|
||||
cvMessage.ErrorMessage = "此專案年度接單尚未設定職稱等級";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
ParamList["RAPYN"] = rapyn;
|
||||
DoAfterCommand("RASN");
|
||||
}
|
||||
|
||||
protected void RASNForm_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
||||
{
|
||||
// 刪除前檢查
|
||||
// 1. 有結束日期不可刪除
|
||||
}
|
||||
|
||||
protected void cvBPJNO_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
args.IsValid = args.Value != "";
|
||||
}
|
||||
|
||||
protected void gvRASN_RAENO_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
// 填入新增畫面上「已派遣人數」
|
||||
(RASNForm.FindControl("lbRAENOCount") as ITextControl).Text =
|
||||
(RASNForm.FindControl("gvRASN_RAENO") as GridView).Rows.Count.ToString();
|
||||
}
|
||||
|
||||
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["RAPYN"] = "";
|
||||
DoAfterCommand("RASN");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,629 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmRpfe.ascx.cs" Inherits="forms_customer_fmRpfe" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="FMRPFE.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator>
|
||||
<asp:SqlDataSource ID="dsRPFEGrid" runat="server"
|
||||
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM RPFE WHERE (1 = 0)"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" OnSelected="dsRPFEGrid_Selected">
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsRPFEForm" runat="server"
|
||||
UpdateCommand="UPDATE RPFE SET RPENO = @RPENO, RPDAT = @RPDAT, RPACC = @RPACC, RPAMT = @RPAMT, RPDOC = @RPDOC, APPNO = APPNO + 1, TRDAT = GETDATE(), TRMOD = 'UPDATE', TRUSR = @TRUSR WHERE RPREN = @OLD_RPREN AND APPNO = @OLD_APPNO"
|
||||
DeleteCommand="DELETE FROM RPFE WHERE RPREN = @OLD_RPREN AND APPNO = @OLD_APPNO"
|
||||
ConflictDetection="CompareAllValues" OldValuesParameterFormatString="OLD_{0}"
|
||||
OnInserting="dsRPFEForm_Inserting" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM RPFE WHERE RPREN = @RPREN"
|
||||
OnUpdating="dsRPFEForm_Updating">
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="RPENO" />
|
||||
<asp:Parameter Name="RPDAT" />
|
||||
<asp:Parameter Name="RPACC" />
|
||||
<asp:Parameter Name="RPAMT" />
|
||||
<asp:Parameter Name="RPDOC" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR"
|
||||
SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_RPREN" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_RPREN" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="RPFEGrid"
|
||||
Name="RPREN" PropertyName="SelectedValue" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsRPFE_RPACC" runat="server"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" SelectCommand="SELECT BPACC, BPCLS, BPACC + ' ' + BPAME BPAME FROM BPAB WHERE BPPYN=@RPPYN AND SUBSTRING(BPACC,5,2)<>'00' ORDER BY BPCLS">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="RPPYN" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsRPFE_RPENO" runat="server"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" SelectCommand="SELECT A.BPENO, A.BPENO + ' ' + A.BPNME BPNME FROM BPSNView A INNER JOIN RASN B ON A.BPENO=B.RANUM WHERE B.RAPYN=@RPPYN">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="RPPYN" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel6" runat="server" TextMessageId="">年度:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtYY" runat="server" Columns="4"
|
||||
CssClass="textInput1" MaxLength="4"></asp:TextBox>
|
||||
<cc1:WButton ID="btnYY" runat="server" AccessKey="Y"
|
||||
CssClass="button" Text="Y.確定" OnClick="btnYY_Click" /></td>
|
||||
<td class="dataEditCell">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" TextMessageId="">專案:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlBPPNM" runat="server"
|
||||
CssClass="textInput1" DataTextField="BPPYM"
|
||||
DataValueField="BPPYN" Width="500px">
|
||||
</cc1:WDropDownList></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WButton ID="Next" runat="server" AccessKey="J"
|
||||
CssClass="button" OnClick="Next_Click"
|
||||
Text="J.選擇專案" UseSubmitBehavior="False" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="0">
|
||||
<asp:View ID="InsertView" runat="server">
|
||||
<cc1:WButton ID="btnSave1" runat="server"
|
||||
Text="S.存檔" AccessKey="S" CssClass="button"
|
||||
OnClick="btnSave1_Click" OnClientClick="return confirm(msgConfirmSave);" />
|
||||
<cc1:WButton ID="btnCancel1" runat="server"
|
||||
Text="C.取消" AccessKey="C" CssClass="button"
|
||||
OnClick="btnCancel1_Click" OnClientClick="return confirm(msgConfirmCancel);" />
|
||||
<cc1:WButton ID="btnClear1" runat="server"
|
||||
Text="Z.清除" AccessKey="Z" CssClass="button"
|
||||
OnClientClick='if (confirm("是否確定清除畫面上輸入之全部資料?")) ClearInputs(999);return false;'
|
||||
UseSubmitBehavior="False" />
|
||||
<asp:CheckBox ID="cbWantPrint" runat="server"
|
||||
Checked="True" Text="要列印憑證黏貼條" /><table border="0"
|
||||
cellpadding="2" cellspacing="2" width="1"
|
||||
style="table-layout: fixed" id="TABLE1">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 24px; height: 0px"
|
||||
align="center">
|
||||
</td>
|
||||
<td colspan="1" style="width: 27px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 80px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 250px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 80px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 200px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataEditCell" colspan="1" align="center">
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
</td>
|
||||
<td class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbRPFE_RPDATLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">月份</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPACCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPACC">科目</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPAMTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPAMT">金額</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPDOCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPDOC">備註</cc1:WLabel></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
1</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_01" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(0);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_01" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_01" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_01" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_01" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
2</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_02" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(1);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_02" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_02" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_02" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_02" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
3</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_03" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(2);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_03" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_03" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_03" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_03" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
4</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_04" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(3);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_04" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_04" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_04" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_04" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
5</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_05" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(4);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_05" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_05" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_05" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_05" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
6</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_06" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(5);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_06" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_06" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_06" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_06" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
7</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_07" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(6);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_07" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_07" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_07" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_07" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
8</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_08" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(7);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_08" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_08" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_08" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_08" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
9</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_09" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(8);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_09" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_09" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_09" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_09" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="center">
|
||||
10</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_10" runat="server"
|
||||
Text="清" CssClass="button1" OnClientClick="ClearInputs(9);return false;"
|
||||
UseSubmitBehavior="False" Width="23px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT_10" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC_10" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC">
|
||||
</asp:DropDownList></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT_10" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC_10" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:View>
|
||||
<asp:View ID="EditView" runat="server">
|
||||
<asp:FormView ID="RPFEForm" runat="server"
|
||||
OnItemCommand="RPFEForm_ItemCommand" DataSourceID="dsRPFEForm"
|
||||
OnDataBound="RPFEForm_DataBound" OnItemDeleted="RPFEForm_ItemDeleted"
|
||||
OnItemInserted="RPFEForm_ItemInserted"
|
||||
OnItemUpdated="RPFEForm_ItemUpdated" OnModeChanged="RPFEForm_ModeChanged"
|
||||
OnModeChanging="RPFEForm_ModeChanging"
|
||||
OnItemDeleting="RPFEForm_ItemDeleting"
|
||||
OnItemInserting="RPFEForm_ItemInserting"
|
||||
OnItemUpdating="RPFEForm_ItemUpdating">
|
||||
<ItemTemplate>
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
CommandName="APPEND" CssClass="button"
|
||||
Text="I.新增" TextMessageId="I.+INSERT" AccessKey="I" />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
CommandName="Edit" CssClass="button" Text="M.更正"
|
||||
TextMessageId="M.+UPDATE" AccessKey="M" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
CommandName="Delete" CssClass="button"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE" OnClientClick="return confirm(msgConfirmDelete);"
|
||||
AccessKey="T" />
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
CommandName="Search" CssClass="button"
|
||||
Text="F.查詢" TextMessageId="F.+SEARCH" AccessKey="F" />
|
||||
<cc1:WButton ID="btnPrint" runat="server"
|
||||
CommandName="Print" CssClass="button" Text="P.列印"
|
||||
TextMessageId="P.+PRINT" AccessKey="P" />
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
style="table-layout: fixed" width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 90px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 90px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 90px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 90px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPPYNLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPPYN+:">專案年度編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRPFE_RPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RPPYN", "{0:c}") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="6">
|
||||
<asp:Label ID="lbRPFE_RPPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("RPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPITMLabel" runat="server"
|
||||
CssClass="controlLabel">單號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRPFE_RPREN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RPREN") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPDATLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPDAT+:">日期:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRPFE_RPDAT" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RPDAT", "{0:yyyyMM}") %>'></asp:Label></td>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="lbRPFE_RPACCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPACC+:">科目:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbRPFE_RPACC" runat="server"
|
||||
CssClass="textInput" Text='<%# GetBPACC(Eval("RPACC", "{0:c}")) %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPAMTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPAMT+:">金額:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRPFE_RPAMT" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RPAMT", "{0:###,###,###,###,##0.####}") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPDOCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPDOC+:">備註:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="7">
|
||||
<asp:Label ID="lbRPFE_RPDOC" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RPDOC", "{0:c}") %>'></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfRPFE_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
</ItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Update" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" /> <cc1:WButton
|
||||
ID="btnCancel" runat="server" AccessKey="C"
|
||||
CommandName="Cancel" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:RequiredFieldValidator ID="rfvRPDAT"
|
||||
runat="server" ControlToValidate="txtRPFE_RPDAT"
|
||||
Display="None" ErrorMessage="請輸入日期"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvRPAMT"
|
||||
runat="server" ControlToValidate="txtRPFE_RPAMT"
|
||||
Display="None" ErrorMessage="請輸入金額"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvRPAMT" runat="server"
|
||||
ControlToValidate="txtRPFE_RPAMT" Display="None"
|
||||
ErrorMessage="金額請輸入數字" OnServerValidate="cvRPAMT_ServerValidate"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbRPFE_RPPYNLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbRPFE_RPPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RPPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td class="dataDisplayCell" colspan="6">
|
||||
<asp:Label ID="lbRPFE_RPPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("RPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPITMLabel" runat="server"
|
||||
CssClass="controlLabel">單號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRPFE_RPREN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RPREN") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPDATLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPDAT+:">日期:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDAT" runat="server"
|
||||
CssClass="textInput" MaxLength="6" Text='<%# Bind("RPDAT", "{0:yyyyMM}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPACCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPACC+:">科目:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="3">
|
||||
<asp:DropDownList ID="ddlRPFE_RPACC" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRPFE_RPACC"
|
||||
DataTextField="BPAME" DataValueField="BPACC"
|
||||
SelectedValue='<%# Bind("RPACC") %>'>
|
||||
</asp:DropDownList></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRPFE_RPAMTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPAMT+:">金額:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRPFE_RPAMT" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("RPAMT") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbRPFE_RPDOCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RPFE.RPDOC+:">備註:</cc1:WLabel></td>
|
||||
<td colspan="7" class="dataEditCell">
|
||||
<asp:TextBox ID="txtRPFE_RPDOC" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text='<%# Bind("RPDOC") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfRPFE_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
<br />
|
||||
|
||||
</EditItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="RPFEGrid" runat="server"
|
||||
DataSourceID="dsRPFEGrid" DataKeyNames="RPREN"
|
||||
AutoGenerateColumns="False" AllowPaging="True"
|
||||
OnDataBound="RPFEGrid_DataBound" OnPageIndexChanged="RPFEGrid_PageIndexChanged"
|
||||
OnRowDataBound="RPFEGrid_RowDataBound"
|
||||
OnSelectedIndexChanged="RPFEGrid_SelectedIndexChanged">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText="" ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField DataField="RPREN" HeaderText="單號"
|
||||
ReadOnly="True" SortExpression="RPREN" />
|
||||
<asp:BoundField AccessibleHeaderText="RPFE.RPPYN"
|
||||
DataField="RPPYN" HeaderText="RPPYN" ReadOnly="True"
|
||||
SortExpression="RPPYN"></asp:BoundField>
|
||||
<asp:TemplateField AccessibleHeaderText="BPAA.BPPYM"
|
||||
HeaderText="RPPYM">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label2" runat="server" Text='<%# GetLookup("BPAA", Eval("RPPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField AccessibleHeaderText="RPFE.RPDAT"
|
||||
DataField="RPDAT" DataFormatString="{0:yyyyMM}"
|
||||
HeaderText="RPDAT" HtmlEncode="False" SortExpression="RPDAT" />
|
||||
<asp:TemplateField AccessibleHeaderText="RPFE.RPACC"
|
||||
HeaderText="RPACC" SortExpression="RPACC">
|
||||
<EditItemTemplate>
|
||||
<asp:TextBox ID="TextBox2" runat="server"
|
||||
Text='<%# Bind("RPACC") %>'></asp:TextBox>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbRPFE_RPACC" runat="server"
|
||||
CssClass="textInput" Text='<%# GetBPACC(Eval("RPACC", "{0:c}")) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField AccessibleHeaderText="RPFE.RPAMT"
|
||||
DataField="RPAMT" DataFormatString="{0:###,###,##0.##}"
|
||||
HeaderText="RPAMT" HtmlEncode="False" SortExpression="RPAMT">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="RPDOC" HeaderText="RPDOC"
|
||||
SortExpression="RPDOC" AccessibleHeaderText="RPFE.RPDOC">
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:BoundField>
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager" runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
function ClearInputs(index)
|
||||
{
|
||||
if (index == 999)
|
||||
{
|
||||
for (i = 0; i < RPDATIds.length; i++)
|
||||
{
|
||||
ClearInput(i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearInput(index);
|
||||
}
|
||||
}
|
||||
|
||||
function ClearInput(index)
|
||||
{
|
||||
var RPDAT = document.getElementById(RPDATIds[index]);
|
||||
var RPAMT = document.getElementById(RPAMTIds[index]);
|
||||
var RPDOC = document.getElementById(RPDOCIds[index]);
|
||||
RPDAT.value = "";
|
||||
RPAMT.value = "";
|
||||
RPDOC.value = "";
|
||||
}
|
||||
-->
|
||||
</script>
|
||||
|
||||
@@ -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