private bool SaveData() { bool bResult = false; try { ErrorMsgLabel.Text = ""; string strErrMsg = CheckData(hdfID.Value); //檢查編輯期間,已經有人編輯或新增的狀況. if (strErrMsg != "") { ErrorMsgLabel.Text = strErrMsg; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "MSG", "window.setTimeout(function(){alert('" + strErrMsg + "');}, 500);", true); return bResult; } lblLast_Route.Visible = false; if (txtLast_Route.Text.Trim() == "") { lblLast_Route.Visible = true; ErrorMsgLabel.Text = "請檢查資料是否全部輸入完成"; return bResult; } WriteToCATEGORY01(); WriteToCATEGORY02(); DataTable dtBASE = (DataTable)Session["CGD38_CATEGORY01_" + PageTimeStamp.Value]; DataTable dtAREA = (DataTable)Session["CGD38_CATEGORY02_" + PageTimeStamp.Value]; if (this.hdfID.Value == "") //Insert { CGDModel.VDS_CGD38_BCO BCO = new CGDModel.VDS_CGD38_BCO(ConntionDB); #region 主檔資料 string D_PICK_DATE = slpPickDate.Text; string V_PICK_BATCH = txtPICK_BATCH.Text; string V_GET_TIME = slpGET_TIME.Text; string N_SPEC_ITEMNUM = slpSPEC_ITEMNUM.Text; string N_CTRL_ITEMNUM = slpCTRL_ITEMNUM.Text; string N_PICK_ITEMNUM = slpPICK_ITEMNUM.Text; string N_AMT = slpAmt.Text; string N_DE_PAPERBOXNUM = slpDE_PAPERBOXNUM.Text; string V_LAST_ROUTE = txtLast_Route.Text; string N_CHK_ROUTENUM = slpCHK_ROUTENUM.Text; string N_CHK_STORENUM = slpCHK_STORENUM.Text; string N_ERR_STORENUM = slpERR_STORENUM.Text; string V_RTN_TIME = slpRTN_TIME.Text; string V_ALO_TIME = slpALO_TIME.Text; string V_CGD_TRANSTIME = slpCGD_TRANSTIME.Text; string V_CGD_DATATIME = slpCGD_DATATIME.Text; string V_CGD_LISTTIME = slpCGD_LISTTIME.Text; string D_CREATEDATE = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); string V_CREATEUID = Session["UID"].ToString(); string D_UPDATEDATE = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); string V_UPDATEUID = Session["UID"].ToString(); string strID = string.Empty; ParameterList.Clear(); ParameterList.Add(DBPara(D_PICK_DATE, ParaType.Date)); ParameterList.Add(DBPara(V_PICK_BATCH, ParaType.Varchar2)); ParameterList.Add(DBPara(V_GET_TIME, ParaType.Varchar2)); ParameterList.Add(DBPara(N_SPEC_ITEMNUM, ParaType.Number)); ParameterList.Add(DBPara(N_CTRL_ITEMNUM, ParaType.Number)); ParameterList.Add(DBPara(N_PICK_ITEMNUM, ParaType.Number)); ParameterList.Add(DBPara(N_AMT, ParaType.Number)); ParameterList.Add(DBPara(N_DE_PAPERBOXNUM, ParaType.Number)); ParameterList.Add(DBPara(V_LAST_ROUTE, ParaType.Varchar2)); ParameterList.Add(DBPara(N_CHK_ROUTENUM, ParaType.Number)); ParameterList.Add(DBPara(N_CHK_STORENUM, ParaType.Number)); ParameterList.Add(DBPara(N_ERR_STORENUM, ParaType.Number)); ParameterList.Add(DBPara(V_RTN_TIME, ParaType.Varchar2)); ParameterList.Add(DBPara(V_ALO_TIME, ParaType.Varchar2)); ParameterList.Add(DBPara(V_CGD_TRANSTIME, ParaType.Varchar2)); ParameterList.Add(DBPara(V_CGD_DATATIME, ParaType.Varchar2)); ParameterList.Add(DBPara(V_CGD_LISTTIME, ParaType.Varchar2)); ParameterList.Add(DBPara(D_CREATEDATE, ParaType.Date)); ParameterList.Add(DBPara(V_CREATEUID, ParaType.Varchar2)); ParameterList.Add(DBPara(D_UPDATEDATE, ParaType.Date)); ParameterList.Add(DBPara(V_UPDATEUID, ParaType.Varchar2)); #endregion 主檔資料 BCO.InertData(ParameterList, dtBASE, dtAREA, out strID); hdfID.Value = strID; bResult = true; } else //Update { CGDModel.VDS_CGD38_BCO BCO = new CGDModel.VDS_CGD38_BCO(ConntionDB); #region 主檔資料 string D_PICK_DATE = slpPickDate.Text; string V_PICK_BATCH = txtPICK_BATCH.Text; string V_GET_TIME = slpGET_TIME.Text; string N_SPEC_ITEMNUM = slpSPEC_ITEMNUM.Text; string N_CTRL_ITEMNUM = slpCTRL_ITEMNUM.Text; string N_PICK_ITEMNUM = slpPICK_ITEMNUM.Text; string N_AMT = slpAmt.Text; string N_DE_PAPERBOXNUM = slpDE_PAPERBOXNUM.Text; string V_LAST_ROUTE = txtLast_Route.Text; string N_CHK_ROUTENUM = slpCHK_ROUTENUM.Text; string N_CHK_STORENUM = slpCHK_STORENUM.Text; string N_ERR_STORENUM = slpERR_STORENUM.Text; string V_RTN_TIME = slpRTN_TIME.Text; string V_ALO_TIME = slpALO_TIME.Text; string V_CGD_TRANSTIME = slpCGD_TRANSTIME.Text; string V_CGD_DATATIME = slpCGD_DATATIME.Text; string V_CGD_LISTTIME = slpCGD_LISTTIME.Text; string D_CREATEDATE = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); string V_CREATEUID = Session["UID"].ToString(); string D_UPDATEDATE = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); string V_UPDATEUID = Session["UID"].ToString(); string strID = this.hdfID.Value; string D_OLD_UPDATEDATE = txtUpdateDate.Text; string V_OLD_UPDATEUID = SLP_UPDATEUID.Text; ParameterList.Clear(); ParameterList.Add(DBPara(D_PICK_DATE, ParaType.Date)); ParameterList.Add(DBPara(V_PICK_BATCH, ParaType.Varchar2)); ParameterList.Add(DBPara(V_GET_TIME, ParaType.Varchar2)); ParameterList.Add(DBPara(N_SPEC_ITEMNUM, ParaType.Number)); ParameterList.Add(DBPara(N_CTRL_ITEMNUM, ParaType.Number)); ParameterList.Add(DBPara(N_PICK_ITEMNUM, ParaType.Number)); ParameterList.Add(DBPara(N_AMT, ParaType.Number)); ParameterList.Add(DBPara(N_DE_PAPERBOXNUM, ParaType.Number)); ParameterList.Add(DBPara(V_LAST_ROUTE, ParaType.Varchar2)); ParameterList.Add(DBPara(N_CHK_ROUTENUM, ParaType.Number)); ParameterList.Add(DBPara(N_CHK_STORENUM, ParaType.Number)); ParameterList.Add(DBPara(N_ERR_STORENUM, ParaType.Number)); ParameterList.Add(DBPara(V_RTN_TIME, ParaType.Varchar2)); ParameterList.Add(DBPara(V_ALO_TIME, ParaType.Varchar2)); ParameterList.Add(DBPara(V_CGD_TRANSTIME, ParaType.Varchar2)); ParameterList.Add(DBPara(V_CGD_DATATIME, ParaType.Varchar2)); ParameterList.Add(DBPara(V_CGD_LISTTIME, ParaType.Varchar2)); ParameterList.Add(DBPara(D_UPDATEDATE, ParaType.Date)); ParameterList.Add(DBPara(V_UPDATEUID, ParaType.Varchar2)); ParameterList.Add(DBPara(strID, ParaType.Number)); ParameterList.Add(DBPara("1", ParaType.Number)); ParameterList.Add(DBPara(D_OLD_UPDATEDATE, ParaType.Date)); ParameterList.Add(DBPara(V_OLD_UPDATEUID, ParaType.Varchar2)); #endregion 主檔資料 BCO.UpdateData(ParameterList, dtBASE, dtAREA); bResult = true; } } catch (Exception ex) { throw new Exception(ex.Message); } finally { } return bResult; }