コード例 #1
0
        /*	public override void AddEntity(Entity entity)
         *      {
         *          if (Entities == null) return;
         *
         *  lock (Entities)
         *              {
         *                      EntityManager.AddEntity(entity);
         *
         *                      if (Entities.TryAdd(entity.EntityId, entity))
         *                      {
         *                              if (entity.HealthManager is HealthManager)
         *                              {
         *
         *                              }
         *                              LevelEntityAddedEvent addedEvent = new LevelEntityAddedEvent(this, entity);
         *                              EventDispatcher.DispatchEvent(addedEvent);
         *
         *                              entity.SpawnToPlayers(GetAllPlayers());
         *                      }
         *                      else
         *                      {
         *                              throw new Exception("Entity existed in the players list when it should not");
         *                      }
         *              }
         *      }
         *
         *      public override void RemoveEntity(Entity entity)
         *      {
         *  if (Entities == null) return;
         *
         *              lock (Entities)
         *              {
         *                      if (!Entities.TryRemove(entity.EntityId, out entity)) return; // It's ok. Holograms destroy this play..
         *
         *                      LevelEntityRemovedEvent removedEvent = new LevelEntityRemovedEvent(this, entity);
         *                      EventDispatcher.DispatchEvent(removedEvent);
         *
         *                      entity.DespawnFromPlayers(GetAllPlayers());
         *              }
         *      }*/

        public override void AddPlayer(MiNET.Player newPlayer, bool spawn)
        {
            if (newPlayer.Skin == null)
            {
                newPlayer.Skin = new Skin()
                {
                    Animations = new List <Animation>(),
                    Cape       = new Cape()
                    {
                        Data = new byte[0]
                    },
                    Data          = ArrayOf <byte> .Create(8192, 0xFF),
                    Height        = 64,
                    Width         = 32,
                    IsPremiumSkin = false,
                    IsPersonaSkin = false,
                    Slim          = false
                };
            }

            base.AddPlayer(newPlayer, spawn);
            if (Players.TryGetValue(newPlayer.EntityId, out MiNET.Player p))
            {
                LevelEntityAddedEvent addedEvent = new LevelEntityAddedEvent(this, p);
                EventDispatcher.DispatchEventAsync(addedEvent);
            }
        }
コード例 #2
0
        public string UploadProductBom_SAGE50(DataTable dt, string userid)
        {
            try
            {
                ProcParam param = new ProcParam(8)
                {
                    ProcedureName = "MASTER_PACK.UPLOAD_PURCHASE_ORDER"
                };

                var arrASSEMBLY_ID = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Assembly ID")).ToArray();
                param.AddParamInput(0, "strASSEMBLY_ID", arrASSEMBLY_ID, OracleDbType.Varchar2);

                var arrASSEMBLY_DESC = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Assembly Description")).ToArray();
                param.AddParamInput(1, "strASSEMBLY_DESC", arrASSEMBLY_DESC, OracleDbType.Varchar2);

                var arrREVISION_NO = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Revision Number")).ToArray();
                param.AddParamInput(2, "strREVISION_NO", arrREVISION_NO, OracleDbType.Decimal);

                var arrCOMPONENT_ID = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Component ID")).ToArray();
                param.AddParamInput(3, "strCOMPONENT_ID", arrCOMPONENT_ID, OracleDbType.Varchar2);

                var arrCOMPONENT_QTY_NEEDED = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Component Qty Needed")).ToArray();
                param.AddParamInput(4, "strCOMPONENT_QTY_NEEDED", arrCOMPONENT_QTY_NEEDED, OracleDbType.Decimal);

                var arrCOMPONENT_DESC = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Component Description")).ToArray();
                param.AddParamInput(5, "strCOMPONENT_DESC", arrCOMPONENT_DESC, OracleDbType.Varchar2);

                param.AddParamInput(6, "strUSER_ID", ArrayOf <object> .Create(dt.Rows.Count, userid), OracleDbType.Varchar2);

                param.AddParamOutput(7, "RESULTMSG", OracleDbType.Varchar2, 255, "OK", dt.Rows.Count);

                GlobalDB.Instance.DataAc.ExecuteNonQuery(param, dt.Rows.Count);

                if (GlobalDB.Instance.LastException != null)
                {
                    throw GlobalDB.Instance.LastException;
                }
                else
                {
                    if (((Oracle.DataAccess.Types.OracleString[])(param.ReturnValue(7)))[0].Value == "OK")
                    {
                        return("OK");
                    }
                    else
                    {
                        return("Error");
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #3
0
        private int InsertPrintTransaction(DataTable dtbSelect)
        {
            int seqPrint = -1;

            try
            {
                seqPrint = PrintingBuilder.Instance.GeneratePrintSEQ();

                //List<ProcParam> procInsTPrintList = new List<ProcParam>();
                //ProcParam procInsTPrint = null;
                //foreach (ProductCard prdCard in lstPrdCard)
                //{
                //    procInsTPrint = new ProcParam(4);

                //    procInsTPrint.ProcedureName = "GLOBAL_FUNCTION_PACK.T_PRINT_TRANSACTION_INS";

                //    procInsTPrint.AddParamInput(0, "strSEQ_NO", seqPrint);
                //    procInsTPrint.AddParamInput(1, "strTR1", prdCard.SERIAL_NO);
                //    procInsTPrint.AddParamInput(2, "strTR2", DBNull.Value);
                //    procInsTPrint.AddParamInput(3, "strTR3", DBNull.Value);

                //    procInsTPrintList.Add(procInsTPrint);
                //}

                ProcParam paramPrint = new ProcParam(4)
                {
                    ProcedureName = "GLOBAL_FUNCTION_PACK.T_PRINT_TRANSACTION_INS"
                };
                //param 0 - SEQ_NO
                paramPrint.AddParamInput(0, "strSEQ_NO", ArrayOf <object> .Create(dtbSelect.Rows.Count, seqPrint), OracleDbType.Varchar2);

                //param 1 - strTR1
                var arrPRODUCT_NO = (from DataRow row in dtbSelect.Rows
                                     select row["PRODUCT_NO"]).ToArray();
                paramPrint.AddParamInput(1, "strTR1", arrPRODUCT_NO, OracleDbType.Varchar2);

                //param 2 - strTR2
                var arrSTOCK_IN_DATE = (from DataRow row in dtbSelect.Rows
                                        select string.Format("{0:yyyyMMdd}", row["STOCK_IN_DATE"])).ToArray();
                paramPrint.AddParamInput(2, "strTR2", arrSTOCK_IN_DATE, OracleDbType.Varchar2);

                //param 3 - strTR3
                paramPrint.AddParamInput(3, "strTR3", ArrayOf <object> .Create(dtbSelect.Rows.Count, null), OracleDbType.Varchar2);

                //insert value to print transaction.
                PrintingBuilder.Instance.InsertTransactionPrint(paramPrint, dtbSelect.Rows.Count);

                return(seqPrint);
            }
            catch (Exception ex)
            {
                return(-1);
            }
        }
コード例 #4
0
ファイル: BitmapFont.cs プロジェクト: lvyitian1/Alex
        private BitmapFont(int gridWidth, int gridHeight, List <char> characters)
        {
            GridWidth  = gridWidth;
            GridHeight = gridHeight;
            Characters = characters.ToArray();

            DefaultGlyph = new Glyph('\x0000', null, 0, 8);
            Glyphs       = ArrayOf <Glyph> .Create((int)characters.Max(x => (int)x), DefaultGlyph);

            //Glyphs = new Dictionary<char, Glyph>(characters.Count); //new Glyph[characters.Count];
        }
コード例 #5
0
        public string UploadVendorMaster(DataTable dt, string partyType, string userid)
        {
            try
            {
                ProcParam param = new ProcParam(7)
                {
                    ProcedureName = "MASTER_PACK.UPLOAD_PARTY_MASTER"
                };

                var arrCustomerId = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Vendor ID")).ToArray();
                param.AddParamInput(0, "strCUSTOMER_ID", arrCustomerId, OracleDbType.Varchar2);

                var arrCustomerName = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Vendor Name")).ToArray();
                param.AddParamInput(1, "strCUSTOMER_NAME", arrCustomerName, OracleDbType.Varchar2);

                var arrTerm = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Due Days")).ToArray();
                param.AddParamInput(2, "strTERM", arrTerm, OracleDbType.Varchar2);

                //var arrPriceLevel = dt.AsEnumerable().ToList().Select(r => r.Field<string>("Pricing Level")).ToArray();
                //param.AddParamInput(3, "strPRICE_LEVEL", arrPriceLevel, OracleDbType.Varchar2);

                param.AddParamInput(3, "strPRICE_LEVEL", ArrayOf <object> .Create(dt.Rows.Count, string.Empty), OracleDbType.Varchar2);

                param.AddParamInput(4, "strPARTY_TYPE", ArrayOf <object> .Create(dt.Rows.Count, partyType), OracleDbType.Varchar2);

                param.AddParamInput(5, "strUSER_ID", ArrayOf <object> .Create(dt.Rows.Count, userid), OracleDbType.Varchar2);

                param.AddParamOutput(6, "RESULTMSG", OracleDbType.Varchar2, 255, "OK", dt.Rows.Count);

                GlobalDB.Instance.DataAc.ExecuteNonQuery(param, dt.Rows.Count);

                if (GlobalDB.Instance.LastException != null)
                {
                    throw GlobalDB.Instance.LastException;
                }
                else
                {
                    if (((Oracle.DataAccess.Types.OracleString[])(param.ReturnValue(6)))[0].Value == "OK")
                    {
                        return("OK");
                    }
                    else
                    {
                        return("Error");
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #6
0
        public void UpdateProductionProcess(List <ProdProcess> lstProdProcess, string strNEW_PROD_SEQ_NO, string userid)
        {
            ProcParam procDetail = null;

            try
            {
                procDetail = new ProcParam(6)
                {
                    ProcedureName = "MASTER_PACK.M_PROD_PROCESS_UPD"
                };

                //PROD_SEQ_NO
                procDetail.AddParamInput(0, "strPROD_SEQ_NO", ArrayOf <object> .Create(lstProdProcess.Count, strNEW_PROD_SEQ_NO), OracleDbType.Varchar2);

                //PROCESS_NO
                var arrPROCESS_NO = (from prodP in lstProdProcess
                                     select prodP.PROCESS_NO).ToArray();
                procDetail.AddParamInput(1, "strPROCESS_NO", arrPROCESS_NO, OracleDbType.Varchar2);

                //STEP_NO
                var arrSTEP_NO = (from prodP in lstProdProcess
                                  select(object) prodP.STEP_NO).ToArray();
                procDetail.AddParamInput(2, "strSTEP_NO", arrSTEP_NO, OracleDbType.Int32);

                //REC_STAT
                var arrREC_STAT = (from prodP in lstProdProcess
                                   select prodP.REC_STAT ? "Y" : "N").ToArray();
                procDetail.AddParamInput(3, "strREC_STAT", arrREC_STAT, OracleDbType.Varchar2);

                //USER_ID
                procDetail.AddParamInput(4, "strUSER_ID", ArrayOf <object> .Create(lstProdProcess.Count, userid), OracleDbType.Varchar2);

                //RESULTMSG
                procDetail.AddParamOutput(5, "RESULTMSG", OracleDbType.Varchar2, 255, "OK", lstProdProcess.Count);


                GlobalDB.Instance.DataAc.ExecuteNonQuery(procDetail, lstProdProcess.Count);

                if (GlobalDB.Instance.LastException != null)
                {
                    throw GlobalDB.Instance.LastException;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #7
0
        public string UpdateArrival(T_ARRIVAL_HDR ArrHdr, List <T_ARRIVAL_DTL> lstArrDtl, string userid)
        {
            string resultMsg = string.Empty;

            try
            {
                #region "Transaction Header"

                ProcParam procHeader = new ProcParam(11)
                {
                    ProcedureName = "MTL_IN_PACK.T_ARRIVAL_HDR_UPD"
                };

                procHeader.AddParamInput(0, "strARRIVAL_NO", ArrHdr.ARRIVAL_NO);
                procHeader.AddParamInput(1, "strARRIVAL_DATE", ArrHdr.ARRIVAL_DATE);
                procHeader.AddParamInput(2, "strWH_ID", ArrHdr.WH_ID);
                procHeader.AddParamInput(3, "strPARTY_ID", ArrHdr.PARTY_ID);
                procHeader.AddParamInput(4, "strREF_NO ", ArrHdr.REF_NO);
                procHeader.AddParamInput(5, "strREF_DATE", ArrHdr.REF_DATE);
                procHeader.AddParamInput(6, "strREMARK", ArrHdr.REMARK);
                procHeader.AddParamInput(7, "strUSER_ID", ArrHdr.USER_ID);
                procHeader.AddParamInput(8, "strREC_STAT", ArrHdr.REC_STAT ? "Y" : "N");
                procHeader.AddParamInput(9, "strARR_TYPE", ArrHdr.ARR_TYPE);
                procHeader.AddParamOutput(10, "RESULTMSG", OracleDbType.NVarchar2, 255, "OK");


                #endregion "Transaction Header"

                #region "Transaction Detail"

                #region Arrival Delete #Flag=0

                var delArr = from arr in lstArrDtl
                             where arr.FLAG == 0
                             select arr;

                ProcParam paramDel = null;

                if (delArr.Any() && delArr.Count() > 0)
                {
                    paramDel = new ProcParam(4)
                    {
                        ProcedureName = "MTL_IN_PACK.T_ARRIVAL_DTL_DEL"
                    };

                    //strUNIT_CODE
                    var arrARRIVAL_NO = (from arr in delArr
                                         select arr.ARRIVAL_NO).ToArray();
                    paramDel.AddParamInput(0, "strARRIVAL_NO", arrARRIVAL_NO, OracleDbType.Varchar2);

                    var arrLINE_NO = (from arr in delArr
                                      select(object) arr.LINE_NO).ToArray();
                    paramDel.AddParamInput(1, "strLINE_NO", arrLINE_NO, OracleDbType.Int32);

                    //User id
                    paramDel.AddParamInput(2, "strUSER_ID", ArrayOf <object> .Create(delArr.Count(), userid), OracleDbType.Varchar2);

                    //RESULTMSG
                    paramDel.AddParamOutput(3, "RESULTMSG", OracleDbType.NVarchar2, 255, "OK", delArr.Count());
                }

                #endregion

                #region Arrival Insert #Flag=2

                var insArr = from arr in lstArrDtl
                             where arr.FLAG == 2
                             select arr;

                ProcParam paramIns = null;

                if (insArr.Any() && insArr.Count() > 0)
                {
                    paramIns = new ProcParam(10)
                    {
                        ProcedureName = "MTL_IN_PACK.T_ARRIVAL_DTL_INS"
                    };

                    var arrARRIVAL_NO = (from arr in insArr
                                         select arr.ARRIVAL_NO).ToArray();
                    paramIns.AddParamInput(0, "strARRIVAL_NO", arrARRIVAL_NO, OracleDbType.Varchar2);

                    var arrLINE_NO = (from arr in insArr
                                      select(object) arr.LINE_NO).ToArray();
                    paramIns.AddParamInput(1, "strLINE_NO", arrLINE_NO, OracleDbType.Int32);

                    var arrMTL_SEQ_NO = (from arr in insArr
                                         select arr.MTL_SEQ_NO).ToArray();
                    paramIns.AddParamInput(2, "strMTL_SEQ_NO", arrMTL_SEQ_NO, OracleDbType.Varchar2);

                    var arrUNIT_ID = (from arr in insArr
                                      select arr.UNIT_ID).ToArray();
                    paramIns.AddParamInput(3, "strUNIT_ID", arrUNIT_ID, OracleDbType.Varchar2);

                    var arrQTY = (from arr in insArr
                                  select(object) arr.QTY).ToArray();
                    paramIns.AddParamInput(4, "strQTY", arrQTY, OracleDbType.Decimal);

                    var arrREMARK = (from arr in insArr
                                     select arr.REMARK).ToArray();
                    paramIns.AddParamInput(5, "strREMARK", arrREMARK, OracleDbType.Varchar2);

                    //strCREATED_BY
                    paramIns.AddParamInput(6, "strUSER_ID", ArrayOf <object> .Create(insArr.Count(), userid), OracleDbType.Varchar2);

                    //REC_STATUS
                    paramIns.AddParamInput(7, "strREC_STAT", ArrayOf <object> .Create(insArr.Count(), "Y"), OracleDbType.Varchar2);


                    var arrLOT_DATE = (from arr in insArr
                                       select(object) arr.LOT_DATE).ToArray();
                    paramIns.AddParamInput(8, "strLOT_DATE", arrLOT_DATE, OracleDbType.Date);

                    //RESULTMSG
                    paramIns.AddParamOutput(9, "RESULTMSG", OracleDbType.Varchar2, 255, "OK", insArr.Count());
                }

                #endregion

                #region Arrival Update #Flag=3

                var updArr = from arr in lstArrDtl
                             where arr.FLAG == 3
                             select arr;

                ProcParam paramUpd = null;

                if (updArr.Any() && updArr.Count() > 0)
                {
                    paramUpd = new ProcParam(9)
                    {
                        ProcedureName = "MTL_IN_PACK.T_ARRIVAL_DTL_UPD"
                    };

                    var arrARRIVAL_NO = (from arr in updArr
                                         select arr.ARRIVAL_NO).ToArray();
                    paramUpd.AddParamInput(0, "strARRIVAL_NO", arrARRIVAL_NO, OracleDbType.Varchar2);

                    var arrLINE_NO = (from arr in updArr
                                      select(object) arr.LINE_NO).ToArray();
                    paramUpd.AddParamInput(1, "strLINE_NO", arrLINE_NO, OracleDbType.Int32);

                    var arrMTL_SEQ_NO = (from arr in updArr
                                         select arr.MTL_SEQ_NO).ToArray();
                    paramUpd.AddParamInput(2, "strMTL_SEQ_NO", arrMTL_SEQ_NO, OracleDbType.Varchar2);

                    var arrUNIT_ID = (from arr in updArr
                                      select arr.UNIT_ID).ToArray();
                    paramUpd.AddParamInput(3, "strUNIT_ID", arrUNIT_ID, OracleDbType.Varchar2);

                    var arrQTY = (from arr in updArr
                                  select(object) arr.QTY).ToArray();
                    paramUpd.AddParamInput(4, "strQTY", arrQTY, OracleDbType.Decimal);

                    var arrREMARK = (from arr in updArr
                                     select arr.REMARK).ToArray();
                    paramUpd.AddParamInput(5, "strREMARK", arrREMARK, OracleDbType.Varchar2);

                    //strCREATED_BY
                    paramUpd.AddParamInput(6, "strUSER_ID", ArrayOf <object> .Create(updArr.Count(), userid), OracleDbType.Varchar2);

                    //REC_STATUS
                    paramUpd.AddParamInput(7, "strREC_STAT", ArrayOf <object> .Create(updArr.Count(), "Y"), OracleDbType.Varchar2);

                    //RESULTMSG
                    paramUpd.AddParamOutput(8, "RESULTMSG", OracleDbType.Varchar2, 255, "OK", updArr.Count());
                }

                #endregion

                #endregion

                GlobalDB.Instance.DataAc.ExecuteNonQuery(procHeader, paramDel, delArr.Count(), paramIns, insArr.Count(), paramUpd, updArr.Count());

                if (GlobalDB.Instance.LastException != null)
                {
                    throw GlobalDB.Instance.LastException;
                }


                resultMsg = "OK";
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(resultMsg);
        }
コード例 #8
0
        public string InsertArrival(T_ARRIVAL_HDR ArrHdr, List <T_ARRIVAL_DTL> lstArrDtl, string userid, out string ARRIVAL_NO)
        {
            string resultMsg = string.Empty;

            ARRIVAL_NO = string.Empty;

            try
            {
                #region "Transaction Header"

                ProcParam procHeader = new ProcParam(11)
                {
                    ProcedureName = "MTL_IN_PACK.T_ARRIVAL_HDR_INS"
                };

                procHeader.AddParamInOutput(0, "strARRIVAL_NO", OracleDbType.NVarchar2, 30, ArrHdr.ARRIVAL_NO);
                procHeader.AddParamInput(1, "strARRIVAL_DATE", ArrHdr.ARRIVAL_DATE);
                procHeader.AddParamInput(2, "strWH_ID", ArrHdr.WH_ID);
                procHeader.AddParamInput(3, "strPARTY_ID", ArrHdr.PARTY_ID);
                procHeader.AddParamInput(4, "strREF_NO ", ArrHdr.REF_NO);
                procHeader.AddParamInput(5, "strREF_DATE", ArrHdr.REF_DATE);
                procHeader.AddParamInput(6, "strREMARK", ArrHdr.REMARK);
                procHeader.AddParamInput(7, "strUSER_ID", ArrHdr.USER_ID);
                procHeader.AddParamInput(8, "strREC_STAT", ArrHdr.REC_STAT ? "Y" : "N");
                procHeader.AddParamInput(9, "strARR_TYPE", ArrHdr.ARR_TYPE);
                procHeader.AddParamOutput(10, "RESULTMSG", OracleDbType.NVarchar2, 255, "OK");


                #endregion "Transaction Header"

                #region "Transaction Detail"

                #region Arrival Insert #Flag=2

                var insArr = from arr in lstArrDtl
                             where arr.FLAG == 2
                             select arr;

                ProcParam paramIns = null;

                if (insArr.Any() && insArr.Count() > 0)
                {
                    paramIns = new ProcParam(10)
                    {
                        ProcedureName = "MTL_IN_PACK.T_ARRIVAL_DTL_INS"
                    };

                    var arrARRIVAL_NO = (from arr in insArr
                                         select arr.ARRIVAL_NO).ToArray();
                    paramIns.AddParamInput(0, "strARRIVAL_NO", arrARRIVAL_NO, OracleDbType.Varchar2);

                    var arrLINE_NO = (from arr in insArr
                                      select(object) arr.LINE_NO).ToArray();
                    paramIns.AddParamInput(1, "strLINE_NO", arrLINE_NO, OracleDbType.Int32);

                    var arrMTL_SEQ_NO = (from arr in insArr
                                         select arr.MTL_SEQ_NO).ToArray();
                    paramIns.AddParamInput(2, "strMTL_SEQ_NO", arrMTL_SEQ_NO, OracleDbType.Varchar2);

                    var arrUNIT_ID = (from arr in insArr
                                      select arr.UNIT_ID).ToArray();
                    paramIns.AddParamInput(3, "strUNIT_ID", arrUNIT_ID, OracleDbType.Varchar2);

                    var arrQTY = (from arr in insArr
                                  select(object) arr.QTY).ToArray();
                    paramIns.AddParamInput(4, "strQTY", arrQTY, OracleDbType.Decimal);

                    var arrREMARK = (from arr in insArr
                                     select arr.REMARK).ToArray();
                    paramIns.AddParamInput(5, "strREMARK", arrREMARK, OracleDbType.Varchar2);

                    //strCREATED_BY
                    paramIns.AddParamInput(6, "strUSER_ID", ArrayOf <object> .Create(insArr.Count(), userid), OracleDbType.Varchar2);

                    //REC_STATUS
                    paramIns.AddParamInput(7, "strREC_STAT", ArrayOf <object> .Create(insArr.Count(), "Y"), OracleDbType.Varchar2);


                    var arrLOT_DATE = (from arr in insArr
                                       select(object) arr.LOT_DATE).ToArray();
                    paramIns.AddParamInput(8, "strLOT_DATE", arrLOT_DATE, OracleDbType.Date);

                    //RESULTMSG
                    paramIns.AddParamOutput(9, "RESULTMSG", OracleDbType.Varchar2, 255, "OK", insArr.Count());
                }

                #endregion

                #endregion

                GlobalDB.Instance.DataAc.ExecuteNonQuery(procHeader, paramIns, insArr.Count(), 0, 0);

                if (GlobalDB.Instance.LastException != null)
                {
                    throw GlobalDB.Instance.LastException;
                }

                OracleString resultKey = (OracleString)procHeader.ReturnValue(0);
                OracleString result    = (OracleString)procHeader.ReturnValue(10);

                if (!resultKey.IsNull)
                {
                    ARRIVAL_NO = resultKey.Value;
                }

                if (!result.IsNull)
                {
                    resultMsg = result.Value;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(resultMsg);
        }
コード例 #9
0
        public DataSet PrintTO(List <string> lstTO, string userid)
        {
            //declare dataset and name.
            DataSet dtsResult = new DataSet("DTS_TRANSFER_ORDER");
            int     seqPrint  = 0;

            try
            {
                seqPrint = PrintingBuilder.Instance.GeneratePrintSEQ();

                ProcParam paramPrint = new ProcParam(4)
                {
                    ProcedureName = "GLOBAL_FUNCTION_PACK.T_PRINT_TRANSACTION_INS"
                };
                //param 0 - SEQ_NO
                paramPrint.AddParamInput(0, "strSEQ_NO", ArrayOf <object> .Create(lstTO.Count, seqPrint), OracleDbType.Varchar2);

                //param 1 - strTR1
                var arrTR_NO = (from trans in lstTO
                                select trans).ToArray();
                paramPrint.AddParamInput(1, "strTR1", arrTR_NO, OracleDbType.Varchar2);

                //param 2 - strTR2
                paramPrint.AddParamInput(2, "strTR2", ArrayOf <object> .Create(lstTO.Count, null), OracleDbType.Varchar2);

                //param 3 - strTR3
                paramPrint.AddParamInput(3, "strTR3", ArrayOf <object> .Create(lstTO.Count, null), OracleDbType.Varchar2);

                //insert value to print transaction.
                //PrintingBuilder.Instance.InsertTransactionPrint(paramPrint, lstTO.Count);

                //List<ProcParam> procInsTPrintList = new List<ProcParam>();
                //ProcParam procInsTPrint = null;
                //foreach (string tono in lstTO)
                //{
                //    procInsTPrint = new ProcParam(4);

                //    procInsTPrint.ProcedureName = "GLOBAL_FUNCTION_PACK.T_PRINT_TRANSACTION_INS";

                //    procInsTPrint.AddParamInput(0, "strSEQ_NO", seqPrint);
                //    procInsTPrint.AddParamInput(1, "strTR1", tono);
                //    procInsTPrint.AddParamInput(2, "strTR2", DBNull.Value);
                //    procInsTPrint.AddParamInput(3, "strTR3", DBNull.Value);

                //    procInsTPrintList.Add(procInsTPrint);
                //}

                ////insert value to print transaction.
                //PrintingBuilder.Instance.InsertTransactionPrint(procInsTPrintList);

                // DataTable dtHeader = PrintingBuilder.Instance.PrintTableResult("TO_PACK.RPT_TRANSFER_ORDER", seqPrint, "T_TRANSFER_ORDER");
                DataTable dtHeader = this.PrintTO(seqPrint, "T_TRANSFER_ORDER");

                dtsResult.Tables.Add(dtHeader);

                //PrintingBuilder.Instance.RemovePrintSEQ(seqPrint);

                return(dtsResult);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #10
0
        public string InsertPlan(string PlanType, DataTable DtExcelPlan_DTL, DateTime planDate, string userid)
        {
            string resultMsg = string.Empty;

            try
            {
                #region Transaction Header

                ProcParam paramHDR = new ProcParam(5)
                {
                    ProcedureName = "UPLOAD_PLAN.UPLOAD_PLAN_HDR_INSERT"
                };

                paramHDR.AddParamInOutput(0, "strPLAN_NO", OracleDbType.Varchar2, 30, "");
                paramHDR.AddParamInput(1, "strUSER_ID", userid);
                paramHDR.AddParamInput(2, "strTYPE", PlanType);
                paramHDR.AddParamInput(3, "strPLAN_DATE", planDate);
                paramHDR.AddParamOutput(4, "RESULTMSG", OracleDbType.NVarchar2, 255);

                #endregion
                #region Transaction Detail

                // DataRow[] insertRows = dtCOMPDtl.Rows;
                ProcParam paramDTL = null;

                if (DtExcelPlan_DTL.Rows.Count > 0)
                {
                    paramDTL = new ProcParam(34)
                    {
                        ProcedureName = "UPLOAD_PLAN.UPLOAD_PLAN_DTL_INSERT"
                    };

                    paramDTL.AddParamInput(0, "strPLAN_NO", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, ""), OracleDbType.Varchar2);

                    var arrMC_SIZE_TON = (from DataRow row in DtExcelPlan_DTL.Rows
                                          select row["MC_SIZE_TON"]).ToArray();
                    paramDTL.AddParamInput(1, "strMC_SIZE_TON", arrMC_SIZE_TON, OracleDbType.Varchar2);

                    var arrPDTL_BLOCK = (from DataRow row in DtExcelPlan_DTL.Rows
                                         select row["PDTL_BLOCK"]).ToArray();
                    paramDTL.AddParamInput(2, "strPDTL_BLOCK", arrPDTL_BLOCK, OracleDbType.Varchar2);

                    var arrMC_NO = (from DataRow row in DtExcelPlan_DTL.Rows
                                    select row["MC_NO"]).ToArray();
                    paramDTL.AddParamInput(3, "strMC_NO", arrMC_NO, OracleDbType.Varchar2);

                    var arrPDTL_SEQUENCE = (from DataRow row in DtExcelPlan_DTL.Rows
                                            select row["PDTL_SEQUENCE"]).ToArray();
                    paramDTL.AddParamInput(4, "strPDTL_SEQUENCE", arrPDTL_SEQUENCE, OracleDbType.Varchar2);

                    var arrPRODUCT_NO = (from DataRow row in DtExcelPlan_DTL.Rows
                                         select row["PRODUCT_NO"]).ToArray();
                    paramDTL.AddParamInput(5, "strPRODUCT_NO", arrPRODUCT_NO, OracleDbType.Varchar2);
                    if (PlanType == "H")
                    {
                        var arrPARTNAME = (from DataRow row in DtExcelPlan_DTL.Rows
                                           select row["PARTNAME"]).ToArray();
                        paramDTL.AddParamInput(6, "strPARTNAME", arrPARTNAME, OracleDbType.Varchar2);
                    }
                    else
                    {
                        paramDTL.AddParamInput(6, "strPARTNAME", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, ""), OracleDbType.Varchar2);
                    }
                    var arrMAT_TYPE = (from DataRow row in DtExcelPlan_DTL.Rows
                                       select row["MAT_TYPE"]).ToArray();
                    paramDTL.AddParamInput(7, "strMAT_TYPE", arrMAT_TYPE, OracleDbType.Varchar2);

                    if (PlanType == "V")
                    {
                        var arrINSERT_1 = (from DataRow row in DtExcelPlan_DTL.Rows
                                           select row["INSERT_1"]).ToArray();
                        paramDTL.AddParamInput(8, "strINSERT_1", arrINSERT_1, OracleDbType.Varchar2);

                        var arrINSERT_2 = (from DataRow row in DtExcelPlan_DTL.Rows
                                           select row["INSERT_2"]).ToArray();
                        paramDTL.AddParamInput(9, "strINSERT_2", arrINSERT_2, OracleDbType.Varchar2);

                        var arrINSERT_3 = (from DataRow row in DtExcelPlan_DTL.Rows
                                           select row["INSERT_3"]).ToArray();
                        paramDTL.AddParamInput(10, "strINSERT_3", arrINSERT_3, OracleDbType.Varchar2);

                        var arrTARGET_DAY = (from DataRow row in DtExcelPlan_DTL.Rows
                                             select row["TARGET_DAY"]).ToArray();
                        paramDTL.AddParamInput(24, "strTARGET_DAY", arrTARGET_DAY, OracleDbType.Int32);

                        var arrPROD_LOT = (from DataRow row in DtExcelPlan_DTL.Rows
                                           select row["PROD_LOT"]).ToArray();
                        paramDTL.AddParamInput(27, "strPROD_LOT", arrPROD_LOT, OracleDbType.Varchar2);
                    }
                    else
                    {
                        paramDTL.AddParamInput(8, "strINSERT_1", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, ""), OracleDbType.Varchar2);
                        paramDTL.AddParamInput(9, "strINSERT_2", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, ""), OracleDbType.Varchar2);
                        paramDTL.AddParamInput(10, "strINSERT_3", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, ""), OracleDbType.Varchar2);
                        paramDTL.AddParamInput(24, "strTARGET_DAY", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, null), OracleDbType.Int32);
                        paramDTL.AddParamInput(27, "strPROD_LOT", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, ""), OracleDbType.Varchar2);
                    }
                    var arrCAV_ACT = (from DataRow row in DtExcelPlan_DTL.Rows
                                      select row["CAV_ACT"]).ToArray();
                    paramDTL.AddParamInput(11, "strCAV_ACT", arrCAV_ACT, OracleDbType.Int32);

                    var arrCAV_FULL = (from DataRow row in DtExcelPlan_DTL.Rows
                                       select row["CAV_FULL"]).ToArray();
                    paramDTL.AddParamInput(12, "strCAV_FULL", arrCAV_FULL, OracleDbType.Int32);

                    var arrMP_START = (from DataRow row in DtExcelPlan_DTL.Rows
                                       select row["MP_START"]).ToArray();
                    paramDTL.AddParamInput(13, "strMP_START", arrMP_START, OracleDbType.Date);

                    var arrMP_FINISH = (from DataRow row in DtExcelPlan_DTL.Rows
                                        select row["MP_FINISH"]).ToArray();
                    paramDTL.AddParamInput(14, "strMP_FINISH", arrMP_FINISH, OracleDbType.Date);

                    var arrPLAN_MP_DAY = (from DataRow row in DtExcelPlan_DTL.Rows
                                          select row["PLAN_MP_DAY"]).ToArray();
                    paramDTL.AddParamInput(15, "strPLAN_MP_DAY", arrPLAN_MP_DAY, OracleDbType.Decimal);

                    var arrPRO_SHOT_WEIGHT = (from DataRow row in DtExcelPlan_DTL.Rows
                                              select row["PRO_SHOT_WEIGHT"]).ToArray();
                    paramDTL.AddParamInput(16, "strPRO_SHOT_WEIGHT", arrPRO_SHOT_WEIGHT, OracleDbType.Decimal);

                    var arrCYCLE_TIME = (from DataRow row in DtExcelPlan_DTL.Rows
                                         select row["CYCLE_TIME"]).ToArray();
                    paramDTL.AddParamInput(17, "strCYCLE_TIME", arrCYCLE_TIME, OracleDbType.Decimal);

                    var arrQTY_DAY = (from DataRow row in DtExcelPlan_DTL.Rows
                                      select row["QTY_DAY"]).ToArray();
                    paramDTL.AddParamInput(18, "strQTY_DAY", arrQTY_DAY, OracleDbType.Int32);

                    var arrTOTAL_MAT_USE_KG = (from DataRow row in DtExcelPlan_DTL.Rows
                                               select row["TOTAL_MAT_USE_KG"]).ToArray();
                    paramDTL.AddParamInput(19, "strTOTAL_MAT_USE_KG", arrTOTAL_MAT_USE_KG, OracleDbType.Decimal);

                    var arrTPCT_LOSS = (from DataRow row in DtExcelPlan_DTL.Rows
                                        select row["TPCT_LOSS"]).ToArray();
                    paramDTL.AddParamInput(20, "strTPCT_LOSS", arrTPCT_LOSS, OracleDbType.Decimal);

                    var arrQTY_PLAN = (from DataRow row in DtExcelPlan_DTL.Rows
                                       select row["QTY_PLAN"]).ToArray();
                    paramDTL.AddParamInput(21, "strQTY_PLAN", arrQTY_PLAN, OracleDbType.Int32);

                    var arrPLAN_MAT_AVG_DAY_KG = (from DataRow row in DtExcelPlan_DTL.Rows
                                                  select row["PLAN_MAT_AVG_DAY_KG"]).ToArray();
                    paramDTL.AddParamInput(22, "strPLAN_MAT_AVG_DAY_KG", arrPLAN_MAT_AVG_DAY_KG, OracleDbType.Decimal);

                    var arrMAT_DRY = (from DataRow row in DtExcelPlan_DTL.Rows
                                      select row["MAT_DRY"]).ToArray();
                    paramDTL.AddParamInput(23, "strMAT_DRY", arrMAT_DRY, OracleDbType.NVarchar2);

                    var arrPDTL_REMARK = (from DataRow row in DtExcelPlan_DTL.Rows
                                          select row["PDTL_REMARK"]).ToArray();
                    paramDTL.AddParamInput(25, "strPDTL_REMARK", arrPDTL_REMARK, OracleDbType.Varchar2);

                    var arrPARTY_ID = (from DataRow row in DtExcelPlan_DTL.Rows
                                       select row["PARTY_ID"]).ToArray();
                    paramDTL.AddParamInput(26, "strPARTY_ID", arrPARTY_ID, OracleDbType.Varchar2);



                    paramDTL.AddParamInput(28, "strN_USER_ID", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, userid), OracleDbType.Varchar2);

                    var arrPROD_SEQ_NO = (from DataRow row in DtExcelPlan_DTL.Rows
                                          select row["PROD_SEQ_NO"]).ToArray();
                    paramDTL.AddParamInput(29, "strPROD_SEQ_NO", arrPROD_SEQ_NO, OracleDbType.Varchar2);

                    paramDTL.AddParamInput(30, "strCHANGE_MOLD", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, 'N'), OracleDbType.Varchar2);
                    paramDTL.AddParamInput(31, "strCONTINUE_ORDER", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, 'N'), OracleDbType.Varchar2);
                    paramDTL.AddParamInput(32, "strREVISED_PLAN", ArrayOf <object> .Create(DtExcelPlan_DTL.Rows.Count, 'N'), OracleDbType.Varchar2);
                    //RESULTMSG
                    paramDTL.AddParamOutput(33, "RESULTMSG", OracleDbType.NVarchar2, 255, "OK", DtExcelPlan_DTL.Rows.Count);
                }

                #endregion
                GlobalDB.Instance.DataAc.ExecuteNonQuery(paramHDR, paramDTL, DtExcelPlan_DTL.Rows.Count, 0, 0);
                // GlobalDB.Instance.DataAc.ExecuteNonQuery(paramHDR, paramDTL, lstCOMPDtl.Count,0,0);
                if (GlobalDB.Instance.LastException != null)
                {
                    throw GlobalDB.Instance.LastException;
                }

                OracleString result = (OracleString)paramHDR.ReturnValue(4);


                if (!result.IsNull)
                {
                    resultMsg = result.Value;
                }
            }
            catch (Exception ex) {
                throw ex;
            }
            return(resultMsg);
        }
コード例 #11
0
        public string InsUpdDelPlanListFLAG(List <ULPlanDetail> lstArrDtl, string userid)
        {
            string resultMsg = string.Empty;

            try
            {
                #region "Transaction Detail"

                #region Arrival Delete #Flag=0

                var delArr = from arr in lstArrDtl
                             where arr.FLAG == 0
                             select arr;

                ProcParam paramDel = null;

                if (delArr.Any() && delArr.Count() > 0)
                {
                    paramDel = new ProcParam(4)
                    {
                        ProcedureName = "UPLOAD_PLAN.UPLOAD_PLAN_DTL_DELETE"
                    };

                    var arrPLAN_DTL_ID = (from arr in delArr
                                          select(object) arr.PLAN_DTL_ID).ToArray();
                    paramDel.AddParamInput(0, "strPLAN_DTL_ID", arrPLAN_DTL_ID, OracleDbType.Int32);

                    var arrPLAN_NO = (from arr in delArr
                                      select arr.PLAN_NO).ToArray();
                    paramDel.AddParamInput(1, "strPLAN_NO", arrPLAN_NO, OracleDbType.Varchar2);

                    paramDel.AddParamInput(2, "strUSER_ID", ArrayOf <object> .Create(delArr.Count(), userid), OracleDbType.Varchar2);

                    //RESULTMSG
                    paramDel.AddParamOutput(3, "RESULTMSG", OracleDbType.NVarchar2, 255, "OK", delArr.Count());
                }

                #endregion

                #region Arrival Insert #Flag=2

                var insArr = from arr in lstArrDtl
                             where arr.FLAG == 2
                             select arr;

                ProcParam paramIns = null;

                if (insArr.Any() && insArr.Count() > 0)
                {
                    paramIns = new ProcParam(34)
                    {
                        ProcedureName = "UPLOAD_PLAN.UPLOAD_PLAN_DTL_INSERT"
                    };

                    var arrPLAN_NO = (from arr in insArr
                                      select arr.PLAN_NO).ToArray();
                    paramIns.AddParamInput(0, "strPLAN_NO", arrPLAN_NO, OracleDbType.Varchar2);

                    var arrMC_SIZE_TON = (from arr in insArr
                                          select arr.MC_SIZE_TON).ToArray();
                    paramIns.AddParamInput(1, "strMC_SIZE_TON", arrMC_SIZE_TON, OracleDbType.Varchar2);

                    var arrPDTL_BLOCK = (from arr in insArr
                                         select arr.PDTL_BLOCK).ToArray();
                    paramIns.AddParamInput(2, "strPDTL_BLOCK", arrPDTL_BLOCK, OracleDbType.Varchar2);

                    var arrMC_NO = (from arr in insArr
                                    select arr.MC_NO).ToArray();
                    paramIns.AddParamInput(3, "strMC_NO", arrMC_NO, OracleDbType.Varchar2);

                    var arrPDTL_SEQUENCE = (from arr in insArr
                                            select arr.PDTL_SEQUENCE).ToArray();
                    paramIns.AddParamInput(4, "strPDTL_SEQUENCE", arrPDTL_SEQUENCE, OracleDbType.Varchar2);

                    var arrPRODUCT_NO = (from arr in insArr
                                         select arr.PRODUCT_NO).ToArray();
                    paramIns.AddParamInput(5, "strPRODUCT_NO", arrPRODUCT_NO, OracleDbType.Varchar2);

                    var arrPARTNAME = (from arr in insArr
                                       select arr.PARTNAME).ToArray();
                    paramIns.AddParamInput(6, "strPARTNAME", arrPARTNAME, OracleDbType.Varchar2);

                    var arrMAT_TYPE = (from arr in insArr
                                       select arr.MAT_TYPE).ToArray();
                    paramIns.AddParamInput(7, "strMAT_TYPE", arrMAT_TYPE, OracleDbType.Varchar2);

                    var arrINSERT_1 = (from arr in insArr
                                       select arr.INSERT_1).ToArray();
                    paramIns.AddParamInput(8, "strINSERT_1", arrINSERT_1, OracleDbType.Varchar2);

                    var arrINSERT_2 = (from arr in insArr
                                       select arr.INSERT_2).ToArray();
                    paramIns.AddParamInput(9, "strINSERT_2", arrINSERT_2, OracleDbType.Varchar2);

                    var arrINSERT_3 = (from arr in insArr
                                       select arr.INSERT_3).ToArray();
                    paramIns.AddParamInput(10, "strINSERT_3", arrINSERT_3, OracleDbType.Varchar2);

                    var arrCAV_ACT = (from arr in insArr
                                      select(object) arr.CAV_ACT).ToArray();
                    paramIns.AddParamInput(11, "strCAV_ACT", arrCAV_ACT, OracleDbType.Int32);

                    var arrCAV_FULL = (from arr in insArr
                                       select(object) arr.CAV_FULL).ToArray();
                    paramIns.AddParamInput(12, "strCAV_FULL", arrCAV_FULL, OracleDbType.Int32);

                    var arrMP_START = (from arr in insArr
                                       select(object) arr.MP_START).ToArray();
                    paramIns.AddParamInput(13, "strMP_START", arrMP_START, OracleDbType.Date);

                    var arrMP_FINISH = (from arr in insArr
                                        select(object) arr.MP_FINISH).ToArray();
                    paramIns.AddParamInput(14, "strMP_FINISH", arrMP_FINISH, OracleDbType.Date);

                    var arrPLAN_MP_DAY = (from arr in insArr
                                          select(object) arr.PLAN_MP_DAY).ToArray();
                    paramIns.AddParamInput(15, "strPLAN_MP_DAY", arrPLAN_MP_DAY, OracleDbType.Decimal);

                    var arrPRO_SHOT_WEIGHT = (from arr in insArr
                                              select(object) arr.PRO_SHOT_WEIGHT).ToArray();
                    paramIns.AddParamInput(16, "strPRO_SHOT_WEIGHT", arrPRO_SHOT_WEIGHT, OracleDbType.Decimal);

                    var arrCYCLE_TIME = (from arr in insArr
                                         select(object) arr.CYCLE_TIME).ToArray();
                    paramIns.AddParamInput(17, "strCYCLE_TIME", arrCYCLE_TIME, OracleDbType.Decimal);

                    var arrQTY_DAY = (from arr in insArr
                                      select(object) arr.QTY_DAY).ToArray();
                    paramIns.AddParamInput(18, "strQTY_DAY", arrQTY_DAY, OracleDbType.Int32);

                    var arrTOTAL_MAT_USE_KG = (from arr in insArr
                                               select(object) arr.TOTAL_MAT_USE_KG).ToArray();
                    paramIns.AddParamInput(19, "strTOTAL_MAT_USE_KG", arrTOTAL_MAT_USE_KG, OracleDbType.Decimal);

                    var arrTPCT_LOSS = (from arr in insArr
                                        select(object) arr.TPCT_LOSS).ToArray();
                    paramIns.AddParamInput(20, "strTPCT_LOSS", arrTPCT_LOSS, OracleDbType.Decimal);

                    var arrQTY_PLAN = (from arr in insArr
                                       select(object) arr.QTY_PLAN).ToArray();
                    paramIns.AddParamInput(21, "strQTY_PLAN", arrQTY_PLAN, OracleDbType.Int32);

                    var arrPLAN_MAT_AVG_DAY_KG = (from arr in insArr
                                                  select(object) arr.PLAN_MAT_AVG_DAY_KG).ToArray();
                    paramIns.AddParamInput(22, "strPLAN_MAT_AVG_DAY_KG", arrPLAN_MAT_AVG_DAY_KG, OracleDbType.Decimal);

                    var arrMAT_DRY = (from arr in insArr
                                      select(object) arr.MAT_DRY).ToArray();
                    paramIns.AddParamInput(23, "strMAT_DRY", arrMAT_DRY, OracleDbType.Decimal);

                    var arrTARGET_DAY = (from arr in insArr
                                         select(object) arr.TARGET_DAY).ToArray();
                    paramIns.AddParamInput(24, "strTARGET_DAY", arrTARGET_DAY, OracleDbType.Int32);

                    var arrPDTL_REMARK = (from arr in insArr
                                          select arr.PDTL_REMARK).ToArray();
                    paramIns.AddParamInput(25, "strPDTL_REMARK", arrPDTL_REMARK, OracleDbType.Varchar2);

                    var arrPARTY_ID = (from arr in insArr
                                       select arr.PARTY_ID).ToArray();
                    paramIns.AddParamInput(26, "strPARTY_ID", arrPARTY_ID, OracleDbType.Varchar2);

                    var arrPROD_LOT = (from arr in insArr
                                       select arr.PROD_LOT).ToArray();
                    paramIns.AddParamInput(27, "strPROD_LOT", arrPROD_LOT, OracleDbType.Varchar2);

                    paramIns.AddParamInput(28, "strN_USER_ID", ArrayOf <object> .Create(insArr.Count(), userid), OracleDbType.Varchar2);

                    var arrPROD_SEQ_NO = (from arr in insArr
                                          select arr.PROD_SEQ_NO).ToArray();
                    paramIns.AddParamInput(29, "strPROD_SEQ_NO", arrPROD_SEQ_NO, OracleDbType.Varchar2);

                    var arrCHANGE_MOLD = (from arr in insArr
                                          select(arr.CHANGE_MOLD ? "Y" : "N")).ToArray();
                    paramIns.AddParamInput(30, "strCHANGE_MOLD", arrCHANGE_MOLD, OracleDbType.Varchar2);

                    var arrCONTINUE_ORDER = (from arr in insArr
                                             select(arr.CONTINUE_ORDER ? "Y" : "N")).ToArray();
                    paramIns.AddParamInput(31, "strCONTINUE_ORDER", arrCONTINUE_ORDER, OracleDbType.Varchar2);

                    var arrREVISED_PLAN = (from arr in insArr
                                           select(arr.REVISED_PLAN ? "Y" : "N")).ToArray();
                    paramIns.AddParamInput(32, "strREVISED_PLAN", arrREVISED_PLAN, OracleDbType.Varchar2);

                    //RESULTMSG
                    paramIns.AddParamOutput(33, "RESULTMSG", OracleDbType.NVarchar2, 255, "OK", insArr.Count());
                }

                #endregion

                #region Arrival Update #Flag=3

                var updArr = from arr in lstArrDtl
                             where arr.FLAG == 3
                             select arr;

                ProcParam paramUpd = null;

                if (updArr.Any() && updArr.Count() > 0)
                {
                    paramUpd = new ProcParam(34)
                    {
                        ProcedureName = "UPLOAD_PLAN.UPLOAD_PLAN_DTL_UPDATE"
                    };

                    var arrPLAN_DTL_ID = (from arr in updArr
                                          select(object) arr.PLAN_DTL_ID).ToArray();
                    paramUpd.AddParamInput(0, "strPLAN_DTL_ID", arrPLAN_DTL_ID, OracleDbType.Int32);

                    var arrMC_SIZE_TON = (from arr in updArr
                                          select arr.MC_SIZE_TON).ToArray();
                    paramUpd.AddParamInput(1, "strMC_SIZE_TON", arrMC_SIZE_TON, OracleDbType.Varchar2);

                    var arrPDTL_BLOCK = (from arr in updArr
                                         select arr.PDTL_BLOCK).ToArray();
                    paramUpd.AddParamInput(2, "strPDTL_BLOCK", arrPDTL_BLOCK, OracleDbType.Varchar2);

                    var arrMC_NO = (from arr in updArr
                                    select arr.MC_NO).ToArray();
                    paramUpd.AddParamInput(3, "strMC_NO", arrMC_NO, OracleDbType.Varchar2);

                    var arrPDTL_SEQUENCE = (from arr in updArr
                                            select arr.PDTL_SEQUENCE).ToArray();
                    paramUpd.AddParamInput(4, "strPDTL_SEQUENCE", arrPDTL_SEQUENCE, OracleDbType.Varchar2);

                    var arrPRODUCT_NO = (from arr in updArr
                                         select arr.PRODUCT_NO).ToArray();
                    paramUpd.AddParamInput(5, "strPRODUCT_NO", arrPRODUCT_NO, OracleDbType.Varchar2);

                    var arrPARTNAME = (from arr in updArr
                                       select arr.PARTNAME).ToArray();
                    paramUpd.AddParamInput(6, "strPARTNAME", arrPARTNAME, OracleDbType.Varchar2);

                    var arrMAT_TYPE = (from arr in updArr
                                       select arr.MAT_TYPE).ToArray();
                    paramUpd.AddParamInput(7, "strMAT_TYPE", arrMAT_TYPE, OracleDbType.Varchar2);

                    var arrINSERT_1 = (from arr in updArr
                                       select arr.INSERT_1).ToArray();
                    paramUpd.AddParamInput(8, "strINSERT_1", arrINSERT_1, OracleDbType.Varchar2);

                    var arrINSERT_2 = (from arr in updArr
                                       select arr.INSERT_2).ToArray();
                    paramUpd.AddParamInput(9, "strINSERT_2", arrINSERT_2, OracleDbType.Varchar2);

                    var arrINSERT_3 = (from arr in updArr
                                       select arr.INSERT_3).ToArray();
                    paramUpd.AddParamInput(10, "strINSERT_3", arrINSERT_3, OracleDbType.Varchar2);

                    var arrCAV_ACT = (from arr in updArr
                                      select(object) arr.CAV_ACT).ToArray();
                    paramUpd.AddParamInput(11, "strCAV_ACT", arrCAV_ACT, OracleDbType.Int32);

                    var arrCAV_FULL = (from arr in updArr
                                       select(object) arr.CAV_FULL).ToArray();
                    paramUpd.AddParamInput(12, "strCAV_FULL", arrCAV_FULL, OracleDbType.Int32);

                    var arrMP_START = (from arr in updArr
                                       select(object) arr.MP_START).ToArray();
                    paramUpd.AddParamInput(13, "strMP_START", arrMP_START, OracleDbType.Date);

                    var arrMP_FINISH = (from arr in updArr
                                        select(object) arr.MP_FINISH).ToArray();
                    paramUpd.AddParamInput(14, "strMP_FINISH", arrMP_FINISH, OracleDbType.Date);

                    var arrPLAN_MP_DAY = (from arr in updArr
                                          select(object) arr.PLAN_MP_DAY).ToArray();
                    paramUpd.AddParamInput(15, "strPLAN_MP_DAY", arrPLAN_MP_DAY, OracleDbType.Decimal);

                    var arrPRO_SHOT_WEIGHT = (from arr in updArr
                                              select(object) arr.PRO_SHOT_WEIGHT).ToArray();
                    paramUpd.AddParamInput(16, "strPRO_SHOT_WEIGHT", arrPRO_SHOT_WEIGHT, OracleDbType.Decimal);

                    var arrCYCLE_TIME = (from arr in updArr
                                         select(object) arr.CYCLE_TIME).ToArray();
                    paramUpd.AddParamInput(17, "strCYCLE_TIME", arrCYCLE_TIME, OracleDbType.Decimal);

                    var arrQTY_DAY = (from arr in updArr
                                      select(object) arr.QTY_DAY).ToArray();
                    paramUpd.AddParamInput(18, "strQTY_DAY", arrQTY_DAY, OracleDbType.Int32);

                    var arrTOTAL_MAT_USE_KG = (from arr in updArr
                                               select(object) arr.TOTAL_MAT_USE_KG).ToArray();
                    paramUpd.AddParamInput(19, "strTOTAL_MAT_USE_KG", arrTOTAL_MAT_USE_KG, OracleDbType.Decimal);

                    var arrTPCT_LOSS = (from arr in updArr
                                        select(object) arr.TPCT_LOSS).ToArray();
                    paramUpd.AddParamInput(20, "strTPCT_LOSS", arrTPCT_LOSS, OracleDbType.Decimal);

                    var arrQTY_PLAN = (from arr in updArr
                                       select(object) arr.QTY_PLAN).ToArray();
                    paramUpd.AddParamInput(21, "strQTY_PLAN", arrQTY_PLAN, OracleDbType.Int32);

                    var arrPLAN_MAT_AVG_DAY_KG = (from arr in updArr
                                                  select(object) arr.PLAN_MAT_AVG_DAY_KG).ToArray();
                    paramUpd.AddParamInput(22, "strPLAN_MAT_AVG_DAY_KG", arrPLAN_MAT_AVG_DAY_KG, OracleDbType.Decimal);

                    var arrMAT_DRY = (from arr in updArr
                                      select(object) arr.MAT_DRY).ToArray();
                    paramUpd.AddParamInput(23, "strMAT_DRY", arrMAT_DRY, OracleDbType.Decimal);

                    var arrTARGET_DAY = (from arr in updArr
                                         select(object) arr.TARGET_DAY).ToArray();
                    paramUpd.AddParamInput(24, "strTARGET_DAY", arrTARGET_DAY, OracleDbType.Int32);

                    var arrPDTL_REMARK = (from arr in updArr
                                          select arr.PDTL_REMARK).ToArray();
                    paramUpd.AddParamInput(25, "strPDTL_REMARK", arrPDTL_REMARK, OracleDbType.Varchar2);

                    var arrPARTY_ID = (from arr in updArr
                                       select arr.PARTY_ID).ToArray();
                    paramUpd.AddParamInput(26, "strPARTY_ID", arrPARTY_ID, OracleDbType.Varchar2);

                    var arrPROD_LOT = (from arr in updArr
                                       select arr.PROD_LOT).ToArray();
                    paramUpd.AddParamInput(27, "strPROD_LOT", arrPROD_LOT, OracleDbType.Varchar2);

                    paramUpd.AddParamInput(28, "strU_USER_ID", ArrayOf <object> .Create(updArr.Count(), userid), OracleDbType.Varchar2);

                    var arrPROD_SEQ_NO = (from arr in updArr
                                          select arr.PROD_SEQ_NO).ToArray();
                    paramUpd.AddParamInput(29, "strPROD_SEQ_NO", arrPROD_SEQ_NO, OracleDbType.Varchar2);

                    var arrCHANGE_MOLD = (from arr in updArr
                                          select(arr.CHANGE_MOLD ? "Y" : "N")).ToArray();
                    paramUpd.AddParamInput(30, "strCHANGE_MOLD", arrCHANGE_MOLD, OracleDbType.Varchar2);

                    var arrCONTINUE_ORDER = (from arr in updArr
                                             select(arr.CONTINUE_ORDER ? "Y" : "N")).ToArray();
                    paramUpd.AddParamInput(31, "strCONTINUE_ORDER", arrCONTINUE_ORDER, OracleDbType.Varchar2);

                    var arrREVISED_PLAN = (from arr in updArr
                                           select(arr.REVISED_PLAN ? "Y" : "N")).ToArray();
                    paramUpd.AddParamInput(32, "strREVISED_PLAN", arrREVISED_PLAN, OracleDbType.Varchar2);

                    //RESULTMSG
                    paramUpd.AddParamOutput(33, "RESULTMSG", OracleDbType.NVarchar2, 255, "OK", updArr.Count());
                }

                #endregion

                #endregion

                GlobalDB.Instance.DataAc.ExecuteNonQuery(paramDel, delArr.Count(), paramIns, insArr.Count(), paramUpd, updArr.Count());

                if (GlobalDB.Instance.LastException != null)
                {
                    throw GlobalDB.Instance.LastException;
                }


                resultMsg = "OK";
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(resultMsg);
        }
コード例 #12
0
        public string UploadProductMaster(DataTable dt, string prodType, string userid)
        {
            try
            {
                ProcParam param = new ProcParam(14)
                {
                    ProcedureName = "MASTER_PACK.UPLOAD_PRODUCT_MASTER"
                };

                var arrPRODUCT_CODE = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Item ID")).ToArray();
                param.AddParamInput(0, "strPRODUCT_CODE", arrPRODUCT_CODE, OracleDbType.Varchar2);

                var arrPRODUCT_NAME = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Item Description")).ToArray();
                param.AddParamInput(1, "strPRODUCT_NAME", arrPRODUCT_NAME, OracleDbType.Varchar2);

                var arrPRODUCT_NAME_REF = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Description for Sales")).ToArray();
                param.AddParamInput(2, "strPRODUCT_NAME_REF", arrPRODUCT_NAME_REF, OracleDbType.Varchar2);

                var arrPRICE1 = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Sales Price 1")).ToArray();
                param.AddParamInput(3, "strPRICE1", arrPRICE1, OracleDbType.Decimal);

                var arrPRICE2 = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Sales Price 2")).ToArray();
                param.AddParamInput(4, "strPRICE2", arrPRICE2, OracleDbType.Decimal);

                var arrPRICE3 = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Sales Price 3")).ToArray();
                param.AddParamInput(5, "strPRICE3", arrPRICE3, OracleDbType.Decimal);

                var arrPRICE4 = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Sales Price 4")).ToArray();
                param.AddParamInput(6, "strPRICE4", arrPRICE4, OracleDbType.Decimal);

                var arrPRICE5 = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Sales Price 5")).ToArray();
                param.AddParamInput(7, "strPRICE5", arrPRICE5, OracleDbType.Decimal);

                var arrSALE_ACC_NO = dt.AsEnumerable().ToList().Select(r => r.Field <string>("G/L Sales Account")).ToArray();
                param.AddParamInput(8, "strSALE_ACC_NO", arrSALE_ACC_NO, OracleDbType.Varchar2);

                var arrCOS_ACC_NO = dt.AsEnumerable().ToList().Select(r => r.Field <string>("G/L COGS/Salary Acct")).ToArray();
                param.AddParamInput(9, "strCOS_ACC_NO", arrCOS_ACC_NO, OracleDbType.Varchar2);

                var arrCURRENT_REV_NO = dt.AsEnumerable().ToList().Select(r => r.Field <string>("Revision Number")).ToArray();
                param.AddParamInput(10, "strCURRENT_REV_NO", arrCURRENT_REV_NO, OracleDbType.Varchar2);

                param.AddParamInput(11, "strUSER_ID", ArrayOf <object> .Create(dt.Rows.Count, userid), OracleDbType.Varchar2);

                param.AddParamInput(12, "strPROD_TYPE", ArrayOf <object> .Create(dt.Rows.Count, prodType), OracleDbType.Varchar2);

                param.AddParamOutput(13, "RESULTMSG", OracleDbType.Varchar2, 255, "OK", dt.Rows.Count);

                GlobalDB.Instance.DataAc.ExecuteNonQuery(param, dt.Rows.Count);

                if (GlobalDB.Instance.LastException != null)
                {
                    throw GlobalDB.Instance.LastException;
                }
                else
                {
                    if (((Oracle.DataAccess.Types.OracleString[])(param.ReturnValue(13)))[0].Value == "OK")
                    {
                        return("OK");
                    }
                    else
                    {
                        return("Error");
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #13
0
        public DataSet PrintMachineReport(List <Machine> lstMachine)
        {
            //declare dataset and name.
            DataSet dtsResult = new DataSet("DTS_MACHINE");

            int seqPrint = 0;

            try
            {
                seqPrint = PrintingBuilder.Instance.GeneratePrintSEQ();

                ProcParam paramPrint = new ProcParam(4)
                {
                    ProcedureName = "GLOBAL_FUNCTION_PACK.T_PRINT_TRANSACTION_INS"
                };
                //param 0 - SEQ_NO
                paramPrint.AddParamInput(0, "strSEQ_NO", ArrayOf <object> .Create(lstMachine.Count, seqPrint), OracleDbType.Varchar2);

                //param 1 - strTR1
                var arrMC_NO = (from job in lstMachine
                                select job.MC_NO).ToArray();
                paramPrint.AddParamInput(1, "strTR1", arrMC_NO, OracleDbType.Varchar2);

                //param 2 - strTR2
                paramPrint.AddParamInput(2, "strTR2", ArrayOf <object> .Create(lstMachine.Count, null), OracleDbType.Varchar2);

                //param 3 - strTR3
                paramPrint.AddParamInput(3, "strTR3", ArrayOf <object> .Create(lstMachine.Count, null), OracleDbType.Varchar2);

                //insert value to print transaction.
                PrintingBuilder.Instance.InsertTransactionPrint(paramPrint, lstMachine.Count);

                //List<ProcParam> procInsTPrintList = new List<ProcParam>();
                //ProcParam procInsTPrint = null;
                //foreach (Machine mc in lstMachine)
                //{
                //    procInsTPrint = new ProcParam(4);

                //    procInsTPrint.ProcedureName = "GLOBAL_FUNCTION_PACK.T_PRINT_TRANSACTION_INS";

                //    procInsTPrint.AddParamInput(0, "strSEQ_NO", seqPrint);
                //    procInsTPrint.AddParamInput(1, "strTR1", mc.MC_NO);
                //    procInsTPrint.AddParamInput(2, "strTR2", DBNull.Value);
                //    procInsTPrint.AddParamInput(3, "strTR3", DBNull.Value);

                //    procInsTPrintList.Add(procInsTPrint);
                //}

                ////insert value to print transaction.
                //PrintingBuilder.Instance.InsertTransactionPrint(procInsTPrintList);

                DataTable dtDetail = this.GetPrintMachineOrder(seqPrint, "M_MACHINE");

                dtsResult.Tables.Add(dtDetail);

                PrintingBuilder.Instance.RemovePrintSEQ(seqPrint);

                dtsResult.AcceptChanges();
            }
            catch (Exception ex)
            {
                dtsResult = null;
                throw ex;
            }

            return(dtsResult);
        }
コード例 #14
0
        public DataSet PrintDeliverySlipReport(List <LoadingOrder> lstLoadingOrd)
        {
            //declare dataset and name.
            DataSet dtsResult = new DataSet("DTS_DELIVERY_SLIP");
            int     seqPrint  = 0;

            try
            {
                seqPrint = PrintingBuilder.Instance.GeneratePrintSEQ();

                ProcParam paramPrint = new ProcParam(4)
                {
                    ProcedureName = "GLOBAL_FUNCTION_PACK.T_PRINT_TRANSACTION_INS"
                };
                //param 0 - SEQ_NO
                paramPrint.AddParamInput(0, "strSEQ_NO", ArrayOf <object> .Create(lstLoadingOrd.Count, seqPrint), OracleDbType.Varchar2);

                //param 1 - strTR1
                var arrLOADING_NO = (from job in lstLoadingOrd
                                     select job.LOADING_NO).ToArray();
                paramPrint.AddParamInput(1, "strTR1", arrLOADING_NO, OracleDbType.Varchar2);

                //param 2 - strTR2
                paramPrint.AddParamInput(2, "strTR2", ArrayOf <object> .Create(lstLoadingOrd.Count, null), OracleDbType.Varchar2);

                //param 3 - strTR3
                paramPrint.AddParamInput(3, "strTR3", ArrayOf <object> .Create(lstLoadingOrd.Count, null), OracleDbType.Varchar2);

                //insert value to print transaction.
                PrintingBuilder.Instance.InsertTransactionPrint(paramPrint, lstLoadingOrd.Count);

                //List<ProcParam> procInsTPrintList = new List<ProcParam>();
                //ProcParam procInsTPrint = null;
                //foreach (LoadingOrder loadingOrd in lstLoadingOrd)
                //{
                //    procInsTPrint = new ProcParam(4);

                //    procInsTPrint.ProcedureName = "GLOBAL_FUNCTION_PACK.T_PRINT_TRANSACTION_INS";

                //    procInsTPrint.AddParamInput(0, "strSEQ_NO", seqPrint);
                //    procInsTPrint.AddParamInput(1, "strTR1", loadingOrd.LOADING_NO);
                //    procInsTPrint.AddParamInput(2, "strTR2", DBNull.Value);
                //    procInsTPrint.AddParamInput(3, "strTR3", DBNull.Value);

                //    procInsTPrintList.Add(procInsTPrint);
                //}

                ////insert value to print transaction.
                //PrintingBuilder.Instance.InsertTransactionPrint(procInsTPrintList);

                //get print value header
                DataTable dtHeader = PrintingBuilder.Instance.PrintTableResult("LOADING_PACK.RPT_DELIVERY_HDR",
                                                                               seqPrint,
                                                                               "T_LOADING_HDR");
                dtsResult.Tables.Add(dtHeader);
                //------------------------------------------------------------------------------------------
                //get print value detail
                DataTable dtDetail = PrintingBuilder.Instance.PrintTableResult("LOADING_PACK.RPT_DELIVERY_DTL",
                                                                               seqPrint,
                                                                               "T_LOADING_DTL");
                dtsResult.Tables.Add(dtDetail);
                //------------------------------------------------------------------------------------------
                dtsResult.Relations.Add("T_LOADING_HDR_T_LOADING_DTL",
                                        dtsResult.Tables["T_LOADING_HDR"].Columns["LOADING_NO"],
                                        dtsResult.Tables["T_LOADING_DTL"].Columns["LOADING_NO"]);

                PrintingBuilder.Instance.RemovePrintSEQ(seqPrint);

                dtsResult.AcceptChanges();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(dtsResult);
        }
コード例 #15
0
        public string UpdatePartyProduct(DataTable dtbPartyProduct, string userid)
        {
            string resultMsg = string.Empty;

            try
            {
                #region Transaction Detail Delete

                DataRow[] deleteRows = dtbPartyProduct.Select("[FLAG] = 0");
                ProcParam paramDel   = null;

                if (deleteRows.Length > 0)
                {
                    paramDel = new ProcParam(4)
                    {
                        ProcedureName = "MASTER_PACK.PARTY_PRODUCT_DEL"
                    };

                    //PARTY_ID
                    var arrPARTY_ID = (from DataRow row in deleteRows
                                       select row["PARTY_ID"]).ToArray();
                    paramDel.AddParamInput(0, "strPARTY_ID", arrPARTY_ID, OracleDbType.Varchar2);

                    //PROD_SEQ_NO
                    var arrPROD_SEQ_NO = (from DataRow row in deleteRows
                                          select row["PROD_SEQ_NO"]).ToArray();
                    paramDel.AddParamInput(1, "strPROD_SEQ_NO", arrPROD_SEQ_NO, OracleDbType.Varchar2);

                    //USER_ID
                    paramDel.AddParamInput(2, "strUSER_ID", ArrayOf <object> .Create(deleteRows.Length, userid), OracleDbType.Varchar2);

                    //RESULTMSG
                    paramDel.AddParamOutput(3, "RESULTMSG", OracleDbType.NVarchar2, 255, "OK", deleteRows.Length);
                }

                #endregion

                #region Transaction Detail Insert



                DataRow[] insertRows = dtbPartyProduct.Select("[FLAG] = 2");
                ProcParam paramIns   = null;

                if (insertRows.Length > 0)
                {
                    paramIns = new ProcParam(4)
                    {
                        ProcedureName = "MASTER_PACK.PARTY_PRODUCT_INS"
                    };

                    //PARTY_ID
                    var arrPARTY_ID = (from DataRow row in insertRows
                                       select row["PARTY_ID"]).ToArray();
                    paramIns.AddParamInput(0, "strPARTY_ID", arrPARTY_ID, OracleDbType.Varchar2);

                    //PROD_SEQ_NO
                    var arrPROD_SEQ_NO = (from DataRow row in insertRows
                                          select row["PROD_SEQ_NO"]).ToArray();
                    paramIns.AddParamInput(1, "strPROD_SEQ_NO", arrPROD_SEQ_NO, OracleDbType.Varchar2);

                    //USER_ID
                    paramIns.AddParamInput(2, "strUSER_ID", ArrayOf <object> .Create(insertRows.Length, userid), OracleDbType.Varchar2);

                    //RESULTMSG
                    paramIns.AddParamOutput(3, "RESULTMSG", OracleDbType.NVarchar2, 255, "OK", insertRows.Length);
                }

                #endregion

                GlobalDB.Instance.DataAc.ExecuteNonQuery(paramDel, deleteRows.Length, paramIns, insertRows.Length, null, -1);

                if (GlobalDB.Instance.LastException != null)
                {
                    throw GlobalDB.Instance.LastException;
                }

                resultMsg = "OK";
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(resultMsg);
        }
コード例 #16
0
        public string InsertMaterialSP(DataTable dt, string userid)
        {
            string resultMsg = string.Empty;

            try
            {
                string productNo = dt.Rows[0][0].ToString().Trim();
                IEnumerable <string> productList = dt.AsEnumerable().ToList().Select(r => r.Field <string>("PRODUCT_NO")).Distinct();

                foreach (string product in productList)
                {
                    DataRow[] dr = dt.Select("PRODUCT_NO = '" + product + "'");


                    ProcParam paramDel = new ProcParam(2)
                    {
                        ProcedureName = "MASTER_PACK.DEL_M_MATERIAL_SP"
                    };

                    paramDel.AddParamInput(0, "strPRODUCT_NO", product);
                    paramDel.AddParamOutput(1, "RESULTMSG", OracleDbType.Varchar2, 255);

                    GlobalDB.Instance.DataAc.ExecuteNonQuery(paramDel);

                    ProcParam paramHdr = new ProcParam(1)
                    {
                        ProcedureName = "MASTER_PACK.GET_MAT_SP_GROUP_NO"
                    };
                    paramHdr.AddParamOutput(0, "strMAT_SP_GROUP_NO", Oracle.DataAccess.Client.OracleDbType.NVarchar2, 255);

                    ProcParam paramDtl = new ProcParam(5)
                    {
                        ProcedureName = "MASTER_PACK.MATERIAL_SP_INS"
                    };

                    paramDtl.AddParamInput(0, "strMAT_SP_GROUP_NO", ArrayOf <object> .Create(dt.Rows.Count, String.Empty), OracleDbType.NVarchar2);

                    var arrProductNo = dr.Select(r => r.Field <string>("PRODUCT_NO")).ToArray();
                    paramDtl.AddParamInput(1, "strPRODUCT_NO", arrProductNo, OracleDbType.Varchar2);

                    var arrMatNo = dr.Select(r => r.Field <string>("MATERIAL_CODE")).ToArray();
                    paramDtl.AddParamInput(2, "strMATERIAL_NO", arrMatNo, OracleDbType.Varchar2);

                    paramDtl.AddParamInput(3, "strUSER", ArrayOf <object> .Create(dr.Count(), userid), OracleDbType.NVarchar2);

                    paramDtl.AddParamOutput(4, "RESULTMSG", OracleDbType.Varchar2, 255, "OK", dr.Count());

                    GlobalDB.Instance.DataAc.ExecuteNonQuery(paramHdr, paramDtl, dr.Count(), 0, 0);

                    if (GlobalDB.Instance.LastException != null)
                    {
                        throw GlobalDB.Instance.LastException;
                    }
                    else
                    {
                        OracleString lastArrivalNo = (OracleString)paramHdr.ReturnValue(0);
                        if (((Oracle.DataAccess.Types.OracleString[])(paramDtl.ReturnValue(4)))[0].Value == "OK")
                        {
                            resultMsg = "OK";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(resultMsg);
        }