/// <summary> /// Update status to ManufacturingClose and MfgCloseDate of each WorkOrderLine in ArrayList /// </summary> /// <param name="pdtmCloseDate">Close Date</param> /// <param name="parrSelectedLines">All selected work order line to be closed</param> public void CloseWorkOrderLines(DateTime pdtmCloseDate, ArrayList parrSelectedLines) { const string COLON = ","; try { string strListOfIds = string.Empty; for (int i = 0; i < parrSelectedLines.Count; i++) { strListOfIds += parrSelectedLines[i] + COLON; } // remove the last "," in string strListOfIds = strListOfIds.Remove(strListOfIds.Length - 1, 1); dsPRO_WorkOrderDetail = new PRO_WorkOrderDetailDS(); dsPRO_WorkOrderDetail.CloseWorkOrderLines(WOLineStatus.FinClose, pdtmCloseDate, strListOfIds); } catch (PCSDBException ex) { throw ex; } catch (Exception ex) { throw ex; } }
public int AddAndReturnID(object pobjObjectMaster, DataSet pdstData) { //add master and get id PRO_WorkOrderMasterVO voWOMaster = (PRO_WorkOrderMasterVO)pobjObjectMaster; dsWorkOrderMaster = new PRO_WorkOrderMasterDS(); voWOMaster.WorkOrderMasterID = dsWorkOrderMaster.AddAndReturnID(pobjObjectMaster); foreach (DataRow drow in pdstData.Tables[0].Rows) { // 19-04-2006 dungla: fix bug for NgaHT: refine start date-time and due date-time DateTime dtmStartTime = (DateTime)drow[PRO_WorkOrderDetailTable.STARTDATE_FLD]; dtmStartTime = new DateTime(dtmStartTime.Year, dtmStartTime.Month, dtmStartTime.Day, dtmStartTime.Hour, dtmStartTime.Minute, 0); DateTime dtmToTime = (DateTime)drow[PRO_WorkOrderDetailTable.DUEDATE_FLD]; dtmToTime = new DateTime(dtmToTime.Year, dtmToTime.Month, dtmToTime.Day, dtmToTime.Hour, dtmToTime.Minute, 0); // update new date time drow[PRO_WorkOrderDetailTable.STARTDATE_FLD] = dtmStartTime; drow[PRO_WorkOrderDetailTable.DUEDATE_FLD] = dtmToTime; // 19-04-2006 dungla: fix bug for NgaHT: refine start date-time and due date-time drow[PRO_WorkOrderMasterTable.WORKORDERMASTERID_FLD] = voWOMaster.WorkOrderMasterID; } //update detail dsWorkOrderDetail = new PRO_WorkOrderDetailDS(); dsWorkOrderDetail.UpdateDataSet(pdstData); //copy BOM and Routing //DataSet dsNewDataSetForBOM = GetWODetailByMaster(voWOMaster.WorkOrderMasterID); //CopyBOMData(dsNewDataSetForBOM, voWOMaster.CCNID, voWOMaster.MasterLocationID); //CopyRoutingDataToConvertWO(voWOMaster.WorkOrderMasterID); //return ID return(voWOMaster.WorkOrderMasterID); }
public DataSet SearchWorkOrderToIssueMaterial(string pstrRecordPermission, int pintMasterLocationID, int pintLocationID, int pintWorkOrderMasterID, DateTime pdtmFromStartDate, DateTime pdtmToStartDate) { PRO_WorkOrderDetailDS objPRO_WorkOrderDetailDS = new PRO_WorkOrderDetailDS(); return(objPRO_WorkOrderDetailDS.SearchWorkOrderToIssueMaterial(pstrRecordPermission, pintMasterLocationID, pintLocationID, pintWorkOrderMasterID, pdtmFromStartDate, pdtmToStartDate)); }
public void DeleteWOAndWOLines(object pObjectVO, DataSet pdstData, ArrayList parlWOLineDeleted) { PRO_WorkOrderMasterVO voWOMaster = (PRO_WorkOrderMasterVO)pObjectVO; dsWorkOrderDetail = new PRO_WorkOrderDetailDS(); dsWorkOrderMaster = new PRO_WorkOrderMasterDS(); //delete detail dsWorkOrderDetail.DeleteByWOMasterID(voWOMaster.WorkOrderMasterID); }
/// <summary> /// Update status to ManufacturingClose and MfgCloseDate of each WorkOrderLine in ArrayList /// </summary> /// <param name="pdtmCloseDate">Close Date</param> /// <param name="parrSelectedLines">All selected work order line to be closed</param> /// <author>Trada</author> /// <date>Friday, June </date> public void CloseWorkOrderLines(DateTime pdtmCloseDate, ArrayList parrSelectedLines) { dsPRO_WorkOrderDetail = new PRO_WorkOrderDetailDS(); ArrayList arrListOfIds = new ArrayList(); arrListOfIds = UtilsBO.GetSplitList(parrSelectedLines, 200); if (arrListOfIds.Count > 0) { foreach (object t in arrListOfIds) { dsPRO_WorkOrderDetail.CloseWorkOrderLines(WOLineStatus.MfgClose, pdtmCloseDate, t.ToString()); } } }
/// <summary> /// UnReleaseWO /// </summary> /// <param name="pdtbData"></param> /// <author>Trada</author> /// <date>Wednesday, May 24 2006</date> public void UnReleaseWO(DataSet pdtbData) { const string SELECT = "Selected"; const string TRUE = "True"; PRO_WorkOrderDetailDS dsWODetail = new PRO_WorkOrderDetailDS(); foreach (DataRow drow in pdtbData.Tables[0].Rows) { if (drow[SELECT].ToString() == TRUE) { drow[PRO_WorkOrderDetailTable.STATUS_FLD] = (int)WOLineStatus.Unreleased; } } dsWODetail.ReleaseWO(pdtbData); }
/// <summary> /// - Search all work order line have status MfgClose and have Due Date between FromDueDate and ToDueDate /// - after search work order line succeed, we need to update OpenQuantity column for each work order line /// Open Quantity = WorkOrderLine.OrderQuantity - Completed Quantity - Scrap Quantity /// + Completed Quantity = PRO_WorkOrderCompletionDS.GetCompletedQuantity(WorkOrderMasterID, WorkOrderDetailID) /// + Scrap Quantity = PRO_AssemblyScrapMasterDS.GetScrapQuantity(WorkOrderMasterID, WorkOrderDetailID) + PRO_OperationScrapMasterDS.GetScrapQuantity(WorkOrderMasterID, WorkOrderDetailID) /// </summary> /// <param name="pdtmFromDueDate">From due date of work order line</param> /// <param name="pdtmToDueDate">To due date of work order line</param> /// <returns>All work order line have status is Released</returns> public DataSet SearchMfgCloseWOLines(int pintCCNID, int pintMasterLocationID, DateTime pdtmFromDueDate, DateTime pdtmToDueDate) { try { dsPRO_WorkOrderDetail = new PRO_WorkOrderDetailDS(); return(dsPRO_WorkOrderDetail.SearchWOForClose(WOLineStatus.MfgClose, pintCCNID, pintMasterLocationID, pdtmFromDueDate, pdtmToDueDate)); } catch (PCSDBException ex) { throw ex; } catch (Exception ex) { throw ex; } }
public void UpdateWOAndWOLines(object pObjectDetail, DataSet pdstData, ArrayList parlWOLineDeleted) { //update Master dsWorkOrderMaster = new PRO_WorkOrderMasterDS(); dsWorkOrderDetail = new PRO_WorkOrderDetailDS(); dsWorkOrderMaster.Update(pObjectDetail); PRO_WorkOrderMasterVO voWOMaster = (PRO_WorkOrderMasterVO)pObjectDetail; //update Detail foreach (DataRow drow in pdstData.Tables[0].Rows) { //set WOMasterID for all added row if (drow.RowState == DataRowState.Added) { drow[PRO_WorkOrderDetailTable.WORKORDERMASTERID_FLD] = voWOMaster.WorkOrderMasterID; } } DataSet dstTemp = new DataSet(); dstTemp.Tables.Add(pdstData.Tables[0].Copy()); dstTemp.Tables[0].Clear(); foreach (DataRow drow in pdstData.Tables[0].Rows) { if (drow.RowState != DataRowState.Deleted) { dstTemp.Tables[0].ImportRow(drow); } } dsWorkOrderDetail.UpdateDataSet(pdstData); //create dataset for all WO which was added DataSet dsNewDataSetForBOM = GetWODetailByMaster(((PRO_WorkOrderMasterVO)pObjectDetail).WorkOrderMasterID); DataSet dsNewDataSetForNewWOLine = dsNewDataSetForBOM.Copy(); dsNewDataSetForNewWOLine.Tables[0].Rows.Clear(); for (int i = 0; i < dstTemp.Tables[0].Rows.Count; i++) { if (dstTemp.Tables[0].Rows[i][PRO_WorkOrderDetailTable.WORKORDERDETAILID_FLD].ToString() == string.Empty) { dstTemp.Tables[0].Rows[i][PRO_WorkOrderDetailTable.WORKORDERDETAILID_FLD] = dsNewDataSetForBOM.Tables[0].Rows[i][PRO_WorkOrderDetailTable.WORKORDERDETAILID_FLD]; dsNewDataSetForNewWOLine.Tables[0].ImportRow(dstTemp.Tables[0].Rows[i]); } } }
public DataTable SearchWorkOrderToIssueMaterial(Hashtable phashCondition, string pstrRecordCondition) { PRO_WorkOrderDetailDS objPRO_WorkOrderDetailDS = new PRO_WorkOrderDetailDS(); return(objPRO_WorkOrderDetailDS.SearchWorkOrderToIssueMaterial(phashCondition, pstrRecordCondition)); }
/// <summary> /// Search unrelease WorkOrders /// </summary> /// <author>Trada</author> /// <date>Friday, June 3 2005</date> /// <param name="pintCCNID"></param> /// <param name="pintMasLocID"></param> /// <param name="pstrWONo"></param> /// <param name="pdtmFromStartDate"></param> /// <param name="pdtmToStartDate"></param> public DataSet SearchUnReleaseWO(int pintCCNID, int pintMasLocID, string pstrWONo, int pintProLineID, DateTime pdtmFromStartDate, DateTime pdtmToStartDate, int pintStatus) { PRO_WorkOrderDetailDS dsWODetail = new PRO_WorkOrderDetailDS(); return(dsWODetail.SearchUnReleaseWO(pintCCNID, pintMasLocID, pstrWONo, pintProLineID, pdtmFromStartDate, pdtmToStartDate, pintStatus)); }
public DataSet SearchReleasedWO(int pintCCNID, int pintMasterLocationID, DateTime pdtmFromDueDate, DateTime pdtmToDueDate) { dsPRO_WorkOrderDetail = new PRO_WorkOrderDetailDS(); return(dsPRO_WorkOrderDetail.SearchWOForClose(WOLineStatus.Released, pintCCNID, pintMasterLocationID, pdtmFromDueDate, pdtmToDueDate)); }