using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using GThinking.N_MODEL.Page; using GThinking.N_CONTROL; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO.Utility; using System.Collections.Generic; using GThinking.N_PUBLIC2; namespace GThinking.N_XLXSBJ { public partial class BJYF_YJZPList : OperationBase { BJYF_YJZP entity = new BJYF_YJZP(); protected void Page_Load(object sender, EventArgs e) { base.UMID = 100860084; base.UMName = "按运距运重运距运件调运费"; base.Tabs = Tab; base.CurMaster = Master; this.PageWidth = 700; this.PageHeight = 500; AddListSetMap(new ListSet(YFJJZP.ID, null, QueryGrid, entity, UPYFJJZP)); base.CustomPageSize = 1500; base.InitPage(); this.Master.BtnReportVisible = false; Master.BtnOK.Visible = false; Master.BtnCancel.Visible = false; Master.PnlQuery.Visible = false; QueryGrid.EnabledToolBar = false; QueryGrid.ReadOnly = false; if (!IsPostBack) { InitControl(); Master_OnQuery(); GridDataBind(); } } #region 模板事件继承 protected override void Master_OnQuery() { QueryAreaUpdate(); entity.sBJDID = PageParam.GetRTrimString("XLXSBJDMX_BJDID"); entity.sBJDXH = PageParam.GetRTrimString("XLXSBJDMX_XH"); entity.sXLWJ = txtXLWJ.Value.Trim(); entity.sZXWQBS = txtZXWQBS.Value.Trim(); entity.sXZQHID = PageParam.GetRTrimString("XZQHID"); base.Master_OnQuery(); } #endregion #region 控件事件 protected void QueryGrid_CalculateField(object sender, CalculateFieldEventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); if (e.EventFieldName.Equals("XLXSBJDMXZP_PJCZ")) { string sPJCZ = e.RowData["XLXSBJDMXZP_PJCZ"].ToString().Trim(); if (!sPJCZ.Equals("")) sPJCZ = sPJCZ.Split('|')[0]; string sBJDID = e.RowData["XLXSBJDMXZP_BJDID"].ToString().Trim(); string sBJDXH = e.RowData["XLXSBJDMXZP_BJDXH"].ToString().Trim(); string sZPXH = e.RowData["XLXSBJDMXZP_ZPXH"].ToString().Trim(); sql.Clear(); sql.Add(" update XLXSBJDMXZP set XLXSBJDMXZP_PJCZ = :pPJCZ,XLXSBJDMXZP_PJWJ = 0, XLXSBJDMXZP_PJNJ = 0, XLXSBJDMXZP_PJKD = 0,XLXSBJDMXZP_YSFL = 0 "); sql.Add(" where XLXSBJDMXZP_BJDID = :pBJDID and XLXSBJDMXZP_BJDXH = :pBJDXH and XLXSBJDMXZP_ZPXH = :pZPXH "); sql.ParamByName("pPJCZ").Value = sPJCZ; sql.ParamByName("pBJDID").Value = sBJDID; sql.ParamByName("pBJDXH").Value = CMISproConvert.StrToFloat(sBJDXH); sql.ParamByName("pZPXH").Value = CMISproConvert.StrToFloat(sZPXH); dberp.ExecSQL(sql); e.ResultPairs.Add("XLXSBJDMXZP_PJWJ", "0"); e.ResultPairs.Add("XLXSBJDMXZP_PJNJ", "0"); e.ResultPairs.Add("XLXSBJDMXZP_PJKD", "0"); e.ResultPairs.Add("PJCC", ""); e.ResultPairs.Add("XLXSBJDMXZP_YSFL", "0"); UpdatePJPPQK(sBJDID, CMISproConvert.StrToFloat(sBJDXH)); } else if (e.EventFieldName.Equals("PJCC")) { string sPJCC = e.RowData["PJCC"].ToString().Trim(); string sBJDID = e.RowData["XLXSBJDMXZP_BJDID"].ToString().Trim(); string sBJDXH = e.RowData["XLXSBJDMXZP_BJDXH"].ToString().Trim(); string sZPXH = e.RowData["XLXSBJDMXZP_ZPXH"].ToString().Trim(); string sPJCZ = e.RowData["XLXSBJDMXZP_PJCZ"].ToString().Trim(); if (!sPJCZ.Equals("")) sPJCZ = sPJCZ.Split('|')[0]; string sXZQHID = e.RowData["XZQHID"].ToString().Trim(); if (!sPJCC.Equals("")) sPJCC = sPJCC.Split('|')[0]; double dPJWJ = CMISproConvert.StrToFloat(sPJCC.Split('×')[0].Trim()); double dPJNJ = CMISproConvert.StrToFloat(sPJCC.Split('×')[1].Trim()); double dPJKD = CMISproConvert.StrToFloat(sPJCC.Split('×')[2].Trim()); double dYSFL = GetYSFL(sXZQHID, sPJCZ, dPJWJ); sql.Clear(); sql.Add(" update XLXSBJDMXZP set XLXSBJDMXZP_PJWJ = :pPJWJ, XLXSBJDMXZP_PJNJ = :pPJNJ, XLXSBJDMXZP_PJKD = :pPJKD,XLXSBJDMXZP_YSFL = :pYSFL "); sql.Add(" where XLXSBJDMXZP_BJDID = :pBJDID and XLXSBJDMXZP_BJDXH = :pBJDXH and XLXSBJDMXZP_ZPXH = :pZPXH "); sql.ParamByName("pPJWJ").Value = dPJWJ; sql.ParamByName("pPJNJ").Value = dPJNJ; sql.ParamByName("pPJKD").Value = dPJKD; sql.ParamByName("pYSFL").Value = dYSFL; sql.ParamByName("pBJDID").Value = sBJDID; sql.ParamByName("pBJDXH").Value = CMISproConvert.StrToFloat(sBJDXH); sql.ParamByName("pZPXH").Value = CMISproConvert.StrToFloat(sZPXH); dberp.ExecSQL(sql); e.ResultPairs.Add("XLXSBJDMXZP_PJWJ", dPJWJ.ToString().Trim()); e.ResultPairs.Add("XLXSBJDMXZP_PJNJ", dPJNJ.ToString().Trim()); e.ResultPairs.Add("XLXSBJDMXZP_PJKD", dPJKD.ToString().Trim()); e.ResultPairs.Add("XLXSBJDMXZP_YSFL", dYSFL.ToString().Trim()); UpdatePJPPQK(sBJDID, CMISproConvert.StrToFloat(sBJDXH)); } } protected void QueryGrid_OnGetDropDownColumnItems(object sender, GetDropDownColumnItemsEventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); if (e.EventFieldName == "XLXSBJDMXZP_PJCZ") { e.DropDownItems.Clear(); sql.Clear(); sql.Add(" select distinct XLXSBJYFJJQJ_PJCZ from XLXSBJYFJJQJ where 1=1 "); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { Dictionary dicPJCZ = new Dictionary(); dicPJCZ.Add("TMP", "铁木盘"); dicPJCZ.Add("QTP", "全铁盘"); dicPJCZ.Add("QMP", "全木盘"); dicPJCZ.Add("CKTMP", "出口铁木盘"); dicPJCZ.Add("JGTMP", "加固铁木盘"); dicPJCZ.Add("JGCKTMP", "加固出口铁木盘"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { e.DropDownItems.Add(new ListItem(dicPJCZ[ds.Tables[0].Rows[i]["XLXSBJYFJJQJ_PJCZ"].ToString().Trim()], ds.Tables[0].Rows[i]["XLXSBJYFJJQJ_PJCZ"].ToString().Trim())); } } } else if (e.EventFieldName == "PJCC") { string sPJCZ = e.RowData["XLXSBJDMXZP_PJCZ"].ToString().Trim(); if (!sPJCZ.Equals("")) sPJCZ = sPJCZ.Split('|')[0]; string sXLWJ = e.RowData["XLWJ"].ToString().Trim(); string sZXWQBS = e.RowData["ZXWQBS"].ToString().Trim(); List PJCClist = XLUtils.getXLZPPJBLList(sXLWJ, "", "", "", "", sPJCZ, sZXWQBS); e.DropDownItems.Clear(); foreach(XLZPPJBLModel pjbl in PJCClist) { e.DropDownItems.Add(new ListItem(pjbl.XLZPCD_PJWJ + "×" + pjbl.XLZPCD_PJNJ + "×" + pjbl.XLZPCD_PJKD, pjbl.XLZPCD_PJWJ + "×" + pjbl.XLZPCD_PJNJ + "×" + pjbl.XLZPCD_PJKD)); } } } protected override void Grid_RowDataBound(object sender, GridViewRowEventArgs e) { base.Grid_RowDataBound(sender, e); } protected void btnAFDZP_Click(object sender, EventArgs e) { Dictionary dicFDYQ = new Dictionary(); double dXH = 1; #region 校验分要求格式 double dMS = 0; if (txtFDYQ.Text.Trim().Contains("+")) { foreach (string sFDYQ in txtFDYQ.Text.Trim().Split('+')) { if (!sFDYQ.Contains("*")) { ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!"); return; } string[] sFD = sFDYQ.Split('*'); double dDC = CMISproConvert.StrToFloat(sFD[0], 0); double dDS = CMISproConvert.StrToFloat(sFD[1], 0); if (dDC == 0 || dDS == 0) { ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!"); return; } if (dicFDYQ.ContainsKey(dDC)) { ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!"); return; } dicFDYQ.Add(dXH, sFDYQ); dXH++; dMS += dDC * dDS; } } else { if (!txtFDYQ.Text.Trim().Contains("*")) { ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!"); return; } string[] sFD = txtFDYQ.Text.Trim().Split('*'); double dDC = CMISproConvert.StrToFloat(sFD[0], 0); double dDS = CMISproConvert.StrToFloat(sFD[1], 0); if (dDC == 0 || dDS == 0) { ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!"); return; } if (dicFDYQ.ContainsKey(dDC)) { ShowMessage("分段要求不符合【段长1*段数1+段长2*段数2+…】的格式!"); return; } dicFDYQ.Add(dXH, txtFDYQ.Text.Trim()); dXH++; dMS += dDC * dDS; } if (dMS != txtBJMS.Value) { ShowMessage("分段要求表达式数值必须与报价米数相同!"); return; } #endregion string sErrorMessage = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); try { dberp.BeginTrans(); string sBJDID = PageParam.GetRTrimString("XLXSBJDMX_BJDID"); string sXH = PageParam.GetRTrimString("XLXSBJDMX_XH"); double dZDZPCD = CMISproConvert.StrToFloat(txtZDZPCD.Value); double dZXZPCD = CMISproConvert.StrToFloat(txtZXZPCD.Value); double dXLWJ = CMISproConvert.StrToFloat(txtXLWJ.Value); double dZXWQBS = CMISproConvert.StrToFloat(txtZXWQBS.Value); double dFDPJZJE = 0; double dFDPJZPZ = 0; BJPF_ZPList.PJPP(dberp, SQL, sBJDID, sXH, dicFDYQ, dZDZPCD, dZXZPCD, dXLWJ, dZXWQBS, txtBJMS.Value, txtDWZL.Value, GetOption(100860000, "BJU003"), CurSession, "Y", ref sErrorMessage); BJPF_ZPList.PJFD(dberp, SQL, sBJDID, sXH, txtFDYQ.Text.Trim(), dXLWJ, dZXWQBS, CurSession, ref sErrorMessage, ref dFDPJZJE, ref dFDPJZPZ); PPYSFL(dberp, SQL, sBJDID, sXH, PageParam.GetRTrimString("XZQHID")); if (!sErrorMessage.Equals("")) throw new Exception(sErrorMessage); dberp.CommitTrans(); ShowMessage("按分段装盘完成!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } btnRefresh_Click(null, null); } protected void btnQKZP_Click(object sender, EventArgs e) { Confirm.Register("IsQD", "将清空当前序号的分段要求和匹盘记录,是否继续?"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); try { dberp.BeginTrans(); string sBJDID = PageParam.GetRTrimString("XLXSBJDMX_BJDID"); double dXH = CMISproConvert.StrToFloat(PageParam.GetRTrimString("XLXSBJDMX_XH")); SQL.Clear(); SQL.Add(" delete from XLXSBJDMXZP where XLXSBJDMXZP_BJDID = :pBJDID and XLXSBJDMXZP_BJDXH = :pXH "); SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pXH").Value = dXH; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add(" delete from XLXSBJDMXFD where XLXSBJDMXFD_BJDID = :pBJDID and XLXSBJDMXFD_BJDXH = :pXH "); SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pXH").Value = dXH; dberp.ExecSQL(SQL); dberp.CommitTrans(); txtFDYQ.Text = ""; ShowMessage("运费清空完成!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } btnRefresh_Click(null, null); } protected void btnRefresh_Click(object sender, EventArgs e) { Master_OnQuery(); // GridDataBind(); BillAreaUpdate(); FormAreaUpdate(); } #endregion #region 自定义函数 public static string getPJCZ(string sPJCZ) { string sResult = ""; switch (sPJCZ) { case "TMP": sResult = "铁木盘"; break; case "QTP": sResult = "全铁盘"; break; case "QMP": sResult = "全木盘"; break; case "CKTMP": sResult = "出口铁木盘"; break; case "JGTMP": sResult = "加固铁木盘"; break; case "JGCKTMP": sResult = "加固出口铁木盘"; break; default: break; } return sResult; } public static double GetYSFL(string sXZQHID, string sPJCZ,double dPJWJ) { double dYSFL = 0; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJDQYFB4_YSFL from XLXSBJDQYFB4 "); SQL.Add(" left join XLXSBJYFJJQJ on XLXSBJYFJJQJ_YFJJQH = XLXSBJDQYFB4_YFJJQH "); SQL.Add(" where XLXSBJDQYFB4_XZQHID = :pXZQHID and XLXSBJYFJJQJ_PJCZ = :pPJCZ and XLXSBJYFJJQJ_PJWJXX <= :pPJWJ and (XLXSBJYFJJQJ_PJWJSX=0 or XLXSBJYFJJQJ_PJWJSX>:pPJWJ) "); SQL.ParamByName("pXZQHID").Value = sXZQHID; SQL.ParamByName("pPJCZ").Value = sPJCZ; SQL.ParamByName("pPJWJ").Value = dPJWJ; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { dYSFL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDQYFB4_YSFL"].ToString().Trim()); } return dYSFL; } public static void PPYSFL(TDatabase dberp, TSQL SQL,string sBJDID,string sBJDXH,string sXZQHID) { SQL.Clear(); SQL.Add(" merge into XLXSBJDMXZP tag "); SQL.Add(" using ( "); SQL.Add(" select XLXSBJYFJJQJ_PJCZ,XLXSBJYFJJQJ_PJWJXX,XLXSBJYFJJQJ_PJWJSX,XLXSBJDQYFB4_YSFL from XLXSBJDQYFB4 "); SQL.Add(" left join XLXSBJYFJJQJ on XLXSBJYFJJQJ_YFJJQH = XLXSBJDQYFB4_YFJJQH "); SQL.Add(" where XLXSBJDQYFB4_XZQHID = :pXZQHID "); SQL.Add(" ) sor "); SQL.Add(" on ( tag.XLXSBJDMXZP_PJCZ = sor.XLXSBJYFJJQJ_PJCZ "); SQL.Add(" and tag.XLXSBJDMXZP_PJWJ >= sor.XLXSBJYFJJQJ_PJWJXX "); SQL.Add(" and (sor.XLXSBJYFJJQJ_PJWJSX=0 or sor.XLXSBJYFJJQJ_PJWJSX>tag.XLXSBJDMXZP_PJWJ) "); SQL.Add(" and tag.XLXSBJDMXZP_BJDID = :pBJDID and tag.XLXSBJDMXZP_BJDXH = :pBJDXH ) "); SQL.Add(" when matched then update set XLXSBJDMXZP_YSFL = sor.XLXSBJDQYFB4_YSFL "); SQL.ParamByName("pXZQHID").Value = sXZQHID; SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pBJDXH").Value = CMISproConvert.StrToFloat(sBJDXH); dberp.ExecSQL(SQL); } private void InitControl() { Dictionary dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMXFD_XLFDYQ,XLXSBJDMXFD_XLWJ,XLXSBJDMXFD_ZXWQBS,"); SQL.Add(" (case when upper(isnull(XLXSBJDMX_JLDW,' ')) in ('KM', '千米') then 1000 when upper(isnull(XLXSBJDMX_JLDW,' ')) in ('M', '米') then 1 "); foreach (string sKey in dicLenJLDWTD.Keys) { SQL.Add(string.Format(" when XLXSBJDMX_JLDW='{0}' then {1} ", sKey, dicLenJLDWTD[sKey])); } SQL.Add(" else 0 end ) as DWXS, XLXSBJDMX_BJSL, "); SQL.Add(" case when isnull(XLBZ_XLBZID,' ') = ' ' then ' ' else rtrim(XLBZ_XLBZID) || '|' || rtrim(XLBZ_XLBZLXMC) end as XLBZ "); SQL.Add(" from XLXSBJDMX "); SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID "); SQL.Add(" left join XLXSBJDMXFD on XLXSBJDMXFD_BJDID = XLXSBJDMX_BJDID and XLXSBJDMXFD_BJDXH = XLXSBJDMX_XH "); SQL.Add(" left join XLXSBJDYZZ0 on XLXSBJDYZZ0_BJDID = XLXSBJDMX_BJDID and XLXSBJDYZZ0_XH = XLXSBJDMX_XH "); SQL.Add(" where XLXSBJDMX_BJDID =:pBJDID and XLXSBJDMX_XH = :pXH "); SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("XLXSBJDMX_BJDID"); SQL.ParamByName("pXH").Value = CMISproConvert.StrToFloat(PageParam.GetRTrimString("XLXSBJDMX_XH")); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sXLXHID = ds.Tables[0].Rows[0]["XLXSBJDMX_XLXHID"].ToString().Trim(); string sXLGGID = ds.Tables[0].Rows[0]["XLXSBJDMX_XLGGID"].ToString().Trim(); string sXLBZID = ds.Tables[0].Rows[0]["XLXSBJDMX_XLBZID"].ToString().Trim(); string sDYDJID = ds.Tables[0].Rows[0]["XLXSBJDMX_DYDJID"].ToString().Trim(); double dDWZL = XLBJDUtils.GetCLZL(sXLXHID, sXLGGID, sXLBZID, sDYDJID); string sBJCP = XLBJDUtils.GroupBJCPXX(sXLXHID, sXLGGID, sDYDJID); string sXSSX = ds.Tables[0].Rows[0]["XLXSBJDMX_XSSX"].ToString().Trim(); string sXLBZ = ds.Tables[0].Rows[0]["XLBZ"].ToString().Trim(); lblXSSX.Text = "【" + sXSSX + "】"; txtBJCP.Text = sBJCP + " " + sXLBZ; double dDWXS = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["DWXS"].ToString().Trim()); double dBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_BJSL"].ToString().Trim()); double dBJMS = dBJSL * dDWXS; string sXLFDYQ = ds.Tables[0].Rows[0]["XLXSBJDMXFD_XLFDYQ"].ToString().Trim(); double dXLWJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMXFD_XLWJ"].ToString().Trim()); double dZXWQBS = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMXFD_ZXWQBS"].ToString().Trim()); Dictionary dicXLWJ_ZXWQBS = BJPF_ZPList.GetXLWJ_ZXWQBS(sXLXHID, sXLGGID, sXLBZID, sDYDJID); double dNewXLWJ = dicXLWJ_ZXWQBS["XLWJ"]; double dNewZXWQBS = dicXLWJ_ZXWQBS["ZXWQBS"]; //sXLFDYQ为空代表无分段记录,需默认赋值 if (sXLFDYQ.Equals("")) { dXLWJ = dNewXLWJ; dZXWQBS = dNewZXWQBS; } txtFDYQ.Text = sXLFDYQ; txtXLWJ.Value = dXLWJ.ToString().Trim(); txtZXWQBS.Value = dZXWQBS.ToString().Trim(); txtBJMS.Value = dBJMS; txtDWZL.Value = dDWZL.ToString().Trim(); double dZXZPCD = 0; double dZDZPCD = 0; List XLPJList = new List(); XLPJList.Clear(); XLPJList = XLUtils.getXLZPPJBLList(dXLWJ.ToString(), "", "", "", "", "", dZXWQBS.ToString()); for (int i = 0; i < XLPJList.Count; i++) { if (i == 0) dZXZPCD = CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZXZPCD); if (dZXZPCD > CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZXZPCD)) dZXZPCD = CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZXZPCD); if (dZDZPCD < CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZDZPCD)) dZDZPCD = CMISproConvert.StrToFloat(XLPJList[i].XLZPCD_ZDZPCD); } txtZDZPCD.Value = dZDZPCD.ToString().Trim(); txtZXZPCD.Value = dZXZPCD.ToString().Trim(); } } private string doublePadRight(string sValue, int WS) { string rstr = ""; if (sValue.Contains(".")) { string sZS = sValue.Split('.')[0]; string sXS = sValue.Split('.')[1]; rstr = sZS + "." + sXS.PadRight(WS, '0'); } else { string sXS = ""; rstr = sValue + "." + sXS.PadRight(WS, '0'); } return rstr; } private void UpdatePJPPQK(string sBJDID,double dBJDXH) { string sPJPPQK = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" SELECT "); SQL.Add(" XLXSBJDMXZP_BJDID,XLXSBJDMXZP_BJDXH,XLXSBJDMXZP_ZPXH,XLXSBJDMXZP_DC,XLXSBJDMXZP_DS,XLXSBJDMXZP_PJCZ,XLXSBJDMXZP_PJWJ,XLXSBJDMXZP_PJNJ,"); SQL.Add(" XLXSBJDMXZP_PJKD,XLXSBJDMXZP_PJHS,XLXSBJDMXZP_PJJG,XLXSBJDMXZP_PJJE,XLXSBJDMXZP_PJPZ,XLXSBJDMXZP_PJZPZ "); SQL.Add(" FROM XLXSBJDMXZP "); SQL.Add(" WHERE XLXSBJDMXZP_BJDID = :pBJDID AND XLXSBJDMXZP_BJDXH = :pXH "); SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pXH").Value = dBJDXH; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow row in ds.Tables[0].Rows) { string sPJCZ = row["XLXSBJDMXZP_PJCZ"].ToString().Trim(); string sPJWJ = row["XLXSBJDMXZP_PJWJ"].ToString().Trim(); string sPJNJ = row["XLXSBJDMXZP_PJNJ"].ToString().Trim(); string sPJKD = row["XLXSBJDMXZP_PJKD"].ToString().Trim(); string sDS = row["XLXSBJDMXZP_DS"].ToString().Trim(); string sPJHS = row["XLXSBJDMXZP_PJHS"].ToString().Trim(); if (!sPJPPQK.Equals("")) sPJPPQK += "+"; if (!sPJCZ.Equals("")) sPJPPQK += getPJCZ(sPJCZ) + "[" + sPJWJ.Trim() + "*" + sPJNJ.Trim() + "*" + sPJKD.Trim() + "]*" + sDS.Trim(); else sPJPPQK += "[]*" + sDS.ToString().Trim(); } } SQL.Clear(); SQL.Add(" update XLXSBJDMXFD set XLXSBJDMXFD_PJPPQK = :pPJPPQK where XLXSBJDMXFD_BJDID = :pBJDID and XLXSBJDMXFD_BJDXH = :pXH "); SQL.ParamByName("pPJPPQK").Value = sPJPPQK; SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pXH").Value = dBJDXH; dberp.ExecSQL(SQL); } #endregion } }