Esempio n. 1
0
        /// <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;
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        /// <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());
                }
            }
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
        /// <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;
            }
        }
Esempio n. 8
0
        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]);
                }
            }
        }
Esempio n. 9
0
        public DataTable SearchWorkOrderToIssueMaterial(Hashtable phashCondition, string pstrRecordCondition)
        {
            PRO_WorkOrderDetailDS objPRO_WorkOrderDetailDS = new PRO_WorkOrderDetailDS();

            return(objPRO_WorkOrderDetailDS.SearchWorkOrderToIssueMaterial(phashCondition, pstrRecordCondition));
        }
Esempio n. 10
0
        /// <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));
        }
Esempio n. 11
0
 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));
 }