예제 #1
0
        //单据保存
        protected void Save()
        {
            string userID    = AppService.GetUserID();
            string ywbh      = Request.Form["ywbh"].ToString();
            var    operation = Request.Form["operation"].ToString();
            string dw_master = Request.Form["dw_master"].ToString();
            string dw_jzxxx  = Request.Form["dw_jzxxx"].ToString();
            string dw_spxx   = Request.Form["dw_spxx"].ToString();
            string dw_log    = Request.Form["dw_log"].ToString();
            SafeDS ds_master = new SafeDS("dw_ywxx_edit");
            SafeDS ds_jzxxx  = new SafeDS("dw_ywxx_edit_jzxxx");
            SafeDS ds_spxx   = new SafeDS("dw_ywxx_edit_spxx");
            SafeDS ds_log    = new SafeDS("dw_s_log_list");

            try
            {
                ds_master.SetChanges(dw_master);
                ds_jzxxx.SetChanges(dw_jzxxx);
                ds_spxx.SetChanges(dw_spxx);
                ds_log.SetChanges(dw_log);
                if (operation == "copy" || operation == "modify")
                {
                    ds_master.SetRowStatus(1, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);

                    for (int row = 1; row <= ds_jzxxx.RowCount; row++)
                    {
                        ds_jzxxx.SetRowStatus(row, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);
                    }
                    for (int row = 1; row <= ds_spxx.RowCount; row++)
                    {
                        ds_spxx.SetRowStatus(row, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);
                    }

                    for (int row = 1; row <= ds_log.RowCount; row++)
                    {
                        ds_log.SetRowStatus(row, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);
                    }
                }
                ;

                //TODO  在服务器端,最好是重做一次数据校验,Demo简化处理,不再重复校验了。

                if (ywbh == null || ywbh == "")
                {
                    if (ds_master.GetRowStatus(1, Sybase.DataWindow.DataBuffer.Primary) == Sybase.DataWindow.RowStatus.NewAndModified)
                    {
                        var Dqdm = ds_master.GetItemString(1, "dqdm");
                        var year = System.DateTime.Now.ToShortDateString().Substring(2, 2);

                        SqlCommand cmd   = this.DBHelp.GetCommand("select max(substring( ywbh,5,4)) from yw_hddz where  substring(ywbh,1,2) = '" + year + "' and dqdm = '" + Dqdm + "' ");
                        object     value = cmd.ExecuteScalar();

                        if (Convert.IsDBNull(value) || value == null)
                        {
                            ywbh = year + Dqdm + "0001";
                        }
                        else
                        {
                            ywbh = year + Dqdm + String.Format("{0:0000}", (long.Parse((string)value) + 1));
                        }


                        ds_master.SetItemString(1, "ywbh", ywbh);
                    }
                    else
                    {
                        ywbh = ds_master.GetItemString(1, "ywbh");
                    }
                }

                var hth = ds_master.GetItemString(1, "hth");

                if (hth == "" || hth == null)
                {
                    ds_master.SetItem(1, "hth", ywbh);
                }


                for (int row = 1; row <= ds_jzxxx.RowCount; row++)
                {
                    ds_jzxxx.SetItemString(row, "ywbh", ywbh);
                    ds_jzxxx.SetItemDouble(row, "cxh", row);
                }

                for (int row = 1; row <= ds_spxx.RowCount; row++)
                {
                    ds_spxx.SetItemString(row, "ywbh", ywbh);
                    ds_spxx.SetItemDouble(row, "cxh", row);
                }


                for (int row = 1; row <= ds_log.RowCount; row++)
                {
                    if (ds_log.GetItemString(row, "funname") != "DelHddz")
                    {
                        ds_log.SetItemString(row, "mainid", ywbh);
                    }
                }

                ds_master.SetTransaction(this.DBHelp.TransAction);
                ds_jzxxx.SetTransaction(this.DBHelp.TransAction);
                ds_spxx.SetTransaction(this.DBHelp.TransAction);
                ds_log.SetTransaction(this.DBHelp.TransAction);

                this.DBHelp.BeginTransAction();

                if (ds_master.UpdateData() == 1)
                {
                    if (ds_jzxxx.UpdateData() == 1)
                    {
                        ds_spxx.UpdateData();


                        if (ds_log.UpdateData() == 1)
                        {
                            this.DBHelp.Commit();
                            var cm      = ds_master.GetItemString(1, "cm");
                            var yjkgsj  = ds_master.GetItemDateTime(1, "yjkgsj");
                            var sjkgsj  = ds_master.GetItemDateTime(1, "sjkgsj");
                            var hcorhbh = ds_master.GetItemString(1, "hcorhbh");
                            var mtxx    = ds_master.GetItemString(1, "mtxx");
                            var ssbm    = ds_master.GetItemString(1, "ssbm");
                            var bgdh    = ds_master.GetItemString(1, "bgdh");
                            var ztdh    = ds_master.GetItemString(1, "ztdh");
                            var bgsj    = ds_master.GetItemDate(1, "bgsj");
                            var jgwq    = ds_master.GetItemDateTime(1, "jgwq");
                            var hgdc    = ds_master.GetItemString(1, "hgdc");
                            var mcq_rq  = ds_master.GetItemDateTime(1, "mcq_rq");

                            if (cm.Length > 0 && hcorhbh.Length > 0)
                            {
                                if (mtxx == null)
                                {
                                    mtxx = "";
                                }
                                ;
                                if (ssbm == null)
                                {
                                    ssbm = "";
                                }
                                ;
                                SetUpdatekgsj(cm, yjkgsj, sjkgsj, hcorhbh, mtxx, ssbm);
                            }
                            ;

                            if (ztdh.Length > 0)
                            {
                                SetUpdatebgdh(ztdh, bgdh, bgsj, hgdc, jgwq, mcq_rq);
                            }
                            //把单据号码,传回到客户端
                            Response.Write(ywbh);
                        }
                        else
                        {
                            this.DBHelp.Rollback();
                            this.SetErrorInfo("货代单据保存失败!\n\n详细错误信息:\n" + ds_log.DBError + "  " + ds_log.LastError);
                        }
                    }
                    else
                    {
                        this.DBHelp.Rollback();
                        this.SetErrorInfo("货代单据保存失败!\n\n详细错误信息:\n" + ds_jzxxx.DBError + "  " + ds_jzxxx.LastError);
                    }
                }
                else
                {
                    this.DBHelp.Rollback();
                    this.SetErrorInfo("货代单据保存失败!\n\n详细错误信息:\n" + ds_master.DBError + "  " + ds_master.LastError);
                }
            }

            catch (Exception ex)
            {
                this.SetErrorInfo(ex.Message);
            }
            finally
            {
                ds_master.Dispose();
                ds_master = null;

                ds_jzxxx.Dispose();
                ds_jzxxx = null;

                ds_spxx.Dispose();
                ds_spxx = null;



                ds_log.Dispose();
                ds_log = null;
            }
        }
예제 #2
0
        //单据保存
        protected void Save()
        {
            string userID      = AppService.GetUserID();
            string yw_khbm     = Request.Form["yw_khbm"].ToString();
            var    operation   = Request.Form["operation"].ToString();
            string master      = Request.Form["dw_Master"].ToString();
            SafeDS ds_master   = new SafeDS("dw_ywy_wldw_edit");
            string lxr         = Request.Form["dw_lxr"].ToString();
            SafeDS ds_lxr      = new SafeDS("dw_ywy_wldw_edit_lxr");
            string yh          = Request.Form["dw_yh"].ToString();
            SafeDS ds_yh       = new SafeDS("dw_ywy_wldw_edit_yh");
            string jsbm        = Request.Form["dw_jsbm"].ToString();
            SafeDS ds_jsbm     = new SafeDS("dw_ywy_wldw_edit_jsbm");
            string ohdlxy      = Request.Form["dw_ohdlxy"].ToString();
            SafeDS ds_ohdlxy   = new SafeDS("dw_ywy_wldw_edit_ohdlxy");
            string dw_log      = Request.Form["dw_log"].ToString();
            SafeDS ds_log      = new SafeDS("dw_s_log_list");
            string dz          = Request.Form["dw_dz"].ToString();
            SafeDS ds_dz       = new SafeDS("dw_ywy_wldw_edit_dz");
            string khsdttsz    = Request.Form["dw_khsdttsz"].ToString();
            SafeDS ds_khsdttsz = new SafeDS("dw_ywy_wldw_edit_khsdttsz");

            try
            {
                ds_master.SetChanges(master);
                ds_lxr.SetChanges(lxr);
                ds_yh.SetChanges(yh);
                ds_jsbm.SetChanges(jsbm);
                ds_ohdlxy.SetChanges(ohdlxy);
                ds_log.SetChanges(dw_log);
                ds_dz.SetChanges(dz);
                ds_khsdttsz.SetChanges(khsdttsz);
                //TODO  在服务器端,最好是重做一次数据校验,Demo简化处理,不再重复校验了。
                if ((operation == "copy" || operation == "modify") && yw_khbm == "")
                {
                    ds_master.SetRowStatus(1, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);

                    for (int row = 1; row <= ds_lxr.RowCount; row++)
                    {
                        ds_lxr.SetRowStatus(row, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);
                    }
                    for (int row = 1; row <= ds_yh.RowCount; row++)
                    {
                        ds_yh.SetRowStatus(row, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);
                    }
                    for (int row = 1; row <= ds_jsbm.RowCount; row++)
                    {
                        ds_jsbm.SetRowStatus(row, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);
                    }
                    for (int row = 1; row <= ds_ohdlxy.RowCount; row++)
                    {
                        ds_ohdlxy.SetRowStatus(row, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);
                    }
                    for (int row = 1; row <= ds_dz.RowCount; row++)
                    {
                        ds_dz.SetRowStatus(row, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);
                    }
                    for (int row = 1; row <= ds_khsdttsz.RowCount; row++)
                    {
                        ds_khsdttsz.SetRowStatus(row, Sybase.DataWindow.DataBuffer.Primary, Sybase.DataWindow.RowStatus.New);
                    }
                }
                ;

                if (yw_khbm == null || yw_khbm == "")
                {
                    if (ds_master.GetRowStatus(1, Sybase.DataWindow.DataBuffer.Primary) == Sybase.DataWindow.RowStatus.NewAndModified || operation == "copy")
                    {
                        SqlCommand cmd = this.DBHelp.GetCommand("select max(yw_khbm) from yw_wldw where sqr=@userid ");

                        cmd.Parameters.Add(new SqlParameter("@userid", userID));
                        object value = cmd.ExecuteScalar();
                        if (Convert.IsDBNull(value) || value == null)
                        {
                            yw_khbm = userID + "0001";
                        }
                        else
                        {
                            yw_khbm = (string)value;
                            yw_khbm = yw_khbm.Remove(0, userID.Length);
                            yw_khbm = userID + String.Format("{0:0000}", (long.Parse(yw_khbm) + 1));
                        }
                        ds_master.SetItemString(1, "yw_khbm", yw_khbm);
                    }
                    else
                    {
                        yw_khbm = ds_master.GetItemString(1, "yw_khbm");
                    }
                }


                for (int row = 1; row <= ds_lxr.RowCount; row++)
                {
                    ds_lxr.SetItemString(row, "yw_khbm", yw_khbm);
                    ds_lxr.SetItemDouble(row, "cxh", row);
                }

                for (int row = 1; row <= ds_yh.RowCount; row++)
                {
                    ds_yh.SetItemString(row, "yw_khbm", yw_khbm);
                    ds_yh.SetItemDouble(row, "cxh", row);
                }

                for (int row = 1; row <= ds_jsbm.RowCount; row++)
                {
                    ds_jsbm.SetItemString(row, "yw_khbm", yw_khbm);
                    ds_jsbm.SetItemDouble(row, "cxh", row);
                }

                for (int row = 1; row <= ds_ohdlxy.RowCount; row++)
                {
                    ds_ohdlxy.SetItemString(row, "yw_khbm", yw_khbm);
                    ds_ohdlxy.SetItemDouble(row, "cxh", row);
                    var ksrq     = ds_ohdlxy.GetItemDate(row, "ksrq");
                    var ksrq_max = ds_ohdlxy.GetItemDate(row, "ksrq_max");
                    if (ksrq == ksrq_max)
                    {
                        ds_ohdlxy.SetItem(row, "sfyx", "Y");
                    }
                    else
                    {
                        ds_ohdlxy.SetItem(row, "sfyx", "N");
                    };
                }

                for (int row = 1; row <= ds_log.RowCount; row++)
                {
                    ds_log.SetItemString(row, "mainid", yw_khbm);
                }

                for (int row = 1; row <= ds_dz.RowCount; row++)
                {
                    ds_dz.SetItemString(row, "yw_khbm", yw_khbm);
                    ds_dz.SetItemDouble(row, "cxh", row);
                }
                for (int row = 1; row <= ds_khsdttsz.RowCount; row++)
                {
                    if (!string.IsNullOrEmpty(ds_khsdttsz.GetItemString(row, "khbm")) && !string.IsNullOrEmpty(ds_khsdttsz.GetItemString(row, "shdwbm")))
                    {
                        ds_khsdttsz.SetItemString(row, "ckdwbm", yw_khbm);
                        ds_khsdttsz.SetItemString(row, "ckdwmc", ds_master.GetItemString(1, "khmc"));
                        ds_khsdttsz.SetItemString(row, "ckdwjc", ds_master.GetItemString(1, "khjc"));
                        ds_khsdttsz.SetItemString(row, "ckdwpym", ds_master.GetItemString(1, "pym"));
                    }
                }

                ds_master.SetTransaction(this.DBHelp.TransAction);
                ds_lxr.SetTransaction(this.DBHelp.TransAction);
                ds_yh.SetTransaction(this.DBHelp.TransAction);
                ds_jsbm.SetTransaction(this.DBHelp.TransAction);
                ds_ohdlxy.SetTransaction(this.DBHelp.TransAction);
                ds_log.SetTransaction(this.DBHelp.TransAction);
                ds_dz.SetTransaction(this.DBHelp.TransAction);
                ds_khsdttsz.SetTransaction(this.DBHelp.TransAction);

                this.DBHelp.BeginTransAction();


                if (ds_master.UpdateData() == 1)
                {
                    if (ds_lxr.UpdateData() == 1)
                    {
                        if (ds_yh.UpdateData() == 1)
                        {
                            if (ds_jsbm.UpdateData() == 1)
                            {
                                if (ds_dz.UpdateData() == 1)
                                {
                                    if (ds_khsdttsz.UpdateData() == 1)
                                    {
                                        if (ds_ohdlxy.UpdateData() == 1)
                                        {
                                            if (ds_log.UpdateData() == 1)
                                            {
                                                this.DBHelp.Commit();
                                                //把单据号码,传回到客户端
                                                Response.Write(yw_khbm);
                                                if (operation == "new" || operation == "copy")
                                                {
                                                    SqlCommand detail = DBHelp.GetCommand("insert into yw_wldw_khfp(yw_khbm,ywy) select yw_khbm,sqr from yw_wldw where yw_khbm=@id ;");
                                                    detail.Parameters.Add(new SqlParameter("@id", yw_khbm));
                                                    SqlCommand detail2 = DBHelp.GetCommand("insert into yw_wldw_khfp(yw_khbm,ywy) select yw_khbm,ywy from yw_wldw where yw_khbm=@id ;");
                                                    detail2.Parameters.Add(new SqlParameter("@id", yw_khbm));
                                                    if (detail.ExecuteNonQuery() > 0)
                                                    {
                                                        detail2.ExecuteNonQuery();
                                                    }
                                                    else
                                                    {
                                                        this.DBHelp.Rollback();
                                                    }
                                                }
                                            }
                                            else
                                            {
                                                this.DBHelp.Rollback();;
                                                this.SetErrorInfo("传输错误日志保存失败!\n\n详细错误信息:\n" + ds_log.DBError);
                                            }
                                        }

                                        else
                                        {
                                            this.DBHelp.Rollback();;
                                            this.SetErrorInfo("欧恒代理协议信息保存失败!\n\n详细错误信息:\n" + ds_ohdlxy.DBError);
                                        }
                                    }
                                    else
                                    {
                                        this.DBHelp.Rollback();;
                                        this.SetErrorInfo("欧恒客户税单抬头设置信息保存失败!\n\n详细错误信息:\n" + ds_khsdttsz.DBError);
                                    }
                                }
                                else
                                {
                                    this.DBHelp.Rollback();;
                                    this.SetErrorInfo("欧恒地址信息保存失败!\n\n详细错误信息:\n" + ds_dz.DBError);
                                }
                            }
                            else
                            {
                                this.DBHelp.Rollback();;
                                this.SetErrorInfo("结算部门信息保存失败!\n\n详细错误信息:\n" + ds_jsbm.DBError);
                            }
                        }
                        else
                        {
                            this.DBHelp.Rollback();;
                            this.SetErrorInfo("银行信息保存失败!\n\n详细错误信息:\n" + ds_yh.DBError);
                        }
                    }
                    else
                    {
                        this.DBHelp.Rollback();;
                        this.SetErrorInfo("联系人信息保存失败!\n\n详细错误信息:\n" + ds_lxr.DBError);
                    }
                }
                else
                {
                    this.DBHelp.Rollback();
                    this.SetErrorInfo("往来单位保存失败!\n\n详细错误信息:\n" + ds_master.DBError + "  " + ds_master.LastError);
                }
            }
            catch (Exception ex)
            {
                this.SetErrorInfo(ex.Message);
            }
            finally
            {
                ds_master.Dispose();
                ds_master = null;
            }
        }