private void btnExecute_Click(object sender, EventArgs e) { string sSQL = ""; //DbDataReader dbRS = null; string sLoc = ""; string sLocID = ""; //string sLocSts = ""; if (FunChkData() == false) { return; } sLoc = txtLoc.Text; sLocID = txtLocID.Text; if (clsDB.FunOpenDB() == false) { clsMSG.ShowErrMsg(clsMSG.MSG.OPEN_DB_NG); return; } ; #region 判斷是否有儲位重整中 string sMsg = ""; if (clsASRS.FunChkCycleStsIsRunning(ref sMsg) == false) { clsMSG.ShowInformationMsg(sMsg); clsDB.FunClsDB(); return; } #endregion #region 取得命令序號 string sCmdSno = clsASRS.FunGetCmdSno(); if (sCmdSno == "") { clsMSG.ShowErrMsg("系統錯誤,無命令序號可使用!!"); clsDB.FunClsDB(); return; } #endregion clsDB.FunCommitCtrl("BEGIN"); #region 判斷是否有儲位重整中 string sTmpMsg = ""; if (clsASRS.FunChkCycleStsIsRunning(ref sTmpMsg) == false) { clsMSG.ShowInformationMsg(sTmpMsg); clsDB.FunClsDB(); return; } #endregion #region 產生命令主檔 cls_CmdMst aCmdMst = new cls_CmdMst(); aCmdMst.FunCmdMstClear(); //Clear() aCmdMst.CMDSNO = sCmdSno; aCmdMst.CMDMODE = clsASRS.gsCmdMode_Out; //2 aCmdMst.SNO1 = "1"; aCmdMst.LOC1 = sLoc; aCmdMst.LOCID1 = sLocID; aCmdMst.SCAN1 = "Y"; aCmdMst.SNO2 = ""; aCmdMst.LOC2 = ""; aCmdMst.LOCID2 = ""; aCmdMst.SCAN2 = "Y"; aCmdMst.CMDSTS = "0"; aCmdMst.PRT = "5"; aCmdMst.STNNO = cboStnNo.Text; aCmdMst.IOTYP = clsASRS.gsIOTYPE_Offline_In; aCmdMst.AVAIL = "0"; aCmdMst.MIXQTY = "0"; aCmdMst.NEWLOC = ""; aCmdMst.PROGID = clsASRS.gsIOTYPE_Offline_In_PID; aCmdMst.USERID = clsASRS.gstrLoginUser; aCmdMst.TRACE = "0"; aCmdMst.STORAGETYP = ""; if (aCmdMst.FunInsCmdMst() == false) { clsDB.FunCommitCtrl("ROLLBACK"); clsMSG.ShowErrMsg(clsMSG.MSG.COMMAND_ERROR); clsDB.FunClsDB(); this.Cursor = Cursors.Default; return; } #endregion #region 產生命令明細檔 cls_CmdDtl aCmdDtl = new cls_CmdDtl(); int i = 0; for (i = 0; i <= Grid1.RowCount - 1; i++) { #region Get出庫明細 objGridTmp Data aCmdDtl.CMDSNO = sCmdSno; aCmdDtl.SNO = "1"; //aCmdDtl.LOC = objGridTmp[iCol_Loc, 0].Value.ToString(); aCmdDtl.LOCID = sLocID; aCmdDtl.SUBLOC = ""; //No Use aCmdDtl.ITEMNO = Grid1[iCol_ITEM, i].Value.ToString(); aCmdDtl.CUSTOMER = Grid1[iCol_CUST, i].Value.ToString(); aCmdDtl.DEVICE = Grid1[iCol_DEV, i].Value.ToString(); aCmdDtl.LOTNO = Grid1[iCol_LotNo, i].Value.ToString(); aCmdDtl.STORE = Grid1[iCol_Store, i].Value.ToString(); aCmdDtl.OFFQTY = clsTool.INT(Grid1[iCol_OffQty, i].Value.ToString()); aCmdDtl.WAFERQTY = clsTool.INT(Grid1[iCol_WaferQty, i].Value.ToString()); aCmdDtl.SHIPQTY = clsTool.INT(Grid1[iCol_ShipQty, i].Value.ToString()); aCmdDtl.OFFACTQTY = clsTool.INT(Grid1[iCol_OffQty, i].Value.ToString()); aCmdDtl.WAFERACTQTY = clsTool.INT(Grid1[iCol_WaferQty, i].Value.ToString()); aCmdDtl.SHIPACTQTY = clsTool.INT(Grid1[iCol_ShipQty, i].Value.ToString()); aCmdDtl.FLAGQTY = "A"; aCmdDtl.CHKIQC = Grid1[iCol_ChkIQC, i].Value.ToString(); aCmdDtl.FOSBID = Grid1[iCol_FOSBID, i].Value.ToString(); aCmdDtl.IQC_ID = ""; aCmdDtl.ACC_ID = Grid1[iCol_ACCID, i].Value.ToString(); aCmdDtl.INDATE = Grid1[iCol_InDate, i].Value.ToString(); aCmdDtl.REMARK = Grid1[iCol_Remark, i].Value.ToString(); aCmdDtl.TRANSACTION_DATE = Grid1[iCol_TRANSACTION_DATE, i].Value.ToString(); if (aCmdDtl.TRANSACTION_DATE == "") { aCmdDtl.TRANSACTION_DATE = clsTool.GetDateTime(); //Format(Now, "yyyy/MM/dd HH:mm:ss") } aCmdDtl.GIB_CUSTOMER = Grid1[iCol_GIB_CUSTOMER, i].Value.ToString(); aCmdDtl.FAB_LOT_NO = Grid1[iCol_FAB_LOT_NO, i].Value.ToString(); aCmdDtl.FAB_TYPE = Grid1[iCol_FAB_TYPE, i].Value.ToString(); aCmdDtl.TYPENO = Grid1[iCol_TYPENO, i].Value.ToString(); aCmdDtl.LOT_TYPE = Grid1[iCol_LOT_TYPE, i].Value.ToString(); aCmdDtl.WAFER_SIZE = Grid1[iCol_WAFER_SIZE, i].Value.ToString(); aCmdDtl.YIELD = Grid1[iCol_YIELD, i].Value.ToString(); aCmdDtl.APP_NO = Grid1[iCol_APP_NO, i].Value.ToString(); aCmdDtl.REL_DATE = Grid1[iCol_REL_DATE, i].Value.ToString(); aCmdDtl.REASON_NAME = Grid1[iCol_REASON_NAME, i].Value.ToString(); aCmdDtl.TRANSACTION_REFERENCE = Grid1[iCol_TRANSACTION_REFERENCE, i].Value.ToString(); aCmdDtl.TRANSACTION_SOURCE_ID = Grid1[iCol_TRANSACTION_SOURCE_ID, i].Value.ToString(); aCmdDtl.TRANSACTION_TYPE_ID = Grid1[iCol_TRANSACTION_TYPE_ID, i].Value.ToString(); aCmdDtl.FROM_ORG = Grid1[iCol_FROM_ORG, i].Value.ToString(); aCmdDtl.TO_ORG = Grid1[iCol_TO_ORG, i].Value.ToString(); aCmdDtl.FROM_BANK = Grid1[iCol_FROM_BANK, i].Value.ToString(); aCmdDtl.TO_BANK = Grid1[iCol_TO_BANK, i].Value.ToString(); aCmdDtl.CYCLENO = ""; //'WMS aCmdDtl.COID = ""; // objGridTmp[iCol_COID, j].Value.ToString(); aCmdDtl.DOCID = ""; // 'WMS aCmdDtl.DOCID2 = ""; //? objGridTmp[iCol_DOCID2, j].Value.ToString(); // 'WMS #endregion if (aCmdDtl.FunInsCmdDtl() == false) { clsDB.FunCommitCtrl("ROLLBACK"); clsMSG.ShowErrMsg(clsMSG.MSG.COMMAND_ERROR); clsDB.FunClsDB(); this.Cursor = Cursors.Default; return; } sSQL = "DELETE FROM TRNTKT_ACC "; sSQL = sSQL + "WHERE ACC_ID = '" + Grid1[iCol_ACCID, i].Value.ToString() + "' "; if (clsDB.FunExecSql(sSQL) == false) { clsDB.FunCommitCtrl("ROLLBACK"); clsMSG.ShowErrMsg(clsMSG.MSG.COMMAND_ERROR); clsDB.FunClsDB(); this.Cursor = Cursors.Default; return; } } #endregion clsDB.FunCommitCtrl("COMMIT"); clsMSG.ShowInformationMsg(clsMSG.MSG.Msg_Run_Finish); clsDB.FunClsDB(); FormClear(); SubClrForm(); }
private bool SubGetCmdDtl(ref DataGridView objGridTmp, string sCmdSno, string sSno) { int j = 0; cls_CmdDtl aCmdDtl = new cls_CmdDtl(); for (j = 0; j <= objGridTmp.RowCount - 1; j++) { #region Get出庫明細 objGridTmp Data aCmdDtl.CMDSNO = sCmdSno; aCmdDtl.SNO = sSno; //aCmdDtl.LOC = objGridTmp[iCol_Loc, 0].Value.ToString(); aCmdDtl.LOCID = objGridTmp[iCol_LocID, 0].Value.ToString(); aCmdDtl.SUBLOC = ""; //No Use aCmdDtl.ITEMNO = objGridTmp[iCol_ITEM, j].Value.ToString(); aCmdDtl.CUSTOMER = objGridTmp[iCol_Cust, j].Value.ToString(); aCmdDtl.DEVICE = objGridTmp[iCol_Dev, j].Value.ToString(); aCmdDtl.LOTNO = objGridTmp[iCol_LotNo, j].Value.ToString(); aCmdDtl.STORE = objGridTmp[iCol_Store, j].Value.ToString(); aCmdDtl.OFFQTY = clsTool.INT(objGridTmp[iCol_OffQty, j].Value.ToString()); aCmdDtl.WAFERQTY = clsTool.INT(objGridTmp[iCol_WaferQty, j].Value.ToString()); aCmdDtl.SHIPQTY = clsTool.INT(objGridTmp[iCol_ShipQty, j].Value.ToString()); aCmdDtl.OFFACTQTY = 0; aCmdDtl.WAFERACTQTY = 0; aCmdDtl.SHIPACTQTY = 0; //if (tmpGrid1.Rows[j].HeaderCell.Value.ToString() == "*") //{ aCmdDtl.FLAGQTY = clsASRS.gsFlagQty_OUT; //} //else //{ // aCmdDtl.FLAGQTY = clsASRS.gsFlagQty_Limit; //} aCmdDtl.CHKIQC = objGridTmp[iCol_ChkIQC, j].Value.ToString(); aCmdDtl.FOSBID = objGridTmp[iCol_FOSBID, j].Value.ToString(); aCmdDtl.IQC_ID = objGridTmp[iCol_IQCID, j].Value.ToString(); aCmdDtl.ACC_ID = objGridTmp[iCol_ACCID, j].Value.ToString(); aCmdDtl.INDATE = objGridTmp[iCol_InDate, j].Value.ToString(); aCmdDtl.REMARK = objGridTmp[iCol_REMARK, j].Value.ToString(); aCmdDtl.TRANSACTION_DATE = objGridTmp[iCol_TRANSACTION_DATE, j].Value.ToString(); aCmdDtl.GIB_CUSTOMER = objGridTmp[iCol_GIB_CUSTOMER, j].Value.ToString(); aCmdDtl.FAB_LOT_NO = objGridTmp[iCol_FAB_LOT_NO, j].Value.ToString(); aCmdDtl.FAB_TYPE = objGridTmp[iCol_FAB_TYPE, j].Value.ToString(); aCmdDtl.TYPENO = objGridTmp[iCol_TYPENO, j].Value.ToString(); aCmdDtl.LOT_TYPE = objGridTmp[iCol_LOT_TYPE, j].Value.ToString(); aCmdDtl.WAFER_SIZE = objGridTmp[iCol_WAFER_SIZE, j].Value.ToString(); aCmdDtl.YIELD = objGridTmp[iCol_YIELD, j].Value.ToString(); aCmdDtl.APP_NO = objGridTmp[iCol_APP_NO, j].Value.ToString(); aCmdDtl.REL_DATE = objGridTmp[iCol_REL_DATE, j].Value.ToString(); aCmdDtl.REASON_NAME = objGridTmp[iCol_REASON_NAME, j].Value.ToString(); aCmdDtl.TRANSACTION_REFERENCE = objGridTmp[iCol_TRANSACTION_REFERENCE, j].Value.ToString(); aCmdDtl.TRANSACTION_SOURCE_ID = objGridTmp[iCol_TRANSACTION_SOURCE_ID, j].Value.ToString(); aCmdDtl.TRANSACTION_TYPE_ID = objGridTmp[iCol_TRANSACTION_TYPE_ID, j].Value.ToString(); aCmdDtl.FROM_ORG = objGridTmp[iCol_FROM_ORG, j].Value.ToString(); aCmdDtl.TO_ORG = objGridTmp[iCol_TO_ORG, j].Value.ToString(); aCmdDtl.FROM_BANK = objGridTmp[iCol_FROM_BANK, j].Value.ToString(); aCmdDtl.TO_BANK = objGridTmp[iCol_TO_BANK, j].Value.ToString(); aCmdDtl.CYCLENO = ""; //盤點單號 aCmdDtl.COID = ""; aCmdDtl.DOCID = objGridTmp[iCol_DOCID, j].Value.ToString(); aCmdDtl.DOCID2 = ""; #endregion if (aCmdDtl.FunInsCmdDtl() == false) { return(false); } } return(true); }