Exemple #1
0
         public bool SubmitQCStockIn(ArrayList arrData, string userID)
         {
             bool ret = true;
             OracleDBObj obj = new OracleDBObj();
             obj.CreateConnection();
             obj.CreateTransaction();
             try
             {
                 for (int i =0; i<arrData.Count; ++i)
                 {
                     string[] str = arrData[i].ToString().Split('#');
                     if (str[1] == "STOCKIN")
                     {
                         StDAL.OnDB = false;
                         StDAL.GetDataByLOID(Convert.ToDouble(str[0]), obj.zTrans);
                         StockInItemDAL _itemDAL = new StockInItemDAL();
                         if (_itemDAL.GetDataList("WHERE STOCKIN = " + StDAL.LOID.ToString() + " AND QCRESULT NOT IN ('" + Constz.QCResult.Fail.Code + "', '" + Constz.QCResult.Pass.Code + "') ", obj.zTrans).Rows.Count == 0)
                             throw new ApplicationException("ÃкؼšÒõÃǨÊͺÃÒ¡ÒÃàÅ¢·Õè " + StDAL.CODE + " ãËé¤Ãº·Ø¡ÃÒ¡ÒÃ");
                         if (StDAL.STATUS == Constz.Requisition.Status.QC.Code)
                         {
                             StDAL.STATUS = Constz.Requisition.Status.Approved.Code;
                             ret = StDAL.UpdateCurrentData(userID, obj.zTrans);
                             if (!ret) throw new ApplicationException(StDAL.ErrorMessage);
                         }
                     }
                     else
                     {
                         PoDAl.OnDB = false;
                         PoDAl.GetDataByLOID(Convert.ToDouble(str[0]), obj.zTrans);
                         PDProductDAL _itemDAL = new PDProductDAL();
                         if (_itemDAL.GetDataList("WHERE PDPRODUCT = " + PoDAl.LOID.ToString() + " AND QCRESULT NOT IN ('" + Constz.QCResult.Fail.Code + "', '" + Constz.QCResult.Pass.Code + "') ", obj.zTrans).Rows.Count == 0)
                             throw new ApplicationException("ÃкؼšÒõÃǨÊͺÃÒ¡ÒÃàÅ¢·Õè " + PoDAl.CODE + " ãËé¤Ãº·Ø¡ÃÒ¡ÒÃ");
                         if (PoDAl.STATUS == Constz.Requisition.Status.QC.Code)
                         {
                             PoDAl.STATUS = Constz.Requisition.Status.Approved.Code;
                             ret = PoDAl.UpdateCurrentData(userID, obj.zTrans);
                             if (!ret) throw new ApplicationException(PoDAl.ErrorMessage);

                             ret = PoDAl.CutStock(Convert.ToDouble(str[0]), userID, obj.zTrans);
                             if (!ret) throw new ApplicationException(PoDAl.ErrorMessage);
                         }
                     }
                 }
                 obj.zTrans.Commit();
                 obj.CloseConnection();
             }
             catch (Exception ex)
             {
                 obj.zTrans.Rollback();
                 obj.CloseConnection();
                 ret = false;
                 _error = ex.Message;
             }
             return ret;
         }