示例#1
0
        private void ImportAccvochToU8(Accvouch accvouch, List <string> infos)
        {
            Dictionary <string, string> values = new Dictionary <string, string>();

            values.Add("iperiod", accvouch.iperiod);
            values.Add("csign", accvouch.csign);
            values.Add("isignseq", accvouch.isignseq);
            values.Add("ino_id", accvouch.ino_id.ToString());
            values.Add("inid", accvouch.inid.ToString());
            values.Add("dbill_date", accvouch.dbill_date.ToString());
            values.Add("idoc", accvouch.idoc.ToString());
            values.Add("ibook", accvouch.ibook);
            values.Add("cdigest", accvouch.cdigest);
            values.Add("ccode", accvouch.ccode);
            values.Add("md", accvouch.md.ToString());
            values.Add("mc", accvouch.mc.ToString());
            values.Add("md_f", accvouch.md_f.ToString());
            values.Add("mc_f", accvouch.mc_f.ToString());
            values.Add("nfrat", accvouch.nfrat.ToString());
            values.Add("nd_s", accvouch.nd_s.ToString());
            values.Add("nc_s", accvouch.nc_s.ToString());
            if (accvouch.csettle != null && accvouch.csettle.ToString().Length > 0)
            {
                values.Add("csettle", accvouch.csettle);
            }
            if (accvouch.cdept_id != null && accvouch.cdept_id.Length > 0)
            {
                values.Add("cdept_id", accvouch.cdept_id);
            }
            if (accvouch.csup_id != null && accvouch.csup_id.Length > 0)
            {
                values.Add("csup_id", accvouch.csup_id);
            }
            values.Add("ccode_equal", accvouch.ccode_equal);
            values.Add("iyear", accvouch.iyear);
            values.Add("iYPeriod", accvouch.iYPeriod);
            if (accvouch.citem_id != null && accvouch.citem_id.Length > 0)
            {
                values.Add("citem_id", accvouch.citem_id);
            }
            if (accvouch.citem_class != null && accvouch.citem_class.Length > 0)
            {
                values.Add("citem_class", accvouch.citem_class);
            }
            values.Add("cbill", accvouch.cbill);
            if (accvouch.cname != null && accvouch.cname.Length > 0)
            {
                values.Add("cname", accvouch.cname);
            }
            if (accvouch.ccus_id != null && accvouch.ccus_id.Length > 0)
            {
                values.Add("ccus_id", accvouch.ccus_id);
            }
            if (accvouch.cperson_id != null && accvouch.cperson_id.Length > 0)
            {
                values.Add("cperson_id", accvouch.cperson_id);
            }
            values.Add("cDefine1", accvouch.cDefine1);
            SqlHelper.Insert(LoginSettingInfo.SqlConnectionString, "GL_accvouch", values);
        }
示例#2
0
 /// <summary>
 /// 导入凭证
 /// </summary>
 /// <param name="filePath"></param>
 /// <returns></returns>
 public void ImportAccvouchByExcel(string filePath, List <string> infos)
 {
     try
     {
         DataSet ds = ExcelHelper.QueryByODBC(filePath, "Sheet1");
         if (ds.Tables.Count > 0)
         {
             DataTable dt    = ds.Tables[0];
             string    curId = string.Empty;
             for (int i = 0; i < dt.Rows.Count; ++i)
             {
                 if (dt.Rows[i]["凭证ID"].ToString() != curId)
                 {
                     curId = dt.Rows[i]["凭证ID"].ToString();
                     if (Accvouch.Find(curId))
                     {
                         infos.Add("凭证ID:" + curId + "导入失败!错误提示:该凭证ID已导入");
                         continue;
                     }
                     //判断ERP帐套号与U8账号是否对应
                     if (!AccountArchives.FindByVesselCode(dt.Rows[i]["ERP帐套号"].ToString()))
                     {
                         infos.Add("凭证ID:" + curId + "导入失败! " + "错误提示:对应的ERP帐套号与U8帐套号不匹配");
                         continue;
                     }
                     ImportAccvoch(dt.Select("凭证ID=" + "'" + curId + "'"), filePath, infos);
                 }
             }
         }
         else
         {
             infos.Add("读取Excel文件失败,请检查该文件是否已打开或表Sheet1是否存在!");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + ",凭证导入失败!");
         infos.Add(ex.Message);
     }
 }
示例#3
0
        private void ImportAccvoch(DataRow[] dataRow, string filePath, List <string> infos)
        {
            string id = string.Empty;

            try
            {
                int ino_id = 0;
                Dictionary <string, string> keys = new Dictionary <string, string>();
                keys.Add("csign", dataRow[0]["凭证类别"].ToString());
                keys.Add("ibook", "0");
                DataSet ds = SqlHelper.Query(LoginSettingInfo.SqlConnectionString, "GL_accvouch", "ino_id", keys, "ino_id");
                if (ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                {
                    ino_id = 1;
                }
                else
                {
                    DataTable dt = ds.Tables[0];
                    ino_id = int.Parse(dt.Rows[dt.Rows.Count - 1]["ino_id"].ToString()) + 1;
                }
                int count = dataRow.Length;
                for (int i = 0; i < count; ++i)
                {
                    Accvouch accvouch = new Accvouch();
                    accvouch.ino_id   = ino_id;
                    accvouch.cDefine1 = dataRow[i]["凭证ID"].ToString();
                    id               = accvouch.cDefine1;
                    accvouch.csign   = dataRow[i]["凭证类别"].ToString();
                    accvouch.cdigest = dataRow[i]["摘要"].ToString();
                    accvouch.ccode   = CodeArchives.FindByCode(dataRow[i]["科目编码"].ToString());
                    if (dataRow[i]["借方金额"] != null && dataRow[i]["借方金额"].ToString().Length > 0)
                    {
                        accvouch.md = double.Parse(dataRow[i]["借方金额"].ToString());
                    }
                    if (dataRow[i]["贷方金额"] != null && dataRow[i]["贷方金额"].ToString().Length > 0)
                    {
                        accvouch.mc = double.Parse(dataRow[i]["贷方金额"].ToString());
                    }
                    if (dataRow[i]["所附单据数"] != null && dataRow[i]["所附单据数"].ToString().Length > 0)
                    {
                        accvouch.idoc = int.Parse(dataRow[i]["所附单据数"].ToString());
                    }
                    if (dataRow[i]["结算方式编码"] != null && dataRow[i]["结算方式编码"].ToString().Length > 0)
                    {
                        accvouch.csettle = dataRow[i]["结算方式编码"].ToString();
                    }
                    if (dataRow[i]["部门编码"] != null && dataRow[i]["部门编码"].ToString().Length > 0)
                    {
                        accvouch.cdept_id = DepartmentArchives.FindByDepartmentCode(dataRow[i]["部门编码"].ToString());
                    }
                    if (dataRow[i]["职员编码"] != null && dataRow[i]["职员编码"].ToString().Length > 0)
                    {
                        accvouch.cperson_id = dataRow[i]["职员编码"].ToString();
                    }
                    if (dataRow[i]["客户编码"] != null && dataRow[i]["客户编码"].ToString().Length > 0)
                    {
                        accvouch.ccus_id = CustomerArchives.FindByCustomerCode(dataRow[i]["客户编码"].ToString());
                    }
                    if (dataRow[i]["供应商编码"] != null && dataRow[i]["供应商编码"].ToString().Length > 0)
                    {
                        accvouch.csup_id = VendorArchives.FindByVendorCode(dataRow[i]["供应商编码"].ToString());
                    }
                    if (dataRow[i]["项目大类编码"] != null && dataRow[i]["项目大类编码"].ToString().Length > 0)
                    {
                        accvouch.citem_class = dataRow[i]["项目大类编码"].ToString();
                    }
                    if (dataRow[i]["项目编码"] != null && dataRow[i]["项目编码"].ToString().Length > 0)
                    {
                        accvouch.citem_id = dataRow[i]["项目编码"].ToString();
                    }
                    if (dataRow[i]["业务员"] != null && dataRow[i]["业务员"].ToString().Length > 0)
                    {
                        accvouch.cname = dataRow[i]["业务员"].ToString();
                    }
                    accvouch.dbill_date = DateTime.Parse(LoginInfo.LoginDate.ToShortDateString());
                    accvouch.cbill      = LoginInfo.UserName;
                    accvouch.inid       = i + 1;
                    ImportAccvochToU8(accvouch, infos);
                }
            }
            catch (Exception ex)
            {
                infos.Add("凭证ID:" + id + "导入失败!" + "错误提示:" + ex.Message);
                Dictionary <string, string> wheres = new Dictionary <string, string>();
                wheres.Add("cDefine1", id);
                SqlHelper.Delete(LoginSettingInfo.SqlConnectionString, "GL_accvouch", wheres);
                Dictionary <string, string> values = new Dictionary <string, string>();
                values.Add("备注", ex.Message);
                wheres.Clear();
                wheres.Add("凭证ID", id);
                ExcelHelper.UpdateByODBC(filePath, "Sheet1", values, wheres);
            }
        }