This commit is contained in:
chi
2025-01-02 12:48:16 +09:00
parent e12f310ca2
commit c810348fa6
24 changed files with 4359 additions and 563 deletions

View File

@@ -1,4 +1,5 @@
using FCOMMON;
using AR;
using FCOMMON;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -39,6 +40,10 @@ namespace FPJ0000.JobReport_
copyMOde = copy;
this.tbProject.SelectedIndexChanged += tbProject_SelectedIndexChanged;
this.grpkisul.Visible = getKisulInput;
var bDev = System.Diagnostics.Debugger.IsAttached || FCOMMON.info.Login.level >= 9;
tbJobType.Visible = bDev;
tbJobGrp.Visible = bDev;
}
void tbProject_SelectedIndexChanged(object sender, EventArgs e)
@@ -106,16 +111,24 @@ namespace FPJ0000.JobReport_
this.cmbPackage.DataSource = dt_package;
//업무형태
var dt_type = FCOMMON.DBM.getCodeTable("15", "code,memo,svalue");
this.cmbType.DisplayMember = "Value";
this.cmbType.ValueMember = "Value";
this.cmbType.DataSource = dt_type;
//var dt_type = FCOMMON.DBM.getCodeTable("15", "code,memo,svalue");
//this.cmbType.DisplayMember = "Value";
//this.cmbType.ValueMember = "Value";
//this.cmbType.DataSource = dt_type;
//공정
var dt_jobprocess = FCOMMON.DBM.getCodeTable("25", "code,memo,svalue");
tbJobProcess.Items.Clear();
foreach (DataRow item in dt_jobprocess.Rows)
{
tbJobProcess.Items.Add(item["Value"].ToString());
}
//업무분류
var dt_process = FCOMMON.DBM.getCodeTable("16", "code,memo,svalue");
this.cmbProcess.DisplayMember = "Value";
this.cmbProcess.ValueMember = "Value";
this.cmbProcess.DataSource = dt_process;
this.tbJobProcess.DisplayMember = "Value";
this.tbJobProcess.ValueMember = "Value";
this.tbJobProcess.DataSource = dt_process;
if (getKisulInput)
{
@@ -155,18 +168,39 @@ namespace FPJ0000.JobReport_
tbProject.Text = dr.projectName;
cmbRequest.SelectedValue = dr.requestpart;
cmbPackage.SelectedValue = dr.package;
cmbType.SelectedValue = dr.type;
cmbProcess.SelectedValue = dr.process;
tbJobProcess.SelectedValue = dr.process;
tbJobProcess.Text = dr.process;
if (dr.IsjobgrpNull() || dr.jobgrp.isEmpty())
{
//공용코드에서 가져온다
var cdr = FCOMMON.DBM.getCodeByMemo("15", dr.type);
if (cdr.svalue.isEmpty() == false)
tbJobGrp.Text = cdr.svalue;
else
tbJobGrp.Text = string.Empty;
//this.cmbType.DisplayMember = "Value";
//this.cmbType.ValueMember = "Value";
//this.cmbType.DataSource = dt_type;
}
else tbJobGrp.Text = dr.jobgrp;
tbJobType.Text = dr.type;
tbTag.Text = dr.tag;
if (dr.process.isEmpty() && cmbProcess.SelectedIndex < 0) //기본값을 찾는다
RefreshJobTypeFull();
if (dr.process.isEmpty() && tbJobProcess.SelectedIndex < 0) //기본값을 찾는다
{
var dts = dt_process.AsEnumerable().Where(t => t.IsNull("SValue") == false).ToList();
foreach (var dr in dts)
{
if (dr["Svalue"].ToString().Equals("O"))
{
cmbProcess.Text = dr["Value"].ToString();
tbJobProcess.Text = dr["Value"].ToString();
break;
}
}
@@ -255,10 +289,10 @@ namespace FPJ0000.JobReport_
}
//231026
if(cmbProcess.Text.isEmpty())
if (tbJobProcess.Text.isEmpty())
{
if (cmbProcess.Items.Count == 1)
cmbProcess.SelectedIndex = 0;
if (tbJobProcess.Items.Count == 1)
tbJobProcess.SelectedIndex = 0;
}
this.Show();
@@ -349,6 +383,23 @@ namespace FPJ0000.JobReport_
bInit = true;
}
void RefreshJobTypeFull()
{
var jprc = tbJobProcess.Text.Trim();
if (jprc.isEmpty()) jprc = "N/A";
if (jprc.Equals("(N/A)")) jprc = "N/A";
var jgrp = tbJobGrp.Text.Trim();
var jtype = tbJobType.Text.Trim();
var fullname = $"{jtype} ← {jgrp} ← {jprc}";
if (jtype.isEmpty()) cmbTypeFull.Text = "업무형태를 선택하세요";
else cmbTypeFull.Text = fullname;
cmbTypeFull.BackColor = jtype.isEmpty() ? Color.HotPink : Color.White;
}
// editform.editor ed;
void ctl_KeyDown(object sender, KeyEventArgs e)
{
@@ -407,10 +458,15 @@ namespace FPJ0000.JobReport_
this.cmbPackage.Text = predr["package"].ToString(); //190506
if (predr["type"] != DBNull.Value)
this.cmbType.Text = predr["type"].ToString(); //190506
this.tbJobType.Text = predr["type"].ToString(); //190506
if (predr["jobgrp"] != DBNull.Value)
this.tbJobGrp.Text = predr["jobgrp"].ToString(); //190506
if (predr["process"] != DBNull.Value)
cmbProcess.Text = predr["process"].ToString(); //190506
tbJobProcess.Text = predr["process"].ToString(); //190506
RefreshJobTypeFull(); //update fullname
}
}
}
@@ -461,8 +517,7 @@ namespace FPJ0000.JobReport_
return;
}
if (cmbType.Text != "휴가" && string.IsNullOrEmpty(this.richTextBoxEx1.Text) == true)
if (tbJobType.Text.ToString() != "휴가" && string.IsNullOrEmpty(this.richTextBoxEx1.Text) == true)
{
FCOMMON.Util.MsgE("진행 내용이 없습니다.");
this.richTextBoxEx1.Focus();
@@ -492,16 +547,16 @@ namespace FPJ0000.JobReport_
}
}
if (cmbType.Text.Trim() == "")
if (tbJobType.Text.Trim() == "")
{
FCOMMON.Util.MsgE("업무형태를 선택하세요");
cmbType.Focus();
cmbTypeFull.Focus();
return;
}
if (cmbProcess.Text.Trim() == "")
if (tbJobProcess.Text.Trim() == "")
{
FCOMMON.Util.MsgE("업무분류를 선택하세요");
cmbProcess.Focus();
tbJobProcess.Focus();
return;
}
if (cmbUser.SelectedIndex < 0)
@@ -621,8 +676,9 @@ namespace FPJ0000.JobReport_
else dr.SetpidxNull();
this.dr.requestpart = cmbRequest.Text;
this.dr.package = cmbPackage.Text;
this.dr.type = cmbType.Text;
this.dr.process = cmbProcess.Text;
this.dr.type = tbJobType.Text.Trim();
this.dr.process = tbJobProcess.Text.Trim();
this.dr.jobgrp = tbJobGrp.Text.Trim();
this.dr.tag = tbTag.Text.Trim();
@@ -718,38 +774,36 @@ namespace FPJ0000.JobReport_
private void cmbType_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmbType.Text.Trim() != "" &&
cmbType.SelectedIndex >= 0 &&
cmbProcess.SelectedIndex < 0 &&
cmbUser.SelectedValue != null)
{
//공정을 자동선택해준다.
//마지막 데이터를 찾아서 공정등의 정보를 업데이트한다.
var uid = cmbUser.SelectedValue.ToString();
var lastDt = FCOMMON.DBM.getLastJobReportData(uid, cmbType.Text.Trim());
if (lastDt != null && lastDt.Rows.Count > 0)
{
var predr = lastDt.Rows[0];// as dsPRJ.JobReportRow;
if (predr["process"] != DBNull.Value)
cmbProcess.Text = predr["process"].ToString(); //190506
}
//private void cmbType_SelectedIndexChanged(object sender, EventArgs e)
//{
// if (cmbType.Text.Trim() != "" &&
// cmbType.SelectedIndex >= 0 &&
// cmbProcess.SelectedIndex < 0 &&
// cmbUser.SelectedValue != null)
// {
// //공정을 자동선택해준다.
// //마지막 데이터를 찾아서 공정등의 정보를 업데이트한다.
// var uid = cmbUser.SelectedValue.ToString();
// var lastDt = FCOMMON.DBM.getLastJobReportData(uid, cmbType.Text.Trim());
// if (lastDt != null && lastDt.Rows.Count > 0)
// {
// var predr = lastDt.Rows[0];// as dsPRJ.JobReportRow;
// if (predr["process"] != DBNull.Value)
// cmbProcess.Text = predr["process"].ToString(); //190506
// }
}
chkform_indexchan(sender, e);
// }
// chkform_indexchan(sender, e);
}
//}
void chkform_indexchan(object sender, EventArgs e)
{
if (cmbType.Text.Trim() != "" &&
cmbType.SelectedIndex >= 0 && String.IsNullOrEmpty(cmbState.Text.Trim()) == false)
if (tbJobType.Text.isEmpty() == false && String.IsNullOrEmpty(cmbState.Text.Trim()) == false)
{
//해당 데이터의 메일 양식을 검사해서 데이터를 적용해준다.
var formname = cmbType.Text.Trim() + "|" + cmbState.Text.Trim();
var formname = tbJobType.Text.Trim() + "|" + cmbState.Text.Trim();
var db = new EEEntities();
//프로젝트 제목 서포트
@@ -927,5 +981,34 @@ namespace FPJ0000.JobReport_
//}
}
}
private void cmbRequest_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void cmbType_Click(object sender, EventArgs e)
{
var jobtype = tbJobType.Text.Trim();
var jobprc = tbJobProcess.Text.Trim();
var jobgrp = tbJobGrp.Text.Trim();
var fullname = $"{jobprc}|{jobgrp}|{jobtype}";
var auth = FCOMMON.info.Login.level >= 5;
using (var f = new FPJ0000.JobReport_.fJobProcessSelect(fullname, auth))
if (f.ShowDialog() == DialogResult.OK)
{
//선택되면해야할일들
var data = f.SelectedValue.Split('|');
if (data.Length != 3) return;
var prc = data[0].Trim();
var grp = data[1].Trim();
var itm = data[2].Trim();
if (prc.isEmpty() || prc.Equals("(N/A)")) prc = "N/A";
this.tbJobType.Text = itm;
this.tbJobGrp.Text = grp;
this.tbJobProcess.Text = prc;
RefreshJobTypeFull();
}
}
}
}