public bool CapNhatPhieuKiemKe(PhieuKiemKe pkkobj) { try { if (conn.State != System.Data.ConnectionState.Open) { conn.Open(); } string statement = "EXEC PHIEUKIEMKE_Upd @MaPKK, @CodePKK, @Ngaytao, @MaNV"; SqlCommand cmd = new SqlCommand(statement, conn); cmd.Parameters.Add("@MaPKK", System.Data.SqlDbType.VarChar).Value = pkkobj.MiMaPKK.ToString(); cmd.Parameters.Add("@CodePKK", System.Data.SqlDbType.NVarChar).Value = pkkobj.MsCodePKK; cmd.Parameters.Add("@Ngaytao", System.Data.SqlDbType.NVarChar).Value = pkkobj.MdtNgaytao.ToString(); cmd.Parameters.Add("@MaNV", System.Data.SqlDbType.VarChar).Value = pkkobj.MiMaNV.ToString(); cmd.ExecuteNonQuery(); conn.Close(); return(true); } catch (Exception) { conn.Close(); return(false); } }
public PhieuKiemKe PhieuKiemKeByMaPKK(string sMaPKK) { try { if (conn.State != ConnectionState.Open) { conn.Open(); } SqlCommand cmd = new SqlCommand("EXEC SUCO_ById @MaPKK ", conn); cmd.Parameters.Add("@MaPKK", SqlDbType.VarChar).Value = sMaPKK; SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); conn.Close(); PhieuKiemKe result = new PhieuKiemKe(Int32.Parse(dt.Rows[0][0].ToString()), dt.Rows[0][1].ToString(), Convert.ToDateTime(dt.Rows[0][2].ToString()), Int32.Parse(dt.Rows[0][3].ToString()), Int32.Parse(dt.Rows[0][4].ToString())); return(result); } catch (Exception) { conn.Close(); return(null); } }
public ActionResult DeleteConfirmed(string id) { PhieuKiemKe phieuKiemKe = db.PhieuKiemKes.Find(id); db.PhieuKiemKes.Remove(phieuKiemKe); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "MaPKK,MaNV,NgayCapThe")] PhieuKiemKe phieuKiemKe) { if (ModelState.IsValid) { db.Entry(phieuKiemKe).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.MaNV = new SelectList(db.NhanViens, "MaNV", "Ten", phieuKiemKe.MaNV); return(View(phieuKiemKe)); }
public ActionResult Create([Bind(Include = "MaPKK,MaNV,NgayCapThe")] PhieuKiemKe phieuKiemKe) { if (ModelState.IsValid) { db.PhieuKiemKes.Add(phieuKiemKe); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.MaNV = new SelectList(db.NhanViens, "MaNV", "Ten", phieuKiemKe.MaNV); return(View(phieuKiemKe)); }
// GET: Administrator/PhieuKiemKes/Details/5 public ActionResult Details(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PhieuKiemKe phieuKiemKe = db.PhieuKiemKes.Find(id); if (phieuKiemKe == null) { return(HttpNotFound()); } return(View(phieuKiemKe)); }
// GET: Administrator/PhieuKiemKes/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PhieuKiemKe phieuKiemKe = db.PhieuKiemKes.Find(id); if (phieuKiemKe == null) { return(HttpNotFound()); } ViewBag.MaNV = new SelectList(db.NhanViens, "MaNV", "Ten", phieuKiemKe.MaNV); return(View(phieuKiemKe)); }
private void btnLuu_Click(object sender, EventArgs e) { PhieuKiemKe pkk = new PhieuKiemKe(); pkk.MaNhanVien = "NV0001"; pkk.MaPhieuKiemKe = txtMaPhieu.Text.Trim(); pkk.NgayLap = deNgayLap.DateTime; if (PhieuKiemKeService.Insert(pkk)) { for (int i = 0; i < grvPhieuKiemKe.RowCount; i++) { ChiTietKiemKe ctkk = new ChiTietKiemKe(); ctkk.MaPhieuKiemKe = pkk.MaPhieuKiemKe; ctkk.MaHangHoa = grvPhieuKiemKe.GetRowCellValue(i, "MaHangHoa").ToString(); ctkk.SLTonTrenQuay = Convert.ToInt32(grvPhieuKiemKe.GetRowCellValue(i, "SLTonTrenQuay").ToString()); ctkk.SLTonTrongKho = Convert.ToInt32(grvPhieuKiemKe.GetRowCellValue(i, "SLTonTrongKho").ToString()); if (!ChiTietKiemKeService.Insert(ctkk)) { XtraMessageBox.Show("Lưu thất bại!"); if (i > 0) { if (!ChiTietKiemKeService.Delete(pkk.MaPhieuKiemKe)) { XtraMessageBox.Show("Roll back không thành công!"); return; } } if (PhieuKiemKeService.Delete(pkk.MaPhieuKiemKe)) { XtraMessageBox.Show("Roll back thành công!"); } else { XtraMessageBox.Show("Roll back không thành công!"); } return; } } XtraMessageBox.Show("Lưu thành công!"); isSaved = true; } else { XtraMessageBox.Show("Lưu thất bại!"); } }
public bool Update(PhieuKiemKe phieukiemke) { return(_connect.Update("SP_PHIEUKIEMKE_UPD", phieukiemke)); }
public bool Insert(PhieuKiemKe phieukiemke) { return(_connect.Update(phieukiemke)); }
public static bool Update(PhieuKiemKe phieukiemke) { return(Controller.Update(phieukiemke)); }
public static bool Insert(PhieuKiemKe phieukiemke) { return(Controller.Insert(phieukiemke)); }
// luu thong tin Phieu Kiem Ke (ca truong hop tao moi + update) public int SaveInventory(String maNhaThuoc, int userId, InventoryDetailModel model) { var phieuKiemKeRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKe> >(); var phieuKiemKeChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKeChiTiet> >(); var phieuNhapRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhap> >(); var phieuXuatRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuXuat> >(); var phieuNhapChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhapChiTiet> >(); var phieuXuatChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuXuatChiTiet> >(); var validDrugRepo = _dataFilterService.GetValidDrugs(maNhaThuoc); bool canKho = model.DaCanKho; // add thêm giá trị giờ phút vào ngày tạo model.CreateTime = model.CreateTime.WithCurrentTime(); // return value = mã phiếu nếu lưu phiếu thành công int retval = 0; var inventoryDrugCodes = model.MedicineList.Select(i => i.MaThuoc.ToLower()).ToList(); var inventoryDrugQuery = from d in validDrugRepo where (inventoryDrugCodes.Contains(d.MaThuoc.ToLower())) select new { d.MaThuoc, d.ThuocId, d.DonViXuatLe_MaDonViTinh, d.GiaNhap }; var inventoryDrugQueryResult = inventoryDrugQuery.ToDictionary(x => x.MaThuoc.ToLower(), x => new { x.ThuocId, x.DonViXuatLe_MaDonViTinh, x.GiaNhap }); // tạo 1 đối tượng phiếu kiểm kê và lưu/cập nhật đối tượng này vào bảng PhieuKiemKes trong DB PhieuKiemKe phieuKiemKe = null; // TH tạo phiếu kiểm kê mới if (model.Id == 0) { phieuKiemKe = new PhieuKiemKe { NhaThuoc_MaNhaThuoc = maNhaThuoc, CreatedBy_UserId = userId, Created = model.CreateTime, DaCanKho = canKho, RecordStatusID = (byte)RecordStatus.Activated }; phieuKiemKeRepo.Insert(phieuKiemKe); phieuKiemKeRepo.Commit(); } // TH update phiếu đã tạo else { var pkkQuery = from pkk in phieuKiemKeRepo.GetAll() where (pkk.MaPhieuKiemKe == model.Id) select pkk; phieuKiemKe = pkkQuery.FirstOrDefault(); phieuKiemKe.Modified = DateTime.Now; phieuKiemKe.DaCanKho = canKho; phieuKiemKe.ModifiedBy_UserId = userId; phieuKiemKeRepo.Update(phieuKiemKe); phieuKiemKeRepo.Commit(); } retval = phieuKiemKe.MaPhieuKiemKe; // TH chọn cân kho, tạo phiếu điều chỉnh sau kiểm kê if (canKho) { // tạo phiếu nhập mới var nhaCungCap = EnsureNhaCungCapKiemKe(maNhaThuoc, userId); var loaiKiemKe = EnsureLoaiXuatNhapKiemKe(); var receiptService = IoC.Container.Resolve <IReceiptNoteService>(); var deliveryService = IoC.Container.Resolve <IDeliveryNoteService>(); var phieuNhap = new PhieuNhap() { Created = DateTime.Now, CreatedBy_UserId = userId, NhaCungCap_MaNhaCungCap = nhaCungCap.MaNhaCungCap, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoPhieuNhap = receiptService.GetNewReceiptNoteNumber(maNhaThuoc), NgayNhap = phieuKiemKe.Created, LoaiXuatNhap_MaLoaiXuatNhap = loaiKiemKe.MaLoaiXuatNhap }; phieuNhapRepo.Insert(phieuNhap); // tạo phiếu xuất mới var phieuXuat = new PhieuXuat() { Created = DateTime.Now, CreatedBy_UserId = userId, NhaCungCap_MaNhaCungCap = nhaCungCap.MaNhaCungCap, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoPhieuXuat = deliveryService.GetNewDeliveryNoteNumber(maNhaThuoc), NgayXuat = phieuKiemKe.Created, MaLoaiXuatNhap = loaiKiemKe.MaLoaiXuatNhap }; phieuXuatRepo.Insert(phieuXuat); var phieuXuatChiTiets = new List <PhieuXuatChiTiet>(); var phieuNhapChiTiets = new List <PhieuNhapChiTiet>(); model.MedicineList.ForEach(e => { var chenhLech = e.ThucTe.HasValue ? e.TonKho - e.ThucTe : e.TonKho; var drugId = inventoryDrugQueryResult[e.MaThuoc.ToLower()].ThuocId; var maDonViTinh = inventoryDrugQueryResult[e.MaThuoc.ToLower()].DonViXuatLe_MaDonViTinh; var gia = inventoryDrugQueryResult[e.MaThuoc.ToLower()].GiaNhap; if (chenhLech > 0) { // tao phieu xuat dieu chinh kiem ke var dItem = new PhieuXuatChiTiet() { DonViTinh_MaDonViTinh = maDonViTinh.Value, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoLuong = chenhLech.Value, Thuoc_ThuocId = drugId, GiaXuat = e.Gia != 0 ? e.Gia : gia, }; phieuXuatChiTiets.Add(dItem); } else if (chenhLech < 0) { // tao phieu nhap dieu chinh kiem ke var rItem = new PhieuNhapChiTiet() { DonViTinh_MaDonViTinh = maDonViTinh, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoLuong = chenhLech.Value * -1, Thuoc_ThuocId = drugId, GiaNhap = e.Gia != 0 ? e.Gia : gia, SoLo = e.SoLo, HanDung = e.HanDung, }; phieuNhapChiTiets.Add(rItem); } }); // tính tổng tiền và đã trả cho phiếu nhập xuất rồi insert bản ghi vào DB phieuNhap.TongTien = phieuNhapChiTiets.Sum(a => a.SoLuong * a.GiaNhap); phieuNhap.DaTra = phieuNhap.TongTien; phieuXuat.TongTien = phieuXuatChiTiets.Sum(a => a.SoLuong * a.GiaXuat); phieuXuat.DaTra = phieuXuat.TongTien; phieuNhapRepo.Commit(); phieuXuatRepo.Commit(); // cập nhật mã phiếu nhập/xuất vào phiếu nhập xuất chi tiết phieuNhapChiTiets.ForEach(i => { i.PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap; i.IsModified = true; }); phieuXuatChiTiets.ForEach(i => { i.PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat; i.IsModified = true; }); phieuNhapChiTietRepo.InsertMany(phieuNhapChiTiets); phieuNhapChiTietRepo.Commit(); phieuXuatChiTietRepo.InsertMany(phieuXuatChiTiets); phieuXuatChiTietRepo.Commit(); // cập nhật mã phiếu nhập/xuất vào Phiếu kiểm kê phieuKiemKeRepo.UpdateMany(i => i.MaPhieuKiemKe == retval, i => new PhieuKiemKe() { PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap, PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat }); phieuKiemKeRepo.Commit(); } // TH phiếu đã lưu thì xóa các bản ghi phiếu kiểm kê chi tiết cũ if (model.Id > 0) { phieuKiemKeChiTietRepo.Delete(i => i.PhieuKiemKe_MaPhieuKiemKe == model.Id); phieuKiemKeChiTietRepo.Commit(); } List <PhieuKiemKeChiTiet> phieuKiemKeChiTiets = new List <PhieuKiemKeChiTiet>(); foreach (var thuoc in model.MedicineList) { phieuKiemKeChiTiets.Add(new PhieuKiemKeChiTiet { PhieuKiemKe_MaPhieuKiemKe = retval, Thuoc_ThuocId = inventoryDrugQueryResult[thuoc.MaThuoc.ToLower()].ThuocId, TonKho = thuoc.TonKho, ThucTe = thuoc.ThucTe, DonGia = thuoc.Gia, SoLo = thuoc.SoLo, HanDung = thuoc.HanDung, RecordStatusID = (byte)RecordStatus.Activated }); } phieuKiemKeChiTietRepo.InsertMany(phieuKiemKeChiTiets); phieuKiemKeChiTietRepo.Commit(); return(retval); }
// luu thong tin Phieu Kiem Ke (ca truong hop tao moi + update) public int SaveInventory(String maNhaThuoc, String maNhaThuocCha, int userId, InventoryDetailModel model) { var phieuKiemKeRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKe> >(); var phieuKiemKeChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuKiemKeChiTiet> >(); var phieuNhapRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhap> >(); var phieuXuatRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuXuat> >(); var phieuNhapChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuNhapChiTiet> >(); var phieuXuatChiTietRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, PhieuXuatChiTiet> >(); var drugRepo = IoC.Container.Resolve <BaseRepositoryV2 <MedDbContext, Thuoc> >(); bool canKho = model.IsCompareStore; var currentDate = DateTime.Now; model.CreateTime = model.CreateTime.AddHours(currentDate.Hour).AddMinutes(currentDate.Minute).AddSeconds(currentDate.Second); int retval = 0; var drugCodes = model.MedicineList.Select(i => i.MaThuoc.ToLower()).ToList(); var query = from d in drugRepo.GetAll() where (drugCodes.Contains(d.MaThuoc.ToLower()) && (d.NhaThuoc_MaNhaThuoc == maNhaThuoc || d.NhaThuoc_MaNhaThuoc == maNhaThuocCha)) select new { d.MaThuoc, d.ThuocId, d.DonViXuatLe_MaDonViTinh, d.GiaNhap }; var drugs = query.ToDictionary(x => x.MaThuoc.ToLower(), x => new { x.ThuocId, x.DonViXuatLe_MaDonViTinh, x.GiaNhap }); // tạo 1 đối tượng phiếu kiểm kê và lưu/cập nhật đối tượng này vào bảng PhieuKiemKes trong DB PhieuKiemKe phieuKiemKe = null; // TH tạo phiếu kiểm kê mới if (model.Id == 0) { phieuKiemKe = new PhieuKiemKe { //MaPhieuKiemKe = model.Id, NhaThuoc_MaNhaThuoc = maNhaThuoc, CreatedBy_UserId = userId, Created = model.CreateTime, DaCanKho = canKho, RecordStatusId = (int)RecordStatus.Activated }; phieuKiemKeRepo.Insert(phieuKiemKe); phieuKiemKeRepo.Commit(); } // TH update phiếu đã tạo else { var pkkQuery = from pkk in phieuKiemKeRepo.GetAll() where (pkk.MaPhieuKiemKe == model.Id) select pkk; phieuKiemKe = pkkQuery.FirstOrDefault(); phieuKiemKe.Modified = DateTime.Now; phieuKiemKe.DaCanKho = canKho; phieuKiemKe.ModifiedBy_UserId = userId; phieuKiemKeRepo.Update(phieuKiemKe); phieuKiemKeRepo.Commit(); } retval = phieuKiemKe.MaPhieuKiemKe; // TH chọn cân kho, tạo phiếu điều chỉnh sau kiểm kê if (canKho) { // tạo phiếu nhập mới var nhaCungCap = EnsureNhaCungCapKiemKe(maNhaThuoc, userId); var loaiKiemKe = EnsureLoaiXuatNhapKiemKe(); var phieuNhap = new PhieuNhap() { Created = DateTime.Now, CreatedBy_UserId = userId, NhaCungCap_MaNhaCungCap = nhaCungCap.MaNhaCungCap, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoPhieuNhap = _generateAvaliableSoPhieuNhap(maNhaThuoc), NgayNhap = phieuKiemKe.Created, LoaiXuatNhap_MaLoaiXuatNhap = loaiKiemKe.MaLoaiXuatNhap }; phieuNhapRepo.Insert(phieuNhap); //phieuNhapRepo.Commit(); // tạo phiếu xuất mới var phieuXuat = new Entity.PhieuXuat() { Created = DateTime.Now, CreatedBy_UserId = userId, NhaCungCap_MaNhaCungCap = nhaCungCap.MaNhaCungCap, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoPhieuXuat = _generateAvaliableSoPhieuXuat(maNhaThuoc), NgayXuat = phieuKiemKe.Created, MaLoaiXuatNhap = loaiKiemKe.MaLoaiXuatNhap }; phieuXuatRepo.Insert(phieuXuat); //phieuXuatRepo.Commit(); var phieuXuatChiTiets = new List <PhieuXuatChiTiet>(); var phieuNhapChiTiets = new List <PhieuNhapChiTiet>(); model.MedicineList.ForEach(e => { var chenhLech = e.ThucTe.HasValue ? e.TonKho - e.ThucTe : e.TonKho; var drugId = drugs[e.MaThuoc.ToLower()].ThuocId; var maDonViTinh = drugs[e.MaThuoc.ToLower()].DonViXuatLe_MaDonViTinh; var gia = drugs[e.MaThuoc.ToLower()].GiaNhap; if (chenhLech > 0) { // tao phieu xuat dieu chinh kiem ke var dItem = new PhieuXuatChiTiet() { DonViTinh_MaDonViTinh = maDonViTinh.Value, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoLuong = chenhLech.Value, Thuoc_ThuocId = drugId, GiaXuat = e.Gia != 0 ? e.Gia : gia, //PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat }; phieuXuatChiTiets.Add(dItem); } else if (chenhLech < 0) { // tao phieu nhap dieu chinh kiem ke var rItem = new PhieuNhapChiTiet() { DonViTinh_MaDonViTinh = maDonViTinh, NhaThuoc_MaNhaThuoc = maNhaThuoc, SoLuong = chenhLech.Value * -1, Thuoc_ThuocId = drugId, GiaNhap = e.Gia != 0 ? e.Gia : gia, SoLo = e.SoLo, HanDung = e.HanDung, //PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap }; phieuNhapChiTiets.Add(rItem); } }); phieuNhap.TongTien = phieuNhapChiTiets.Sum(a => a.SoLuong * a.GiaNhap); phieuNhap.DaTra = phieuNhap.TongTien; phieuXuat.TongTien = phieuXuatChiTiets.Sum(a => a.SoLuong * a.GiaXuat); phieuXuat.DaTra = phieuXuat.TongTien; phieuNhapRepo.Commit(); phieuXuatRepo.Commit(); phieuNhapChiTiets.ForEach(i => { i.PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap; i.IsModified = true; }); phieuXuatChiTiets.ForEach(i => { i.PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat; i.IsModified = true; }); phieuNhapChiTietRepo.InsertMany(phieuNhapChiTiets); phieuNhapChiTietRepo.Commit(); phieuXuatChiTietRepo.InsertMany(phieuXuatChiTiets); phieuXuatChiTietRepo.Commit(); phieuKiemKeRepo.UpdateMany(i => i.MaPhieuKiemKe == retval, i => new PhieuKiemKe() { PhieuNhap_MaPhieuNhap = phieuNhap.MaPhieuNhap, PhieuXuat_MaPhieuXuat = phieuXuat.MaPhieuXuat }); phieuKiemKeRepo.Commit(); } // tạo 1 đối tượng PhieuKiemKeChiTiet // update table PhieuKiemKeChiTiets if (model.Id > 0) { phieuKiemKeChiTietRepo.Delete(i => i.PhieuKiemKe_MaPhieuKiemKe == model.Id); phieuKiemKeChiTietRepo.Commit(); } List <PhieuKiemKeChiTiet> phieuKiemKeChiTiets = new List <PhieuKiemKeChiTiet>(); foreach (var thuoc in model.MedicineList) { phieuKiemKeChiTiets.Add(new PhieuKiemKeChiTiet { PhieuKiemKe_MaPhieuKiemKe = retval, Thuoc_ThuocId = drugs[thuoc.MaThuoc.ToLower()].ThuocId, TonKho = thuoc.TonKho, ThucTe = thuoc.ThucTe, DonGia = thuoc.Gia, SoLo = thuoc.SoLo, HanDung = thuoc.HanDung, RecordStatusId = (int)RecordStatus.Activated }); } phieuKiemKeChiTietRepo.InsertMany(phieuKiemKeChiTiets); phieuKiemKeChiTietRepo.Commit(); return(retval); }