コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
                }
            }
        }