/// <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; } }
/// <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; }