203 lines
6.8 KiB
C#
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");
|
|
}
|
|
}
|
|
}
|