private void cmdExchange_Click(object sender, EventArgs e) { if (txtRate.Text.Trim() == "0.00") { MessageBox.Show("กรุณาใส่ค่า Rate ด้วยค่ะ และคำนวณเงินด้วยค่ะ!!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); txtRate.Focus(); return; } if (cboRate.Text.Trim() == "ไม่ระบุ") { MessageBox.Show("กรุณาใส่ สกุลเงิน ด้วยค่ะ และคำนวณเงินด้วยค่ะ !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); cboRate.Focus(); return; } Sale.frmCalculateMoney frmCal = new KTCERP.Sale.frmCalculateMoney(lblNet.Text); frmCal.StartPosition = FormStartPosition.CenterParent; frmCal.ShowDialog(); double CashTotal = clsCash.sCashMoney; double Discount = clsCash.sDiscount; double CreditTotal = clsCash.sCredit; double Exchange = clsCash.sExchange; string TypeCash = clsCash.sTypeCash; if (clsCash.sStatusCash == "1" || clsCash.sStatusCash == "2" || clsCash.sStatusCash == "3" || clsCash.sStatusCash == "4" || clsCash.sStatusCash == "5") { if (txtRate.Text.Trim() == "0.00") { MessageBox.Show("กรุณาใส่ค่า Rate ด้วยค่ะ !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); txtRate.Focus(); return; } if (cboRate.Text.Trim() == "ไม่ระบุ") { MessageBox.Show("กรุณาใส่ สกุลเงิน ด้วยค่ะ !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); cboRate.Focus(); return; } if (lblSaleId.Text.Trim() == "") { MessageBox.Show("กรุณาใส่หมายเลขใบสั่งซื้อด้วย !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); lblSaleId.Focus(); return; } if (MessageBox.Show("คุณต้องการบันทึกรายการขายสินค้า ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { tr = Conn.BeginTransaction(); try { sb.Remove(0, sb.Length); sb.Append("UPDATE SALE_HEAD "); sb.Append("SET SaleHeadPayTypeId=@SaleHeadPayType,SaleVat=@NetVAT,SaleShipping=@Shipping, "); sb.Append("SaleVarious=@Various,Discount=@Discount,Cash=@Cash,CustomerId=@CustomerId,"); sb.Append("SaleHeadDate=@SaleHeadDate,SaleHeadDateTime=@SaleHeadDateTime, "); sb.Append("SaleHeadDrawId=@SaleHeadDrawId,DrawId=@DrawId,SaleHeadStatusId=@SaleHeadStatus,"); sb.Append("SaleCurrencyId=@SaleCurrencyId,Rate=@Rate,NoInv=@NoInv,LoadingId=@Loading,FeederId=@Feeder,FinalDestenationId=@Destinatic, "); sb.Append("BrokerName=@BrokerName,BrokerAddress=@BrokerAddress "); sb.Append("WHERE SaleHeadId=@SaleHeadId"); sb.Append(" DELETE FROM SALE_DETAIL "); sb.Append("WHERE SaleHeadId=@SaleHeadId"); sb.Append(" DELETE FROM SALE_WEIGHT "); sb.Append("WHERE SaleHeadId = @SaleHeadId"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.Transaction = tr; com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@SaleHeadPayType", SqlDbType.NVarChar).Value = clsCash.sStatusCash; com.Parameters.Add("@Shipping", SqlDbType.Float).Value = Convert.ToSingle(lblShipping.Text.Trim()); com.Parameters.Add("@Various", SqlDbType.Float).Value = Convert.ToSingle(lblVarious.Text.Trim()); com.Parameters.Add("@NetVAT", SqlDbType.Float).Value = Convert.ToSingle(lblNetVAT.Text.Trim()); com.Parameters.Add("@Discount", SqlDbType.Float).Value = Convert.ToSingle(Discount); com.Parameters.Add("@Cash", SqlDbType.Float).Value = Convert.ToSingle(CashTotal); com.Parameters.Add("@SaleHeadDate", SqlDbType.DateTime).Value = DateTime.Now.ToString("dd/MM/yyyy"); com.Parameters.Add("@SaleHeadDateTime", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy HH:mm:ss"); com.Parameters.Add("@SaleHeadDrawId", SqlDbType.NVarChar).Value = txtDrawId.Text.Trim(); com.Parameters.Add("@DrawId", SqlDbType.NVarChar).Value = cboDrawId.SelectedValue.ToString(); com.Parameters.Add("@SaleHeadStatus", SqlDbType.Int).Value = 1; com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = CustomerId; com.Parameters.Add("@Rate", SqlDbType.Float).Value = Convert.ToSingle(txtRate.Text.Trim()); com.Parameters.Add("@SaleCurrencyId", SqlDbType.Int).Value = cboRate.SelectedValue.ToString(); com.Parameters.Add("@NoInv", SqlDbType.NVarChar).Value = txtNoInv.Text.Trim(); com.Parameters.Add("@Loading", SqlDbType.NVarChar).Value = cboloading.SelectedValue.ToString(); com.Parameters.Add("@Feeder", SqlDbType.NVarChar).Value = cboFeeder.SelectedValue.ToString(); com.Parameters.Add("@Destinatic", SqlDbType.NVarChar).Value = cboDestinatic.SelectedValue.ToString(); com.Parameters.Add("@BrokerName", SqlDbType.NVarChar).Value = txtBroker.Text.Trim(); com.Parameters.Add("@BrokerAddress", SqlDbType.NVarChar).Value = txtBrokerAddress.Text.Trim(); com.ExecuteNonQuery(); // MessageBox.Show(sqlSave+"**salehead**"); // for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_DETAIL (SaleHeadId,ProductId,SaleDetailQuantity,SaleDetailPriceUnit,SaleDetailTotal,AmountProduct,SaleDetailQuantityPack,SaleDetailPriceUnitInter )"); sb.Append(" VALUES( @SaleHeadId,@ProductId,@SaleDetailQuantity,@SaleDetailPriceUnit,@SaleDetailTotal,@AmountProduct,@SaleDetailQuantityPack,@SaleDetailPriceUnitInter )"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@SaleDetailQuantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@SaleDetailPriceUnit", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[9].Text.Replace(",", "")).ToString("#,##0.0000"); com.Parameters.Add("@SaleDetailTotal", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[11].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@AmountProduct", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[2].Text.Replace(",", "")); com.Parameters.Add("@SaleDetailPriceUnitInter", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")); if (lsvProductList.Items[i].SubItems[12].Text.Replace(",", "") != "") { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[12].Text.Replace(",", "")).ToString("#,##0.00"); } else { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = 0; } com.ExecuteNonQuery(); //MessageBox.Show(sqlSave+"**saledetail**"); string weightext = lsvProductList.Items[i].SubItems[6].Text.Replace(" ", "#"); string[] weighttextarr = weightext.Split('#'); int len = weighttextarr.Length; string packtext = lsvProductList.Items[i].SubItems[7].Text.ToString(); string[] packtextarr = packtext.Split('#'); int lenpack = packtextarr.Length; //if (weightext != "" && packtext != "") //{ // for (int j = 0; j < weighttextarr.Length - 1; j++) // { // sb.Remove(0, sb.Length); // sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,SalePack)"); // sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@SalePack)"); // sqlSave = sb.ToString(); // com.Parameters.Clear(); // com.CommandText = sqlSave; // com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); // com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); // com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()); // com.Parameters.Add("@SalePack", SqlDbType.Float).Value = Convert.ToSingle(packtextarr[j].ToString()); // com.ExecuteNonQuery(); // //MessageBox.Show(sqlSave); // } //} //else if (weightext != "" && packtext == "") //{ // for (int j = 0; j < weighttextarr.Length - 1; j++) // { // sb.Remove(0, sb.Length); // sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId)"); // sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId)"); // sqlSave = sb.ToString(); // com.Parameters.Clear(); // com.CommandText = sqlSave; // com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); // com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); // com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()); // com.ExecuteNonQuery(); // //MessageBox.Show(sqlSave); // } //} string balesNumber = lsvProductList.Items[i].SubItems[13].Text.ToString(); string[] balesNumberarr = balesNumber.Split('#'); int lenbalesNumber = balesNumberarr.Length; if (weightext != "" && packtext != "" && balesNumber != "") { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,SalePack,BalesNumber)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@SalePack,@BalesNumber)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.Parameters.Add("@SalePack", SqlDbType.Float).Value = Convert.ToSingle(packtextarr[j].ToString()); com.Parameters.Add("@BalesNumber", SqlDbType.Int).Value = Convert.ToInt16(balesNumberarr[j].ToString()); com.ExecuteNonQuery(); } } else if (weightext != "" && packtext == "" && balesNumber != "") { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,BalesNumber)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@BalesNumber)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.Parameters.Add("@BalesNumber", SqlDbType.Int).Value = Convert.ToInt16(balesNumberarr[j].ToString()); com.ExecuteNonQuery(); } } else if (weightext != "" && packtext == "" && balesNumber == "") { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.ExecuteNonQuery(); } } //บันทึกลูกหนี้ if (clsCash.sStatusCash == "2") { sb.Remove(0, sb.Length); sb.Append("DELETE FROM RECEIVABLE "); sb.Append("WHERE SaleHeadId = @SaleHeadId"); sb.Append(" INSERT INTO RECEIVABLE (ReceivableDate, CustomerId, ReceivebleType, ReceivebleTopic, SaleHeadId, ProductId, Amount, UnitPrice)"); sb.Append(" VALUES(@ReceivableDate,@CustomerId,@ReceivebleType,@ReceivebleTopic,@SaleHeadId,@ProductId,@Amount,@UnitPrice)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@ReceivableDate", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy"); com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = CustomerId; com.Parameters.Add("@ReceivebleType", SqlDbType.Int).Value = 0; // 0 = ตั้งหนี้จากการขายที่ยังไม่ยืนนยัน , 1= ตั้งหนี้จากการขายที่ยืนยัน , 2=ชำระหนี้// com.Parameters.Add("@ReceivebleTopic", SqlDbType.NVarChar).Value = "ค้างชำระค่าสินค้า "; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); ; com.Parameters.Add("@Amount", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.00"); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); } } tr.Commit(); // ต้องการ print หรือไม่ ///* DialogResult dlg = MessageBox.Show("ต้องการพิมพ์รายงานหรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dlg == DialogResult.OK) { SalePos7CSK.rptInvOriginal rptSale = new rptInvOriginal(); rptSale.StartPosition = FormStartPosition.CenterScreen; // กำหนด frm ย่อย ให้อยู่ตรงกลาง rptSale.setSaleId = Convert.ToInt16(lblSaleId.Text.Trim()); rptSale.ShowDialog(); } else { MessageBox.Show("ปรับปรุงสำเร็จ"); Close(); } } catch (Exception ex) { MessageBox.Show("ไม่สามารถบันทึกรายการสั่งซื้อได้ เนื่องจาก " + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning); tr.Rollback(); } } Close(); } }
private void cmdExchange_Click(object sender, EventArgs e) { if (CheckIsZero()) return; if (!DBConnString.clsDB.IsConnected()) return; // แสดงค่ารหัสรอบที่ขาย SaleId(); MaxLogSaleId(); string AbountDate = lblAbount.Text.Trim(); string Abount = txtAbount.Text.Trim(); string strAbount = AbountDate + Abount; Sale.frmCalculateMoney frmCal = new KTCERP.Sale.frmCalculateMoney(lblNet.Text); frmCal.StartPosition = FormStartPosition.CenterParent; frmCal.ShowDialog(); double CashTotal = clsCash.sCashMoney; double Discount = clsCash.sDiscount; double CreditTotal = clsCash.sCredit; double Exchange = clsCash.sExchange; string TypeCash = clsCash.sTypeCash; double Deposit_Pay = clsCash.Deposit_Pay; float SaleTotalCal = 0; float SaleTotal = 0; if (clsCash.sStatusCash == "1" || clsCash.sStatusCash == "2" || clsCash.sStatusCash == "3" || clsCash.sStatusCash == "4" || clsCash.sStatusCash == "5") { frmCal.Left = (frmCal.ClientSize.Width - frmCal.Width) / 2; frmCal.Top = (frmCal.ClientSize.Height - frmCal.Height) / 2; frmCal.Show(); if (MessageBox.Show("คุณต้องการบันทึกรายการสั่งซื้อสินค้า ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { if (txtSaleAppHeadId.Text != "") { if (GetDataHead().Rows.Count == 0) { MessageBox.Show("รายการนี้ถูกขายไปแล้ว ไม่สามารถทำรายการซ้ำ กรุณาตรวจสอบข้อมูลให้ถูกต้อง"); return; } } tr = Conn.BeginTransaction(); //SaleId(); try { #region INTO SALE_HEAD string sqlSave; sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_HEAD(SaleHeadId,SaleHeadDate,CustomerId,SaleHeadStatusId,SaleHeadPayTypeId,Discount,Cash,SaleVat,SaleShipping,SaleVarious,SaleHeadDateTime,AbountId,SaleHeadDrawId,DrawId,Rate,SaleCurrencyId,NoInv,SaleHeadSaleTypeId,Remark,LoadingId,FeederId,FinalDestenationId,UserName,ConfirmId,Deposit_Status,Deposit_Pay )"); sb.Append(" VALUES (@SaleHeadId,@SaleHeadDate,@CustomerId,@SaleHeadStatus,@SaleHeadPayType,@Discount,@Cash,@SaleVat,@SaleShipping,@SaleVarious,@SaleHeadDateTime,@AbountId,@SaleHeadDrawId,@DrawId,@Rate,@SaleCurrencyId,@NoInv,@SaleHeadSaleTypeId,@Remark,@LoadingId,@Feeder,@Destinatic,@UserName,@ConfirmId,@Deposit_Status,@Deposit_Pay)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.Transaction = tr; com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; DateTime dateServer = Convert.ToDateTime(Class.DBConnString.clsDB.QueryExecuteScalarNonAlert("SELECT GETDATE()")); if (dptSaleDate.Value.ToString("dd/MM/yyyy") == dateServer.ToString("dd/MM/yyyy")) { //MessageBox.Show("datnow" + DateTime.Now); com.Parameters.Add("@SaleHeadDateTime", SqlDbType.DateTime).Value = dateServer.ToString("dd/MM/yyyy HH:mm:ss"); com.Parameters.Add("@saleHeadDate", SqlDbType.DateTime).Value = dateServer.ToString("dd/MM/yyyy"); } else { com.Parameters.Add("@SaleHeadDateTime", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy HH:mm:ss"); com.Parameters.Add("@saleHeadDate", SqlDbType.DateTime).Value = dateServer.ToString("dd/MM/yyyy"); } //com.Parameters.Add("@SaleHeadDateTime", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy HH:mm:ss"); com.Parameters.Add("@SaleHeadDrawId", SqlDbType.NVarChar).Value = txtDrawId.Text.Trim(); com.Parameters.Add("@AbountId", SqlDbType.NVarChar).Value = strAbount; com.Parameters.Add("@DrawId", SqlDbType.NVarChar).Value = cboDrawId.SelectedValue.ToString(); com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = Convert.ToInt16(Class.Function.GetTextId(txtCustomer.Text)); if (cboStatus.Text == "ปกติ") { com.Parameters.Add("@SaleHeadStatus", SqlDbType.NVarChar).Value = 1; } if (cboStatus.Text == "จอง") { com.Parameters.Add("@SaleHeadStatus", SqlDbType.NVarChar).Value = 3; } com.Parameters.Add("@SaleHeadPayType", SqlDbType.NVarChar).Value = clsCash.sStatusCash; com.Parameters.Add("@Discount", SqlDbType.Float).Value = Discount; com.Parameters.Add("@Cash", SqlDbType.Float).Value = CashTotal; com.Parameters.Add("@SaleVat", SqlDbType.Float).Value = Convert.ToSingle(lblNetVAT.Text); com.Parameters.Add("@SaleShipping", SqlDbType.Float).Value = Convert.ToSingle(lblShipping.Text); com.Parameters.Add("@SaleVarious", SqlDbType.Float).Value = Convert.ToSingle(lblVarious.Text); com.Parameters.Add("@Rate", SqlDbType.Float).Value = 0; com.Parameters.Add("@SaleCurrencyId", SqlDbType.Int).Value = 0; com.Parameters.Add("@Deposit_Status", SqlDbType.Int).Value = 0; com.Parameters.Add("@Deposit_Pay", SqlDbType.Float).Value = Deposit_Pay; if (txtNoInv.Text.Trim() == "") { com.Parameters.Add("@NoInv", SqlDbType.NVarChar).Value = "0"; } else { com.Parameters.Add("@NoInv", SqlDbType.NVarChar).Value = txtNoInv.Text.Trim(); } com.Parameters.Add("@SaleHeadSaleTypeId", SqlDbType.Int).Value = cboTypeSale.SelectedValue.ToString(); if (rtbRemark.Text != "") { com.Parameters.Add("@Remark", SqlDbType.NVarChar).Value = remark; } else { com.Parameters.Add("@Remark", SqlDbType.NVarChar).Value = "-"; } com.Parameters.Add("@LoadingId", SqlDbType.NVarChar).Value = "1"; com.Parameters.Add("@Feeder", SqlDbType.NVarChar).Value = "1"; com.Parameters.Add("@Destinatic", SqlDbType.NVarChar).Value = "1"; com.Parameters.Add("@UserName", SqlDbType.NVarChar).Value = userId; com.Parameters.Add("@ConfirmId", SqlDbType.NVarChar).Value = "1"; com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); #endregion for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { #region INTO SALE_DETAIL sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_DETAIL (SaleHeadId,ProductId,SaleDetailQuantity,SaleDetailPriceUnit,SaleDetailTotal,AmountProduct,SaleDetailQuantityPack,SaleDetailPriceUnitInter )"); sb.Append(" VALUES( @SaleHeadId,@ProductId,@SaleDetailQuantity,@SaleDetailPriceUnit,@SaleDetailTotal,@AmountProduct,@SaleDetailQuantityPack,@SaleDetailPriceUnitInter)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@SaleDetailQuantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@SaleDetailPriceUnit", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.0000"); com.Parameters.Add("@SaleDetailTotal", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[9].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@AmountProduct", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[2].Text.Replace(",", "")); com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[10].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@SaleDetailPriceUnitInter", SqlDbType.Float).Value = 0; com.ExecuteNonQuery(); #endregion //MessageBox.Show(sqlSave); SaleTotalCal = SaleTotalCal + (Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", ""))) * (Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", ""))); SaleTotal = SaleTotal + (Convert.ToSingle(lsvProductList.Items[i].SubItems[9].Text.Replace(",", ""))); string weightext = lsvProductList.Items[i].SubItems[6].Text.ToString(); string[] weighttextarr = weightext.Split('#'); int len = weighttextarr.Length; string packtext = lsvProductList.Items[i].SubItems[7].Text.ToString(); string[] packtextarr = packtext.Split('#'); int lenpack = packtextarr.Length; string balesNumber = lsvProductList.Items[i].SubItems[11].Text.ToString(); string[] balesNumberarr = balesNumber.Split('#'); int lenbalesNumber = balesNumberarr.Length; if (weightext != "" && packtext != "" && balesNumber != "") { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); #region INTO SALE_WEIGHT sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,SalePack,BalesNumber)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@SalePack,@BalesNumber)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.Parameters.Add("@SalePack", SqlDbType.Float).Value = Convert.ToSingle(packtextarr[j].ToString()); com.Parameters.Add("@BalesNumber", SqlDbType.Int).Value = Convert.ToInt32(balesNumberarr[j].ToString()); com.ExecuteNonQuery(); #endregion } } else if (weightext != "" && packtext == "" && balesNumber != "") { for (int j = 0; j < weighttextarr.Length - 1; j++) { #region INTO SALE_WEIGHT sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,BalesNumber)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@BalesNumber)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.Parameters.Add("@BalesNumber", SqlDbType.Int).Value = Convert.ToInt32(balesNumberarr[j].ToString()); com.ExecuteNonQuery(); #endregion } } else if (weightext != "" && packtext == "" && balesNumber == "") { for (int j = 0; j < weighttextarr.Length - 1; j++) { #region INTO SALE_WEIGHT sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); //com.Parameters.Add("@BalesNumber", SqlDbType.Int).Value = Convert.ToInt32(balesNumberarr[j].ToString()); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); #endregion } } #region บันทึกลูกหนี้ //if (clsCash.sStatusCash == "2") //{ // sb.Remove(0, sb.Length); // sb.Append("INSERT INTO RECEIVABLE (ReceivableDate, CustomerId, ReceivebleType, ReceivebleTopic, SaleHeadId, ProductId, Amount, UnitPrice)"); // sb.Append(" VALUES(@ReceivableDate,@CustomerId,@ReceivebleType,@ReceivebleTopic,@SaleHeadId,@ProductId,@Amount,@UnitPrice)"); // sqlSave = sb.ToString(); // com.Parameters.Clear(); // com.CommandText = sqlSave; // com.Parameters.Add("@ReceivableDate", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy"); // com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = CustomerId; // com.Parameters.Add("@ReceivebleType", SqlDbType.Int).Value = 0; // 0 = ตั้งหนี้จากการขายที่ยังไม่ยืนนยัน , 1= ตั้งหนี้จากการขายที่ยืนยัน , 2=ชำระหนี้// // com.Parameters.Add("@ReceivebleTopic", SqlDbType.NVarChar).Value = "ค้างชำระค่าสินค้า "; // com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = saleId; // com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); // com.Parameters.Add("@Amount", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); // com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.00"); // com.ExecuteNonQuery(); //} #endregion } // บันทึก log #region INTO LOGSALE sb.Remove(0, sb.Length); sb.Append("INSERT INTO LOGSALE(LogSaleId,SaleHeadId,LogSaleDateTime,LogSaleTransection,LogsaleTotalCal,LogsaleTotal,UserName)"); sb.Append(" VALUES (@LogSaleId,@SaleHeadId,@LogSaleDateTime,@LogSaleTransection,@LogsaleTotalCal,@LogsaleTotal,@UserName)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.Transaction = tr; com.CommandText = sqlSave; com.Parameters.Add("@LogSaleId", SqlDbType.Int).Value = LogSaleId; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@LogSaleDateTime", SqlDbType.DateTime).Value = dateServer; com.Parameters.Add("@LogSaleTransection", SqlDbType.Int).Value = lsvProductList.Items.Count; com.Parameters.Add("@LogsaleTotalCal", SqlDbType.Float).Value = SaleTotalCal.ToString("#,##0.00"); com.Parameters.Add("@LogsaleTotal", SqlDbType.Float).Value = SaleTotal.ToString("#,##0.00"); com.Parameters.Add("@UserName", SqlDbType.NVarChar).Value = userId; com.ExecuteNonQuery(); #endregion for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { #region INTO LOGSALEDETAIL sb.Remove(0, sb.Length); sb.Append("INSERT INTO LOGSALEDETAIL ( LogSaleId,ProductId,Quantity,UnitPrice)"); sb.Append(" VALUES( @LogSaleId,@ProductId,@Quantity,@UnitPrice)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@LogSaleId", SqlDbType.Int).Value = LogSaleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@Quantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.0000"); com.ExecuteNonQuery(); #endregion } tr.Commit(); insertSaleAppHead(); //ต้องการ print หรือไม่ DialogResult dlg = MessageBox.Show("ต้องการพิมพ์รายงานหรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dlg == DialogResult.OK) { //Sale.rptShowSaleSelect rptSale = new KTCERP.Sale.rptShowSaleSelect(); SalePos7CSK.frmSelectReport rptSale = new frmSelectReport(); rptSale.StartPosition = FormStartPosition.CenterScreen; // กำหนด frm ย่อย ให้อยู่ตรงกลาง rptSale.setSaleId = intSaleId; rptSale.ShowDialog(); } ClearProductList(); ClearProductDetails(); ClearCommit(); } catch (Exception ex) { MessageBox.Show("ไม่สามารถบันทึกรายการสั่งซื้อได้ เนื่องจาก " + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning); //cmdSave.Focus(); tr.Rollback(); } } //SaleAppHead // frmCal.Close(); ClearProductList(); clsCash.sStatusCash = "0"; CustomerId = 1749; cusname = ""; txtCustomer.Text = ""; this.Text = "หน้าจอขาย : [" + CustomerId + "] " + cusname + " ยังไม่บันทึกในฐานข้อมูล "; pnlSelect.Visible = false; } }
private void cmdExchange_Click(object sender, EventArgs e) { // แสดงค่ารหัสรอบที่ขาย SaleId(); MaxLogSaleId(); // Sale.frmCalculateMoney frmCal = new KTCERP.Sale.frmCalculateMoney(lblNet.Text); frmCal.StartPosition = FormStartPosition.CenterParent; frmCal.ShowDialog(); double CashTotal = clsCash.sCashMoney; double Discount = clsCash.sDiscount; double CreditTotal = clsCash.sCredit; double Exchange = clsCash.sExchange; string TypeCash = clsCash.sTypeCash; float SaleTotalCal = 0; float SaleTotal = 0; if (clsCash.sStatusCash == "1" || clsCash.sStatusCash == "2") { if (MessageBox.Show("คุณต้องการบันทึกรายการสั่งซื้อสินค้า ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { tr = Conn.BeginTransaction(); //SaleId(); try { string sqlSave; sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_HEAD(SaleHeadId,SaleHeadDate,CustomerId,SaleHeadStatusId,SaleHeadPayTypeId,Discount,Cash,SaleVat,SaleShipping,SaleVarious,SaleHeadDateTime,UserName,SaleHeadSaleTypeId )"); sb.Append(" VALUES (@SaleHeadId,@SaleHeadDate,@CustomerId,@SaleHeadStatus,@SaleHeadPayType,@Discount,@Cash,@SaleVat,@SaleShipping,@SaleVarious,@SaleHeadDateTime,@UserName,@SaleHeadSaleTypeId)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.Transaction = tr; com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; // com.Parameters.Add("@saleHeadDate", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy"); if (dptSaleDate.Value.ToString("dd/MM/yyyy") == DateTime.Now.ToString("dd/MM/yyyy")) { //MessageBox.Show("datnow" + DateTime.Now); com.Parameters.Add("@SaleHeadDateTime", SqlDbType.DateTime).Value = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); com.Parameters.Add("@saleHeadDate", SqlDbType.DateTime).Value = DateTime.Now.ToString("dd/MM/yyyy"); } else { com.Parameters.Add("@SaleHeadDateTime", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy HH:mm:ss"); com.Parameters.Add("@saleHeadDate", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy"); } com.Parameters.Add("@CustomerId", SqlDbType.NVarChar).Value = CustomerId; com.Parameters.Add("@SaleHeadStatus", SqlDbType.NVarChar).Value = 1; com.Parameters.Add("@SaleHeadPayType", SqlDbType.NVarChar).Value = clsCash.sStatusCash; com.Parameters.Add("@Discount", SqlDbType.Float).Value = Discount; com.Parameters.Add("@Cash", SqlDbType.Float).Value = CashTotal; com.Parameters.Add("@SaleVat", SqlDbType.Float).Value = Convert.ToSingle(lblNetVAT.Text); com.Parameters.Add("@SaleShipping", SqlDbType.Float).Value = Convert.ToSingle(lblShipping.Text); com.Parameters.Add("@SaleVarious", SqlDbType.Float).Value = Convert.ToSingle(lblVarious.Text); com.Parameters.Add("@UserName", SqlDbType.NVarChar).Value = userId; com.Parameters.Add("@SaleHeadSaleTypeId", SqlDbType.Int).Value = cboTypeSale.SelectedValue.ToString(); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_DETAIL (SaleHeadId,ProductId,SaleDetailQuantity,SaleDetailPriceUnit,SaleDetailTotal,AmountProduct )"); sb.Append(" VALUES( @SaleHeadId,@ProductId,@SaleDetailQuantity,@SaleDetailPriceUnit,@SaleDetailTotal,@AmountProduct)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@SaleDetailQuantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@SaleDetailPriceUnit", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[7].Text.Replace(",", "")).ToString("#,##0.0000"); com.Parameters.Add("@SaleDetailTotal", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.00"); if (lsvProductList.Items[i].SubItems[2].Text.Replace(",", "") != "") { com.Parameters.Add("@AmountProduct", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[2].Text.Replace(",", "")); } else { com.Parameters.Add("@AmountProduct", SqlDbType.Float).Value = 0; } com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); SaleTotalCal = SaleTotalCal + (Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", ""))) * (Convert.ToSingle(lsvProductList.Items[i].SubItems[7].Text.Replace(",", ""))); SaleTotal = SaleTotal + (Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", ""))); string weightext = lsvProductList.Items[i].SubItems[6].Text.ToString(); string[] weighttextarr = weightext.Split('#'); int len = weighttextarr.Length; if (weightext != "") { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); } } //บันทึกลูกหนี้ if (clsCash.sStatusCash == "2") { sb.Remove(0, sb.Length); sb.Append("INSERT INTO RECEIVABLE (ReceivableDate, CustomerId, ReceivebleType, ReceivebleTopic, SaleHeadId, ProductId, Amount, UnitPrice)"); sb.Append(" VALUES(@ReceivableDate,@CustomerId,@ReceivebleType,@ReceivebleTopic,@SaleHeadId,@ProductId,@Amount,@UnitPrice)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@ReceivableDate", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy"); com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = CustomerId; com.Parameters.Add("@ReceivebleType", SqlDbType.Int).Value = 0; // 0 = ตั้งหนี้จากการขายที่ยังไม่ยืนนยัน , 1= ตั้งหนี้จากการขายที่ยืนยัน , 2=ชำระหนี้// com.Parameters.Add("@ReceivebleTopic", SqlDbType.NVarChar).Value = "ค้างชำระค่าสินค้า "; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@Amount", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[7].Text.Replace(",", "")).ToString("#,##0.00"); com.ExecuteNonQuery(); } } // บันทึก log sb.Remove(0, sb.Length); sb.Append("INSERT INTO LOGSALE(LogSaleId,SaleHeadId,LogSaleDateTime,LogSaleTransection,LogsaleTotalCal,LogsaleTotal,UserName)"); sb.Append(" VALUES (@LogSaleId,@SaleHeadId,@LogSaleDateTime,@LogSaleTransection,@LogsaleTotalCal,@LogsaleTotal,@UserName)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.Transaction = tr; com.CommandText = sqlSave; //LogSaleId com.Parameters.Add("@LogSaleId", SqlDbType.Int).Value = LogSaleId; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@LogSaleDateTime", SqlDbType.DateTime).Value = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); com.Parameters.Add("@LogSaleTransection", SqlDbType.Int).Value = lsvProductList.Items.Count; com.Parameters.Add("@LogsaleTotalCal", SqlDbType.Float).Value = SaleTotalCal.ToString("#,##0.00"); com.Parameters.Add("@LogsaleTotal", SqlDbType.Float).Value = SaleTotal.ToString("#,##0.00"); com.Parameters.Add("@UserName", SqlDbType.NVarChar).Value = userId; com.ExecuteNonQuery(); for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO LOGSALEDETAIL ( LogSaleId,ProductId,Quantity,UnitPrice)"); sb.Append(" VALUES( @LogSaleId,@ProductId,@Quantity,@UnitPrice)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@LogSaleId", SqlDbType.Int).Value = LogSaleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@Quantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[7].Text.Replace(",", "")).ToString("#,##0.00"); com.ExecuteNonQuery(); } tr.Commit(); // ต้องการ print หรือไม่ //if (selectdb == "7CTR") //{ DialogResult dlg = MessageBox.Show("ต้องการพิมพ์ Slipt การขาย หรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dlg == DialogResult.OK) { Sale.rptSlip rptSale = new KTCERP.Sale.rptSlip(); rptSale.StartPosition = FormStartPosition.CenterScreen; // กำหนด frm ย่อย ให้อยู่ตรงกลาง rptSale.setSaleId = intSaleId; rptSale.ShowDialog(); } //} //if (selectdb == "7SEA_SARA") //{ // DialogResult dlg = MessageBox.Show("ต้องการพิมพ์ Slipt หรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); // if (dlg == DialogResult.OK) // { // Sale.rptSlip rptSale = new KTCERP.Sale.rptSlip(); // rptSale.StartPosition = FormStartPosition.CenterScreen; // กำหนด frm ย่อย ให้อยู่ตรงกลาง // rptSale.setSaleId = intSaleId; // rptSale.ShowDialog(); // } //} //if (selectdb == "trangtest") //{ // DialogResult dlg = MessageBox.Show("ต้องการพิมพ์ Slipt หรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); // if (dlg == DialogResult.OK) // { // Sale.rptSlip rptSale = new KTCERP.Sale.rptSlip(); // rptSale.StartPosition = FormStartPosition.CenterScreen; // กำหนด frm ย่อย ให้อยู่ตรงกลาง // rptSale.setSaleId = intSaleId; // rptSale.ShowDialog(); // } ClearProductList(); ClearProductDetails(); ClearCommit(); } catch (Exception ex) { MessageBox.Show("ไม่สามารถบันทึกรายการสั่งซื้อได้ เนื่องจาก " + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning); //cmdSave.Focus(); tr.Rollback(); } } ClearProductList(); clsCash.sStatusCash = "0"; if (selectdb == "7CTR") { CustomerId = 472; cusname = "ลูกค้าทั่วไป"; } if (selectdb == "7SEA_SARA") { CustomerId = 1; cusname = "ลูกค้าทั่วไป"; } if (selectdb == "trangtest") { CustomerId = 472; cusname = "ลูกค้าทั่วไป"; } txtCustomer.Text = cusname; this.Text = "หน้าจอขาย : [" + CustomerId + "] " + cusname + " ยังไม่บันทึกในฐานข้อมูล "; } }
private void cmdExchange_Click(object sender, EventArgs e) { Sale.frmCalculateMoney frmCal = new KTCERP.Sale.frmCalculateMoney(lblNet.Text); frmCal.StartPosition = FormStartPosition.CenterParent; frmCal.ShowDialog(); double CashTotal = clsCash.sCashMoney; double Discount = clsCash.sDiscount; double CreditTotal = clsCash.sCredit; double Exchange = clsCash.sExchange; string TypeCash = clsCash.sTypeCash; if (clsCash.sStatusCash == "1" || clsCash.sStatusCash == "2") { if (MessageBox.Show("คุณต้องการบันทึกรายการสั่งซื้อสินค้า ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { tr = Conn.BeginTransaction(); try { string sqlSave; string ProductId; for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { ProductId = lsvProductList.Items[i].SubItems[0].Text; sb.Remove(0, sb.Length); sb.Append("UPDATE SALE_DETAIL "); sb.Append("SET ProductId=@ProductId,SaleDetailQuantity=@SaleDetailQuantity,"); sb.Append("SaleDetailPriceUnit=@SaleDetailPriceUnit,SaleDetailTotal=@SaleDetailTotal "); sb.Append("WHERE SaleHeadId =\'"); sb.Append(lblSaleId.Text.Trim()); sb.Append("\'"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@SaleDetailQuantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[3].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@SaleDetailPriceUnit", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[6].Text.Replace(",", "")).ToString("#,##0.0000"); com.Parameters.Add("@SaleDetailTotal", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.00"); if (lsvProductList.Items[i].SubItems[8].Text.Replace(",", "") != "") { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[14].Text.Replace(",", "")).ToString("#,##0.00"); } else { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = 0.00; } com.ExecuteNonQuery(); MessageBox.Show(sqlSave); string weightext = lsvProductList.Items[i].SubItems[10].Text.ToString(); string Packtext = lsvProductList.Items[i].SubItems[12].Text.ToString(); string[] weighttextarr = weightext.Split('#'); int len = weighttextarr.Length; string[] Packtextarr = Packtext.Split('#'); int lenPack = Packtextarr.Length; if (weightext != "") { sb.Append("DELETE FROM SALE_WEIGHT "); sb.Append("WHERE SaleHeadId =\'"); sb.Append(lblSaleId.Text.Trim()); sb.Append("\'"); com.Parameters.Clear(); com.CommandText = sqlSave; com.ExecuteNonQuery(); for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,SalePack)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@SalePack)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = Convert.ToInt16(lblSaleId.Text.Trim()); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = ProductId; if (weightext != "" && Packtext != "") { com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.Parameters.Add("@SalePack", SqlDbType.Float).Value = Convert.ToSingle(Packtextarr[j].ToString()); } else { com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.Parameters.Add("@SalePack", SqlDbType.Float).Value = 0.00; } //com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = ProductId; com.ExecuteNonQuery(); MessageBox.Show(weighttextarr[j].ToString()); } MessageBox.Show(sqlSave); } else { MessageBox.Show(len.ToString()); sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,SalePack)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@SalePack)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = Convert.ToInt16(lblSaleId.Text.Trim()); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = ProductId; com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = 0; com.Parameters.Add("@SalePack", SqlDbType.Float).Value = 0; com.ExecuteNonQuery(); MessageBox.Show(sqlSave); } //บันทึกลูกหนี้ if (clsCash.sStatusCash == "2") { sb.Remove(0, sb.Length); sb.Append("INSERT INTO RECEIVABLE (ReceivableDate, CustomerId, ReceivebleType, ReceivebleTopic, SaleHeadId, ProductId, Amount, UnitPrice)"); sb.Append(" VALUES(@ReceivableDate,@CustomerId,@ReceivebleType,@ReceivebleTopic,@SaleHeadId,@ProductId,@Amount,@UnitPrice)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@ReceivableDate", SqlDbType.DateTime).Value = DateTime.Now; com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = IntCustomerID; com.Parameters.Add("@ReceivebleType", SqlDbType.Int).Value = 3; // 0 = ตั้งหนี้จากการขายที่ยังไม่ยืนนยัน , 1= ตั้งหนี้จากการขายที่ยืนยัน , 2=ชำระหนี้ , 3= เพิ่มหนี้// com.Parameters.Add("@ReceivebleTopic", SqlDbType.NVarChar).Value = "เพิ่มหนี้ "; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = lblSaleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = ProductId; com.Parameters.Add("@Amount", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[3].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[6].Text.Replace(",", "")).ToString("#,##0.00"); com.ExecuteNonQuery(); MessageBox.Show(sqlSave); } } tr.Commit(); // ต้องการ print หรือไม่ ///* /*DialogResult dlg = MessageBox.Show("ต้องการพิมพ์รายงานหรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dlg == DialogResult.OK) { Sale.rptShowSaleSelect rptSale = new Sale.rptShowSaleSelect(); rptSale.StartPosition = FormStartPosition.CenterScreen; // กำหนด frm ย่อย ให้อยู่ตรงกลาง rptSale.setSaleId = intSaleId; rptSale.ShowDialog(); }*/ ClearProductDetails(); } catch (Exception ex) { MessageBox.Show("ไม่สามารถบันทึกรายการสั่งซื้อได้ เนื่องจาก " + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning); //cmdSave.Focus(); tr.Rollback(); } } clsCash.sStatusCash = "0"; } }
private void cmdExchange_Click(object sender, EventArgs e) { // แสดงค่ารหัสรอบที่ขาย SaleId(); string AbountDate = lblAbount.Text.Trim(); string Abount = txtAbount.Text.Trim(); string strAbount = AbountDate + Abount; // Sale.frmCalculateMoney frmCal = new KTCERP.Sale.frmCalculateMoney(lblNet.Text); frmCal.StartPosition = FormStartPosition.CenterParent; frmCal.ShowDialog(); double CashTotal = clsCash.sCashMoney; double Discount = clsCash.sDiscount; double CreditTotal = clsCash.sCredit; double Exchange = clsCash.sExchange; string TypeCash = clsCash.sTypeCash; if (clsCash.sStatusCash == "1" || clsCash.sStatusCash == "2") { if (cboDrawId.Text.Trim()=="") { MessageBox.Show("กรุณาเลือกการเบิกสินค้า !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (txtDrawId.Text.Trim() == "") { MessageBox.Show("กรุณากรอกรหัสการเบิก !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (MessageBox.Show("คุณต้องการบันทึกรายการสั่งซื้อสินค้า ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { tr = Conn.BeginTransaction(); try { string sqlSave; sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_HEAD(SaleHeadId,SaleHeadDate,SaleHeadDrawId,CustomerId,SaleHeadStatusId,SaleHeadPayTypeId,SaleVat,SaleShipping,SaleVarious,Discount,Cash,AbountId,DrawId)"); sb.Append(" VALUES (@SaleHeadId,@SaleHeadDate,@SaleHeadDrawId,@CustomerId,@SaleHeadStatus,@SaleHeadPayType,@NetVAT,@Shipping,@Various,@Discount,@Cash,@AbountId,@DrawId)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.Transaction = tr; com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@saleHeadDate", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy"); com.Parameters.Add("@SaleHeadDrawId", SqlDbType.NVarChar).Value = txtDrawId.Text.Trim(); com.Parameters.Add("@CustomerId", SqlDbType.NVarChar).Value = CustomerId; com.Parameters.Add("@SaleHeadStatus", SqlDbType.NVarChar).Value = 1; com.Parameters.Add("@SaleHeadPayType", SqlDbType.NVarChar).Value = clsCash.sStatusCash; com.Parameters.Add("@Shipping", SqlDbType.Float).Value = Convert.ToSingle(lblShipping.Text.Trim()); com.Parameters.Add("@Various", SqlDbType.Float).Value = Convert.ToSingle(lblVarious.Text.Trim()); com.Parameters.Add("@NetVAT", SqlDbType.Float).Value = Convert.ToSingle(lblNetVAT.Text.Trim()); com.Parameters.Add("@Discount", SqlDbType.Float).Value = Discount; com.Parameters.Add("@Cash", SqlDbType.Float).Value = CashTotal; com.Parameters.Add("@AbountId", SqlDbType.NVarChar).Value = strAbount; com.Parameters.Add("@DrawId", SqlDbType.NVarChar).Value = cboDrawId.SelectedValue.ToString(); com.ExecuteNonQuery(); ////MessageBox.Show(sqlSave); string ProductId; for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { ProductId = lsvProductList.Items[i].SubItems[0].Text; sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_DETAIL (SaleHeadId,ProductId,SaleDetailQuantity,SaleDetailPriceUnit,SaleDetailTotal,SaleDetailQuantityPack,AmountProduct )"); sb.Append(" VALUES( @SaleHeadId,@ProductId,@SaleDetailQuantity,@SaleDetailPriceUnit,@SaleDetailTotal,@SaleDetailQuantityPack,@AmountProduct)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@SaleDetailQuantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@SaleDetailPriceUnit", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[6].Text.Replace(",", "")).ToString("#,##0.0000"); com.Parameters.Add("@SaleDetailTotal", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[7].Text.Replace(",", "")).ToString("#,##0.00"); if (lsvProductList.Items[i].SubItems[8].Text.Replace(",", "") != "") { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.00"); } else { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.NVarChar).Value = ""; } if (lsvProductList.Items[i].SubItems[2].Text.Replace(",", "") != "") { com.Parameters.Add("@AmountProduct", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[2].Text.Replace(",", "")); } else { com.Parameters.Add("@AmountProduct", SqlDbType.NVarChar).Value = ""; } com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); string weightext = lsvProductList.Items[i].SubItems[9].Text.ToString(); string Packtext = lsvProductList.Items[i].SubItems[10].Text.ToString(); string[] weighttextarr = weightext.Split('#'); int len = weighttextarr.Length; string[] Packtextarr = Packtext.Split('#'); int lenPack = Packtextarr.Length; if (weightext != "" && Packtext != "") { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,SalePack)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@SalePack)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = ProductId; com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.Parameters.Add("@SalePack", SqlDbType.Float).Value = Convert.ToSingle(Packtextarr[j].ToString()); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); } } else { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = ProductId; com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); } } //บันทึกลูกหนี้ if (clsCash.sStatusCash == "2") { sb.Remove(0, sb.Length); sb.Append("INSERT INTO RECEIVABLE (ReceivableDate, CustomerId, ReceivebleType, ReceivebleTopic, SaleHeadId, ProductId, Amount, UnitPrice)"); sb.Append(" VALUES(@ReceivableDate,@CustomerId,@ReceivebleType,@ReceivebleTopic,@SaleHeadId,@ProductId,@Amount,@UnitPrice)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@ReceivableDate", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy"); com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = CustomerId; com.Parameters.Add("@ReceivebleType", SqlDbType.Int).Value = 0; // 0 = ตั้งหนี้จากการขายที่ยังไม่ยืนนยัน , 1= ตั้งหนี้จากการขายที่ยืนยัน , 2=ชำระหนี้// com.Parameters.Add("@ReceivebleTopic", SqlDbType.NVarChar).Value = "ค้างชำระค่าสินค้า "; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = saleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = ProductId; com.Parameters.Add("@Amount", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[6].Text.Replace(",", "")).ToString("#,##0.00"); com.ExecuteNonQuery(); } } tr.Commit(); // ต้องการ print หรือไม่ DialogResult dlg = MessageBox.Show("ต้องการพิมพ์รายงานหรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dlg == DialogResult.OK) { Sale.rptShowSaleSelect rptSale = new Sale.rptShowSaleSelect(); rptSale.StartPosition = FormStartPosition.CenterScreen; // กำหนด frm ย่อย ให้อยู่ตรงกลาง rptSale.setSaleId = intSaleId; rptSale.ShowDialog(); } ClearProductList(); ClearProductDetails(); ClearCommit(); } catch (Exception ex) { MessageBox.Show("ไม่สามารถบันทึกรายการสั่งซื้อได้ เนื่องจาก " + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning); //cmdSave.Focus(); tr.Rollback(); } } ClearProductList(); clsCash.sStatusCash = "0"; } }
private void cmdExchange_Click(object sender, EventArgs e) { //Sale.frmCalculateMoney frmCal = new KTCERP.Sale.frmCalculateMoney(lblNet.Text); //frmCal.StartPosition = FormStartPosition.CenterParent; //frmCal.ShowDialog(); //double CashTotal = clsCash.sCashMoney; //double Discount = clsCash.sDiscount; //double CreditTotal = clsCash.sCredit; //double Exchange = clsCash.sExchange; //string TypeCash = clsCash.sTypeCash; //string AbountDate = lblAbount.Text.Trim(); //string Abount = txtAbount.Text.Trim(); //string strAbount = AbountDate + Abount; Sale.frmCalculateMoney frmCal = new KTCERP.Sale.frmCalculateMoney(lblNet.Text); frmCal.StartPosition = FormStartPosition.CenterParent; frmCal.ShowDialog(); double CashTotal = clsCash.sCashMoney; double Discount = clsCash.sDiscount; double CreditTotal = clsCash.sCredit; double Exchange = clsCash.sExchange; string TypeCash = clsCash.sTypeCash; string AbountDate = lblAbount.Text.Trim(); string Abount = txtAbount.Text.Trim(); string strAbount = AbountDate + Abount; float SaleTotalCal = 0; float SaleTotal = 0; if (clsCash.sStatusCash == "1" || clsCash.sStatusCash == "2" || clsCash.sStatusCash == "3" || clsCash.sStatusCash == "4" || clsCash.sStatusCash == "5") { if (lblSaleId.Text.Trim() == "") { MessageBox.Show("กรุณาใส่หมายเลขใบสั่งซื้อด้วย !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); lblSaleId.Focus(); return; } if (MessageBox.Show("คุณต้องการบันทึกรายการขายสินค้า ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { tr = Conn.BeginTransaction(); try { sb.Remove(0, sb.Length); sb.Append(" DELETE FROM SALE_DETAIL "); sb.Append("WHERE SaleHeadId=@SaleHeadId"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.Transaction = tr; com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); com.ExecuteNonQuery(); for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_DETAIL (SaleHeadId,ProductId,SaleDetailQuantity,SaleDetailPriceUnit,SaleDetailTotal,AmountProduct,SaleDetailQuantityPack,SaleDetailPriceUnitInter )"); sb.Append(" VALUES( @SaleHeadId,@ProductId,@SaleDetailQuantity,@SaleDetailPriceUnit,@SaleDetailTotal,@AmountProduct,@SaleDetailQuantityPack,@SaleDetailPriceUnitInter)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@SaleDetailQuantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@SaleDetailPriceUnit", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.0000"); com.Parameters.Add("@SaleDetailTotal", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[9].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@AmountProduct", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[2].Text.Replace(",", "")); com.Parameters.Add("@SaleDetailPriceUnitInter", SqlDbType.Float).Value = 0; if (lsvProductList.Items[i].SubItems[10].Text.Replace(",", "") != "") { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[10].Text.Replace(",", "")).ToString("#,##0.00"); } else { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = 0; } com.ExecuteNonQuery(); //บันทึกลูกหนี้ if (clsCash.sStatusCash == "2") { sb.Remove(0, sb.Length); sb.Append("DELETE FROM RECEIVABLE "); sb.Append("WHERE SaleHeadId = @SaleHeadId"); sb.Append(" INSERT INTO RECEIVABLE (ReceivableDate, CustomerId, ReceivebleType, ReceivebleTopic, SaleHeadId, ProductId, Amount, UnitPrice)"); sb.Append(" VALUES(@ReceivableDate,@CustomerId,@ReceivebleType,@ReceivebleTopic,@SaleHeadId,@ProductId,@Amount,@UnitPrice)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@ReceivableDate", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy"); com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = intCustomerId; com.Parameters.Add("@ReceivebleType", SqlDbType.Int).Value = 0; // 0 = ตั้งหนี้จากการขายที่ยังไม่ยืนนยัน , 1= ตั้งหนี้จากการขายที่ยืนยัน , 2=ชำระหนี้// com.Parameters.Add("@ReceivebleTopic", SqlDbType.NVarChar).Value = "ค้างชำระค่าสินค้า "; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); ; com.Parameters.Add("@Amount", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.00"); com.ExecuteNonQuery(); } } tr.Commit(); } catch (Exception ex) { MessageBox.Show("ไม่สามารถบันทึกรายการได้ เนื่องจาก " + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning); tr.Rollback(); } } Close(); } }
private void cmdExchange_Click(object sender, EventArgs e) { Sale.frmCalculateMoney frmCal = new KTCERP.Sale.frmCalculateMoney(lblNet.Text); frmCal.StartPosition = FormStartPosition.CenterParent; frmCal.ShowDialog(); double CashTotal = clsCash.sCashMoney; double Discount = clsCash.sDiscount; double CreditTotal = clsCash.sCredit; double Exchange = clsCash.sExchange; string TypeCash = clsCash.sTypeCash; string AbountDate = lblAbount.Text.Trim(); string Abount = txtAbount.Text.Trim(); string strAbount = AbountDate+Abount; float SaleTotalCal = 0; float SaleTotal = 0; MaxLogSaleId(); if (clsCash.sStatusCash == "1" || clsCash.sStatusCash == "2" || clsCash.sStatusCash == "3" || clsCash.sStatusCash == "4" || clsCash.sStatusCash == "5") { if (lblSaleId.Text.Trim() == "") { MessageBox.Show("กรุณาใส่หมายเลขใบสั่งซื้อด้วย !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); lblSaleId.Focus(); return; } if (txtCustomer.Text.Trim() == "") { MessageBox.Show("กรุณาเลือกชื่อลูกค้าด้วยค่ะ (^_^) !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Information); txtCustomer.Focus(); return; } if (MessageBox.Show("คุณต้องการบันทึกรายการขายสินค้า ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { tr = Conn.BeginTransaction(); try { sb.Remove(0, sb.Length); sb.Append("UPDATE SALE_HEAD "); sb.Append("SET SaleHeadPayTypeId=@SaleHeadPayType,SaleVat=@NetVAT,SaleShipping=@Shipping,Remark=@Remark, "); sb.Append("SaleVarious=@Various,Discount=@Discount,Cash=@Cash,CustomerId=@CustomerId,"); sb.Append("SaleHeadDate=@SaleHeadDate,SaleHeadDateTime=@SaleHeadDateTime,ConfirmId=@ConfirmId, "); //sb.Append("SaleHeadDrawId=@SaleHeadDrawId,AbountId=@AbountId,DrawId=@DrawId,SaleHeadStatusId=@SaleHeadStatus,NoInv=@NoInv,SaleCurrencyId=@SaleCurrencyId,SaleHeadSaleTypeId=@SaleHeadSaleTypeId,UserName=@UserName "); sb.Append("SaleHeadDrawId=@SaleHeadDrawId,AbountId=@AbountId,DrawId=@DrawId,NoInv=@NoInv,SaleCurrencyId=@SaleCurrencyId,SaleHeadSaleTypeId=@SaleHeadSaleTypeId,UserName=@UserName "); sb.Append("WHERE SaleHeadId=@SaleHeadId"); sb.Append(" DELETE FROM SALE_DETAIL "); sb.Append("WHERE SaleHeadId=@SaleHeadId"); sb.Append(" DELETE FROM SALE_WEIGHT "); sb.Append("WHERE SaleHeadId = @SaleHeadId"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.Transaction = tr; com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@SaleHeadPayType", SqlDbType.NVarChar).Value = clsCash.sStatusCash; com.Parameters.Add("@Shipping", SqlDbType.Float).Value = Convert.ToSingle(lblShipping.Text.Trim()); com.Parameters.Add("@Various", SqlDbType.Float).Value = Convert.ToSingle(lblVarious.Text.Trim()); com.Parameters.Add("@NetVAT", SqlDbType.Float).Value = Convert.ToSingle(lblNetVAT.Text.Trim()); com.Parameters.Add("@Discount", SqlDbType.Float).Value = Convert.ToSingle(Discount); com.Parameters.Add("@Cash", SqlDbType.Float).Value = Convert.ToSingle(CashTotal); DateTime dateServer = Convert.ToDateTime(Class.DBConnString.clsDB.QueryExecuteScalarNonAlert("SELECT GETDATE()")); com.Parameters.Add("@SaleHeadDate", SqlDbType.DateTime).Value = dateServer.ToString("dd/MM/yyyy"); com.Parameters.Add("@SaleHeadDateTime", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy HH:mm:ss"); com.Parameters.Add("@SaleHeadDrawId", SqlDbType.NVarChar).Value = txtDrawId.Text.Trim(); com.Parameters.Add("@AbountId", SqlDbType.NVarChar).Value = strAbount; com.Parameters.Add("@DrawId", SqlDbType.NVarChar).Value = cboDrawId.SelectedValue.ToString(); //com.Parameters.Add("@SaleHeadStatus", SqlDbType.Int).Value = 1; com.Parameters.Add("@NoInv", SqlDbType.NVarChar).Value = txtNoInv.Text.Trim(); com.Parameters.Add("@SaleCurrencyId", SqlDbType.Int).Value = 1; com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = intCustomerId; com.Parameters.Add("@SaleHeadSaleTypeId", SqlDbType.Int).Value = cboTypeSale.SelectedValue.ToString(); com.Parameters.Add("@UserName", SqlDbType.NVarChar).Value = userId; if (rtbRemark.Text != "") { com.Parameters.Add("@Remark", SqlDbType.NVarChar).Value = remark; } else { com.Parameters.Add("@Remark", SqlDbType.NVarChar).Value = "-"; } com.Parameters.Add("@ConfirmId", SqlDbType.NVarChar).Value = "1"; com.ExecuteNonQuery(); // MessageBox.Show(sqlSave+"**salehead**"); // for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_DETAIL (SaleHeadId,ProductId,SaleDetailQuantity,SaleDetailPriceUnit,SaleDetailTotal,AmountProduct,SaleDetailQuantityPack,SaleDetailPriceUnitInter )"); sb.Append(" VALUES( @SaleHeadId,@ProductId,@SaleDetailQuantity,@SaleDetailPriceUnit,@SaleDetailTotal,@AmountProduct,@SaleDetailQuantityPack,@SaleDetailPriceUnitInter)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@SaleDetailQuantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@SaleDetailPriceUnit", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.0000"); decimal to = Convert.ToDecimal(lsvProductList.Items[i].SubItems[9].Text.Replace(",", "")); string str = to.ToString("#,##0.00"); com.Parameters.Add("@SaleDetailTotal", SqlDbType.Float).Value = str; com.Parameters.Add("@AmountProduct", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[2].Text.Replace(",", "")); com.Parameters.Add("@SaleDetailPriceUnitInter", SqlDbType.Float).Value = 0; if (lsvProductList.Items[i].SubItems[10].Text.Replace(",", "")!="") { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[10].Text.Replace(",", "")).ToString("#,##0.00"); } else { com.Parameters.Add("@SaleDetailQuantityPack", SqlDbType.Float).Value = 0; } com.ExecuteNonQuery(); //MessageBox.Show(sqlSave+"**saledetail**"); SaleTotalCal = SaleTotalCal + (Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")))*(Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", ""))); SaleTotal = SaleTotal + (Convert.ToSingle(lsvProductList.Items[i].SubItems[9].Text.Replace(",", ""))); string weightext = lsvProductList.Items[i].SubItems[6].Text.Replace(" ", "#"); string[] weighttextarr = weightext.Split('#'); int len = weighttextarr.Length; string packtext = lsvProductList.Items[i].SubItems[7].Text.ToString(); string[] packtextarr = packtext.Split('#'); int lenpack = packtextarr.Length; string balesNumber = lsvProductList.Items[i].SubItems[11].Text.ToString(); string[] balesNumberarr = balesNumber.Split('#'); int lenbalesNumber = balesNumberarr.Length; if (weightext != "" && packtext != "" && balesNumber != "" ) { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,SalePack,BalesNumber)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@SalePack,@BalesNumber)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.Parameters.Add("@SalePack", SqlDbType.Float).Value = Convert.ToSingle(packtextarr[j].ToString()); com.Parameters.Add("@BalesNumber", SqlDbType.Int).Value = Convert.ToInt32(balesNumberarr[j].ToString()); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); } } else if (weightext != "" && packtext == "" && balesNumber !="") { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId,BalesNumber)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId,@BalesNumber)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); com.Parameters.Add("@BalesNumber", SqlDbType.Int).Value = Convert.ToInt32(balesNumberarr[j].ToString()); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); } } else if (weightext != "" && packtext == "" && balesNumber == "") { for (int j = 0; j < weighttextarr.Length - 1; j++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO SALE_WEIGHT (SaleWeight,ProductId,SaleHeadId)"); sb.Append(" VALUES(@saleWeight,@ProductId,@saleHeadId)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@saleHeadId", SqlDbType.NVarChar).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@saleWeight", SqlDbType.Float).Value = Convert.ToSingle(weighttextarr[j].ToString()).ToString("#,##0.00"); //com.Parameters.Add("@BalesNumber", SqlDbType.Int).Value = Convert.ToInt16(balesNumberarr[j].ToString()); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); } } //บันทึกลูกหนี้ if (clsCash.sStatusCash == "2") { sb.Remove(0, sb.Length); sb.Append("DELETE FROM RECEIVABLE "); sb.Append("WHERE SaleHeadId = @SaleHeadId"); sb.Append(" INSERT INTO RECEIVABLE (ReceivableDate, CustomerId, ReceivebleType, ReceivebleTopic, SaleHeadId, ProductId, Amount, UnitPrice)"); sb.Append(" VALUES(@ReceivableDate,@CustomerId,@ReceivebleType,@ReceivebleTopic,@SaleHeadId,@ProductId,@Amount,@UnitPrice)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@ReceivableDate", SqlDbType.DateTime).Value = dptSaleDate.Value.ToString("dd/MM/yyyy"); com.Parameters.Add("@CustomerId", SqlDbType.Int).Value = intCustomerId; com.Parameters.Add("@ReceivebleType", SqlDbType.Int).Value = 0; // 0 = ตั้งหนี้จากการขายที่ยังไม่ยืนนยัน , 1= ตั้งหนี้จากการขายที่ยืนยัน , 2=ชำระหนี้// com.Parameters.Add("@ReceivebleTopic", SqlDbType.NVarChar).Value = "ค้างชำระค่าสินค้า "; com.Parameters.Add("@SaleHeadId", SqlDbType.Int).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); ; com.Parameters.Add("@Amount", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.00"); com.ExecuteNonQuery(); //MessageBox.Show(sqlSave); } } // บันทึก log sb.Remove(0, sb.Length); sb.Append("INSERT INTO LOGSALE(LogSaleId,SaleHeadId,LogSaleDateTime,LogSaleTransection,LogsaleTotalCal,LogsaleTotal,UserName)"); sb.Append(" VALUES (@LogSaleId,@SaleHeadId,@LogSaleDateTime,@LogSaleTransection,@LogsaleTotalCal,@LogsaleTotal,@UserName)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.Transaction = tr; com.CommandText = sqlSave; com.Parameters.Add("@LogSaleId", SqlDbType.Int).Value = LogSaleId; //MessageBox.Show(LogSaleId.ToString()); com.Parameters.Add("@saleHeadId", SqlDbType.Int).Value = lblSaleId.Text.Trim(); com.Parameters.Add("@LogSaleDateTime", SqlDbType.DateTime).Value = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); com.Parameters.Add("@LogSaleTransection", SqlDbType.Int).Value = lsvProductList.Items.Count; com.Parameters.Add("@LogsaleTotalCal", SqlDbType.Float).Value = SaleTotalCal.ToString("#,##0.00"); com.Parameters.Add("@LogsaleTotal", SqlDbType.Float).Value = SaleTotal.ToString("#,##0.00"); com.Parameters.Add("@UserName", SqlDbType.NVarChar).Value = userId; //MessageBox.Show(userId); com.ExecuteNonQuery(); for (int i = 0; i <= lsvProductList.Items.Count - 1; i++) { sb.Remove(0, sb.Length); sb.Append("INSERT INTO LOGSALEDETAIL ( LogSaleId,ProductId,Quantity,UnitPrice)"); sb.Append(" VALUES( @LogSaleId,@ProductId,@Quantity,@UnitPrice)"); sqlSave = sb.ToString(); com.Parameters.Clear(); com.CommandText = sqlSave; com.Parameters.Add("@LogSaleId", SqlDbType.Int).Value = LogSaleId; com.Parameters.Add("@ProductId", SqlDbType.NVarChar).Value = lsvProductList.Items[i].SubItems[0].Text.Replace(",", ""); com.Parameters.Add("@Quantity", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[4].Text.Replace(",", "")).ToString("#,##0.00"); com.Parameters.Add("@UnitPrice", SqlDbType.Float).Value = Convert.ToSingle(lsvProductList.Items[i].SubItems[8].Text.Replace(",", "")).ToString("#,##0.00"); com.ExecuteNonQuery(); } tr.Commit(); // ต้องการ print หรือไม่ ///* insertSaleAppHead(); DialogResult dlg = MessageBox.Show("ต้องการพิมพ์รายงานหรือไม่ !!!", "ผลการทำงาน", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (dlg == DialogResult.OK) { SalePos7CSK.frmSelectReport rptSale = new frmSelectReport(); //Sale.rptShowSaleSelect rptSale = new Sale.rptShowSaleSelect(); rptSale.StartPosition = FormStartPosition.CenterScreen; // กำหนด frm ย่อย ให้อยู่ตรงกลาง rptSale.setSaleId = Convert.ToInt32(lblSaleId.Text.Trim()); rptSale.ShowDialog(); } else { MessageBox.Show("ปรับปรุงสำเร็จ"); Close(); } } catch (Exception ex) { MessageBox.Show("ไม่สามารถบันทึกรายการสั่งซื้อได้ เนื่องจาก " + ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Warning); tr.Rollback(); } } Close(); } }