//建立各區物流箱產出完成時間區塊 private void BindCATEGORY02() { CGDModel.VDS_CGD38_BCO BCO = new CGDModel.VDS_CGD38_BCO(ConntionDB); ParameterList.Clear(); ParameterList.Add("02"); DataTable dt = BCO.QueryVDS_CGD_CODE_DETL(ParameterList); DataTable TempTable = new DataTable(); TempTable.Columns.Add(new DataColumn("TITLE")); TempTable.Columns.Add(new DataColumn("SCODE")); TempTable.Columns.Add(new DataColumn("EXPLAIN")); TempTable.Columns.Add(new DataColumn("FINISH_TIME")); for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = TempTable.NewRow(); int iNo = i + 1; dr["TITLE"] = iNo.ToString() + "、" + dt.Rows[i]["EXPLAIN"].ToString(); dr["SCODE"] = dt.Rows[i]["SCODE"].ToString(); dr["EXPLAIN"] = dt.Rows[i]["EXPLAIN"].ToString(); string strFINISH_TIME = ""; if (hdfID.Value != "") { ParameterList.Clear(); ParameterList.Add(hdfID.Value); ParameterList.Add(DBNull.Value); DataTable dtData = BCO.QueryVDS_CGD_DAILY_AREA(ParameterList); DataRow[] drFind = dtData.Select("SCODE='" + dr["SCODE"].ToString() + "'"); if (drFind.Length > 0) { strFINISH_TIME = drFind[0]["FINISH_TIME"].ToString(); } } dr["FINISH_TIME"] = strFINISH_TIME; TempTable.Rows.Add(dr); } DataList2.DataSource = TempTable; DataList2.DataBind(); Session["CGD38_CATEGORY02_" + PageTimeStamp.Value] = TempTable; }
//建立日報表初始數據設定區塊 private void BindCATEGORY01() { CGDModel.VDS_CGD38_BCO BCO = new CGDModel.VDS_CGD38_BCO(ConntionDB); ParameterList.Clear(); ParameterList.Add("01"); DataTable dt = BCO.QueryVDS_CGD_CODE_DETL(ParameterList); DataTable TempTable = new DataTable(); TempTable.Columns.Add(new DataColumn("TITLE")); TempTable.Columns.Add(new DataColumn("SCODE")); TempTable.Columns.Add(new DataColumn("EXPLAIN")); TempTable.Columns.Add(new DataColumn("COLUMN_TYPE")); TempTable.Columns.Add(new DataColumn("X")); //數字or百分比型態 TempTable.Columns.Add(new DataColumn("Y")); //數字or百分比型態 TempTable.Columns.Add(new DataColumn("Z")); //數字or百分比型態 TempTable.Columns.Add(new DataColumn("X_T")); //時間型態 TempTable.Columns.Add(new DataColumn("Y_T")); //時間型態 TempTable.Columns.Add(new DataColumn("Z_T")); //時間型態 TempTable.Columns.Add(new DataColumn("X_Value")); //不分型態 TempTable.Columns.Add(new DataColumn("Y_Value")); //不分型態 TempTable.Columns.Add(new DataColumn("Z_Value")); //不分型態 TempTable.Columns.Add(new DataColumn("TOTAL")); TempTable.Columns.Add(new DataColumn("TEMP_TIME")); //紀錄理貨起始的最小時間或理貨結束的最大時間 string strX, strY, strZ; //儲存數值or百分比 string strX_T, strY_T, strZ_T; //儲存時間 string strX_Value, strY_Value, strZ_Value; //不分型態的都會存 string strTEMP_TIME; for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = TempTable.NewRow(); dr["TITLE"] = dt.Rows[i]["EXPLAIN"].ToString(); dr["SCODE"] = dt.Rows[i]["SCODE"].ToString(); dr["EXPLAIN"] = dt.Rows[i]["EXPLAIN"].ToString(); dr["COLUMN_TYPE"] = dt.Rows[i]["COLUMN_TYPE"].ToString(); strX = ""; strY = ""; strZ = ""; strX_T = ""; strY_T = ""; strZ_T = ""; strX_Value = ""; strY_Value = ""; strZ_Value = ""; strTEMP_TIME = ""; //假如是第一次新增要讀入預設值 if (hdfID.Value == "") { //B2&B4 if ((dr["SCODE"].ToString() == "01") || (dr["SCODE"].ToString() == "03")) { //V_PICK_DATE IN VARCHAR2, //V_PICK_BATCH IN VARCHAR2, ParameterList.Clear(); ParameterList.Add(slpPickDate.Text); ParameterList.Add(txtPICK_BATCH.Text); DataTable dtTemp = BCO.GetLineBoxData(ParameterList); if (dtTemp.Rows.Count > 0) { //B2 理貨路線 SCODE='01' if (dr["SCODE"].ToString() == "01") { strX_Value = GetXYZ(dtTemp, "LineCount", "X"); strY_Value = GetXYZ(dtTemp, "LineCount", "Y"); strZ_Value = GetXYZ(dtTemp, "LineCount", "Z"); } //B4 理貨箱數 SCODE='03' if (dr["SCODE"].ToString() == "03") { strX_Value = GetXYZ(dtTemp, "BoxCount", "X"); strY_Value = GetXYZ(dtTemp, "BoxCount", "Y"); strZ_Value = GetXYZ(dtTemp, "BoxCount", "Z"); } } } //B3 理貨店數 SCODE='02' if (dr["SCODE"].ToString() == "02") { //V_PICK_DATE IN VARCHAR2, //V_PICK_BATCH IN VARCHAR2, ParameterList.Clear(); ParameterList.Add(slpPickDate.Text); ParameterList.Add(txtPICK_BATCH.Text); DataTable dtTemp = BCO.GetStoreCount(ParameterList); if (dtTemp.Rows.Count > 0) { strX_Value = GetXYZ(dtTemp, "StoreCount", "X"); strY_Value = GetXYZ(dtTemp, "StoreCount", "Y"); strZ_Value = GetXYZ(dtTemp, "StoreCount", "Z"); } } //B5 工作站數 SCODE='04' if (dr["SCODE"].ToString() == "04") { //V_DPS_CODE varchar2, //V_PICK_DATE varchar2, //V_PICK_BATCH varchar2, ParameterList.Clear(); ParameterList.Add("A"); ParameterList.Add(slpPickDate.Text); ParameterList.Add(txtPICK_BATCH.Text); DataTable dtTemp = BCO.GetStationCount(ParameterList); if (dtTemp.Rows.Count > 0) { strX_Value = dtTemp.Rows[0]["StationCount"].ToString(); strY_Value = dtTemp.Rows[0]["StationCount"].ToString(); strZ_Value = dtTemp.Rows[0]["StationCount"].ToString(); } } //B6 第一箱理貨所需時間(秒) SCODE='09' if (dr["SCODE"].ToString() == "09") { strX_Value = "3"; strY_Value = "3"; strZ_Value = "3"; } //B7 品保秤重容許率 SCODE='10' if (dr["SCODE"].ToString() == "10") { strX_Value = "0.50"; strY_Value = "0.50"; strZ_Value = "0.50"; } } else { //編輯時,讀取儲存資料 //N_PID IN NUMBER, //V_SCODE IN varchar2, ParameterList.Clear(); ParameterList.Add(hdfID.Value); ParameterList.Add(DBNull.Value); DataTable dtData = BCO.QueryVDS_CGD_DAILY_BASE(ParameterList); DataRow[] drFind = dtData.Select("SCODE='" + dr["SCODE"].ToString() + "'"); if (drFind.Length > 0) { strX_Value = drFind[0]["X"].ToString(); strY_Value = drFind[0]["Y"].ToString(); strZ_Value = drFind[0]["Z"].ToString(); } } //如果是數字類型的話 要計算合計欄位 if (dr["COLUMN_TYPE"].ToString() == "1") { strX_Value = (strX_Value == "") ? "0" : strX_Value; strY_Value = (strY_Value == "") ? "0" : strY_Value; strZ_Value = (strZ_Value == "") ? "0" : strZ_Value; dr["TOTAL"] = int.Parse(strX_Value) + int.Parse(strY_Value) + int.Parse(strZ_Value); } //如果是時間類別 if (dr["COLUMN_TYPE"].ToString() == "2") { strX_T = strX_Value; strY_T = strY_Value; strZ_T = strZ_Value; } else { strX = strX_Value; strY = strY_Value; strZ = strZ_Value; } dr["X"] = strX; dr["Y"] = strY; dr["Z"] = strZ; dr["X_T"] = strX_T; dr["Y_T"] = strY_T; dr["Z_T"] = strZ_T; dr["X_VALUE"] = strX_Value; dr["Y_VALUE"] = strY_Value; dr["Z_VALUE"] = strZ_Value; dr["TEMP_TIME"] = strTEMP_TIME; TempTable.Rows.Add(dr); } DataList1.DataSource = TempTable; DataList1.DataBind(); Session["CGD38_CATEGORY01_" + PageTimeStamp.Value] = TempTable; }