コード例 #1
0
        /// <summary>
        /// 查詢當前班次的班次內工程生產數據信息
        /// </summary>
        /// <returns></returns>
        public override List<ShiftProjectProductionDataInfo_Query> SearchCurrentShiftProjectProductionDatas()
        {
            try
            {
                //從對象數據實時本地化保持管理裡取得當前班次的班次內工程生產數據
                List<ShiftProjectProductionDataInfo_Query> shiftProjectProductionDatas = new List<ShiftProjectProductionDataInfo_Query>();

                if (this.DataObjectRealTimeBackupManager != null)
                {
                    //此處包含將ProjectProductionData類轉換成報表查詢類ShiftProjectProductionDataInfo_Query的邏輯
                    List<ProjectProductionData> lstProjectProductionData = this.DataObjectRealTimeBackupManager.GetCurrentShiftProjectProductionDataInfos();

                    if (lstProjectProductionData != null)
                    {
                        int iFileIdx = 0;
                        foreach (var rtEntity in lstProjectProductionData)
                        {
                            if (rtEntity != null)
                            {
                                ShiftProjectProductionDataInfo_Query queryInfo = new ShiftProjectProductionDataInfo_Query();
                                queryInfo.Index = iFileIdx;
                                if (rtEntity.ProjectBaseData != null)
                                {
                                    queryInfo.SONO = rtEntity.ProjectBaseData.swl_cSONO;
                                    queryInfo.ItemNO = rtEntity.ProjectBaseData.swl_cItemNO;
                                    queryInfo.ProdName = rtEntity.ProjectBaseData.swl_cProdName;
                                    queryInfo.ItemName = rtEntity.ProjectBaseData.swl_cItemName;
                                    queryInfo.Edition = rtEntity.ProjectBaseData.swl_cEdition;
                                    queryInfo.SheetProdQty = rtEntity.ProjectBaseData.swl_iSheetProdQty;
                                    queryInfo.PlanProdQty = rtEntity.ProjectBaseData.swl_iPlanProdQty;
                                    queryInfo.ProjectNO = rtEntity.ProjectBaseData.swl_cProjectNO;
                                }
                                if (rtEntity.ShiftProjectData != null)
                                {
                                    queryInfo.ActualProdNum = rtEntity.ShiftProjectData.spl_iQTY;
                                    queryInfo.CountDefectiveQty = rtEntity.ShiftProjectData.spl_iDefectiveQty;
                                    queryInfo.CountWastNum = rtEntity.ShiftProjectData.spl_iWastQTY;
                                    queryInfo.QualifiedNum = rtEntity.ShiftProjectData.QualifiedQty;
                                    queryInfo.BeginTime = rtEntity.ShiftProjectData.spl_dBeginTime;
                                    queryInfo.EndTime = rtEntity.ShiftProjectData.spl_dEndTime;
                                    queryInfo.ProjRunTime = rtEntity.ShiftProjectData.spl_iRunTime;
                                    queryInfo.StopTime = rtEntity.ShiftProjectData.spl_iStopTime;
                                    queryInfo.ActualPrepairTime = rtEntity.ShiftProjectData.spl_iPrepairTime;
                                    if (rtEntity.ShiftProjectData.spl_dBeginTime != null)
                                    {
                                        queryInfo.ProdDate = rtEntity.ShiftProjectData.spl_dBeginTime.Value.Date;
                                    }
                                }

                                shiftProjectProductionDatas.Add(queryInfo);
                                iFileIdx++;
                            }
                        }
                    }
                }

                return shiftProjectProductionDatas;
            }
            catch (Exception ex)
            {
                this.OnException(mc_strClassName, "SearchCurrentShiftProjectProductionDatas", ex.Message);
                throw;
            }
        }
コード例 #2
0
        /// <summary>
        /// 班次內工程數據查詢
        /// </summary>
        /// <param name="searchCondition">查詢信息</param>
        /// <param name="ShiftTypeInfos">班次類型信息列表</param>
        public List<ShiftProjectProductionDataInfo_Query> SearchHistoryShiftProjectProductionDatas(ShiftProjectProductionDataInfo_Query_Search searchCondition, List<ShiftTypeInfo> ShiftTypeInfos)
        {
            List<ShiftProjectProductionDataInfo_Query> lst = new List<ShiftProjectProductionDataInfo_Query>();
            string l_strSQL = string.Empty;
            string l_strWhere = string.Empty;

            l_strWhere += " And sifo.sifo_dProdDate = " + Common.General.HandleSqlFormatDateTime(searchCondition.SearchDate) + " " + Environment.NewLine;

            if (!string.IsNullOrEmpty(searchCondition.MachineNO))
            {
                l_strWhere += " And sifo.sifo_cMachineNO = '" + Common.General.HandleSqlSingle(searchCondition.MachineNO) + "' " + Environment.NewLine;
            }

            l_strWhere += " And sifo.sifo_iSTMID = " + searchCondition.ShiftTypeID.ToString().Trim() + Environment.NewLine;

            l_strSQL = l_strSQL + " Select " + Environment.NewLine;
            l_strSQL = l_strSQL + " ProjectNO = swl.swl_cProjectNO," + Environment.NewLine;
            l_strSQL = l_strSQL + " SONO = swl.swl_cSONO," + Environment.NewLine;
            l_strSQL = l_strSQL + " ItemNO = swl.swl_cItemNO," + Environment.NewLine;
            l_strSQL = l_strSQL + " ProdName = swl.swl_cProdName," + Environment.NewLine;
            l_strSQL = l_strSQL + " ItemName = swl.swl_cItemName," + Environment.NewLine;
            l_strSQL = l_strSQL + " Edition = swl.swl_cEdition," + Environment.NewLine;
            l_strSQL = l_strSQL + " SheetProdQty = swl.swl_iSheetProdQty," + Environment.NewLine;
            l_strSQL = l_strSQL + " PlanProdQty = swl.swl_iPlanProdQty," + Environment.NewLine;
            l_strSQL = l_strSQL + " ActualProdNum = spl.spl_iQTY," + Environment.NewLine;
            l_strSQL = l_strSQL + " CountDefectiveQty = spl.spl_iDefectiveQty," + Environment.NewLine;
            l_strSQL = l_strSQL + " CountWastNum = spl.spl_iWastQTY," + Environment.NewLine;
            l_strSQL = l_strSQL + " QualifiedNum = spl.spl_iQTY - spl.spl_iWastQTY - spl.spl_iDefectiveQty," + Environment.NewLine;
            //Begin Add By DonaldHuang 03/11/2015
            //紙袋
            l_strSQL = l_strSQL + " PaperBagName = swl.swl_cPaperBagName," + Environment.NewLine;
            l_strSQL = l_strSQL + " PaperBagModel = swl.swl_cPaperBagModel," + Environment.NewLine;
            l_strSQL = l_strSQL + " PaperBagSizeW = swl.swl_fPaperBagSizeW," + Environment.NewLine;
            l_strSQL = l_strSQL + " PaperBagSizeH = swl.swl_fPaperBagSizeH," + Environment.NewLine;
            l_strSQL = l_strSQL + " PaperBagSizeG = swl.swl_fPaperBagSizeG," + Environment.NewLine;
            l_strSQL = l_strSQL + " PaperBagSizeUnit = swl.swl_cPaperBagSizeUnit," + Environment.NewLine;
            l_strSQL = l_strSQL + " PaperBagQuality = swl.swl_cPaperBagQuality," + Environment.NewLine;
            //End Add By DonaldHuang 03/11/2015
            l_strSQL = l_strSQL + " BeginTime = spl.spl_dBeginTime," + Environment.NewLine;
            l_strSQL = l_strSQL + " EndTime = spl.spl_dEndTime," + Environment.NewLine;
            l_strSQL = l_strSQL + " ProjRunTime = spl.spl_iRunTime," + Environment.NewLine;
            l_strSQL = l_strSQL + " StopTime = spl.spl_iStopTime," + Environment.NewLine;
            l_strSQL = l_strSQL + " ActualPrepairTime = spl.spl_iPrepairTime," + Environment.NewLine;
            l_strSQL = l_strSQL + " ShiftTypeID = sifo.sifo_iSTMID," + Environment.NewLine;
            l_strSQL = l_strSQL + " MachineNO = swl.swl_cMachineNO" + Environment.NewLine;
            l_strSQL = l_strSQL + " From ShiftInfo_sifo sifo " + Environment.NewLine;
            l_strSQL = l_strSQL + " Inner join ShiftProjList_spl spl on spl.spl_SIFOID = sifo.sifo_RecordID" + Environment.NewLine;
            l_strSQL = l_strSQL + " Inner join PrintProject_ppj ppj on spl.spl_PPJID = ppj.ppj_RecordID" + Environment.NewLine;
            l_strSQL = l_strSQL + " Inner join ScheduleProjList_swl swl on ppj.ppj_SWLID = swl.swl_RecordID" + Environment.NewLine;

            if (l_strWhere != "")
            {
                l_strSQL = l_strSQL + " Where 1=1 " + l_strWhere + Environment.NewLine;
            }

            l_strSQL = l_strSQL + " order by spl.spl_dBeginTime" + Environment.NewLine;

            try
            {
                using (IDataReader dataReader = DbHelperSQL.ExecuteReader(l_strSQL))
                {
                    while (dataReader.Read())
                    {
                        ShiftProjectProductionDataInfo_Query model = new ShiftProjectProductionDataInfo_Query();
                        object ojb;

                        model.ProjectNO = dataReader["ProjectNO"].ToString();
                        model.SONO = dataReader["SONO"].ToString();
                        model.ItemNO = dataReader["ItemNO"].ToString();
                        model.ProdName = dataReader["ProdName"].ToString();
                        model.ItemName = dataReader["ItemName"].ToString();
                        model.Edition = dataReader["Edition"].ToString();
                        //Begin Add By DonaldHuang 03/11/2015
                        model.PaperBagName = dataReader["PaperBagName"].ToString();
                        model.PaperBagModel = dataReader["PaperBagModel"].ToString();
                        model.PaperBagSizeW = float.Parse(dataReader["PaperBagSizeW"].ToString());
                        model.PaperBagSizeH = float.Parse(dataReader["PaperBagSizeH"].ToString());
                        model.PaperBagSizeG = float.Parse(dataReader["PaperBagSizeG"].ToString());
                        model.PaperBagSizeUnit = dataReader["PaperBagSizeUnit"].ToString();
                        model.PaperBagQuality = dataReader["PaperBagQuality"].ToString();
                        //End Add By DonaldHuang 03/11/2015

                        ojb = dataReader["SheetProdQty"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.SheetProdQty = (int)ojb;
                        }
                        ojb = dataReader["PlanProdQty"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.PlanProdQty = (int)ojb;
                        }
                        ojb = dataReader["ActualProdNum"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.ActualProdNum = (int)ojb;
                        }
                        ojb = dataReader["CountDefectiveQty"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.CountDefectiveQty = (int)ojb;
                        }
                        ojb = dataReader["CountWastNum"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.CountWastNum = (int)ojb;
                        }
                        ojb = dataReader["QualifiedNum"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.QualifiedNum = (int)ojb;
                        }
                        ojb = dataReader["BeginTime"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.BeginTime = (DateTime)ojb;
                        }
                        ojb = dataReader["EndTime"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.EndTime = (DateTime)ojb;
                        }
                        ojb = dataReader["ProjRunTime"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.ProjRunTime = (int)ojb;
                        }
                        ojb = dataReader["StopTime"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.StopTime = (int)ojb;
                        }
                        ojb = dataReader["ActualPrepairTime"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.ActualPrepairTime = (int)ojb;
                        }

                        ojb = dataReader["ShiftTypeID"];
                        if (ojb != null && ojb != DBNull.Value)
                        {
                            model.ShiftTypeID = (int)ojb;
                        }
                        model.MachineNO = dataReader["MachineNO"].ToString();

                        lst.Add(model);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            int indexvalue = 1;
            foreach (ShiftProjectProductionDataInfo_Query oEarchRecord in lst)
            {
                oEarchRecord.Index = indexvalue;
                indexvalue++;
            }

            return lst;
        }