sap 클립보드 기능 추가
This commit is contained in:
@@ -127,17 +127,26 @@ namespace FEQ0000
|
||||
//this.cmbCr.SelectedIndex = 1;
|
||||
|
||||
//일반사용자의경우에는 상태를 변경하지 못한다.
|
||||
|
||||
|
||||
fpSpread1.ActiveSheet.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.MultiRange;
|
||||
fpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.Normal;
|
||||
fpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell;
|
||||
|
||||
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.purchase));
|
||||
if (curLevel >= 5)
|
||||
{
|
||||
btSave.Visible = true;
|
||||
//fpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.Normal;
|
||||
//fpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell;
|
||||
//fpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.MultiSelect;
|
||||
}
|
||||
else
|
||||
{
|
||||
btSave.Visible = false;
|
||||
btViewDel.Visible = false;
|
||||
fpSpread1.EditMode = false;
|
||||
fpSpread1.Sheets[0].SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
|
||||
//fpSpread1.Sheets[0].SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell;
|
||||
fpSpread1.EditModePermanent = false;
|
||||
fpSpread1.EditModeReplace = false;
|
||||
|
||||
@@ -145,7 +154,7 @@ namespace FEQ0000
|
||||
col.Locked = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
refreshData();
|
||||
|
||||
//열표시여부를 설정
|
||||
@@ -447,7 +456,7 @@ namespace FEQ0000
|
||||
|
||||
bool repeat = false;
|
||||
DialogResult dlg;
|
||||
|
||||
|
||||
{
|
||||
var f = new fPurchaseCR_Add(newdr);
|
||||
dlg = f.ShowDialog();
|
||||
@@ -629,7 +638,7 @@ namespace FEQ0000
|
||||
|
||||
bool repeat = false;
|
||||
DialogResult dlg;
|
||||
{
|
||||
{
|
||||
var f = new fPurchaseCR_Add(newdr);
|
||||
dlg = f.ShowDialog();
|
||||
repeat = f.repeatAdd;
|
||||
@@ -759,7 +768,7 @@ namespace FEQ0000
|
||||
|
||||
bool repeat = false;
|
||||
DialogResult dlg;
|
||||
|
||||
|
||||
{
|
||||
var f = new fPurchaseCR_Add(newdr);
|
||||
dlg = f.ShowDialog();
|
||||
@@ -923,7 +932,7 @@ namespace FEQ0000
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void toolStripButton6_Click(object sender, EventArgs e)
|
||||
{
|
||||
//선택된 줄의 데이터를 생성하낟.
|
||||
@@ -951,7 +960,7 @@ namespace FEQ0000
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void 엑셀에서가져오기ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new fPurchase_excelimport();
|
||||
@@ -1180,20 +1189,20 @@ namespace FEQ0000
|
||||
{
|
||||
func_ipgo();
|
||||
}
|
||||
void func_ipgo()
|
||||
void func_ipgo()
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
var dr = drv.Row as dsPurchase.EETGW_PurchaseCRRow;
|
||||
|
||||
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.purchase));
|
||||
if (curLevel < 5 ) //일반사용자 입고 여부
|
||||
if (curLevel < 5) //일반사용자 입고 여부
|
||||
{
|
||||
if(dr.state != "PO")
|
||||
if (dr.state != "PO")
|
||||
{
|
||||
FCOMMON.Util.MsgE("PO 상태의 자료만 입고처리가 가능 합니다");
|
||||
return;
|
||||
}
|
||||
if(dr.request != FCOMMON.info.Login.no)
|
||||
if (dr.request != FCOMMON.info.Login.no)
|
||||
{
|
||||
FCOMMON.Util.MsgE("타인의 자료는 입고 처리할 수 없습니다");
|
||||
return;
|
||||
@@ -1205,5 +1214,90 @@ namespace FEQ0000
|
||||
refreshData();
|
||||
}
|
||||
}
|
||||
|
||||
private void sAP구매신청엑셀작성ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
//현재 선택된 자료의 데이터를 확인
|
||||
var sheet = this.fpSpread1.ActiveSheet;
|
||||
var sels = sheet.GetSelections();
|
||||
List<int> selidx = new List<int>();
|
||||
|
||||
var col_idx = sheet.Columns["idx"].Index;
|
||||
foreach (var item in sels)
|
||||
{
|
||||
var maxros = item.Row + item.RowCount;
|
||||
for (int r = item.Row; r < maxros; r++)
|
||||
{
|
||||
var idx = (int)(sheet.Cells[r, col_idx].Value);
|
||||
if (selidx.Contains(idx) == false) selidx.Add(idx);
|
||||
}
|
||||
}
|
||||
|
||||
//var xls = new libxl.BinBook();
|
||||
//var fi = new System.IO.FileInfo(@"\temp\sap" + DateTime.Now.ToString("yyyMMddHHmmss") + ".xls");
|
||||
//if (fi.Directory.Exists == false) fi.Directory.Create();
|
||||
|
||||
|
||||
var xlsrow = 0;
|
||||
var xlscol = 0;
|
||||
var sb = new System.Text.StringBuilder();
|
||||
Dictionary<string, int> userlist = new Dictionary<string, int>();
|
||||
foreach (var idx in selidx)
|
||||
{
|
||||
string[] data = new string[34];
|
||||
var row = this.dsPurchase.EETGW_PurchaseCR.Where(t => t.idx == idx).FirstOrDefault();
|
||||
if (row == null || row.RowState == DataRowState.Deleted) continue;
|
||||
//데이터를 찾았다
|
||||
var sid = row.sid;
|
||||
var deliver = 20;
|
||||
var requestname = row.requestName;
|
||||
var rquestid = row.request;
|
||||
var tel = FCOMMON.DBM.GetUserTel(FCOMMON.info.Login.gcode, rquestid);
|
||||
var qty = row.pumqty;
|
||||
var eecode = "K450004910";
|
||||
var plant = "K4";
|
||||
|
||||
if (userlist.ContainsKey(requestname) == false)
|
||||
userlist.Add(requestname, 1);
|
||||
else
|
||||
{
|
||||
userlist[requestname] += 1;
|
||||
}
|
||||
|
||||
data[0] = sid;
|
||||
data[3-1] = qty.ToString();
|
||||
data[8 - 1] = plant;
|
||||
data[12 - 1] = requestname;
|
||||
data[13 - 1] = eecode;
|
||||
//data[19 - 1-3] = row.pumprice.ToString("N0");
|
||||
data[27 - 1 - 3] = requestname;
|
||||
data[28 - 1 - 3] = "20";
|
||||
data[33 - 1 - 3] = tel;
|
||||
|
||||
sb.AppendLine(string.Join("\t", data));// $"{sid}\t{qty}\t{requestname}\t{tel}\t{deliver}\t{eecode}\t{plant}");// ;
|
||||
|
||||
}
|
||||
|
||||
Clipboard.SetText(sb.ToString());
|
||||
|
||||
|
||||
//xls.save(fi.FullName);
|
||||
//util.RunExplorer(fi.FullName);
|
||||
sb.Clear();
|
||||
sb.AppendLine($"{selidx.Count}건의 내용이 클립보드에 복사 되었습니다.\n대상 파일(화면)에 붙여넣기(ctrl+v)하세요");
|
||||
foreach (var item in userlist)
|
||||
sb.AppendLine($"[{item.Key}] {item.Value}건");
|
||||
util.MsgI(sb.ToString());
|
||||
}
|
||||
|
||||
private void 선택항목SAP구매정보생성ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
sAP구매신청엑셀작성ToolStripMenuItem_Click(null, null);
|
||||
}
|
||||
|
||||
private void 선택해제ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.fpSpread1.ActiveSheet.ClearSelection();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user