using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Collections.Generic; using System.Text.RegularExpressions; using System.Data.SqlClient; using System.Text; using System.Globalization; using JsonHelper; using DSWeb.Models; using DSWeb.EntityDA; using DSWeb.Log; using DSWeb.Authority; using DSWeb.DataAccess; using System.IO; using System.Xml; namespace DSWeb.WMS_ZX { public partial class WmsZXOutEdit : System.Web.UI.Page { private string strUserID; private string strCompanyID;//公司GID private string strShowName;//用户显示名 private string strDeptName;//部门名称 private string strSearch;//仓储费率的客户、合同号、货物名称 private string WoJSON;//出库明细信息 private string WoDetailJSON;//出库明细信息 private string recvJSON; private string payJSON; private string strSeaBSNO; private int iImportTemplateDetailType; private string strCacheName; private string strImportHistoryCacheName; private int iHistoryType;//1-应收 2-应付 private string strHandle; private bool isJsFee = false; private IList CustParent=new List(); T_ALL_DA T_ALL_DA = new T_ALL_DA(); protected void Page_Load(object sender, EventArgs e) { this.h_wmsoutbsno.Value = ""; this.h_IsFeeGain.Value = "0"; //h_Mode.Value = "0"; this.txt_outdate.Value = DateTime.Today.ToString("yyyy-MM-dd"); //addwmsout if (Session["USERID"] != null) { strUserID = Session["USERID"].ToString(); this.hdUserID.Value = strUserID; } if (Session["SHOWNAME"] != null) { strShowName = Session["SHOWNAME"].ToString(); } if (Session["COMPANYID"] != null) { strCompanyID = Session["COMPANYID"].ToString(); } if (Session["DEPTNAME"] != null) { strDeptName = Session["DEPTNAME"].ToString(); } if (Request.QueryString["handle"] != null) { strHandle = Request.QueryString["handle"].ToString(); if (strHandle.Trim() == "addwmsout") { btShifting.Disabled = false; } else { btShifting.Disabled = true; } } if (Request.QueryString["search"] != null) { UnicodeEncoding unicode = new UnicodeEncoding(); strSearch = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["search"].ToString()))); this.h_EditJson.Value = strSearch; } if (Request.QueryString["outgid"] != null) { this.h_outgid.Value = Request.QueryString["outgid"].ToString(); ViewState["h_outgid"] = this.h_outgid.Value; } if (Request.QueryString["isenabled"] != null) { this.hdEnabled.Value = Request.QueryString["isenabled"].ToString(); } WoJSON = ""; WoDetailJSON = ""; WoJSON=this.WoContainer.Value; WoDetailJSON = this.WoDetailContainer.Value; recvJSON = ""; payJSON = ""; recvJSON = this.recvContainer.Value.Trim(); payJSON = this.payContainer.Value.Trim(); #region 获取引入费用模板缓存信息 if (recvJSON.Trim().Equals("") && payJSON.Trim().Equals("") && strCacheName != null && iImportTemplateDetailType > 0) { DataTable templateTable = (DataTable)Session[strCacheName]; StringBuilder templateBuilder = new StringBuilder(); if (templateTable != null) { if (templateTable.Rows.Count > 0) { templateBuilder.Append("{\"templates\":["); for (int i = 0; i < templateTable.Rows.Count; i++) { templateTable.Rows[i]["GID"] = Guid.NewGuid().ToString(); if (i == templateTable.Rows.Count - 1) { templateBuilder.Append("{"); templateBuilder.Append("\"tid\":\"" + templateTable.Rows[i]["GID"].ToString() + "\","); templateBuilder.Append("\"fname\":\"" + templateTable.Rows[i]["FEENAME"].ToString() + "\","); templateBuilder.Append("\"client\":" + templateTable.Rows[i]["CLIENT"].ToString() + ","); templateBuilder.Append("\"cust\":\"" + templateTable.Rows[i]["CUSTOMERNAME"].ToString() + "\","); templateBuilder.Append("\"unit\":\"" + templateTable.Rows[i]["UNIT"].ToString() + "\","); templateBuilder.Append("\"uprice\":" + templateTable.Rows[i]["UNITPRICE"].ToString() + ","); templateBuilder.Append("\"cur\":\"" + templateTable.Rows[i]["CURRENCY"].ToString() + "\","); templateBuilder.Append("\"exrate\":" + templateTable.Rows[i]["EXCHANGERATE"].ToString() + ","); templateBuilder.Append("\"remark\":\"" + templateTable.Rows[i]["REMARK"].ToString() + "\","); templateBuilder.Append("\"type\":" + templateTable.Rows[i]["FEETYPE"].ToString().ToString()); templateBuilder.Append("}"); } else { templateBuilder.Append("{"); templateBuilder.Append("\"tid\":\"" + templateTable.Rows[i]["GID"].ToString() + "\","); templateBuilder.Append("\"fname\":\"" + templateTable.Rows[i]["FEENAME"].ToString() + "\","); templateBuilder.Append("\"client\":" + templateTable.Rows[i]["CLIENT"].ToString() + ","); templateBuilder.Append("\"cust\":\"" + templateTable.Rows[i]["CUSTOMERNAME"].ToString() + "\","); templateBuilder.Append("\"unit\":\"" + templateTable.Rows[i]["UNIT"].ToString() + "\","); templateBuilder.Append("\"uprice\":" + templateTable.Rows[i]["UNITPRICE"].ToString() + ","); templateBuilder.Append("\"cur\":\"" + templateTable.Rows[i]["CURRENCY"].ToString() + "\","); templateBuilder.Append("\"exrate\":" + templateTable.Rows[i]["EXCHANGERATE"].ToString() + ","); templateBuilder.Append("\"remark\":\"" + templateTable.Rows[i]["REMARK"].ToString() + "\","); templateBuilder.Append("\"type\":" + templateTable.Rows[i]["FEETYPE"].ToString().ToString()); templateBuilder.Append("},"); } } templateBuilder.Append("]}"); this.h_importtype.Value = iImportTemplateDetailType.ToString(); this.h_cachename.Value = strCacheName; this.h_cachetemplate.Value = templateBuilder.ToString(); } else { this.h_importtype.Value = iImportTemplateDetailType.ToString(); this.h_cachename.Value = ""; this.h_cachetemplate.Value = ""; } } } #endregion #region 获取引入历史费用缓存信息 if (recvJSON.Trim().Equals("") && payJSON.Trim().Equals("") && strImportHistoryCacheName != null && iHistoryType > 0) { DataTable templateTable = (DataTable)Session[strImportHistoryCacheName]; StringBuilder templateBuilder = new StringBuilder(); if (templateTable != null) { if (templateTable.Rows.Count > 0) { templateBuilder.Append("{\"history\":["); for (int i = 0; i < templateTable.Rows.Count; i++) { templateTable.Rows[i]["GID"] = Guid.NewGuid().ToString(); if (i == templateTable.Rows.Count - 1) { templateBuilder.Append("{"); templateBuilder.Append("\"tid\":\"" + templateTable.Rows[i]["GID"].ToString() + "\","); templateBuilder.Append("\"fname\":\"" + templateTable.Rows[i]["FEENAME"].ToString() + "\","); templateBuilder.Append("\"cust\":\"" + templateTable.Rows[i]["CUSTOMERNAME"].ToString() + "\","); templateBuilder.Append("\"unit\":\"" + templateTable.Rows[i]["UNIT"].ToString() + "\","); templateBuilder.Append("\"uprice\":" + templateTable.Rows[i]["UNITPRICE"].ToString() + ","); templateBuilder.Append("\"quantity\":" + templateTable.Rows[i]["QUANTITY"].ToString() + ","); templateBuilder.Append("\"comm\":" + templateTable.Rows[i]["COMMISSIONRATE"].ToString() + ","); templateBuilder.Append("\"amount\":" + templateTable.Rows[i]["AMOUNT"].ToString() + ","); templateBuilder.Append("\"cur\":\"" + templateTable.Rows[i]["CURRENCY"].ToString() + "\","); templateBuilder.Append("\"exrate\":" + templateTable.Rows[i]["EXCHANGERATE"].ToString() + ","); templateBuilder.Append("\"frt\":\"" + templateTable.Rows[i]["FEEFRT"].ToString() + "\","); templateBuilder.Append("\"remark\":\"" + templateTable.Rows[i]["REMARK"].ToString() + "\","); templateBuilder.Append("\"isadv\":" + (templateTable.Rows[i]["ISADVANCEDPAY"].ToString().ToLower().Equals("true") ? 1 : 0) + ","); templateBuilder.Append("\"type\":" + templateTable.Rows[i]["FEETYPE"].ToString().ToString()); templateBuilder.Append("}"); } else { templateBuilder.Append("{"); templateBuilder.Append("\"tid\":\"" + templateTable.Rows[i]["GID"].ToString() + "\","); templateBuilder.Append("\"fname\":\"" + templateTable.Rows[i]["FEENAME"].ToString() + "\","); templateBuilder.Append("\"cust\":\"" + templateTable.Rows[i]["CUSTOMERNAME"].ToString() + "\","); templateBuilder.Append("\"unit\":\"" + templateTable.Rows[i]["UNIT"].ToString() + "\","); templateBuilder.Append("\"uprice\":" + templateTable.Rows[i]["UNITPRICE"].ToString() + ","); templateBuilder.Append("\"quantity\":" + templateTable.Rows[i]["QUANTITY"].ToString() + ","); templateBuilder.Append("\"comm\":" + templateTable.Rows[i]["COMMISSIONRATE"].ToString() + ","); templateBuilder.Append("\"amount\":" + templateTable.Rows[i]["AMOUNT"].ToString() + ","); templateBuilder.Append("\"cur\":\"" + templateTable.Rows[i]["CURRENCY"].ToString() + "\","); templateBuilder.Append("\"exrate\":" + templateTable.Rows[i]["EXCHANGERATE"].ToString() + ","); templateBuilder.Append("\"frt\":\"" + templateTable.Rows[i]["FEEFRT"].ToString() + "\","); templateBuilder.Append("\"remark\":\"" + templateTable.Rows[i]["REMARK"].ToString() + "\","); templateBuilder.Append("\"isadv\":" + (templateTable.Rows[i]["ISADVANCEDPAY"].ToString().ToLower().Equals("true") ? 1 : 0) + ","); templateBuilder.Append("\"type\":" + templateTable.Rows[i]["FEETYPE"].ToString().ToString()); templateBuilder.Append("},"); } } templateBuilder.Append("]}"); this.h_historytype.Value = iHistoryType.ToString(); this.h_historycachename.Value = strImportHistoryCacheName; this.h_cachehistory.Value = templateBuilder.ToString(); } else { this.h_historytype.Value = iHistoryType.ToString(); this.h_historycachename.Value = ""; this.h_cachehistory.Value = ""; } } } #endregion #region 保存操作 if (this.h_post.Value.Trim() != "") { //保存操作 if (this.h_post.Value.Trim() == "1") { if (!recvJSON.Trim().Equals("") || !payJSON.Trim().Equals("")) { // 将页面post获取的费用信息保存或更新“费用信息表”ch_fee,并保存或更新“利润信息”fee_gain,并返回操作结果 SaveFeeAction(); } } else if (this.h_post.Value.Trim() == "2") { if (!WoJSON.Trim().Equals("")) { if (this.hdShifting.Value.Trim() == "1")//库间移位 { SaveWoOutActionShifting(); } else { SaveWoOutAction(); } //return; } } else if (this.h_post.Value.Trim() == "3") { if (!WoJSON.Trim().Equals("")) { SaveWoOutActionedit(); //return; } } else if (this.h_post.Value.Trim() == "4") { if (!WoJSON.Trim().Equals("")) { SaveWoOutActioneditadd(); //return; } } } if (strHandle == "edit") {//获取出库单的信息 DoWmsOutEdit(strSearch); this.h_Mode.Value = "1"; ViewState["h_Mode"] = this.h_Mode.Value; } else { hd_comboWMSOP.Value = strShowName; hd_comboSTOREMAN.Value = strShowName; } if (ViewState["h_Mode"] != null && ViewState["h_outgid"] != null) { this.h_Mode.Value = ViewState["h_Mode"].ToString().Trim(); this.h_outgid.Value = ViewState["h_outgid"].ToString().Trim(); if (ViewState["h_Mode"].ToString().Trim() == "1" || ViewState["h_Mode"].ToString().Trim() == "2") { DataSet ds = T_ALL_DA.GetAllSQL("select top 1 *,ARFEE1=(select sum(ARFEE) from wms_out_detail where outbsno=wms_out.bsno),APFEE1=(select sum(APFEE) from wms_out_detail where outbsno=wms_out.bsno) from wms_out where gid='" + ViewState["h_outgid"].ToString().Trim() + "'"); if (ds != null) { h_customer.Value = ds.Tables[0].Rows[0]["CUSTOMERNAME"].ToString().Trim(); h_truck.Value = ds.Tables[0].Rows[0]["TRUCKNAME"].ToString().Trim(); txt_outbsno.Value = ds.Tables[0].Rows[0]["BSNO"].ToString().Trim(); txt_clientbsno.Value = ds.Tables[0].Rows[0]["CLIENTBSNO"].ToString().Trim(); txt_outdate.Value = DateTime.Parse(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim()).ToString("yyyy-MM-dd"); txt_remark.Value = ds.Tables[0].Rows[0]["REMARK"].ToString().Trim(); hd_comboWMSOP.Value = ds.Tables[0].Rows[0]["WMSOP"].ToString().Trim(); hd_comboSTOREMAN.Value = ds.Tables[0].Rows[0]["STOREMAN"].ToString().Trim(); // h_customer.Disabled = true; h_truck.Disabled = true; txt_outbsno.Disabled = true; txt_clientbsno.Disabled = true; txt_outdate.Disabled = true; txt_remark.Disabled = true; //出库件数: this.dvProfitTotalVal.InnerText = ds.Tables[0].Rows[0]["GOODSPFSL"].ToString().Trim(); //出库应收: this.dvRecvTotalVal.InnerText = ds.Tables[0].Rows[0]["ARFEE1"].ToString().Trim(); //出库应付: this.dvPaySumVal.InnerText = ds.Tables[0].Rows[0]["APFEE1"].ToString().Trim(); } else { h_customer.Disabled = false; h_truck.Disabled = false; txt_outbsno.Disabled = true; txt_clientbsno.Disabled = false; txt_outdate.Disabled = false; txt_remark.Disabled = false; } } } #endregion if (this.hdEnabled.Value.Trim() == "false") { getEnabled(); } txt_outbsno.Disabled = true; // //加载下拉框 Page.ClientScript.RegisterStartupScript(this.GetType(), "key0", ""); } protected void getEnabled() { divadd.Disabled=true; btn_Out.Disabled=true; divdel.Disabled=true; ibPrint.Disabled=true; //txt_outbsno //sel_customer //sel_truck //txt_outdate //ddlWMSOP //ddlSTOREMAN //txt_remark //sel_storage //sel_goods //sel_goodsmodel //txt_bsno Div2.Disabled=true; Div3.Disabled=true; mygrid_container_wmsin.Disabled = true; } #region 导出Excel protected void btExcel1_Click(object sender, EventArgs e) { setExcelReport(); } protected void setExcelReport() { StringWriter sw = new StringWriter(); string sSQL = ""; //sw.WriteLine("结算单位\t委托编号\t主提单号\t分提单号\t船名\t航次\tETD\t目的港\t揽货人\t应收RMB\t实收RMB\t应收USD\t实收USD\t余额"); sw.WriteLine(this.hdNAMES.Value.Trim()); DataSet DS = T_ALL_DA.GetAllSQL(this.hdSQL.Value.Trim()); if (DS != null) { foreach (DataTable myTable in DS.Tables) { foreach (DataRow myRow in myTable.Rows)//遍历表 { sSQL = ""; for (int i = 0; i < myTable.Columns.Count; i++) { if (sSQL.Trim() != "") { sSQL += "\t"; } if (myRow[i].ToString() == null || myRow[i].ToString() == "") { sSQL += ""; if (sSQL.Trim() == "") { sSQL += "\t"; } } else { string ls = myRow[i].ToString().Trim(); if (i == 17) { ls = ls.Replace(" ", ","); ls = ls.Replace("\r\n", "。"); } sSQL += ls.Trim(); //sSQL += myRow[i].ToString(); } } sw.WriteLine(sSQL); } } // sw.Close(); switch ("MUEXCEL") { case "MUEXCEL": Response.AddHeader("Content-Disposition", "attachment; filename=report.xls"); Response.ContentType = "application/ms-excel"; break; case "MUTEXT": Response.AddHeader("Content-Disposition", "attachment; filename=report.txt"); Response.ContentType = "application/txt"; break; case "MUWORD": Response.AddHeader("Content-Disposition", "attachment; filename=report.doc"); Response.ContentType = "application/ms-word"; break; case "MUPDF": Response.AddHeader("Content-Disposition", "attachment; filename=report.pdf"); Response.ContentType = "application/pdf"; break; case "MUXML": Response.AddHeader("Content-Disposition", "attachment; filename=report.xml"); Response.ContentType = "application/xml"; break; } Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.Write(sw); Response.End(); } } #endregion #region 读取出库单的信息 WmsOutEdit /// /// /// /// private void DoWmsOutEdit(string strSearch) { if (strSearch != null) { if (!strSearch.Trim().Equals("")) { string tempSearch = strSearch; tempSearch = tempSearch.Replace("{", ""); tempSearch = tempSearch.Replace("}", ""); tempSearch = tempSearch.Replace("[", ""); tempSearch = tempSearch.Replace("]", ""); string[] searchArg = tempSearch.Split(new char[] { ',' }); for (int i = 0; i < searchArg.Length; i++) { string[] strArg = searchArg[i].Split(new char[] { ':' }); if (!strArg[1].Replace("\"", "").Trim().Equals("")) { switch (strArg[0].Replace("\"", "")) { case "id": h_outgid.Value = strArg[1].ToString().Replace("\"", ""); break; case "bsno": this.h_outbsno.Value = strArg[1].ToString().Replace("\"", ""); txt_outbsno.Value = this.h_outbsno.Value; this.h_wmsoutbsno.Value = this.h_outbsno.Value; break; case "txtclientbsno": this.h_clientbsno.Value = strArg[1].ToString().Replace("\"", ""); txt_clientbsno.Value = this.h_clientbsno.Value; break; case "cust": h_customer.Value = strArg[1].ToString().Replace("\"", ""); break; case "outdate": string dt =strArg[1].ToString().Replace("\"", ""); //h_outdate.Value = dt.Substring(0,dt.IndexOf(" ")); h_outdate.Value = dt; txt_outdate.Value = dt; break; case "storage": h_storage.Value = strArg[1].ToString().Replace("\"", ""); break; case "goodsname": h_goods.Value = strArg[1].ToString().Replace("\"", "").Trim(); break; case "goodsmodel": h_goodsmodel.Value = strArg[1].ToString().Replace("\"", "").Trim(); break; case "outfee": h_outfee.Value =strArg[1].ToString().Replace("\"", ""); break; case "truckno": // string ls = strArg[1].ToString().Replace("\"", "").Trim(); //ls = ls.Replace(" ", " "); //ls = ls.Replace("\r\n", " "); // h_truckno.Value = ls; break; case "remark": h_remark.Value = strArg[1].ToString().Replace("\"", "").Trim(); txt_remark.Value = h_remark.Value; break; case "wmsgid": h_bsno.Value = strArg[1].ToString().Replace("\"", "").Trim(); //hd_wmsgid.Value = h_bsno.Value; break; case "packnum": h_packnum.Value = strArg[1].ToString().Replace("\"", "").Trim(); //txt_packnum.Value = h_packnum.Value; break; case "newcust": this.h_newcust.Value = strArg[1].ToString().Replace("\"", "").Trim(); break; default: break; } } } } } } #endregion #region 将页面post获取的费用信息保存或更新“费用信息表”ch_fee,并保存或更新“利润信息”fee_gain,并返回操作结果 /// /// 将页面post获取的费用信息保存或更新“费用信息表”ch_fee,并保存或更新“利润信息”fee_gain,并返回操作结果 /// private void SaveFeeAction() { IList feeEntities = new List(); if (!recvJSON.Trim().Equals("") && !recvJSON.Trim().Equals("null") ) { //将应收费用信息从前台页面写入费用实体类feeEntities feeEntities = ResolveFeeJSON(recvJSON.Trim(), feeEntities); recvContainer.Value = ""; } if (!payJSON.Trim().Equals("") && !payJSON.Trim().Equals("null")) { //将应付费用信息从前台页面写入费用实体类feeEntities feeEntities = ResolveFeeJSON(payJSON.Trim(), feeEntities); payContainer.Value = ""; } FeeDA feeDA = new FeeDA(); //如果是当前操作人权限范围只能查看应收或者应付时,单独更新费用利润 if (!ValidateUserFeeAuthority(1) || !ValidateUserFeeAuthority(2)) { //将页面post获取的费用信息保存或更新“费用信息表”ch_fee,并保存或更新“利润信息”fee_gain,并返回操作结果 int iRecvState = feeDA.DoFee(feeEntities, strSeaBSNO, strUserID); if (iRecvState == 1) { gainContainer.Value = ""; if (Session[strCacheName] != null) { Session.Remove(strCacheName); } } } else { FeeProfitEntity feeProfitEntity = new FeeProfitEntity(); //将页面post获取的利润值读入到利润实体类中 feeProfitEntity = GetRequestProfit(); int iRecvState = feeDA.DoFee(feeEntities, feeProfitEntity, strSeaBSNO); if (iRecvState == 1) { gainContainer.Value = ""; if (Session[strCacheName] != null) { Session.Remove(strCacheName); } } } h_post.Value = "";//请求状态清空 } /// /// 正数四舍五入,负数是五舍六入。(个人以为第一种方法合适处置货泉盘算) /// /// 四舍五入的数 /// 表示要保存的小数点后为数 /// private double Round(double value, int decimals,string money) { if (value < 0) { return Math.Round(value + 5 / Math.Pow(10, decimals + 1), decimals, MidpointRounding.AwayFromZero); } else { return Math.Round(value, decimals, MidpointRounding.AwayFromZero); } } /// /// 正负数都四舍五入(适合数据统计的显示) /// /// 四舍五入的数 /// 表示要保存的小数点后为数 /// private double Round(double d, int i) { if (d >= 0) { d += 5 * Math.Pow(10, -(i + 1)); } else { d += -5 * Math.Pow(10, -(i + 1)); } string str = d.ToString(); string[] strs = str.Split('.'); int idot = str.IndexOf('.'); string prestr = strs[0]; string poststr = strs[1]; if (poststr.Length > i) { poststr = str.Substring(idot + 1, i); } string strd = prestr + "." + poststr; d = Double.Parse(strd); return d; } #region 库间移位 SaveWoOutActionShifting /// /// 库间移位 /// private int SaveWoOutActionShifting() { int iState = 0; int result = 0; string Sqlstr = ""; //double totaloutfee = 0;//出库单的仓储费 //int prescale = 0; //int nowscale = 0; //int nowgrade = 0; //double price = 0; //double gradefee = 0; //double sumfee = 0; string newGID = ""; string bsno = ""; //出库单信息 WmsOutDA WmsOutDA = new WmsOutDA(); WmsOutEntity WmsOutEntity = new WmsOutEntity(); if (!WoJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutEntity = ResolveWoJSON(WoJSON.Trim(), WmsOutEntity); WoContainer.Value = ""; } //出库单明细信息 WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA(); IList WmsOutDetailEntitys = new List(); if (!WoDetailJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutDetailEntitys = ResolveWoDetailJSON(WoDetailJSON.Trim(), WmsOutDetailEntitys); this.WoDetailContainer.Value = ""; } using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction)) { try { #region 生成出库单并计算费用 // string strWMSNO = T_ALL_DA.GetStrSQL("BSNO", "select BSNO from wms_out where BSNO='" + WmsOutEntity.BSNO.ToString().Trim() + "'"); if (strWMSNO.Trim() != "") { Page.ClientScript.RegisterStartupScript(this.GetType(), "key3", ""); return -3; } // //保存出库单wms_out string ls = WmsOutEntity.TRUCKNO.ToString().Trim(); ls = ls.Replace("??"," "); ls = ls.Replace("!!", "\r\n"); // Sqlstr = String.Format("insert into wms_out(GID,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,REMARK,CREATEUSER,CREATETIME,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL,TRUCKNAME,GOODSPFSL,WMSOP,STOREMAN,CLIENTBSNO,CORPID)" + " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}',getdate(),'{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}')" , WmsOutEntity.GID, WmsOutEntity.BSNO, WmsOutEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutEntity.STORAGENAME, WmsOutEntity.REMARK, strUserID, ls, WmsOutEntity.ASSOCIATEDNO, WmsOutEntity.GOODSPACKPFSL, WmsOutEntity.TRUCKNAME, WmsOutEntity.GOODSPFSL, hd_comboWMSOP.Value.Trim(), hd_comboSTOREMAN.Value.Trim(), this.h_clientbsno.Value.Trim(), strCompanyID); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { this.h_outgid.Value = WmsOutEntity.GID.ToString().Trim(); sqlTran.Rollback(); result = -1; Clearh(); return result; } //保存出库单明细wms_out_detail #region 保存出库单wms_out 出库单明细wms_out_detail foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys) { WmsOutDetailEntity.OUTBSNO = WmsOutEntity.BSNO; //保存wms_out_detail newGID = Guid.NewGuid().ToString(); WmsOutDetailEntity.GID = newGID; // #region 提取规则编号 getCodeRuleWmsOutDetail // // 提取规则编号 // // 规则项目名称 // 需要加规则的字段 // //protected String getCodeRuleWmsOutDetail(string strRULENAME, string strfield) //{ //调用编码规则 string strRULEYEAR = ""; string strRULECONTENT = ""; string strCODENAME = ""; string strDEPTNO = ""; string strRULENOLENGTH = ""; int iRULENOLENGTH = 0; int inum = 0; string strCONTENT = ""; DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='出库明细单号' and RULETYPE=3"); if (ds != null) { if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True")) { getCodeRuleEnabled("出库明细单号", "BSNO"); // if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期")) { if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "") { //return ""; bsno = ""; } DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim()); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy"); } } } else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份")) { DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()")); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy"); } } } // if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True")) { strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')"); } if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True")) { strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')"); } strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim(); strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME); strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO); // if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "") { iRULENOLENGTH = 0; } else { iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim()); } strCONTENT = strRULECONTENT + strRULEYEAR; //获取分公司的票号头字符 string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'"); strCONTENT = tempBANKSHEAD + strCONTENT; // string strSQL = "select top 1 BSNO from [wms_out_detail] where BSNO like '" + strCONTENT.Trim() + "%' order by CREATETIME DESC"; DataSet ds1 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null); if (ds1 != null) { if (ds1.Tables[0].Rows.Count > 0) { strRULENOLENGTH = ds1.Tables[0].Rows[0]["BSNO"].ToString().Trim(); } } if (strRULENOLENGTH == "") { strRULENOLENGTH = "1"; } else { strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), ""); inum = int.Parse(strRULENOLENGTH.Trim()); inum = inum + 1; strRULENOLENGTH = inum.ToString(); } int j = iRULENOLENGTH - strRULENOLENGTH.Length; for (int i = 1; i <= j; i++) { strRULENOLENGTH = "0" + strRULENOLENGTH; } // strCONTENT = strCONTENT + strRULENOLENGTH; bsno = strCONTENT; //return strCONTENT; } } } // return ""; //} #endregion //bsno = getCodeRuleWmsOutDetail("出库明细单号", "BSNO"); WmsOutDetailEntity.BSNO = bsno; // WmsOutDetailEntity.OUTBSNO = this.h_outbsno.Value; WmsOutDetailEntity.DODATE = WmsOutEntity.DODATE; WmsOutDetailEntity.GOODSOUTFEE = 0; WmsOutDetailEntity.CORPID = strCompanyID; // ls = WmsOutDetailEntity.TRUCKNO.ToString().Trim(); ls = ls.Replace("??", " "); ls = ls.Replace("!!", "\r\n"); // Sqlstr = String.Format("insert into wms_out_detail(GID,INBSNO,OUTBSNO,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSPFSL,CREATEUSER,CREATETIME,REMARK,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL,ARFEE,APFEE,areaname,CHARGEUNIT,CORPID) " + " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',getdate(),'{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}')" , WmsOutDetailEntity.GID, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.OUTBSNO, WmsOutDetailEntity.BSNO, WmsOutDetailEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutDetailEntity.STORAGENAME, WmsOutDetailEntity.GOODSNAME, WmsOutDetailEntity.GOODSMODEL, WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.CREATEUSER, WmsOutDetailEntity.REMARK, ls, WmsOutDetailEntity.ASSOCIATEDNO, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.ARFEE, WmsOutDetailEntity.APFEE, WmsOutDetailEntity.AREANAME, WmsOutDetailEntity.CHARGEUNIT, WmsOutDetailEntity.CORPID); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { sqlTran.Rollback(); result = -5; Clearh(); return result; } //修改入库单wms_in Sqlstr = String.Format("update wms_in set GOODSPACKSTOCK=GOODSPACKSTOCK-{0},GOODSSTOCK=GOODSSTOCK-{2} where isnull(ISDELETE,0)=0 and gid='{1}' ", WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.GOODSPFSL); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { sqlTran.Rollback(); result = -6; Clearh(); return result; } }// end 保存出库明细wms_out_detail #endregion //修改wms_out的出库量、出库件数、应收应付装卸费 string lsSQL = String.Format("update wms_out set " + "GOODSPFSL=(select isnull(sum(GOODSPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + ",GOODSPACKPFSL=(select isnull(sum(GOODSPACKPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + ",ARFEE=(select isnull(sum(ARFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + ",APFEE=(select isnull(sum(APFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + " where ISLOCK=0 and GID='{0}'", WmsOutEntity.GID.ToString().Trim()); iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSQL, null); if (iState != 1) { sqlTran.Rollback(); result = -7; Clearh(); return result; } #region 将仓储费写入ch_fee //if (isJsFee == true) //{ // FeeDA feeDA = new FeeDA(); // IList feeEntities = new List(); // FeeEntity feeEntity = new FeeEntity(); // double deprice = 0; // if (WmsOutEntity.GOODSPFSL != 0) // { // deprice = double.Parse((WmsOutEntity.GOODSOUTFEE / WmsOutEntity.GOODSPFSL).ToString()); // } // else // { // deprice = 0; // } // deprice = Round(deprice, 2, ""); // if (deprice != 0) // { // feeEntity.GID = Guid.NewGuid().ToString(); // feeEntity.FeeType = 1; // feeEntity.BSNO = WmsOutEntity.ASSOCIATEDNO; // feeEntity.FeeName = "仓储费"; // feeEntity.CustomerName = WmsOutEntity.CUSTOMERNAME; // feeEntity.Unit = "重量"; // feeEntity.UnitPrice =decimal.Parse( deprice.ToString()); // feeEntity.Quantity = WmsOutEntity.GOODSPFSL; // feeEntity.CommissionRate = 1; // feeEntity.Amount = WmsOutEntity.GOODSOUTFEE; // feeEntity.Currency = "RMB"; // feeEntity.ExchangeRate = 1; // feeEntity.FeeFrt = ""; // feeEntity.Remark = ""; // feeEntity.IsAdvancePay = false; // feeEntity.EnterOperator = WmsOutEntity.CREATEUSER; // feeEntity.FeeStatus = 1; // feeEntity.WMSOUTBSNO = WmsOutEntity.BSNO; // feeEntities.Add(feeEntity); // iState = feeDA.DoFee(feeEntities, WmsOutEntity.BSNO, strUserID); // feeEntities.Remove(feeEntity); // if (iState != 1) // { // sqlTran.Rollback(); // result = -8; // Clearh(); // return result; // } // } // //出库费写入ch_fee // WmsFeeCodeDA WmsFeeCodeDA = new WmsFeeCodeDA(); // string strSql11 = String.Format("SELECT GID,FEETYPE,FEECODE,FEENAME,BSNO,CLIENT,UNIT,CURRENCY,UNITPRICE,EXCHANGERATE,SORT,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK FROM wms_feeCode " // + " where BSNO='{0}' ", WmsOutEntity.ASSOCIATEDNO); // DataSet ds = WmsFeeCodeDA.GetRateListByCondition(strSql11); // DataTable dt = ds.Tables[0]; // if (dt.Rows.Count > 0) // { // foreach (DataRow r in dt.Rows) // { // if (r["FEENAME"].ToString() == "出库费") // { // feeEntity = new FeeEntity(); // feeEntity.GID = Guid.NewGuid().ToString(); // feeEntity.FeeType = 1; // feeEntity.BSNO = WmsOutEntity.ASSOCIATEDNO; // feeEntity.FeeName = "出库费"; // feeEntity.CustomerName = WmsOutEntity.CUSTOMERNAME; // feeEntity.Unit = "重量"; // feeEntity.UnitPrice = decimal.Parse(r["UNITPRICE"].ToString()); // feeEntity.Quantity = WmsOutEntity.GOODSPFSL; // feeEntity.CommissionRate = 1; // double amount = double.Parse(WmsOutEntity.GOODSPFSL.ToString()) * double.Parse(r["UNITPRICE"].ToString()); // feeEntity.Amount = decimal.Parse(Round(amount, 2, "").ToString()); // feeEntity.Currency = "RMB"; // feeEntity.ExchangeRate = 1; // feeEntity.FeeFrt = ""; // feeEntity.Remark = ""; // feeEntity.IsAdvancePay = false; // feeEntity.EnterOperator = WmsOutEntity.CREATEUSER; // feeEntity.FeeStatus = 1; // feeEntity.WMSOUTBSNO = WmsOutEntity.BSNO; // feeEntities.Add(feeEntity); // //保存如ch_fee // iState = feeDA.DoFee(feeEntities, WmsOutEntity.BSNO, strUserID); // if (iState != 1) // { // sqlTran.Rollback(); // result = -9; // Clearh(); // return result; // } // } // } // } // //else // //{//没有设置出库费 // //} //}//end 将仓储费和出库费写入ch_fee #endregion #region 保存入库单wms StringBuilder strSql = new StringBuilder(); strSql.Append("insert into wms("); strSql.Append("GID,WMSNO,WMSDATE,CUSTOMERNAME,WMSOP,STOREMAN,MODIFIEDUSER,MODIFIEDTIME,ISDELETE,DELETEUSER,DELETETIME,TRUCKNAME,CORPID"); strSql.Append(") values ("); strSql.Append("@GID,@WMSNO,@WMSDATE,@CUSTOMERNAME,@WMSOP,@STOREMAN,@MODIFIEDUSER,getdate(),0,'',getdate(),@TRUCKNAME,@CORPID"); strSql.Append(") "); SqlParameter[] parameters = { new SqlParameter("@GID", SqlDbType.VarChar,36) , new SqlParameter("@WMSNO", SqlDbType.VarChar,100) , new SqlParameter("@WMSDATE", SqlDbType.DateTime) , new SqlParameter("@CUSTOMERNAME", SqlDbType.VarChar,20) , new SqlParameter("@WMSOP", SqlDbType.VarChar,10) , new SqlParameter("@STOREMAN", SqlDbType.VarChar,10) , new SqlParameter("@MODIFIEDUSER", SqlDbType.VarChar,36) , new SqlParameter("@TRUCKNAME", SqlDbType.VarChar,20) , new SqlParameter("@CORPID", SqlDbType.VarChar,36) }; this.hdWMSGID.Value = getWMSNO(); parameters[0].Value = this.hdWMSGID.Value.Trim(); string srq = T_ALL_DA.GetStrSQL("rq", "select convert(char(10),getdate(),20) rq"); string swmsno = getCodeRuleWmsIn("入库单号", "WMSNO", srq);//调用编码规则 parameters[1].Value = swmsno; parameters[2].Value = DateTime.Parse(srq.Trim()); parameters[3].Value = WmsOutEntity.CUSTOMERNAME; parameters[4].Value = hd_comboWMSOP.Value.Trim(); parameters[5].Value = hd_comboSTOREMAN.Value.Trim(); parameters[6].Value = strUserID; parameters[7].Value = WmsOutEntity.TRUCKNAME; parameters[8].Value = strCompanyID; iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql.ToString(), parameters); if (iState != 1) { sqlTran.Rollback(); result = -1; Clearh(); return result; } #endregion #region 保存入库单明细wms_in foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys) { string strSql2 = "insert into wms_in(KINDPKGS,ASSOCIATEDNO,BLNO,CONTRACTNO,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,{0}STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,ISLOCK,LOCKUSER,ISDELETE,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,FREESTORAGEPERIOD,GOODSPACKSTOCK,GOODSKGS,CLIENTCODEOLD,CLIENTNAMEOLD,ARFEE,APFEE,CORPID) " + " values(@KINDPKGS,@ASSOCIATEDNO,@BLNO,@CONTRACTNO,@CNTRNO,@SEALNO,@BSNO,@CLIENTCODE,@CLIENTNAME,{1}@STORAGECODE,@STORAGENAME,@AREACODE,@AREANAME,@GOODSCODE,@GOODSNAME,@GOODSTYPE,@GOODSMODEL,@GOODSSTANDARD,@GOODSPACK,@CHARGEUNIT,@GOODSRKSL,@GOODSSTOCK,@ISLOCK,@LOCKUSER,@ISDELETE,@DELETEUSER,@CREATEUSER,getdate(),@MODIFIEDUSER,getdate(),@REMARK,@FREESTORAGEPERIOD,@GOODSPACKSTOCK,@GOODSKGS,@CLIENTCODEOLD,@CLIENTNAMEOLD,@ARFEE,@APFEE,@CORPID)";//,CHARGEPRICE,@CHARGEPRICE SqlParameter[] parms = { new SqlParameter("@KINDPKGS",SqlDbType.VarChar,20),// new SqlParameter("@ASSOCIATEDNO",SqlDbType.VarChar,100),//关联号 new SqlParameter("@BLNO",SqlDbType.VarChar,30),//提单号 new SqlParameter("@CONTRACTNO",SqlDbType.VarChar,100),//合同号 new SqlParameter("@CNTRNO",SqlDbType.VarChar,30),//箱号 new SqlParameter("@SEALNO",SqlDbType.VarChar,12),//封号 new SqlParameter("@BSNO",SqlDbType.VarChar,100),//仓单明细号 new SqlParameter("@CLIENTCODE",SqlDbType.VarChar,20),//客户编码 new SqlParameter("@CLIENTNAME",SqlDbType.VarChar,20),//客户名称 new SqlParameter("@STORAGECODE",SqlDbType.VarChar,50),//仓库编码 new SqlParameter("@STORAGENAME",SqlDbType.VarChar,100),//仓库名称 new SqlParameter("@AREACODE",SqlDbType.VarChar,50),//库位编码 new SqlParameter("@AREANAME",SqlDbType.VarChar,100),//库位名称 new SqlParameter("@GOODSCODE",SqlDbType.VarChar,50),//货物编号 new SqlParameter("@GOODSNAME",SqlDbType.VarChar,100),//货物名称/品名 new SqlParameter("@GOODSTYPE",SqlDbType.VarChar,50),//货物类型 new SqlParameter("@GOODSMODEL",SqlDbType.VarChar,100),//型号 new SqlParameter("@GOODSSTANDARD",SqlDbType.VarChar,100),//规格 new SqlParameter("@GOODSPACK",SqlDbType.Decimal),//件数 new SqlParameter("@CHARGEUNIT",SqlDbType.VarChar,10),//计费单位 //new SqlParameter("@CHARGEPRICE",SqlDbType.Decimal),//计费单价 new SqlParameter("@GOODSRKSL",SqlDbType.Decimal),//入库量 new SqlParameter("@GOODSSTOCK",SqlDbType.Decimal) ,//库存量 new SqlParameter("@ISLOCK",SqlDbType.Bit),//是否锁定 new SqlParameter("@LOCKUSER",SqlDbType.VarChar,36),//锁定操作人 new SqlParameter("@ISDELETE",SqlDbType.Bit),//是否废除 new SqlParameter("@DELETEUSER",SqlDbType.VarChar,36),//废除操作人 new SqlParameter("@CREATEUSER",SqlDbType.VarChar,36),//创建人 new SqlParameter("@MODIFIEDUSER",SqlDbType.VarChar,36),//最后一次更新操作人 new SqlParameter("@REMARK",SqlDbType.VarChar,1024),//备注 new SqlParameter("@FREESTORAGEPERIOD",SqlDbType.Int),// new SqlParameter("@GOODSPACKSTOCK",SqlDbType.Decimal),// new SqlParameter("@GOODSKGS",SqlDbType.Decimal),//重量 new SqlParameter("@CLIENTCODEOLD",SqlDbType.VarChar,20),//原客户编码 new SqlParameter("@CLIENTNAMEOLD",SqlDbType.VarChar,20),//原客户名称 new SqlParameter("@ARFEE",SqlDbType.Decimal),// new SqlParameter("@APFEE",SqlDbType.Decimal),// new SqlParameter("@CORPID",SqlDbType.VarChar,36) }; parms[0].Value = "";// parms[1].Value = this.hdWMSGID.Value.Trim();// 关联号 parms[2].Value = "";// 提单号 parms[3].Value = "";// 合同号 parms[4].Value = "";// 箱号 parms[5].Value = "";// 封号 parms[6].Value = swmsno;// 仓单明细号 parms[7].Value = "";// 客户编码 parms[8].Value = WmsOutDetailEntity.CUSTOMERNAME;// 客户名称 parms[9].Value = "";// 仓库编码 parms[10].Value = WmsOutDetailEntity.STORAGENAME;// 仓库名称 parms[11].Value = "";// 库位编码 parms[12].Value = WmsOutDetailEntity.AREANAME;// 库位名称 parms[13].Value = "";// 货物编号 parms[14].Value = WmsOutDetailEntity.GOODSNAME;// 货物名称 parms[15].Value = "";// 货物类型 parms[16].Value = WmsOutDetailEntity.GOODSMODEL;// 型号 parms[17].Value = "";// 规格 parms[18].Value = WmsOutDetailEntity.GOODSPACKPFSL;// 件数 parms[19].Value = WmsOutDetailEntity.CHARGEUNIT;// 计费单位 //parms[20].Value = infoEntity.CHARGEPRICE;// 计费单价 parms[20].Value = WmsOutDetailEntity.GOODSPFSL;// 入库量 parms[21].Value = WmsOutDetailEntity.GOODSPFSL;// 库存量 parms[22].Value = false;// 是否锁定 parms[23].Value = "";// 锁定操作人 parms[24].Value = false;// 是否废除 parms[25].Value = "";// 废除操作人 parms[26].Value = strUserID;// 创建人 parms[27].Value = strUserID;// 最后一次更新操作人 parms[28].Value = "库间移位";// 备注 parms[29].Value = 0;// parms[30].Value = WmsOutDetailEntity.GOODSPACKPFSL;// parms[31].Value = 0;// 重量 parms[32].Value = "";// 客户编码 parms[33].Value = "";// 客户名称 parms[34].Value = 0;// WmsOutDetailEntity.ARFEE; parms[35].Value = 0;// WmsOutDetailEntity.APFEE; parms[36].Value = strCompanyID;// //操作时间 string strDODATE = WmsOutEntity.DODATE.ToString().IndexOf("0001") > -1 ? "" : "'" + WmsOutEntity.DODATE.ToString() + "',"; string strDODATE_name = strDODATE.Equals("") ? "" : "DODATE,"; strSql2 = String.Format(strSql2, strDODATE_name, strDODATE); iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql2, parms); if (iState != 1) { sqlTran.Rollback(); result = -5; Clearh(); return result; } } #endregion result = 1;//状态为1表示删除成功 sqlTran.Commit(); //页面赋值 this.h_wmsoutbsno.Value = WmsOutEntity.BSNO.ToString(); //this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL.ToString(); //this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString(); this.h_remark.Value = WmsOutEntity.REMARK.ToString(); txt_outbsno.Value = h_outbsno.Value; txt_clientbsno.Value = this.h_clientbsno.Value; txt_outdate.Value = h_outdate.Value; string strcustomer = h_customer.Value; //string goods = h_goods.Value; #endregion this.h_newcust.Value = ""; // this.h_addmode.Value = "0"; this.h_Mode.Value = "1"; this.h_outbsno.Value = "0"; ViewState["h_Mode"] = this.h_Mode.Value; this.h_outgid.Value = T_ALL_DA.GetStrSQL("gid", "select gid from wms_out where bsno='" + this.h_outbsno.Value.Trim() + "'"); ViewState["h_outgid"] = this.h_outgid.Value; Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", ""); } catch (Exception execError) { result = -10;//有异常,插入失败 sqlTran.Rollback(); result = -11;//插入异常,事务已回滚成功 Clearh(); throw execError; } finally { SqlHelper.CloseConnection(); } } return result; } #endregion #region 生成出库单 SaveWoOutAction /// /// 生成出库单 /// private int SaveWoOutAction() { int iState = 0; int result = 0; string Sqlstr = ""; //double totaloutfee = 0;//出库单的仓储费 //int prescale = 0; //int nowscale = 0; //int nowgrade = 0; //double price = 0; //double gradefee = 0; //double sumfee = 0; string newGID = ""; string bsno = ""; //出库单信息 WmsOutDA WmsOutDA = new WmsOutDA(); WmsOutEntity WmsOutEntity = new WmsOutEntity(); if (!WoJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutEntity = ResolveWoJSON(WoJSON.Trim(), WmsOutEntity); WoContainer.Value = ""; } //出库单明细信息 WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA(); IList WmsOutDetailEntitys = new List(); if (!WoDetailJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutDetailEntitys = ResolveWoDetailJSON(WoDetailJSON.Trim(), WmsOutDetailEntitys); this.WoDetailContainer.Value = ""; } using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction)) { try { #region 生成出库单并计算费用 #region 保存出库单wms_out 出库单明细wms_out_detail // string strWMSNO = T_ALL_DA.GetStrSQL("BSNO", "select BSNO from wms_out where BSNO='" + WmsOutEntity.BSNO.ToString().Trim() + "'"); if (strWMSNO.Trim() != "") { Page.ClientScript.RegisterStartupScript(this.GetType(), "key3", ""); return -3; } // //保存出库单wms_out string ls = WmsOutEntity.TRUCKNO.ToString().Trim(); ls = ls.Replace("??"," "); ls = ls.Replace("!!","\r\n"); // Sqlstr = String.Format("insert into wms_out(GID,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,REMARK,CREATEUSER,CREATETIME,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL,TRUCKNAME,GOODSPFSL,WMSOP,STOREMAN,CLIENTBSNO,CORPID)" + " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}',getdate(),'{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}')" , WmsOutEntity.GID, WmsOutEntity.BSNO, WmsOutEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutEntity.STORAGENAME, WmsOutEntity.REMARK, strUserID, ls, WmsOutEntity.ASSOCIATEDNO, WmsOutEntity.GOODSPACKPFSL, WmsOutEntity.TRUCKNAME, WmsOutEntity.GOODSPFSL, hd_comboWMSOP.Value.Trim(), hd_comboSTOREMAN.Value.Trim(), this.h_clientbsno.Value.Trim(),strCompanyID); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { this.h_outgid.Value = WmsOutEntity.GID.ToString().Trim(); sqlTran.Rollback(); result = -1; Clearh(); return result; } //保存出库单明细wms_out_detail foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys) { //double outnums =double.Parse( WmsOutDetailEntity.GOODSPFSL.ToString()); //int feedays = WmsOutDetailDA.GetDaysCount(WmsOutDetailEntity.DODATE.ToString(), WmsOutEntity.DODATE.ToString()); //if (feedays > 0) //{ WmsOutDetailEntity.OUTBSNO = WmsOutEntity.BSNO; //SqlParameter parmrate = new SqlParameter("@BSNO", SqlDbType.VarChar, 100); //parmrate.Value = WmsOutEntity.ASSOCIATEDNO; //Sqlstr = String.Format("SELECT FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT FROM wms_rate where BSNO=@BSNO and CUSTOMERNAME like '%{0}%' order by BSNO,FEEGRADE ", WmsOutEntity.CUSTOMERNAME); //DataSet dsrate = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr.ToString(), parmrate); //DataTable dtrate = new DataTable(); //if (dsrate != null) //{ // dtrate = dsrate.Tables[0]; // if (dtrate.Rows.Count > 0) // { // prescale = 0; // nowscale = 0; // nowgrade = 0; // price = 0; // gradefee = 0; // sumfee = 0; // foreach (DataRow drow in dtrate.Rows) // { // nowgrade = int.Parse(drow["FEEGRADE"].ToString()); // nowscale = int.Parse(drow["FEESCALE"].ToString()); // price = double.Parse(drow["FEEPRICE"].ToString()); // if (nowgrade.Equals(1)) // { // if (feedays > nowscale) // { // gradefee = outnums * price * nowscale; // sumfee += gradefee; // prescale = nowscale; // } // else // { // gradefee = outnums * price * (feedays - prescale); // sumfee += gradefee; // prescale = nowscale; // break; // } // } // else if (nowgrade > 1) // { // if (feedays > nowscale) // { // gradefee = outnums * price * (nowscale - prescale); // sumfee += gradefee; // prescale = nowscale; // } // else // { // gradefee = outnums * price * (feedays - prescale); // sumfee += gradefee; // prescale = nowscale; // break; // WmsOutDetailEntity.DODATE // } // } // if (feedays > nowscale) // { // gradefee = outnums * price * (feedays - nowscale); // sumfee += gradefee; // } // totaloutfee += sumfee; // WmsOutDetailEntity.DODATE = WmsOutEntity.DODATE; // WmsOutDetailEntity.GOODSOUTFEE =decimal.Parse(Round( sumfee,2,"").ToString()); // } // else // {//仓储费率没有设定 // sqlTran.Rollback(); // result = -2; // Page.ClientScript.RegisterStartupScript(this.GetType(), "key0", ""); // Clearh(); // return result; // } //} //else //{ // sqlTran.Rollback(); // result = -3; // Page.ClientScript.RegisterStartupScript(this.GetType(), "key0", ""); // Clearh(); // return result; //} //保存wms_out_detail newGID = Guid.NewGuid().ToString(); WmsOutDetailEntity.GID = newGID; // #region 提取规则编号 getCodeRuleWmsOutDetail // // 提取规则编号 // // 规则项目名称 // 需要加规则的字段 // //protected String getCodeRuleWmsOutDetail(string strRULENAME, string strfield) //{ //调用编码规则 string strRULEYEAR = ""; string strRULECONTENT = ""; string strCODENAME = ""; string strDEPTNO = ""; string strRULENOLENGTH = ""; int iRULENOLENGTH = 0; int inum = 0; string strCONTENT = ""; DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='出库明细单号' and RULETYPE=3"); if (ds != null) { if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True")) { getCodeRuleEnabled("出库明细单号", "BSNO"); // if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期")) { if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "") { //return ""; bsno = ""; } DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim()); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy"); } } } else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份")) { DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()")); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy"); } } } // if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True")) { strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')"); } if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True")) { strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')"); } strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim(); strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME); strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO); // if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "") { iRULENOLENGTH = 0; } else { iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim()); } strCONTENT = strRULECONTENT + strRULEYEAR; //获取分公司的票号头字符 string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'"); strCONTENT = tempBANKSHEAD + strCONTENT; // string strSQL = "select top 1 BSNO from [wms_out_detail] where BSNO like '" + strCONTENT.Trim() + "%' order by BSNO DESC"; DataSet ds1 = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, strSQL, null); if (ds1 != null) { if (ds1.Tables[0].Rows.Count > 0) { strRULENOLENGTH = ds1.Tables[0].Rows[0]["BSNO"].ToString().Trim(); } } if (strRULENOLENGTH == "") { strRULENOLENGTH = "1"; } else { strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), ""); inum = int.Parse(strRULENOLENGTH.Trim()); inum = inum + 1; strRULENOLENGTH = inum.ToString(); } int j = iRULENOLENGTH - strRULENOLENGTH.Length; for (int i = 1; i <= j; i++) { strRULENOLENGTH = "0" + strRULENOLENGTH; } // strCONTENT = strCONTENT + strRULENOLENGTH; bsno = strCONTENT; //return strCONTENT; } } } // return ""; //} #endregion //bsno = getCodeRuleWmsOutDetail("出库明细单号", "BSNO"); WmsOutDetailEntity.BSNO = bsno; // WmsOutDetailEntity.OUTBSNO = this.h_outbsno.Value; WmsOutDetailEntity.DODATE = WmsOutEntity.DODATE; WmsOutDetailEntity.GOODSOUTFEE = 0; //WmsOutDetailEntity.INBSNO //WmsOutDetailEntity.CUSTOMERNAME //WmsOutDetailEntity.STORAGENAME //WmsOutDetailEntity.GOODSNAME //WmsOutDetailEntity.GOODSMODEL //WmsOutDetailEntity.GOODSPFSL //WmsOutDetailEntity.CREATEUSER //WmsOutDetailEntity.REMARK //ls //WmsOutDetailEntity.ASSOCIATEDNO //WmsOutDetailEntity.GOODSPACKPFSL //WmsOutDetailEntity.ARFEE //WmsOutDetailEntity.APFEE //WmsOutDetailEntity.STORAGENAME // ls = WmsOutDetailEntity.TRUCKNO.ToString().Trim(); ls = ls.Replace("??", " "); ls = ls.Replace("!!", "\r\n"); // Sqlstr = String.Format("insert into wms_out_detail(GID,INBSNO,OUTBSNO,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSPFSL,CREATEUSER,CREATETIME,REMARK,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL,ARFEE,APFEE,areaname,CHARGEUNIT,GOODSGRADE,GOODSSTANDARD,GOODSSLICE,CORPID) " + " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',getdate(),'{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}')" , WmsOutDetailEntity.GID, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.OUTBSNO, WmsOutDetailEntity.BSNO, WmsOutDetailEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutDetailEntity.STORAGENAME, WmsOutDetailEntity.GOODSNAME, WmsOutDetailEntity.GOODSMODEL, WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.CREATEUSER, WmsOutDetailEntity.REMARK, ls, WmsOutDetailEntity.ASSOCIATEDNO, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.ARFEE, WmsOutDetailEntity.APFEE, WmsOutDetailEntity.AREANAME, WmsOutDetailEntity.CHARGEUNIT, WmsOutDetailEntity.GOODSGRADE, WmsOutDetailEntity.GOODSSTANDARD, WmsOutDetailEntity.GOODSSLICE, strCompanyID); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { sqlTran.Rollback(); result = -5; Clearh(); return result; } //修改入库单wms_in Sqlstr = String.Format("update wms_in set GOODSPACKSTOCK=GOODSPACKSTOCK-{0},GOODSSTOCK=GOODSSTOCK-{2} where isnull(ISDELETE,0)=0 and gid='{1}' ", WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.GOODSPFSL); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { sqlTran.Rollback(); result = -6; Clearh(); return result; } //} //else if (feedays < 0 && !WmsOutDetailEntity.CUSTOMERNAMEPARENT.Equals(null) && !WmsOutDetailEntity.CUSTOMERNAMEPARENT.Equals("") && WmsOutDetailEntity.CUSTOMERNAMEPARENT != WmsOutDetailEntity.CUSTOMERNAME) //{ // //重算原货主仓储费 // SetOutPWmsFee(WmsOutEntity.DODATE.ToString(), WmsOutDetailEntity.CUSTOMERNAME, WmsOutDetailEntity.ASSOCIATEDNO, sqlTran); //} }// end 保存出库明细wms_out_detail //修改wms_out的出库量、出库件数、应收应付装卸费 string lsSQL = String.Format("update wms_out set " + "GOODSPFSL=(select isnull(sum(GOODSPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + ",GOODSPACKPFSL=(select isnull(sum(GOODSPACKPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + ",ARFEE=(select isnull(sum(ARFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + ",APFEE=(select isnull(sum(APFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + " where ISLOCK=0 and GID='{0}'", WmsOutEntity.GID.ToString().Trim()); iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSQL, null); if (iState != 1) { sqlTran.Rollback(); result = -7; Clearh(); return result; } ////修改wms_out的仓储费wmsOutEntity.GOODSOUTFEE //h_outfee.Value = totaloutfee.ToString(); //WmsOutEntity.GOODSOUTFEE =decimal.Parse( Round(totaloutfee,2,"").ToString()); //Sqlstr = String.Format("update wms_out set GOODSOUTFEE={0} where GID='{1}'", WmsOutEntity.GOODSOUTFEE, WmsOutEntity.GID); //iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); //if (iState != 1) //{ // sqlTran.Rollback(); // result = -7; // Clearh(); // return result; //} #endregion #region 将仓储费写入ch_fee //if (isJsFee == true) //{ // FeeDA feeDA = new FeeDA(); // IList feeEntities = new List(); // FeeEntity feeEntity = new FeeEntity(); // double deprice = 0; // if (WmsOutEntity.GOODSPFSL != 0) // { // deprice = double.Parse((WmsOutEntity.GOODSOUTFEE / WmsOutEntity.GOODSPFSL).ToString()); // } // else // { // deprice = 0; // } // deprice = Round(deprice, 2, ""); // if (deprice != 0) // { // feeEntity.GID = Guid.NewGuid().ToString(); // feeEntity.FeeType = 1; // feeEntity.BSNO = WmsOutEntity.ASSOCIATEDNO; // feeEntity.FeeName = "仓储费"; // feeEntity.CustomerName = WmsOutEntity.CUSTOMERNAME; // feeEntity.Unit = "重量"; // feeEntity.UnitPrice =decimal.Parse( deprice.ToString()); // feeEntity.Quantity = WmsOutEntity.GOODSPFSL; // feeEntity.CommissionRate = 1; // feeEntity.Amount = WmsOutEntity.GOODSOUTFEE; // feeEntity.Currency = "RMB"; // feeEntity.ExchangeRate = 1; // feeEntity.FeeFrt = ""; // feeEntity.Remark = ""; // feeEntity.IsAdvancePay = false; // feeEntity.EnterOperator = WmsOutEntity.CREATEUSER; // feeEntity.FeeStatus = 1; // feeEntity.WMSOUTBSNO = WmsOutEntity.BSNO; // feeEntities.Add(feeEntity); // iState = feeDA.DoFee(feeEntities, WmsOutEntity.BSNO, strUserID); // feeEntities.Remove(feeEntity); // if (iState != 1) // { // sqlTran.Rollback(); // result = -8; // Clearh(); // return result; // } // } // //出库费写入ch_fee // WmsFeeCodeDA WmsFeeCodeDA = new WmsFeeCodeDA(); // string strSql11 = String.Format("SELECT GID,FEETYPE,FEECODE,FEENAME,BSNO,CLIENT,UNIT,CURRENCY,UNITPRICE,EXCHANGERATE,SORT,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK FROM wms_feeCode " // + " where BSNO='{0}' ", WmsOutEntity.ASSOCIATEDNO); // DataSet ds = WmsFeeCodeDA.GetRateListByCondition(strSql11); // DataTable dt = ds.Tables[0]; // if (dt.Rows.Count > 0) // { // foreach (DataRow r in dt.Rows) // { // if (r["FEENAME"].ToString() == "出库费") // { // feeEntity = new FeeEntity(); // feeEntity.GID = Guid.NewGuid().ToString(); // feeEntity.FeeType = 1; // feeEntity.BSNO = WmsOutEntity.ASSOCIATEDNO; // feeEntity.FeeName = "出库费"; // feeEntity.CustomerName = WmsOutEntity.CUSTOMERNAME; // feeEntity.Unit = "重量"; // feeEntity.UnitPrice = decimal.Parse(r["UNITPRICE"].ToString()); // feeEntity.Quantity = WmsOutEntity.GOODSPFSL; // feeEntity.CommissionRate = 1; // double amount = double.Parse(WmsOutEntity.GOODSPFSL.ToString()) * double.Parse(r["UNITPRICE"].ToString()); // feeEntity.Amount = decimal.Parse(Round(amount, 2, "").ToString()); // feeEntity.Currency = "RMB"; // feeEntity.ExchangeRate = 1; // feeEntity.FeeFrt = ""; // feeEntity.Remark = ""; // feeEntity.IsAdvancePay = false; // feeEntity.EnterOperator = WmsOutEntity.CREATEUSER; // feeEntity.FeeStatus = 1; // feeEntity.WMSOUTBSNO = WmsOutEntity.BSNO; // feeEntities.Add(feeEntity); // //保存如ch_fee // iState = feeDA.DoFee(feeEntities, WmsOutEntity.BSNO, strUserID); // if (iState != 1) // { // sqlTran.Rollback(); // result = -9; // Clearh(); // return result; // } // } // } // } // //else // //{//没有设置出库费 // //} //}//end 将仓储费和出库费写入ch_fee #endregion //页面赋值 this.h_wmsoutbsno.Value = WmsOutEntity.BSNO.ToString(); //this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL.ToString(); //this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString(); this.h_remark.Value = WmsOutEntity.REMARK.ToString(); txt_outbsno.Value = h_outbsno.Value; txt_clientbsno.Value = h_clientbsno.Value; txt_outdate.Value = h_outdate.Value; string strcustomer = h_customer.Value; //string goods = h_goods.Value; #endregion this.h_newcust.Value = ""; result = 1;//状态为1表示删除成功 sqlTran.Commit(); this.h_addmode.Value = "0"; this.h_Mode.Value = "1"; ViewState["h_Mode"] = this.h_Mode.Value; this.h_outgid.Value = T_ALL_DA.GetStrSQL("gid", "select gid from wms_out where bsno='" + this.h_outbsno.Value.Trim() + "'"); ViewState["h_outgid"] = this.h_outgid.Value; Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", ""); } catch (Exception execError) { result = -10;//有异常,插入失败 sqlTran.Rollback(); result = -11;//插入异常,事务已回滚成功 Clearh(); throw execError; } finally { SqlHelper.CloseConnection(); } } return result; } #endregion #region 当前出库单中再添加一条 SaveWoOutActioneditadd /// /// 生成出库单 /// private int SaveWoOutActioneditadd() { int iState = 0; int result = 0; string Sqlstr = ""; string newGID = ""; //string bsno = ""; //出库单信息 WmsOutDA WmsOutDA = new WmsOutDA(); WmsOutEntity WmsOutEntity = new WmsOutEntity(); if (!WoJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutEntity = ResolveWoJSON(WoJSON.Trim(), WmsOutEntity); WoContainer.Value = ""; } //出库单明细信息 WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA(); IList WmsOutDetailEntitys = new List(); if (!WoDetailJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutDetailEntitys = ResolveWoDetailJSON(WoDetailJSON.Trim(), WmsOutDetailEntitys); this.WoDetailContainer.Value = ""; } using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction)) { try { #region 生成出库单并计算费用 #region 保存出库单wms_out 出库单明细wms_out_detail //保存出库单wms_out string ls = WmsOutEntity.TRUCKNO.ToString().Trim(); ls = ls.Replace("??"," "); ls = ls.Replace("!!","\r\n"); // this.h_outgid.Value = ViewState["h_outgid"].ToString().Trim(); string stroutbsno = T_ALL_DA.GetStrSQL("BSNO", "select BSNO from wms_out where gid='" + this.h_outgid.Value.Trim() + "'"); // //Sqlstr = String.Format("insert into wms_out(GID,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,GOODSNAME,GOODSMODEL,REMARK,CREATEUSER,CREATETIME,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}',getdate(),'{9}','{10}','{11}')", WmsOutEntity.GID, WmsOutEntity.BSNO, WmsOutEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutEntity.STORAGENAME, WmsOutEntity.GOODSNAME, WmsOutEntity.GOODSMODEL, WmsOutEntity.REMARK, WmsOutEntity.CREATEUSER, ls, WmsOutEntity.ASSOCIATEDNO, WmsOutEntity.GOODSPACKPFSL); Sqlstr = String.Format("update wms_out set CUSTOMERNAME='{1}',DODATE='{2}',STORAGENAME='{3}',REMARK='{4}',MODIFIEDUSER='{5}',MODIFIEDTIME=getdate(),TRUCKNO='{6}',ASSOCIATEDNO='{7}',GOODSPACKPFSL=GOODSPACKPFSL+'{8}',TRUCKNAME='{9}',GOODSPFSL=GOODSPFSL+{10},CORPID='{11}' where GID='{0}'" , this.h_outgid.Value.Trim(), WmsOutEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutEntity.STORAGENAME, WmsOutEntity.REMARK, strUserID, ls, WmsOutEntity.ASSOCIATEDNO, WmsOutEntity.GOODSPACKPFSL, WmsOutEntity.TRUCKNAME, WmsOutEntity.GOODSPFSL, strCompanyID); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { //this.h_outgid.Value = WmsOutEntity.GID.ToString().Trim(); sqlTran.Rollback(); result = -1; Clearh(); return result; } //保存出库单明细wms_out_detail foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys) { //WmsOutDetailEntity.OUTBSNO = WmsOutEntity.BSNO; //保存wms_out_detail newGID = Guid.NewGuid().ToString(); WmsOutDetailEntity.GID = newGID; //bsno = getCodeRuleWmsOutDetail("出库明细单号", "BSNO"); //WmsOutDetailEntity.BSNO = bsno; //WmsOutDetailEntity.OUTBSNO = this.h_outbsno.Value; WmsOutDetailEntity.DODATE = WmsOutEntity.DODATE; WmsOutDetailEntity.GOODSOUTFEE = 0; // ls = WmsOutDetailEntity.TRUCKNO.ToString().Trim(); ls = ls.Replace("??", " "); ls = ls.Replace("!!", "\r\n"); // Sqlstr = String.Format("insert into wms_out_detail(GID,INBSNO,OUTBSNO,BSNO,CUSTOMERNAME,DODATE,STORAGENAME,GOODSNAME,GOODSMODEL,GOODSPFSL,CREATEUSER,CREATETIME,REMARK,TRUCKNO,ASSOCIATEDNO,GOODSPACKPFSL,ARFEE,APFEE,areaname,CHARGEUNIT,CORPID) " + " values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',getdate(),'{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}')" , WmsOutDetailEntity.GID, WmsOutDetailEntity.INBSNO, stroutbsno, stroutbsno, WmsOutDetailEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutDetailEntity.STORAGENAME, WmsOutDetailEntity.GOODSNAME, WmsOutDetailEntity.GOODSMODEL, WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.CREATEUSER, WmsOutDetailEntity.REMARK, ls, WmsOutDetailEntity.ASSOCIATEDNO, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.ARFEE, WmsOutDetailEntity.APFEE, WmsOutDetailEntity.AREANAME, WmsOutDetailEntity.CHARGEUNIT, strCompanyID); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { sqlTran.Rollback(); result = -5; Clearh(); return result; } //修改入库单wms_in Sqlstr = String.Format("update wms_in set GOODSPACKSTOCK=GOODSPACKSTOCK-{0},GOODSSTOCK=GOODSSTOCK-{2} where isnull(ISDELETE,0)=0 and gid='{1}' ", WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.GOODSPFSL); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { sqlTran.Rollback(); result = -6; Clearh(); return result; } }// end 保存出库明细wms_out_detail #endregion //页面赋值 this.h_wmsoutbsno.Value = WmsOutEntity.BSNO.ToString(); //this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL.ToString(); //this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString(); this.h_remark.Value = WmsOutEntity.REMARK.ToString(); txt_outbsno.Value = h_outbsno.Value; txt_clientbsno.Value = h_clientbsno.Value; txt_outdate.Value = h_outdate.Value; string strcustomer = h_customer.Value; //string goods = h_goods.Value; #endregion this.h_newcust.Value = ""; result = 1;//状态为1表示删除成功 sqlTran.Commit(); this.h_addmode.Value = "0"; this.h_Mode.Value = "1"; ViewState["h_Mode"] = this.h_Mode.Value; ViewState["h_outgid"] = this.h_outgid.Value; Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", ""); } catch (Exception execError) { result = -10;//有异常,插入失败 sqlTran.Rollback(); result = -11;//插入异常,事务已回滚成功 Clearh(); throw execError; } finally { SqlHelper.CloseConnection(); } } return result; } #endregion #region 编辑出库单 SaveWoOutActionedit /// /// 编辑出库单 /// private int SaveWoOutActionedit() { int iState = 0; int result = 0; string Sqlstr = ""; //出库单信息 WmsOutDA WmsOutDA = new WmsOutDA(); WmsOutEntity WmsOutEntity = new WmsOutEntity(); if (!WoJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutEntity = ResolveWoJSON(WoJSON.Trim(), WmsOutEntity); WoContainer.Value = ""; } //出库单明细信息 WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA(); IList WmsOutDetailEntitys = new List(); if (!WoDetailJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutDetailEntitys = ResolveWoDetailJSON(WoDetailJSON.Trim(), WmsOutDetailEntitys); this.WoDetailContainer.Value = ""; } using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction)) { try { #region 生成出库单并计算费用 #region 保存出库单wms_out 出库单明细wms_out_detail //保存出库单wms_out string ls = WmsOutEntity.TRUCKNO.ToString().Trim(); ls = ls.Replace("??"," "); ls = ls.Replace("!!","\r\n"); //取出库明细修改前的值 this.h_outgid.Value = ViewState["h_outgid"].ToString().Trim(); // Sqlstr = String.Format("update wms_out set CUSTOMERNAME='{1}',DODATE='{2}',STORAGENAME='{3}',REMARK='{4}',MODIFIEDUSER='{5}',MODIFIEDTIME=getdate(),TRUCKNO='{6}',ASSOCIATEDNO='{7}',GOODSPACKPFSL='{8}',TRUCKNAME='{9}',GOODSPFSL='{10}',CORPID='{11}' where GID='{0}'" , this.h_outgid.Value.Trim(), WmsOutEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutEntity.STORAGENAME, WmsOutEntity.REMARK, strUserID, ls, WmsOutEntity.ASSOCIATEDNO, WmsOutEntity.GOODSPACKPFSL, WmsOutEntity.TRUCKNAME, WmsOutEntity.GOODSPFSL, strCompanyID); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { //this.h_outgid.Value = WmsOutEntity.GID.ToString().Trim(); sqlTran.Rollback(); result = -1; Clearh(); return result; } //保存出库单明细wms_out_detail foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys) { //WmsOutDetailEntity.OUTBSNO = WmsOutEntity.BSNO; ////保存wms_out_detail //newGID = Guid.NewGuid().ToString(); //bsno = getCodeRuleWmsOutDetail("出库明细单号", "BSNO"); //WmsOutDetailEntity.GID = WmsOutDetailEntity.INBSNO; //WmsOutDetailEntity.BSNO = bsno; //WmsOutDetailEntity.OUTBSNO = this.h_outbsno.Value; //WmsOutDetailEntity.DODATE = WmsOutEntity.DODATE; //WmsOutDetailEntity.GOODSOUTFEE = 0; // ls = WmsOutDetailEntity.TRUCKNO.ToString().Trim(); ls = ls.Replace("??", " "); ls = ls.Replace("!!", "\r\n"); //修改入库单wms_in Sqlstr = String.Format("update wms_in set GOODSPACKSTOCK=GOODSPACKSTOCK+(select GOODSPACKPFSL from wms_out_detail where gid='" + WmsOutDetailEntity.GID.ToString().Trim() + "')-{0},GOODSSTOCK=GOODSSTOCK+(select GOODSPFSL from wms_out_detail where gid='" + WmsOutDetailEntity.GID.ToString().Trim() + "')-{2} where isnull(ISDELETE,0)=0 and gid='{1}' ", WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.INBSNO, WmsOutDetailEntity.GOODSPFSL); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { sqlTran.Rollback(); result = -6; //Clearh(); return result; } // Sqlstr = String.Format("update wms_out_detail set CUSTOMERNAME='{1}',DODATE='{2}',STORAGENAME='{3}',GOODSNAME='{4}',GOODSMODEL='{5}',GOODSPFSL='{6}',CREATEUSER='{7}',CREATETIME=getdate(),REMARK='{8}',TRUCKNO='{9}',ASSOCIATEDNO='{10}',GOODSPACKPFSL='{11}',ARFEE='{12}',APFEE='{13}',areaname='{14}',CHARGEUNIT='{15}',CORPID='{16}' where GID='{0}'" , WmsOutDetailEntity.GID, WmsOutDetailEntity.CUSTOMERNAME, WmsOutEntity.DODATE, WmsOutDetailEntity.STORAGENAME, WmsOutDetailEntity.GOODSNAME, WmsOutDetailEntity.GOODSMODEL, WmsOutDetailEntity.GOODSPFSL, WmsOutDetailEntity.CREATEUSER, WmsOutDetailEntity.REMARK, ls, WmsOutDetailEntity.ASSOCIATEDNO, WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.ARFEE, WmsOutDetailEntity.APFEE, WmsOutDetailEntity.AREANAME, WmsOutDetailEntity.CHARGEUNIT, strCompanyID); iState=SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr, null); if (iState != 1) { sqlTran.Rollback(); result = -5; //Clearh(); return result; } }// end 保存出库明细wms_out_detail //修改wms_out的出库量、出库件数、应收应付装卸费 string lsSQL = String.Format("update wms_out set " + "GOODSPFSL=(select isnull(sum(GOODSPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + ",GOODSPACKPFSL=(select isnull(sum(GOODSPACKPFSL),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + ",ARFEE=(select isnull(sum(ARFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + ",APFEE=(select isnull(sum(APFEE),0) from wms_out_detail where OUTBSNO=wms_out.BSNO)" + " where ISLOCK=0 and GID='{0}'", WmsOutEntity.GID.ToString().Trim()); iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, lsSQL, null); if (iState != 1) { sqlTran.Rollback(); result = -7; Clearh(); return result; } #endregion //页面赋值 this.h_wmsoutbsno.Value = WmsOutEntity.BSNO.ToString(); //this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL.ToString(); //this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString(); this.h_remark.Value = WmsOutEntity.REMARK.ToString(); txt_outbsno.Value = h_outbsno.Value; txt_clientbsno.Value = h_clientbsno.Value; txt_outdate.Value = h_outdate.Value; string strcustomer = h_customer.Value; //string goods = h_goods.Value; #endregion this.h_newcust.Value = ""; result = 1;//状态为1表示删除成功 sqlTran.Commit(); this.h_addmode.Value = "0"; this.h_Mode.Value = "1"; ViewState["h_Mode"] = this.h_Mode.Value; ViewState["h_outgid"] = this.h_outgid.Value; Page.ClientScript.RegisterStartupScript(this.GetType(), "key1", ""); } catch (Exception execError) { result = -10;//有异常,插入失败 sqlTran.Rollback(); result = -11;//插入异常,事务已回滚成功 //Clearh(); throw execError; } finally { SqlHelper.CloseConnection(); } } return result; } #endregion private void SetOutPWmsFee(string OutDate, string CustName, string Associatedno, SqlTransaction sqlTran) { #region int iState = 0; string Sqlstr = ""; double totaloutfee = 0;//出库单的仓储费 int prescale = 0; int nowscale = 0; int nowgrade = 0; double price = 0; double gradefee = 0; double sumfee = 0; WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA(); DataSet DsDetail; DataTable TbDetail; DataSet dsrate; DataTable dtrate; double outnums = 0; int feedays = 0; string OUTBSNO = "";//wms_out.BSNO //查找对应的wms_out_detail记录 Sqlstr = String.Format("select a.GID,a.DODATE,a.GOODSPACKPFSL,a.GOODSPFSL,a.OUTBSNO,c.CLIENTNAMEOLD,c.CLIENTNAME,a.ASSOCIATEDNO from wms_out_detail a inner join wms_out b on a.OUTBSNO=b.BSNO inner join wms_in c on c.ASSOCIATEDNO=b.ASSOCIATEDNO and c.CLIENTNAMEOLD=b.CUSTOMERNAME and c.GOODSSTOCK=b.GOODSPFSL " + " where c.CLIENTNAME='{0}' and c.ASSOCIATEDNO='{1}' and a.DODATE>'{2}' ", CustName, Associatedno,OutDate); DsDetail = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr.ToString(), null); TbDetail = DsDetail.Tables[0]; foreach (DataRow r in TbDetail.Rows) { OUTBSNO = r["OUTBSNO"].ToString(); outnums = double.Parse(r["GOODSPFSL"].ToString()); feedays = WmsOutDetailDA.GetDaysCount("day", r["DODATE"].ToString(), OutDate); if (feedays > 0) { Sqlstr = String.Format("SELECT FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT FROM wms_rate where BSNO='{1}' and CUSTOMERNAME like '%{0}%' order by BSNO,FEEGRADE ", CustName, r["ASSOCIATEDNO"].ToString()); dsrate = SqlHelper.ExecuteQueryDataset(sqlTran, CommandType.Text, Sqlstr.ToString(), null); dtrate = dsrate.Tables[0]; prescale = 0; nowscale = 0; nowgrade = 0; price = 0; gradefee = 0; sumfee = 0; foreach (DataRow drow in dtrate.Rows) { nowgrade = int.Parse(drow["FEEGRADE"].ToString()); nowscale = int.Parse(drow["FEESCALE"].ToString()); price = double.Parse(drow["FEEPRICE"].ToString()); if (nowgrade.Equals(1)) { if (feedays > nowscale) { gradefee = outnums * price * nowscale; sumfee += gradefee; prescale = nowscale; } else { gradefee = outnums * price * (feedays - prescale); sumfee += gradefee; prescale = nowscale; break; } } else if (nowgrade > 1) { if (feedays > nowscale) { gradefee = outnums * price * (nowscale - prescale); sumfee += gradefee; prescale = nowscale; } else { gradefee = outnums * price * (feedays - prescale); sumfee += gradefee; prescale = nowscale; break; } } } if (feedays > nowscale) { gradefee = outnums * price * (feedays - nowscale); sumfee += gradefee; } totaloutfee += sumfee; //更新wms_out_detail Sqlstr = String.Format("update wms_out_detail set DODATE='{0}',GOODSOUTFEE={1} where GID='{2}' " , OutDate, decimal.Parse(Round(sumfee, 2, "").ToString()),r["GID"]); iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr.ToString(), null); } else if (feedays < 0 && r["CLIENTNAME"].ToString().Trim()!=r["CLIENTNAMEOLD"].ToString().Trim()) { SetOutPWmsFee(OutDate, r["CLIENTNAMEOLD"].ToString(), r["ASSOCIATEDNO"].ToString(), sqlTran); } } //查找到对应的wms_out记录,并更新wms_out OUTBSNO Sqlstr = String.Format("update wms_out set DODATE='{0}',GOODSOUTFEE={1} where BSNO='{2}' " , OutDate, decimal.Parse(Round(totaloutfee, 2, "").ToString()), OUTBSNO); iState = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, Sqlstr.ToString(), null); #endregion } private void Clearh() { this.h_post.Value = ""; //this.h_bsno.Value = ""; //this.hd_wmsgid.Value = ""; //this.h_wmsoutbsno.Value = ""; //this.h_outgid.Value = ""; //this.h_outbsno.Value = ""; //txt_outbsno.Value = ""; //txt_packnum.Value = ""; //h_packnum.Value = ""; //h_goodspfsl.Value = ""; } #region 生成插入语句参数 /// /// 生成插入语句参数 /// /// 返回SqlParameter数组 private SqlParameter[] GetInsertParms() { SqlParameter[] parms = new SqlParameter[]{ new SqlParameter("@GID",SqlDbType.VarChar,100),//惟一编号 new SqlParameter("@ASSOCIATEDNO",SqlDbType.VarChar,100),//关联号 new SqlParameter("@BLNO",SqlDbType.VarChar,30),//提单号 new SqlParameter("@CONTRACTNO",SqlDbType.VarChar,100),//合同号 new SqlParameter("@CNTRNO",SqlDbType.VarChar,30),//箱号 new SqlParameter("@SEALNO",SqlDbType.VarChar,12),//封号 new SqlParameter("@BSNO",SqlDbType.VarChar,100),//仓单明细号 new SqlParameter("@CLIENTCODE",SqlDbType.VarChar,20),//客户编码 new SqlParameter("@CLIENTNAME",SqlDbType.VarChar,20),//客户名称 new SqlParameter("@STORAGECODE",SqlDbType.VarChar,50),//仓库编码 new SqlParameter("@STORAGENAME",SqlDbType.VarChar,100),//仓库名称 new SqlParameter("@AREACODE",SqlDbType.VarChar,50),//库位编码 new SqlParameter("@AREANAME",SqlDbType.VarChar,100),//库位名称 new SqlParameter("@GOODSCODE",SqlDbType.VarChar,50),//货物编号 new SqlParameter("@GOODSNAME",SqlDbType.VarChar,100),//货物名称/品名 new SqlParameter("@GOODSTYPE",SqlDbType.VarChar,50),//货物类型 new SqlParameter("@GOODSMODEL",SqlDbType.VarChar,100),//型号 new SqlParameter("@GOODSSTANDARD",SqlDbType.VarChar,100),//规格 new SqlParameter("@GOODSPACK",SqlDbType.Int),//件数 new SqlParameter("@CHARGEUNIT",SqlDbType.VarChar,10),//计费单位 //new SqlParameter("@CHARGEPRICE",SqlDbType.Decimal),//计费单价 new SqlParameter("@GOODSRKSL",SqlDbType.Decimal),//入库量 new SqlParameter("@GOODSSTOCK",SqlDbType.Decimal) ,//库存量 new SqlParameter("@ISLOCK",SqlDbType.Bit),//是否锁定 new SqlParameter("@LOCKUSER",SqlDbType.VarChar,36),//锁定操作人 new SqlParameter("@ISDELETE",SqlDbType.Bit),//是否废除 new SqlParameter("@DELETEUSER",SqlDbType.VarChar,36),//废除操作人 new SqlParameter("@CREATEUSER",SqlDbType.VarChar,36),//创建人 new SqlParameter("@MODIFIEDUSER",SqlDbType.VarChar,36),//最后一次更新操作人 new SqlParameter("@REMARK",SqlDbType.VarChar,1024),//备注 new SqlParameter("@FREESTORAGEPERIOD",SqlDbType.Int),//件数 new SqlParameter("@CLIENTNAMEOLD",SqlDbType.VarChar,20),//备注 //new SqlParameter("@GOODSKGS",SqlDbType.Decimal)//重量 //new SqlParameter("@DODATE",SqlDbType.Datetime),//操作时间 //new SqlParameter("@LOCKTIME",SqlDbType.Datetime),//锁定时间 //new SqlParameter("@DELETETIME",SqlDbType.Datetime),//废除时间 //new SqlParameter("@CREATETIME",SqlDbType.Datetime),//创建时间 //new SqlParameter("@MODIFIEDTIME",SqlDbType.Datetime),//最后一次更新操作时间 }; return parms; } #endregion /// /// 将页面post获取的出库保存或更新“出库信息表和出库明细表”wms_out,wms_out_detail,并返回操作结果 /// private void SaveWoAction() { WmsOutEntity WmsOutEntity = new WmsOutEntity(); //IList WmsOutDetailEntitys = new List(); if (!WoJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutEntity = ResolveWoJSON(WoJSON.Trim(), WmsOutEntity); WoContainer.Value = ""; } WmsOutDA WmsOutDA = new WmsOutDA(); bool State = false; if (WmsOutEntity != null) { State = WmsOutDA.Add(WmsOutEntity, ""); if (State) { this.h_wmsoutbsno.Value = WmsOutEntity.BSNO.ToString(); this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL.ToString(); this.h_goodspfsl.Value = WmsOutEntity.GOODSPFSL.ToString(); this.h_remark.Value = WmsOutEntity.REMARK.ToString(); SaveWoDetailAction(WmsOutEntity);//保存出库明细 Page.ClientScript.RegisterStartupScript(this.GetType(), "key2", ""); } else { Page.ClientScript.RegisterStartupScript(this.GetType(), "key3", ""); } } h_post.Value = "";//请求状态清空 } #endregion #region 将页面post获取的费用信息读入到费用实体类ch_fee中 /// /// 将页面post获取的费用信息读入到费用实体类ch_fee中 /// /// /// /// 将页面post获取的费用信息读入到费用实体类ch_fee中 private WmsOutEntity ResolveWoJSON(string tempJSON, WmsOutEntity tempWoEntity) { string OutGid = ""; string OutBsno = ""; DateTime OutDate = new DateTime(); string strFilter = ""; WmsOutEntity WmsOutEntity = new WmsOutEntity(); if (tempJSON.IndexOf("[") >= 0 && tempJSON.IndexOf("]") > 0) { strFilter = tempJSON.Substring(tempJSON.IndexOf("[") + 1, tempJSON.IndexOf("]") - tempJSON.IndexOf("[") - 1); string[] strFees = strFilter.Split(new string[] { "},{" }, System.StringSplitOptions.RemoveEmptyEntries); if (strFees.Length > 0) { for (int i = 0; i < strFees.Length; i++) { strFees[i] = strFees[i].ToString().Replace("{", ""); strFees[i] = strFees[i].ToString().Replace("}", ""); string[] strCell = strFees[i].Split(new char[] { ',' }); if (strCell.Length > 0) { for (int j = 0; j < strCell.Length; j++) { string[] strArg = strCell[j].Split(new char[] { ':' }); switch (strArg[0].Replace("\"", "")) { case "txtoutbsno": WmsOutEntity.CUSTOMERNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "")); h_outbsno.Value = WmsOutEntity.CUSTOMERNAME; break; case "txtclientbsno": this.h_clientbsno.Value = UnicodeToGB(strArg[1].ToString().Replace("\"", "")); txt_clientbsno.Value = this.h_clientbsno.Value; WmsOutEntity.CLIENTBSNO = this.h_clientbsno.Value; break; case "cust": WmsOutEntity.CUSTOMERNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "")); h_customer.Value = WmsOutEntity.CUSTOMERNAME; break; case "truck": WmsOutEntity.TRUCKNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "")); h_truck.Value = WmsOutEntity.TRUCKNAME; break; case "outdate": WmsOutEntity.DODATE =DateTime.Parse( strArg[1].ToString().Replace("\"", "")); OutDate = WmsOutEntity.DODATE; h_outdate.Value = WmsOutEntity.DODATE.ToString("yyyy-MM-dd"); break; //case "goodsname": // WmsOutEntity.GOODSNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); // h_goods.Value = WmsOutEntity.GOODSNAME; // break; //case "goodsmodel": // WmsOutEntity.GOODSMODEL = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); // this.h_goodsmodel.Value = WmsOutEntity.GOODSMODEL; // break; case "outpacknum": decimal outpacknum= decimal.Parse(strArg[1].ToString().Replace("\"", "")); WmsOutEntity.GOODSPACKPFSL =Convert.ToInt16( Math.Round(outpacknum,0)); this.h_packnum.Value = WmsOutEntity.GOODSPACKPFSL.ToString(); //this.txt_packnum.Value = this.h_packnum.Value; break; case "goodspfsl": decimal outgoodspfsl = Decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim()); WmsOutEntity.GOODSPFSL = outgoodspfsl; //WmsOutEntity.GOODSPFSL = Convert.ToInt16(Math.Round(outgoodspfsl, 0)); break; case "remark": WmsOutEntity.REMARK = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); this.h_remark.Value = WmsOutEntity.REMARK; this.txt_remark.Value = WmsOutEntity.REMARK; break; case "truckno": WmsOutEntity.TRUCKNO = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); this.h_truckno.Value = WmsOutEntity.TRUCKNO; break; case "storage": WmsOutEntity.STORAGENAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); this.h_storage.Value = WmsOutEntity.STORAGENAME; break; case "wmsgid": WmsOutEntity.ASSOCIATEDNO = strArg[1].ToString().Replace("\"", "").Trim(); //this.hd_wmsgid.Value = WmsOutEntity.ASSOCIATEDNO; this.h_bsno.Value = WmsOutEntity.ASSOCIATEDNO; break; case "wmsop": WmsOutEntity.WMSOP = strArg[1].ToString().Replace("\"", "").Trim(); this.hd_comboWMSOP.Value = WmsOutEntity.WMSOP; break; case "storeman": WmsOutEntity.STOREMAN = strArg[1].ToString().Replace("\"", "").Trim(); this.hd_comboSTOREMAN.Value = WmsOutEntity.STOREMAN; break; case "isJsFee": isJsFee =bool.Parse( strArg[1].ToString().Replace("\"", "")); break; default: break; } } //if (this.h_storage.Value.Equals(null) || this.h_storage.Value.Trim().Equals("")) //{ // WmsOutEntity.STORAGENAME = ""; //} //else //{ // WmsOutEntity.STORAGENAME = this.h_storage.Value.Trim(); //} WmsOutEntity.CREATEUSER = strShowName; if (((this.txt_outbsno.Value.Trim().Equals("") || this.txt_outbsno.Value.Equals(null)) || this.h_addmode.Value.Equals("1")) && this.h_outgid.Value.ToString().Trim()=="") { OutGid= getBSNO(); if (h_outbsno.Value.Trim().Equals("")) { OutBsno = getCodeRuleWmsOut("出库单号", "BSNO"); } else { OutBsno = this.h_outbsno.Value.Trim(); } this.h_outgid.Value = OutGid; this.h_outbsno.Value = OutBsno; this.txt_outbsno.Value = OutBsno; } else { OutGid = this.h_outgid.Value.ToString(); OutBsno = this.txt_outbsno.Value.ToString().Trim(); this.h_outbsno.Value = OutBsno; } WmsOutEntity.GID = OutGid; WmsOutEntity.BSNO = OutBsno; //WmsOutEntity.STORAGENAME = h_storage.Value; //WmsOutEntity.TRUCKNO = h_truckno.Value; } } } } return WmsOutEntity; } #endregion #region 将页面post获取的出库保存或更新“出库明细表”wms_out_detail,并返回操作结果 /// /// 将页面post获取的出库保存或更新“出库明细表”wms_out_detail,并返回操作结果 /// private bool SaveWoDetailAction(WmsOutEntity wmsOutEntity) { IList WmsOutDetailEntitys = new List(); if (!WoDetailJSON.Trim().Equals("")) { //将应收费用信息从前台页面写入费用实体类feeEntities WmsOutDetailEntitys = ResolveWoDetailJSON(WoDetailJSON.Trim(), WmsOutDetailEntitys); this.WoDetailContainer.Value = ""; } decimal totaloutfee = 0;//出库单的仓储费 bool State = false; int count = 0; int success = 0; int nonum = 0; int prescale = 0; int nowscale = 0; int nowgrade = 0; decimal price = 0; decimal gradefee = 0; decimal sumfee = 0; string newGID = ""; string bsno = ""; var strSql = ""; WmsOutDetailDA WmsOutDetailDA = new WmsOutDetailDA(); if (isJsFee==true) { if (WmsOutDetailEntitys != null) { foreach (WmsOutDetailEntity WmsOutDetailEntity in WmsOutDetailEntitys) { decimal outnums = WmsOutDetailEntity.GOODSPFSL; int feedays = WmsOutDetailDA.GetDaysCount("day", WmsOutDetailEntity.DODATE.ToString(), wmsOutEntity.DODATE.ToString()); if (feedays > 0) { WmsOutDetailEntity.OUTBSNO = wmsOutEntity.BSNO; strSql = String.Format("SELECT FEEGRADE,FEESCALE,FEEPRICE,FEEUNIT " + " FROM wms_rate " + " where BSNO='{0}' " + " order by BSNO,FEEGRADE ", wmsOutEntity.ASSOCIATEDNO); DataSet dsrate = WmsOutDetailDA.GetRateListByCondition(strSql); DataTable dtrate = new DataTable(); if (dsrate != null) { dtrate = dsrate.Tables[0]; if (dtrate.Rows.Count > 0) { prescale = 0; nowscale = 0; nowgrade = 0; price = 0; gradefee = 0; sumfee = 0; foreach (DataRow drow in dtrate.Rows) { nowgrade = int.Parse(drow["FEEGRADE"].ToString()); nowscale = int.Parse(drow["FEESCALE"].ToString()); price = decimal.Parse(drow["FEEPRICE"].ToString()); if (nowgrade.Equals(1)) { if (feedays > nowscale) { gradefee = outnums * price * nowscale; sumfee += gradefee; prescale = nowscale; } else { gradefee = outnums * price * (feedays - prescale); sumfee += gradefee; prescale = nowscale; break; } } else if (nowgrade > 1) { if (feedays > nowscale) { gradefee = outnums * price * (nowscale - prescale); sumfee += gradefee; prescale = nowscale; } else { gradefee = outnums * price * (feedays - prescale); sumfee += gradefee; prescale = nowscale; break; } } } if (feedays > nowscale) { gradefee = outnums * price * (feedays - nowscale); sumfee += gradefee; } totaloutfee += sumfee; WmsOutDetailEntity.DODATE = wmsOutEntity.DODATE; WmsOutDetailEntity.GOODSOUTFEE = sumfee; } else {//仓储费率没有设定 } } } else {//计费天数错误 } //保存wms_out_detail newGID = Guid.NewGuid().ToString(); bsno = getCodeRuleWmsOutDetail("出库明细单号", "BSNO"); WmsOutDetailEntity.GID = newGID; WmsOutDetailEntity.BSNO = bsno; WmsOutDetailEntity.OUTBSNO = this.h_outbsno.Value; State = WmsOutDetailDA.Add(WmsOutDetailEntity, ""); count++; if (State) { success++; WmsInDA wmsinDA = new WmsInDA(); bool inState = wmsinDA.Update(WmsOutDetailEntity.GOODSPFSL,WmsOutDetailEntity.GOODSPACKPFSL, WmsOutDetailEntity.INBSNO); } else {//保存失败 nonum++; } } //修改wms_out的仓储费wmsOutEntity.GOODSOUTFEE h_outfee.Value = totaloutfee.ToString(); wmsOutEntity.GOODSOUTFEE = totaloutfee; WmsOutDA wmsoutDA = new WmsOutDA(); State = wmsoutDA.Update(wmsOutEntity, ""); //页面赋值 txt_outbsno.Value = h_outbsno.Value; txt_clientbsno.Value = h_clientbsno.Value; txt_outdate.Value = h_outdate.Value; string strcustomer = h_customer.Value; string goods = h_goods.Value; h_packnum.Value = wmsOutEntity.GOODSPACKPFSL.ToString(); //txt_packnum.Value = wmsOutEntity.GOODSPACKPFSL.ToString(); //将仓储费和出库费写入ch_fee FeeDA feeDA = new FeeDA(); IList feeEntities = new List(); FeeEntity feeEntity = new FeeEntity(); int iState = 0; decimal deprice = 0; deprice = wmsOutEntity.GOODSOUTFEE / wmsOutEntity.GOODSPFSL; if (deprice != 0) { feeEntity.GID = Guid.NewGuid().ToString(); feeEntity.FeeType = 1; feeEntity.BSNO = wmsOutEntity.ASSOCIATEDNO; feeEntity.FeeName = "仓储费"; feeEntity.CustomerName = wmsOutEntity.CUSTOMERNAME; feeEntity.Unit = "重量"; feeEntity.UnitPrice = deprice; feeEntity.Quantity = wmsOutEntity.GOODSPFSL; feeEntity.CommissionRate = 1; feeEntity.Amount = wmsOutEntity.GOODSOUTFEE; feeEntity.Currency = "RMB"; feeEntity.ExchangeRate = 1; feeEntity.FeeFrt = ""; feeEntity.Remark = ""; feeEntity.IsAdvancePay = false; feeEntity.EnterOperator = wmsOutEntity.CREATEUSER; feeEntity.FeeStatus = 1; feeEntity.WMSOUTBSNO = wmsOutEntity.BSNO; feeEntities.Add(feeEntity); iState = feeDA.DoFee(feeEntities, wmsOutEntity.BSNO, strUserID); feeEntities.Remove(feeEntity); feeEntity = new FeeEntity(); } //出库费 WmsFeeCodeDA WmsFeeCodeDA = new WmsFeeCodeDA(); string strSql11 = String.Format("SELECT GID,FEETYPE,FEECODE,FEENAME,BSNO,CLIENT,UNIT,CURRENCY,UNITPRICE,EXCHANGERATE,SORT,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK FROM wms_feeCode " + " where BSNO='{0}' ",wmsOutEntity.ASSOCIATEDNO ); DataSet ds = WmsFeeCodeDA.GetRateListByCondition(strSql11); DataTable dt = ds.Tables[0]; if (dt.Rows.Count > 0) { foreach (DataRow r in dt.Rows) { if (r["FEENAME"].ToString().Trim() == "出库费") { feeEntity.GID = Guid.NewGuid().ToString(); feeEntity.FeeType = 1; feeEntity.BSNO = wmsOutEntity.ASSOCIATEDNO; feeEntity.FeeName = "出库费"; feeEntity.CustomerName = wmsOutEntity.CUSTOMERNAME; feeEntity.Unit = "重量"; feeEntity.UnitPrice = decimal.Parse(r["UNITPRICE"].ToString()); feeEntity.Quantity = wmsOutEntity.GOODSPFSL; feeEntity.CommissionRate = 1; feeEntity.Amount = wmsOutEntity.GOODSPFSL * decimal.Parse(r["UNITPRICE"].ToString()); feeEntity.Currency = "RMB"; feeEntity.ExchangeRate = 1; feeEntity.FeeFrt = ""; feeEntity.Remark = ""; feeEntity.IsAdvancePay = false; feeEntity.EnterOperator = wmsOutEntity.CREATEUSER; feeEntity.FeeStatus = 1; feeEntity.WMSOUTBSNO = wmsOutEntity.BSNO; feeEntities.Add(feeEntity); //保存如ch_fee iState = feeDA.DoFee(feeEntities, wmsOutEntity.BSNO, strUserID); } } } else {//提示出库费用没有维护 } } } //Page.ClientScript.RegisterStartupScript(this.GetType(), "key3", ""); h_post.Value = "";//请求状态清空 return true; } #endregion #region 将页面post获取的费用信息读入到费用实体类ch_fee中 /// /// 将页面post获取的费用信息读入到费用实体类ch_fee中 /// /// /// /// 将页面post获取的费用信息读入到费用实体类ch_fee中 private IList ResolveWoDetailJSON(string tempJSON, IList tempWoDetailEntities) { string strFilter = ""; if (tempJSON.IndexOf("[") >= 0 && tempJSON.IndexOf("]") > 0) { strFilter = tempJSON.Substring(tempJSON.IndexOf("[") + 1, tempJSON.IndexOf("]") - tempJSON.IndexOf("[") - 1); string[] strFees = strFilter.Split(new string[] { "},{" }, System.StringSplitOptions.RemoveEmptyEntries); if (strFees.Length > 0) { for (int i = 0; i < strFees.Length; i++) { strFees[i] = strFees[i].ToString().Replace("{", ""); strFees[i] = strFees[i].ToString().Replace("}", ""); string[] strCell = strFees[i].Split(new char[] { ',' }); if (strCell.Length > 0) { WmsOutDetailEntity WmsOutDetailEntity = new WmsOutDetailEntity(); for (int j = 0; j < strCell.Length; j++) { string[] strArg = strCell[j].Split(new char[] { ':' }); switch (strArg[0].Replace("\"", "")) { case "gid": WmsOutDetailEntity.GID = strArg[1].ToString().Replace("\"", ""); break; case "cust": WmsOutDetailEntity.CUSTOMERNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "")); break; case "areaname": WmsOutDetailEntity.AREANAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "")); break; case "inbsno": WmsOutDetailEntity.INBSNO =strArg[1].ToString().Replace("\"", ""); break; case "indate": WmsOutDetailEntity.DODATE =DateTime.Parse(strArg[1].ToString().Replace("\"", "")); break; case "goodsname": WmsOutDetailEntity.GOODSNAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); break; case "goodsmodel": WmsOutDetailEntity.GOODSMODEL = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); break; case "truckno": WmsOutDetailEntity.TRUCKNO = UnicodeToGB(strArg[1].ToString().Replace("\"", "")); break; case "storage": WmsOutDetailEntity.STORAGENAME = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); break; case "wmsgid": WmsOutDetailEntity.ASSOCIATEDNO = strArg[1].ToString().Replace("\"", "").Trim(); break; case "outnum": double tmpoutnum = double.Parse(strArg[1].ToString().Replace("\"", "").Trim()); //WmsOutDetailEntity.GOODSPFSL = decimal.Parse( Round(tmpoutnum, 4).ToString()); break; case "outpacknum": WmsOutDetailEntity.GOODSPACKPFSL = Decimal.Parse(strArg[1].ToString().Replace("\"", "").ToString()); break; case "remark": WmsOutDetailEntity.REMARK = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); break; case "custparent": WmsOutDetailEntity.CUSTOMERNAMEPARENT=strArg[1].ToString().Replace("\"", "").Trim(); break; case "arfee": string strarfee = "0.00"; if(strArg[1].ToString().Replace("\"", "").Trim()!="") { strarfee = strArg[1].ToString().Replace("\"", "").Trim(); } WmsOutDetailEntity.ARFEE = Decimal.Parse(strarfee); break; case "apfee": string strapfee = "0.00"; if (strArg[1].ToString().Replace("\"", "").Trim() != "") { strapfee = strArg[1].ToString().Replace("\"", "").Trim(); } WmsOutDetailEntity.APFEE = Decimal.Parse(strapfee); break; case "goodspfsl": string strGOODSPFSL = "0.0000"; if(strArg[1].ToString().Replace("\"", "").Trim()!="") { strGOODSPFSL = strArg[1].ToString().Replace("\"", "").Trim(); } WmsOutDetailEntity.GOODSPFSL = Decimal.Parse(strGOODSPFSL); break; case "chargeunit": WmsOutDetailEntity.CHARGEUNIT = UnicodeToGB(strArg[1].ToString().Replace("\"", "")); break; default: break; } } //if (!this.h_storage.Value.ToString().Equals("") && !this.h_storage.Value.Equals(null)) //{ // WmsOutDetailEntity.STORAGENAME = this.h_storage.Value.ToString(); //} //else //{ // WmsOutDetailEntity.STORAGENAME = " "; //} WmsOutDetailEntity.CREATEUSER =strShowName; tempWoDetailEntities.Add(WmsOutDetailEntity); } } } } return tempWoDetailEntities; } #endregion #region 将页面post获取的费用信息读入到费用实体类ch_fee中 /// /// 将页面post获取的费用信息读入到费用实体类ch_fee中 /// /// /// /// 将页面post获取的费用信息读入到费用实体类ch_fee中 private IList ResolveFeeJSON(string tempJSON, IList tempFeeEntities) { string strFilter = ""; if (tempJSON.IndexOf("[") >= 0 && tempJSON.IndexOf("]") > 0) { strFilter = tempJSON.Substring(tempJSON.IndexOf("[") + 1, tempJSON.IndexOf("]") - tempJSON.IndexOf("[") - 1); string[] strFees = strFilter.Split(new string[] { "},{" }, System.StringSplitOptions.RemoveEmptyEntries); if (strFees.Length > 0) { for (int i = 0; i < strFees.Length; i++) { strFees[i] = strFees[i].ToString().Replace("{", ""); strFees[i] = strFees[i].ToString().Replace("}", ""); string[] strCell = strFees[i].Split(new char[] { ',' }); if (strCell.Length > 0) { FeeEntity feeEntity = new FeeEntity(); for (int j = 0; j < strCell.Length; j++) { string[] strArg = strCell[j].Split(new char[] { ':' }); switch (strArg[0].Replace("\"", "")) { case "id": feeEntity.GID = strArg[1].ToString().Replace("\"", "").Trim(); break; case "type": feeEntity.FeeType = int.Parse(strArg[1].ToString().Replace("\"", "").Trim()); break; case "bsno": feeEntity.BSNO = strArg[1].ToString().Replace("\"", "").Trim(); break; case "outbsno": feeEntity.WMSOUTBSNO = strArg[1].ToString().Replace("\"", "").Trim(); break; case "status": break; case "fname": feeEntity.FeeName = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); break; case "cust": feeEntity.CustomerName = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); break; case "unit": string tempUnit = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); if (tempUnit.Equals("null") || tempUnit.Equals("")) { feeEntity.Unit = ""; } else { feeEntity.Unit = tempUnit; } break; case "price": feeEntity.UnitPrice = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim()); break; case "quant": feeEntity.Quantity = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim()); break; case "com": feeEntity.CommissionRate = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim()); break; case "amount": feeEntity.Amount = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim()); break; case "cur": feeEntity.Currency = strArg[1].ToString().Replace("\"", "").Trim(); break; case "rate": feeEntity.ExchangeRate = decimal.Parse(strArg[1].ToString().Replace("\"", "").Trim()); break; case "frt": feeEntity.FeeFrt = strArg[1].ToString().Replace("\"", "").Trim(); break; case "remark": feeEntity.Remark = UnicodeToGB(strArg[1].ToString().Replace("\"", "").Trim()); break; case "isadv": feeEntity.IsAdvancePay = strArg[1].ToString().Replace("\"", "").Trim().Equals("1") ? true : false; break; default: break; } } strSeaBSNO = feeEntity.BSNO; feeEntity.EnterOperator = this.strUserID; feeEntity.FeeStatus = 1; tempFeeEntities.Add(feeEntity); } } } } return tempFeeEntities; } #endregion #region Unicode-GB Code转换 /// /// Unicode-GB Code转换 /// /// 将Unicode编码字符转换成GB编码字符 /// GB Code字符串 public string UnicodeToGB(string text) { UnicodeEncoding unicode = new UnicodeEncoding(); text = unicode.GetString(unicode.GetBytes(Regex.Unescape(text.Trim()))); return text; } /// /// Unicode-GB Code转换 /// /// 将Unicode编码字符转换成GB编码字符 /// GB Code字符串 public string UnicodeToGB_Old(string text) { MatchCollection mc = Regex.Matches(text, "([\\w]+)|(\\\\u([\\w]{4}))"); if (mc != null && mc.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (Match m2 in mc) { string v = m2.Value; if (v.IndexOf("\\") >= 0) { string word = v.Substring(2); byte[] codes = new byte[2]; int code = Convert.ToInt32(word.Substring(0, 2), 16); int code2 = Convert.ToInt32(word.Substring(2), 16); codes[0] = (byte)code2; codes[1] = (byte)code; sb.Append(Encoding.Unicode.GetString(codes)); } else { sb.Append(v); } } return sb.ToString(); } else { return text; } } #endregion #region 将页面post获取的利润值读入到利润实体类中 /// /// 将页面post获取的利润值读入到利润实体类中 /// /// 返回利润实体类 FeeProfitEntity private FeeProfitEntity GetRequestProfit() { FeeProfitEntity tempFeeProfitEntity = new FeeProfitEntity(); #region 保留 //tempFeeProfitEntity.RMBDR = Decimal.Parse(dvRecvRMBVal.InnerText.Trim()); //tempFeeProfitEntity.USDDR = Decimal.Parse(dvUSRecvVal.InnerHtml.Trim()); //tempFeeProfitEntity.OTHERDR = Decimal.Parse(dvOtherCurrencyRecvVal.InnerHtml.Trim()); //tempFeeProfitEntity.RMBCR = Decimal.Parse(dvPayRMBVal.InnerHtml.Trim()); //tempFeeProfitEntity.USDCR = Decimal.Parse(dvUSPayVal.InnerHtml.Trim()); //tempFeeProfitEntity.OTHERCR = Decimal.Parse(dvOtherCurrencyPayVal.InnerHtml.Trim()); //tempFeeProfitEntity.DRTTL = Decimal.Parse(dvRecvTotalVal.InnerHtml.Trim()); //tempFeeProfitEntity.CRTTL = Decimal.Parse(dvPaySumVal.InnerHtml.Trim()); //tempFeeProfitEntity.RMBProfit = Decimal.Parse(dvRMBProfitVal.InnerHtml.Trim()); //tempFeeProfitEntity.USDProfit = Decimal.Parse(dvUSProfitVal.InnerHtml.Trim()); //tempFeeProfitEntity.OTHERProfit = Decimal.Parse(dvOtherCurrencyProfitVal.InnerHtml.Trim()); //tempFeeProfitEntity.TTLProfit = Decimal.Parse(dvProfitTotalVal.InnerHtml.Trim()); //tempFeeProfitEntity.ProfitRate = dvProfitRateVal.InnerHtml.Trim(); #endregion if (!gainContainer.Value.Trim().Equals("")) { string[] gainList = gainContainer.Value.Trim().Split(new char[] { ',' }); if (!gainList[0].ToString().Trim().Equals("")) { tempFeeProfitEntity.RMBDR = Decimal.Parse(gainList[0].ToString().Trim()); tempFeeProfitEntity.USDDR = Decimal.Parse(gainList[1].ToString().Trim()); tempFeeProfitEntity.OTHERDR = Decimal.Parse(gainList[2].ToString().Trim()); tempFeeProfitEntity.RMBCR = Decimal.Parse(gainList[3].ToString().Trim()); tempFeeProfitEntity.USDCR = Decimal.Parse(gainList[4].ToString().Trim()); tempFeeProfitEntity.OTHERCR = Decimal.Parse(gainList[5].ToString().Trim()); tempFeeProfitEntity.DRTTL = Decimal.Parse(gainList[6].ToString().Trim()); tempFeeProfitEntity.CRTTL = Decimal.Parse(gainList[7].ToString().Trim()); tempFeeProfitEntity.RMBProfit = Decimal.Parse(gainList[8].ToString().Trim()); tempFeeProfitEntity.USDProfit = Decimal.Parse(gainList[9].ToString().Trim()); tempFeeProfitEntity.OTHERProfit = Decimal.Parse(gainList[10].ToString().Trim()); tempFeeProfitEntity.TTLProfit = Decimal.Parse(gainList[11].ToString().Trim()); tempFeeProfitEntity.ProfitRate = gainList[12].ToString().Trim(); tempFeeProfitEntity.CreateUser = this.strUserID; tempFeeProfitEntity.ModifiedUser = this.strUserID; } else { tempFeeProfitEntity.RMBDR = 0; tempFeeProfitEntity.USDDR = 0; tempFeeProfitEntity.OTHERDR = 0; tempFeeProfitEntity.RMBCR = 0; tempFeeProfitEntity.USDCR = 0; tempFeeProfitEntity.OTHERCR = 0; tempFeeProfitEntity.DRTTL = 0; tempFeeProfitEntity.CRTTL = 0; tempFeeProfitEntity.RMBProfit = 0; tempFeeProfitEntity.USDProfit = 0; tempFeeProfitEntity.OTHERProfit = 0; tempFeeProfitEntity.TTLProfit = 0; tempFeeProfitEntity.ProfitRate = "0%"; tempFeeProfitEntity.CreateUser = this.strUserID; tempFeeProfitEntity.ModifiedUser = this.strUserID; } } return tempFeeProfitEntity; } #endregion #region 获取用户应收、应付权限信息 /// /// 获取用户应收、应付权限信息 /// /// 费用类型 /// 返回 true 有权限操作数据 false 没有权限操作数据 private bool ValidateUserFeeAuthority(int tempFeeType) { int iResult = 0; if (tempFeeType == 1) { UserAuthorityManage userAuthorityManageOrder = new UserAuthorityManage(strUserID, "modSeaImportList"); UserAuthorityManage userRecvAuthorityManage = new UserAuthorityManage(strUserID, "modSeaiRecvFeeManagement"); if (userRecvAuthorityManage.OperateType != AuthorityType.NULL) { iResult = userAuthorityManageOrder.CheckOperateRange(ModuleType.OPSEAILIST, userRecvAuthorityManage.OperateType, strShowName, strCompanyID, strDeptName, strSeaBSNO, "", strUserID); } } else { UserAuthorityManage userAuthorityManageOrder = new UserAuthorityManage(strUserID, "modSeaImportList"); UserAuthorityManage userPayAuthorityManage = new UserAuthorityManage(strUserID, "modSeaiPayFeeManagement"); if (userPayAuthorityManage.OperateType != AuthorityType.NULL) { iResult = userAuthorityManageOrder.CheckOperateRange(ModuleType.OPSEAILIST, userPayAuthorityManage.OperateType, strShowName, strCompanyID, strDeptName, strSeaBSNO, "", strUserID); } } if (iResult > 0) { return true; } else { return false; } } #endregion #region getBSNO protected String getBSNO() { string strBSNO = Guid.NewGuid().ToString(); strBSNO = strBSNO.Replace("-", ""); strBSNO = "WmsOut" + strBSNO; return strBSNO; } #endregion #region 提取规则编号 getCodeRuleWmsOutDetail /// /// 提取规则编号 /// /// 规则项目名称 /// 需要加规则的字段 /// protected String getCodeRuleWmsOutDetail(string strRULENAME, string strfield) { //调用编码规则 string strRULEYEAR = ""; string strRULECONTENT = ""; string strCODENAME = ""; string strDEPTNO = ""; string strRULENOLENGTH = ""; int iRULENOLENGTH = 0; int inum = 0; string strCONTENT = ""; DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3"); if (ds != null) { if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True")) { getCodeRuleEnabled(strRULENAME, strfield); // if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期")) { if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "") { return ""; } DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim()); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy"); } } } else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份")) { DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()")); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy"); } } } // if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True")) { strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')"); } if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True")) { strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')"); } strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim(); strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME); strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO); // if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "") { iRULENOLENGTH = 0; } else { iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim()); } strCONTENT = strRULECONTENT + strRULEYEAR; //获取分公司的票号头字符 string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'"); strCONTENT = tempBANKSHEAD + strCONTENT; // strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [wms_out_detail] where " + strfield + " like '" + strCONTENT.Trim() + "%' order by " + strfield + " DESC");// and isnull(ISDELETE,0)=0 if (strRULENOLENGTH == "") { strRULENOLENGTH = "1"; } else { strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), ""); inum = int.Parse(strRULENOLENGTH.Trim()); inum = inum + 1; strRULENOLENGTH = inum.ToString(); } int j = iRULENOLENGTH - strRULENOLENGTH.Length; for (int i = 1; i <= j; i++) { strRULENOLENGTH = "0" + strRULENOLENGTH; } // strCONTENT = strCONTENT + strRULENOLENGTH; return strCONTENT; } } } return ""; } #endregion #region 提取规则编号 getCodeRuleWmsOut /// /// 提取规则编号 /// /// 规则项目名称 /// 需要加规则的字段 /// protected String getCodeRuleWmsOut(string strRULENAME, string strfield) { //调用编码规则 string strRULEYEAR = ""; string strRULECONTENT = ""; string strCODENAME = ""; string strDEPTNO = ""; string strRULENOLENGTH = ""; int iRULENOLENGTH = 0; int inum = 0; string strCONTENT = ""; DataSet ds = T_ALL_DA.GetAllSQL("select *,getdate() DODATE from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3"); if (ds != null) { if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True")) { getCodeRuleEnabled(strRULENAME, strfield); // if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期")) { if (ds.Tables[0].Rows[0]["DODATE"].ToString().Trim() == "") { return ""; } DateTime dETD = System.Convert.ToDateTime(ds.Tables[0].Rows[0]["DODATE"].ToString().Trim()); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy"); } } } else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份")) { DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()")); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy"); } } } // if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True")) { strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')"); } if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True")) { strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID + "')"); } strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim(); strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME); strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO); // if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "") { iRULENOLENGTH = 0; } else { iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim()); } strCONTENT = strRULECONTENT + strRULEYEAR; //获取分公司的票号头字符 string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'"); strCONTENT = tempBANKSHEAD + strCONTENT; // strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [wms_out] where " + strfield + " like '" + strCONTENT.Trim() + "%' and isnull(ISDELETE,0)=0 order by CREATETIME DESC"); if (strRULENOLENGTH == "") { strRULENOLENGTH = "1"; } else { strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), ""); inum = int.Parse(strRULENOLENGTH.Trim()); inum = inum + 1; strRULENOLENGTH = inum.ToString(); } int j = iRULENOLENGTH - strRULENOLENGTH.Length; for (int i = 1; i <= j; i++) { strRULENOLENGTH = "0" + strRULENOLENGTH; } // strCONTENT = strCONTENT + strRULENOLENGTH; return strCONTENT; } } } return ""; } #endregion #region 提取规则编号 getCodeRuleEnabled /// /// 提取规则编号 /// /// 规则项目名称 /// 需要加规则的字段 /// protected void getCodeRuleEnabled(string strRULENAME, string strfield) { //是否生成之后允许编辑 DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3"); if (ds != null) { if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True")) { if (strfield == "BSNO") { if (ds.Tables[0].Rows[0]["ISALLOWEDITS"].ToString().Trim().Equals("True")) { txt_outbsno.Disabled = true;//false; } else { txt_outbsno.Disabled = true; } } } } } } #endregion /// /// 提取规则编号 /// /// 规则项目名称 /// 需要加规则的字段 /// protected String getCodeRuleWmsIn(string strRULENAME, string strfield, string srq) { //调用编码规则 string strRULEYEAR = ""; string strRULECONTENT = ""; string strCODENAME = ""; string strDEPTNO = ""; string strRULENOLENGTH = ""; int iRULENOLENGTH = 0; int inum = 0; string strCONTENT = ""; DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=3"); if (ds != null) { if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True")) { getCodeRuleEnabled(strRULENAME, strfield); // if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期")) { if (srq.Trim() == "") { return ""; } DateTime dETD = System.Convert.ToDateTime(srq.Trim()); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = dETD.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = dETD.ToString("yy"); } } } else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份")) { DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()")); if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True")) { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM"); } } else { if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4") { strRULEYEAR = fwqdate.ToString("yyyy"); } else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2") { strRULEYEAR = fwqdate.ToString("yy"); } } } // if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True")) { strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + this.hdUserID.Value.Trim() + "')"); } if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True")) { strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + this.hdUserID.Value.Trim() + "')"); } strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim(); strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME); strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO); // if (ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim() == "") { iRULENOLENGTH = 0; } else { iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim()); } strCONTENT = strRULECONTENT + strRULEYEAR; //获取分公司的票号头字符 string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'"); strCONTENT = tempBANKSHEAD + strCONTENT; // strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [wms] where " + strfield + " like '" + strCONTENT.Trim() + "%' and ISDELETE=0 order by " + strfield + " DESC"); if (strRULENOLENGTH == "") { strRULENOLENGTH = "1"; } else { strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), ""); inum = int.Parse(strRULENOLENGTH.Trim()); inum = inum + 1; strRULENOLENGTH = inum.ToString(); } int j = iRULENOLENGTH - strRULENOLENGTH.Length; for (int i = 1; i <= j; i++) { strRULENOLENGTH = "0" + strRULENOLENGTH; } // strCONTENT = strCONTENT + strRULENOLENGTH; return strCONTENT; } } } return ""; } protected String getWMSNO() { string strWMSNO = Guid.NewGuid().ToString(); strWMSNO = strWMSNO.Replace("-", ""); strWMSNO = "WmsZ" + strWMSNO; return strWMSNO; } // } }