전자실업무현황 관련 추가

This commit is contained in:
chi
2021-01-27 18:03:23 +09:00
parent 44110ef5c2
commit 008fb1e580
65 changed files with 16031 additions and 13468 deletions

View File

@@ -3,123 +3,170 @@ using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Windows.Forms;
using System.Threading.Tasks;
namespace FPJ0000
{
public partial class fEboardData : FCOMMON.fBase
{
dsPRJ.ProjectsRow dr = null;
public fEboardData(dsPRJ.ProjectsRow pidx_)
dsPRJ.EETGW_JobReport_EBoardRow dr = null;
public fEboardData(dsPRJ.EETGW_JobReport_EBoardRow dr_)
{
InitializeComponent();
this.UseFormSetting = false;
this.dr = pidx_;
this.dr = dr_;
this.dsPRJ.ProjectsHistory.TableNewRow += ProjectsHistory_TableNewRow;
}
void ProjectsHistory_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
e.Row["wuid"] = FCOMMON.info.Login.no;
e.Row["wdate"] = DateTime.Now;
e.Row["pidx"] = this.dr.idx;
e.Row["div"] = "";
e.Row["remark"] = string.Empty;
e.Row["pdate"] = DateTime.Now.ToShortDateString();
}
delegate void SetComboboxItemsHandler(ComboBox ctl, string[] list);
void SetComboboxItems(ComboBox ctl, string[] list)
{
//콤보박스의 아이템을 업데이트합니다.
if (ctl.InvokeRequired)
{
this.BeginInvoke(new SetComboboxItemsHandler(SetComboboxItems), new object[] { ctl, list });
return;
}
ctl.Items.Clear();
ctl.Items.AddRange(list);
ctl.Enabled = true;
}
private void fProjectData_Load(object sender, EventArgs e)
{
//상태
var dt_eetproc = FCOMMON.DBM.getCodeTable("10");
this.cmbProcess.DisplayMember = "Value";
this.cmbProcess.ValueMember = "Value";
this.cmbProcess.DataSource = dt_eetproc;
var db = new EEEntities();
//분류 - 190903
var dt_cate = FCOMMON.DBM.getCodeTable("20", "code");
this.cmbCate.DisplayMember = "Value";
this.cmbCate.ValueMember = "Value";
this.cmbCate.DataSource = dt_cate;
//자동완성목록 업데이트
Task.Run(new Action(() =>
{
//공정
var dt_status = FCOMMON.DBM.getCodeTable("01");
this.cmbState.DisplayMember = "Value";
this.cmbState.ValueMember = "Value";
this.cmbState.DataSource = dt_status;
//UID목록
var lst_uid = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.uid) == false).OrderBy(t => t.uid).GroupBy(t => t.uid).Select(t => t.FirstOrDefault());
SetComboboxItems(cmbUID,lst_uid.Select(t => t.uid).ToArray());
//파트
var dt_part = FCOMMON.DBM.getCodeTable("11");
this.cmbPart.DisplayMember = "Value";
this.cmbPart.ValueMember = "Value";
this.cmbPart.DataSource = dt_part;
//요청자
var lst_req = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.) == false).OrderBy(t => t.).GroupBy(t => t.).Select(t => t.FirstOrDefault());
SetComboboxItems(cmb요청자,lst_req.Select(t => t.).ToArray());
//모델
var lst_mod = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Model) == false).OrderBy(t => t.Model).GroupBy(t => t.Model).Select(t => t.FirstOrDefault());
SetComboboxItems(cmbModel,lst_mod.Select(t => t.Model).ToArray());
//BoardName
var lst_bon = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.BoardName) == false).OrderBy(t => t.BoardName).GroupBy(t => t.BoardName).Select(t => t.FirstOrDefault());
SetComboboxItems(cmbBoardName,lst_bon.Select(t => t.BoardName).ToArray());
//BoardVender
var lst_bvn = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.BoardVender) == false).OrderBy(t => t.BoardVender).GroupBy(t => t.BoardVender).Select(t => t.FirstOrDefault());
SetComboboxItems(cmbBoardVender, lst_bvn.Select(t => t.BoardVender).ToArray());
//SN
var lst_srn = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.SN) == false).OrderBy(t => t.SN).GroupBy(t => t.SN).Select(t => t.FirstOrDefault());
SetComboboxItems(cmbSN,lst_srn.Select(t => t.SN).ToArray());
////status
//var lst_sta = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Status) == false).OrderBy(t => t.Status).GroupBy(t => t.Status).Select(t => t.FirstOrDefault());
//SetComboboxItems(cmbStatus,lst_sta.Select(t => t.Status).ToArray());
//분류
var lst_cat = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.) == false).OrderBy(t => t.).GroupBy(t => t.).Select(t => t.FirstOrDefault());
SetComboboxItems(cmb분류,lst_cat.Select(t => t.).ToArray());
//Site
var lst_sit = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Site) == false).OrderBy(t => t.Site).GroupBy(t => t.Site).Select(t => t.FirstOrDefault());
SetComboboxItems(cmbSite,lst_sit.Select(t => t.Site).ToArray());
//Line
var lst_lin = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Line) == false).OrderBy(t => t.Line).GroupBy(t => t.Line).Select(t => t.FirstOrDefault());
SetComboboxItems(cmbLine,lst_lin.Select(t => t.Line).ToArray());
//division
var lst_div = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Division) == false).OrderBy(t => t.Division).GroupBy(t => t.Division).Select(t => t.FirstOrDefault());
SetComboboxItems(cmbDivision,lst_div.Select(t => t.Division).ToArray());
////Team
//var lst_tem = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Team) == false).OrderBy(t => t.Team).GroupBy(t => t.Team).Select(t => t.FirstOrDefault());
//SetComboboxItems(cmbTeam,lst_tem.Select(t => t.Team).ToArray());
//Process
var lst_prc = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Process) == false).OrderBy(t => t.Process).GroupBy(t => t.Process).Select(t => t.FirstOrDefault());
SetComboboxItems(cmbProcess,lst_prc.Select(t => t.Process).ToArray());
//외주업체
var lst_ext = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.) == false).OrderBy(t => t.).GroupBy(t => t.).Select(t => t.FirstOrDefault());
SetComboboxItems(cmb외주업체,lst_ext.Select(t => t.).ToArray());
}));
this.tbQty.Text = dr.QTY.ToString();
this.tbCostNew.Text = dr.NPrice.ToString();
this.tbCostOutSource.Text = dr.OPrice.ToString();
this.tbCostRepair.Text = dr.RepairCost.ToString();
this.tbCostReduct.Text = dr.CostReduction.ToString();
this.bs.DataSource = dr;
//주간일지내역을 업데이트
refresh_History();
//일업무현황 업데이트
this.taHistD.Fill(this.dsPRJ.EETGW_ProjecthistoryD, this.dr.idx);
//todo 업데이트
refreshTodo();
try
{
if (dr.idx >= 0)
this.taSchedule.Fill(this.dsPRJ.ProjectsSchedule, this.dr.idx);
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
this.cmbProcess.Text = dr.process;
this.cmbState.Text = dr.status;
this.cmbPart.Text = dr.part;
this.cmbCate.Text = dr.category;
}
private void btSave_Click(object sender, EventArgs e)
{
this.dr.process = cmbProcess.Text;
this.dr.status = cmbState.Text;
this.dr.part = cmbPart.Text;
this.dr.category = cmbCate.Text;
this.Validate();
this.bs.EndEdit();
this.bsHistWeek.EndEdit();
this.bsHistDay.EndEdit();
this.bsTodo.EndEdit();
this.taToDo.Update(this.dsPRJ.EETGW_ProjectToDo);
this.taHist.Update(this.dsPRJ.ProjectsHistory);
this.taHistD.Update(this.dsPRJ.EETGW_ProjecthistoryD);
var s1 = tbCostOutSource.Text.Trim();
var s2 = tbCostRepair.Text.Trim();
float v1;
float v2;
var b1 = float.TryParse(s1, out v1);
var b2 = float.TryParse(s2, out v2);
if (b1 == false)
{
FCOMMON.Util.MsgE("입력값이 올바르지 않습니다. 숫자로 입력하세요");
tbCostOutSource.SelectAll();
tbCostOutSource.Focus();
return;
}
if (b2 == false)
{
FCOMMON.Util.MsgE("입력값이 올바르지 않습니다. 숫자로 입력하세요");
tbCostRepair.SelectAll();
tbCostRepair.Focus();
return;
}
if(remark_reqTextBox.Text.isEmpty())
{
FCOMMON.Util.MsgE("요청 사항을 입력하세요");
remark_reqTextBox.Focus();
return;
}
this.dr.QTY = tbQty.Text.ToInt();
this.dr.NPrice = tbCostNew.Text.ToDecimal();
this.dr.OPrice = tbCostOutSource.Text.ToDecimal();
this.dr.RepairCost = tbCostRepair.Text.ToDecimal();
this.dr.CostReduction = tbCostReduct.Text.ToDecimal();
this.dr.EndEdit();
this.DialogResult = System.Windows.Forms.DialogResult.OK;
//this.tableAdapterManager.UpdateAll(this.dsPRJ);
}
void refresh_History()
{
try
{
if (dr.idx >= 0)
this.taHist.Fill(this.dsPRJ.ProjectsHistory, this.dr.idx);
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
void SelectDate(TextBox ctl)
{
DateTime dt;
@@ -147,29 +194,51 @@ namespace FPJ0000
SelectDate(sdateTextBox);
}
private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SelectDate(edateTextBox);
//if (edateTextBox.Text.isEmpty() == false)
// cmbStatus.Text = "완료";
}
private void bs_CurrentChanged(object sender, EventArgs e)
{
}
void refreshTodo()
private void panel1_Paint(object sender, PaintEventArgs e)
{
taToDo.Fill(this.dsPRJ.EETGW_ProjectToDo, this.dr.idx);
}
private void tbQty_TextChanged(object sender, EventArgs e)
{
//수량변경시 금액 업데이트
var qty = tbQty.Text.ToInt();
var nAmt = tbCostNew.Text.ToDouble();
var oAmt = (nAmt * qty) * 0.5f;
var rAmt = tbCostRepair.Text.ToDouble();
var reduction = oAmt - rAmt;
this.tbCostOutSource.Text = oAmt.ToString();
//this.tbCostReduct.Text = reduction.ToString();
}
private void costnTextBox_TextChanged(object sender, EventArgs e)
{
//Out source 가 변경되면
var oAmt = tbCostOutSource.Text.ToDouble();
var rAmt = tbCostRepair.Text.ToDouble();
var reduction = oAmt - rAmt;
tbCostReduct.Text = reduction.ToString();
}
}
}