public Chuyen_SanPham CheckExistPCC(string lineId, string productId, int morth, int year) { Chuyen_SanPham csp = null; try { string strSQL = "Select * From Chuyen_SanPham Where Thang=" + morth + " and Nam=" + year + " and MaChuyen=" + lineId + " and MaSanPham=" + productId + " and IsFinish=0 and IsDelete=0"; DataTable dt = dbclass.TruyVan_TraVe_DataTable(strSQL); if (dt != null && dt.Rows.Count > 0) { csp = new Chuyen_SanPham(); DataRow row = dt.Rows[0]; csp.STT = row["STT"].ToString(); csp.MaChuyen = row["MaChuyen"].ToString(); csp.MaSanPham = row["MaSanPham"].ToString(); int sanLuongKH = 0; int.TryParse(row["SanLuongKeHoach"].ToString(), out sanLuongKH); csp.SanLuongKeHoach = sanLuongKH; int luyKeTH = 0; int.TryParse(row["LuyKeTH"].ToString(), out luyKeTH); csp.LuyKeTH = luyKeTH; float nangXuatSanXuat = 0; float.TryParse(row["NangXuatSanXuat"].ToString(), out nangXuatSanXuat); csp.NangXuatSanXuat = nangXuatSanXuat; csp.Thang = morth; csp.Nam = year; } } catch (Exception ex) { throw ex; } return(csp); }
public Chuyen_SanPham LayLuyKeTHandKeHoachTheoSTT(string STT, DateTime date) { Chuyen_SanPham chuyenSanPham = null; try { // string sql = "select TOP 1 csp.LuyKeTH, csp.SanLuongKeHoach from Chuyen_SanPham csp Where csp.STT ='" + STT + "' and Thang=" + date.Month + " and Nam =" + date.Year; string sql = "select TOP 1 csp.LuyKeTH, csp.SanLuongKeHoach from Chuyen_SanPham csp Where csp.STT ='" + STT + "'"; var dt = dbclass.TruyVan_TraVe_DataTable(sql); if (dt != null && dt.Rows.Count > 0) { DataRow row = dt.Rows[0]; chuyenSanPham = new Chuyen_SanPham(); int luyKeThucHien = 0; int.TryParse(row["LuyKeTH"].ToString(), out luyKeThucHien); int sanLuongKeHoach = 0; int.TryParse(row["SanLuongKeHoach"].ToString(), out sanLuongKeHoach); chuyenSanPham.LuyKeTH = luyKeThucHien; chuyenSanPham.SanLuongKeHoach = sanLuongKeHoach; } } catch (Exception ex) { throw ex; } return(chuyenSanPham); }
public Chuyen_SanPham GetChuyenSanPham(DateTime Ngay, int sttChuyenSanPham, int lineId) { try { var date = Ngay.Day + "/" + Ngay.Month + "/" + Ngay.Year; Chuyen_SanPham chuyenSanPham = null; string strSQLSelect = "Select csp.Thang, csp.Nam, csp.MaChuyen, csp.MaSanPham, csp.SanLuongKeHoach, csp.NangXuatSanXuat, (select SUM(ThucHienNgay-ThucHienNgayGiam) from NangXuat where STTChuyen_SanPham=" + sttChuyenSanPham + " and Ngay <= '" + date + "') as LuyKeTH,"; strSQLSelect += "(select SUM(BTPThoatChuyenNgay-BTPThoatChuyenNgayGiam) from NangXuat where STTChuyen_SanPham=" + sttChuyenSanPham + " and Ngay <= '" + date + "') as LuyKeBTPThoatChuyen, csp.IsFinish, csp.IsFinishNow, csp.IsFinishBTPThoatChuyen, c.Sound,"; strSQLSelect += "(SELECT SUM(BTPNgay) FROM BTP b WHERE b.STTChuyen_SanPham = '" + sttChuyenSanPham + "' and b.IsEndOfLine=1 and b.CommandTypeId=" + (int)eCommandRecive.BTPIncrease + ") LuyKeBTPTang, "; strSQLSelect += "(SELECT SUM(BTPNgay) FROM BTP b WHERE b.STTChuyen_SanPham = '" + sttChuyenSanPham + "' and b.IsEndOfLine=1 and b.CommandTypeId=" + (int)eCommandRecive.BTPReduce + ") LuyKeBTPGiam, "; strSQLSelect += "(SELECT COUNT(csp.STT) FROM Chuyen_SanPham csp WHERE csp.MaChuyen = '" + lineId + "' and csp.IsFinish = 0 and csp.IsDelete = 0) SoPhanCong From Chuyen_SanPham csp, Chuyen c Where csp.STT=" + sttChuyenSanPham + " and csp.MaChuyen=c.MaChuyen"; dtChuyenSanPham.Clear(); dtChuyenSanPham = dbclass.TruyVan_TraVe_DataTable(strSQLSelect); if (dtChuyenSanPham != null && dtChuyenSanPham.Rows.Count > 0) { chuyenSanPham = new Chuyen_SanPham(); DataRow row = dtChuyenSanPham.Rows[0]; chuyenSanPham.MaChuyen = row["MaChuyen"].ToString(); chuyenSanPham.MaSanPham = row["MaSanPham"].ToString(); int sanLuongKeHoach = 0; int.TryParse(row["SanLuongKeHoach"].ToString(), out sanLuongKeHoach); chuyenSanPham.SanLuongKeHoach = sanLuongKeHoach; float nangSuatSanXuat = 0; float.TryParse(row["NangXuatSanXuat"].ToString(), out nangSuatSanXuat); chuyenSanPham.NangXuatSanXuat = nangSuatSanXuat; int luyKeTH = 0; int.TryParse(row["LuyKeTH"].ToString(), out luyKeTH); chuyenSanPham.LuyKeTH = luyKeTH; int isFinish = 0; int.TryParse(row["IsFinish"].ToString(), out isFinish); chuyenSanPham.IsFinish = isFinish; int isFinishNow = 0; int.TryParse(row["IsFinishNow"].ToString(), out isFinishNow); chuyenSanPham.IsFinishNow = isFinishNow; int luyKeBTPThoatChuyen = 0; int.TryParse(row["LuyKeBTPThoatChuyen"].ToString(), out luyKeBTPThoatChuyen); chuyenSanPham.LuyKeBTPThoatChuyen = luyKeBTPThoatChuyen; bool isFinishBTPThoatChuyen = false; bool.TryParse(row["IsFinishBTPThoatChuyen"].ToString(), out isFinishBTPThoatChuyen); chuyenSanPham.IsFinishBTPThoatChuyen = isFinishBTPThoatChuyen; chuyenSanPham.SoundChuyen = row["Sound"].ToString(); int luyKeBTP = 0; int luyKeBTPTang = 0; int.TryParse(row["LuyKeBTPTang"].ToString(), out luyKeBTPTang); int luyKeBTPGiam = 0; int.TryParse(row["LuyKeBTPGiam"].ToString(), out luyKeBTPGiam); luyKeBTP = luyKeBTPTang - luyKeBTPGiam; chuyenSanPham.LuyKeBTP = luyKeBTP; int soPhanCong = 0; int.TryParse(row["SoPhanCong"].ToString(), out soPhanCong); chuyenSanPham.SoPhanCong = soPhanCong; } return(chuyenSanPham); } catch (Exception ex) { throw ex; } }
private void InsertAssignment(Chuyen_SanPham csp) { var kq = BLLAssignmentForLine.Instance.Insert(csp); if (kq.IsSuccess) { MessageBox.Show("Thêm phân công thành công."); LoadPhanCongRaDataGridView(); ResetForm(); // if (!frmMainNew.IsStopProcess) // frmMainNew.RunAllProcess(); } MessageBox.Show(kq.Messages[0].msg, kq.Messages[0].Title); }
public int SuaTTLuykeTH(Chuyen_SanPham chuyen_sampham) { int kq = 0; try { string sql = "Update Chuyen_SanPham set LuyKeTH ='" + chuyen_sampham.LuyKeTH + "', IsFinish='" + chuyen_sampham.IsFinish + "', LuyKeBTPThoatChuyen='" + chuyen_sampham.LuyKeBTPThoatChuyen + "', IsFinishBTPThoatChuyen='" + chuyen_sampham.IsFinishBTPThoatChuyen + "' where STT ='" + chuyen_sampham.STT + "'"; kq = dbclass.TruyVan_XuLy(sql); return(kq); } catch (Exception) { MessageBox.Show("Lỗi: Không thể thay đổi thông tin luỹ kế thực hiện của chuyền_Mặt Hàng dưới CSDL", "Lỗi truy vấn CSDL", MessageBoxButtons.OK, MessageBoxIcon.Error); return(kq); } }
public int SuaThongTinPhanCong(Chuyen_SanPham chuyen_sanpham) { int kq = 0; try { string sql = "update Chuyen_SanPham set STTThucHien=" + chuyen_sanpham.STTThucHien + ", SanLuongKeHoach = '" + chuyen_sanpham.SanLuongKeHoach + "', NangXuatSanXuat = '" + chuyen_sanpham.NangXuatSanXuat + "', IsFinish = '" + chuyen_sanpham.IsFinish + "', IsFinishBTPThoatChuyen='" + chuyen_sanpham.IsFinishBTPThoatChuyen + "', Thang=" + chuyen_sanpham.Thang + ", Nam=" + chuyen_sanpham.Nam + " where STT ='" + chuyen_sanpham.STT + "'"; kq = dbclass.TruyVan_XuLy(sql); return(kq); } catch (Exception) { MessageBox.Show("Lỗi: Không thể thay đổi thông tin phân công mặt hàng cho chuyền dưới CSDL", "Lỗi truy vấn CSDL", MessageBoxButtons.OK, MessageBoxIcon.Error); return(kq); } }
public Chuyen_SanPham GetPCOldOfLineBySTT(string lineId, int sttChuyenSanPhamNow) { try { Chuyen_SanPham csp = null; string strSQL = "Select * From Chuyen_SanPham Where IsDelete=0 and MaChuyen=" + lineId + " ORDER BY stt "; DataTable dtTable = dbclass.TruyVan_TraVe_DataTable(strSQL); if (dtTable != null && dtTable.Rows.Count > 0) { bool isGetSTTOld = false; foreach (DataRow row in dtTable.Rows) { int sttChuyenSamPham = 0; if (row["STT"] != null) { int.TryParse(row["STT"].ToString(), out sttChuyenSamPham); } if (sttChuyenSamPham == sttChuyenSanPhamNow) { isGetSTTOld = true; } if (isGetSTTOld) { csp = new Chuyen_SanPham(); csp.STT = sttChuyenSamPham.ToString(); break; } } } return(csp); } catch (Exception ex) { throw ex; } }
public bool MoveQuantityToMorthNow(int type) { bool result = false; try { BTPDAO btpDAO = new BTPDAO(); ClusterDAO clusterDAO = new ClusterDAO(); var ngay = DateTime.Now.Day + "/" + DateTime.Now.Month + "/" + DateTime.Now.Year; var dateNow = DateTime.Now; int morthNow = dateNow.Month; int yearNow = dateNow.Year; var dateOld = dateNow.AddMonths(-1); int morthOld = dateOld.Month; int yearOld = dateOld.Year; string strSQL = "Select * From Chuyen_SanPham Where Thang=" + morthOld + " and Nam=" + yearOld + " and MaChuyen in (" + AccountSuccess.strListChuyenId.Trim() + ") and IsFinish=0 and IsDelete=0"; List <Chuyen_SanPham> listChuyenSanPham = new List <Chuyen_SanPham>(); DataTable dtTable = dbclass.TruyVan_TraVe_DataTable(strSQL); if (dtTable != null && dtTable.Rows.Count > 0) { int sttThucHien = 1; foreach (DataRow row in dtTable.Rows) { Chuyen_SanPham csp = new Chuyen_SanPham(); csp.STT = row["STT"].ToString(); int.TryParse(row["STTThucHien"].ToString(), out sttThucHien); csp.STTThucHien = sttThucHien; csp.MaChuyen = row["MaChuyen"].ToString(); csp.MaSanPham = row["MaSanPham"].ToString(); int sanLuongKH = 0; int.TryParse(row["SanLuongKeHoach"].ToString(), out sanLuongKH); csp.SanLuongKeHoach = sanLuongKH; int luyKeTH = 0; int.TryParse(row["LuyKeTH"].ToString(), out luyKeTH); csp.LuyKeTH = luyKeTH; float nangXuatSanXuat = 0; float.TryParse(row["NangXuatSanXuat"].ToString(), out nangXuatSanXuat); csp.NangXuatSanXuat = nangXuatSanXuat; csp.Thang = morthOld; csp.Nam = yearOld; listChuyenSanPham.Add(csp); } } if (listChuyenSanPham.Count > 0) { listChuyenSanPham = listChuyenSanPham.OrderBy(c => c.STTThucHien).ToList(); int sttThucHien = 0; foreach (var csp in listChuyenSanPham) { if (type == 1) { csp.IsFinish = 1; csp.IsFinishBTPThoatChuyen = true; // SuaThongTinPhanCong(csp); } else { sttThucHien++; int sumBTPOfLine = 0; var listBTP = btpDAO.GetListBTPBySTT(csp.STT); if (listBTP != null && listBTP.Count > 0) { sumBTPOfLine = listBTP.Where(c => c.IsEndOfLine).Sum(c => c.BTPNgay); } var listClusterOfLine = clusterDAO.GetCumOfChuyen(int.Parse(csp.MaChuyen)); Cluster clusterEndLine = null; if (listClusterOfLine != null && listClusterOfLine.Count > 0) { clusterEndLine = listClusterOfLine.First(c => c.IsEndOfLine); } if (csp.LuyKeTH == 0) { var cspNew = new Chuyen_SanPham(); Parse.CopyObject(csp, ref cspNew); cspNew.TimeAdd = dateNow; cspNew.Thang = morthNow; cspNew.Nam = yearNow; cspNew.IsMoveQuantityFromMorthOld = true; cspNew.STTThucHien = sttThucHien; // var resultAdd = ThemPhanCong(cspNew); //if (resultAdd.IsSuccsess) //{ // csp.IsFinish = 1; // csp.IsFinishBTPThoatChuyen = true; // SuaThongTinPhanCong(csp); // string sttPCC = GetSTTChuyenSanPham(cspNew.MaChuyen, cspNew.MaSanPham, cspNew.Thang, cspNew.Nam); // if (sumBTPOfLine > 0) // { // BTP btp = new BTP(); // btp.STTChuyen_SanPham = sttPCC; // btp.IsEndOfLine = true; // btp.Ngay = dateNow.Date; // btp.STT = 1; // btp.TimeUpdate = dateNow.TimeOfDay; // btp.BTPNgay = sumBTPOfLine; // btp.CommandTypeId = 8; // btp.CumId = clusterEndLine.Id; // btpDAO.ThemOBJ(btp); // } //} } else { int soLuongTon = csp.SanLuongKeHoach - csp.LuyKeTH; var cspExist = CheckExistPCC(csp.MaChuyen, csp.MaSanPham, morthNow, yearNow); if (cspExist != null) { cspExist.SanLuongKeHoach += soLuongTon; var rsMove = SuaThongTinPhanCong(cspExist); if (rsMove > 0) { csp.SanLuongKeHoach = csp.LuyKeTH; csp.IsFinish = 1; csp.IsFinishBTPThoatChuyen = true; // SuaThongTinPhanCong(csp); int btpOnLine = sumBTPOfLine - csp.LuyKeTH; if (btpOnLine > 0) { BTP btp = new BTP(); btp.STTChuyen_SanPham = cspExist.STT; btp.IsEndOfLine = true; btp.Ngay = ngay; btp.STT = 1; btp.TimeUpdate = dateNow.TimeOfDay; btp.BTPNgay = btpOnLine; btp.CommandTypeId = 8; btp.CumId = clusterEndLine.Id; // btpDAO.ThemOBJ(btp); } } } else { var cspNew = new Chuyen_SanPham(); Parse.CopyObject(csp, ref cspNew); cspNew.TimeAdd = dateNow; cspNew.Thang = morthNow; cspNew.Nam = yearNow; cspNew.SanLuongKeHoach = soLuongTon; cspNew.IsMoveQuantityFromMorthOld = true; cspNew.LuyKeTH = 0; csp.STTThucHien = sttThucHien; //var rsMove = ThemPhanCong(cspNew); //if (rsMove.IsSuccsess) //{ // csp.SanLuongKeHoach = csp.LuyKeTH; // csp.IsFinish = 1; // csp.IsFinishBTPThoatChuyen = true; // SuaThongTinPhanCong(csp); // string sttPCC = GetSTTChuyenSanPham(cspNew.MaChuyen, cspNew.MaSanPham, cspNew.Thang, cspNew.Nam); // int btpOnLine = sumBTPOfLine - csp.LuyKeTH; // if (btpOnLine > 0) // { // BTP btp = new BTP(); // btp.STTChuyen_SanPham = sttPCC; // btp.IsEndOfLine = true; // btp.Ngay = dateNow.Date; // btp.STT = 1; // btp.TimeUpdate = dateNow.TimeOfDay; // btp.BTPNgay = btpOnLine; // btp.CommandTypeId = 8; // btp.CumId = clusterEndLine.Id; // btpDAO.ThemOBJ(btp); // } //} } } } } } } catch (Exception ex) { throw ex; } return(result); }
public ModelResult ThemPhanCong(Chuyen_SanPham chuyen_sanpham) { ModelResult modelResult = new ModelResult(); try { var dateNow = DateTime.Now; int morthNow = dateNow.Month; int yearNow = dateNow.Year; if (chuyen_sanpham.Nam >= yearNow) { if (chuyen_sanpham.Nam == yearNow) { if (chuyen_sanpham.Thang >= morthNow) { var cspExist = CheckExistPCC(chuyen_sanpham.MaChuyen, chuyen_sanpham.MaSanPham, chuyen_sanpham.Thang, chuyen_sanpham.Nam); if (cspExist == null) { string sql = "insert into Chuyen_SanPham(MaChuyen, MaSanPham, SanLuongKeHoach, NangXuatSanXuat, TimeAdd, Thang, Nam, IsMoveQuantityFromMorthOld, STTThucHien) values('" + chuyen_sanpham.MaChuyen + "','" + chuyen_sanpham.MaSanPham + "','" + chuyen_sanpham.SanLuongKeHoach + "','" + chuyen_sanpham.NangXuatSanXuat + "','" + chuyen_sanpham.TimeAdd + "', " + chuyen_sanpham.Thang + ", " + chuyen_sanpham.Nam + ",'" + chuyen_sanpham.IsMoveQuantityFromMorthOld + "'," + chuyen_sanpham.STTThucHien + ")"; var rsAdd = dbclass.TruyVan_XuLy(sql); if (rsAdd > 0) { modelResult.IsSuccsess = true; } } else { if (cspExist.LuyKeTH == 0) { if (MessageBox.Show("Bạn đã phân công mặt hàng " + chuyen_sanpham.TenSanPham + " cho chuyền " + chuyen_sanpham.TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + " rồi. Bạn có muốn cập nhập thông tin này ?", "Cập nhập dữ liệu", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { int reUpdate = SuaThongTinPhanCong(chuyen_sanpham); if (reUpdate == 0) { MessageBox.Show("Cập nhập thông tin phân công mặt hàng " + chuyen_sanpham.TenSanPham + " cho chuyền " + chuyen_sanpham.TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + "không thành công."); } else { modelResult.IsSuccsess = true; } } } else { MessageBox.Show("Bạn đã phân công mặt hàng " + chuyen_sanpham.TenSanPham + " cho chuyền " + chuyen_sanpham.TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + " rồi. Việc phân công có thông tin sản xuất nên không thể chỉnh sửa"); } } } else { modelResult.ListError.Add(new ModelError() { ClassName = this.GetType().Name, MethodName = "AddListPCC", ErrorContent = "Lỗi: Tháng nhập phân công hàng cho chuyền không được nhỏ hơn tháng hiện tại." }); } } else { var cspExist = CheckExistPCC(chuyen_sanpham.MaChuyen, chuyen_sanpham.MaSanPham, chuyen_sanpham.Thang, chuyen_sanpham.Nam); if (cspExist == null) { string sql = "insert into Chuyen_SanPham(MaChuyen, MaSanPham, SanLuongKeHoach, NangXuatSanXuat, TimeAdd, Thang, Nam, IsMoveQuantityFromMorthOld, STTThucHien) values('" + chuyen_sanpham.MaChuyen + "','" + chuyen_sanpham.MaSanPham + "','" + chuyen_sanpham.SanLuongKeHoach + "','" + chuyen_sanpham.NangXuatSanXuat + "','" + chuyen_sanpham.TimeAdd + "', " + chuyen_sanpham.Thang + ", " + chuyen_sanpham.Nam + ",'" + chuyen_sanpham.IsMoveQuantityFromMorthOld + "'," + chuyen_sanpham.STTThucHien + ")"; var rsAdd = dbclass.TruyVan_XuLy(sql); if (rsAdd > 0) { modelResult.IsSuccsess = true; } } else { if (chuyen_sanpham.LuyKeTH == 0) { if (MessageBox.Show("Bạn đã phân công mặt hàng " + chuyen_sanpham.TenSanPham + " cho chuyền " + chuyen_sanpham.TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + " rồi. Bạn có muốn cập nhập thông tin này ?", "Cập nhập dữ liệu", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { int reUpdate = SuaThongTinPhanCong(chuyen_sanpham); if (reUpdate == 0) { MessageBox.Show("Cập nhập thông tin phân công mặt hàng " + chuyen_sanpham.TenSanPham + " cho chuyền " + chuyen_sanpham.TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + "không thành công."); } else { modelResult.IsSuccsess = true; } } } else { MessageBox.Show("Bạn đã phân công mặt hàng " + chuyen_sanpham.TenSanPham + " cho chuyền " + chuyen_sanpham.TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + " rồi. Việc phân công có thông tin sản xuất nên không thể chỉnh sửa"); } } } } else { modelResult.ListError.Add(new ModelError() { ClassName = this.GetType().Name, MethodName = "AddListPCC", ErrorContent = "Lỗi: Năm nhập phân công hàng cho chuyền không được nhỏ hơn năm hiện tại." }); } } catch (Exception ex) { modelResult.ListError.Add(new ModelError() { ClassName = this.GetType().Name, MethodName = "AddListPCC", ErrorContent = "Lỗi: việc phân công Mặt Hàng " + chuyen_sanpham.TenSanPham + " cho chuyền " + chuyen_sanpham.TenChuyen + " thất bại." }); } return(modelResult); }
private ResponseBase Save(Chuyen_SanPham chuyen_sanpham) { var result = new ResponseBase(); try { var dateNow = DateTime.Now; int morthNow = dateNow.Month; int yearNow = dateNow.Year; if (chuyen_sanpham.Nam >= yearNow) { if (chuyen_sanpham.Nam == yearNow) { if (chuyen_sanpham.Thang >= morthNow) { var cspExist = BLLAssignmentForLine.Instance.Find(chuyen_sanpham.MaChuyen, chuyen_sanpham.MaSanPham); if (cspExist == null) { result = BLLAssignmentForLine.Instance.Insert(chuyen_sanpham); } else { if (cspExist.LuyKeTH == 0) { if (MessageBox.Show("Bạn đã phân công mặt hàng " + TenSanPham + " cho chuyền " + tenchuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + " rồi. Bạn có muốn cập nhập thông tin này ?", "Cập nhập dữ liệu", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var reUpdate = BLLAssignmentForLine.Instance.Update(chuyen_sanpham, true, 1); if (!reUpdate.IsSuccess) { MessageBox.Show("Cập nhập thông tin phân công mặt hàng " + TenSanPham + " cho chuyền " + TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + "không thành công."); } else { result = reUpdate; } } } else { MessageBox.Show("Bạn đã phân công mặt hàng " + TenSanPham + " cho chuyền " + TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + " rồi. Việc phân công có thông tin sản xuất nên không thể chỉnh sửa"); } } } else { result.Messages.Add(new PMS.Business.Models.Message() { Title = "AddListPCC", msg = "Lỗi: Tháng nhập phân công hàng cho chuyền không được nhỏ hơn tháng hiện tại." }); } } else { var cspExist = BLLAssignmentForLine.Instance.Find(chuyen_sanpham.MaChuyen, chuyen_sanpham.MaSanPham); if (cspExist == null) { result = BLLAssignmentForLine.Instance.Insert(chuyen_sanpham); } else { if (chuyen_sanpham.LuyKeTH == 0) { if (MessageBox.Show("Bạn đã phân công mặt hàng " + TenSanPham + " cho chuyền " + TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + " rồi. Bạn có muốn cập nhập thông tin này ?", "Cập nhập dữ liệu", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { var reUpdate = BLLAssignmentForLine.Instance.Update(chuyen_sanpham, true, 1); if (!reUpdate.IsSuccess) { MessageBox.Show("Cập nhập thông tin phân công mặt hàng " + TenSanPham + " cho chuyền " + TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + "không thành công."); } else { result = reUpdate; } } } else { MessageBox.Show("Bạn đã phân công mặt hàng " + TenSanPham + " cho chuyền " + TenChuyen + " vào thời gian " + chuyen_sanpham.Thang + "/" + chuyen_sanpham.Nam + " rồi. Việc phân công có thông tin sản xuất nên không thể chỉnh sửa"); } } } } else { result.Messages.Add(new PMS.Business.Models.Message() { Title = "AddListPCC", msg = "Lỗi: Năm nhập phân công hàng cho chuyền không được nhỏ hơn năm hiện tại." }); } } catch (Exception ex) { result.Messages.Add(new PMS.Business.Models.Message() { Title = "AddListPCC", msg = "Lỗi: việc phân công Mặt Hàng " + TenSanPham + " cho chuyền " + TenChuyen + " thất bại." }); } return(result); }
public ResponseBase InsertOrUpdate(Chuyen_SanPham model) { var result = new ResponseBase(); try { using (var db = new PMSEntities()) { var csp = db.Chuyen_SanPham.FirstOrDefault(x => !x.IsDelete && x.STT != model.STT && x.MaChuyen == model.MaChuyen && x.MaSanPham == model.MaSanPham && !x.IsFinish); if (csp == null) { if (!CheckOrderIndex(model.STT, model.MaChuyen, model.STTThucHien, db)) { if (model.STT == 0) { #region add csp = new Chuyen_SanPham(); Parse.CopyObject(model, ref csp); var monthDetail = new P_MonthlyProductionPlans(); monthDetail.Chuyen_SanPham = csp; monthDetail.Month = DateTime.Now.Month; monthDetail.Year = DateTime.Now.Year; monthDetail.ProductionPlans = csp.SanLuongKeHoach; csp.P_MonthlyProductionPlans = new List <P_MonthlyProductionPlans>(); csp.P_MonthlyProductionPlans.Add(monthDetail); csp.TimeAdd = DateTime.Now; db.Chuyen_SanPham.Add(csp); db.SaveChanges(); result.IsSuccess = true; result.Messages.Add(new Message() { Title = "Thông Báo", msg = "Lưu Phân công thành công." }); #endregion } else { csp = db.Chuyen_SanPham.FirstOrDefault(x => !x.IsDelete && x.STT == model.STT); if (csp != null) { var mDetail = db.P_MonthlyProductionPlans.FirstOrDefault(x => !x.IsDeleted && x.STT_C_SP == model.STT && x.Month == DateTime.Now.Month && x.Year == DateTime.Now.Year); if (mDetail != null) { if (csp.SanLuongKeHoach > model.SanLuongKeHoach) { mDetail.ProductionPlans -= (csp.SanLuongKeHoach - model.SanLuongKeHoach); } else { mDetail.ProductionPlans += (model.SanLuongKeHoach - csp.SanLuongKeHoach); } } csp.STTThucHien = model.STTThucHien; csp.MaSanPham = model.MaSanPham; csp.UpdatedDate = model.UpdatedDate; csp.SanLuongKeHoach = model.SanLuongKeHoach; csp.IsFinish = csp.SanLuongKeHoach > csp.LuyKeTH ? false : true; csp.IsFinishBTPThoatChuyen = model.IsFinishBTPThoatChuyen; // update lai nang suat san suat va dinh muc ngay hien tai var ngay = DateTime.Now.Day + "/" + DateTime.Now.Month + "/" + DateTime.Now.Year; var tp = db.ThanhPhams.FirstOrDefault(x => !x.IsDeleted && x.STTChuyen_SanPham == csp.STT && x.Ngay == ngay); var nx = db.NangXuats.FirstOrDefault(x => !x.IsDeleted && x.STTCHuyen_SanPham == csp.STT && x.Ngay == ngay); if (tp != null && nx != null) { var tgLVTrongNgay = (int)BLLShift.GetTotalWorkingHourOfLine(csp.MaChuyen).TotalSeconds; tp.NangXuatLaoDong = (float)Math.Round((tgLVTrongNgay / csp.SanPham.ProductionTime), 2); nx.DinhMucNgay = (float)Math.Round((tp.NangXuatLaoDong * tp.LaoDongChuyen), 1); nx.NhipDoSanXuat = (float)Math.Round((csp.SanPham.ProductionTime / tp.LaoDongChuyen), 1); nx.TimeLastChange = DateTime.Now.TimeOfDay; } db.SaveChanges(); //BLLProductivity.ResetNormsDayAndBTPInLine(2, obj.MaChuyen, false); result.IsSuccess = true; result.Messages.Add(new Message() { Title = "Thông Báo", msg = "Lưu Phân công thành công." }); } else { result.IsSuccess = false; result.Messages.Add(new Message() { Title = "Lỗi Lưu Phân Công", msg = "không tìm thấy Phân Công.\n" }); } } } else { result.IsSuccess = false; result.Messages.Add(new Message() { Title = "Thông Báo Trùng số thứ tự", msg = "Số thứ tự thực hiện này được chọn. Vui lòng chọn số thứ tự thực hiện khác." }); } } else { result.IsSuccess = false; result.Messages.Add(new Message() { Title = "Lỗi Lưu Phân Công", msg = "Sản phẩm này đã được phân công và đang sản xuất.\n" }); } } } catch (Exception ex) { result.IsSuccess = false; result.Messages.Add(new Message() { Title = "Lỗi Lưu Phân Công", msg = "Lưu Phân công cho Chuyền bị lỗi.\n" + ex.Message }); } return(result); }