• .NET汇出指定类型文档方法


      if (this.chkPS.Checked)
                    {
                        //从PS_detail取数据
                        ///Modified By Rain 2014-02-06
                        /// 汇出PS档案 脚本查询确实一个栏位:Description
                        /// 这里加上。但是为了不影响原来代码 这里进行新增一个方法 名字加上后缀:_WithDescription                 
                        DataSet ds = _EPDA.GetPSData_WithDescription(this.ddlFormType.SelectedItem.Value, Convert.ToDateTime(this.CalendarPickerAccountingDate.DateValue).ToString(CommonDefine.DATE_SHORT_FORMAT),
                          Convert.ToDateTime(this.CalendarPickerPaymentDate.DateValue).ToString(CommonDefine.DATE_SHORT_FORMAT));
                        if (ds.Tables[0].Rows.Count > 0)
                        {
                            #region 产生分录档文件
                            string fileNameFix = "TWZ900EPEIML2";
                            if (this.ddlFormType.SelectedItem.Value.Equals(CommonDefine.FORM_KIND.CARRFORM2))
                            {
                                //fileNameFix = "TWZ904EPEIML2";edit by Rain --檔名TWZ900EPEIML2调整为TWZ904PCEIML2
                                fileNameFix = "TWZ904EPEIML2";
                            }

                            //读取流水号
                            string s2 = _DA.GetSerialNo(1);
                            string fileName = string.Format("{0}{1}{2}.FT",
                                DateTime.Today.ToString(CommonDefine.DATE_FORMAT_LIST), fileNameFix, s2);
                            string svrPath = _DA.GetDataFromConfig(this.ddlFormType.SelectedItem.Value, "upload_path_ps");
                            StreamWriter sw = new StreamWriter(svrPath + "\" + fileName, false, System.Text.Encoding.GetEncoding(950));

                            #region 表头
                            sw.WriteLine(string.Format("# FILE NAME :{0}", fileName));
                            sw.WriteLine(string.Format("# FILE REFERENCE : {0}{1}{2}", DateTime.Now.ToString(CommonDefine.DATETIME_FORMAT_LIST), fileNameFix, s2));

                            sw.WriteLine("# VERSION NUMBER : 1.00");
                            sw.WriteLine(string.Format("# GENERATION DATE :{0} E08", DateTime.Now.ToString(CommonDefine.DATETIME_FORMAT_LIST)));
                            sw.WriteLine("# CHARACTER SET : ENG");
                            #endregion

                            #region 表身

                            StringBuilder str;
                            int j = 0;
                            #region 循环产生每条数据
                            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                            {

                                dr = ds.Tables[0].Rows[i];
                                //如果AMOUNT_DEBIT,AMOUNT_CREDIT均无值,则不产生这笔资料 Add by Rain2014.05.29
                                if (Convert.ToInt32(dr["AMOUNT_DEBIT"]) == 0 && Convert.ToInt32(dr["AMOUNT_CREDIT"]) == 0)
                                {
                                    continue;
                                }

                                //如果AMOUNT_DEBIT,AMOUNT_CREDIT均有值,则产生两笔资料
                                else if (Convert.ToInt32(dr["AMOUNT_DEBIT"]) > 0 && Convert.ToInt32(dr["AMOUNT_CREDIT"]) > 0)
                                {
                                    int temp_AMOUNT_DEBIT = Convert.ToInt32(dr["AMOUNT_DEBIT"]);
                                    int temp_AMOUNT_CREDIT = Convert.ToInt32(dr["AMOUNT_CREDIT"]);

                                    dr["AMOUNT_CREDIT"] = 0;
                                    sw.WriteLine(getPsString(dr));
                                    j++;
                                    dr["AMOUNT_DEBIT"] = 0;
                                    dr["AMOUNT_CREDIT"] = temp_AMOUNT_CREDIT;
                                    sw.WriteLine(getPsString(dr));
                                    j++;
                                }
                                else
                                {
                                    sw.WriteLine(getPsString(dr));
                                    j++;
                                }

                            }//end for
                            #endregion

                            #endregion

                            #region 表尾
                            //sw.WriteLine(string.Format("# ROWS COUNT : {0}", ds.Tables[0].Rows.Count.ToString()));
                            sw.WriteLine(string.Format("# ROWS COUNT : {0}", j.ToString()));
                            #endregion

                            sw.Close();

                            #endregion
                        }
                        else
                        {
                            ShowAlert(localize.NoData);
                            exportSuc = false;
                            return;
                        }
                    }

                    if (this.ddlFormType.SelectedItem.Value.Equals(CommonDefine.FORM_KIND.CARRFORM3))
                    {
                        if (this.chkBank.Checked)
                        {
                            //从EP_BankDetail取数据

                            DataSet dsBank = _EPBKDA.GetBankFileData(this.CalendarPickerAccountingDate.SelectedDate.ToString(CommonDefine.DATE_SHORT_FORMAT),
                                this.CalendarPickerPaymentDate.SelectedDate.ToString(CommonDefine.DATE_SHORT_FORMAT));
                            if (dsBank.Tables[0].Rows.Count > 0)
                            {

                                #region 产生银行档文件
                                string fileNameFix = "Epe-BK-";
                                //读取流水号
                                string s2 = _DA.GetSerialNo(6);
                                string fileName = string.Format("{0}{1}{2}.csv",
                                    fileNameFix, DateTime.Today.ToString(CommonDefine.DATE_FORMAT_LIST), s2);
                                string svrPath = _DA.GetDataFromConfig(this.ddlFormType.SelectedItem.Value, "upload_path_bank");
                                StreamWriter sw = new StreamWriter(svrPath + "\" + fileName, false, System.Text.Encoding.GetEncoding(950));

                                #region 表头

                                //计算总金额
                                int sum = 0;
                                for (int i = 0; i < dsBank.Tables[0].Rows.Count; i++)
                                {
                                    sum += Convert.ToInt32(dsBank.Tables[0].Rows[i]["SumTravelFee"]);
                                }

                                sw.WriteLine(string.Format("發放筆數;{0};差旅費發放總額;{1};;", dsBank.Tables[0].Rows.Count.ToString(), sum.ToString()));
                                sw.WriteLine(string.Format("員工編號;發放方式;計算日期;差旅費金額;手續費;實發金額"));

                                #endregion

                                #region 表身

                                StringBuilder str;

                                #region 循环产生每条数据
                                for (int i = 0; i < dsBank.Tables[0].Rows.Count; i++)
                                {
                                    dr = dsBank.Tables[0].Rows[i];
                                    str = new StringBuilder();

                                    //員工編號
                                    str.Append(string.Format("{0};", dr["EMP_NO"].ToString()));

                                    //發放方式
                                    str.Append(string.Format("{0};", dr["PAY_TERM"].ToString()));

                                    //計算日期
                                    str.Append(string.Format("{0};", Convert.ToDateTime(dr["PAYDATE"]).ToString("yyyy/M/d")));

                                    //差旅費金額
                                    str.Append(string.Format("{0};", dr["SumTravelFee"].ToString()));

                                    //手續費
                                    str.Append(string.Format("{0};", dr["SumRemittanceFee"].ToString()));

                                    //實發金額
                                    str.Append(dr["SUMACTUALFEE"].ToString());

                                    sw.WriteLine(str.ToString());

                                }
                                #endregion

                                #endregion

                                #region 表尾
                                sw.Close();
                                #endregion

                                #endregion
                            }
                            else
                            {
                                ShowAlert(localize.NoData);
                                exportSuc = false;
                                return;
                            }
                        }
                    }

    //.txt

     if (this.chkChkVAT.Checked)
                    {
                        #region 产生媒体档(Check VAT)

                        //读取流水号
                        string VATs2 = _DA.GetSerialNo(9);


                        //导出文件前先更新流水号

                        DataSet dsVAT = _EPDA.GetVATData(this.ddlFormType.SelectedItem.Value, Convert.ToDateTime(this.CalendarPickerAccountingDate.DateValue).ToString(CommonDefine.DATE_SHORT_FORMAT),
                            Convert.ToDateTime(this.CalendarPickerPaymentDate.DateValue).ToString(CommonDefine.DATE_SHORT_FORMAT), "7");

                        int reCount = 0;
                        for (int i = 0; i < dsVAT.Tables.Count; i++)
                        {
                            if (dsVAT.Tables[i].Rows.Count > 0)
                            {
                                reCount = reCount + 1;
                            }
                        }
                        if (reCount > 0)
                        {
                            //add by Rain 根据FORM_KIND区分fileName,若为CARRFORM2则为VAT -PCE ,若为CARRFORM3 则为VAT-EPE
                            string fileNameIndex = "VAT-EPE-";
                            if (this.ddlFormType.SelectedItem.Value.Equals(CommonDefine.FORM_KIND.CARRFORM2))
                            {
                                fileNameIndex = "VAT-PCE-";
                            }
                            for (int i = 0; i < dsVAT.Tables.Count; i++)
                            {

                                if (dsVAT.Tables[i].Rows.Count > 0)
                                {
                                    string VATfileName = string.Format("{0}{1}{2}_{3}.txt", fileNameIndex,
                                    DateTime.Today.ToString(CommonDefine.DATE_FORMAT_LIST), VATs2, dsVAT.Tables[i].Rows[0]["Chr_VatBInvoice"].ToString());
                                    string svrPathVAT = _DA.GetDataFromConfig(this.ddlFormType.SelectedItem.Value, "upload_path_checkvat");
                                    StreamWriter swVAT = new StreamWriter(svrPathVAT + "\" + VATfileName, false, System.Text.Encoding.GetEncoding(950));

                                    CreateCheckVAT(dsVAT.Tables[i], swVAT);

                                    swVAT.Close();
                                }
                            }
                        }
                        else
                        {
                            ShowAlert(localize.NoData);
                            exportSuc = false;
                            return;
                        }

                        #endregion
                    }

  • 相关阅读:
    VI中的批量替换--转载
    Zookeeper集群
    Zookeeper实现Master选举(哨兵机制)
    分布式session之token解决方案实现
    浏览器
    分布式session之redis解决方案实现
    服务器操作常用
    Nginx安装教程(Centos6.8)
    分布式锁(Redis实现)
    开发总结
  • 原文地址:https://www.cnblogs.com/Chinarain/p/3822070.html
Copyright © 2020-2023  润新知