Example #1
0
        public void a()
        {
            /*
             * {{aa}}是参数,这个参数必输,参数名是aa,所以后面添加参数时参数名写aa
             * {{bb}}外面包了层{{@ @}}  说明这个参数是可选的,当bb参数没有传的时候,这段就不拼
             * {{cc}}是数组参数,用in() 到时候传一个数组进来,这个也是可选参数,当数组为空或为null时这段sql不拼
             *
             *
             *
             */

            zParameter[] param = new zParameter[2] {
                new zParameter("pDATE1", new DateTime(2017, 10, 1), DbType.Date),
                new zParameter("pDATE2", new DateTime(2018, 10, 1), DbType.Date)
            };
            string    sql = "select sum(1) SFJE from WORKITEM where PROC_TIME>={{pDATE1}} and PROC_TIME<={{pDATE2}}";
            DataTable dt  = DbHelper.ExecuteTable(sql, param);

            sql = "select 1 from dual where 1=1 and a={{aa}} {{@ and b={{bb}} @}} {{@ and c in ({{cc}}) @}}";
            zParameter[] parameters = new zParameter[] {
                new zParameter("aa", 1),
                new zParameter("bb", 1),
                new zParameter("cc", new string[] { "cc1", "cc2" })
            };
            DbHelper.ExecuteTable(sql, parameters);
        }
Example #2
0
        /// <summary>
        /// 渲染参数化sql
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        DbParameter[] RenderSql(ref string sql, params zParameter[] parameters)
        {
            List <DbParameter> res = new List <DbParameter>();

            if (!sql.Contains("{{"))  //没有参数符号的,跳过
            {
                return(parameters?.Select(p => GetParameter(p.Name, p.Value, p.Type)).ToArray());
            }
            int           pnameinx = 1;
            Func <string> newp     = () =>
            {
                return($"p{pnameinx++}");
            };
            Regex rin   = new Regex(@"{{[^@]([^@]+?)}}");
            Regex rin0  = new Regex(@"(?<={{)[^@]([^@]+?)(?=}})");
            Regex errcs = new Regex(@"{{| |}}|@");

            while (rin0.IsMatch(sql))
            {
                string cs = rin0.Match(sql).Value;
                if (errcs.IsMatch(cs))
                {
                    throw new Exception("sql匹配失败,请检查占位符是否有特殊字符或{{标签没有闭合");
                }
                zParameter pram = parameters?.FirstOrDefault(p => p != null && p.Name == cs);
                if (pram != null) //参数存在,则拼接进去
                {
                    //先替换掉可空标记
                    Regex regex = new Regex(@"{{@([^@]*?){{" + cs + @"}}([^@]*?)@}}");   //可空标记替换符
                    sql = regex.Replace(sql, m =>
                    {
                        return($" {m.Value.Substring(3, m.Value.Length - 6)} ");
                    });
                    //替换占位符,产生参数数组
                    string zstr = "{{" + cs + "}}";
                    if (pram.IsArray)  //数组参数
                    {
                        var arrv = (pram.Value as IEnumerable <object>).ToArray();
                        if (arrv == null)
                        {
                            throw new Exception("数组参数类型错误");
                        }
                        if (arrv.Count() == 0)
                        {
                            throw new Exception("数组参数个数不能为0");
                        }
                        string[] pnames = arrv.Select(p =>
                        {
                            string pname = newp();
                            res.Add(GetParameter(pname, p, pram.Type));
                            return(GetPramCols(pname));
                        }).ToArray();
                        sql = sql.ReplaceOne(zstr, string.Join(",", pnames));
                    }
                    else  //单个参数
                    {
                        string pname = newp();
                        sql = sql.ReplaceOne(zstr, $" {GetPramCols(pname)} ");
                        res.Add(GetParameter(pname, pram.Value, pram.Type));
                    }
                }
                else //参数不存在,删除可空标记占位符
                {
                    Regex rnull = new Regex(@"{{@([^@]+?){{" + cs + @"}}([^@]+?)@}}");
                    sql = rnull.Replace(sql, " ");
                    //参数不存在,但是sql不可空,则报错
                    Regex rnotnull = new Regex(@"{{" + cs + @"}}");
                    if (rnotnull.IsMatch(sql))
                    {
                        throw new Exception($"参数{cs}不可为空");
                    }
                }
            }
            //如果还有残余的占位符,说明sql有问题了
            {
                if (sql.Contains("{{") || sql.Contains("}}"))
                {
                    throw new Exception("占位符异常");
                }
            }
            return(res.ToArray());
        }
Example #3
0
        private string ExportPzU8(VOUCHER_PARAMEntity Data)
        {
            var      iPZBH      = string.Empty;
            Int32    pFDBH      = Data.BRANCHID;
            Int32    pCWNY      = Data.CWNY;
            Int32    pVOUCHERID = Data.VOUCHERID;
            DateTime pDATE1     = Data.DATE1;
            DateTime pDATE2     = Data.DATE2;
            DateTime pPZRQ      = Data.PZRQ;
            Int32    Year       = Data.PZRQ.Year;
            Int32    MM         = Data.PZRQ.Month;


            DataTable resultdt = new DataTable();

            resultdt.Columns.Add("PZID", typeof(Int32));      //凭证ID
            resultdt.Columns.Add("YEAR", typeof(String));     //会计年
            resultdt.Columns.Add("KJQJ", typeof(String));     //会计期间
            resultdt.Columns.Add("ZDRQ", typeof(String));     //制单日期
            resultdt.Columns.Add("PZLB", typeof(String));     //凭证类别
            resultdt.Columns.Add("PZBH", typeof(Int32));      //凭证号
            resultdt.Columns.Add("ZDR", typeof(String));      //制单人
            resultdt.Columns.Add("DJZS", typeof(String));     //所附单据数
            resultdt.Columns.Add("KMBM", typeof(String));     //科目编码
            resultdt.Columns.Add("ZY", typeof(String));       //摘要
            resultdt.Columns.Add("PJRQ", typeof(String));     //票据日期
            resultdt.Columns.Add("BZMC", typeof(String));     //币种名称
            resultdt.Columns.Add("YBJF", typeof(String));     //原币借方
            resultdt.Columns.Add("YBDF", typeof(String));     //原币贷方
            resultdt.Columns.Add("JFJE", typeof(String));     //借方金额
            resultdt.Columns.Add("DFJE", typeof(String));     //贷方金额
            resultdt.Columns.Add("BMBM", typeof(String));     //部门编码
            resultdt.Columns.Add("ZYBM", typeof(String));     //职员编码
            resultdt.Columns.Add("KHBM", typeof(String));     //客户编码
            resultdt.Columns.Add("GYSBM", typeof(String));    //供应商编码
            resultdt.Columns.Add("XMDLBM", typeof(String));   //项目大类编码
            resultdt.Columns.Add("XMBM", typeof(String));     //项目编码
            resultdt.Columns.Add("YWY", typeof(String));      //业务员
            resultdt.Columns.Add("ZDYX9", typeof(String));    //自定义项9
            resultdt.Columns.Add("ZDYX10", typeof(String));   //自定义项10
            resultdt.Columns.Add("ZDYX11", typeof(String));   //自定义项11
            resultdt.Columns.Add("ZDYX12", typeof(String));   //自定义项12
            resultdt.Columns.Add("ZDYX13", typeof(String));   //自定义项13
            resultdt.Columns.Add("ZDYX14", typeof(String));   //自定义项14
            resultdt.Columns.Add("ZDYX15", typeof(String));   //自定义项15
            resultdt.Columns.Add("ZDYX16", typeof(String));   //自定义项16
            resultdt.Columns.Add("XJLLXM", typeof(String));   //现金流量项目
            resultdt.Columns.Add("XJLLJFJE", typeof(String)); //现金流量借方金额
            resultdt.Columns.Add("XJLLDFJE", typeof(String)); //现金流量贷方金额

            zParameter[] param = new zParameter[4] {
                new zParameter("pDATE1", new DateTime(pDATE1.Year, pDATE1.Month, pDATE1.Day), DbType.Date),
                new zParameter("pDATE2", new DateTime(pDATE2.Year, pDATE2.Month, pDATE2.Day), DbType.Date),
                new zParameter("pCWNY", pCWNY, DbType.Int32),
                new zParameter("pFDBH", pFDBH, DbType.Int32)
            };

            using (var Tran = DbHelper.BeginTransaction())
            {
                iPZBH = CommonService.NewINC("PZBH");
                //获取sql
                List <VOUCHER_MAKESQLEntity> p = DbHelper.SelectList(new VOUCHER_MAKESQLEntity()).Where(a => a.VOUCHERID == pVOUCHERID.ToString())
                                                 .OrderBy(a => a.VOUCHERID).ToList();
                foreach (var sqltxt in p)
                {
                    var sqlflid = sqltxt.MAKESQL; //应该循环的SQL语句
                    if (sqlflid != "" && sqlflid != null)
                    {
                        if (sqltxt.EXESQLTYPE == "1")
                        {
                            //获取分录
                            List <VOUCHER_RECORDEntity> record = DbHelper.SelectList(new VOUCHER_RECORDEntity()).
                                                                 Where(a => a.VOUCHERID == pVOUCHERID.ToString()).Where(a => a.SQLINX == sqltxt.SQLINX)
                                                                 .OrderBy(a => a.VOUCHERID).ToList();
                            foreach (var fldata in record)
                            {
                                var       fldat   = fldata.SQLCOLTORECORD;   //借方贷方金额
                                var       wldwdat = fldata.SQLCOLTOMERCHANT; //商户
                                var       bmdat   = fldata.SQLCOLTOORG;      //部门
                                var       rydat   = fldata.SQLCOLTOUSER;     //人员
                                var       lcdat   = fldata.SQLCOLTOFLOOR;    //楼层
                                var       ytdat   = fldata.SQLCOLTOCATEGORY; //业态
                                DataTable dtflid  = DbHelper.ExecuteTable(sqlflid, param);
                                foreach (DataRow tr in dtflid.Rows)
                                {
                                    decimal JFJE = 0;
                                    decimal DFJE = 0;
                                    if (Convert.ToInt32(fldata.TYPE) == 1)
                                    {
                                        if (string.IsNullOrEmpty(tr[fldat].ToString()))
                                        {
                                            JFJE = 0;
                                        }
                                        else
                                        {
                                            JFJE = Convert.ToDecimal(tr[fldat].ToString());
                                        }
                                    }
                                    else
                                    {
                                        if (string.IsNullOrEmpty(tr[fldat].ToString()))
                                        {
                                            DFJE = 0;
                                        }
                                        else
                                        {
                                            DFJE = Convert.ToDecimal(tr[fldat].ToString());
                                        }
                                    }
                                    string MERCHANTID = string.Empty;
                                    string ORGDM      = string.Empty;
                                    string RYDM       = string.Empty;
                                    string LCSJ       = string.Empty;
                                    string YTSJ       = string.Empty;
                                    if (!string.IsNullOrEmpty(wldwdat))
                                    {
                                        MERCHANTID = tr[wldwdat].ToString();
                                    }
                                    if (!string.IsNullOrEmpty(bmdat))
                                    {
                                        ORGDM = tr[bmdat].ToString();
                                    }
                                    if (!string.IsNullOrEmpty(rydat))
                                    {
                                        RYDM = tr[rydat].ToString();
                                    }
                                    if (!string.IsNullOrEmpty(lcdat))
                                    {
                                        LCSJ = tr[lcdat].ToString();
                                    }
                                    if (!string.IsNullOrEmpty(ytdat))
                                    {
                                        YTSJ = tr[ytdat].ToString();
                                    }
                                    List <VOUCHER_RECORD_PZKMEntity> pzkm = DbHelper.SelectList(new VOUCHER_RECORD_PZKMEntity()).
                                                                            Where(e => e.VOUCHERID == pVOUCHERID.ToString()).Where(a => a.RECORDID == fldata.RECORDID).
                                                                            OrderBy(b => b.INX).ToList();
                                    string PZMK = "";
                                    foreach (var kmata in pzkm)
                                    {
                                        if (Convert.ToInt32(kmata.SQLBJ) == 2)
                                        {
                                            PZMK += kmata.DESCRIPTION;
                                        }
                                        else
                                        {
                                            PZMK += tr[kmata.SQLCOLTORECORD].ToString();
                                        }
                                    }
                                    List <VOUCHER_RECORD_ZYEntity> pzzy = DbHelper.SelectList(new VOUCHER_RECORD_ZYEntity()).
                                                                          Where(e => e.VOUCHERID == pVOUCHERID.ToString()).Where(a => a.RECORDID == fldata.RECORDID).
                                                                          OrderBy(b => b.INX).ToList();
                                    string ZY = "";
                                    foreach (var zydata in pzzy)
                                    {
                                        if (Convert.ToInt32(zydata.SQLBJ) == 2)
                                        {
                                            ZY += zydata.DESCRIPTION;
                                        }
                                        else
                                        {
                                            ZY += tr[zydata.SQLCOLTORECORD].ToString();
                                        }
                                    }
                                    DataRow rowNew = resultdt.NewRow();
                                    rowNew["PZID"]     = iPZBH;                                    //凭证ID
                                    rowNew["YEAR"]     = Year;                                     //会计年
                                    rowNew["KJQJ"]     = MM;                                       //会计期间
                                    rowNew["ZDRQ"]     = DateTime.Now.Date.ToString("yyyy-MM-dd"); //制单日期
                                    rowNew["PZLB"]     = "记";                                      //凭证类别
                                    rowNew["PZBH"]     = iPZBH;                                    //凭证号
                                    rowNew["ZDR"]      = employee.Name;                            //制单人
                                    rowNew["DJZS"]     = "";                                       //所附单据数
                                    rowNew["KMBM"]     = PZMK;                                     //rowNew[
                                    rowNew["ZY"]       = ZY;                                       //摘要
                                    rowNew["PJRQ"]     = DateTime.Now.Date.ToString("yyyy-MM-dd"); //票据日期
                                    rowNew["BZMC"]     = "人民币";                                    //币种名称
                                    rowNew["YBJF"]     = "";                                       //原币借方
                                    rowNew["YBDF"]     = "";                                       //原币贷方
                                    rowNew["JFJE"]     = (JFJE == 0 ? "" : JFJE.ToString());       //借方金额
                                    rowNew["DFJE"]     = (DFJE == 0 ? "" : DFJE.ToString());       //贷方金额
                                    rowNew["BMBM"]     = ORGDM;                                    //部门编码
                                    rowNew["ZYBM"]     = RYDM;                                     //职员编码
                                    rowNew["KHBM"]     = "";                                       //客户编码
                                    rowNew["GYSBM"]    = MERCHANTID;                               //供应商编码
                                    rowNew["XMDLBM"]   = "";                                       //项目大类编码
                                    rowNew["XMBM"]     = YTSJ;                                     //项目编码
                                    rowNew["YWY"]      = "";                                       //业务员
                                    rowNew["ZDYX9"]    = LCSJ;                                     //自定义项9
                                    rowNew["ZDYX10"]   = "";                                       //自定义项10
                                    rowNew["ZDYX11"]   = "";                                       //自定义项11
                                    rowNew["ZDYX12"]   = "";                                       //自定义项12
                                    rowNew["ZDYX13"]   = "";                                       //自定义项13
                                    rowNew["ZDYX14"]   = "";                                       //自定义项14
                                    rowNew["ZDYX15"]   = "";                                       //自定义项15
                                    rowNew["ZDYX16"]   = "";                                       //自定义项16
                                    rowNew["XJLLXM"]   = "";                                       //现金流量项目
                                    rowNew["XJLLJFJE"] = "";                                       //现金流量借方金额
                                    rowNew["XJLLDFJE"] = "";                                       //现金流量贷方金额
                                    resultdt.Rows.Add(rowNew);
                                }
                                //DataTable dtflid = DbHelper.ExecuteTable(sqlflid, pzparme);
                            }
                        }
                        else if (sqltxt.EXESQLTYPE == "2")
                        {
                            //DbHelper.ExecuteObject
                            // provider.ExecuteSql(sqlflid, pzparme);
                        }
                    }
                }
                Tran.Commit();
            }
            if (resultdt.Rows.Count > 0)
            {
                resultdt.TableName = "resultdt";
                return(GetExport("凭证导出", a =>
                {
                    a.SetTable(resultdt);
                }));
            }
            else
            {
                return("未导出数据");
            }
        }
Example #4
0
        private string ExportPzK3(VOUCHER_PARAMEntity Data)
        {
            var      iPZBH      = string.Empty;
            Int32    pFDBH      = Data.BRANCHID;
            Int32    pCWNY      = Data.CWNY;
            Int32    pVOUCHERID = Data.VOUCHERID;
            DateTime pDATE1     = Data.DATE1;
            DateTime pDATE2     = Data.DATE2;
            DateTime pPZRQ      = Data.PZRQ;
            Int32    Year       = Data.PZRQ.Year;
            Int32    MM         = Data.PZRQ.Month;


            DataTable resultdt = new DataTable();

            resultdt.Columns.Add("PZRQ", typeof(String));     //凭证日期
            resultdt.Columns.Add("YEAR", typeof(Int32));      //会计年
            resultdt.Columns.Add("KJQJ", typeof(Int32));      //会计期间
            resultdt.Columns.Add("PZLB", typeof(String));     //凭证类别
            resultdt.Columns.Add("PZBH", typeof(Int32));      //凭证号
            resultdt.Columns.Add("KMBM", typeof(String));     //科目编码
            resultdt.Columns.Add("KMMC", typeof(String));     //科目名称
            resultdt.Columns.Add("BZDM", typeof(String));     //币种代码
            resultdt.Columns.Add("BZMC", typeof(String));     //币种名称
            resultdt.Columns.Add("YBJE", typeof(Double));     //原币金额
            resultdt.Columns.Add("JFJE", typeof(Double));     //借方金额
            resultdt.Columns.Add("DFJE", typeof(Double));     //贷方金额
            resultdt.Columns.Add("ZDR", typeof(String));      //制单人
            resultdt.Columns.Add("SHR", typeof(String));      //审核人
            resultdt.Columns.Add("HZR", typeof(String));      //核准人
            resultdt.Columns.Add("CNR", typeof(String));      //出纳

            resultdt.Columns.Add("JSFF", typeof(String));     //结算方法
            resultdt.Columns.Add("JSH", typeof(String));      //结算号
            resultdt.Columns.Add("ZY", typeof(String));       //摘要
            resultdt.Columns.Add("SL", typeof(Int32));        //数量
            resultdt.Columns.Add("SLDW", typeof(String));     //数量单位
            resultdt.Columns.Add("PRICE", typeof(Double));    //单价
            resultdt.Columns.Add("CKXX", typeof(String));     //参考信息
            resultdt.Columns.Add("YWRQ", typeof(String));     //业务日期
            resultdt.Columns.Add("WLYWBH", typeof(String));   //往来业务编号
            resultdt.Columns.Add("DJZS", typeof(String));     //附件数
            resultdt.Columns.Add("XH", typeof(String));       //序号
            resultdt.Columns.Add("XTMK", typeof(String));     //系统模块
            resultdt.Columns.Add("YWMS", typeof(String));     //业务描述
            resultdt.Columns.Add("HLLX", typeof(String));     //汇率类型
            resultdt.Columns.Add("HL", typeof(String));       //汇率
            resultdt.Columns.Add("FLXH", typeof(String));     //分录序号
            resultdt.Columns.Add("HSXM", typeof(String));     //核算项目
            resultdt.Columns.Add("GZ", typeof(Int32));        //过账
            resultdt.Columns.Add("JZPZ", typeof(String));     //机制凭证
            resultdt.Columns.Add("XJLLJFJE", typeof(String)); //现金流量借方金额


            zParameter[] param = new zParameter[4] {
                new zParameter("pDATE1", new DateTime(pDATE1.Year, pDATE1.Month, pDATE1.Day), DbType.Date),
                new zParameter("pDATE2", new DateTime(pDATE2.Year, pDATE2.Month, pDATE2.Day), DbType.Date),
                new zParameter("pCWNY", pCWNY, DbType.Int32),
                new zParameter("pFDBH", pFDBH, DbType.Int32)
            };

            using (var Tran = DbHelper.BeginTransaction())
            {
                iPZBH = CommonService.NewINC("PZBH");
                //获取sql
                List <VOUCHER_MAKESQLEntity> p = DbHelper.SelectList(new VOUCHER_MAKESQLEntity()).Where(a => a.VOUCHERID == pVOUCHERID.ToString())
                                                 .OrderBy(a => a.VOUCHERID).ToList();
                foreach (var sqltxt in p)
                {
                    var sqlflid = sqltxt.MAKESQL; //应该循环的SQL语句
                    if (sqlflid != "" && sqlflid != null)
                    {
                        if (sqltxt.EXESQLTYPE == "1")
                        {
                            //获取分录
                            List <VOUCHER_RECORDEntity> record = DbHelper.SelectList(new VOUCHER_RECORDEntity()).
                                                                 Where(a => a.VOUCHERID == pVOUCHERID.ToString()).Where(a => a.SQLINX == sqltxt.SQLINX)
                                                                 .OrderBy(a => a.VOUCHERID).ToList();
                            foreach (var fldata in record)
                            {
                                string    PZMC    = fldata.RECORDNAME;
                                var       fldat   = fldata.SQLCOLTORECORD;   //借方贷方金额
                                var       wldwdat = fldata.SQLCOLTOMERCHANT; //商户
                                var       bmdat   = fldata.SQLCOLTOORG;      //部门
                                var       rydat   = fldata.SQLCOLTOUSER;     //人员
                                var       lcdat   = fldata.SQLCOLTOFLOOR;    //楼层
                                var       ytdat   = fldata.SQLCOLTOCATEGORY; //业态
                                DataTable dtflid  = DbHelper.ExecuteTable(sqlflid, param);
                                foreach (DataRow tr in dtflid.Rows)
                                {
                                    decimal JFJE = 0;
                                    decimal DFJE = 0;
                                    decimal YBJE = 0;
                                    if (Convert.ToInt32(fldata.TYPE) == 1)
                                    {
                                        if (string.IsNullOrEmpty(tr[fldat].ToString()))
                                        {
                                            JFJE = 0;
                                        }
                                        else
                                        {
                                            JFJE = Convert.ToDecimal(tr[fldat].ToString());
                                        }
                                    }
                                    else
                                    {
                                        if (string.IsNullOrEmpty(tr[fldat].ToString()))
                                        {
                                            DFJE = 0;
                                        }
                                        else
                                        {
                                            DFJE = Convert.ToDecimal(tr[fldat].ToString());
                                        }
                                    }
                                    YBJE = JFJE + DFJE;
                                    string MERCHANTID = string.Empty;
                                    string ORGDM      = string.Empty;
                                    string RYDM       = string.Empty;
                                    string LCSJ       = string.Empty;
                                    string YTSJ       = string.Empty;
                                    string HSXM       = string.Empty;
                                    if (!string.IsNullOrEmpty(wldwdat))
                                    {
                                        MERCHANTID = tr[wldwdat].ToString();
                                        HSXM       = tr[wldwdat].ToString();
                                    }
                                    if (!string.IsNullOrEmpty(bmdat))
                                    {
                                        ORGDM = tr[bmdat].ToString();
                                    }
                                    if (!string.IsNullOrEmpty(rydat))
                                    {
                                        RYDM = tr[rydat].ToString();
                                    }
                                    if (!string.IsNullOrEmpty(lcdat))
                                    {
                                        LCSJ = tr[lcdat].ToString();
                                    }
                                    if (!string.IsNullOrEmpty(ytdat))
                                    {
                                        YTSJ = tr[ytdat].ToString();
                                    }
                                    List <VOUCHER_RECORD_PZKMEntity> pzkm = DbHelper.SelectList(new VOUCHER_RECORD_PZKMEntity()).
                                                                            Where(e => e.VOUCHERID == pVOUCHERID.ToString()).Where(a => a.RECORDID == fldata.RECORDID).
                                                                            OrderBy(b => b.INX).ToList();
                                    string PZMK = "";
                                    foreach (var kmata in pzkm)
                                    {
                                        if (Convert.ToInt32(kmata.SQLBJ) == 2)
                                        {
                                            PZMK += kmata.DESCRIPTION;
                                        }
                                        else
                                        {
                                            PZMK += tr[kmata.SQLCOLTORECORD].ToString();
                                        }
                                    }
                                    List <VOUCHER_RECORD_ZYEntity> pzzy = DbHelper.SelectList(new VOUCHER_RECORD_ZYEntity()).
                                                                          Where(e => e.VOUCHERID == pVOUCHERID.ToString()).Where(a => a.RECORDID == fldata.RECORDID).
                                                                          OrderBy(b => b.INX).ToList();
                                    string ZY = "";
                                    foreach (var zydata in pzzy)
                                    {
                                        if (Convert.ToInt32(zydata.SQLBJ) == 2)
                                        {
                                            ZY += zydata.DESCRIPTION;
                                        }
                                        else
                                        {
                                            ZY += tr[zydata.SQLCOLTORECORD].ToString();
                                        }
                                    }
                                    DataRow rowNew = resultdt.NewRow();
                                    rowNew["PZRQ"] = pPZRQ.ToString("yyyy-MM-dd");                 //凭证日期
                                    rowNew["YEAR"] = Year;                                         //会计年
                                    rowNew["KJQJ"] = MM;                                           //会计期间
                                    rowNew["PZLB"] = "记";                                          //凭证类别
                                    rowNew["PZBH"] = iPZBH;                                        //凭证号

                                    rowNew["KMBM"] = PZMK;                                         //科目编码
                                    rowNew["KMMC"] = PZMC;                                         //科目名称

                                    rowNew["BZDM"] = "RMB";                                        //币种代码
                                    rowNew["BZMC"] = "人民币";                                        //币种名称
                                    rowNew["YBJE"] = (YBJE == 0 ? "0" : YBJE.ToString());          //原币金额
                                    rowNew["JFJE"] = (JFJE == 0 ? "0" : JFJE.ToString());          //借方金额
                                    rowNew["DFJE"] = (DFJE == 0 ? "0" : DFJE.ToString());          //贷方金额
                                    rowNew["ZDR"]  = employee.Name;                                //制单人
                                    rowNew["SHR"]  = employee.Name;                                //审核人
                                    rowNew["HZR"]  = employee.Name;                                //核准人
                                    rowNew["CNR"]  = employee.Name;                                //出纳

                                    rowNew["JSFF"]     = "*";                                      //结算方法
                                    rowNew["JSH"]      = "";                                       //结算号
                                    rowNew["ZY"]       = ZY;                                       //摘要
                                    rowNew["SL"]       = 0;                                        //数量
                                    rowNew["SLDW"]     = "*";                                      //数量单位
                                    rowNew["PRICE"]    = 0;                                        //单价
                                    rowNew["CKXX"]     = "";                                       //参考信息
                                    rowNew["YWRQ"]     = DateTime.Now.Date.ToString("yyyy-MM-dd"); //业务日期
                                    rowNew["WLYWBH"]   = "";                                       //往来业务编号
                                    rowNew["DJZS"]     = "";                                       //所附单据数
                                    rowNew["XH"]       = "";                                       //序号
                                    rowNew["XTMK"]     = "";                                       //系统模块
                                    rowNew["YWMS"]     = "";                                       //业务描述
                                    rowNew["HLLX"]     = "公司汇率";                                   //汇率类型
                                    rowNew["HL"]       = 1;                                        //汇率
                                    rowNew["FLXH"]     = "";                                       //分录序号
                                    rowNew["HSXM"]     = HSXM;                                     //核算项目
                                    rowNew["GZ"]       = "0";                                      //过账
                                    rowNew["JZPZ"]     = "";                                       //机制凭证
                                    rowNew["XJLLJFJE"] = "";                                       //现金流量借方金额

                                    resultdt.Rows.Add(rowNew);
                                }
                                //DataTable dtflid = DbHelper.ExecuteTable(sqlflid, pzparme);
                            }
                        }
                        else if (sqltxt.EXESQLTYPE == "2")
                        {
                            //DbHelper.ExecuteObject
                            // provider.ExecuteSql(sqlflid, pzparme);
                        }
                    }
                }
                Tran.Commit();
            }
            if (resultdt.Rows.Count > 0)
            {
                resultdt.TableName = "resultdt";
                return(GetExport("K3凭证", a =>
                {
                    a.SetTable(resultdt);
                }));
            }
            else
            {
                return("未导出数据");
            }
        }