//单据保存 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; } }
//单据保存 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; } }