private void btnPost_Click(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; DBGrid.EndEdit(); if (DBGrid.RowCount == 0) { MessageBox.Show("没有明细数据", clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } for (int i = 0; i < DBGrid.RowCount; i++) { if (DBGrid.Rows[i].Cells[0].Value == null || string.IsNullOrEmpty(DBGrid.Rows[i].Cells[0].Value.ToString())) { MessageBox.Show(clsTranslate.TranslateString("Product id") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (DBGrid.Rows[i].Cells[4].Value == null || string.IsNullOrEmpty(DBGrid.Rows[i].Cells[4].Value.ToString())) { MessageBox.Show(clsTranslate.TranslateString("Qty") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } else if (!Util.IsNumeric(DBGrid.Rows[i].Cells[4].Value.ToString())) { MessageBox.Show(clsTranslate.TranslateString("Qty") + clsTranslate.TranslateString(" must be a numeric!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } else if (Convert.ToDecimal(DBGrid.Rows[i].Cells[4].Value.ToString()) <= 0) { MessageBox.Show(clsTranslate.TranslateString("Qty") + clsTranslate.TranslateString(" must > 0!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } if (DBGrid.Rows[i].Cells[5].Value == null || string.IsNullOrEmpty(DBGrid.Rows[i].Cells[5].Value.ToString())) { MessageBox.Show(clsTranslate.TranslateString("Price") + clsTranslate.TranslateString(" can not be null!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } else if (!Util.IsNumeric(DBGrid.Rows[i].Cells[5].Value.ToString())) { MessageBox.Show(clsTranslate.TranslateString("Price") + clsTranslate.TranslateString(" must be a numeric!"), clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } } modSalesShipment mod = new modSalesShipment(); mod.ShipId = _dal.GetNewId(DateTime.Today); mod.ShipDate = DateTime.Today; mod.ShipType = "收营单"; //mod.No = txtNo.Text.Trim(); mod.AdFlag = 1; dalCustomerList dalcust = new dalCustomerList(); //mod.CustOrderNo = txtCustOrderNo.Text.Trim(); mod.CustName = "散客"; mod.CustId = clsLxms.GetDefaultCustId(); mod.PayMethod = "现金"; mod.SalesMan = Util.UserId; mod.OtherMny = 0; mod.KillMny = 0; mod.Currency = Util.Currency; dalAccCurrencyList dalcur = new dalAccCurrencyList(); modAccCurrencyList modcur = dalcur.GetItem(mod.Currency, out Util.emsg); mod.ExchangeRate = modcur.ExchangeRate; mod.DetailSum = decimal.Parse(txtAmount.Text); mod.UpdateUser = Util.UserId; mod.Status = 0; mod.ReceiveStatus = 1; mod.AccountNo = "现金"; mod.MakeDate = DateTime.Today; mod.ReceiveDate = DateTime.Today.ToString("yyyy-MM-dd"); mod.InvoiceStatus = 0; mod.InvoiceMny = 0; string detaillist = string.Empty; dalCustomerOrderList dalorder = new dalCustomerOrderList(); BindingCollection <modSalesShipmentDetail> list = new BindingCollection <modSalesShipmentDetail>(); for (int i = 0; i < DBGrid.RowCount; i++) { modSalesShipmentDetail modd = new modSalesShipmentDetail(); modd.Seq = i + 1; modd.ProductId = DBGrid.Rows[i].Cells[0].Value.ToString(); modd.ProductName = DBGrid.Rows[i].Cells[1].Value.ToString(); modd.Specify = DBGrid.Rows[i].Cells[8].Value.ToString(); modd.UnitNo = DBGrid.Rows[i].Cells[3].Value.ToString(); modd.Size = 1; modd.Qty = Convert.ToDecimal(DBGrid.Rows[i].Cells[4].Value.ToString()); modd.Price = Convert.ToDecimal(DBGrid.Rows[i].Cells[5].Value.ToString()); modd.SalesManMny = 0; modd.WarehouseId = clsLxms.GetDefaultWarehouseId(); list.Add(modd); } bool ret = _dal.Save("ADD", mod, list, out Util.emsg); if (ret) { this.DialogResult = DialogResult.OK; LoadHistory(); DBGrid.Rows.Clear(); txtQty.Text = "0"; txtAmount.Text = "0"; btnPreview_Click(null, null); txtProduct.Focus(); } else { MessageBox.Show(Util.emsg, clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (Exception ex) { MessageBox.Show(ex.Message, clsTranslate.TranslateString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information); return; } finally { this.Cursor = Cursors.Default; } }
private void toolExport_Click(object sender, EventArgs e) { if (DBGrid.CurrentRow == null) { return; } frmSingleSelect frm = new frmSingleSelect(); frm.InitData("请选择导出单据类别:", "送货单,购销合同", "送货单", ComboBoxStyle.DropDownList); if (frm.ShowDialog() == DialogResult.OK) { IList <modExcelRangeData> list = new List <modExcelRangeData>(); modSalesShipment mod = (modSalesShipment)DBGrid.CurrentRow.DataBoundItem; BindingCollection <modSalesShipmentDetail> listdetail = _dal.GetDetail(mod.ShipId, out Util.emsg); dalCustomerList dalcust = new dalCustomerList(); modCustomerList modcust = dalcust.GetItem(mod.CustId, out Util.emsg); switch (Util.retValue1) { case "送货单": case "收营单": string company = clsLxms.GetParameterValue("COMPANY_NAME"); switch (company) { case "深圳市蓝图净化用品有限公司": list.Add(new modExcelRangeData("№ " + mod.ShipNo, "H6", "I6")); list.Add(new modExcelRangeData(modcust.FullName, "C7", "E7")); list.Add(new modExcelRangeData(modcust.Tel, "G7", "I7")); list.Add(new modExcelRangeData(modcust.Linkman, "C8", "E8")); list.Add(new modExcelRangeData(modcust.Fax, "G8", "I8")); list.Add(new modExcelRangeData(mod.ShipAddr, "C9", "I9")); list.Add(new modExcelRangeData(mod.CustOrderNo, "A13", "C13")); list.Add(new modExcelRangeData(modcust.PayMethod, "D13", "E13")); dalAdminEmployeeList dalemp = new dalAdminEmployeeList(); modAdminEmployeeList modemp = dalemp.GetItem(mod.SalesMan, out Util.emsg); if (modemp != null) { list.Add(new modExcelRangeData(modemp.EmployeeName, "F13", "F13")); } else { list.Add(new modExcelRangeData(mod.SalesMan, "F13", "F13")); } list.Add(new modExcelRangeData(mod.ShipDate.ToString("yyyy年MM月dd日"), "G13", "G13")); for (int i = 0; i < listdetail.Count; i++) { modSalesShipmentDetail modd = listdetail[i]; string col = (17 + i).ToString().Trim(); list.Add(new modExcelRangeData((i + 1).ToString(), "A" + col, "A" + col)); list.Add(new modExcelRangeData(modd.ProductName, "B" + col, "C" + col)); list.Add(new modExcelRangeData(modd.Specify, "D" + col, "D" + col)); list.Add(new modExcelRangeData(modd.Qty.ToString(), "E" + col, "E" + col)); list.Add(new modExcelRangeData(modd.UnitNo, "F" + col, "F" + col)); list.Add(new modExcelRangeData(modd.Price.ToString("#,##0.00"), "G" + col, "G" + col)); list.Add(new modExcelRangeData((modd.Qty * modd.Price).ToString("#,##0.00"), "H" + col, "H" + col)); list.Add(new modExcelRangeData(modd.Remark, "I" + col, "I" + col)); } clsExport.ExportByTemplate(list, "蓝图送货单", 1, 24, 10, 1); break; default: list.Add(new modExcelRangeData(clsLxms.GetParameterValue("COMPANY_NAME"), "A1", "L1")); list.Add(new modExcelRangeData("TEL:" + clsLxms.GetParameterValue("COMPANY_TEL") + " Fax:" + clsLxms.GetParameterValue("COMPANY_FAX"), "A2", "L2")); list.Add(new modExcelRangeData("公司地址:" + clsLxms.GetParameterValue("COMPANY_ADDR"), "A3", "L3")); if (mod.InvoiceStatus >= 1) { list.Add(new modExcelRangeData("S", "L4", "L4")); } list.Add(new modExcelRangeData(mod.ShipType, "E4", "I5")); list.Add(new modExcelRangeData(mod.CustOrderNo, "C4", "D4")); list.Add(new modExcelRangeData(modcust.FullName, "C5", "D5")); list.Add(new modExcelRangeData(mod.ShipAddr, "C6", "D6")); list.Add(new modExcelRangeData(modcust.Linkman + " " + modcust.Tel, "K4", "K4")); list.Add(new modExcelRangeData(mod.ShipNo, "K5", "K5")); list.Add(new modExcelRangeData(mod.ShipDate.ToString("yyyy年MM月dd日"), "K6", "K6")); list.Add(new modExcelRangeData("合计金额:" + clsMoney.ConvertToMoney(Convert.ToDouble(mod.DetailSum + mod.OtherMny - mod.KillMny)), "A16", "I17")); list.Add(new modExcelRangeData(string.Format("{0:C2}", mod.DetailSum + mod.OtherMny - mod.KillMny), "J16", "K16")); list.Add(new modExcelRangeData("付款方式:" + mod.PayMethod, "J17", "K17")); list.Add(new modExcelRangeData(Util.UserName, "K20", "K20")); for (int i = 0; i < listdetail.Count; i++) { modSalesShipmentDetail modd = listdetail[i]; string col = (8 + i).ToString().Trim(); list.Add(new modExcelRangeData((i + 1).ToString(), "A" + col, "A" + col)); list.Add(new modExcelRangeData(modd.ProductName, "B" + col, "D" + col)); list.Add(new modExcelRangeData(modd.UnitNo, "E" + col, "E" + col)); list.Add(new modExcelRangeData(modd.Qty.ToString(), "F" + col, "G" + col)); list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.Price), "H" + col, "I" + col)); list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.Qty * modd.Price), "J" + col, "J" + col)); list.Add(new modExcelRangeData(modd.Remark, "K" + col, "K" + col)); } clsExport.ExportByTemplate(list, "送货单", 1, 20, 11, 1); break; } break; case "购销合同": list.Add(new modExcelRangeData(modcust.FullName, "B6", "E6")); list.Add(new modExcelRangeData(mod.ShipNo, "I6", "I6")); list.Add(new modExcelRangeData(mod.ShipDate.ToString("yyyy年MM月dd日"), "I7", "I7")); list.Add(new modExcelRangeData("金额大写:" + clsMoney.ConvertToMoney(Convert.ToDouble(mod.DetailSum + mod.OtherMny - mod.KillMny)), "A23", "I23")); list.Add(new modExcelRangeData(string.Format("{0:C2}", mod.DetailSum + mod.OtherMny - mod.KillMny), "H22", "H22")); dalProductList dalpdt = new dalProductList(); for (int i = 0; i < listdetail.Count; i++) { modSalesShipmentDetail modd = listdetail[i]; string col = (10 + i).ToString().Trim(); //list.Add(new modExcelRangeData((i+1).ToString(), "A" + col, "A" + col)); list.Add(new modExcelRangeData(modd.ProductName, "B" + col, "B" + col)); modProductList modpdt = dalpdt.GetItem(modd.ProductId, out Util.emsg); if (modpdt != null) { list.Add(new modExcelRangeData(modpdt.Brand, "C" + col, "C" + col)); } list.Add(new modExcelRangeData(modd.Qty.ToString(), "D" + col, "D" + col)); list.Add(new modExcelRangeData(modd.UnitNo, "E" + col, "E" + col)); list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.Price), "G" + col, "G" + col)); list.Add(new modExcelRangeData(string.Format("{0:C2}", modd.Qty * modd.Price), "H" + col, "H" + col)); list.Add(new modExcelRangeData(modd.Remark, "I" + col, "I" + col)); } clsExport.ExportByTemplate(list, "购销合同", 1, 38, 9, 1); break; } } }