...
This commit is contained in:
@@ -7,12 +7,14 @@ namespace JobReportMailService
|
||||
{
|
||||
public class CSetting : arUtil.Setting
|
||||
{
|
||||
public string connstr { get; set; }
|
||||
// public string connstr { get; set; }
|
||||
public Boolean autoRun { get; set; }
|
||||
public Boolean autoRunData { get; set; }
|
||||
public override void AfterLoad()
|
||||
{
|
||||
//throw new NotImplementedException();
|
||||
if (connstr == "")
|
||||
connstr = "Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!";
|
||||
//if (connstr == "")
|
||||
// connstr = "Data Source=10.131.15.18;Initial Catalog=EE;Persist Security Info=True;User ID=eeuser;Password=Amkor123!";
|
||||
}
|
||||
public override void AfterSave()
|
||||
{
|
||||
|
||||
1872
JobReportMailService/DataSet1.Designer.cs
generated
1872
JobReportMailService/DataSet1.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
7
JobReportMailService/DataSet1.cs
Normal file
7
JobReportMailService/DataSet1.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace JobReportMailService
|
||||
{
|
||||
}
|
||||
|
||||
namespace JobReportMailService
|
||||
{
|
||||
}
|
||||
@@ -7,37 +7,6 @@
|
||||
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="CS" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="CS (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.JobReportMailService.Properties.Settings.GlobalReference.Default.CS" Provider="System.Data.SqlClient" />
|
||||
</Connections>
|
||||
<Tables>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="vMailingProjectScheduleTableAdapter" GeneratorDataComponentClassName="vMailingProjectScheduleTableAdapter" Name="vMailingProjectSchedule" UserDataComponentName="vMailingProjectScheduleTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="CS (Settings)" DbObjectName="EE.dbo.vMailingProjectSchedule" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>SELECT idx, pdate, name, userManager, seq, title, sw, ew, swa, progress, ewa, ww, memo, sidx
|
||||
FROM vMailingProjectSchedule
|
||||
ORDER BY pdate, idx, seq</CommandText>
|
||||
<Parameters />
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
</MainSource>
|
||||
<Mappings>
|
||||
<Mapping SourceColumn="idx" DataSetColumn="idx" />
|
||||
<Mapping SourceColumn="pdate" DataSetColumn="pdate" />
|
||||
<Mapping SourceColumn="name" DataSetColumn="name" />
|
||||
<Mapping SourceColumn="userManager" DataSetColumn="userManager" />
|
||||
<Mapping SourceColumn="seq" DataSetColumn="seq" />
|
||||
<Mapping SourceColumn="title" DataSetColumn="title" />
|
||||
<Mapping SourceColumn="sw" DataSetColumn="sw" />
|
||||
<Mapping SourceColumn="ew" DataSetColumn="ew" />
|
||||
<Mapping SourceColumn="swa" DataSetColumn="swa" />
|
||||
<Mapping SourceColumn="progress" DataSetColumn="progress" />
|
||||
<Mapping SourceColumn="ewa" DataSetColumn="ewa" />
|
||||
<Mapping SourceColumn="ww" DataSetColumn="ww" />
|
||||
<Mapping SourceColumn="memo" DataSetColumn="memo" />
|
||||
<Mapping SourceColumn="sidx" DataSetColumn="sidx" />
|
||||
</Mappings>
|
||||
<Sources />
|
||||
</TableAdapter>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="MailAutoTableAdapter" GeneratorDataComponentClassName="MailAutoTableAdapter" Name="MailAuto" UserDataComponentName="MailAutoTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="CS (Settings)" DbObjectName="EE.dbo.MailAuto" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
@@ -290,43 +259,43 @@ SELECT idx, project, gcode, cate, pdate, subject, tolist, bcc, cc, body, SendOK,
|
||||
<Sources>
|
||||
<DbSource ConnectionRef="CS (Settings)" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="CheckAutoExist" Modifier="Public" Name="CheckAutoExist" QueryType="Scalar" ScalarCallRetval="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="CheckAutoExist">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<DbCommand CommandType="Text" ModifiedByUser="true">
|
||||
<CommandText>SELECT COUNT(*) AS Expr1
|
||||
FROM MailData
|
||||
WHERE (aidx = @aidx) AND (pdate = @pdate) AND (atime = @atime) AND (cate = @cate)</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="aidx" ColumnName="aidx" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@aidx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="aidx" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="pdate" ColumnName="pdate" DataSourceName="" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="atime" ColumnName="atime" DataSourceName="" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@atime" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="atime" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="cate" ColumnName="cate" DataSourceName="" DataTypeServer="varchar(2)" DbType="AnsiString" Direction="Input" ParameterName="@cate" Precision="0" ProviderType="VarChar" Scale="0" Size="2" SourceColumn="cate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="aidx" ColumnName="aidx" DataSourceName="EE.dbo.MailData" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@aidx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="aidx" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="pdate" ColumnName="pdate" DataSourceName="EE.dbo.MailData" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="atime" ColumnName="atime" DataSourceName="EE.dbo.MailData" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@atime" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="atime" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="cate" ColumnName="cate" DataSourceName="EE.dbo.MailData" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@cate" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="cate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="CS (Settings)" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="FindAutoData" Modifier="Public" Name="FindAutoData" QueryType="Scalar" ScalarCallRetval="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy1" UserSourceName="FindAutoData">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>SELECT COUNT(*) as cnt
|
||||
<DbCommand CommandType="Text" ModifiedByUser="true">
|
||||
<CommandText>SELECT COUNT(*) AS cnt
|
||||
FROM MailData
|
||||
WHERE aidx=@aidx and atime=@atime and pdate=@pdate and cate=@cate</CommandText>
|
||||
WHERE (aidx = @aidx) AND (atime = @atime) AND (pdate = @pdate) AND (cate = @cate)</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="aidx" ColumnName="aidx" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@aidx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="aidx" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="atime" ColumnName="atime" DataSourceName="" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@atime" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="atime" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="pdate" ColumnName="pdate" DataSourceName="" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="cate" ColumnName="cate" DataSourceName="" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@cate" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="cate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="aidx" ColumnName="aidx" DataSourceName="EE.dbo.MailData" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@aidx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="aidx" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="atime" ColumnName="atime" DataSourceName="EE.dbo.MailData" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@atime" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="atime" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="pdate" ColumnName="pdate" DataSourceName="EE.dbo.MailData" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="cate" ColumnName="cate" DataSourceName="EE.dbo.MailData" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@cate" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="cate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="CS (Settings)" DbObjectName="EE.dbo.MailData" DbObjectType="Table" GenerateShortCommands="true" GeneratorSourceName="UpdateSendOK" Modifier="Public" Name="UpdateSendOK" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy2" UserSourceName="UpdateSendOK">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<DbCommand CommandType="Text" ModifiedByUser="true">
|
||||
<CommandText>UPDATE MailData
|
||||
SET SendOK = 1, SendMsg = @msg
|
||||
WHERE (idx = @idx)</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="msg" ColumnName="SendMsg" DataSourceName="" DataTypeServer="varchar(255)" DbType="AnsiString" Direction="Input" ParameterName="@msg" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="SendMsg" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="idx" ColumnName="idx" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@idx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="msg" ColumnName="SendMsg" DataSourceName="EE.dbo.MailData" DataTypeServer="varchar(255)" DbType="AnsiString" Direction="Input" ParameterName="@msg" Precision="0" ProviderType="VarChar" Scale="0" Size="255" SourceColumn="SendMsg" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="idx" ColumnName="idx" DataSourceName="EE.dbo.MailData" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@idx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
@@ -453,6 +422,42 @@ SELECT idx, gcode, cate, title, tolist, bcc, cc, subject, tail, body, selfTo, se
|
||||
</Mappings>
|
||||
<Sources />
|
||||
</TableAdapter>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="vMailingProjectScheduleTableAdapter" GeneratorDataComponentClassName="vMailingProjectScheduleTableAdapter" Name="vMailingProjectSchedule" UserDataComponentName="vMailingProjectScheduleTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="CS (Settings)" DbObjectName="EE.dbo.vMailingProjectSchedule" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>SELECT idx, pdate, name, userManager, seq, title, sw, ew, swa, progress, ewa, ww, memo, sidx, gcode, status
|
||||
FROM vMailingProjectSchedule
|
||||
WHERE (gcode = @gcode)
|
||||
ORDER BY pdate, idx, seq</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.vMailingProjectSchedule" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
</MainSource>
|
||||
<Mappings>
|
||||
<Mapping SourceColumn="idx" DataSetColumn="idx" />
|
||||
<Mapping SourceColumn="pdate" DataSetColumn="pdate" />
|
||||
<Mapping SourceColumn="name" DataSetColumn="name" />
|
||||
<Mapping SourceColumn="userManager" DataSetColumn="userManager" />
|
||||
<Mapping SourceColumn="seq" DataSetColumn="seq" />
|
||||
<Mapping SourceColumn="title" DataSetColumn="title" />
|
||||
<Mapping SourceColumn="sw" DataSetColumn="sw" />
|
||||
<Mapping SourceColumn="ew" DataSetColumn="ew" />
|
||||
<Mapping SourceColumn="swa" DataSetColumn="swa" />
|
||||
<Mapping SourceColumn="progress" DataSetColumn="progress" />
|
||||
<Mapping SourceColumn="ewa" DataSetColumn="ewa" />
|
||||
<Mapping SourceColumn="ww" DataSetColumn="ww" />
|
||||
<Mapping SourceColumn="memo" DataSetColumn="memo" />
|
||||
<Mapping SourceColumn="sidx" DataSetColumn="sidx" />
|
||||
<Mapping SourceColumn="gcode" DataSetColumn="gcode" />
|
||||
<Mapping SourceColumn="status" DataSetColumn="status" />
|
||||
</Mappings>
|
||||
<Sources />
|
||||
</TableAdapter>
|
||||
</Tables>
|
||||
<Sources />
|
||||
</DataSource>
|
||||
@@ -461,6 +466,270 @@ SELECT idx, gcode, cate, title, tolist, bcc, cc, subject, tail, body, selfTo, se
|
||||
<xs:element name="DataSet1" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DataSet1" msprop:Generator_UserDSName="DataSet1">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="MailAuto" msprop:Generator_TableClassName="MailAutoDataTable" msprop:Generator_TableVarName="tableMailAuto" msprop:Generator_TablePropName="MailAuto" msprop:Generator_RowDeletingName="MailAutoRowDeleting" msprop:Generator_RowChangingName="MailAutoRowChanging" msprop:Generator_RowEvHandlerName="MailAutoRowChangeEventHandler" msprop:Generator_RowDeletedName="MailAutoRowDeleted" msprop:Generator_UserTableName="MailAuto" msprop:Generator_RowChangedName="MailAutoRowChanged" msprop:Generator_RowEvArgName="MailAutoRowChangeEvent" msprop:Generator_RowClassName="MailAutoRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="enable" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="enable" msprop:Generator_ColumnVarNameInTable="columnenable" msprop:Generator_ColumnPropNameInTable="enableColumn" msprop:Generator_UserColumnName="enable" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="fidx" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="fidx" msprop:Generator_ColumnVarNameInTable="columnfidx" msprop:Generator_ColumnPropNameInTable="fidxColumn" msprop:Generator_UserColumnName="fidx" type="xs:int" />
|
||||
<xs:element name="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="tolist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="tolist" msprop:Generator_ColumnVarNameInTable="columntolist" msprop:Generator_ColumnPropNameInTable="tolistColumn" msprop:Generator_UserColumnName="tolist" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="bcc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="bcc" msprop:Generator_ColumnVarNameInTable="columnbcc" msprop:Generator_ColumnPropNameInTable="bccColumn" msprop:Generator_UserColumnName="bcc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="cc" msprop:Generator_ColumnVarNameInTable="columncc" msprop:Generator_ColumnPropNameInTable="ccColumn" msprop:Generator_UserColumnName="cc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="sdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="sdate" msprop:Generator_ColumnVarNameInTable="columnsdate" msprop:Generator_ColumnPropNameInTable="sdateColumn" msprop:Generator_UserColumnName="sdate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="edate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="edate" msprop:Generator_ColumnVarNameInTable="columnedate" msprop:Generator_ColumnPropNameInTable="edateColumn" msprop:Generator_UserColumnName="edate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="stime" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="stime" msprop:Generator_ColumnVarNameInTable="columnstime" msprop:Generator_ColumnPropNameInTable="stimeColumn" msprop:Generator_UserColumnName="stime" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="8" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="sday" msprop:Generator_ColumnVarNameInTable="columnsday" msprop:Generator_ColumnPropNameInRow="sday" msprop:Generator_ColumnPropNameInTable="sdayColumn" msprop:Generator_UserColumnName="sday" type="xs:base64Binary" minOccurs="0" />
|
||||
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
<xs:element name="fromlist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="fromlist" msprop:Generator_ColumnVarNameInTable="columnfromlist" msprop:Generator_ColumnPropNameInTable="fromlistColumn" msprop:Generator_UserColumnName="fromlist" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="subject" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="subject" msprop:Generator_ColumnVarNameInTable="columnsubject" msprop:Generator_ColumnPropNameInTable="subjectColumn" msprop:Generator_UserColumnName="subject" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="body" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="body" msprop:Generator_ColumnVarNameInTable="columnbody" msprop:Generator_ColumnPropNameInTable="bodyColumn" msprop:Generator_UserColumnName="body" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="MailData" msprop:Generator_TableClassName="MailDataDataTable" msprop:Generator_TableVarName="tableMailData" msprop:Generator_TablePropName="MailData" msprop:Generator_RowDeletingName="MailDataRowDeleting" msprop:Generator_RowChangingName="MailDataRowChanging" msprop:Generator_RowEvHandlerName="MailDataRowChangeEventHandler" msprop:Generator_RowDeletedName="MailDataRowDeleted" msprop:Generator_UserTableName="MailData" msprop:Generator_RowChangedName="MailDataRowChanged" msprop:Generator_RowEvArgName="MailDataRowChangeEvent" msprop:Generator_RowClassName="MailDataRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="project" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="project" msprop:Generator_ColumnVarNameInTable="columnproject" msprop:Generator_ColumnPropNameInTable="projectColumn" msprop:Generator_UserColumnName="project" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="cate" msprop:Generator_ColumnVarNameInTable="columncate" msprop:Generator_ColumnPropNameInTable="cateColumn" msprop:Generator_UserColumnName="cate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="pdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_UserColumnName="pdate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="subject" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="subject" msprop:Generator_ColumnVarNameInTable="columnsubject" msprop:Generator_ColumnPropNameInTable="subjectColumn" msprop:Generator_UserColumnName="subject" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="tolist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="tolist" msprop:Generator_ColumnVarNameInTable="columntolist" msprop:Generator_ColumnPropNameInTable="tolistColumn" msprop:Generator_UserColumnName="tolist" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="bcc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="bcc" msprop:Generator_ColumnVarNameInTable="columnbcc" msprop:Generator_ColumnPropNameInTable="bccColumn" msprop:Generator_UserColumnName="bcc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="cc" msprop:Generator_ColumnVarNameInTable="columncc" msprop:Generator_ColumnPropNameInTable="ccColumn" msprop:Generator_UserColumnName="cc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="body" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="body" msprop:Generator_ColumnVarNameInTable="columnbody" msprop:Generator_ColumnPropNameInTable="bodyColumn" msprop:Generator_UserColumnName="body" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="SendOK" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="SendOK" msprop:Generator_ColumnVarNameInTable="columnSendOK" msprop:Generator_ColumnPropNameInTable="SendOKColumn" msprop:Generator_UserColumnName="SendOK" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="SendMsg" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="SendMsg" msprop:Generator_ColumnVarNameInTable="columnSendMsg" msprop:Generator_ColumnPropNameInTable="SendMsgColumn" msprop:Generator_UserColumnName="SendMsg" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="aidx" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="aidx" msprop:Generator_ColumnVarNameInTable="columnaidx" msprop:Generator_ColumnPropNameInTable="aidxColumn" msprop:Generator_UserColumnName="aidx" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="atime" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="atime" msprop:Generator_ColumnVarNameInTable="columnatime" msprop:Generator_ColumnPropNameInTable="atimeColumn" msprop:Generator_UserColumnName="atime" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
<xs:element name="fromlist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="fromlist" msprop:Generator_ColumnVarNameInTable="columnfromlist" msprop:Generator_ColumnPropNameInTable="fromlistColumn" msprop:Generator_UserColumnName="fromlist" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="MailForm" msprop:Generator_TableClassName="MailFormDataTable" msprop:Generator_TableVarName="tableMailForm" msprop:Generator_TablePropName="MailForm" msprop:Generator_RowDeletingName="MailFormRowDeleting" msprop:Generator_RowChangingName="MailFormRowChanging" msprop:Generator_RowEvHandlerName="MailFormRowChangeEventHandler" msprop:Generator_RowDeletedName="MailFormRowDeleted" msprop:Generator_UserTableName="MailForm" msprop:Generator_RowChangedName="MailFormRowChanged" msprop:Generator_RowEvArgName="MailFormRowChangeEvent" msprop:Generator_RowClassName="MailFormRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="cate" msprop:Generator_ColumnVarNameInTable="columncate" msprop:Generator_ColumnPropNameInTable="cateColumn" msprop:Generator_UserColumnName="cate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="title" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_ColumnVarNameInTable="columntitle" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:Generator_UserColumnName="title" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="tolist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="tolist" msprop:Generator_ColumnVarNameInTable="columntolist" msprop:Generator_ColumnPropNameInTable="tolistColumn" msprop:Generator_UserColumnName="tolist" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="bcc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="bcc" msprop:Generator_ColumnVarNameInTable="columnbcc" msprop:Generator_ColumnPropNameInTable="bccColumn" msprop:Generator_UserColumnName="bcc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="cc" msprop:Generator_ColumnVarNameInTable="columncc" msprop:Generator_ColumnPropNameInTable="ccColumn" msprop:Generator_UserColumnName="cc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="subject" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="subject" msprop:Generator_ColumnVarNameInTable="columnsubject" msprop:Generator_ColumnPropNameInTable="subjectColumn" msprop:Generator_UserColumnName="subject" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="tail" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="tail" msprop:Generator_ColumnVarNameInTable="columntail" msprop:Generator_ColumnPropNameInTable="tailColumn" msprop:Generator_UserColumnName="tail" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="body" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="body" msprop:Generator_ColumnVarNameInTable="columnbody" msprop:Generator_ColumnPropNameInTable="bodyColumn" msprop:Generator_UserColumnName="body" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="selfTo" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="selfTo" msprop:Generator_ColumnVarNameInTable="columnselfTo" msprop:Generator_ColumnPropNameInTable="selfToColumn" msprop:Generator_UserColumnName="selfTo" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="selfCC" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="selfCC" msprop:Generator_ColumnVarNameInTable="columnselfCC" msprop:Generator_ColumnPropNameInTable="selfCCColumn" msprop:Generator_UserColumnName="selfCC" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="selfBCC" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="selfBCC" msprop:Generator_ColumnVarNameInTable="columnselfBCC" msprop:Generator_ColumnPropNameInTable="selfBCCColumn" msprop:Generator_UserColumnName="selfBCC" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="vMailingProjectSchedule" msprop:Generator_TableClassName="vMailingProjectScheduleDataTable" msprop:Generator_TableVarName="tablevMailingProjectSchedule" msprop:Generator_RowChangedName="vMailingProjectScheduleRowChanged" msprop:Generator_TablePropName="vMailingProjectSchedule" msprop:Generator_RowDeletingName="vMailingProjectScheduleRowDeleting" msprop:Generator_RowChangingName="vMailingProjectScheduleRowChanging" msprop:Generator_RowEvHandlerName="vMailingProjectScheduleRowChangeEventHandler" msprop:Generator_RowDeletedName="vMailingProjectScheduleRowDeleted" msprop:Generator_RowClassName="vMailingProjectScheduleRow" msprop:Generator_UserTableName="vMailingProjectSchedule" msprop:Generator_RowEvArgName="vMailingProjectScheduleRowChangeEvent">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@@ -494,11 +763,35 @@ SELECT idx, gcode, cate, title, tolist, bcc, cc, subject, tail, body, selfTo, se
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="sw" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="sw" msprop:Generator_ColumnVarNameInTable="columnsw" msprop:Generator_ColumnPropNameInTable="swColumn" msprop:Generator_UserColumnName="sw" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="ew" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ew" msprop:Generator_ColumnVarNameInTable="columnew" msprop:Generator_ColumnPropNameInTable="ewColumn" msprop:Generator_UserColumnName="ew" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="swa" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="swa" msprop:Generator_ColumnVarNameInTable="columnswa" msprop:Generator_ColumnPropNameInTable="swaColumn" msprop:Generator_UserColumnName="swa" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="sw" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="sw" msprop:Generator_ColumnVarNameInTable="columnsw" msprop:Generator_ColumnPropNameInTable="swColumn" msprop:Generator_UserColumnName="sw" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="ew" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ew" msprop:Generator_ColumnVarNameInTable="columnew" msprop:Generator_ColumnPropNameInTable="ewColumn" msprop:Generator_UserColumnName="ew" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="swa" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="swa" msprop:Generator_ColumnVarNameInTable="columnswa" msprop:Generator_ColumnPropNameInTable="swaColumn" msprop:Generator_UserColumnName="swa" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="progress" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="progress" msprop:Generator_ColumnVarNameInTable="columnprogress" msprop:Generator_ColumnPropNameInTable="progressColumn" msprop:Generator_UserColumnName="progress" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="ewa" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ewa" msprop:Generator_ColumnVarNameInTable="columnewa" msprop:Generator_ColumnPropNameInTable="ewaColumn" msprop:Generator_UserColumnName="ewa" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="ewa" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ewa" msprop:Generator_ColumnVarNameInTable="columnewa" msprop:Generator_ColumnPropNameInTable="ewaColumn" msprop:Generator_UserColumnName="ewa" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="ww" msdata:ReadOnly="true" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ww" msprop:Generator_ColumnVarNameInTable="columnww" msprop:Generator_ColumnPropNameInTable="wwColumn" msprop:Generator_UserColumnName="ww" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="memo" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="memo" msprop:Generator_ColumnVarNameInTable="columnmemo" msprop:Generator_ColumnPropNameInTable="memoColumn" msprop:Generator_UserColumnName="memo" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
@@ -508,281 +801,26 @@ SELECT idx, gcode, cate, title, tolist, bcc, cc, subject, tail, body, selfTo, se
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="sidx" msprop:Generator_ColumnVarNameInTable="columnsidx" msprop:Generator_ColumnPropNameInRow="sidx" msprop:Generator_ColumnPropNameInTable="sidxColumn" msprop:Generator_UserColumnName="sidx" type="xs:int" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="MailAuto" msprop:Generator_TableClassName="MailAutoDataTable" msprop:Generator_TableVarName="tableMailAuto" msprop:Generator_TablePropName="MailAuto" msprop:Generator_RowDeletingName="MailAutoRowDeleting" msprop:Generator_RowChangingName="MailAutoRowChanging" msprop:Generator_RowEvHandlerName="MailAutoRowChangeEventHandler" msprop:Generator_RowDeletedName="MailAutoRowDeleted" msprop:Generator_UserTableName="MailAuto" msprop:Generator_RowChangedName="MailAutoRowChanged" msprop:Generator_RowEvArgName="MailAutoRowChangeEvent" msprop:Generator_RowClassName="MailAutoRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="enable" msprop:Generator_ColumnVarNameInTable="columnenable" msprop:Generator_ColumnPropNameInRow="enable" msprop:nullValue="0" msprop:Generator_ColumnPropNameInTable="enableColumn" msprop:Generator_UserColumnName="enable" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="fidx" msprop:Generator_ColumnVarNameInTable="columnfidx" msprop:Generator_ColumnPropNameInRow="fidx" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInTable="fidxColumn" msprop:Generator_UserColumnName="fidx" type="xs:int" />
|
||||
<xs:element name="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInRow="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:element name="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="tolist" msprop:Generator_ColumnVarNameInTable="columntolist" msprop:Generator_ColumnPropNameInRow="tolist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="tolistColumn" msprop:Generator_UserColumnName="tolist" minOccurs="0">
|
||||
<xs:element name="status" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="status" msprop:Generator_ColumnVarNameInTable="columnstatus" msprop:Generator_ColumnPropNameInTable="statusColumn" msprop:Generator_UserColumnName="status" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="bcc" msprop:Generator_ColumnVarNameInTable="columnbcc" msprop:Generator_ColumnPropNameInRow="bcc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="bccColumn" msprop:Generator_UserColumnName="bcc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cc" msprop:Generator_ColumnVarNameInTable="columncc" msprop:Generator_ColumnPropNameInRow="cc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="ccColumn" msprop:Generator_UserColumnName="cc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="sdate" msprop:Generator_ColumnVarNameInTable="columnsdate" msprop:Generator_ColumnPropNameInRow="sdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="sdateColumn" msprop:Generator_UserColumnName="sdate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="edate" msprop:Generator_ColumnVarNameInTable="columnedate" msprop:Generator_ColumnPropNameInRow="edate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="edateColumn" msprop:Generator_UserColumnName="edate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="stime" msprop:Generator_ColumnVarNameInTable="columnstime" msprop:Generator_ColumnPropNameInRow="stime" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="stimeColumn" msprop:Generator_UserColumnName="stime" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="8" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="sday" msprop:Generator_ColumnVarNameInTable="columnsday" msprop:Generator_ColumnPropNameInRow="sday" msprop:Generator_ColumnPropNameInTable="sdayColumn" msprop:Generator_UserColumnName="sday" type="xs:base64Binary" minOccurs="0" />
|
||||
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
<xs:element name="fromlist" msprop:Generator_ColumnVarNameInTable="columnfromlist" msprop:Generator_ColumnPropNameInRow="fromlist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="fromlistColumn" msprop:Generator_UserColumnName="fromlist" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="subject" msprop:Generator_ColumnVarNameInTable="columnsubject" msprop:Generator_ColumnPropNameInRow="subject" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="subjectColumn" msprop:Generator_UserColumnName="subject" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="body" msprop:Generator_ColumnVarNameInTable="columnbody" msprop:Generator_ColumnPropNameInRow="body" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="bodyColumn" msprop:Generator_UserColumnName="body" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="MailData" msprop:Generator_TableClassName="MailDataDataTable" msprop:Generator_TableVarName="tableMailData" msprop:Generator_TablePropName="MailData" msprop:Generator_RowDeletingName="MailDataRowDeleting" msprop:Generator_RowChangingName="MailDataRowChanging" msprop:Generator_RowEvHandlerName="MailDataRowChangeEventHandler" msprop:Generator_RowDeletedName="MailDataRowDeleted" msprop:Generator_UserTableName="MailData" msprop:Generator_RowChangedName="MailDataRowChanged" msprop:Generator_RowEvArgName="MailDataRowChangeEvent" msprop:Generator_RowClassName="MailDataRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="project" msprop:Generator_ColumnVarNameInTable="columnproject" msprop:Generator_ColumnPropNameInRow="project" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInTable="projectColumn" msprop:Generator_UserColumnName="project" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInRow="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cate" msprop:Generator_ColumnVarNameInTable="columncate" msprop:Generator_ColumnPropNameInRow="cate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="cateColumn" msprop:Generator_UserColumnName="cate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_ColumnPropNameInRow="pdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_UserColumnName="pdate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="subject" msprop:Generator_ColumnVarNameInTable="columnsubject" msprop:Generator_ColumnPropNameInRow="subject" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="subjectColumn" msprop:Generator_UserColumnName="subject" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="tolist" msprop:Generator_ColumnVarNameInTable="columntolist" msprop:Generator_ColumnPropNameInRow="tolist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="tolistColumn" msprop:Generator_UserColumnName="tolist" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="bcc" msprop:Generator_ColumnVarNameInTable="columnbcc" msprop:Generator_ColumnPropNameInRow="bcc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="bccColumn" msprop:Generator_UserColumnName="bcc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cc" msprop:Generator_ColumnVarNameInTable="columncc" msprop:Generator_ColumnPropNameInRow="cc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="ccColumn" msprop:Generator_UserColumnName="cc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="body" msprop:Generator_ColumnVarNameInTable="columnbody" msprop:Generator_ColumnPropNameInRow="body" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="bodyColumn" msprop:Generator_UserColumnName="body" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="SendOK" msprop:Generator_ColumnVarNameInTable="columnSendOK" msprop:Generator_ColumnPropNameInRow="SendOK" msprop:nullValue="0" msprop:Generator_ColumnPropNameInTable="SendOKColumn" msprop:Generator_UserColumnName="SendOK" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="SendMsg" msprop:Generator_ColumnVarNameInTable="columnSendMsg" msprop:Generator_ColumnPropNameInRow="SendMsg" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="SendMsgColumn" msprop:Generator_UserColumnName="SendMsg" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="aidx" msprop:Generator_ColumnVarNameInTable="columnaidx" msprop:Generator_ColumnPropNameInRow="aidx" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInTable="aidxColumn" msprop:Generator_UserColumnName="aidx" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="atime" msprop:Generator_ColumnVarNameInTable="columnatime" msprop:Generator_ColumnPropNameInRow="atime" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="atimeColumn" msprop:Generator_UserColumnName="atime" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
<xs:element name="fromlist" msprop:Generator_ColumnVarNameInTable="columnfromlist" msprop:Generator_ColumnPropNameInRow="fromlist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="fromlistColumn" msprop:Generator_UserColumnName="fromlist" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="MailForm" msprop:Generator_TableClassName="MailFormDataTable" msprop:Generator_TableVarName="tableMailForm" msprop:Generator_TablePropName="MailForm" msprop:Generator_RowDeletingName="MailFormRowDeleting" msprop:Generator_RowChangingName="MailFormRowChanging" msprop:Generator_RowEvHandlerName="MailFormRowChangeEventHandler" msprop:Generator_RowDeletedName="MailFormRowDeleted" msprop:Generator_UserTableName="MailForm" msprop:Generator_RowChangedName="MailFormRowChanged" msprop:Generator_RowEvArgName="MailFormRowChangeEvent" msprop:Generator_RowClassName="MailFormRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInRow="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cate" msprop:Generator_ColumnVarNameInTable="columncate" msprop:Generator_ColumnPropNameInRow="cate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="cateColumn" msprop:Generator_UserColumnName="cate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="title" msprop:Generator_ColumnVarNameInTable="columntitle" msprop:Generator_ColumnPropNameInRow="title" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:Generator_UserColumnName="title" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="tolist" msprop:Generator_ColumnVarNameInTable="columntolist" msprop:Generator_ColumnPropNameInRow="tolist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="tolistColumn" msprop:Generator_UserColumnName="tolist" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="bcc" msprop:Generator_ColumnVarNameInTable="columnbcc" msprop:Generator_ColumnPropNameInRow="bcc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="bccColumn" msprop:Generator_UserColumnName="bcc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cc" msprop:Generator_ColumnVarNameInTable="columncc" msprop:Generator_ColumnPropNameInRow="cc" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="ccColumn" msprop:Generator_UserColumnName="cc" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="subject" msprop:Generator_ColumnVarNameInTable="columnsubject" msprop:Generator_ColumnPropNameInRow="subject" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="subjectColumn" msprop:Generator_UserColumnName="subject" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="tail" msprop:Generator_ColumnVarNameInTable="columntail" msprop:Generator_ColumnPropNameInRow="tail" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="tailColumn" msprop:Generator_UserColumnName="tail" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="body" msprop:Generator_ColumnVarNameInTable="columnbody" msprop:Generator_ColumnPropNameInRow="body" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInTable="bodyColumn" msprop:Generator_UserColumnName="body" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="selfTo" msprop:Generator_ColumnVarNameInTable="columnselfTo" msprop:Generator_ColumnPropNameInRow="selfTo" msprop:nullValue="0" msprop:Generator_ColumnPropNameInTable="selfToColumn" msprop:Generator_UserColumnName="selfTo" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="selfCC" msprop:Generator_ColumnVarNameInTable="columnselfCC" msprop:Generator_ColumnPropNameInRow="selfCC" msprop:nullValue="0" msprop:Generator_ColumnPropNameInTable="selfCCColumn" msprop:Generator_UserColumnName="selfCC" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="selfBCC" msprop:Generator_ColumnVarNameInTable="columnselfBCC" msprop:Generator_ColumnPropNameInRow="selfBCC" msprop:nullValue="0" msprop:Generator_ColumnPropNameInTable="selfBCCColumn" msprop:Generator_UserColumnName="selfBCC" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:vMailingProjectSchedule" />
|
||||
<xs:field xpath="mstns:sidx" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
</xs:unique>
|
||||
<xs:unique name="MailAuto_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:MailAuto" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
</xs:unique>
|
||||
@@ -794,5 +832,10 @@ SELECT idx, gcode, cate, title, tolist, bcc, cc, subject, tail, body, selfTo, se
|
||||
<xs:selector xpath=".//mstns:MailForm" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
</xs:unique>
|
||||
<xs:unique name="vMailingProjectSchedule_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:vMailingProjectSchedule" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
<xs:field xpath="mstns:sidx" />
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@@ -6,10 +6,10 @@
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:vMailingProjectSchedule" ZOrder="4" X="303" Y="117" Height="400" Width="289" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="349" />
|
||||
<Shape ID="DesignTable:MailAuto" ZOrder="3" X="652" Y="137" Height="324" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:MailData" ZOrder="2" X="820" Y="137" Height="362" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:MailForm" ZOrder="1" X="988" Y="137" Height="305" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:MailData" ZOrder="2" X="917" Y="151" Height="362" Width="361" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:MailForm" ZOrder="4" X="1355" Y="161" Height="305" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:vMailingProjectSchedule" ZOrder="1" X="275" Y="205" Height="305" Width="289" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
</DiagramLayout>
|
||||
@@ -62,6 +62,9 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="CSetting.cs" />
|
||||
<Compile Include="DataSet1.cs">
|
||||
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DataSet1.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
@@ -115,6 +118,12 @@
|
||||
<Compile Include="fJobReportDay.Designer.cs">
|
||||
<DependentUpon>fJobReportDay.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="fSetup.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="fSetup.Designer.cs">
|
||||
<DependentUpon>fSetup.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="HolidayLIst.cs">
|
||||
<DependentUpon>Model1.tt</DependentUpon>
|
||||
</Compile>
|
||||
@@ -232,6 +241,9 @@
|
||||
<EmbeddedResource Include="fJobReportDay.resx">
|
||||
<DependentUpon>fJobReportDay.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="fSetup.resx">
|
||||
<DependentUpon>fSetup.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MDIParent1.resx">
|
||||
<DependentUpon>MDIParent1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
123
JobReportMailService/MDIParent1.Designer.cs
generated
123
JobReportMailService/MDIParent1.Designer.cs
generated
@@ -72,14 +72,14 @@ namespace JobReportMailService
|
||||
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStrip = new System.Windows.Forms.ToolStrip();
|
||||
this.newToolStripButton = new System.Windows.Forms.ToolStripButton();
|
||||
this.openToolStripButton = new System.Windows.Forms.ToolStripButton();
|
||||
this.bt1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.bt2 = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.saveToolStripButton = new System.Windows.Forms.ToolStripButton();
|
||||
this.printToolStripButton = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
|
||||
this.bt3 = new System.Windows.Forms.ToolStripButton();
|
||||
this.bt4 = new System.Windows.Forms.ToolStripButton();
|
||||
this.bt5 = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.bt6 = new System.Windows.Forms.ToolStripButton();
|
||||
this.statusStrip = new System.Windows.Forms.StatusStrip();
|
||||
this.toolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.toolTip = new System.Windows.Forms.ToolTip(this.components);
|
||||
@@ -325,8 +325,9 @@ namespace JobReportMailService
|
||||
// optionsToolStripMenuItem
|
||||
//
|
||||
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(115, 22);
|
||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
|
||||
this.optionsToolStripMenuItem.Text = "옵션(&O)";
|
||||
this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsToolStripMenuItem_Click);
|
||||
//
|
||||
// windowsMenu
|
||||
//
|
||||
@@ -432,83 +433,83 @@ namespace JobReportMailService
|
||||
// toolStrip
|
||||
//
|
||||
this.toolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.newToolStripButton,
|
||||
this.openToolStripButton,
|
||||
this.bt1,
|
||||
this.bt2,
|
||||
this.toolStripSeparator1,
|
||||
this.saveToolStripButton,
|
||||
this.printToolStripButton,
|
||||
this.toolStripButton2,
|
||||
this.bt3,
|
||||
this.bt4,
|
||||
this.bt5,
|
||||
this.toolStripSeparator2,
|
||||
this.toolStripButton1});
|
||||
this.bt6});
|
||||
this.toolStrip.Location = new System.Drawing.Point(0, 24);
|
||||
this.toolStrip.Name = "toolStrip";
|
||||
this.toolStrip.Size = new System.Drawing.Size(709, 25);
|
||||
this.toolStrip.TabIndex = 1;
|
||||
this.toolStrip.Text = "ToolStrip";
|
||||
//
|
||||
// newToolStripButton
|
||||
// bt1
|
||||
//
|
||||
this.newToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("newToolStripButton.Image")));
|
||||
this.newToolStripButton.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.newToolStripButton.Name = "newToolStripButton";
|
||||
this.newToolStripButton.Size = new System.Drawing.Size(95, 22);
|
||||
this.newToolStripButton.Text = "업무일지(일)";
|
||||
this.newToolStripButton.Click += new System.EventHandler(this.ShowNewForm);
|
||||
this.bt1.Image = ((System.Drawing.Image)(resources.GetObject("bt1.Image")));
|
||||
this.bt1.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.bt1.Name = "bt1";
|
||||
this.bt1.Size = new System.Drawing.Size(95, 22);
|
||||
this.bt1.Text = "업무일지(일)";
|
||||
this.bt1.Click += new System.EventHandler(this.ShowNewForm);
|
||||
//
|
||||
// openToolStripButton
|
||||
// bt2
|
||||
//
|
||||
this.openToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("openToolStripButton.Image")));
|
||||
this.openToolStripButton.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.openToolStripButton.Name = "openToolStripButton";
|
||||
this.openToolStripButton.Size = new System.Drawing.Size(95, 22);
|
||||
this.openToolStripButton.Text = "업무일지(주)";
|
||||
this.openToolStripButton.Click += new System.EventHandler(this.OpenFile);
|
||||
this.bt2.Image = ((System.Drawing.Image)(resources.GetObject("bt2.Image")));
|
||||
this.bt2.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.bt2.Name = "bt2";
|
||||
this.bt2.Size = new System.Drawing.Size(95, 22);
|
||||
this.bt2.Text = "업무일지(주)";
|
||||
this.bt2.Click += new System.EventHandler(this.OpenFile);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// saveToolStripButton
|
||||
// bt3
|
||||
//
|
||||
this.saveToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripButton.Image")));
|
||||
this.saveToolStripButton.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.saveToolStripButton.Name = "saveToolStripButton";
|
||||
this.saveToolStripButton.Size = new System.Drawing.Size(83, 22);
|
||||
this.saveToolStripButton.Text = "스케쥴(일)";
|
||||
this.saveToolStripButton.Click += new System.EventHandler(this.saveToolStripButton_Click);
|
||||
this.bt3.Image = ((System.Drawing.Image)(resources.GetObject("bt3.Image")));
|
||||
this.bt3.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.bt3.Name = "bt3";
|
||||
this.bt3.Size = new System.Drawing.Size(83, 22);
|
||||
this.bt3.Text = "스케쥴(일)";
|
||||
this.bt3.Click += new System.EventHandler(this.saveToolStripButton_Click);
|
||||
//
|
||||
// printToolStripButton
|
||||
// bt4
|
||||
//
|
||||
this.printToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("printToolStripButton.Image")));
|
||||
this.printToolStripButton.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.printToolStripButton.Name = "printToolStripButton";
|
||||
this.printToolStripButton.Size = new System.Drawing.Size(83, 22);
|
||||
this.printToolStripButton.Text = "스케쥴(주)";
|
||||
this.printToolStripButton.Click += new System.EventHandler(this.printToolStripButton_Click);
|
||||
this.bt4.Image = ((System.Drawing.Image)(resources.GetObject("bt4.Image")));
|
||||
this.bt4.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.bt4.Name = "bt4";
|
||||
this.bt4.Size = new System.Drawing.Size(83, 22);
|
||||
this.bt4.Text = "스케쥴(주)";
|
||||
this.bt4.Click += new System.EventHandler(this.printToolStripButton_Click);
|
||||
//
|
||||
// toolStripButton2
|
||||
// bt5
|
||||
//
|
||||
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
|
||||
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.toolStripButton2.Name = "toolStripButton2";
|
||||
this.toolStripButton2.Size = new System.Drawing.Size(107, 22);
|
||||
this.toolStripButton2.Text = "스케쥴없음(주)";
|
||||
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
|
||||
this.bt5.Image = ((System.Drawing.Image)(resources.GetObject("bt5.Image")));
|
||||
this.bt5.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.bt5.Name = "bt5";
|
||||
this.bt5.Size = new System.Drawing.Size(107, 22);
|
||||
this.bt5.Text = "스케쥴없음(주)";
|
||||
this.bt5.Click += new System.EventHandler(this.toolStripButton2_Click);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// toolStripButton1
|
||||
// bt6
|
||||
//
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(111, 22);
|
||||
this.toolStripButton1.Text = "메일생성및전송";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
this.bt6.Image = ((System.Drawing.Image)(resources.GetObject("bt6.Image")));
|
||||
this.bt6.ImageTransparentColor = System.Drawing.Color.Black;
|
||||
this.bt6.Name = "bt6";
|
||||
this.bt6.Size = new System.Drawing.Size(111, 22);
|
||||
this.bt6.Text = "메일생성및전송";
|
||||
this.bt6.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// statusStrip
|
||||
//
|
||||
@@ -596,15 +597,15 @@ namespace JobReportMailService
|
||||
private System.Windows.Forms.ToolStripMenuItem contentsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem indexToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripButton newToolStripButton;
|
||||
private System.Windows.Forms.ToolStripButton openToolStripButton;
|
||||
private System.Windows.Forms.ToolStripButton saveToolStripButton;
|
||||
private System.Windows.Forms.ToolStripButton printToolStripButton;
|
||||
private System.Windows.Forms.ToolStripButton bt1;
|
||||
private System.Windows.Forms.ToolStripButton bt2;
|
||||
private System.Windows.Forms.ToolStripButton bt3;
|
||||
private System.Windows.Forms.ToolStripButton bt4;
|
||||
private System.Windows.Forms.ToolTip toolTip;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton2;
|
||||
private System.Windows.Forms.ToolStripButton bt6;
|
||||
private System.Windows.Forms.ToolStripButton bt5;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ namespace JobReportMailService
|
||||
public MDIParent1()
|
||||
{
|
||||
InitializeComponent();
|
||||
Pub.init();
|
||||
}
|
||||
|
||||
private void ShowNewForm(object sender, EventArgs e)
|
||||
@@ -137,6 +138,22 @@ namespace JobReportMailService
|
||||
private void MDIParent1_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Text = "mail service " + Application.ProductVersion.ToString();
|
||||
|
||||
if(Pub.setting.autoRun)
|
||||
{
|
||||
bt1.PerformClick();
|
||||
bt2.PerformClick();
|
||||
bt3.PerformClick();
|
||||
bt4.PerformClick();
|
||||
bt5.PerformClick();
|
||||
bt6.PerformClick();
|
||||
}
|
||||
}
|
||||
|
||||
private void optionsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new fSetup();
|
||||
f.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -301,7 +301,7 @@
|
||||
<metadata name="toolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>126, 17</value>
|
||||
</metadata>
|
||||
<data name="newToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="bt1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAELSURBVDhPrZDJasJQGIXzUvoO9TX0jcQuSulCLUUECwot
|
||||
@@ -312,7 +312,7 @@
|
||||
NIsAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="openToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="bt2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJYSURBVDhPvZFbSBNQHIf30ENPFmlRCEWWhD0MA0Oqh5Ck
|
||||
@@ -328,7 +328,7 @@
|
||||
sW+3kJ1Cb3y8PNm4wYN1a9xY7z5f/d+MQPATMS7uX9kMtOAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="saveToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="bt3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIvSURBVDhPrZLdS9NRGMd//0L33QRddFtTYzgXq8GvXENZ
|
||||
@@ -344,7 +344,7 @@
|
||||
TkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="printToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="bt4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIqSURBVDhPrZL7T1JxAMVZP/b/tLa2Wm21mail1YZlRjid
|
||||
@@ -360,7 +360,7 @@
|
||||
gg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="bt5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIqSURBVDhPrZL7T1JxAMVZP/b/tLa2Wm21mail1YZlRjid
|
||||
@@ -376,7 +376,7 @@
|
||||
gg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="bt6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIqSURBVDhPrZL7T1JxAMVZP/b/tLa2Wm21mail1YZlRjid
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를
|
||||
// 기본값으로 할 수 있습니다.
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("21.06.07.1050")]
|
||||
[assembly: AssemblyFileVersion("21.06.07.1050")]
|
||||
[assembly: AssemblyVersion("22.01.08.1250")]
|
||||
[assembly: AssemblyFileVersion("22.01.08.1250")]
|
||||
|
||||
@@ -8,7 +8,8 @@ namespace JobReportMailService
|
||||
{
|
||||
public static class Pub
|
||||
{
|
||||
public static string vGcode = "EET1P";
|
||||
// public static string vGcode = "EET1P";
|
||||
public static CSetting setting;
|
||||
public static string MailSort(string addr, string except)
|
||||
{
|
||||
if (string.IsNullOrEmpty(except)) return addr;
|
||||
@@ -19,5 +20,10 @@ namespace JobReportMailService
|
||||
if (alist.Count < 1) return string.Empty;
|
||||
return string.Join(";", alist);
|
||||
}
|
||||
public static void init()
|
||||
{
|
||||
setting = new CSetting();
|
||||
setting.Load();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
20
JobReportMailService/fJobReportDay.Designer.cs
generated
20
JobReportMailService/fJobReportDay.Designer.cs
generated
@@ -31,7 +31,7 @@ namespace JobReportMailService
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fJobReportDay));
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.btRun = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
@@ -42,21 +42,21 @@ namespace JobReportMailService
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripButton1});
|
||||
this.btRun});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(473, 25);
|
||||
this.toolStrip1.TabIndex = 2;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// toolStripButton1
|
||||
// btRun
|
||||
//
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(48, 22);
|
||||
this.toolStripButton1.Text = "Run";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
this.btRun.Image = ((System.Drawing.Image)(resources.GetObject("btRun.Image")));
|
||||
this.btRun.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btRun.Name = "btRun";
|
||||
this.btRun.Size = new System.Drawing.Size(48, 22);
|
||||
this.btRun.Text = "Run";
|
||||
this.btRun.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// fJobReportDay
|
||||
//
|
||||
@@ -78,6 +78,6 @@ namespace JobReportMailService
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
private System.Windows.Forms.ToolStripButton btRun;
|
||||
}
|
||||
}
|
||||
@@ -76,6 +76,9 @@ namespace JobReportMailService
|
||||
|
||||
});
|
||||
timer1.Start();
|
||||
|
||||
if (Pub.setting.autoRunData)
|
||||
btRun.PerformClick();
|
||||
}
|
||||
|
||||
void RunData()
|
||||
@@ -85,17 +88,6 @@ namespace JobReportMailService
|
||||
|
||||
var db = new EEEntities();
|
||||
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var MailJD = db.MailForm.Where(t => t.gcode == Pub.vGcode & t.cate == "JD").FirstOrDefault();
|
||||
//var MailJW = db.MailForm.Where(t => t.gcode == vGcode & t.cate == "JW").FirstOrDefault();
|
||||
|
||||
if (MailJD == null)
|
||||
{
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg("업무일지 미작성 메일 양식이 입력되지 않았습니다");
|
||||
return;
|
||||
}
|
||||
|
||||
//기준일자는 오늘부터 -15일이다
|
||||
var sd = DateTime.Now.AddDays(-15);
|
||||
var ed = DateTime.Now;
|
||||
@@ -103,163 +95,187 @@ namespace JobReportMailService
|
||||
var str_ed = ed.ToShortDateString();
|
||||
var str_dt = DateTime.Now.ToShortDateString();
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
db = new EEEntities();
|
||||
var users = db.vJobReportForUser.Where(t => t.gcode == Pub.vGcode).GroupBy(t => t.id);
|
||||
Dictionary<string, string> uids = new Dictionary<string, string>();
|
||||
foreach (var user in users)
|
||||
var gcodelist = db.MailForm.GroupBy(t => t.gcode).ToList();
|
||||
foreach(var gcodedata in gcodelist)
|
||||
{
|
||||
//해당 사용자의 오늘 날짜로 등록된 자동 데이터가 있다면 대상에 넣지 않는다
|
||||
var userinfo = user.FirstOrDefault();
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var vGcode = gcodedata.Key;
|
||||
if (string.IsNullOrEmpty(vGcode)) continue;
|
||||
|
||||
//퇴사자 확인
|
||||
db = new EEEntities();
|
||||
var userdata = db.vGroupUser.Where(t => t.id == userinfo.id).FirstOrDefault();
|
||||
if (userdata != null && string.IsNullOrEmpty(userdata.outdate) == false) continue;
|
||||
var MailJD = db.MailForm.Where(t => t.gcode == vGcode & t.cate == "JD").FirstOrDefault();
|
||||
//var MailJW = db.MailForm.Where(t => t.gcode == vGcode & t.cate == "JW").FirstOrDefault();
|
||||
|
||||
//사용자 정보에 업무일지를 사용하지 않기로 했다면 처리하지 않는다. 퇴사자는 이값도 설정된다.
|
||||
if (userdata.useJobReport != null && userdata.useJobReport == false) continue;
|
||||
|
||||
db = new EEEntities();
|
||||
var Exists = db.MailData.Where(t => t.gcode == Pub.vGcode && t.wuid == userinfo.id && t.pdate == str_dt && t.cate == "JD").Any();
|
||||
if (Exists == false) uids.Add(userinfo.id, userinfo.name); //자동생성된 자료가 없는 경우에만 처리한다
|
||||
}
|
||||
|
||||
|
||||
addmsg($"{uids.Count} 명의 전체 사용자가 확인 되었습니다");
|
||||
|
||||
//먼저 날짜목록을 가져온다
|
||||
db = new EEEntities();
|
||||
var lstDate = db.JobReport
|
||||
.Where(t => t.gcode == Pub.vGcode && t.pdate.CompareTo(str_sd) >= 0 && t.pdate.CompareTo(str_ed) < 0)
|
||||
.OrderBy(t => t.pdate)
|
||||
.GroupBy(t => t.pdate).ToList();
|
||||
|
||||
//날짜대로 루프를 돈다
|
||||
List<DateTime> days = new List<DateTime>();
|
||||
foreach (var dateitem in lstDate)
|
||||
{
|
||||
var jobdata = dateitem.FirstOrDefault();
|
||||
var dt = DateTime.Parse(jobdata.pdate);
|
||||
if (dt.DayOfWeek == DayOfWeek.Sunday || dt.DayOfWeek == DayOfWeek.Saturday) continue;
|
||||
|
||||
//이 날짜가 휴일인지 체크한다.
|
||||
db = new EEEntities();
|
||||
var Holyinfo = db.HolidayLIst.Where(t => t.pdate == jobdata.pdate).FirstOrDefault();
|
||||
if (Holyinfo != null && Holyinfo.free != null && (bool)(Holyinfo.free)) continue;
|
||||
|
||||
//이날짜에는 8시간을 근무 해야 한다
|
||||
days.Add(DateTime.Parse(jobdata.pdate));
|
||||
}
|
||||
addmsg($"{days.Count} 건의 일자가 확인 되었습니다(기간:{str_sd}~{str_ed}");
|
||||
|
||||
//사용자 목록과 날짜 목록을 모두 수집했다
|
||||
List<ReportUserData> totWarnList = new List<ReportUserData>();
|
||||
foreach (var uid in uids)
|
||||
{
|
||||
if(uid.Key == "320854")
|
||||
Console.WriteLine("테스트");
|
||||
|
||||
//이사용자의 날짜별 근무시간을 확인한다.
|
||||
db = new EEEntities();
|
||||
var UserDatas = db.vJobReportForUser.Where(t => t.gcode == Pub.vGcode && t.id == uid.Key && t.pdate.CompareTo(str_sd) >= 0 && t.pdate.CompareTo(str_ed) < 0).ToList();
|
||||
|
||||
Dictionary<DateTime, double?> WarnList = new Dictionary<DateTime, double?>();
|
||||
foreach (var dt in days.OrderBy(t => t))
|
||||
if (MailJD == null)
|
||||
{
|
||||
var dtstr = dt.ToShortDateString();
|
||||
var userdata = UserDatas.Where(t => t.pdate == dtstr); //해당날짜의 데이터를 확인한다.
|
||||
var hrs = 0.0;
|
||||
if (userdata.Any()) hrs = (double)userdata.Sum(t => t.hrs);
|
||||
|
||||
//자료를 입력하지 않았거나, 입력시간이 8시간 미만이면 경고한다
|
||||
if (hrs < 8.0)
|
||||
{
|
||||
WarnList.Add(dt, hrs);
|
||||
totWarnList.Add(new ReportUserData { date = dt, hrs = hrs, uid = uid.Key, uname = uid.Value }); //전체알림시에 사용하는 목록
|
||||
}
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg($"[{vGcode}]업무일지 미작성 메일 양식이 입력되지 않았습니다");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (WarnList.Count > 0)
|
||||
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
db = new EEEntities();
|
||||
var users = db.vJobReportForUser.Where(t => t.gcode == vGcode).GroupBy(t => t.id);
|
||||
Dictionary<string, string> uids = new Dictionary<string, string>();
|
||||
foreach (var user in users)
|
||||
{
|
||||
addmsg($"{uid.Value}({uid.Key}) 의 경고 일수는 {WarnList.Count} 건 입니다");
|
||||
//해당 사용자의 오늘 날짜로 등록된 자동 데이터가 있다면 대상에 넣지 않는다
|
||||
var userinfo = user.FirstOrDefault();
|
||||
|
||||
//퇴사자 확인
|
||||
db = new EEEntities();
|
||||
var userdata = db.vGroupUser.Where(t => t.gcode == vGcode && t.id == userinfo.id).FirstOrDefault();
|
||||
if (userdata != null && string.IsNullOrEmpty(userdata.outdate) == false) continue;
|
||||
|
||||
//사용자 정보에 업무일지를 사용하지 않기로 했다면 처리하지 않는다. 퇴사자는 이값도 설정된다.
|
||||
if (userdata.useJobReport != null && userdata.useJobReport == false) continue;
|
||||
|
||||
db = new EEEntities();
|
||||
var userinfo = db.vGroupUser.Where(t => t.id == uid.Key).FirstOrDefault();
|
||||
if (userinfo == null)
|
||||
var Exists = db.MailData.Where(t => t.gcode == vGcode && t.wuid == userinfo.id && t.pdate == str_dt && t.cate == "JD").Any();
|
||||
if (Exists == false) uids.Add(userinfo.id, userinfo.name); //자동생성된 자료가 없는 경우에만 처리한다
|
||||
}
|
||||
|
||||
|
||||
addmsg($"[{vGcode}] {uids.Count} 명의 전체 사용자가 확인 되었습니다");
|
||||
|
||||
//먼저 날짜목록을 가져온다
|
||||
db = new EEEntities();
|
||||
var lstDate = db.JobReport
|
||||
.Where(t => t.gcode == vGcode && t.pdate.CompareTo(str_sd) >= 0 && t.pdate.CompareTo(str_ed) < 0)
|
||||
.OrderBy(t => t.pdate)
|
||||
.GroupBy(t => t.pdate).ToList();
|
||||
|
||||
//날짜대로 루프를 돈다
|
||||
List<DateTime> days = new List<DateTime>();
|
||||
foreach (var dateitem in lstDate)
|
||||
{
|
||||
var jobdata = dateitem.FirstOrDefault();
|
||||
var dt = DateTime.Parse(jobdata.pdate);
|
||||
if (dt.DayOfWeek == DayOfWeek.Sunday || dt.DayOfWeek == DayOfWeek.Saturday) continue;
|
||||
|
||||
//이 날짜가 휴일인지 체크한다.
|
||||
db = new EEEntities();
|
||||
var Holyinfo = db.HolidayLIst.Where(t => t.pdate == jobdata.pdate).FirstOrDefault();
|
||||
if (Holyinfo != null && Holyinfo.free != null && (bool)(Holyinfo.free)) continue;
|
||||
|
||||
//이날짜에는 8시간을 근무 해야 한다
|
||||
days.Add(DateTime.Parse(jobdata.pdate));
|
||||
}
|
||||
addmsg($"[{vGcode}] {days.Count} 건의 일자가 확인 되었습니다(기간:{str_sd}~{str_ed}");
|
||||
|
||||
//사용자 목록과 날짜 목록을 모두 수집했다
|
||||
List<ReportUserData> totWarnList = new List<ReportUserData>();
|
||||
foreach (var uid in uids)
|
||||
{
|
||||
//if (uid.Key == "320854")
|
||||
// Console.WriteLine("테스트");
|
||||
|
||||
//이사용자의 날짜별 근무시간을 확인한다.
|
||||
db = new EEEntities();
|
||||
var UserDatas = db.vJobReportForUser.Where(t => t.gcode == vGcode && t.id == uid.Key && t.pdate.CompareTo(str_sd) >= 0 && t.pdate.CompareTo(str_ed) < 0).ToList();
|
||||
|
||||
Dictionary<DateTime, double?> WarnList = new Dictionary<DateTime, double?>();
|
||||
foreach (var dt in days.OrderBy(t => t))
|
||||
{
|
||||
addmsg($"{uid.Value}({uid.Key}) 의 사용자 정보를 확인 할 수 없습니다");
|
||||
var dtstr = dt.ToShortDateString();
|
||||
var userdata = UserDatas.Where(t => t.pdate == dtstr); //해당날짜의 데이터를 확인한다.
|
||||
var hrs = 0.0;
|
||||
if (userdata.Any()) hrs = (double)userdata.Sum(t => t.hrs);
|
||||
|
||||
//자료를 입력하지 않았거나, 입력시간이 8시간 미만이면 경고한다
|
||||
if (hrs < 8.0)
|
||||
{
|
||||
WarnList.Add(dt, hrs);
|
||||
totWarnList.Add(new ReportUserData { date = dt, hrs = hrs, uid = uid.Key, uname = uid.Value }); //전체알림시에 사용하는 목록
|
||||
}
|
||||
}
|
||||
else if (string.IsNullOrEmpty(userinfo.email))
|
||||
|
||||
if (WarnList.Count > 0)
|
||||
{
|
||||
addmsg($"{uid.Value}({uid.Key}) 의 메일 정보가 존재하지 않습니다");
|
||||
addmsg($"[{vGcode}] {uid.Value}({uid.Key}) 의 경고 일수는 {WarnList.Count} 건 입니다");
|
||||
|
||||
db = new EEEntities();
|
||||
var userinfo = db.vGroupUser.Where(t => t.gcode == vGcode && t.id == uid.Key).FirstOrDefault();
|
||||
if (userinfo == null)
|
||||
{
|
||||
addmsg($"[{vGcode}] {uid.Value}({uid.Key}) 의 사용자 정보를 확인 할 수 없습니다");
|
||||
}
|
||||
else if (string.IsNullOrEmpty(userinfo.email))
|
||||
{
|
||||
addmsg($"[{vGcode}] {uid.Value}({uid.Key}) 의 메일 정보가 존재하지 않습니다");
|
||||
}
|
||||
else
|
||||
{
|
||||
//일별경고(월요일제외)
|
||||
|
||||
if (DateTime.Now.DayOfWeek != DayOfWeek.Monday && MailJD != null)
|
||||
{
|
||||
var mail_subject = MailJD.subject.Replace("{담당자}", userinfo.name).Replace("{사번}", userinfo.id);
|
||||
var mail_to = MailJD.tolist.Replace("{담당자}", userinfo.email);
|
||||
var mail_cc = string.Empty; //
|
||||
if (MailJD.cc != null) mail_cc = MailJD.cc.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJD.bcc != null) mail_bcc = MailJD.bcc.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJD.body.Replace("{담당자}", userinfo.name);
|
||||
mail_body = mail_body.Replace("{사번}", userinfo.id);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var mail_content = "<p>일자별 정보</p>";
|
||||
mail_content += $"<br/>조회기간 : {str_sd}~{str_ed}";
|
||||
mail_content += "<br/><table border='1' cellspacing='1' cellpadding='1'><tr><td>날짜</td><td>요일</td><td>시간</td></tr>";
|
||||
foreach (var warnitem in WarnList)
|
||||
{
|
||||
mail_content += $"<tr><td>{warnitem.Key.ToShortDateString()}</td><td>{warnitem.Key.DayOfWeek.ToString()}</td><td>{warnitem.Value.ToString()}</td></tr>";
|
||||
}
|
||||
mail_content += "</table>";
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
|
||||
mail_to = Pub.MailSort(mail_to, MailJD.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
{
|
||||
db = new EEEntities();
|
||||
db.MailData.Add(new MailData
|
||||
{
|
||||
gcode = vGcode,
|
||||
cate = "JD",
|
||||
subject = mail_subject,
|
||||
fromlist = userinfo.email,
|
||||
tolist = Pub.MailSort(mail_to, MailJD.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJD.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_body.Replace("{내용}", mail_content),
|
||||
wuid = "dev",
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg($"[{vGcode}] {userinfo.name}({userinfo.email}) 메일 전송 완료(day)");
|
||||
System.Threading.Thread.Sleep(10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg($"[{vGcode}] 받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
}
|
||||
}
|
||||
}
|
||||
System.Threading.Thread.Sleep(3000);
|
||||
}
|
||||
else
|
||||
{
|
||||
//일별경고(월요일제외)
|
||||
|
||||
if (DateTime.Now.DayOfWeek != DayOfWeek.Monday && MailJD != null)
|
||||
{
|
||||
var mail_subject = MailJD.subject.Replace("{담당자}", userinfo.name).Replace("{사번}", userinfo.id);
|
||||
var mail_to = MailJD.tolist.Replace("{담당자}", userinfo.email);
|
||||
var mail_cc = string.Empty; //
|
||||
if (MailJD.cc != null) mail_cc = MailJD.cc.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJD.bcc != null) mail_bcc = MailJD.bcc.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJD.body.Replace("{담당자}", userinfo.name);
|
||||
mail_body = mail_body.Replace("{사번}", userinfo.id);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var mail_content = "<p>일자별 정보</p>";
|
||||
mail_content += $"<br/>조회기간 : {str_sd}~{str_ed}";
|
||||
mail_content += "<br/><table border='1' cellspacing='1' cellpadding='1'><tr><td>날짜</td><td>요일</td><td>시간</td></tr>";
|
||||
foreach (var warnitem in WarnList)
|
||||
{
|
||||
mail_content += $"<tr><td>{warnitem.Key.ToShortDateString()}</td><td>{warnitem.Key.DayOfWeek.ToString()}</td><td>{warnitem.Value.ToString()}</td></tr>";
|
||||
}
|
||||
mail_content += "</table>";
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
|
||||
mail_to = Pub.MailSort(mail_to, MailJD.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
{
|
||||
db = new EEEntities();
|
||||
db.MailData.Add(new MailData
|
||||
{
|
||||
gcode = Pub.vGcode,
|
||||
cate = "JD",
|
||||
subject = mail_subject,
|
||||
fromlist = userinfo.email,
|
||||
tolist = Pub.MailSort(mail_to, MailJD.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJD.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_body.Replace("{내용}", mail_content),
|
||||
wuid = userinfo.id,
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg($"{userinfo.name}({userinfo.email}) 메일 전송 완료(day)");
|
||||
System.Threading.Thread.Sleep(10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg("받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
}
|
||||
}
|
||||
addmsg($"[{vGcode}] {uid.Value}({uid.Key}) 미 작성 일자가 없습니다");
|
||||
}
|
||||
System.Threading.Thread.Sleep(3000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg($"{uid.Value}({uid.Key}) 미 작성 일자가 없습니다");
|
||||
|
||||
}
|
||||
|
||||
System.Threading.Thread.Sleep(500);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
@@ -273,16 +289,16 @@ namespace JobReportMailService
|
||||
{
|
||||
if (task != null)
|
||||
{
|
||||
if (task.IsCompleted) this.toolStripButton1.Text = "완료";
|
||||
else if (task.IsCanceled) this.toolStripButton1.Text = "취소";
|
||||
else if (taskwait) this.toolStripButton1.Text = "대기상태";
|
||||
else this.toolStripButton1.Text = "가동중";
|
||||
this.toolStripButton1.Enabled = true;
|
||||
if (task.IsCompleted) this.btRun.Text = "완료";
|
||||
else if (task.IsCanceled) this.btRun.Text = "취소";
|
||||
else if (taskwait) this.btRun.Text = "대기상태";
|
||||
else this.btRun.Text = "가동중";
|
||||
this.btRun.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.toolStripButton1.Text = "사용불가";
|
||||
this.toolStripButton1.Enabled = false;
|
||||
this.btRun.Text = "사용불가";
|
||||
this.btRun.Enabled = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
<value>104, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="btRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
|
||||
20
JobReportMailService/fJobReportWeek.Designer.cs
generated
20
JobReportMailService/fJobReportWeek.Designer.cs
generated
@@ -31,7 +31,7 @@ namespace JobReportMailService
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fJobReportWeek));
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.btRun = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
@@ -42,21 +42,21 @@ namespace JobReportMailService
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripButton1});
|
||||
this.btRun});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(473, 25);
|
||||
this.toolStrip1.TabIndex = 3;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// toolStripButton1
|
||||
// btRun
|
||||
//
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(48, 22);
|
||||
this.toolStripButton1.Text = "Run";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
this.btRun.Image = ((System.Drawing.Image)(resources.GetObject("btRun.Image")));
|
||||
this.btRun.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btRun.Name = "btRun";
|
||||
this.btRun.Size = new System.Drawing.Size(48, 22);
|
||||
this.btRun.Text = "Run";
|
||||
this.btRun.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// fJobReportWeek
|
||||
//
|
||||
@@ -78,6 +78,6 @@ namespace JobReportMailService
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
private System.Windows.Forms.ToolStripButton btRun;
|
||||
}
|
||||
}
|
||||
@@ -74,6 +74,8 @@ namespace JobReportMailService
|
||||
|
||||
});
|
||||
timer1.Start();
|
||||
if (Pub.setting.autoRunData)
|
||||
btRun.PerformClick();
|
||||
}
|
||||
|
||||
void RunData()
|
||||
@@ -83,16 +85,6 @@ namespace JobReportMailService
|
||||
|
||||
var db = new EEEntities();
|
||||
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var MailJW = db.MailForm.Where(t => t.gcode == Pub.vGcode & t.cate == "JW").FirstOrDefault();
|
||||
|
||||
if (MailJW == null)
|
||||
{
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg("업무일지 미작성(주간) 메일 양식이 입력되지 않았습니다");
|
||||
return;
|
||||
}
|
||||
|
||||
//기준일자는 오늘부터 -15일이다
|
||||
var sd = DateTime.Now.AddDays(-15);
|
||||
var ed = DateTime.Now;
|
||||
@@ -100,180 +92,205 @@ namespace JobReportMailService
|
||||
var str_ed = ed.ToShortDateString();
|
||||
var str_dt = DateTime.Now.ToShortDateString();
|
||||
|
||||
//오늘날짜로 주간 데이터가 등록되어있느지 확인한다.
|
||||
db = new EEEntities();
|
||||
var Existweek = db.MailData.Where(t => t.gcode == Pub.vGcode && t.cate == "JW" && t.wuid == "395552" && t.pdate == str_dt).Any();
|
||||
if (Existweek)
|
||||
var gcodelist = db.MailForm.GroupBy(t => t.gcode).ToList();
|
||||
foreach (var gcodedata in gcodelist)
|
||||
{
|
||||
addmsg($"주간일자({str_dt}) 보고 메일이 이미 등록되어 있습니다");
|
||||
return;
|
||||
}
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var vGcode = gcodedata.Key;
|
||||
if (string.IsNullOrEmpty(vGcode)) continue;
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
db = new EEEntities();
|
||||
var users = db.vJobReportForUser.Where(t => t.gcode == Pub.vGcode).GroupBy(t => t.id);
|
||||
Dictionary<string, string> uids = new Dictionary<string, string>();
|
||||
foreach (var user in users)
|
||||
{
|
||||
//해당 사용자의 오늘 날짜로 등록된 자동 데이터가 있다면 대상에 넣지 않는다
|
||||
var userinfo = user.FirstOrDefault();
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var MailJW = db.MailForm.Where(t => t.gcode == vGcode & t.cate == "JW").FirstOrDefault();
|
||||
|
||||
//퇴사자 확인
|
||||
db = new EEEntities();
|
||||
var userdata = db.vGroupUser.Where(t => t.id == userinfo.id).FirstOrDefault();
|
||||
if (userdata != null && string.IsNullOrEmpty(userdata.outdate) == false) continue;
|
||||
|
||||
//사용자 정보에 업무일지를 사용하지 않기로 했다면 처리하지 않는다. 퇴사자는 이값도 설정된다.
|
||||
if (userdata.useJobReport != null && userdata.useJobReport == false) continue;
|
||||
|
||||
//이 대상의 이메일이 받는 사람에 제외되어있다면 처리하지 않는다.
|
||||
var exxptolist = MailJW.exceptmail.ToUpper().Split(';');
|
||||
if (exxptolist.Contains(userdata.email.ToUpper()) == false)
|
||||
if (MailJW == null)
|
||||
{
|
||||
//모두대상으로 처리한다
|
||||
if (userdata.email.ToUpper() != ("BongSeok.Jung@amkor.co.kr").ToUpper())
|
||||
uids.Add(userinfo.id, userinfo.name);
|
||||
}
|
||||
else addmsg("주간 제외대상자임 " + userdata.email);
|
||||
}
|
||||
|
||||
addmsg($"{uids.Count} 명의 전체 사용자가 확인 되었습니다");
|
||||
|
||||
//먼저 날짜목록을 가져온다
|
||||
db = new EEEntities();
|
||||
var lstDate = db.JobReport
|
||||
.Where(t => t.gcode == Pub.vGcode && t.pdate.CompareTo(str_sd) >= 0 && t.pdate.CompareTo(str_ed) < 0)
|
||||
.OrderBy(t => t.pdate)
|
||||
.GroupBy(t => t.pdate).ToList();
|
||||
|
||||
//날짜대로 루프를 돈다
|
||||
List<DateTime> days = new List<DateTime>();
|
||||
foreach (var dateitem in lstDate)
|
||||
{
|
||||
var jobdata = dateitem.FirstOrDefault();
|
||||
var dt = DateTime.Parse(jobdata.pdate);
|
||||
if (dt.DayOfWeek == DayOfWeek.Sunday || dt.DayOfWeek == DayOfWeek.Saturday) continue;
|
||||
|
||||
//이 날짜가 휴일인지 체크한다.
|
||||
db = new EEEntities();
|
||||
var Holyinfo = db.HolidayLIst.Where(t => t.pdate == jobdata.pdate).FirstOrDefault();
|
||||
if (Holyinfo != null && Holyinfo.free != null && (bool)(Holyinfo.free)) continue;
|
||||
|
||||
//이날짜에는 8시간을 근무 해야 한다
|
||||
days.Add(DateTime.Parse(jobdata.pdate));
|
||||
}
|
||||
addmsg($"{days.Count} 건의 일자가 확인 되었습니다(기간:{str_sd}~{str_ed}");
|
||||
|
||||
//사용자 목록과 날짜 목록을 모두 수집했다
|
||||
List<ReportUserData> totWarnList = new List<ReportUserData>();
|
||||
foreach (var uid in uids)
|
||||
{
|
||||
//이사용자의 날짜별 근무시간을 확인한다.
|
||||
db = new EEEntities();
|
||||
var UserDatas = db.vJobReportForUser.Where(t => t.gcode == Pub.vGcode && t.id == uid.Key && t.pdate.CompareTo(str_sd) >= 0 && t.pdate.CompareTo(str_ed) < 0).ToList();
|
||||
|
||||
Dictionary<DateTime, double?> WarnList = new Dictionary<DateTime, double?>();
|
||||
foreach (var dt in days.OrderBy(t => t))
|
||||
{
|
||||
var dtstr = dt.ToShortDateString();
|
||||
var userdata = UserDatas.Where(t => t.pdate == dtstr); //해당날짜의 데이터를 확인한다.
|
||||
var hrs = 0.0;
|
||||
if (userdata.Any()) hrs = (double)userdata.Sum(t => t.hrs);
|
||||
|
||||
//자료를 입력하지 않았거나, 입력시간이 8시간 미만이면 경고한다
|
||||
if (hrs < 8.0)
|
||||
{
|
||||
//WarnList.Add(dt, hrs);
|
||||
totWarnList.Add(new ReportUserData { date = dt, hrs = hrs, uid = uid.Key, uname = uid.Value }); //전체알림시에 사용하는 목록
|
||||
}
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg($"[{vGcode}] 업무일지 미작성(주간) 메일 양식이 입력되지 않았습니다");
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (totWarnList.Count > 0)
|
||||
{
|
||||
addmsg($"주간 경고 데이터는 {totWarnList.Count} 건 입니다");
|
||||
|
||||
//오늘잘짜로 등록된 자료가 있으면 처리하지 안흔다.
|
||||
//해당 사용자의 오늘 날짜로 등록된 자동 데이터가 있다면 대상에 넣지 않는다
|
||||
//오늘날짜로 주간 데이터가 등록되어있느지 확인한다.
|
||||
db = new EEEntities();
|
||||
|
||||
var mail_subject = MailJW.subject;
|
||||
var mail_to = MailJW.tolist;//.Replace("{담당자}", userinfo.email);
|
||||
var pmail_cc = new List<string>(); //
|
||||
if (MailJW.cc != null) pmail_cc = MailJW.cc.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList();//.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJW.bcc != null) mail_bcc = MailJW.bcc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJW.body;//.Replace("{담당자}", userinfo.name);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var vmail_body = "<p>담당자별 정보</p>";
|
||||
vmail_body += "<br/>조회기간 : " + sd.ToShortDateString() + "~" + ed.ToShortDateString();
|
||||
|
||||
//참고데이터를 추가한다
|
||||
var usergrplist = totWarnList.OrderBy(t => t.uname).GroupBy(t => t.uid).ToList();
|
||||
foreach (var item in usergrplist)
|
||||
var Existweek = db.MailData.Where(t => t.gcode == vGcode && t.cate == "JW" && t.pdate == str_dt).Any();
|
||||
if (Existweek)
|
||||
{
|
||||
var fitem = item.FirstOrDefault();
|
||||
addmsg($"[{vGcode}] 주간일자({str_dt}) 보고 메일이 이미 등록되어 있습니다");
|
||||
continue;
|
||||
}
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
db = new EEEntities();
|
||||
var users = db.vJobReportForUser.Where(t => t.gcode == vGcode).GroupBy(t => t.id);
|
||||
Dictionary<string, string> uids = new Dictionary<string, string>();
|
||||
foreach (var user in users)
|
||||
{
|
||||
//해당 사용자의 오늘 날짜로 등록된 자동 데이터가 있다면 대상에 넣지 않는다
|
||||
var userinfo = user.FirstOrDefault();
|
||||
|
||||
//퇴사자 확인
|
||||
db = new EEEntities();
|
||||
var userinfo = db.vGroupUser.Where(t => t.id == fitem.uid).FirstOrDefault();
|
||||
var username = string.Empty;
|
||||
if (userinfo != null)
|
||||
var userdata = db.vGroupUser.Where(t => t.gcode == vGcode && t.id == userinfo.id).FirstOrDefault();
|
||||
if (userdata != null && string.IsNullOrEmpty(userdata.outdate) == false) continue;
|
||||
|
||||
//사용자 정보에 업무일지를 사용하지 않기로 했다면 처리하지 않는다. 퇴사자는 이값도 설정된다.
|
||||
if (userdata.useJobReport != null && userdata.useJobReport == false) continue;
|
||||
|
||||
//이 대상의 이메일이 받는 사람에 제외되어있다면 처리하지 않는다.
|
||||
var exxptolist = MailJW.exceptmail.ToUpper().Split(';');
|
||||
if (exxptolist.Contains(userdata.email.ToUpper()) == false)
|
||||
{
|
||||
if (string.IsNullOrEmpty(userinfo.email) == false)
|
||||
{
|
||||
//if (pmail_cc.Contains(userinfo.email) == false)
|
||||
// pmail_cc.Add(userinfo.email);
|
||||
}
|
||||
username = userinfo.name;
|
||||
//모두대상으로 처리한다
|
||||
//if (userdata.email.ToUpper() != ("BongSeok.Jung@amkor.co.kr").ToUpper())
|
||||
uids.Add(userinfo.id, userinfo.name);
|
||||
}
|
||||
else addmsg($"[{vGcode}] 주간 제외대상자임 " + userdata.email);
|
||||
}
|
||||
|
||||
vmail_body += "<br/><table border='1' cellspacing='1' cellpadding='1'><tr><td>담당자</td><td>일자별시간</td></tr>";
|
||||
var mail_cc = string.Join(";", pmail_cc); //모든 대상을 세미콜론으로 붙인다.
|
||||
foreach (var warnitem in usergrplist)
|
||||
{
|
||||
var item = warnitem.FirstOrDefault();
|
||||
vmail_body += $"<tr><td>{item.uname}({item.uid})</td><td>";
|
||||
foreach (var ii in warnitem.OrderBy(t => t.date))
|
||||
{
|
||||
vmail_body += $" {ii.date.ToString("MM/dd")}({ii.hrs}h)";
|
||||
}
|
||||
vmail_body += "</td></tr>";
|
||||
}
|
||||
vmail_body += "</table>";
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
addmsg($"[{vGcode}] {uids.Count} 명의 전체 사용자가 확인 되었습니다");
|
||||
|
||||
//먼저 날짜목록을 가져온다
|
||||
db = new EEEntities();
|
||||
mail_to = Pub.MailSort(mail_to, MailJW.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
var lstDate = db.JobReport
|
||||
.Where(t => t.gcode == vGcode && t.pdate.CompareTo(str_sd) >= 0 && t.pdate.CompareTo(str_ed) < 0)
|
||||
.OrderBy(t => t.pdate)
|
||||
.GroupBy(t => t.pdate).ToList();
|
||||
|
||||
//날짜대로 루프를 돈다
|
||||
List<DateTime> days = new List<DateTime>();
|
||||
foreach (var dateitem in lstDate)
|
||||
{
|
||||
db.MailData.Add(new MailData
|
||||
var jobdata = dateitem.FirstOrDefault();
|
||||
var dt = DateTime.Parse(jobdata.pdate);
|
||||
if (dt.DayOfWeek == DayOfWeek.Sunday || dt.DayOfWeek == DayOfWeek.Saturday) continue;
|
||||
|
||||
//이 날짜가 휴일인지 체크한다.
|
||||
db = new EEEntities();
|
||||
var Holyinfo = db.HolidayLIst.Where(t => t.pdate == jobdata.pdate).FirstOrDefault();
|
||||
if (Holyinfo != null && Holyinfo.free != null && (bool)(Holyinfo.free)) continue;
|
||||
|
||||
//이날짜에는 8시간을 근무 해야 한다
|
||||
days.Add(DateTime.Parse(jobdata.pdate));
|
||||
}
|
||||
addmsg($"[{vGcode}] {days.Count} 건의 일자가 확인 되었습니다(기간:{str_sd}~{str_ed}");
|
||||
|
||||
//사용자 목록과 날짜 목록을 모두 수집했다
|
||||
List<ReportUserData> totWarnList = new List<ReportUserData>();
|
||||
foreach (var uid in uids)
|
||||
{
|
||||
//이사용자의 날짜별 근무시간을 확인한다.
|
||||
db = new EEEntities();
|
||||
var UserDatas = db.vJobReportForUser.Where(t => t.gcode == vGcode && t.id == uid.Key && t.pdate.CompareTo(str_sd) >= 0 && t.pdate.CompareTo(str_ed) < 0).ToList();
|
||||
|
||||
Dictionary<DateTime, double?> WarnList = new Dictionary<DateTime, double?>();
|
||||
foreach (var dt in days.OrderBy(t => t))
|
||||
{
|
||||
gcode = Pub.vGcode,
|
||||
cate = "JW",
|
||||
subject = mail_subject,
|
||||
fromlist = "EETGW@amkor.co.kr",
|
||||
tolist = Pub.MailSort(mail_to, MailJW.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJW.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_body.Replace("{내용}", vmail_body),
|
||||
wuid = "395552",
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg("주간 알림데이터가 등록되었습니다");
|
||||
var dtstr = dt.ToShortDateString();
|
||||
var userdata = UserDatas.Where(t => t.pdate == dtstr); //해당날짜의 데이터를 확인한다.
|
||||
var hrs = 0.0;
|
||||
if (userdata.Any()) hrs = (double)userdata.Sum(t => t.hrs);
|
||||
|
||||
//자료를 입력하지 않았거나, 입력시간이 8시간 미만이면 경고한다
|
||||
if (hrs < 8.0)
|
||||
{
|
||||
//WarnList.Add(dt, hrs);
|
||||
totWarnList.Add(new ReportUserData { date = dt, hrs = hrs, uid = uid.Key, uname = uid.Value }); //전체알림시에 사용하는 목록
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
|
||||
if (totWarnList.Count > 0)
|
||||
{
|
||||
addmsg("받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
addmsg($"[{vGcode}] 주간 경고 데이터는 {totWarnList.Count} 건 입니다");
|
||||
|
||||
//오늘잘짜로 등록된 자료가 있으면 처리하지 안흔다.
|
||||
//해당 사용자의 오늘 날짜로 등록된 자동 데이터가 있다면 대상에 넣지 않는다
|
||||
db = new EEEntities();
|
||||
|
||||
var mail_subject = MailJW.subject;
|
||||
var mail_to = MailJW.tolist;//.Replace("{담당자}", userinfo.email);
|
||||
var pmail_cc = new List<string>(); //
|
||||
if (MailJW.cc != null) pmail_cc = MailJW.cc.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList();//.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJW.bcc != null) mail_bcc = MailJW.bcc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJW.body;//.Replace("{담당자}", userinfo.name);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var vmail_body = "<p>담당자별 정보</p>";
|
||||
vmail_body += "<br/>조회기간 : " + sd.ToShortDateString() + "~" + ed.ToShortDateString();
|
||||
|
||||
//참고데이터를 추가한다
|
||||
var usergrplist = totWarnList.OrderBy(t => t.uname).GroupBy(t => t.uid).ToList();
|
||||
foreach (var item in usergrplist)
|
||||
{
|
||||
var fitem = item.FirstOrDefault();
|
||||
db = new EEEntities();
|
||||
var userinfo = db.vGroupUser.Where(t => t.gcode == vGcode && t.id == fitem.uid).FirstOrDefault();
|
||||
var username = string.Empty;
|
||||
if (userinfo != null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(userinfo.email) == false)
|
||||
{
|
||||
//if (pmail_cc.Contains(userinfo.email) == false)
|
||||
// pmail_cc.Add(userinfo.email);
|
||||
}
|
||||
username = userinfo.name;
|
||||
}
|
||||
}
|
||||
|
||||
vmail_body += "<br/><table border='1' cellspacing='1' cellpadding='1'><tr><td>담당자</td><td>일자별시간</td></tr>";
|
||||
var mail_cc = string.Join(";", pmail_cc); //모든 대상을 세미콜론으로 붙인다.
|
||||
foreach (var warnitem in usergrplist)
|
||||
{
|
||||
var item = warnitem.FirstOrDefault();
|
||||
vmail_body += $"<tr><td>{item.uname}({item.uid})</td><td>";
|
||||
foreach (var ii in warnitem.OrderBy(t => t.date))
|
||||
{
|
||||
vmail_body += $" {ii.date.ToString("MM/dd")}({ii.hrs}h)";
|
||||
}
|
||||
vmail_body += "</td></tr>";
|
||||
}
|
||||
vmail_body += "</table>";
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
|
||||
db = new EEEntities();
|
||||
mail_to = Pub.MailSort(mail_to, MailJW.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
{
|
||||
db.MailData.Add(new MailData
|
||||
{
|
||||
gcode = vGcode,
|
||||
cate = "JW",
|
||||
subject = mail_subject,
|
||||
fromlist = "EETGW@amkor.co.kr",
|
||||
tolist = Pub.MailSort(mail_to, MailJW.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJW.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_body.Replace("{내용}", vmail_body),
|
||||
wuid = "dev",
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg($"[{vGcode}] 주간 알림데이터가 등록되었습니다");
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg($"[{vGcode}] 받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
System.Threading.Thread.Sleep(500);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
@@ -285,16 +302,16 @@ namespace JobReportMailService
|
||||
{
|
||||
if (task != null)
|
||||
{
|
||||
if (task.IsCompleted) this.toolStripButton1.Text = "완료";
|
||||
else if (task.IsCanceled) this.toolStripButton1.Text = "취소";
|
||||
else if (taskwait) this.toolStripButton1.Text = "대기상태";
|
||||
else this.toolStripButton1.Text = "가동중";
|
||||
this.toolStripButton1.Enabled = true;
|
||||
if (task.IsCompleted) this.btRun.Text = "완료";
|
||||
else if (task.IsCanceled) this.btRun.Text = "취소";
|
||||
else if (taskwait) this.btRun.Text = "대기상태";
|
||||
else this.btRun.Text = "가동중";
|
||||
this.btRun.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.toolStripButton1.Text = "사용불가";
|
||||
this.toolStripButton1.Enabled = false;
|
||||
this.btRun.Text = "사용불가";
|
||||
this.btRun.Enabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
<value>104, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="btRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
|
||||
20
JobReportMailService/fNoScheduleDayWeek.Designer.cs
generated
20
JobReportMailService/fNoScheduleDayWeek.Designer.cs
generated
@@ -31,7 +31,7 @@ namespace JobReportMailService
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fNoScheduleDayWeek));
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.btRun = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
@@ -42,21 +42,21 @@ namespace JobReportMailService
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripButton1});
|
||||
this.btRun});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(473, 25);
|
||||
this.toolStrip1.TabIndex = 2;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// toolStripButton1
|
||||
// btRun
|
||||
//
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(48, 22);
|
||||
this.toolStripButton1.Text = "Run";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
this.btRun.Image = ((System.Drawing.Image)(resources.GetObject("btRun.Image")));
|
||||
this.btRun.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btRun.Name = "btRun";
|
||||
this.btRun.Size = new System.Drawing.Size(48, 22);
|
||||
this.btRun.Text = "Run";
|
||||
this.btRun.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// fNoScheduleDayWeek
|
||||
//
|
||||
@@ -78,6 +78,6 @@ namespace JobReportMailService
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
private System.Windows.Forms.ToolStripButton btRun;
|
||||
}
|
||||
}
|
||||
@@ -75,25 +75,16 @@ namespace JobReportMailService
|
||||
|
||||
});
|
||||
timer1.Start();
|
||||
if (Pub.setting.autoRunData)
|
||||
btRun.PerformClick();
|
||||
}
|
||||
|
||||
void RunData()
|
||||
{
|
||||
addmsg("스케쥴입력(주) 미 작성자 추출 작업을 시작 합니다");
|
||||
|
||||
|
||||
var db = new EEEntities();
|
||||
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var MailJD = db.MailForm.AsNoTracking().Where(t => t.gcode == Pub.vGcode & t.cate == "SN").FirstOrDefault();
|
||||
|
||||
if (MailJD == null)
|
||||
{
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg("메일 양식(SN)이 입력되지 않았습니다");
|
||||
return;
|
||||
}
|
||||
|
||||
//기준일자는 오늘부터 -15일이다
|
||||
var sd = DateTime.Now.AddDays(-15);
|
||||
var ed = DateTime.Now;
|
||||
@@ -101,118 +92,142 @@ namespace JobReportMailService
|
||||
var str_ed = ed.ToShortDateString();
|
||||
var str_dt = DateTime.Now.ToShortDateString();
|
||||
|
||||
//오늘날짜로 데이터가 등록되어있느지 확인한다.
|
||||
db = new EEEntities();
|
||||
var Existweek = db.MailData.AsNoTracking().Where(t => t.gcode == Pub.vGcode && t.cate == "SN" && t.wuid == "395552" && t.pdate == str_dt).Any();
|
||||
if (Existweek)
|
||||
var gcodelist = db.MailForm.GroupBy(t => t.gcode).ToList();
|
||||
foreach (var gcodedata in gcodelist)
|
||||
{
|
||||
addmsg($"스케쥴(day)({str_dt}) 보고 메일이 이미 등록되어 있습니다");
|
||||
return;
|
||||
}
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var vGcode = gcodedata.Key;
|
||||
if (string.IsNullOrEmpty(vGcode)) continue;
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
//var ta = new DataSet1TableAdapters.vMailingProjectScheduleTableAdapter();
|
||||
//var users = new DataSet1.vMailingProjectScheduleDataTable();
|
||||
//ta.Fill(users);
|
||||
db = new EEEntities();
|
||||
var projects = db.Projects.AsNoTracking().Where(t => t.gcode == Pub.vGcode && t.status == "진행" && (t.isdel == null || t.isdel == false)).OrderBy(t => t.sdate).ToList();
|
||||
// db.vMailingProjectSchedule.ToList();// .vJobReportForUser.Where(t => t.gcode == Pub.vGcode).GroupBy(t => t.id);
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var MailJD = db.MailForm.AsNoTracking().Where(t => t.gcode == vGcode & t.cate == "SN").FirstOrDefault();
|
||||
|
||||
addmsg($"{projects.Count} 건의 데이터가 확인 되었습니다");
|
||||
|
||||
//메일데이터 생성
|
||||
var body = new System.Text.StringBuilder();
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>시작일</td>");
|
||||
body.AppendLine("<td>상태</td>");
|
||||
body.AppendLine("<td>번호</td>");
|
||||
body.AppendLine("<td>Project</td>");
|
||||
body.AppendLine("<td>요청</td>");
|
||||
body.AppendLine("<td>Champion</td>");
|
||||
body.AppendLine("<td>협업</td>");
|
||||
body.AppendLine("<td>만료일</td>");
|
||||
body.AppendLine("<td>수량</td>");
|
||||
body.AppendLine("<td>외주금액</td>");
|
||||
body.AppendLine("<td>자체금액</td>");
|
||||
body.AppendLine("<td>절감액</td>");
|
||||
body.AppendLine("<td>CR/CF</td>");
|
||||
body.AppendLine("</tr>");
|
||||
|
||||
//var gp = projects.GroupBy(t => t.idx);
|
||||
foreach (var row in projects)
|
||||
{
|
||||
|
||||
//스케쥴에서 데이터를 찾는다.
|
||||
var cnt = db.EETGW_ProjectsSchedule.AsNoTracking().Where(t => t.gcode == Pub.vGcode && t.project == row.idx).Any();
|
||||
if (cnt == true) continue; //등록되었다
|
||||
|
||||
body.AppendLine($"<tr>");
|
||||
body.AppendLine($"<td>{row.sdate}</td>");
|
||||
body.AppendLine($"<td>{row.status}</td>");
|
||||
body.AppendLine($"<td>{row.idx}</td>");
|
||||
body.AppendLine($"<td>{row.name}</td>");
|
||||
body.AppendLine($"<td>{row.reqstaff}</td>");
|
||||
body.AppendLine($"<td>{row.userManager}</td>");
|
||||
body.AppendLine($"<td>{row.usermain}/{row.usersub}/{row.userhw2}</td>");
|
||||
body.AppendLine($"<td>{row.edate}</td>");
|
||||
body.AppendLine($"<td>{row.cnt}</td>");
|
||||
body.AppendLine($"<td>{row.costo}</td>");
|
||||
body.AppendLine($"<td>{row.costn}</td>");
|
||||
body.AppendLine($"<td>{row.costo - row.costn}</td>");
|
||||
body.AppendLine($"<td>{row.orderno}</td>");
|
||||
body.AppendLine($"</tr>");
|
||||
}
|
||||
body.AppendLine("</table>");
|
||||
|
||||
//일별경고(월요일제외)
|
||||
|
||||
if (MailJD != null)
|
||||
{
|
||||
var mail_subject = MailJD.subject;//.Replace("{담당자}", userinfo.name).Replace("{사번}", userinfo.id);
|
||||
var mail_to = MailJD.tolist;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_cc = string.Empty; //
|
||||
if (MailJD.cc != null) mail_cc = MailJD.cc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJD.bcc != null) mail_bcc = MailJD.bcc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJD.body;//.Replace("{담당자}", userinfo.name);
|
||||
//mail_body = mail_body.Replace("{사번}", userinfo.id);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var mail_content = mail_body.Replace("{data}", body.ToString());
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
|
||||
mail_to = Pub.MailSort(mail_to, MailJD.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
if (MailJD == null)
|
||||
{
|
||||
db = new EEEntities();
|
||||
db.MailData.Add(new MailData
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg($"[{vGcode}] 메일 양식(SN)이 입력되지 않았습니다");
|
||||
continue;
|
||||
}
|
||||
|
||||
//오늘날짜로 데이터가 등록되어있느지 확인한다.
|
||||
db = new EEEntities();
|
||||
var Existweek = db.MailData.AsNoTracking().Where(t => t.gcode == vGcode && t.cate == "SN" && t.pdate == str_dt).Any();
|
||||
if (Existweek)
|
||||
{
|
||||
addmsg($"[{vGcode}] 스케쥴(day)({str_dt}) 보고 메일이 이미 등록되어 있습니다");
|
||||
continue;
|
||||
}
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
//var ta = new DataSet1TableAdapters.vMailingProjectScheduleTableAdapter();
|
||||
//var users = new DataSet1.vMailingProjectScheduleDataTable();
|
||||
//ta.Fill(users);
|
||||
db = new EEEntities();
|
||||
var projects = db.Projects.AsNoTracking().Where(t => t.gcode == vGcode && t.status == "진행" && (t.isdel == null || t.isdel == false)).OrderBy(t => t.sdate).ToList();
|
||||
// db.vMailingProjectSchedule.ToList();// .vJobReportForUser.Where(t => t.gcode == Pub.vGcode).GroupBy(t => t.id);
|
||||
|
||||
addmsg($"[{vGcode}] {projects.Count} 건의 데이터가 확인 되었습니다");
|
||||
|
||||
//메일데이터 생성
|
||||
var body = new System.Text.StringBuilder();
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>시작일</td>");
|
||||
body.AppendLine("<td>상태</td>");
|
||||
body.AppendLine("<td>번호</td>");
|
||||
body.AppendLine("<td>Project</td>");
|
||||
body.AppendLine("<td>요청</td>");
|
||||
body.AppendLine("<td>Champion</td>");
|
||||
body.AppendLine("<td>협업</td>");
|
||||
body.AppendLine("<td>만료일</td>");
|
||||
body.AppendLine("<td>수량</td>");
|
||||
body.AppendLine("<td>외주금액</td>");
|
||||
body.AppendLine("<td>자체금액</td>");
|
||||
body.AppendLine("<td>절감액</td>");
|
||||
body.AppendLine("<td>CR/CF</td>");
|
||||
body.AppendLine("</tr>");
|
||||
|
||||
//var gp = projects.GroupBy(t => t.idx);
|
||||
foreach (var row in projects)
|
||||
{
|
||||
|
||||
//스케쥴에서 데이터를 찾는다.
|
||||
var cnt = db.EETGW_ProjectsSchedule.AsNoTracking().Where(t => t.gcode == vGcode && t.project == row.idx).Any();
|
||||
if (cnt == true) continue; //등록되었다
|
||||
|
||||
body.AppendLine($"<tr>");
|
||||
body.AppendLine($"<td>{row.sdate}</td>");
|
||||
body.AppendLine($"<td>{row.status}</td>");
|
||||
body.AppendLine($"<td>{row.idx}</td>");
|
||||
body.AppendLine($"<td>{row.name}</td>");
|
||||
body.AppendLine($"<td>{row.reqstaff}</td>");
|
||||
body.AppendLine($"<td>{row.userManager}</td>");
|
||||
body.AppendLine($"<td>{row.usermain}/{row.usersub}/{row.userhw2}</td>");
|
||||
body.AppendLine($"<td>{row.edate}</td>");
|
||||
body.AppendLine($"<td>{row.cnt}</td>");
|
||||
body.AppendLine($"<td>{row.costo}</td>");
|
||||
body.AppendLine($"<td>{row.costn}</td>");
|
||||
body.AppendLine($"<td>{row.costo - row.costn}</td>");
|
||||
body.AppendLine($"<td>{row.orderno}</td>");
|
||||
body.AppendLine($"</tr>");
|
||||
}
|
||||
body.AppendLine("</table>");
|
||||
|
||||
//일별경고(월요일제외)
|
||||
|
||||
if (MailJD != null)
|
||||
{
|
||||
var mail_subject = MailJD.subject;//.Replace("{담당자}", userinfo.name).Replace("{사번}", userinfo.id);
|
||||
var mail_to = MailJD.tolist;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_cc = string.Empty; //
|
||||
if (MailJD.cc != null) mail_cc = MailJD.cc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJD.bcc != null) mail_bcc = MailJD.bcc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJD.body;//.Replace("{담당자}", userinfo.name);
|
||||
//mail_body = mail_body.Replace("{사번}", userinfo.id);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var mail_content = mail_body.Replace("{data}", body.ToString());
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
|
||||
mail_to = Pub.MailSort(mail_to, MailJD.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
{
|
||||
gcode = Pub.vGcode,
|
||||
cate = "SN",
|
||||
subject = mail_subject,
|
||||
fromlist = "eetgw@amkor.co.kr",
|
||||
tolist = Pub.MailSort(mail_to, MailJD.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJD.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_content,
|
||||
wuid = "395552",
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg($"메일 전송 완료(no스케쥴week)");
|
||||
System.Threading.Thread.Sleep(10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg("받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
db = new EEEntities();
|
||||
db.MailData.Add(new MailData
|
||||
{
|
||||
gcode = vGcode,
|
||||
cate = "SN",
|
||||
subject = mail_subject,
|
||||
fromlist = "EETGW@amkor.co.kr",
|
||||
tolist = Pub.MailSort(mail_to, MailJD.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJD.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_content,
|
||||
wuid = "DEV",
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg($"[{vGcode}] 메일 전송 완료(no스케쥴week)");
|
||||
System.Threading.Thread.Sleep(10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg($"[{vGcode}] 받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
}
|
||||
}
|
||||
|
||||
System.Threading.Thread.Sleep(500);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
@@ -224,16 +239,16 @@ namespace JobReportMailService
|
||||
{
|
||||
if (task != null)
|
||||
{
|
||||
if (task.IsCompleted) this.toolStripButton1.Text = "완료";
|
||||
else if (task.IsCanceled) this.toolStripButton1.Text = "취소";
|
||||
else if (taskwait) this.toolStripButton1.Text = "대기상태";
|
||||
else this.toolStripButton1.Text = "가동중";
|
||||
this.toolStripButton1.Enabled = true;
|
||||
if (task.IsCompleted) this.btRun.Text = "완료";
|
||||
else if (task.IsCanceled) this.btRun.Text = "취소";
|
||||
else if (taskwait) this.btRun.Text = "대기상태";
|
||||
else this.btRun.Text = "가동중";
|
||||
this.btRun.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.toolStripButton1.Text = "사용불가";
|
||||
this.toolStripButton1.Enabled = false;
|
||||
this.btRun.Text = "사용불가";
|
||||
this.btRun.Enabled = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
<value>104, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="btRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
|
||||
20
JobReportMailService/fScheduleDay.Designer.cs
generated
20
JobReportMailService/fScheduleDay.Designer.cs
generated
@@ -31,7 +31,7 @@ namespace JobReportMailService
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fScheduleDay));
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.btRun = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
@@ -42,21 +42,21 @@ namespace JobReportMailService
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripButton1});
|
||||
this.btRun});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(473, 25);
|
||||
this.toolStrip1.TabIndex = 2;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// toolStripButton1
|
||||
// btRun
|
||||
//
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(48, 22);
|
||||
this.toolStripButton1.Text = "Run";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
this.btRun.Image = ((System.Drawing.Image)(resources.GetObject("btRun.Image")));
|
||||
this.btRun.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btRun.Name = "btRun";
|
||||
this.btRun.Size = new System.Drawing.Size(48, 22);
|
||||
this.btRun.Text = "Run";
|
||||
this.btRun.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// fScheduleDay
|
||||
//
|
||||
@@ -78,6 +78,6 @@ namespace JobReportMailService
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
private System.Windows.Forms.ToolStripButton btRun;
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@ namespace JobReportMailService
|
||||
{
|
||||
if (taskwait)
|
||||
{
|
||||
if(task != null)
|
||||
task.Wait(1000);
|
||||
if (task != null)
|
||||
task.Wait(1000);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ namespace JobReportMailService
|
||||
ConsoleTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
else if (DateTime.Now.Hour < 10 ) //10시부터 동작한다
|
||||
else if (DateTime.Now.Hour < 10) //10시부터 동작한다
|
||||
{
|
||||
if ((DateTime.Now - ConsoleTime).TotalHours >= 1.0)
|
||||
{
|
||||
@@ -76,6 +76,8 @@ namespace JobReportMailService
|
||||
|
||||
});
|
||||
timer1.Start();
|
||||
if (Pub.setting.autoRunData)
|
||||
btRun.PerformClick();
|
||||
}
|
||||
|
||||
void RunData()
|
||||
@@ -84,19 +86,6 @@ namespace JobReportMailService
|
||||
|
||||
|
||||
var db = new EEEntities();
|
||||
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var MailJD = db.MailForm.Where(t => t.gcode == Pub.vGcode & t.cate == "SJ").FirstOrDefault();
|
||||
|
||||
if (MailJD == null)
|
||||
{
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg("메일 양식(SJ)이 입력되지 않았습니다");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//기준일자는 오늘부터 -15일이다
|
||||
var sd = DateTime.Now.AddDays(-15);
|
||||
var ed = DateTime.Now;
|
||||
@@ -104,121 +93,143 @@ namespace JobReportMailService
|
||||
var str_ed = ed.ToShortDateString();
|
||||
var str_dt = DateTime.Now.ToShortDateString();
|
||||
|
||||
//오늘날짜로 데이터가 등록되어있느지 확인한다.
|
||||
db = new EEEntities();
|
||||
var Existweek = db.MailData.Where(t => t.gcode == Pub.vGcode && t.cate == "SJ" && t.wuid == "395552" && t.pdate == str_dt).Any();
|
||||
if (Existweek)
|
||||
var gcodelist = db.MailForm.GroupBy(t => t.gcode).ToList();
|
||||
foreach (var gcodedata in gcodelist)
|
||||
{
|
||||
addmsg($"스케쥴(day)({str_dt}) 보고 메일이 이미 등록되어 있습니다");
|
||||
return;
|
||||
}
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var vGcode = gcodedata.Key;
|
||||
if (string.IsNullOrEmpty(vGcode)) continue;
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
var ta = new DataSet1TableAdapters.vMailingProjectScheduleTableAdapter();
|
||||
var users = new DataSet1.vMailingProjectScheduleDataTable();
|
||||
ta.Fill(users);
|
||||
//var users = db.vMailingProjectSchedule.ToList();// .vJobReportForUser.Where(t => t.gcode == Pub.vGcode).GroupBy(t => t.id);
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var MailJD = db.MailForm.Where(t => t.gcode == vGcode & t.cate == "SJ").FirstOrDefault();
|
||||
|
||||
addmsg($"{users.Count} 명의 데이터가 확인 되었습니다");
|
||||
|
||||
//메일데이터 생성
|
||||
var body = new System.Text.StringBuilder();
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>진행(%)</td>");
|
||||
body.AppendLine("<td>Project</td>");
|
||||
body.AppendLine("<td>Champion</td>");
|
||||
body.AppendLine("<td>등록일</td>");
|
||||
body.AppendLine("<td>스케쥴</td>");
|
||||
body.AppendLine("</tr>");
|
||||
|
||||
var gp = users.GroupBy(t => t.idx);
|
||||
foreach (var row in gp)
|
||||
{
|
||||
var prc = row.Sum(t => t.progress) / row.Count();
|
||||
var dr = row.FirstOrDefault();
|
||||
body.AppendLine($"<tr>");
|
||||
body.AppendLine($"<td>{prc}</td>");
|
||||
body.AppendLine($"<td>[{dr.idx}] {dr.name}</td>");
|
||||
body.AppendLine($"<td>{dr.userManager}</td>");
|
||||
body.AppendLine($"<td>{dr.pdate}</td>");
|
||||
body.AppendLine("<td>");
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td rowspan='2'>No</td><td rowspan='2'>Title</td><td colspan='2'>Plan(ww)</td><td colspan='2'>Actual(ww)</td><td>진행</td><td>비고</td>");
|
||||
body.AppendLine("</tr>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>시작</td><td>완료</td><td>시작</td><td>완료</td><td>%</td><td> </td>");
|
||||
body.AppendLine("</tr>");
|
||||
var ll = row.OrderBy(t => t.seq).ToList();
|
||||
foreach (var srow in ll)
|
||||
if (MailJD == null)
|
||||
{
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg($"[{vGcode}] 메일 양식(SJ)이 입력되지 않았습니다");
|
||||
continue;
|
||||
}
|
||||
|
||||
//오늘날짜로 데이터가 등록되어있느지 확인한다.
|
||||
db = new EEEntities();
|
||||
var Existweek = db.MailData.Where(t => t.gcode == vGcode && t.cate == "SJ" && t.pdate == str_dt).Any();
|
||||
if (Existweek)
|
||||
{
|
||||
addmsg($"[{vGcode}] 스케쥴(day)({str_dt}) 보고 메일이 이미 등록되어 있습니다");
|
||||
continue;
|
||||
}
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
var ta = new DataSet1TableAdapters.vMailingProjectScheduleTableAdapter();
|
||||
var users = new DataSet1.vMailingProjectScheduleDataTable();
|
||||
ta.Fill(users,vGcode);
|
||||
//var users = db.vMailingProjectSchedule.ToList();// .vJobReportForUser.Where(t => t.gcode == Pub.vGcode).GroupBy(t => t.id);
|
||||
|
||||
addmsg($"[{vGcode}] {users.Count} 명의 데이터가 확인 되었습니다");
|
||||
|
||||
//메일데이터 생성
|
||||
var body = new System.Text.StringBuilder();
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>진행(%)</td>");
|
||||
body.AppendLine("<td>Project</td>");
|
||||
body.AppendLine("<td>Champion</td>");
|
||||
body.AppendLine("<td>등록일</td>");
|
||||
body.AppendLine("<td>스케쥴</td>");
|
||||
body.AppendLine("</tr>");
|
||||
|
||||
var gp = users.GroupBy(t => t.idx);
|
||||
foreach (var row in gp)
|
||||
{
|
||||
var prc = row.Sum(t => t.progress) / row.Count();
|
||||
var dr = row.FirstOrDefault();
|
||||
body.AppendLine($"<tr>");
|
||||
body.AppendLine($"<td>{srow.seq}</td>");
|
||||
body.AppendLine($"<td>{srow.title}</td>");
|
||||
body.AppendLine($"<td>{srow.sw}</td>");
|
||||
body.AppendLine($"<td>{srow.ew}</td>");
|
||||
body.AppendLine($"<td>{srow.swa}</td>");
|
||||
body.AppendLine($"<td>{srow.ewa}</td>");
|
||||
body.AppendLine($"<td>{srow.progress}</td>");
|
||||
body.AppendLine($"<td>{srow.memo}</td>");
|
||||
body.AppendLine($"<td>{prc}</td>");
|
||||
body.AppendLine($"<td>[{dr.idx}] {dr.name}</td>");
|
||||
body.AppendLine($"<td>{dr.userManager}</td>");
|
||||
body.AppendLine($"<td>{dr.pdate}</td>");
|
||||
body.AppendLine("<td>");
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td rowspan='2'>No</td><td rowspan='2'>Title</td><td colspan='2'>Plan(ww)</td><td colspan='2'>Actual(ww)</td><td>진행</td><td>비고</td>");
|
||||
body.AppendLine("</tr>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>시작</td><td>완료</td><td>시작</td><td>완료</td><td>%</td><td> </td>");
|
||||
body.AppendLine("</tr>");
|
||||
var ll = row.OrderBy(t => t.seq).ToList();
|
||||
foreach (var srow in ll)
|
||||
{
|
||||
body.AppendLine($"<tr>");
|
||||
body.AppendLine($"<td>{srow.seq}</td>");
|
||||
body.AppendLine($"<td>{srow.title}</td>");
|
||||
body.AppendLine($"<td>{srow.sw}</td>");
|
||||
body.AppendLine($"<td>{srow.ew}</td>");
|
||||
body.AppendLine($"<td>{srow.swa}</td>");
|
||||
body.AppendLine($"<td>{srow.ewa}</td>");
|
||||
body.AppendLine($"<td>{srow.progress}</td>");
|
||||
body.AppendLine($"<td>{srow.memo}</td>");
|
||||
body.AppendLine($"</tr>");
|
||||
}
|
||||
body.AppendLine("</table>");
|
||||
body.AppendLine("</td>");
|
||||
//여기에 스케쥴이 들어가야한다
|
||||
body.AppendLine($"</tr>");
|
||||
}
|
||||
body.AppendLine("</table>");
|
||||
body.AppendLine("</td>");
|
||||
//여기에 스케쥴이 들어가야한다
|
||||
body.AppendLine($"</tr>");
|
||||
}
|
||||
body.AppendLine("</table>");
|
||||
|
||||
//일별경고(월요일제외)
|
||||
//일별경고(월요일제외)
|
||||
|
||||
if (MailJD != null)
|
||||
{
|
||||
var mail_subject = MailJD.subject;//.Replace("{담당자}", userinfo.name).Replace("{사번}", userinfo.id);
|
||||
var mail_to = MailJD.tolist;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_cc = string.Empty; //
|
||||
if (MailJD.cc != null) mail_cc = MailJD.cc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJD.bcc != null) mail_bcc = MailJD.bcc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJD.body;//.Replace("{담당자}", userinfo.name);
|
||||
//mail_body = mail_body.Replace("{사번}", userinfo.id);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var mail_content = mail_body.Replace("{data}", body.ToString());
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
|
||||
mail_to = Pub.MailSort(mail_to, MailJD.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
if (MailJD != null)
|
||||
{
|
||||
db = new EEEntities();
|
||||
db.MailData.Add(new MailData
|
||||
var mail_subject = MailJD.subject;//.Replace("{담당자}", userinfo.name).Replace("{사번}", userinfo.id);
|
||||
var mail_to = MailJD.tolist;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_cc = string.Empty; //
|
||||
if (MailJD.cc != null) mail_cc = MailJD.cc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJD.bcc != null) mail_bcc = MailJD.bcc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJD.body;//.Replace("{담당자}", userinfo.name);
|
||||
//mail_body = mail_body.Replace("{사번}", userinfo.id);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var mail_content = mail_body.Replace("{data}", body.ToString());
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
|
||||
mail_to = Pub.MailSort(mail_to, MailJD.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
{
|
||||
gcode = Pub.vGcode,
|
||||
cate = "SJ",
|
||||
subject = mail_subject,
|
||||
fromlist = "eetgw@amkor.co.kr",
|
||||
tolist = Pub.MailSort(mail_to, MailJD.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJD.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_content,
|
||||
wuid = "395552",
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg($"메일 전송 완료(스케쥴day)");
|
||||
System.Threading.Thread.Sleep(10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg("받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
db = new EEEntities();
|
||||
db.MailData.Add(new MailData
|
||||
{
|
||||
gcode = vGcode,
|
||||
cate = "SJ",
|
||||
subject = mail_subject,
|
||||
fromlist = "eetgw@amkor.co.kr",
|
||||
tolist = Pub.MailSort(mail_to, MailJD.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJD.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_content,
|
||||
wuid = "DEV",
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg($"[{vGcode}] 메일 전송 완료(스케쥴day)");
|
||||
System.Threading.Thread.Sleep(10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg($"[{vGcode}] 받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
}
|
||||
}
|
||||
System.Threading.Thread.Sleep(500);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
@@ -230,16 +241,16 @@ namespace JobReportMailService
|
||||
{
|
||||
if (task != null)
|
||||
{
|
||||
if (task.IsCompleted) this.toolStripButton1.Text = "완료";
|
||||
else if (task.IsCanceled) this.toolStripButton1.Text = "취소";
|
||||
else if (taskwait) this.toolStripButton1.Text = "대기상태";
|
||||
else this.toolStripButton1.Text = "가동중";
|
||||
this.toolStripButton1.Enabled = true;
|
||||
if (task.IsCompleted) this.btRun.Text = "완료";
|
||||
else if (task.IsCanceled) this.btRun.Text = "취소";
|
||||
else if (taskwait) this.btRun.Text = "대기상태";
|
||||
else this.btRun.Text = "가동중";
|
||||
this.btRun.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.toolStripButton1.Text = "사용불가";
|
||||
this.toolStripButton1.Enabled = false;
|
||||
this.btRun.Text = "사용불가";
|
||||
this.btRun.Enabled = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
<value>104, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="btRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
|
||||
20
JobReportMailService/fScheduleDayWeek.Designer.cs
generated
20
JobReportMailService/fScheduleDayWeek.Designer.cs
generated
@@ -31,7 +31,7 @@ namespace JobReportMailService
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fScheduleDayWeek));
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.btRun = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
@@ -42,21 +42,21 @@ namespace JobReportMailService
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripButton1});
|
||||
this.btRun});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(473, 25);
|
||||
this.toolStrip1.TabIndex = 2;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// toolStripButton1
|
||||
// btRun
|
||||
//
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(48, 22);
|
||||
this.toolStripButton1.Text = "Run";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
this.btRun.Image = ((System.Drawing.Image)(resources.GetObject("btRun.Image")));
|
||||
this.btRun.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btRun.Name = "btRun";
|
||||
this.btRun.Size = new System.Drawing.Size(48, 22);
|
||||
this.btRun.Text = "Run";
|
||||
this.btRun.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// fScheduleDayWeek
|
||||
//
|
||||
@@ -78,6 +78,6 @@ namespace JobReportMailService
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
private System.Windows.Forms.ToolStripButton btRun;
|
||||
}
|
||||
}
|
||||
@@ -26,8 +26,8 @@ namespace JobReportMailService
|
||||
{
|
||||
if (taskwait)
|
||||
{
|
||||
if(task != null)
|
||||
task.Wait(1000);
|
||||
if (task != null)
|
||||
task.Wait(1000);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -75,6 +75,8 @@ namespace JobReportMailService
|
||||
|
||||
});
|
||||
timer1.Start();
|
||||
if (Pub.setting.autoRunData)
|
||||
btRun.PerformClick();
|
||||
}
|
||||
|
||||
void RunData()
|
||||
@@ -84,16 +86,6 @@ namespace JobReportMailService
|
||||
|
||||
var db = new EEEntities();
|
||||
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var MailJD = db.MailForm.Where(t => t.gcode == Pub.vGcode & t.cate == "SP").FirstOrDefault();
|
||||
|
||||
if (MailJD == null)
|
||||
{
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg("메일 양식(SP)이 입력되지 않았습니다");
|
||||
return;
|
||||
}
|
||||
|
||||
//기준일자는 오늘부터 -15일이다
|
||||
var sd = DateTime.Now.AddDays(-15);
|
||||
var ed = DateTime.Now;
|
||||
@@ -101,121 +93,147 @@ namespace JobReportMailService
|
||||
var str_ed = ed.ToShortDateString();
|
||||
var str_dt = DateTime.Now.ToShortDateString();
|
||||
|
||||
//오늘날짜로 데이터가 등록되어있느지 확인한다.
|
||||
db = new EEEntities();
|
||||
var Existweek = db.MailData.Where(t => t.gcode == Pub.vGcode && t.cate == "SP" && t.wuid == "395552" && t.pdate == str_dt).Any();
|
||||
if (Existweek)
|
||||
|
||||
var gcodelist = db.MailForm.GroupBy(t => t.gcode).ToList();
|
||||
foreach (var gcodedata in gcodelist)
|
||||
{
|
||||
addmsg($"스케쥴(day)({str_dt}) 보고 메일이 이미 등록되어 있습니다");
|
||||
return;
|
||||
}
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var vGcode = gcodedata.Key;
|
||||
if (string.IsNullOrEmpty(vGcode)) continue;
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
var ta = new DataSet1TableAdapters.vMailingProjectScheduleTableAdapter();
|
||||
var users = new DataSet1.vMailingProjectScheduleDataTable();
|
||||
ta.Fill(users);
|
||||
//var users = db.vMailingProjectSchedule.ToList();// .vJobReportForUser.Where(t => t.gcode == Pub.vGcode).GroupBy(t => t.id);
|
||||
//메일양식이 지정되어있는지 체크
|
||||
var MailJD = db.MailForm.Where(t => t.gcode == vGcode & t.cate == "SP").FirstOrDefault();
|
||||
|
||||
addmsg($"{users.Count} 명의 데이터가 확인 되었습니다");
|
||||
|
||||
//메일데이터 생성
|
||||
var body = new System.Text.StringBuilder();
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>진행(%)</td>");
|
||||
body.AppendLine("<td>Project</td>");
|
||||
body.AppendLine("<td>Champion</td>");
|
||||
body.AppendLine("<td>등록일</td>");
|
||||
body.AppendLine("<td>스케쥴</td>");
|
||||
body.AppendLine("</tr>");
|
||||
|
||||
var gp = users.GroupBy(t => t.idx);
|
||||
foreach (var row in gp)
|
||||
{
|
||||
var prc = row.Sum(t => t.progress) / row.Count();
|
||||
var dr = row.FirstOrDefault();
|
||||
body.AppendLine($"<tr>");
|
||||
body.AppendLine($"<td>{prc}</td>");
|
||||
body.AppendLine($"<td>[{dr.idx}] {dr.name}</td>");
|
||||
body.AppendLine($"<td>{dr.userManager}</td>");
|
||||
body.AppendLine($"<td>{dr.pdate}</td>");
|
||||
body.AppendLine("<td>");
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td rowspan='2'>No</td><td rowspan='2'>Title</td><td colspan='2'>Plan(ww)</td><td colspan='2'>Actual(ww)</td><td>진행</td><td>비고</td>");
|
||||
body.AppendLine("</tr>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>시작</td><td>완료</td><td>시작</td><td>완료</td><td>%</td><td> </td>");
|
||||
body.AppendLine("</tr>");
|
||||
var ll = row.OrderBy(t => t.seq).ToList();
|
||||
foreach (var srow in ll)
|
||||
if (MailJD == null)
|
||||
{
|
||||
//토,일요일에는 동작하지 않는다
|
||||
addmsg($"[{vGcode}] 메일 양식(SP)이 입력되지 않았습니다");
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//오늘날짜로 데이터가 등록되어있느지 확인한다.
|
||||
db = new EEEntities();
|
||||
var Existweek = db.MailData.Where(t => t.gcode == vGcode && t.cate == "SP" && t.pdate == str_dt).Any();
|
||||
if (Existweek)
|
||||
{
|
||||
addmsg($"[{vGcode}] 스케쥴(day)({str_dt}) 보고 메일이 이미 등록되어 있습니다");
|
||||
continue;
|
||||
}
|
||||
|
||||
//대상 사용자 목록을 추출한다
|
||||
var ta = new DataSet1TableAdapters.vMailingProjectScheduleTableAdapter();
|
||||
var users = new DataSet1.vMailingProjectScheduleDataTable();
|
||||
ta.Fill(users,vGcode);
|
||||
//var users = db.vMailingProjectSchedule.ToList();// .vJobReportForUser.Where(t => t.gcode == Pub.vGcode).GroupBy(t => t.id);
|
||||
|
||||
addmsg($"[{vGcode}] {users.Count} 명의 데이터가 확인 되었습니다");
|
||||
|
||||
//메일데이터 생성
|
||||
var body = new System.Text.StringBuilder();
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>진행(%)</td>");
|
||||
body.AppendLine("<td>Project</td>");
|
||||
body.AppendLine("<td>Champion</td>");
|
||||
body.AppendLine("<td>등록일</td>");
|
||||
body.AppendLine("<td>스케쥴</td>");
|
||||
body.AppendLine("</tr>");
|
||||
|
||||
var gp = users.GroupBy(t => t.idx);
|
||||
foreach (var row in gp)
|
||||
{
|
||||
var prc = row.Sum(t => t.progress) / row.Count();
|
||||
var dr = row.FirstOrDefault();
|
||||
body.AppendLine($"<tr>");
|
||||
body.AppendLine($"<td>{srow.seq}</td>");
|
||||
body.AppendLine($"<td>{srow.title}</td>");
|
||||
body.AppendLine($"<td>{srow.sw}</td>");
|
||||
body.AppendLine($"<td>{srow.ew}</td>");
|
||||
body.AppendLine($"<td>{srow.swa}</td>");
|
||||
body.AppendLine($"<td>{srow.ewa}</td>");
|
||||
body.AppendLine($"<td>{srow.progress}</td>");
|
||||
body.AppendLine($"<td>{srow.memo}</td>");
|
||||
body.AppendLine($"<td>{prc}</td>");
|
||||
body.AppendLine($"<td>[{dr.idx}] {dr.name}</td>");
|
||||
body.AppendLine($"<td>{dr.userManager}</td>");
|
||||
body.AppendLine($"<td>{dr.pdate}</td>");
|
||||
body.AppendLine("<td>");
|
||||
body.AppendLine("<table border='1' cellspacing='1' cellpadding='1' style='text-align:center;'>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td rowspan='2'>No</td><td rowspan='2'>Title</td><td colspan='2'>Plan(ww)</td><td colspan='2'>Actual(ww)</td><td>진행</td><td>비고</td>");
|
||||
body.AppendLine("</tr>");
|
||||
body.AppendLine("<tr>");
|
||||
body.AppendLine("<td>시작</td><td>완료</td><td>시작</td><td>완료</td><td>%</td><td> </td>");
|
||||
body.AppendLine("</tr>");
|
||||
var ll = row.OrderBy(t => t.seq).ToList();
|
||||
foreach (var srow in ll)
|
||||
{
|
||||
body.AppendLine($"<tr>");
|
||||
body.AppendLine($"<td>{srow.seq}</td>");
|
||||
body.AppendLine($"<td>{srow.title}</td>");
|
||||
body.AppendLine($"<td>{srow.sw}</td>");
|
||||
body.AppendLine($"<td>{srow.ew}</td>");
|
||||
body.AppendLine($"<td>{srow.swa}</td>");
|
||||
body.AppendLine($"<td>{srow.ewa}</td>");
|
||||
body.AppendLine($"<td>{srow.progress}</td>");
|
||||
body.AppendLine($"<td>{srow.memo}</td>");
|
||||
body.AppendLine($"</tr>");
|
||||
}
|
||||
body.AppendLine("</table>");
|
||||
body.AppendLine("</td>");
|
||||
//여기에 스케쥴이 들어가야한다
|
||||
body.AppendLine($"</tr>");
|
||||
}
|
||||
body.AppendLine("</table>");
|
||||
body.AppendLine("</td>");
|
||||
//여기에 스케쥴이 들어가야한다
|
||||
body.AppendLine($"</tr>");
|
||||
}
|
||||
body.AppendLine("</table>");
|
||||
|
||||
//일별경고(월요일제외)
|
||||
//일별경고(월요일제외)
|
||||
|
||||
if (MailJD != null)
|
||||
{
|
||||
var mail_subject = MailJD.subject;//.Replace("{담당자}", userinfo.name).Replace("{사번}", userinfo.id);
|
||||
var mail_to = MailJD.tolist;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_cc = string.Empty; //
|
||||
if (MailJD.cc != null) mail_cc = MailJD.cc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJD.bcc != null) mail_bcc = MailJD.bcc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJD.body;//.Replace("{담당자}", userinfo.name);
|
||||
//mail_body = mail_body.Replace("{사번}", userinfo.id);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var mail_content = mail_body.Replace("{data}", body.ToString());
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
|
||||
mail_to = Pub.MailSort(mail_to, MailJD.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
if (MailJD != null)
|
||||
{
|
||||
db = new EEEntities();
|
||||
db.MailData.Add(new MailData
|
||||
var mail_subject = MailJD.subject;//.Replace("{담당자}", userinfo.name).Replace("{사번}", userinfo.id);
|
||||
var mail_to = MailJD.tolist;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_cc = string.Empty; //
|
||||
if (MailJD.cc != null) mail_cc = MailJD.cc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_bcc = string.Empty;
|
||||
if (MailJD.bcc != null) mail_bcc = MailJD.bcc;//.Replace("{담당자}", userinfo.email);
|
||||
var mail_body = MailJD.body;//.Replace("{담당자}", userinfo.name);
|
||||
//mail_body = mail_body.Replace("{사번}", userinfo.id);
|
||||
|
||||
//메일본문을 생성해서 진행해야함
|
||||
var mail_content = mail_body.Replace("{data}", body.ToString());
|
||||
|
||||
//메일데이터를 생성한다.
|
||||
//mail_to = "chikyun.kim@amkor.co.kr";
|
||||
//mail_bcc = string.Empty;
|
||||
//mail_cc = string.Empty;
|
||||
|
||||
mail_to = Pub.MailSort(mail_to, MailJD.exceptmail);
|
||||
if (string.IsNullOrEmpty(mail_to) == false)
|
||||
{
|
||||
gcode = Pub.vGcode,
|
||||
cate = "SP",
|
||||
subject = mail_subject,
|
||||
fromlist = "eetgw@amkor.co.kr",
|
||||
tolist = Pub.MailSort(mail_to, MailJD.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJD.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_content,
|
||||
wuid = "395552",
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg($"메일 전송 완료(스케쥴day)");
|
||||
System.Threading.Thread.Sleep(10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg("받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
db = new EEEntities();
|
||||
db.MailData.Add(new MailData
|
||||
{
|
||||
gcode = vGcode,
|
||||
cate = "SP",
|
||||
subject = mail_subject,
|
||||
fromlist = "eetgw@amkor.co.kr",
|
||||
tolist = Pub.MailSort(mail_to, MailJD.exceptmail),
|
||||
bcc = mail_bcc,
|
||||
cc = Pub.MailSort(mail_cc, MailJD.exceptmailcc),
|
||||
pdate = DateTime.Now.ToShortDateString(),
|
||||
body = mail_content,
|
||||
wuid = "DEV",
|
||||
wdate = DateTime.Now,
|
||||
});
|
||||
db.SaveChanges();
|
||||
addmsg($"[{vGcode}] 메일 전송 완료(스케쥴day)");
|
||||
System.Threading.Thread.Sleep(10000);
|
||||
}
|
||||
else
|
||||
{
|
||||
addmsg($"[{vGcode}] 받는사람이 소거되어 메일을 생성하지 않습니다");
|
||||
}
|
||||
}
|
||||
|
||||
System.Threading.Thread.Sleep(500);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
@@ -227,16 +245,16 @@ namespace JobReportMailService
|
||||
{
|
||||
if (task != null)
|
||||
{
|
||||
if (task.IsCompleted) this.toolStripButton1.Text = "완료";
|
||||
else if (task.IsCanceled) this.toolStripButton1.Text = "취소";
|
||||
else if (taskwait) this.toolStripButton1.Text = "대기상태";
|
||||
else this.toolStripButton1.Text = "가동중";
|
||||
this.toolStripButton1.Enabled = true;
|
||||
if (task.IsCompleted) this.btRun.Text = "완료";
|
||||
else if (task.IsCanceled) this.btRun.Text = "취소";
|
||||
else if (taskwait) this.btRun.Text = "대기상태";
|
||||
else this.btRun.Text = "가동중";
|
||||
this.btRun.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.toolStripButton1.Text = "사용불가";
|
||||
this.toolStripButton1.Enabled = false;
|
||||
this.btRun.Text = "사용불가";
|
||||
this.btRun.Enabled = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
<value>104, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="btRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
|
||||
20
JobReportMailService/fSendMail.Designer.cs
generated
20
JobReportMailService/fSendMail.Designer.cs
generated
@@ -31,7 +31,7 @@ namespace JobReportMailService
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fSendMail));
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.btRun = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
@@ -42,21 +42,21 @@ namespace JobReportMailService
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripButton1});
|
||||
this.btRun});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(473, 25);
|
||||
this.toolStrip1.TabIndex = 2;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// toolStripButton1
|
||||
// btRun
|
||||
//
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(48, 22);
|
||||
this.toolStripButton1.Text = "Run";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
this.btRun.Image = ((System.Drawing.Image)(resources.GetObject("btRun.Image")));
|
||||
this.btRun.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btRun.Name = "btRun";
|
||||
this.btRun.Size = new System.Drawing.Size(48, 22);
|
||||
this.btRun.Text = "Run";
|
||||
this.btRun.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// fSendMail
|
||||
//
|
||||
@@ -78,6 +78,6 @@ namespace JobReportMailService
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
private System.Windows.Forms.ToolStripButton btRun;
|
||||
}
|
||||
}
|
||||
@@ -54,6 +54,8 @@ namespace JobReportMailService
|
||||
|
||||
});
|
||||
timer1.Start();
|
||||
if (Pub.setting.autoRunData)
|
||||
btRun.PerformClick();
|
||||
}
|
||||
|
||||
void RunData()
|
||||
@@ -65,7 +67,7 @@ namespace JobReportMailService
|
||||
|
||||
void SendMail()
|
||||
{
|
||||
|
||||
//그룹무관하게 모든 자료를 전송처리한다
|
||||
var ta = new DataSet1TableAdapters.MailDataTableAdapter();
|
||||
var sendList = ta.GetData(); //발송되지않은 메일목록
|
||||
|
||||
@@ -80,6 +82,7 @@ namespace JobReportMailService
|
||||
var list_bcc = getMaillist(dr.bcc);
|
||||
var list_cc = getMaillist(dr.cc);
|
||||
|
||||
|
||||
string sendMsg = "";
|
||||
if (list_from == "")
|
||||
{
|
||||
@@ -205,7 +208,7 @@ namespace JobReportMailService
|
||||
newdr.body = dr.body;
|
||||
newdr.aidx = dr.idx;
|
||||
newdr.atime = dr.stime;
|
||||
newdr.wuid = "MANAGER";
|
||||
newdr.wuid = "DEV";
|
||||
newdr.wdate = DateTime.Now;
|
||||
dtInsert.AddMailDataRow(newdr);
|
||||
try
|
||||
@@ -256,16 +259,16 @@ namespace JobReportMailService
|
||||
{
|
||||
if (task != null)
|
||||
{
|
||||
if (task.IsCompleted) this.toolStripButton1.Text = "완료";
|
||||
else if (task.IsCanceled) this.toolStripButton1.Text = "취소";
|
||||
else if (taskwait) this.toolStripButton1.Text = "대기상태";
|
||||
else this.toolStripButton1.Text = "가동중";
|
||||
this.toolStripButton1.Enabled = true;
|
||||
if (task.IsCompleted) this.btRun.Text = "완료";
|
||||
else if (task.IsCanceled) this.btRun.Text = "취소";
|
||||
else if (taskwait) this.btRun.Text = "대기상태";
|
||||
else this.btRun.Text = "가동중";
|
||||
this.btRun.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.toolStripButton1.Text = "사용불가";
|
||||
this.toolStripButton1.Enabled = false;
|
||||
this.btRun.Text = "사용불가";
|
||||
this.btRun.Enabled = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
<value>104, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="btRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
|
||||
75
JobReportMailService/fSetup.Designer.cs
generated
Normal file
75
JobReportMailService/fSetup.Designer.cs
generated
Normal file
@@ -0,0 +1,75 @@
|
||||
|
||||
namespace JobReportMailService
|
||||
{
|
||||
partial class fSetup
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.propertyGrid1 = new System.Windows.Forms.PropertyGrid();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// propertyGrid1
|
||||
//
|
||||
this.propertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.propertyGrid1.Location = new System.Drawing.Point(0, 0);
|
||||
this.propertyGrid1.Name = "propertyGrid1";
|
||||
this.propertyGrid1.Size = new System.Drawing.Size(457, 486);
|
||||
this.propertyGrid1.TabIndex = 0;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.button1.Location = new System.Drawing.Point(0, 486);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(457, 68);
|
||||
this.button1.TabIndex = 1;
|
||||
this.button1.Text = "button1";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// fSetup
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(457, 554);
|
||||
this.Controls.Add(this.propertyGrid1);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Name = "fSetup";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "fSetup";
|
||||
this.Load += new System.EventHandler(this.fSetup_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.PropertyGrid propertyGrid1;
|
||||
private System.Windows.Forms.Button button1;
|
||||
}
|
||||
}
|
||||
33
JobReportMailService/fSetup.cs
Normal file
33
JobReportMailService/fSetup.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace JobReportMailService
|
||||
{
|
||||
public partial class fSetup : Form
|
||||
{
|
||||
public fSetup()
|
||||
{
|
||||
InitializeComponent();
|
||||
this.propertyGrid1.SelectedObject = Pub.setting;
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Validate();
|
||||
Pub.setting.Save();
|
||||
DialogResult = DialogResult.OK;
|
||||
}
|
||||
|
||||
private void fSetup_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
120
JobReportMailService/fSetup.resx
Normal file
120
JobReportMailService/fSetup.resx
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
89
Project/Dev/fDisableItem.Designer.cs
generated
Normal file
89
Project/Dev/fDisableItem.Designer.cs
generated
Normal file
@@ -0,0 +1,89 @@
|
||||
|
||||
namespace Project.Dev
|
||||
{
|
||||
partial class fDisableItem
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fDisableItem));
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.textBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.textBox1.Multiline = true;
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Horizontal;
|
||||
this.textBox1.Size = new System.Drawing.Size(269, 405);
|
||||
this.textBox1.TabIndex = 0;
|
||||
this.textBox1.Text = resources.GetString("textBox1.Text");
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.progressBar1.Location = new System.Drawing.Point(0, 405);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(800, 45);
|
||||
this.progressBar1.TabIndex = 1;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(295, 12);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(178, 56);
|
||||
this.button1.TabIndex = 2;
|
||||
this.button1.Text = "disable";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// fDisableItem
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.Name = "fDisableItem";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "fDisableItem";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.ProgressBar progressBar1;
|
||||
private System.Windows.Forms.Button button1;
|
||||
}
|
||||
}
|
||||
56
Project/Dev/fDisableItem.cs
Normal file
56
Project/Dev/fDisableItem.cs
Normal file
@@ -0,0 +1,56 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Project.Dev
|
||||
{
|
||||
public partial class fDisableItem : Form
|
||||
{
|
||||
public fDisableItem()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
var lines = this.textBox1.Text.Replace("\r", "").Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
var dlg = Util.MsgQ($"{lines.Length} 건의 아이템 비활성화를 진행 할까요?");
|
||||
if (dlg != DialogResult.Yes) return;
|
||||
|
||||
this.progressBar1.Minimum = 0;
|
||||
this.progressBar1.Maximum = lines.Length;
|
||||
this.progressBar1.Value = 0;
|
||||
|
||||
var cn = new System.Data.SqlClient.SqlConnection(Properties.Settings.Default.gwcs);
|
||||
var cmd = new System.Data.SqlClient.SqlCommand("", cn);
|
||||
cn.Open();
|
||||
var cnt = 0;
|
||||
foreach(var item in lines)
|
||||
{
|
||||
this.progressBar1.Value += 1;
|
||||
if (item.StartsWith("10") == false) continue;
|
||||
var sql = $"update items set [disable]= 1 where [sid] = '{item.Trim()}' and gcode = '{FCOMMON.info.Login.gcode}'";
|
||||
cmd.CommandText = sql;
|
||||
cnt += cmd.ExecuteNonQuery();
|
||||
if (this.progressBar1.Value % 50 == 0)
|
||||
{
|
||||
this.Text = $"{cnt}/{progressBar1.Maximum}";
|
||||
Application.DoEvents();
|
||||
}
|
||||
}
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
Util.MsgI("ok = " + cnt.ToString());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
5358
Project/Dev/fDisableItem.resx
Normal file
5358
Project/Dev/fDisableItem.resx
Normal file
File diff suppressed because it is too large
Load Diff
@@ -277,6 +277,12 @@
|
||||
<DependentUpon>DataSet1.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Device\Barcode.cs" />
|
||||
<Compile Include="Dev\fDisableItem.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Dev\fDisableItem.Designer.cs">
|
||||
<DependentUpon>fDisableItem.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Dialog\AccessDB.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -572,6 +578,9 @@
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Util.cs" />
|
||||
<EmbeddedResource Include="Dev\fDisableItem.resx">
|
||||
<DependentUpon>fDisableItem.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Dialog\AccessDB.resx">
|
||||
<DependentUpon>AccessDB.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
60
Project/fMain.Designer.cs
generated
60
Project/fMain.Designer.cs
generated
@@ -126,6 +126,8 @@
|
||||
this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.아이템비활성화하기ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.cmTab.SuspendLayout();
|
||||
this.statusStrip1.SuspendLayout();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
@@ -247,14 +249,14 @@
|
||||
//
|
||||
this.codesToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("codesToolStripMenuItem.Image")));
|
||||
this.codesToolStripMenuItem.Name = "codesToolStripMenuItem";
|
||||
this.codesToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.codesToolStripMenuItem.Size = new System.Drawing.Size(153, 24);
|
||||
this.codesToolStripMenuItem.Text = "공용코드";
|
||||
this.codesToolStripMenuItem.Click += new System.EventHandler(this.codesToolStripMenuItem_Click);
|
||||
//
|
||||
// itemsToolStripMenuItem
|
||||
//
|
||||
this.itemsToolStripMenuItem.Name = "itemsToolStripMenuItem";
|
||||
this.itemsToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.itemsToolStripMenuItem.Size = new System.Drawing.Size(153, 24);
|
||||
this.itemsToolStripMenuItem.Text = "품목정보";
|
||||
this.itemsToolStripMenuItem.Click += new System.EventHandler(this.itemsToolStripMenuItem_Click);
|
||||
//
|
||||
@@ -265,7 +267,7 @@
|
||||
this.myAccouserToolStripMenuItem,
|
||||
this.권한설정ToolStripMenuItem});
|
||||
this.userInfoToolStripMenuItem.Name = "userInfoToolStripMenuItem";
|
||||
this.userInfoToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.userInfoToolStripMenuItem.Size = new System.Drawing.Size(153, 24);
|
||||
this.userInfoToolStripMenuItem.Text = "사용자";
|
||||
//
|
||||
// userAccountToolStripMenuItem
|
||||
@@ -292,14 +294,14 @@
|
||||
// customerToolStripMenuItem
|
||||
//
|
||||
this.customerToolStripMenuItem.Name = "customerToolStripMenuItem";
|
||||
this.customerToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.customerToolStripMenuItem.Size = new System.Drawing.Size(153, 24);
|
||||
this.customerToolStripMenuItem.Text = "업체정보";
|
||||
this.customerToolStripMenuItem.Click += new System.EventHandler(this.customerToolStripMenuItem_Click);
|
||||
//
|
||||
// mn_kuntae
|
||||
//
|
||||
this.mn_kuntae.Name = "mn_kuntae";
|
||||
this.mn_kuntae.Size = new System.Drawing.Size(180, 24);
|
||||
this.mn_kuntae.Size = new System.Drawing.Size(153, 24);
|
||||
this.mn_kuntae.Text = "월별 근무표";
|
||||
this.mn_kuntae.Click += new System.EventHandler(this.월별근무표ToolStripMenuItem_Click);
|
||||
//
|
||||
@@ -307,7 +309,7 @@
|
||||
//
|
||||
this.메일양식ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("메일양식ToolStripMenuItem.Image")));
|
||||
this.메일양식ToolStripMenuItem.Name = "메일양식ToolStripMenuItem";
|
||||
this.메일양식ToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.메일양식ToolStripMenuItem.Size = new System.Drawing.Size(153, 24);
|
||||
this.메일양식ToolStripMenuItem.Text = "메일 양식";
|
||||
this.메일양식ToolStripMenuItem.Click += new System.EventHandler(this.메일양식ToolStripMenuItem_Click);
|
||||
//
|
||||
@@ -386,21 +388,21 @@
|
||||
// 목록ToolStripMenuItem1
|
||||
//
|
||||
this.목록ToolStripMenuItem1.Name = "목록ToolStripMenuItem1";
|
||||
this.목록ToolStripMenuItem1.Size = new System.Drawing.Size(180, 24);
|
||||
this.목록ToolStripMenuItem1.Size = new System.Drawing.Size(134, 24);
|
||||
this.목록ToolStripMenuItem1.Text = "목록";
|
||||
this.목록ToolStripMenuItem1.Click += new System.EventHandler(this.목록ToolStripMenuItem1_Click);
|
||||
//
|
||||
// 자동입력ToolStripMenuItem
|
||||
//
|
||||
this.자동입력ToolStripMenuItem.Name = "자동입력ToolStripMenuItem";
|
||||
this.자동입력ToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.자동입력ToolStripMenuItem.Size = new System.Drawing.Size(134, 24);
|
||||
this.자동입력ToolStripMenuItem.Text = "자동입력";
|
||||
this.자동입력ToolStripMenuItem.Click += new System.EventHandler(this.자동입력ToolStripMenuItem_Click);
|
||||
//
|
||||
// 양식ToolStripMenuItem
|
||||
//
|
||||
this.양식ToolStripMenuItem.Name = "양식ToolStripMenuItem";
|
||||
this.양식ToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.양식ToolStripMenuItem.Size = new System.Drawing.Size(134, 24);
|
||||
this.양식ToolStripMenuItem.Text = "양식";
|
||||
this.양식ToolStripMenuItem.Click += new System.EventHandler(this.양식ToolStripMenuItem_Click);
|
||||
//
|
||||
@@ -603,39 +605,39 @@
|
||||
// 메모장ToolStripMenuItem
|
||||
//
|
||||
this.메모장ToolStripMenuItem.Name = "메모장ToolStripMenuItem";
|
||||
this.메모장ToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.메모장ToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
|
||||
this.메모장ToolStripMenuItem.Text = "메모장";
|
||||
this.메모장ToolStripMenuItem.Click += new System.EventHandler(this.메모장ToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem4
|
||||
//
|
||||
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
|
||||
this.toolStripMenuItem4.Size = new System.Drawing.Size(177, 6);
|
||||
this.toolStripMenuItem4.Size = new System.Drawing.Size(146, 6);
|
||||
//
|
||||
// 패치내역ToolStripMenuItem1
|
||||
//
|
||||
this.패치내역ToolStripMenuItem1.Name = "패치내역ToolStripMenuItem1";
|
||||
this.패치내역ToolStripMenuItem1.Size = new System.Drawing.Size(180, 24);
|
||||
this.패치내역ToolStripMenuItem1.Size = new System.Drawing.Size(149, 24);
|
||||
this.패치내역ToolStripMenuItem1.Text = "패치 내역";
|
||||
this.패치내역ToolStripMenuItem1.Click += new System.EventHandler(this.패치내역ToolStripMenuItem1_Click);
|
||||
//
|
||||
// 메일내역ToolStripMenuItem
|
||||
//
|
||||
this.메일내역ToolStripMenuItem.Name = "메일내역ToolStripMenuItem";
|
||||
this.메일내역ToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.메일내역ToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
|
||||
this.메일내역ToolStripMenuItem.Text = "메일 내역";
|
||||
this.메일내역ToolStripMenuItem.Click += new System.EventHandler(this.메일내역ToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem3
|
||||
//
|
||||
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
|
||||
this.toolStripMenuItem3.Size = new System.Drawing.Size(177, 6);
|
||||
this.toolStripMenuItem3.Size = new System.Drawing.Size(146, 6);
|
||||
//
|
||||
// minutesToolStripMenuItem
|
||||
//
|
||||
this.minutesToolStripMenuItem.ForeColor = System.Drawing.Color.HotPink;
|
||||
this.minutesToolStripMenuItem.Name = "minutesToolStripMenuItem";
|
||||
this.minutesToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.minutesToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
|
||||
this.minutesToolStripMenuItem.Text = "회의록";
|
||||
this.minutesToolStripMenuItem.Visible = false;
|
||||
this.minutesToolStripMenuItem.Click += new System.EventHandler(this.minutesToolStripMenuItem_Click);
|
||||
@@ -644,7 +646,7 @@
|
||||
//
|
||||
this.requestITemToolStripMenuItem.ForeColor = System.Drawing.Color.HotPink;
|
||||
this.requestITemToolStripMenuItem.Name = "requestITemToolStripMenuItem";
|
||||
this.requestITemToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.requestITemToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
|
||||
this.requestITemToolStripMenuItem.Text = "견적요청";
|
||||
this.requestITemToolStripMenuItem.Visible = false;
|
||||
this.requestITemToolStripMenuItem.Click += new System.EventHandler(this.requestITemToolStripMenuItem_Click);
|
||||
@@ -653,7 +655,7 @@
|
||||
//
|
||||
this.freeBoardToolStripMenuItem.Enabled = false;
|
||||
this.freeBoardToolStripMenuItem.Name = "freeBoardToolStripMenuItem";
|
||||
this.freeBoardToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.freeBoardToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
|
||||
this.freeBoardToolStripMenuItem.Text = "Free Board";
|
||||
this.freeBoardToolStripMenuItem.Visible = false;
|
||||
//
|
||||
@@ -661,7 +663,7 @@
|
||||
//
|
||||
this.bugReportToolStripMenuItem.Enabled = false;
|
||||
this.bugReportToolStripMenuItem.Name = "bugReportToolStripMenuItem";
|
||||
this.bugReportToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.bugReportToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
|
||||
this.bugReportToolStripMenuItem.Text = "Bug Report";
|
||||
this.bugReportToolStripMenuItem.Visible = false;
|
||||
//
|
||||
@@ -669,7 +671,7 @@
|
||||
//
|
||||
this.todoListToolStripMenuItem.Enabled = false;
|
||||
this.todoListToolStripMenuItem.Name = "todoListToolStripMenuItem";
|
||||
this.todoListToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.todoListToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
|
||||
this.todoListToolStripMenuItem.Text = "Todo List";
|
||||
this.todoListToolStripMenuItem.Visible = false;
|
||||
this.todoListToolStripMenuItem.Click += new System.EventHandler(this.todoListToolStripMenuItem_Click);
|
||||
@@ -678,7 +680,7 @@
|
||||
//
|
||||
this.메일전송ToolStripMenuItem.ForeColor = System.Drawing.Color.Red;
|
||||
this.메일전송ToolStripMenuItem.Name = "메일전송ToolStripMenuItem";
|
||||
this.메일전송ToolStripMenuItem.Size = new System.Drawing.Size(180, 24);
|
||||
this.메일전송ToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
|
||||
this.메일전송ToolStripMenuItem.Text = "메일전송";
|
||||
this.메일전송ToolStripMenuItem.Visible = false;
|
||||
this.메일전송ToolStripMenuItem.Click += new System.EventHandler(this.메일전송ToolStripMenuItem_Click);
|
||||
@@ -725,7 +727,9 @@
|
||||
this.pMP데이터베이스업데이트ToolStripMenuItem,
|
||||
this.mailBackupToolStripMenuItem,
|
||||
this.accessDBToolStripMenuItem,
|
||||
this.메일자동발신테스트ToolStripMenuItem});
|
||||
this.메일자동발신테스트ToolStripMenuItem,
|
||||
this.toolStripMenuItem5,
|
||||
this.아이템비활성화하기ToolStripMenuItem});
|
||||
this.btDev.ForeColor = System.Drawing.Color.Blue;
|
||||
this.btDev.Image = ((System.Drawing.Image)(resources.GetObject("btDev.Image")));
|
||||
this.btDev.Name = "btDev";
|
||||
@@ -946,6 +950,18 @@
|
||||
this.toolStripButton2.Text = "품목정보";
|
||||
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click_1);
|
||||
//
|
||||
// toolStripMenuItem5
|
||||
//
|
||||
this.toolStripMenuItem5.Name = "toolStripMenuItem5";
|
||||
this.toolStripMenuItem5.Size = new System.Drawing.Size(275, 6);
|
||||
//
|
||||
// 아이템비활성화하기ToolStripMenuItem
|
||||
//
|
||||
this.아이템비활성화하기ToolStripMenuItem.Name = "아이템비활성화하기ToolStripMenuItem";
|
||||
this.아이템비활성화하기ToolStripMenuItem.Size = new System.Drawing.Size(278, 24);
|
||||
this.아이템비활성화하기ToolStripMenuItem.Text = "아이템 비활성화하기";
|
||||
this.아이템비활성화하기ToolStripMenuItem.Click += new System.EventHandler(this.아이템비활성화하기ToolStripMenuItem_Click);
|
||||
//
|
||||
// fMain
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
@@ -1074,6 +1090,8 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem 출근부출력ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 휴가신청ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem10;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5;
|
||||
private System.Windows.Forms.ToolStripMenuItem 아이템비활성화하기ToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1081,5 +1081,11 @@ namespace Project
|
||||
if (!ShowForm(formkey))
|
||||
AddForm(formkey, new FPJ0000.fHolyRequest());
|
||||
}
|
||||
|
||||
private void 아이템비활성화하기ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new Dev.fDisableItem();
|
||||
f.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
182
SubProject/FBS0000/Holiday/WorkTable.Designer.cs
generated
182
SubProject/FBS0000/Holiday/WorkTable.Designer.cs
generated
@@ -31,9 +31,9 @@
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WorkTable));
|
||||
System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ko-KR", false);
|
||||
FarPoint.Win.ComplexBorder complexBorder1 = new FarPoint.Win.ComplexBorder(new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine), new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine), new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine), new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine), new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.None), false, false);
|
||||
FarPoint.Win.Spread.CellType.NumberCellType numberCellType1 = new FarPoint.Win.Spread.CellType.NumberCellType();
|
||||
FarPoint.Win.Spread.NoPrinterPrintInfo noPrinterPrintInfo1 = new FarPoint.Win.Spread.NoPrinterPrintInfo();
|
||||
FarPoint.Win.ComplexBorder complexBorder2 = new FarPoint.Win.ComplexBorder(new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine), new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine), new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine), new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.ThinLine), new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.None), false, false);
|
||||
FarPoint.Win.Spread.CellType.NumberCellType numberCellType2 = new FarPoint.Win.Spread.CellType.NumberCellType();
|
||||
FarPoint.Win.Spread.NoPrinterPrintInfo noPrinterPrintInfo2 = new FarPoint.Win.Spread.NoPrinterPrintInfo();
|
||||
this.bn = new System.Windows.Forms.BindingNavigator(this.components);
|
||||
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
|
||||
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
|
||||
@@ -62,6 +62,9 @@
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.fpSpread1 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripButton5 = new System.Windows.Forms.ToolStripButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).BeginInit();
|
||||
this.bn.SuspendLayout();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
@@ -94,14 +97,14 @@
|
||||
this.sbJan,
|
||||
this.toolStripButton2,
|
||||
this.toolStripButton3});
|
||||
this.bn.Location = new System.Drawing.Point(0, 545);
|
||||
this.bn.Location = new System.Drawing.Point(0, 653);
|
||||
this.bn.MoveFirstItem = this.bindingNavigatorMoveFirstItem;
|
||||
this.bn.MoveLastItem = this.bindingNavigatorMoveLastItem;
|
||||
this.bn.MoveNextItem = this.bindingNavigatorMoveNextItem;
|
||||
this.bn.MovePreviousItem = this.bindingNavigatorMovePreviousItem;
|
||||
this.bn.Name = "bn";
|
||||
this.bn.PositionItem = this.bindingNavigatorPositionItem;
|
||||
this.bn.Size = new System.Drawing.Size(926, 27);
|
||||
this.bn.Size = new System.Drawing.Size(1137, 27);
|
||||
this.bn.TabIndex = 0;
|
||||
this.bn.Text = "bindingNavigator1";
|
||||
//
|
||||
@@ -243,12 +246,15 @@
|
||||
this.tbSD,
|
||||
this.toolStripLabel2,
|
||||
this.tbED,
|
||||
this.toolStripButton4,
|
||||
this.toolStripButton5,
|
||||
this.toolStripSeparator1,
|
||||
this.toolStripLabel3,
|
||||
this.tbGrp,
|
||||
this.toolStripButton1});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(926, 31);
|
||||
this.toolStrip1.Size = new System.Drawing.Size(1137, 31);
|
||||
this.toolStrip1.TabIndex = 3;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
@@ -314,7 +320,7 @@
|
||||
this.fpSpread1.Name = "fpSpread1";
|
||||
this.fpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.fpSpread1_Sheet1});
|
||||
this.fpSpread1.Size = new System.Drawing.Size(926, 514);
|
||||
this.fpSpread1.Size = new System.Drawing.Size(1137, 622);
|
||||
this.fpSpread1.StatusBarVisible = true;
|
||||
this.fpSpread1.TabIndex = 4;
|
||||
this.fpSpread1.SetViewportLeftColumn(0, 0, 4);
|
||||
@@ -329,26 +335,26 @@
|
||||
this.fpSpread1_Sheet1.ColumnCount = 50;
|
||||
this.fpSpread1_Sheet1.RowCount = 1;
|
||||
this.fpSpread1_Sheet1.AllowNoteEdit = false;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 0).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 1).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 2).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 3).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 4).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 0).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 1).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 2).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 3).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 4).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 4).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 4).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 5).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 5).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 5).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 5).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 6).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 6).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 6).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 6).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 7).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 7).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 7).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 7).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 8).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 8).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 8).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 8).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 9).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 9).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 9).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 9).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 9).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -357,7 +363,7 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 9).ParseFormatString = "n";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 9).Value = 6;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 9).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 10).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 10).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 10).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 10).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 10).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -366,7 +372,7 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 10).ParseFormatString = "n";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 10).Value = 7;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 10).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 11).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 11).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 11).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 11).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 11).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -375,7 +381,7 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 11).ParseFormatString = "n";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 11).Value = 8;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 11).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 12).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 12).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 12).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 12).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 12).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -384,7 +390,7 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 12).ParseFormatString = "n";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 12).Value = 9;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 12).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 13).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 13).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 13).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 13).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 13).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -393,7 +399,7 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 13).ParseFormatString = "n";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 13).Value = 10;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 13).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 14).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 14).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 14).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 14).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 14).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -402,7 +408,7 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 14).ParseFormatString = "n";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 14).Value = 11;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 14).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 15).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 15).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 15).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 15).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 15).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -411,7 +417,7 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 15).ParseFormatString = "n";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 15).Value = 12;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 15).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 16).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 16).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 16).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 16).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 16).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -420,55 +426,55 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 16).ParseFormatString = "n";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 16).Value = 13;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 16).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 17).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 17).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 17).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 17).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 18).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 18).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 18).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 18).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 19).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 19).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 19).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 19).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 20).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 20).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 20).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 20).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 21).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 21).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 21).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 21).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 22).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 22).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 22).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 22).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 23).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 23).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 23).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 23).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 24).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 24).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 24).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 24).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 25).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 25).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 25).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 25).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 26).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 26).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 26).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 26).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 27).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 27).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 27).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 27).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 28).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 28).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 28).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 28).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 29).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 29).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 29).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 29).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 30).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 30).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 30).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 30).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 31).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 31).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 31).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 31).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 32).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 32).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 32).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 32).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 33).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 33).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 33).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 33).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 33).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -477,7 +483,7 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 33).ParseFormatString = "n";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 33).Value = 30;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 33).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 34).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 34).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 34).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 34).ParseFormatInfo = ((System.Globalization.NumberFormatInfo)(cultureInfo.NumberFormat.Clone()));
|
||||
((System.Globalization.NumberFormatInfo)(this.fpSpread1_Sheet1.Cells.Get(0, 34).ParseFormatInfo)).NumberDecimalDigits = 0;
|
||||
@@ -487,39 +493,39 @@
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 34).Value = 31;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 34).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 35).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 35).Border = complexBorder1;
|
||||
numberCellType1.DecimalPlaces = 0;
|
||||
numberCellType1.MaximumValue = 10000000D;
|
||||
numberCellType1.MinimumValue = -10000000D;
|
||||
numberCellType1.NegativeRed = true;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 35).CellType = numberCellType1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 35).Border = complexBorder2;
|
||||
numberCellType2.DecimalPlaces = 0;
|
||||
numberCellType2.MaximumValue = 10000000D;
|
||||
numberCellType2.MinimumValue = -10000000D;
|
||||
numberCellType2.NegativeRed = true;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 35).CellType = numberCellType2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 35).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 35).Value = "발생연차";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 35).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 36).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 36).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 36).CellType = numberCellType1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 36).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 36).CellType = numberCellType2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 36).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 36).Value = "사용휴가";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 36).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 37).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 37).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 37).CellType = numberCellType1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 37).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 37).CellType = numberCellType2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 37).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 37).Value = "잔여휴가";
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 37).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 38).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 39).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 40).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 41).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 42).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 43).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 44).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 45).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 46).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 47).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 48).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 49).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 38).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 39).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 40).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 41).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 42).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 43).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 44).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 45).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 46).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 47).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 48).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Cells.Get(0, 49).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "분류";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "사번";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "직급";
|
||||
@@ -534,25 +540,25 @@
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 37).Value = "잔여휴가";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 38F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).Label = "분류";
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).Width = 69F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).Label = "사번";
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).Width = 69F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).Label = "직급";
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).Width = 69F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).Border = complexBorder1;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).Border = complexBorder2;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).Label = "성명";
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
@@ -704,11 +710,11 @@
|
||||
this.fpSpread1_Sheet1.PrintInfo.Margin.Left = 25;
|
||||
this.fpSpread1_Sheet1.PrintInfo.Margin.Right = 25;
|
||||
this.fpSpread1_Sheet1.PrintInfo.Margin.Top = 75;
|
||||
noPrinterPrintInfo1.Bounds = new System.Drawing.Rectangle(0, 0, 816, 1148);
|
||||
noPrinterPrintInfo1.HardMarginX = 0F;
|
||||
noPrinterPrintInfo1.HardMarginY = 0F;
|
||||
noPrinterPrintInfo1.SupportColor = true;
|
||||
this.fpSpread1_Sheet1.PrintInfo.NoPrinterSetting = noPrinterPrintInfo1;
|
||||
noPrinterPrintInfo2.Bounds = new System.Drawing.Rectangle(0, 0, 816, 1148);
|
||||
noPrinterPrintInfo2.HardMarginX = 0F;
|
||||
noPrinterPrintInfo2.HardMarginY = 0F;
|
||||
noPrinterPrintInfo2.SupportColor = true;
|
||||
this.fpSpread1_Sheet1.PrintInfo.NoPrinterSetting = noPrinterPrintInfo2;
|
||||
this.fpSpread1_Sheet1.PrintInfo.Orientation = FarPoint.Win.Spread.PrintOrientation.Landscape;
|
||||
this.fpSpread1_Sheet1.PrintInfo.PdfSecurity = null;
|
||||
this.fpSpread1_Sheet1.PrintInfo.Printer = "";
|
||||
@@ -720,11 +726,36 @@
|
||||
this.fpSpread1_Sheet1.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
|
||||
this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 31);
|
||||
//
|
||||
// toolStripButton4
|
||||
//
|
||||
this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.toolStripButton4.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton4.Image")));
|
||||
this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton4.Name = "toolStripButton4";
|
||||
this.toolStripButton4.Size = new System.Drawing.Size(28, 28);
|
||||
this.toolStripButton4.Text = "이전달";
|
||||
this.toolStripButton4.Click += new System.EventHandler(this.toolStripButton4_Click);
|
||||
//
|
||||
// toolStripButton5
|
||||
//
|
||||
this.toolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.toolStripButton5.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton5.Image")));
|
||||
this.toolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton5.Name = "toolStripButton5";
|
||||
this.toolStripButton5.Size = new System.Drawing.Size(28, 28);
|
||||
this.toolStripButton5.Text = "다음달";
|
||||
this.toolStripButton5.Click += new System.EventHandler(this.toolStripButton5_Click);
|
||||
//
|
||||
// WorkTable
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(926, 572);
|
||||
this.ClientSize = new System.Drawing.Size(1137, 680);
|
||||
this.Controls.Add(this.fpSpread1);
|
||||
this.Controls.Add(this.toolStrip1);
|
||||
this.Controls.Add(this.bn);
|
||||
@@ -772,5 +803,8 @@
|
||||
private System.Windows.Forms.ToolStripLabel lbStt;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton3;
|
||||
private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton4;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton5;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
}
|
||||
}
|
||||
@@ -342,5 +342,24 @@ namespace FBS0000
|
||||
newTask.Attachments.Add(FileName);
|
||||
newTask.Display();
|
||||
}
|
||||
|
||||
private void toolStripButton4_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
var sd = DateTime.Parse(tbSD.Text);
|
||||
sd = sd.AddMonths(-1);
|
||||
var ed = sd.AddMonths(1);
|
||||
tbSD.Text = sd.ToShortDateString();
|
||||
tbED.Text = ed.ToShortDateString();
|
||||
}
|
||||
|
||||
private void toolStripButton5_Click(object sender, EventArgs e)
|
||||
{
|
||||
var sd = DateTime.Parse(tbSD.Text);
|
||||
sd = sd.AddMonths(1);
|
||||
var ed = sd.AddMonths(1);
|
||||
tbSD.Text = sd.ToShortDateString();
|
||||
tbED.Text = ed.ToShortDateString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -194,6 +194,33 @@
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>83, 17</value>
|
||||
</metadata>
|
||||
<data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFMSURBVDhPhZI7SwNBFIX3T9jY2KQQxE4LIY2ghaBCGgUx
|
||||
2GhjJUSwSqWVBKwsbbTRTrAREQsfhQYikhRBDD4KQRAR/QFXv2HOMpt13QMHkpn7nbk5JMqSdckf58vP
|
||||
2+T+YOyx7X5/mhPEgKDH77bzw1fT2p+3LkRBfjwpwQJPXw9s66lsm505O3zesebHtTXeL6y4XkiHhDBD
|
||||
gILxxv2MVVslO3rZtau3Yxuq9CVDwgDBGAleu5uylfpEOoAPwPxW1tarUggv34xbrVVxcwMLve7eBVAO
|
||||
RfEaztLi5aiVz4t/B1ASr+EsAc+ejbguEgE0S3l7nVq8rsTaehl4tT7vAgrTPe4+7oEQCgIQhAAFl06G
|
||||
0zDiC80SwBZ6UaBgCuQ/kQpACqEgXG0sOQizNmAmLHFBOZhVcQj+C0tu4lcCQhD5sXz5+Vj+uEtR9AOl
|
||||
bDfO85KcaQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFNSURBVDhPhZKvSwRRFIXnn7BYLBsE2aZB2GAQDcqCBkVw
|
||||
MYhJLK7BokWTLJiMFi3aBIuIGPwRloXVRVE2rKhBEEQE/4Cr3+Xdx5sZxzlwYOfO/c68d9goS5KQG+fL
|
||||
7cv4QdF7eKfXTXOCWDDo6fvRu/11qyEW5NbjMtigs7dD2X6uyFZnRo5eduXusy7Nj0spbRTSISHMEqDB
|
||||
eLM9Jautshy/7sn1+4n0V3viIWGAwRaAgPFSYzQdwA9g7smx7av2ZdNifURdu6/qXt9ct841gHIIAAih
|
||||
pOavhqRyUfo7gJLWHybVWQKePh/ULmIBNEt5+52aLN+MeXNnk8ErjVkNKJS7dO57IISCgOy+HBkZPHE6
|
||||
kIYRDzRLAKewuxpoMAXyn0gFIAuhILzWXFAIc2zATNjEC8rBHBWH4L+wSTd+ZUAIIreWL7fv5cYJRdEP
|
||||
Fas4M5JsXd4AAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>189, 17</value>
|
||||
</metadata>
|
||||
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>189, 17</value>
|
||||
</metadata>
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.btSave = new System.Windows.Forms.Button();
|
||||
this.cmbUser = new System.Windows.Forms.ComboBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
@@ -40,7 +41,8 @@
|
||||
this.btRefresh = new System.Windows.Forms.Button();
|
||||
this.fpSpread1 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.btSave = new System.Windows.Forms.Button();
|
||||
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
|
||||
this.linkLabel2 = new System.Windows.Forms.LinkLabel();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).BeginInit();
|
||||
@@ -49,6 +51,8 @@
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
|
||||
this.panel1.Controls.Add(this.linkLabel2);
|
||||
this.panel1.Controls.Add(this.linkLabel1);
|
||||
this.panel1.Controls.Add(this.btSave);
|
||||
this.panel1.Controls.Add(this.cmbUser);
|
||||
this.panel1.Controls.Add(this.label4);
|
||||
@@ -63,9 +67,20 @@
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(5);
|
||||
this.panel1.Size = new System.Drawing.Size(888, 58);
|
||||
this.panel1.Size = new System.Drawing.Size(1102, 58);
|
||||
this.panel1.TabIndex = 1;
|
||||
//
|
||||
// btSave
|
||||
//
|
||||
this.btSave.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.btSave.Location = new System.Drawing.Point(947, 5);
|
||||
this.btSave.Name = "btSave";
|
||||
this.btSave.Size = new System.Drawing.Size(75, 48);
|
||||
this.btSave.TabIndex = 13;
|
||||
this.btSave.Text = "파일저장";
|
||||
this.btSave.UseVisualStyleBackColor = true;
|
||||
this.btSave.Click += new System.EventHandler(this.btSave_Click);
|
||||
//
|
||||
// cmbUser
|
||||
//
|
||||
this.cmbUser.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
@@ -138,7 +153,7 @@
|
||||
// btRefresh
|
||||
//
|
||||
this.btRefresh.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.btRefresh.Location = new System.Drawing.Point(808, 5);
|
||||
this.btRefresh.Location = new System.Drawing.Point(1022, 5);
|
||||
this.btRefresh.Name = "btRefresh";
|
||||
this.btRefresh.Size = new System.Drawing.Size(75, 48);
|
||||
this.btRefresh.TabIndex = 2;
|
||||
@@ -154,49 +169,41 @@
|
||||
this.fpSpread1.Name = "fpSpread1";
|
||||
this.fpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.fpSpread1_Sheet1});
|
||||
this.fpSpread1.Size = new System.Drawing.Size(888, 638);
|
||||
this.fpSpread1.Size = new System.Drawing.Size(1102, 592);
|
||||
this.fpSpread1.TabIndex = 4;
|
||||
//
|
||||
// fpSpread1_Sheet1
|
||||
//
|
||||
this.fpSpread1_Sheet1.Reset();
|
||||
this.fpSpread1_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.fpSpread1_Sheet1.ColumnFooter.DefaultStyle.BackColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.ColumnFooter.DefaultStyle.ForeColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.ColumnFooterSheetCornerStyle.BackColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.ColumnFooterSheetCornerStyle.ForeColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.ColumnHeader.DefaultStyle.BackColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.ColumnHeader.DefaultStyle.ForeColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.DefaultStyle.BackColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.DefaultStyle.ForeColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.FilterBar.DefaultStyle.BackColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.FilterBar.DefaultStyle.ForeColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.FilterBarHeaderStyle.BackColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.FilterBarHeaderStyle.ForeColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.RowHeader.DefaultStyle.BackColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.RowHeader.DefaultStyle.ForeColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.SheetCornerStyle.BackColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.SheetCornerStyle.ForeColor = System.Drawing.Color.Empty;
|
||||
this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// btSave
|
||||
// linkLabel1
|
||||
//
|
||||
this.btSave.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.btSave.Location = new System.Drawing.Point(733, 5);
|
||||
this.btSave.Name = "btSave";
|
||||
this.btSave.Size = new System.Drawing.Size(75, 48);
|
||||
this.btSave.TabIndex = 13;
|
||||
this.btSave.Text = "파일저장";
|
||||
this.btSave.UseVisualStyleBackColor = true;
|
||||
this.btSave.Click += new System.EventHandler(this.btSave_Click);
|
||||
this.linkLabel1.AutoSize = true;
|
||||
this.linkLabel1.Location = new System.Drawing.Point(522, 12);
|
||||
this.linkLabel1.Name = "linkLabel1";
|
||||
this.linkLabel1.Size = new System.Drawing.Size(41, 12);
|
||||
this.linkLabel1.TabIndex = 14;
|
||||
this.linkLabel1.TabStop = true;
|
||||
this.linkLabel1.Text = "다음달";
|
||||
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
|
||||
//
|
||||
// linkLabel2
|
||||
//
|
||||
this.linkLabel2.AutoSize = true;
|
||||
this.linkLabel2.Location = new System.Drawing.Point(475, 12);
|
||||
this.linkLabel2.Name = "linkLabel2";
|
||||
this.linkLabel2.Size = new System.Drawing.Size(41, 12);
|
||||
this.linkLabel2.TabIndex = 15;
|
||||
this.linkLabel2.TabStop = true;
|
||||
this.linkLabel2.Text = "이전달";
|
||||
this.linkLabel2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel2_LinkClicked);
|
||||
//
|
||||
// fJobChartMenu
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(888, 696);
|
||||
this.ClientSize = new System.Drawing.Size(1102, 650);
|
||||
this.Controls.Add(this.fpSpread1);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Name = "fJobChartMenu";
|
||||
@@ -227,5 +234,7 @@
|
||||
private FarPoint.Win.Spread.FpSpread fpSpread1;
|
||||
private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1;
|
||||
private System.Windows.Forms.Button btSave;
|
||||
private System.Windows.Forms.LinkLabel linkLabel2;
|
||||
private System.Windows.Forms.LinkLabel linkLabel1;
|
||||
}
|
||||
}
|
||||
@@ -360,5 +360,23 @@ namespace FPJ0000.JobReport_
|
||||
FCOMMON.Util.MsgE("파일저장완료\n" + sd.FileName);
|
||||
}
|
||||
}
|
||||
|
||||
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
//이전달
|
||||
var sd = dts.Value.AddMonths(-1);
|
||||
var ed = sd.AddMonths(1);
|
||||
dts.Value = sd;
|
||||
dte.Value = ed;
|
||||
}
|
||||
|
||||
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
//다음달
|
||||
var sd = dts.Value.AddMonths(1);
|
||||
var ed = sd.AddMonths(1);
|
||||
dts.Value = sd;
|
||||
dte.Value = ed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -593,7 +593,7 @@ namespace FPJ0000
|
||||
FCOMMON.Util.MsgE("타인의 자료는 추가/변경/삭제 할 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
if (ta.CheckOt2Input(dr.gcode, dr.idx) > 0)
|
||||
if (ta.CheckOt2Input(dr.gcode, dr.idx) > 0 && FCOMMON.info.Login.level < 5)
|
||||
{
|
||||
FCOMMON.Util.MsgE("연장/휴일 근무 시간이 승인된 자료이므로 삭제할 수 없습니다");
|
||||
return;
|
||||
|
||||
@@ -544,9 +544,9 @@
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.HolyDays.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.HolyDays.HeaderText = "일";
|
||||
this.HolyDays.HeaderText = "사용일";
|
||||
this.HolyDays.Name = "HolyDays";
|
||||
this.HolyDays.Width = 52;
|
||||
this.HolyDays.Width = 76;
|
||||
//
|
||||
// HolyTimes
|
||||
//
|
||||
|
||||
@@ -32,7 +32,6 @@ namespace FPJ0000.OtConfirm
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.tbCate = new System.Windows.Forms.ComboBox();
|
||||
this.bs = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.dSKuntae = new FPJ0000.DSKuntae();
|
||||
@@ -57,6 +56,7 @@ namespace FPJ0000.OtConfirm
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.grpAdmin = new System.Windows.Forms.GroupBox();
|
||||
this.chkSendMail = new System.Windows.Forms.CheckBox();
|
||||
this.cmbPreset = new System.Windows.Forms.ComboBox();
|
||||
this.rad2 = new System.Windows.Forms.RadioButton();
|
||||
this.rad1 = new System.Windows.Forms.RadioButton();
|
||||
@@ -64,7 +64,8 @@ namespace FPJ0000.OtConfirm
|
||||
this.tbResponse = new System.Windows.Forms.RichTextBox();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.ta = new FPJ0000.DSKuntaeTableAdapters.EETGW_HolydayRequestTableAdapter();
|
||||
this.chkSendMail = new System.Windows.Forms.CheckBox();
|
||||
this.radTime = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton2 = new System.Windows.Forms.RadioButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dSKuntae)).BeginInit();
|
||||
this.grpUser.SuspendLayout();
|
||||
@@ -89,26 +90,17 @@ namespace FPJ0000.OtConfirm
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "종료일";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(62, 136);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(66, 27);
|
||||
this.label3.TabIndex = 4;
|
||||
this.label3.Text = "구분";
|
||||
//
|
||||
// tbCate
|
||||
//
|
||||
this.tbCate.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "cate", true));
|
||||
this.tbCate.FormattingEnabled = true;
|
||||
this.tbCate.Items.AddRange(new object[] {
|
||||
"연차",
|
||||
"년차",
|
||||
"하기",
|
||||
"대체"});
|
||||
this.tbCate.Location = new System.Drawing.Point(140, 133);
|
||||
this.tbCate.Name = "tbCate";
|
||||
this.tbCate.Size = new System.Drawing.Size(358, 35);
|
||||
this.tbCate.Size = new System.Drawing.Size(153, 35);
|
||||
this.tbCate.TabIndex = 5;
|
||||
//
|
||||
// bs
|
||||
@@ -141,6 +133,7 @@ namespace FPJ0000.OtConfirm
|
||||
// tbRemark
|
||||
//
|
||||
this.tbRemark.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "Remark", true));
|
||||
this.tbRemark.Font = new System.Drawing.Font("굴림", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.tbRemark.Location = new System.Drawing.Point(140, 297);
|
||||
this.tbRemark.Name = "tbRemark";
|
||||
this.tbRemark.Size = new System.Drawing.Size(358, 169);
|
||||
@@ -149,6 +142,8 @@ namespace FPJ0000.OtConfirm
|
||||
//
|
||||
// grpUser
|
||||
//
|
||||
this.grpUser.Controls.Add(this.radioButton2);
|
||||
this.grpUser.Controls.Add(this.radTime);
|
||||
this.grpUser.Controls.Add(this.tbTimes);
|
||||
this.grpUser.Controls.Add(this.tbDays);
|
||||
this.grpUser.Controls.Add(this.label11);
|
||||
@@ -170,7 +165,6 @@ namespace FPJ0000.OtConfirm
|
||||
this.grpUser.Controls.Add(this.label2);
|
||||
this.grpUser.Controls.Add(this.tbSD);
|
||||
this.grpUser.Controls.Add(this.label4);
|
||||
this.grpUser.Controls.Add(this.label3);
|
||||
this.grpUser.Controls.Add(this.tbCate);
|
||||
this.grpUser.Location = new System.Drawing.Point(12, 12);
|
||||
this.grpUser.Name = "grpUser";
|
||||
@@ -220,7 +214,7 @@ namespace FPJ0000.OtConfirm
|
||||
this.tbBackup.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "cate", true));
|
||||
this.tbBackup.FormattingEnabled = true;
|
||||
this.tbBackup.Items.AddRange(new object[] {
|
||||
"연차",
|
||||
"년차",
|
||||
"하기",
|
||||
"대체"});
|
||||
this.tbBackup.Location = new System.Drawing.Point(140, 256);
|
||||
@@ -242,7 +236,7 @@ namespace FPJ0000.OtConfirm
|
||||
this.tbLocation.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "cate", true));
|
||||
this.tbLocation.FormattingEnabled = true;
|
||||
this.tbLocation.Items.AddRange(new object[] {
|
||||
"연차",
|
||||
"년차",
|
||||
"하기",
|
||||
"대체"});
|
||||
this.tbLocation.Location = new System.Drawing.Point(140, 215);
|
||||
@@ -264,7 +258,7 @@ namespace FPJ0000.OtConfirm
|
||||
this.tbReason.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "cate", true));
|
||||
this.tbReason.FormattingEnabled = true;
|
||||
this.tbReason.Items.AddRange(new object[] {
|
||||
"연차",
|
||||
"년차",
|
||||
"하기",
|
||||
"대체"});
|
||||
this.tbReason.Location = new System.Drawing.Point(140, 174);
|
||||
@@ -340,20 +334,30 @@ namespace FPJ0000.OtConfirm
|
||||
this.grpAdmin.Controls.Add(this.rad1);
|
||||
this.grpAdmin.Controls.Add(this.rad0);
|
||||
this.grpAdmin.Controls.Add(this.tbResponse);
|
||||
this.grpAdmin.Location = new System.Drawing.Point(12, 520);
|
||||
this.grpAdmin.Location = new System.Drawing.Point(12, 503);
|
||||
this.grpAdmin.Name = "grpAdmin";
|
||||
this.grpAdmin.Size = new System.Drawing.Size(788, 242);
|
||||
this.grpAdmin.Size = new System.Drawing.Size(788, 179);
|
||||
this.grpAdmin.TabIndex = 1;
|
||||
this.grpAdmin.TabStop = false;
|
||||
this.grpAdmin.Text = "관리자";
|
||||
//
|
||||
// chkSendMail
|
||||
//
|
||||
this.chkSendMail.AutoSize = true;
|
||||
this.chkSendMail.Location = new System.Drawing.Point(631, 37);
|
||||
this.chkSendMail.Name = "chkSendMail";
|
||||
this.chkSendMail.Size = new System.Drawing.Size(139, 31);
|
||||
this.chkSendMail.TabIndex = 7;
|
||||
this.chkSendMail.Text = "메일전송";
|
||||
this.chkSendMail.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// cmbPreset
|
||||
//
|
||||
this.cmbPreset.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "cate", true));
|
||||
this.cmbPreset.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cmbPreset.FormattingEnabled = true;
|
||||
this.cmbPreset.Items.AddRange(new object[] {
|
||||
"연차",
|
||||
"년차",
|
||||
"하기",
|
||||
"대체"});
|
||||
this.cmbPreset.Location = new System.Drawing.Point(26, 74);
|
||||
@@ -401,15 +405,15 @@ namespace FPJ0000.OtConfirm
|
||||
this.tbResponse.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "Response", true));
|
||||
this.tbResponse.Location = new System.Drawing.Point(26, 115);
|
||||
this.tbResponse.Name = "tbResponse";
|
||||
this.tbResponse.Size = new System.Drawing.Size(744, 113);
|
||||
this.tbResponse.Size = new System.Drawing.Size(744, 57);
|
||||
this.tbResponse.TabIndex = 3;
|
||||
this.tbResponse.Text = "";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(12, 768);
|
||||
this.button1.Location = new System.Drawing.Point(12, 688);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(788, 72);
|
||||
this.button1.Size = new System.Drawing.Size(788, 50);
|
||||
this.button1.TabIndex = 2;
|
||||
this.button1.Text = "확인";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
@@ -419,20 +423,35 @@ namespace FPJ0000.OtConfirm
|
||||
//
|
||||
this.ta.ClearBeforeFill = true;
|
||||
//
|
||||
// chkSendMail
|
||||
// radTime
|
||||
//
|
||||
this.chkSendMail.AutoSize = true;
|
||||
this.chkSendMail.Location = new System.Drawing.Point(631, 37);
|
||||
this.chkSendMail.Name = "chkSendMail";
|
||||
this.chkSendMail.Size = new System.Drawing.Size(139, 31);
|
||||
this.chkSendMail.TabIndex = 7;
|
||||
this.chkSendMail.Text = "메일전송";
|
||||
this.chkSendMail.UseVisualStyleBackColor = true;
|
||||
this.radTime.AutoSize = true;
|
||||
this.radTime.Location = new System.Drawing.Point(306, 134);
|
||||
this.radTime.Name = "radTime";
|
||||
this.radTime.Size = new System.Drawing.Size(192, 31);
|
||||
this.radTime.TabIndex = 24;
|
||||
this.radTime.TabStop = true;
|
||||
this.radTime.Text = "대체시간사용";
|
||||
this.radTime.UseVisualStyleBackColor = true;
|
||||
this.radTime.CheckedChanged += new System.EventHandler(this.radioButton1_CheckedChanged);
|
||||
//
|
||||
// radioButton2
|
||||
//
|
||||
this.radioButton2.AutoSize = true;
|
||||
this.radioButton2.Checked = true;
|
||||
this.radioButton2.Location = new System.Drawing.Point(50, 133);
|
||||
this.radioButton2.Name = "radioButton2";
|
||||
this.radioButton2.Size = new System.Drawing.Size(84, 31);
|
||||
this.radioButton2.TabIndex = 25;
|
||||
this.radioButton2.TabStop = true;
|
||||
this.radioButton2.Text = "일반";
|
||||
this.radioButton2.UseVisualStyleBackColor = true;
|
||||
this.radioButton2.CheckedChanged += new System.EventHandler(this.radioButton1_CheckedChanged);
|
||||
//
|
||||
// fHolyRequestAdd
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(812, 851);
|
||||
this.ClientSize = new System.Drawing.Size(812, 746);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.grpAdmin);
|
||||
this.Controls.Add(this.grpUser);
|
||||
@@ -457,7 +476,6 @@ namespace FPJ0000.OtConfirm
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.ComboBox tbCate;
|
||||
private System.Windows.Forms.DateTimePicker tbSD;
|
||||
private System.Windows.Forms.DateTimePicker tbED;
|
||||
@@ -490,5 +508,7 @@ namespace FPJ0000.OtConfirm
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.ComboBox cmbPreset;
|
||||
private System.Windows.Forms.CheckBox chkSendMail;
|
||||
private System.Windows.Forms.RadioButton radTime;
|
||||
private System.Windows.Forms.RadioButton radioButton2;
|
||||
}
|
||||
}
|
||||
@@ -64,6 +64,21 @@ namespace FPJ0000.OtConfirm
|
||||
tbDays.Text = dr.HolyDays.ToString(); //211224
|
||||
tbTimes.Text = dr.HolyTimes.ToString();
|
||||
|
||||
if(dr.cate == "대체")
|
||||
{
|
||||
tbTimes.Enabled = true;
|
||||
tbDays.Enabled = false;
|
||||
tbCate.Enabled = false;
|
||||
radTime.Checked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
tbCate.Enabled = true;
|
||||
tbTimes.Enabled = false;
|
||||
tbDays.Enabled = true;
|
||||
radioButton2.Checked = true;
|
||||
}
|
||||
|
||||
}
|
||||
int curLevel = 0;
|
||||
private void fHolyRequestAdd_Load(object sender, EventArgs e)
|
||||
@@ -75,6 +90,7 @@ namespace FPJ0000.OtConfirm
|
||||
if (dr.RowState == DataRowState.Detached)
|
||||
{
|
||||
grpAdmin.Enabled = false;
|
||||
UpdateStatus();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -91,11 +107,13 @@ namespace FPJ0000.OtConfirm
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
var cate = tbCate.Text.Trim();
|
||||
if (radTime.Checked) cate = "대체";
|
||||
|
||||
var remark = tbRemark.Text.Trim();
|
||||
var response = tbResponse.Text.Trim();
|
||||
if (string.IsNullOrEmpty(cate))
|
||||
{
|
||||
FCOMMON.Util.MsgE("구분을 입력하세요 (연차/하기휴가/연장근무)");
|
||||
FCOMMON.Util.MsgE("구분을 입력하세요");
|
||||
tbCate.Focus();
|
||||
return;
|
||||
}
|
||||
@@ -108,6 +126,9 @@ namespace FPJ0000.OtConfirm
|
||||
var vDay = 0;
|
||||
var vTime = 0f;
|
||||
|
||||
if (tbDays.Enabled == false) tbDays.Text = string.Empty;
|
||||
if (tbTimes.Enabled == false) tbTimes.Text = string.Empty;
|
||||
|
||||
if (tbDays.Text.IsNumeric()) vDay = int.Parse(tbDays.Text.Trim());
|
||||
if (tbTimes.Text.IsNumeric()) vTime = float.Parse(tbTimes.Text.Trim());
|
||||
|
||||
@@ -123,6 +144,16 @@ namespace FPJ0000.OtConfirm
|
||||
FCOMMON.Util.MsgE("사용 일/시간 값을 입력해주세요\n대체휴가에는 시간을 입력하세요");
|
||||
return;
|
||||
}
|
||||
|
||||
//하나도 입력안했다면 경고한다
|
||||
if(tbReason.Text.isEmpty() && tbLocation.Text.isEmpty() && tbBackup.Text.isEmpty() && tbRemark.Text.isEmpty())
|
||||
{
|
||||
FCOMMON.Util.MsgE("비고를 입력해주세요");
|
||||
tbRemark.Focus();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (dr.RowState == DataRowState.Detached)
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("입력을 완료하시겠습니까?\r\n관리자에게 메일로 알림이 발생 합니다");
|
||||
@@ -144,7 +175,7 @@ namespace FPJ0000.OtConfirm
|
||||
dr.HolyReason = tbReason.Text.Trim();
|
||||
dr.HolyLocation = tbLocation.Text.Trim();
|
||||
dr.HolyBackup = tbBackup.Text.Trim();
|
||||
dr.cate = tbCate.Text.Trim();
|
||||
dr.cate = cate;// tbCate.Text.Trim();
|
||||
dr.Remark = tbRemark.Text.Trim();
|
||||
dr.Response = tbResponse.Text.Trim();
|
||||
dr.sdate = tbSD.Value.ToShortDateString();
|
||||
@@ -175,14 +206,64 @@ namespace FPJ0000.OtConfirm
|
||||
}
|
||||
|
||||
private void tbED_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
UpdateStatus();
|
||||
|
||||
}
|
||||
|
||||
void UpdateStatus()
|
||||
{
|
||||
//해당 값이 오늘보다 이전이라면 메일전송을 자동 해제하낟.
|
||||
var v = tbED.Value.ToShortDateString();
|
||||
var s = tbSD.Value.ToShortDateString();
|
||||
|
||||
var c = DateTime.Now.ToShortDateString();
|
||||
if (v.CompareTo(c) < 0)
|
||||
chkSendMail.Checked = false;
|
||||
else
|
||||
chkSendMail.Checked = true;
|
||||
|
||||
//일수계산
|
||||
var term = tbED.Value - tbSD.Value;
|
||||
var days = term.Days + 1;
|
||||
if (radTime.Checked == false)
|
||||
{
|
||||
//if(tbDays.Text.isEmpty() || tbDays.Text=="0")
|
||||
{
|
||||
tbDays.Text = (days).ToString();
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//여기는 시간
|
||||
//if (tbTimes.Text.isEmpty() || tbTimes.Text == "0")
|
||||
{
|
||||
tbTimes.Text = (days * 8).ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void radioButton1_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (radTime.Checked)
|
||||
{
|
||||
tbCate.Enabled = false;
|
||||
tbDays.Enabled = false;
|
||||
tbTimes.Enabled = true;
|
||||
tbDays.BackColor = Color.DimGray;
|
||||
tbTimes.BackColor = Color.Gold;
|
||||
}
|
||||
else
|
||||
{
|
||||
tbCate.Enabled = true;
|
||||
tbDays.Enabled = true;
|
||||
tbTimes.Enabled = false;
|
||||
tbTimes.BackColor = Color.DimGray;
|
||||
tbDays.BackColor = Color.Gold;
|
||||
}
|
||||
|
||||
UpdateStatus();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user