예제 #1
0
 private void frmPhieuXuat_ChiTiet_Load(object sender, EventArgs e)
 {
     m_dtTmp = new DataTable("tableTmp");
     m_dtTmp.Columns.Add("ID_VatTu", typeof(int));
     m_dtTmp.Columns.Add("ID_TheKho", typeof(int));
     m_dtTmp.Columns.Add("SoLuong", typeof(int));
     if (GlobalVariables.m_Flag == 0)
     {
         // số phiếu xuất
         clsPhieuXuat cls = new clsPhieuXuat();
         cls.SelectLast_IDPX();
         txtSoPhieuXuat.Text = "PX-" + DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + cls.ID_PhieuXuat;
         LoadKho();
         dtpNgayHachToan.Value = DateTime.Now;
         dtpNgayXuatKho.Value  = DateTime.Now;
     }
     else
     {
         LoadKho();
         LoadDetail();
         LoadfgChiTietPhieuXuatWTSua(m_iID_Kho, m_iID_PX);
         if (m_iTrangThai == (int)GlobalVariables.TrangThai.GhiTheKho || m_iTrangThai == (int)GlobalVariables.TrangThai.PheDuyet ||
             m_iTrangThai == (int)GlobalVariables.TrangThai.TrinhDuyet)
         {
             LockEdit(false);
         }
         else
         {
             cboKhoXuat.Enabled = false;
         }
     }
 }
예제 #2
0
        private void LoadfgChiTietPhieuXuatWTSua(int iID_Kho, int iID_PhieuXuat)
        {
            fgChiTietXuat.BeginUpdate();
            clsPhieuXuat cls = new clsPhieuXuat();

            //txtSoPhieuXuat.Text = cls.So_PhieuXuat.ToString();
            cls.ID_Kho       = iID_Kho;
            cls.ID_PhieuXuat = iID_PhieuXuat;
            DataTable dt     = cls.SelectPX_SoLuong();
            int       iSTT   = 1;
            int       sum    = 0;
            int       SLXuat = 0;

            fgChiTietXuat.Rows.Count = fgChiTietXuat.Rows.Fixed + 1;
            fgChiTietXuat[fgChiTietXuat.Rows.Count - 1, "Ten_VatTu"]   = "Tổng";
            fgChiTietXuat[fgChiTietXuat.Rows.Count - 1, "SoLuongXuat"] = 0;
            fgChiTietXuat.Rows[fgChiTietXuat.Rows.Count - 1].Style     = cs;
            foreach (DataRow dr in dt.Rows)
            {
                Row fgRow = fgChiTietXuat.Rows.Add();
                fgRow["STT"] = iSTT;
                iSTT++;
                fgRow["ID_VatTu"]       = dr["ID_VatTu"];
                fgRow["Ten_VatTu"]      = dr["Ten_VatTu"];
                fgRow["SoLuongHienTai"] = dr["SoLuongHienTai"];
                if ((fgRow["SoLuongXuat"] ?? "").ToString() == "")
                {
                    fgRow["SoLuongXuat"] = 0;
                }

                fgRow["SoLuongXuat"] = dr["SoLuong"];
                fgChiTietXuat.SetCellStyle(iSTT, 4, cs1);
                sum += int.Parse(dr["SoLuongHienTai"].ToString());
            }
            for (int i = fgChiTietXuat.Rows.Fixed + 1; i < fgChiTietXuat.Rows.Count; i++)
            {
                if (fgChiTietXuat[i, "SoLuongXuat"] != null)
                {
                    SLXuat += int.Parse(fgChiTietXuat[i, "SoLuongXuat"].ToString());
                }
            }

            fgChiTietXuat[fgChiTietXuat.Rows.Fixed, "SoLuongHienTai"] = sum;
            fgChiTietXuat[fgChiTietXuat.Rows.Fixed, "SoLuongXuat"]    = SLXuat;

            fgChiTietXuat.EndUpdate();
        }
예제 #3
0
        private void btnLuu_Click(object sender, EventArgs e)
        {
            clsPhieuXuat cls = new clsPhieuXuat();

            cls.ID_Kho         = int.Parse(cboKhoXuat.EditValue.ToString());
            cls.Ngay_HachToan  = (DateTime)dtpNgayHachToan.Value;
            cls.So_PhieuXuat   = txtSoPhieuXuat.Text;
            cls.Ngay_XuatKho   = (DateTime)dtpNgayXuatKho.Value;
            cls.Ngay_Lap       = GlobalVariables.NgayLV;
            cls.Ngay_PheDuyet  = GlobalVariables.NgayLV;
            cls.Nguoi_Lap      = "ABC";
            cls.Nguoi_PheDuyet = "";
            cls.TrangThai      = 0;
            cls.TonTai         = true;
            if (IsValidPhieuXuat())
            {
                try
                {
                    if (GlobalVariables.m_Flag == 0)
                    {
                        cls.Insert();
                        SavePhieuChiTiet(int.Parse(cls.ID_PhieuXuat.ToString()));
                        SavePhieuChiTiet_TheKho(int.Parse(cls.ID_PhieuXuat.ToString()));
                    }
                    else
                    {
                        cls.Update();
                        SavePhieuChiTiet(m_iID_PX);
                        SavePhieuChiTiet_TheKho(m_iID_PX);
                    }
                    BaseMessages.ShowInformationMessage("Cập nhật thành công.");
                    m_dtTmp.Dispose();
                    this.Close();
                    GlobalVariables.m_Flag = 100;
                }
                catch (Exception ex)
                {
                    BaseMessages.ShowErrorMessage(ex.ToString());
                }
            }
        }
예제 #4
0
        private bool IsValidPhieuXuat()
        {
            if ((txtSoPhieuXuat.Text ?? "") == "" || cboKhoXuat.EditValue == null || dtpNgayHachToan.Text == "" || dtpNgayXuatKho.Text == "")
            {
                BaseMessages.ShowInformationMessage("Vui lòng nhập đầy đủ thông tin.");
                return(false);
            }
            else
            {
                clsPhieuXuat cls = new clsPhieuXuat();
                DataTable    dt  = cls.SelectAll();
                foreach (DataRow dr in dt.Rows)
                {
                    if (txtSoPhieuXuat.Text.Trim() == dr["So_PhieuXuat"].ToString().Trim())
                    {
                        if (GlobalVariables.m_Flag != 0)
                        {
                            continue;
                        }
                        BaseMessages.ShowErrorMessage("Trùng số phiếu. Vui lòng nhập lại.");
                        return(false);
                    }
                }

                if (fgChiTietTheKho.Row < 0 && GlobalVariables.m_Flag == 0)
                {
                    BaseMessages.ShowInformationMessage("Vui lòng chọn vật tư.");
                    return(false);
                }
                if (!IsValidPhieuXuatTheKho())
                {
                    BaseMessages.ShowInformationMessage("Vui lòng nhập số lượng vật tư và số vật tư xuất phải bé hơn vật tư có trong kho.");
                    return(false);
                }
            }
            return(true);
        }