..
This commit is contained in:
		
							
								
								
									
										291
									
								
								SubProject/FBS0000/Holiday/fTimeTransfer.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										291
									
								
								SubProject/FBS0000/Holiday/fTimeTransfer.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,291 @@ | ||||
|  | ||||
| namespace FBS0000.Holiday | ||||
| { | ||||
|     partial class fTimeTransfer | ||||
|     { | ||||
|         /// <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.btChk = new System.Windows.Forms.Button(); | ||||
|             this.groupBox3 = new System.Windows.Forms.GroupBox(); | ||||
|             this.dtSD = new System.Windows.Forms.DateTimePicker(); | ||||
|             this.button3 = new System.Windows.Forms.Button(); | ||||
|             this.button2 = new System.Windows.Forms.Button(); | ||||
|             this.button1 = new System.Windows.Forms.Button(); | ||||
|             this.panel4 = new System.Windows.Forms.Panel(); | ||||
|             this.panel5 = new System.Windows.Forms.Panel(); | ||||
|             this.groupBox4 = new System.Windows.Forms.GroupBox(); | ||||
|             this.listView1 = new System.Windows.Forms.ListView(); | ||||
|             this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); | ||||
|             this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); | ||||
|             this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); | ||||
|             this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); | ||||
|             this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); | ||||
|             this.groupBox1 = new System.Windows.Forms.GroupBox(); | ||||
|             this.button4 = new System.Windows.Forms.Button(); | ||||
|             this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker(); | ||||
|             this.panel1 = new System.Windows.Forms.Panel(); | ||||
|             this.groupBox3.SuspendLayout(); | ||||
|             this.groupBox4.SuspendLayout(); | ||||
|             this.groupBox1.SuspendLayout(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // btChk | ||||
|             //  | ||||
|             this.btChk.Dock = System.Windows.Forms.DockStyle.Top; | ||||
|             this.btChk.Font = new System.Drawing.Font("맑은 고딕", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.btChk.Location = new System.Drawing.Point(5, 5); | ||||
|             this.btChk.Name = "btChk"; | ||||
|             this.btChk.Size = new System.Drawing.Size(734, 66); | ||||
|             this.btChk.TabIndex = 5; | ||||
|             this.btChk.Text = "대체 시간 계산"; | ||||
|             this.btChk.UseVisualStyleBackColor = true; | ||||
|             this.btChk.Click += new System.EventHandler(this.button1_Click); | ||||
|             //  | ||||
|             // groupBox3 | ||||
|             //  | ||||
|             this.groupBox3.Controls.Add(this.dtSD); | ||||
|             this.groupBox3.Controls.Add(this.button3); | ||||
|             this.groupBox3.Controls.Add(this.button2); | ||||
|             this.groupBox3.Controls.Add(this.button1); | ||||
|             this.groupBox3.Dock = System.Windows.Forms.DockStyle.Top; | ||||
|             this.groupBox3.Location = new System.Drawing.Point(5, 81); | ||||
|             this.groupBox3.Name = "groupBox3"; | ||||
|             this.groupBox3.Padding = new System.Windows.Forms.Padding(3, 3, 3, 10); | ||||
|             this.groupBox3.Size = new System.Drawing.Size(734, 70); | ||||
|             this.groupBox3.TabIndex = 20; | ||||
|             this.groupBox3.TabStop = false; | ||||
|             this.groupBox3.Text = "계산기준"; | ||||
|             //  | ||||
|             // dtSD | ||||
|             //  | ||||
|             this.dtSD.CalendarFont = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.dtSD.CustomFormat = "yyy-MM"; | ||||
|             this.dtSD.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Bold); | ||||
|             this.dtSD.Format = System.Windows.Forms.DateTimePickerFormat.Custom; | ||||
|             this.dtSD.Location = new System.Drawing.Point(17, 20); | ||||
|             this.dtSD.Name = "dtSD"; | ||||
|             this.dtSD.Size = new System.Drawing.Size(170, 39); | ||||
|             this.dtSD.TabIndex = 7; | ||||
|             //  | ||||
|             // button3 | ||||
|             //  | ||||
|             this.button3.Dock = System.Windows.Forms.DockStyle.Right; | ||||
|             this.button3.Location = new System.Drawing.Point(431, 17); | ||||
|             this.button3.Name = "button3"; | ||||
|             this.button3.Size = new System.Drawing.Size(100, 43); | ||||
|             this.button3.TabIndex = 6; | ||||
|             this.button3.Text = "<< 이전달"; | ||||
|             this.button3.UseVisualStyleBackColor = true; | ||||
|             this.button3.Click += new System.EventHandler(this.button3_Click); | ||||
|             //  | ||||
|             // button2 | ||||
|             //  | ||||
|             this.button2.Dock = System.Windows.Forms.DockStyle.Right; | ||||
|             this.button2.Location = new System.Drawing.Point(531, 17); | ||||
|             this.button2.Name = "button2"; | ||||
|             this.button2.Size = new System.Drawing.Size(100, 43); | ||||
|             this.button2.TabIndex = 5; | ||||
|             this.button2.Text = "이번달"; | ||||
|             this.button2.UseVisualStyleBackColor = true; | ||||
|             this.button2.Click += new System.EventHandler(this.button2_Click_1); | ||||
|             //  | ||||
|             // button1 | ||||
|             //  | ||||
|             this.button1.Dock = System.Windows.Forms.DockStyle.Right; | ||||
|             this.button1.Location = new System.Drawing.Point(631, 17); | ||||
|             this.button1.Name = "button1"; | ||||
|             this.button1.Size = new System.Drawing.Size(100, 43); | ||||
|             this.button1.TabIndex = 4; | ||||
|             this.button1.Text = "다음달 >>"; | ||||
|             this.button1.UseVisualStyleBackColor = true; | ||||
|             this.button1.Click += new System.EventHandler(this.button1_Click_1); | ||||
|             //  | ||||
|             // panel4 | ||||
|             //  | ||||
|             this.panel4.Dock = System.Windows.Forms.DockStyle.Top; | ||||
|             this.panel4.Location = new System.Drawing.Point(5, 151); | ||||
|             this.panel4.Name = "panel4"; | ||||
|             this.panel4.Size = new System.Drawing.Size(734, 10); | ||||
|             this.panel4.TabIndex = 21; | ||||
|             //  | ||||
|             // panel5 | ||||
|             //  | ||||
|             this.panel5.Dock = System.Windows.Forms.DockStyle.Top; | ||||
|             this.panel5.Location = new System.Drawing.Point(5, 71); | ||||
|             this.panel5.Name = "panel5"; | ||||
|             this.panel5.Size = new System.Drawing.Size(734, 10); | ||||
|             this.panel5.TabIndex = 22; | ||||
|             //  | ||||
|             // groupBox4 | ||||
|             //  | ||||
|             this.groupBox4.Controls.Add(this.listView1); | ||||
|             this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.groupBox4.Location = new System.Drawing.Point(5, 161); | ||||
|             this.groupBox4.Name = "groupBox4"; | ||||
|             this.groupBox4.Size = new System.Drawing.Size(734, 473); | ||||
|             this.groupBox4.TabIndex = 24; | ||||
|             this.groupBox4.TabStop = false; | ||||
|             this.groupBox4.Text = "정상"; | ||||
|             //  | ||||
|             // listView1 | ||||
|             //  | ||||
|             this.listView1.CheckBoxes = true; | ||||
|             this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { | ||||
|             this.columnHeader1, | ||||
|             this.columnHeader2, | ||||
|             this.columnHeader3, | ||||
|             this.columnHeader4, | ||||
|             this.columnHeader5}); | ||||
|             this.listView1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.listView1.FullRowSelect = true; | ||||
|             this.listView1.GridLines = true; | ||||
|             this.listView1.HideSelection = false; | ||||
|             this.listView1.Location = new System.Drawing.Point(3, 17); | ||||
|             this.listView1.MultiSelect = false; | ||||
|             this.listView1.Name = "listView1"; | ||||
|             this.listView1.Size = new System.Drawing.Size(728, 453); | ||||
|             this.listView1.TabIndex = 0; | ||||
|             this.listView1.UseCompatibleStateImageBehavior = false; | ||||
|             this.listView1.View = System.Windows.Forms.View.Details; | ||||
|             //  | ||||
|             // columnHeader1 | ||||
|             //  | ||||
|             this.columnHeader1.Text = "No"; | ||||
|             this.columnHeader1.Width = 117; | ||||
|             //  | ||||
|             // columnHeader2 | ||||
|             //  | ||||
|             this.columnHeader2.Text = "Name"; | ||||
|             this.columnHeader2.Width = 222; | ||||
|             //  | ||||
|             // columnHeader3 | ||||
|             //  | ||||
|             this.columnHeader3.Text = "발생"; | ||||
|             this.columnHeader3.Width = 108; | ||||
|             //  | ||||
|             // columnHeader4 | ||||
|             //  | ||||
|             this.columnHeader4.Text = "사용"; | ||||
|             this.columnHeader4.Width = 94; | ||||
|             //  | ||||
|             // columnHeader5 | ||||
|             //  | ||||
|             this.columnHeader5.Text = "잔량"; | ||||
|             this.columnHeader5.Width = 128; | ||||
|             //  | ||||
|             // groupBox1 | ||||
|             //  | ||||
|             this.groupBox1.Controls.Add(this.button4); | ||||
|             this.groupBox1.Controls.Add(this.dateTimePicker1); | ||||
|             this.groupBox1.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.groupBox1.Location = new System.Drawing.Point(5, 644); | ||||
|             this.groupBox1.Name = "groupBox1"; | ||||
|             this.groupBox1.Padding = new System.Windows.Forms.Padding(3, 3, 3, 10); | ||||
|             this.groupBox1.Size = new System.Drawing.Size(734, 70); | ||||
|             this.groupBox1.TabIndex = 25; | ||||
|             this.groupBox1.TabStop = false; | ||||
|             this.groupBox1.Text = "등록 기준"; | ||||
|             //  | ||||
|             // button4 | ||||
|             //  | ||||
|             this.button4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); | ||||
|             this.button4.Dock = System.Windows.Forms.DockStyle.Right; | ||||
|             this.button4.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.button4.Location = new System.Drawing.Point(292, 17); | ||||
|             this.button4.Name = "button4"; | ||||
|             this.button4.Size = new System.Drawing.Size(439, 43); | ||||
|             this.button4.TabIndex = 27; | ||||
|             this.button4.Text = "좌측 기준일로 데이터를 등록 합니다"; | ||||
|             this.button4.UseVisualStyleBackColor = false; | ||||
|             this.button4.Click += new System.EventHandler(this.button4_Click); | ||||
|             //  | ||||
|             // dateTimePicker1 | ||||
|             //  | ||||
|             this.dateTimePicker1.CalendarFont = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.dateTimePicker1.CustomFormat = "yyyy-MM-dd"; | ||||
|             this.dateTimePicker1.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Bold); | ||||
|             this.dateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom; | ||||
|             this.dateTimePicker1.Location = new System.Drawing.Point(17, 20); | ||||
|             this.dateTimePicker1.Name = "dateTimePicker1"; | ||||
|             this.dateTimePicker1.Size = new System.Drawing.Size(200, 39); | ||||
|             this.dateTimePicker1.TabIndex = 7; | ||||
|             //  | ||||
|             // panel1 | ||||
|             //  | ||||
|             this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.panel1.Location = new System.Drawing.Point(5, 634); | ||||
|             this.panel1.Name = "panel1"; | ||||
|             this.panel1.Size = new System.Drawing.Size(734, 10); | ||||
|             this.panel1.TabIndex = 26; | ||||
|             //  | ||||
|             // fTimeTransfer | ||||
|             //  | ||||
|             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
|             this.ClientSize = new System.Drawing.Size(744, 719); | ||||
|             this.Controls.Add(this.groupBox4); | ||||
|             this.Controls.Add(this.panel1); | ||||
|             this.Controls.Add(this.groupBox1); | ||||
|             this.Controls.Add(this.panel4); | ||||
|             this.Controls.Add(this.groupBox3); | ||||
|             this.Controls.Add(this.panel5); | ||||
|             this.Controls.Add(this.btChk); | ||||
|             this.MaximizeBox = false; | ||||
|             this.MinimizeBox = false; | ||||
|             this.Name = "fTimeTransfer"; | ||||
|             this.Padding = new System.Windows.Forms.Padding(5); | ||||
|             this.Text = "대체시간 이월"; | ||||
|             this.Load += new System.EventHandler(this.fErrorChk_Load); | ||||
|             this.groupBox3.ResumeLayout(false); | ||||
|             this.groupBox4.ResumeLayout(false); | ||||
|             this.groupBox1.ResumeLayout(false); | ||||
|             this.ResumeLayout(false); | ||||
|  | ||||
|         } | ||||
|  | ||||
|         #endregion | ||||
|         private System.Windows.Forms.Button btChk; | ||||
| 		private System.Windows.Forms.GroupBox groupBox3; | ||||
| 		private System.Windows.Forms.Panel panel4; | ||||
| 		private System.Windows.Forms.Panel panel5; | ||||
| 		private System.Windows.Forms.Button button3; | ||||
| 		private System.Windows.Forms.Button button2; | ||||
| 		private System.Windows.Forms.Button button1; | ||||
| 		private System.Windows.Forms.DateTimePicker dtSD; | ||||
| 		private System.Windows.Forms.GroupBox groupBox4; | ||||
|         private System.Windows.Forms.GroupBox groupBox1; | ||||
|         private System.Windows.Forms.DateTimePicker dateTimePicker1; | ||||
|         private System.Windows.Forms.Panel panel1; | ||||
|         private System.Windows.Forms.Button button4; | ||||
|         private System.Windows.Forms.ListView listView1; | ||||
|         private System.Windows.Forms.ColumnHeader columnHeader1; | ||||
|         private System.Windows.Forms.ColumnHeader columnHeader2; | ||||
|         private System.Windows.Forms.ColumnHeader columnHeader3; | ||||
|         private System.Windows.Forms.ColumnHeader columnHeader4; | ||||
|         private System.Windows.Forms.ColumnHeader columnHeader5; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										166
									
								
								SubProject/FBS0000/Holiday/fTimeTransfer.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								SubProject/FBS0000/Holiday/fTimeTransfer.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,166 @@ | ||||
| using FCOMMON; | ||||
| using NetOffice.Extensions.Invoker; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.ComponentModel; | ||||
| using System.Data; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Runtime.InteropServices; | ||||
| using System.Text; | ||||
| using System.Threading.Tasks; | ||||
| using System.Windows.Forms; | ||||
| using AR; | ||||
| using NetOffice.OutlookApi; | ||||
|  | ||||
| namespace FBS0000.Holiday | ||||
| { | ||||
|     public partial class fTimeTransfer : fBase | ||||
|     { | ||||
|         public fTimeTransfer() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             Properties.Settings.Default["gwcs"] = FCOMMON.info.CS; | ||||
|  | ||||
|             //dtSD.KeyDown += dtSD_KeyDown; | ||||
|             //dtED.KeyDown += dtSD_KeyDown; | ||||
|         } | ||||
|         private void fErrorChk_Load(object sender, EventArgs e) | ||||
|         { | ||||
|             //기본 이번달 설정한다 | ||||
|             dtSD.Value = DateTime.Now.AddMonths(-1); | ||||
|             dateTimePicker1.Value = new DateTime(DateTime.Now.Year, 1, 1); | ||||
|             EnsureVisibleAndUsableSize(); | ||||
|         } | ||||
|  | ||||
|         private void button1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             //검사버튼 | ||||
|             var sd = DateTime.Parse(dtSD.Text); | ||||
|             var stime = new DateTime(sd.Year, 1, 1); | ||||
|             var etime = new DateTime(sd.Year, sd.Month, 1).AddMonths(1).AddDays(-1); | ||||
|  | ||||
|             var gcode = FCOMMON.info.Login.gcode; | ||||
|             //var id = FCOMMON.info.Login.no; | ||||
|  | ||||
|             var cn = FCOMMON.DBM.getCn(); | ||||
|             cn.Open(); | ||||
|             var cmd = new System.Data.SqlClient.SqlCommand("", cn); | ||||
|             cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = gcode; | ||||
|             cmd.Parameters.Add("sd", SqlDbType.VarChar).Value = stime.ToShortDateString(); | ||||
|             cmd.Parameters.Add("ed", SqlDbType.VarChar).Value = etime.ToShortDateString(); | ||||
|  | ||||
|             //근태입력자료확인 | ||||
|             cmd.CommandText = "SELECT  holyday.uid, Users.name,\r\nsum( Holyday.DrTime) AS Dr," + | ||||
|                 " sum(Holyday.CrTime) AS Cr, sum( Holyday.DrTime) - sum(holyday.crtime) as jan" + | ||||
|                 " FROM     Holyday WITH (NOLOCK)" + | ||||
|                 " LEFT OUTER JOIN EETGW_GroupUser WITH (NOLOCK) " + | ||||
|                 " ON Holyday.gcode = EETGW_GroupUser.gcode AND Holyday.uid = EETGW_GroupUser.uid " + | ||||
|                 " LEFT OUTER JOIN Users WITH (NOLOCK) ON Holyday.uid = Users.id" + | ||||
|                 " WHERE  (Holyday.gcode = @gcode) AND  (Holyday.sdate BETWEEN @sd AND @ed) and  EETGW_GroupUser.useUserState = 1 " + | ||||
|                 " AND (ISNULL(Holyday.DrTime, 0) + ISNULL(Holyday.CrTime, 0) <> 0)" + | ||||
|                 " group by holyday.uid,Users.name" + | ||||
|                 " having sum( Holyday.DrTime) - sum(holyday.crtime) <> 0" + | ||||
|                 " order by Users.name"; | ||||
|  | ||||
|             var dar = cmd.ExecuteReader(); | ||||
|             this.listView1.Items.Clear(); | ||||
|             double sum_dr, sum_cr, sum_jan; | ||||
|             sum_dr = sum_cr = sum_jan = 0.0; | ||||
|             while (dar.Read()) | ||||
|             { | ||||
|                 var str_uid = dar[0].ToString(); | ||||
|                 var str_name = dar[1].ToString(); | ||||
|                 var str_dr = (double)dar[2]; | ||||
|                 var str_cr = (double)dar[3]; | ||||
|                 var str_jan = (double)dar[4]; | ||||
|  | ||||
|                 sum_dr += str_dr; | ||||
|                 sum_cr += str_cr; | ||||
|                 sum_jan += str_jan; | ||||
|  | ||||
|                 var lv = this.listView1.Items.Add(str_uid); | ||||
|                 lv.SubItems.Add(str_name); | ||||
|                 lv.SubItems.Add(str_dr.ToString()); | ||||
|                 lv.SubItems.Add(str_cr.ToString()); | ||||
|                 lv.SubItems.Add(str_jan.ToString()); | ||||
|                 lv.Tag = $"{str_uid}|{str_jan}"; | ||||
|                 lv.Checked = true; | ||||
|             } | ||||
|  | ||||
|             var lvsum = this.listView1.Items.Add("Total"); | ||||
|             lvsum.SubItems.Add(""); | ||||
|             lvsum.SubItems.Add(sum_dr.ToString()); | ||||
|             lvsum.SubItems.Add(sum_cr.ToString()); | ||||
|             lvsum.SubItems.Add(sum_jan.ToString()); | ||||
|             lvsum.Checked = false; | ||||
|             lvsum.BackColor = Color.Gray; | ||||
|  | ||||
|             dar.Close(); | ||||
|             cn.Dispose(); | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void button2_Click_1(object sender, EventArgs e) | ||||
|         { | ||||
|             dtSD.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01"); | ||||
|         } | ||||
|  | ||||
|         private void button3_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var 시작달 = DateTime.Parse(dtSD.Value.ToString("yyyy-MM") + "-01"); | ||||
|             dtSD.Value = 시작달.AddMonths(-1); | ||||
|         } | ||||
|  | ||||
|         private void button1_Click_1(object sender, EventArgs e) | ||||
|         { | ||||
|             var 다음달 = DateTime.Parse(dtSD.Value.ToString("yyyy-MM") + "-01"); | ||||
|             dtSD.Value = 다음달.AddMonths(1); | ||||
|         } | ||||
|  | ||||
|         private void button4_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var chkitems = this.listView1.CheckedItems; | ||||
|             if (chkitems.Count < 1) | ||||
|             { | ||||
|                 UTIL.MsgE("등록 가능한 아이템이 없습니다"); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             var ed = dateTimePicker1.Value; | ||||
|             if (UTIL.MsgQ($"{chkitems.Count}건의 자료를 {ed.ToShortDateString()}일자로 등록할까요?\n구분은 '대체'로 입력됩니다") != DialogResult.Yes) | ||||
|                 return; | ||||
|  | ||||
|             var sumjan = 0.0; | ||||
|             var ta = new dsMSSQLTableAdapters.HolydayTableAdapter(); | ||||
|             var dt = new dsMSSQL.HolydayDataTable(); | ||||
|             foreach (ListViewItem lv in chkitems) | ||||
|             { | ||||
|                 if (lv.Tag == null) continue; | ||||
|                 var buf = lv.Tag.ToString().Split('|'); | ||||
|                 var uid = buf[0]; | ||||
|                 var jan = double.Parse(buf[1]); | ||||
|                 sumjan += jan; | ||||
|  | ||||
|                 var dr = dt.NewHolydayRow(); | ||||
|                 dr.DrTime = jan; | ||||
|                 dr.sdate = ed; | ||||
|                 dr.edate = ed; | ||||
|                 dr.uid = uid;    | ||||
|                 dr.title = "대체이월"; | ||||
|                 dr.contents = "대체이월"; | ||||
|                 dr.tag = "iwol"; | ||||
|                 dr.wuid = FCOMMON.info.Login.no; | ||||
|                 dr.wdate = DateTime.Now; | ||||
|                 dr.cate = "대체"; | ||||
|                 dr.iwol = true; | ||||
|                 dr.gcode = FCOMMON.info.Login.gcode; | ||||
|                 dt.AddHolydayRow(dr); | ||||
|             } | ||||
|             var cnt = ta.Update(dt); | ||||
|             if (cnt > 0) | ||||
|                 UTIL.MsgI($"{cnt}건의 자료가 추가 되었습니다"); | ||||
|             else UTIL.MsgE("저장된 자료가 없습니다"); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										120
									
								
								SubProject/FBS0000/Holiday/fTimeTransfer.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								SubProject/FBS0000/Holiday/fTimeTransfer.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> | ||||
		Reference in New Issue
	
	Block a user
	 chi
					chi