Files
Groupware/Project/_Management/fImpEquipment.cs
2018-07-23 17:35:21 +09:00

203 lines
6.8 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Project._Management
{
public partial class fImpEquipment : Form
{
public fImpEquipment()
{
InitializeComponent();
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
OpenFileDialog od = new OpenFileDialog();
od.Filter = "csv|*.csv|excel|*.xls|all files|*.*";
od.FilterIndex = 1;
od.RestoreDirectory = true;
if (od.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
textBox1.Text = od.FileName;
}
private string[] getCSVFormat(string line)
{
List<string> datas = new List<string>();
var charlist = line.ToCharArray();
int c = 0;
System.Text.StringBuilder sb = new StringBuilder();
Boolean findCom = false;
foreach(var ch in charlist)
{
if(ch == '"')
{
if (findCom == false)
findCom = true;
else findCom = false;
}
else if (ch == ',')
{
if(findCom)
{
sb.Append(ch);
}
else
{
datas.Add(sb.ToString());
sb.Clear();
findCom = false;
}
}
else sb.Append(ch);
}
return datas.ToArray();
}
System.Data.DataTable dt = new DataTable();
private void button1_Click(object sender, EventArgs e)
{
//데이터를 모두 읽어서 처리한다.
//엑셀파일을 읽어서 처리한다.
if(textBox1.Text.EndsWith("CSV"))
{
var lines = System.IO.File.ReadAllLines(textBox1.Text, System.Text.Encoding.Default);
int rowNum = 0;
foreach(var line in lines)
{
var buf = getCSVFormat(line);//.Split(',');
if(rowNum == 0)
{
foreach(var colname in buf)
{
dt.Columns.Add(colname);
}
}
else
{
var newdr = dt.NewRow();
for(int c=0; c< buf.Length;c++)
{
if(c < dt.Columns.Count)
newdr[c] = buf[c];
}
dt.Rows.Add(newdr);
}
rowNum += 1;
}
}
else
{
libxl.Book book;// = new libxl.BinBook();
if (textBox1.Text.EndsWith("xlsx")) book = new libxl.XmlBook();
else book = new libxl.BinBook();
book.load(textBox1.Text);
var sheet = book.getSheet(0);
for (int r = sheet.firstRow(); r <= sheet.lastRow(); r++)
{
for (int c = sheet.firstCol(); c <= sheet.lastCol(); c++)
{
var strVallue = sheet.readStr(r, c);
// //var numValue = sheet.readNum(r, c);
if (r == 0)
{
//column row
dt.Columns.Add(strVallue);
}
}
}
//
book = null;
}
this.dataGridView1.DataSource = dt;
}
private void button2_Click(object sender, EventArgs e)
{
dsMSSQLTableAdapters.LineCodeTableAdapter ta = new dsMSSQLTableAdapters.LineCodeTableAdapter();
var lineTd = ta.GetData();
lineTd.AcceptChanges();
//12,13
foreach(DataRow dr in dt.Rows)
{
var linecode = dr[12].ToString();
var linedesc = dr[13].ToString();
var codeDrows = lineTd.Select("code='" + linecode + "'");
if(codeDrows.Length == 0)
{
var newdr = lineTd.NewLineCodeRow();
newdr.code = linecode;
newdr.memo = linedesc;
var linebuf = linedesc.Split('-');
if (linebuf.Length > 1)
{
newdr.team = linebuf[0];
newdr.part = linebuf[1];
}
else
{
newdr.team = linedesc;
}
newdr.wuid = Pub.Login.no;
newdr.wdate = DateTime.Now;
lineTd.AddLineCodeRow(newdr);
}
}
ta.Update(lineTd);
lineTd.AcceptChanges();
Util.MsgE("test");
}
private void button3_Click(object sender, EventArgs e)
{
dsMSSQLTableAdapters.EquipmentTableAdapter ta = new dsMSSQLTableAdapters.EquipmentTableAdapter();
var lineTd = ta.GetData();
lineTd.AcceptChanges();
//12,13
foreach (DataRow dr in dt.Rows)
{
var linecode = dr[12].ToString();
var linedesc = dr[13].ToString();
var codeDrows = lineTd.Select("asset='" + dr[6].ToString() + "' and serial = '"+ dr[7].ToString() +"'");
if (codeDrows.Length == 0)
{
var newdr = lineTd.NewEquipmentRow();
newdr.pdate = DateTime.Now.ToShortDateString();
newdr.asset = dr[6].ToString();
newdr.grp = dr[0].ToString();
newdr.type = dr[2].ToString();
newdr.model = dr[3].ToString();
newdr.linecode = linecode;
newdr.serial = dr[7].ToString();
newdr.manu = dr[9].ToString();
newdr.primary = true;
newdr.wuid = Pub.Login.no;
newdr.wdate = DateTime.Now;
lineTd.AddEquipmentRow(newdr);
}
}
ta.Update(lineTd);
lineTd.AcceptChanges();
Util.MsgE("test");
}
}
}