public bool SaveWorkOrder(WorkOrderVO workOrderVO) { using (WorkOrderDAC workOrderDAC = new WorkOrderDAC()) { return(workOrderDAC.SaveWorkOrder(workOrderVO)); } }
public bool SaveResultUse(WorkOrderVO workOrderVO) { using (WorkOrderDAC workOrderDAC = new WorkOrderDAC()) { return(workOrderDAC.SaveResultUse(workOrderVO)); } }
public DataTable GetAllWorkOrders(WorkOrderVO workOrderVO = null) { using (WorkOrderDAC workOrderDAC = new WorkOrderDAC()) { return(workOrderDAC.GetAllWorkOrders(workOrderVO)); } }
public WorkOrderPopupForm(EmployeeVO employeeVO, int work_order_no = 0) { try { InitializeComponent(); this.employeeVO = employeeVO; this.work_order_no = work_order_no; this.Text = work_order_no > 0 ? "작업 지시 수정" : "작업 지시 등록"; cboFactory.ComboBinding(new FactoryService().GetFactories(this.employeeVO.GetCorporationID()), "FACTORY_NAME", "FACTORY_ID", "선택", 0); cboLine.ComboBinding("선택", 0); cboProcess.ComboBinding("선택", 0); cboProduct.ComboBinding(new ProductService().GetProducts(), "PRODUCT_NAME", "PRODUCT_ID", "선택", 0); if (work_order_no > 0) { DateTime now = DateTime.Now; WorkOrderVO workOrderVO = workOrderService.GetWorkOrder(work_order_no); cboFactory.SelectedValue = workOrderVO.Factory_id; cboLine.SelectedValue = workOrderVO.Line_id; cboProcess.SelectedValue = workOrderVO.Process_id; cboWorker.SelectedValue = workOrderVO.Worker_id; cboProduct.SelectedValue = workOrderVO.Product_id; dtpWorkDate.Value = workOrderVO.Work_order_date; } } catch (Exception err) { MessageBox.Show(err.Message); } }
private void Search(object sender, EventArgs e) { if (((MainForm)this.MdiParent).ActiveMdiChild == this) { WorkOrderVO workOrderVO = new WorkOrderVO { Line_id = cboLine.SelectedValue.ToInt(), Process_id = cboLine.SelectedValue.ToInt(), Product_id = cboProduct.SelectedValue.ToInt(), SearchFromDate = fromToDateControl1.From.ToShortDateString(), SearchToDate = fromToDateControl1.To.ToShortDateString(), SearchWord = txtSearch.Text.Trim() }; dt = workOrderService.GetAllWorkOrders(workOrderVO); dataGridViewControl1.DataSource = dt; } }
public bool SaveResultUse(WorkOrderVO workOrderVO) { return(NotSelectSPJ <WorkOrderVO>("SP_SAVE_RESULT_USE", workOrderVO, "Work_order_no", "Result_quantity", "Defective_quantity")); }
public DataTable GetAllWorkOrders(WorkOrderVO workOrderVO = null) { string sql = @"SELECT WO.WORK_ORDER_NO, WO.WORK_ORDER_DATE, WO.WORK_DATE, WO.RELEASE_NO, WO.RELEASE_SEQ, WO.QTY, PW.WORKER_ID , CONVERT(CHAR(5), WO.WORK_START_TIME, 108) WORK_START_TIME, CONVERT(CHAR(5), WO.WORK_FINISH_TIME, 108) WORK_FINISH_TIME , CASE WHEN DATEDIFF(DAY, WORK_DATE, GETDATE()) < 0 THEN '작업 전' WHEN DATEDIFF(DAY, WORK_DATE, GETDATE()) > 0 THEN '작업 완료' ELSE '작업 중' END WORK_ORDER_STATUS , WO.FIRST_REGIST_TIME, WO.FIRST_REGIST_EMPLOYEE , (SELECT EMPLOYEE_NAME FROM TBL_EMPLOYEE WHERE EMPLOYEE_ID = WO.FIRST_REGIST_EMPLOYEE) FIRST_REGIST_EMPLOYEE_NAME , WO.FINAL_REGIST_TIME, WO.FINAL_REGIST_EMPLOYEE , (SELECT EMPLOYEE_NAME FROM TBL_EMPLOYEE WHERE EMPLOYEE_ID = WO.FINAL_REGIST_EMPLOYEE ) FINAL_REGIST_EMPLOYEE_NAME , WO.WORKER_ID, E.EMPLOYEE_NAME, WO.PRODUCT_ID, PD.PRODUCT_NAME, WO.WORK_ORDER_QUANTITY, ISNULL(R.RESULT_QUANTITY, 0) RESULT_QUANTITY , ISNULL(D.DEFECTIVE_QUANTITY, 0) DEFECTIVE_QUANTITY, PC.PROCESS_ID, PC.PROCESS_NAME, L.LINE_ID, L.LINE_NAME, F.FACTORY_ID, F.FACTORY_NAME FROM TBL_WORK_ORDER WO INNER JOIN TBL_PROCESS_WORKER PW ON WO.WORKER_ID = PW.WORKER_ID INNER JOIN TBL_EMPLOYEE E ON PW.EMPLOYEE_ID = E.EMPLOYEE_ID INNER JOIN TBL_PROCESS PC ON PW.PROCESS_ID = PC.PROCESS_ID INNER JOIN TBL_LINE L ON PC.LINE_ID = L.LINE_ID INNER JOIN TBL_FACTORY F ON F.FACTORY_ID = L.FACTORY_ID INNER JOIN TBL_PRODUCT PD ON WO.PRODUCT_ID = PD.PRODUCT_ID LEFT OUTER JOIN TBL_RESULT R ON WO.WORK_ORDER_NO = R.WORK_ORDER_NO LEFT OUTER JOIN TBL_DEFECTIVE D ON WO.WORK_ORDER_NO = D.WORK_ORDER_NO WHERE 1 = 1" ; if (workOrderVO != null) { if (workOrderVO.Line_id > 0) { sql += " AND L.LINE_ID = @LINE_ID"; } if (workOrderVO.Process_id > 0) { sql += " AND PC.PROCESS_ID = @PROCESS_ID"; } if (workOrderVO.Product_id > 0) { sql += " AND PD.PRODUCT_ID = @PRODUCT_ID"; } if (!string.IsNullOrEmpty(workOrderVO.SearchFromDate) && !string.IsNullOrEmpty(workOrderVO.SearchToDate)) { sql += " AND WO.WORK_DATE BETWEEN @SEARCHFROMDATE AND @SEARCHTODATE"; } } sql += " ORDER BY WORK_ORDER_NO DESC"; DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(sql, conn); ParametersJ(da.SelectCommand, workOrderVO); da.Fill(dt); return(dt); }
public bool SaveWorkOrder(WorkOrderVO workOrderVO) { return(NotSelectSPJ <WorkOrderVO>("SP_SAVE_WORKORDER", workOrderVO, "Work_order_no", "Worker_id", "Product_id", "Release_no", "Release_seq", "Qty", "Work_date", "Work_order_quantity", "Regist_employee")); }
private void btnConfirm_Click(object sender, EventArgs e) { try { WorkOrderVO workOrderVO = new WorkOrderVO(); int index; if (cboFactory.SelectedValue.ToInt() < 1) { MessageBox.Show("공장을 선택해주세요."); return; } if (cboLine.SelectedValue.ToInt() < 1) { MessageBox.Show("라인을 선택해주세요."); return; } if (cboProcess.SelectedValue.ToInt() < 1) { MessageBox.Show("공정을 선택해주세요."); return; } if (cboWorker.SelectedValue.ToInt() < 1) { MessageBox.Show("작업자를 선택해주세요."); return; } if (cboProduct.SelectedValue.ToInt() < 1) { MessageBox.Show("품목을 선택해주세요."); return; } if (nudQty.Value < 1) { MessageBox.Show("작업량을 입력해주세요."); return; } if ((index = GetChkIndex()) > -1) { DataGridViewRow dgvr = dataGridViewControl1.Rows[index]; workOrderVO.Release_no = dgvr.Cells["RELEASE_NO"].Value.ToInt(); workOrderVO.Release_seq = dgvr.Cells["RELEASE_SEQ"].Value.ToInt(); } else { MessageBox.Show("출고 예정 품목을 선택해주세요."); return; } workOrderVO.Work_order_no = work_order_no; workOrderVO.Worker_id = cboWorker.SelectedValue.ToInt(); workOrderVO.Product_id = cboProduct.SelectedValue.ToInt(); workOrderVO.Qty = (int)nudQty.Value; workOrderVO.Work_date = dtpWorkDate.Value; workOrderVO.Regist_employee = employeeVO.Employee_id; if (workOrderService.SaveWorkOrder(workOrderVO)) { MessageBox.Show("정상적으로 저장되었습니다."); this.DialogResult = DialogResult.OK; this.Close(); } } catch (Exception err) { MessageBox.Show(err.Message); } }
private void MachineStart(MachineType machinet) { if (!GlobalUsage.WorkOrderNo.Equals("설정안됨")) { //기계 설정 setProcess += SetProgress; machineStop += MachineStop; machine0 = new Machine (0, GlobalUsage.WorkOrderNo, GlobalUsage.UserID, GlobalUsage.WcCode, (value) => btnMachineRun?.Invoke(machineStop, value), (stackqty, totalqty, prdqty, outqty) => { btnMachineRun?.Invoke(setProcess, stackqty, totalqty); SetGlobalUsage(prdqty, outqty); }); if (!isMachineRun) { WorkOrderVO workorder = (dgvMain.DataSource as List <WorkOrderVO>).Find(x => x.Workorderno == GlobalUsage.WorkOrderNo); InputBox input = new InputBox(); input.StartPosition = FormStartPosition.CenterParent; input.ShowInTaskbar = false; if (input.ShowDialog() != DialogResult.OK) { return; } switch (machinet) { case MachineType.Molding: // 성형일경우 // 금형 설정 MoldService service = new MoldService(); List <MoldVO> moldlist = service.GetMoldList(wccode: GlobalUsage.WcCode); if (moldlist.Count < 1) { MessageBox.Show("작업장에 장착된 금형이 없습니다."); btnMachineRun.BackColor = Color.FromArgb(218, 239, 245); isMachineRun = false; return; } MoldVO mold = moldlist[0]; // 대차 확인 GV_MasterService gvservice = new GV_MasterService(); List <GVVO> gvlist = gvservice.GetAllByGV("성형그룹", "빈대차"); if (input.Qty.Value > (workorder.Dry_GV_Qty * gvlist.Count)) { MessageBox.Show("성형대차가 부족합니다."); return; } // 기계 실행 Program.Log.WriteInfo($"{GlobalUsage.UserName}이(가) 작업({GlobalUsage.WorkOrderNo})의 성형기계로 금형({mold.Mold_Code})을 이용해 품목({workorder.Item_Code})을 생산함"); machine0.MachineStart(input.Qty.Value, new Item_MoldPair(workorder.Item_Code, mold.Mold_Code, workorder.Line_Per_Qty)); break; } // 공통 btnMachineRun.BackColor = Color.FromArgb(243, 228, 231); isMachineRun = true; progressMachine.Visible = true; } } else { Program.Log.WriteInfo($"{GlobalUsage.UserName}이(가) 작업지시를 시작하지 않고 기계를 시작하려함"); MessageBox.Show("작업지시를 시작해주세요"); } }