using System; using System.Data; using System.Configuration; using System.Collections; using System.Collections.Generic; using System.IO; 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_MISPRO; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Data; using GThinking.N_PUBLIC; using System.Text; using GThinking.N_MISPRO.Utility; using GThinking.N_CONTROL; using GThinking.N_MISPRO.TableCache; using GThinking.N_MISPRO.MISPROAS; namespace GThinking.N_XLXSBJ { public partial class CLQDYZList : SingleGridBase { CLQDYZ entity = new CLQDYZ(); CLQDYZ_M qryEntity = new CLQDYZ_M(); DataSet dsTJYS1 = new DataSet(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860017; this.UMName = "按型号规格电压等级标准调表价"; this.CurMaster = Master; this.ModuleGV = ContentGrid; this.CurEntity = entity; this.CurQueryEntity = qryEntity; this.sURLTarget = "CLQDYZInfo.aspx"; this.sQueryURLTarget = "CLQDYZQuery.aspx"; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLXSJGBYZZ1_JGBID", "XLXSJGBYZZ1_XLXHID", "XLXSJGBYZZ1_XLGGID", "XLXSJGBYZZ1_XLBZID", "XLXSJGBYZZ1_DYDJID", "XLXSJGBYZZ1_TJDH", "minYZID" }; ContentGrid.FindColumnByFieldName("XLXSJGBYZZ1_JGBID").Visible = false; if (!IsPostBack) { if (!PageParam.GetRTrimString("JGBID").Equals("")) CurQueryEntity.FieldByName("JGBID").Value = PageParam.GetRTrimString("JGBID"); else CurQueryEntity.FieldByName("JGBID").Value = GetDefaultJGBID(); CurQueryEntity.FieldByName("RDT").Value = "False"; CurQueryEntity.FieldByName("XLXHIDJQPP").Value = "True"; if (!PageParam.GetRTrimString("YCLQDCXWSZ").Equals("")) CurQueryEntity.FieldByName("YCLQDCXWSZ").Value = PageParam.GetRTrimString("YCLQDCXWSZ"); else CurQueryEntity.FieldByName("YCLQDCXWSZ").Value = "False"; if (!PageParam.GetRTrimString("SQDH").Equals("")) CurQueryEntity.FieldByName("CLYLZDDH").Value = PageParam.GetRTrimString("SQDH").Trim(); if (!PageParam.GetRTrimString("XLXHID").Equals("")) CurQueryEntity.FieldByName("XLXHID").Value = PageParam.GetRTrimString("XLXHID"); } CanDeleteCheckedRows = true; TPageParams tpp = new TPageParams(); tpp.AddString("TJYZID", PageParam.GetRTrimString("TJYZID")); QueryPageParam = tpp; base.InitPage(); if (!IsPostBack) { if (!PageParam.GetRTrimString("JGBID").Equals("")) Master_OnStandardQuery(null, null); else { if (IsDefaultExecute) Master_OnStandardQuery(null, null); else { setBtnVisibled(CurQueryEntity.FieldByName("JGBID").Value.Trim()); this.Master.StandardNewButton.OnClientClick = "alert('请先查询调价表!');"; this.Master.StandardCopyButton.OnClientClick = "alert('请先查询调价表!');"; } } } } #region 模板事件继承 protected override void Master_OnStandardQuery(object sender, EventArgs e) { entity.EntityTable.QuerySelSql = GetSQL(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(ContentGrid, tSession); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { this.Master.StandardNewButton.OnClientClick = "alert('请先查询调价表!');"; this.Master.StandardCopyButton.OnClientClick = "alert('请先查询调价表!');"; } else { this.Master.StandardNewButton.OnClientClick = "OpenCardForm('INSERT');return false;"; this.Master.StandardCopyButton.OnClientClick = "OpenCardForm('COPY');return false;"; } setBtnVisibled(CurQueryEntity.FieldByName("JGBID").Value.Trim()); InitControl(); TPageParams pageParams = new TPageParams(); pageParams.AddString("XLXSJGBYZZ1_JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("TJYZList", txtTJYZList.Value.Trim()); pageParams.AddString("FirstYZID", txtFirstYZID.Value.Trim()); if (!PageParam.GetRTrimString("XLXHID").Equals("")) pageParams.AddString("XLXHID", PageParam.GetRTrimString("XLXHID").Trim()); SetNewFormParam(pageParams); } protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone) { string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); entity.EntityTable.DeleteSql = " delete from XLXSJGBYZZ1 where XLXSJGBYZZ1_JGBID=:XLXSJGBYZZ1_JGBID and XLXSJGBYZZ1_XLXHID =:XLXSJGBYZZ1_XLXHID and XLXSJGBYZZ1_XLGGID =:XLXSJGBYZZ1_XLGGID and XLXSJGBYZZ1_XLBZID=:XLXSJGBYZZ1_XLBZID and XLXSJGBYZZ1_DYDJID=:XLXSJGBYZZ1_DYDJID and " + CMISproDataBase.GetWhereEqual("XLXSJGBYZZ1_YZID", sYZIDlist); entity.Param.Add("XLXSJGBYZZ1_JGBID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ1_JGBID"].ToString().Trim()); entity.Param.Add("XLXSJGBYZZ1_XLXHID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ1_XLXHID"].ToString().Trim()); entity.Param.Add("XLXSJGBYZZ1_XLGGID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ1_XLGGID"].ToString().Trim()); entity.Param.Add("XLXSJGBYZZ1_XLBZID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ1_XLBZID"].ToString().Trim()); entity.Param.Add("XLXSJGBYZZ1_DYDJID", this.ContentGrid.SelectedDataKey["XLXSJGBYZZ1_DYDJID"].ToString()); base.BeforeDelete(db, ref ActionIsDone); } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (!base.Master_AfterDeleteAction(sender, e)) return false; entity.EntityTable.QuerySelSql = GetSQL(); entity.GridDataBind(ContentGrid, tSession); ContentGrid.SelectedIndex = -1; return true; } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { entity.EntityTable.QuerySelSql = GetSQL(); ContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkPageParam.AddString("XLXSJGBYZZ1_JGBID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ1_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_XLXHID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ1_XLXHID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_XLGGID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ1_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_XLBZID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ1_XLBZID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_DYDJID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSJGBYZZ1_DYDJID"].ToString()); LinkPageParam.AddString("XLXSJGBYZZ1_YZID", ContentGrid.DataKeys[e.Row.RowIndex]["minYZID"].ToString().Trim()); LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim()); } base.moduleGV_RowDataBound(sender, e); } #endregion #region 自定义函数 private void InitControl() { if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value == "True" || (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim()))) { if (!IsPostBack)//首次打开需要补上这一段,否则按钮还是可用状态 { Master.RightNewBtn = false; Master.RightCopyBtn = false; Master.RightViewBtn = false; Master.RightEditBtn = false; Master.RightDeleteBtn = false; } Master.StandardNewButton.Enabled = false; Master.StandardCopyButton.Enabled = false; Master.StandardEditButton.Enabled = false; Master.StandardDeleteButton.Enabled = false; Master.StandardViewButton.Enabled = false; } else { Master.StandardNewButton.Enabled = true; Master.StandardCopyButton.Enabled = true; Master.StandardEditButton.Enabled = true; Master.StandardDeleteButton.Enabled = true; Master.StandardViewButton.Enabled = true; } } //判断模块是否存在并且是否有权限 private bool CheckModule(string sUMID) { int iUMID = CMISproConvert.StrToInt(sUMID); UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID); return (DSActiveModule.IsActiveModule(iUMID) && UR.Open); } private void setBtnVisibled(string sJGBID) { if (!string.IsNullOrEmpty(PageParam.GetRTrimString("XLJGBID")) && PageParam.GetRTrimString("JGBID").Equals(sJGBID)) btnTBZJGB.Visible = true; else btnTBZJGB.Visible = false; if (!string.IsNullOrEmpty(PageParam.GetRTrimString("TJYZID")) && (!PageParam.GetRTrimString("TJYZID").Contains(",")) && (CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim().Equals("")) && CheckModule("100860041")) btnTBSJ.Visible = true; else btnTBSJ.Visible = false; } private string GetSQL() { base.InitEntityByCondition(); InitGridView(); string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine("select :pJGBID as XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,RTRIM(XLXSJGBYZZ1_XLBZID)|| '|' || XLBZ_XLBZLXMC as XLBZ,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_TJDH"); sSQL.AppendLine(" ,case when CPMLID is not null then rtrim(CPMLID)||'|'||XLXSCPML_CPMLMC else ' ' end as CPMLMC "); sSQL.AppendLine(" ,minYZID"); for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { sSQL.AppendLine(string.Format(",TZYZ_{0}", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())); } if (XSWHR()) { sSQL.AppendLine(" , WHR, WHSJ "); } else { sSQL.AppendLine(" ,' ' as WHR, ' ' as WHSJ "); } sSQL.AppendLine(" from "); sSQL.AppendLine(" ( "); sSQL.AppendLine(" select XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID, XLXSJGBYZZ1_TJDH,CLQDXH,CPMLID,min(XLXSJGBYZZ1_YZID) as minYZID "); if (XSWHR()) { sSQL.AppendLine(" , WHR,WHSJ "); } for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { sSQL.AppendLine(string.Format(",sum(CASE XLXSJGBYZZ1_YZID WHEN '{0}' THEN XLXSJGBYZZ1_YZZ ELSE 0 END) as TZYZ_{0}", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())); } sSQL.AppendLine(" from "); sSQL.AppendLine(" ("); sSQL.AppendLine(" select distinct XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID,isnull(XLXSJGBYZZ1_TJDH,' ') as XLXSJGBYZZ1_TJDH,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ"); sSQL.AppendLine(",case when AA.XLXSBJTJXHML_CPMLID is not null then AA.XLXSBJTJXHML_CPMLID else BB.XLXSBJTJXHML_CPMLID end as CPMLID "); if (XSWHR()) { sSQL.AppendLine(" ,XLXSJGBYZZ1_WHR as WHR,XLXSJGBYZZ1_WHSJ as WHSJ "); } #region 依材料清单未设置 if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value.Trim().ToUpper().Equals("TRUE")) { string[] sTJYZList = txtTJYZList.Value.Split(','); sSQL.AppendLine(" ,XLXSCLQD_XH as CLQDXH from ("); sSQL.AppendLine(string.Format(" select :pJGBID as XLXSJGBYZZ1_JGBID,XLXSCLQD_XLXHID as XLXSJGBYZZ1_XLXHID,XLXSCLQD_XLGGID as XLXSJGBYZZ1_XLGGID,XLXSCLQD_XLBZID as XLXSJGBYZZ1_XLBZID,XLXSCLQD_DYDJID as XLXSJGBYZZ1_DYDJID,'{0}' as XLXSJGBYZZ1_YZID,0 as XLXSJGBYZZ1_YZZ ,XLXSCLQD_XH,' ' AS XLXSJGBYZZ1_TJDH", txtFirstYZID.Value.Trim())); sSQL.AppendLine(" from XLXSCLQD "); sSQL.AppendLine(" where 1=1 "); for (int i = 0; i < sTJYZList.Length; i++) { sSQL.AppendLine(" and not exists(select 1 from XLXSJGBYZZ1 where XLXSJGBYZZ1_JGBID = :pJGBID "); sSQL.AppendLine(string.Format(" and XLXSJGBYZZ1_YZID='{0}' ", sTJYZList[i].Split('|')[0])); sSQL.AppendLine(" and XLXSJGBYZZ1_XLXHID=XLXSCLQD_XLXHID and XLXSJGBYZZ1_XLGGID=XLXSCLQD_XLGGID and XLXSJGBYZZ1_XLBZID=XLXSCLQD_XLBZID and XLXSJGBYZZ1_DYDJID=XLXSCLQD_DYDJID)"); } sSQL.AppendLine(" and XLXSCLQD_WPID='ZZZZ' ) YZZ1"); } #endregion #region 材料用量制定申请 else if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) { sSQL.AppendLine(" ,0 as CLQDXH from ( "); sSQL.AppendLine(" select :pJGBID as XLXSJGBYZZ1_JGBID,XLXSBJYLZDMX_XLXHID as XLXSJGBYZZ1_XLXHID,"); sSQL.AppendLine(" XLXSBJYLZDMX_XLGGID as XLXSJGBYZZ1_XLGGID,XLXSBJYLZDMX_XLBZID as XLXSJGBYZZ1_XLBZID,"); sSQL.AppendLine(" XLXSBJYLZDMX_DYDJID as XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_TJDH,"); sSQL.AppendLine(string.Format(" case when isnull(XLXSJGBYZZ1_YZID,' ') = ' ' then '{0}' else XLXSJGBYZZ1_YZID end as XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ", txtFirstYZID.Value.Trim())); sSQL.AppendLine(" from ("); sSQL.AppendLine(" select distinct "); sSQL.AppendLine(" XLXSBJYLZDMX_XLXHID,XLXSBJYLZDMX_XLGGID,XLXSBJYLZDMX_XLBZID,XLXSBJYLZDMX_DYDJID,XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_YZID,isnull(XLXSJGBYZZ1_YZZ,0) as XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_TJDH "); sSQL.AppendLine(" from XLXSBJYLZDMX "); sSQL.AppendLine(" left join XLXSJGBYZZ1 on XLXSJGBYZZ1_XLXHID = XLXSBJYLZDMX_XLXHID and XLXSJGBYZZ1_XLGGID = XLXSBJYLZDMX_XLGGID "); sSQL.AppendLine(" and XLXSJGBYZZ1_XLBZID = XLXSBJYLZDMX_XLBZID and XLXSJGBYZZ1_DYDJID =XLXSBJYLZDMX_DYDJID and XLXSJGBYZZ1_JGBID = :pJGBID "); if (!string.IsNullOrEmpty(sYZIDlist)) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBYZZ1_YZID", sYZIDlist)); } sSQL.AppendLine(" where XLXSBJYLZDMX_SQDH = :pSQDH "); sSQL.AppendLine(" ) ab "); sSQL.AppendLine(" ) YZZ1 "); entity.Param.Add("pSQDH", CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim()); } #endregion else sSQL.AppendLine(" ,0 as CLQDXH from XLXSJGBYZZ1 YZZ1"); sSQL.AppendLine(" left join XLXHB on XLXHB_XLXHID=YZZ1.XLXSJGBYZZ1_XLXHID"); sSQL.AppendLine(" left join XLDYDJB on XLDYDJB_DYDJID=YZZ1.XLXSJGBYZZ1_DYDJID"); sSQL.AppendLine(" left join XLGGB on XLGGB_XLGGID=REPLACE(YZZ1.XLXSJGBYZZ1_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); sSQL.AppendLine(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID "); sSQL.AppendLine(" left join XLXSBJTJXHML AA on AA.XLXSBJTJXHML_XLXHID = YZZ1.XLXSJGBYZZ1_XLXHID and AA.XLXSBJTJXHML_DYDJID = isnull(YZZ1.XLXSJGBYZZ1_DYDJID, ' ') "); sSQL.AppendLine(" left join XLXSBJTJXHML BB on BB.XLXSBJTJXHML_XLXHID = YZZ1.XLXSJGBYZZ1_XLXHID and BB.XLXSBJTJXHML_DYDJID = ' ' "); if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGBID").Value.Trim())) { sSQL.AppendLine(" where 1<>1 "); } else { sSQL.AppendLine(" where YZZ1.XLXSJGBYZZ1_JGBID = :pJGBID "); } //型号模糊 if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.AppendLine(" and YZZ1.XLXSJGBYZZ1_XLXHID like :pXLXHID "); entity.Param.Add("pXLXHID", "%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%"); } } else { string sXLXHID = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); if (!string.IsNullOrEmpty(sXLXHID)) { string[] sTemp = sXLXHID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("YZZ1.XLXSJGBYZZ1_XLXHID", sXLXHID)); } else { sSQL.AppendLine(" and YZZ1.XLXSJGBYZZ1_XLXHID = :pXLXHID "); entity.Param.Add("pXLXHID", sXLXHID); } } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("YZZ1.XLXSJGBYZZ1_DYDJID", CurQueryEntity.FieldByName("DYDJID").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("TJDH").Value.Trim())) { sSQL.AppendLine(" and YZZ1.XLXSJGBYZZ1_TJDH = :pTJDH "); entity.Param.Add("pTJDH", CurQueryEntity.FieldByName("TJDH").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim())) { sSQL.AppendLine(" and XLXHB_CPYT = :pCPYT "); entity.Param.Add("pCPYT", CurQueryEntity.FieldByName("CPYT").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLTXID").Value.Trim())) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXHB_XLTXID", CurQueryEntity.FieldByName("XLTXID").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CZCL").Value.Trim())) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXHB_KZCLID", CurQueryEntity.FieldByName("CZCL").Value.Trim())); } if (CurQueryEntity.FieldByName("RDT").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" and isnull(XLXHB_RDT,'N')='Y' "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim())) { sSQL.AppendLine(" and XLXHB_DTCLID = :pDTCLID "); entity.Param.Add("pDTCLID", CurQueryEntity.FieldByName("DTCLID").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim())) { sSQL.AppendLine(" and XLDYDJB_DYDJFL = :pDYDJFL "); entity.Param.Add("pDYDJFL", CurQueryEntity.FieldByName("DYDJFL").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim())) { sSQL.AppendLine(" and XLGGB_XXJGID = :pXLJGID "); entity.Param.Add("pXLJGID", CurQueryEntity.FieldByName("XLJGID").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGG").Value.Trim())) { sSQL.AppendLine(" and YZZ1.XLXSJGBYZZ1_XLGGID like :pXLGGID "); entity.Param.Add("pXLGGID", "%" + CurQueryEntity.FieldByName("XLGG").Value.Trim() + "%"); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLBZID").Value.Trim())) { sSQL.AppendLine(" and YZZ1.XLXSJGBYZZ1_XLBZID = :pXLBZID "); entity.Param.Add("pXLBZID", CurQueryEntity.FieldByName("XLBZID").Value.Trim()); } if (!string.IsNullOrEmpty(sYZIDlist)) { sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("YZZ1.XLXSJGBYZZ1_YZID", sYZIDlist)); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMS").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMS").Value.Trim().Equals("0")) { sSQL.AppendLine(string.Format(" and XLDTJMZHB_DTJM1>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMZ").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMZ").Value.Trim().Equals("0")) { sSQL.AppendLine(string.Format(" and XLDTJMZHB_DTJM1<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); } sSQL.AppendLine(" ) tmp"); sSQL.AppendLine(" group by XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_TJDH,CPMLID,CLQDXH"); if (XSWHR()) { sSQL.AppendLine(" , WHR, WHSJ "); } sSQL.AppendLine(" ) a "); sSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID=XLXSJGBYZZ1_XLBZID "); if (!CurQueryEntity.FieldByName("YCLQDCXWSZ").Value.Trim().ToUpper().Equals("TRUE")) sSQL.AppendLine(" left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSJGBYZZ1_XLXHID and XLXSCLQD_XLGGID=XLXSJGBYZZ1_XLGGID and XLXSCLQD_XLBZID=XLXSJGBYZZ1_XLBZID and XLXSCLQD_DYDJID=XLXSJGBYZZ1_DYDJID"); sSQL.AppendLine(" left join XLXSCPML on XLXSCPML_CPMLID = CPMLID "); sSQL.AppendLine(" where 1=1 "); if (!CurQueryEntity.FieldByName("YZZWSZ").Value.Trim().Equals("")) { if (dsTJYS1.Tables[0].Rows.Count > 0) { string sYZZWKSQL = ""; for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { if (CurQueryEntity.FieldByName("YZZWSZ").Value.Trim().Contains(dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())) { if (!sYZZWKSQL.Equals("")) sYZZWKSQL += " or "; sYZZWKSQL += string.Format(" TZYZ_{0} = 0 ", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim()); } } if (!sYZZWKSQL.Equals("")) { sSQL.AppendLine(" and ( "); sSQL.AppendLine(sYZZWKSQL); sSQL.AppendLine(" )"); } } } if (!CurQueryEntity.FieldByName("YZZYSZ").Value.Trim().Equals("")) { if (dsTJYS1.Tables[0].Rows.Count > 0) { string sYZZWKSQL = ""; for (int i = 0; i < dsTJYS1.Tables[0].Rows.Count; i++) { if (CurQueryEntity.FieldByName("YZZYSZ").Value.Trim().Contains(dsTJYS1.Tables[0].Rows[i][0].ToString().Trim())) { if (!sYZZWKSQL.Equals("")) sYZZWKSQL += " or "; sYZZWKSQL += string.Format(" TZYZ_{0} <> 0 ", dsTJYS1.Tables[0].Rows[i][0].ToString().Trim()); } } if (!sYZZWKSQL.Equals("")) { sSQL.AppendLine(" and ( "); sSQL.AppendLine(sYZZWKSQL); sSQL.AppendLine(" )"); } } } if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("")) { if (CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) { sSQL.AppendLine("and isnull(XLXSCPML_CPMLID,' ')=' '"); } else { sSQL.AppendLine("and isnull(XLXSCPML_CPMLID,' ')='" + CurQueryEntity.FieldByName("CPMLID").Value + "'"); } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGCZBID").Value.Trim()) ) { sSQL.AppendLine("\r\n and exists( select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLXSJGBYZZ1_XLXHID and XLXSCLQD_XLGGID=XLXSJGBYZZ1_XLGGID and XLXSCLQD_XLBZID=XLXSJGBYZZ1_XLBZID and XLXSCLQD_DYDJID=XLXSJGBYZZ1_DYDJID "); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGCZBID").Value.Trim())) { string[] sJGCZBList = CurQueryEntity.FieldByName("JGCZBID").Value.Trim().Split(','); sSQL.AppendLine( " and ( 1<>1 "); for (int i = 0; i < sJGCZBList.Length; i++) { string[] sJGCZB = sJGCZBList[i].Split('|'); if (sJGCZB.Length == 2) { sSQL.AppendLine( string.Format(" or (XLXSCLQD_JGCZBID='{0}' and XLXSCLQD_JGCZBBBID='{1}' ) ", sJGCZB[0], sJGCZB[1])); } else if (sJGCZB.Length == 1) { sSQL.AppendLine( string.Format(" or (XLXSCLQD_JGCZBID='{0}' ) ", sJGCZB[0])); } } sSQL.AppendLine( " ) "); } sSQL.AppendLine("\r\n )"); } if (!CurQueryEntity.FieldByName("YCLQDCXWSZ").Value.Trim().ToUpper().Equals("TRUE")) sSQL.AppendLine(" order by XLXSJGBYZZ1_XLXHID,XLXSCLQD_XH"); else sSQL.AppendLine(" order by XLXSJGBYZZ1_XLXHID,CLQDXH"); entity.Param.Add("pJGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); return sSQL.ToString(); } private void InitGridView() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC, XLXSTZYZ_JJFS "); SQL.Add(" from XLXSTZYZ"); SQL.Add(" where XLXSTZYZ_MXBH = 'JZJ' and XLXSTZYZ_TJYS='1' "); SQL.Add(" and XLXSTZYZ_JGBID = :pJGBID"); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("TJYZID"))) { SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSTZYZ_YZID", PageParam.GetRTrimString("TJYZID").Trim())); } SQL.Add("order by XLXSTZYZ_YZID,XLXSTZYZ_XSXH"); SQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); DataSet ds = dberp.OpenDataSet(SQL); dsTJYS1 = ds; txtTJYZList.Value = ""; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (i == 0) txtFirstYZID.Value = ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(); string sJJFSMC = ""; int iXSWS = 2; //加价类型的基价因子小数位数按BJU002设置的来 if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ")) { //iXSWS = CMISproConvert.StrToInt(GetOption("BJU002")); iXSWS = 5; sJJFSMC = "(元)"; } else if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JD") || ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("KD")) { sJJFSMC = "(%)"; } AddColumn("TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC, iXSWS, 80); txtTJYZList.Value += ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sJJFSMC + ","; } txtTJYZList.Value = txtTJYZList.Value.TrimEnd(','); if (XSWHR()) { AddColumn("WHR", "维护人", 72); AddColumn("WHSJ", "维护时间", TDateTimeEditKinds.dtDateTime); } } private string GetDefaultJGBID() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("SELECT XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='JZJ' and XLXSJGB_TJYS='1' order by XLXSJGB_JGBID"); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { return ds.Tables[0].Rows[0][0].ToString().Trim(); } else return ""; } public static string GetTJYZMC(string sTJYZID, string sMXBH) { string sTJYZMC = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSTZYZ_YZMC from XLXSTZYZ where XLXSTZYZ_MXBH = :pMXBH and XLXSTZYZ_YZID = :pYZID "); SQL.ParamByName("pMXBH").Value = sMXBH; SQL.ParamByName("pYZID").Value = sTJYZID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sTJYZMC = ds.Tables[0].Rows[0]["XLXSTZYZ_YZMC"].ToString().Trim(); } return sTJYZMC; } private void OpenInfo(TPageCallAction tpCallAction, string sYCLQDCXWSZ) { TPageParams LinkPageParam = new TPageParams(); LinkPageParam.UrlPath = "CLQDYZInfo.aspx"; LinkPageParam.AddString("XLXSJGBYZZ1_JGBID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_XLXHID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_XLXHID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_XLGGID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_XLBZID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_XLBZID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_DYDJID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_DYDJID"].ToString()); LinkPageParam.AddString("XLXSJGBYZZ1_YZID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["minYZID"].ToString().Trim()); LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim()); LinkPageParam.AddString("YCLQDCXWSZ", sYCLQDCXWSZ); if (PageParam.ContainsKey("BJDID")) LinkPageParam.AddString("BJDID", PageParam.GetRTrimString("BJDID")); LinkPageParam.CallAction = tpCallAction; OpenDialog(LinkPageParam); } private void OpenInfo(TPageCallAction tpCallAction, string sYCLQDCXWSZ,string sYZID) { TPageParams LinkPageParam = new TPageParams(); LinkPageParam.UrlPath = "CLQDYZInfo.aspx"; LinkPageParam.AddString("XLXSJGBYZZ1_JGBID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_JGBID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_XLXHID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_XLXHID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_XLGGID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_XLGGID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_XLBZID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_XLBZID"].ToString().Trim()); LinkPageParam.AddString("XLXSJGBYZZ1_DYDJID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_DYDJID"].ToString()); LinkPageParam.AddString("XLXSJGBYZZ1_YZID", sYZID); LinkPageParam.AddString("TJYZList", txtTJYZList.Value.Trim()); LinkPageParam.AddString("YCLQDCXWSZ", sYCLQDCXWSZ); if (PageParam.ContainsKey("BJDID")) LinkPageParam.AddString("BJDID", PageParam.GetRTrimString("BJDID")); LinkPageParam.CallAction = tpCallAction; OpenDialog(LinkPageParam); } private string GetCLFirstYZ() { string sJGBID_CL = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_JGBID"].ToString().Trim(); string sXLXHID_CL = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_XLXHID"].ToString().Trim(); string sXLGGID_CL = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_XLGGID"].ToString().Trim(); string sXLBZID_CL = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_XLBZID"].ToString().Trim(); string sDYDJID_CL = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSJGBYZZ1_DYDJID"].ToString().Trim(); string sYZIDlist = TZYZBJAInfo.GetYZIDList(txtTJYZList.Value.Trim()); string sSQL_CL = string.Format(@"select XLXSJGBYZZ1_YZID from XLXSJGBYZZ1 where XLXSJGBYZZ1_XLXHID = '{0}' and XLXSJGBYZZ1_XLGGID = '{1}' and XLXSJGBYZZ1_XLBZID = '{2}' and XLXSJGBYZZ1_DYDJID ='{3}' and XLXSJGBYZZ1_JGBID = '{4}' and" + CMISproDataBase.GetWhereEqual("XLXSJGBYZZ1_YZID", sYZIDlist) , sXLXHID_CL, sXLGGID_CL, sXLBZID_CL, sDYDJID_CL, sJGBID_CL); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add(sSQL_CL); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { return ds.Tables[0].Rows[0][0].ToString().Trim(); } else return ""; } private bool XSWHR() { if (!PageParam.GetRTrimString("TJYZID").Equals("") && (!PageParam.GetRTrimString("TJYZID").Contains(",")) && string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim()) && (!CurQueryEntity.FieldByName("YCLQDCXWSZ").Value.Trim().ToUpper().Equals("TRUE"))) return true; return false; } //private DataSet CheckTJYZJDKC(string sJGBID, string sYZID) //{ // //若依{0}扩充{1},将会产生重复产品,比如:{1}、{2}、{3}、{4},操作终止!”, // TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); // TSQL SQL = new TSQL(dberp); // SQL.Clear(); // SQL.Add(" DELETE TJYZJDKCB "); // SQL.Add(" from TJYZJDKCB "); // SQL.Add(" left join XLXSJGBYZZ1 a on a.XLXSJGBYZZ1_JGBID=:pJGBID and a.XLXSJGBYZZ1_XLXHID=TJYZJDKCB_KCQXLXHID and a.XLXSJGBYZZ1_YZID=:pYZID "); // SQL.Add(" left join XLXSJGBYZZ1 b on b.XLXSJGBYZZ1_JGBID=:pJGBID and b.XLXSJGBYZZ1_XLXHID=TJYZJDKCB_KCHXLXHID and b.XLXSJGBYZZ1_YZID=:pYZID "); // SQL.Add(" left join XLXHB on XLXHB_XLXHID=a.XLXSJGBYZZ1_XLXHID "); // SQL.Add(" left join XLGGB on XLGGB_XLGGID=REPLACE(a.XLXSJGBYZZ1_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); // SQL.Add(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID "); // SQL.Add(" where TJYZJDKCB_YZID =:pYZID and a.XLXSJGBYZZ1_XLGGID=b.XLXSJGBYZZ1_XLGGID "); // SQL.Add(" and a.XLXSJGBYZZ1_XLBZID=b.XLXSJGBYZZ1_XLBZID "); // SQL.Add(" and a.XLXSJGBYZZ1_DYDJID=(case when (TJYZJDKCB_KCHDYDJID <>' ') then TJYZJDKCB_KCHDYDJID else b.XLXSJGBYZZ1_DYDJID end )"); // #region 电压等级 // SQL.Add(" and ( "); // SQL.Add(" case WHEN TJYZJDKCB_DYDJID=isnull(a.XLXSJGBYZZ1_DYDJID,' ') then 1 "); // SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and isnull(a.XLXSJGBYZZ1_DYDJID,' ') <> ' ' then 2 "); // SQL.Add(" else -999 end "); // SQL.Add(" ) <> -999 "); // #endregion // #region 主芯截面区间 // SQL.Add(" and TJYZJDKCB_ZXJMXX<=isnull(XLDTJMZHB_DTJM1,0) and ((TJYZJDKCB_ZXJMSX<>0 and TJYZJDKCB_ZXJMSX>=isnull(XLDTJMZHB_DTJM1,0)) or TJYZJDKCB_ZXJMSX=0)"); // #endregion // #region 芯线结构 // SQL.Add(" and ( "); // SQL.Add(" TJYZJDKCB_XXJGID=isnull(XLGGB_XXJGID,' ') or TJYZJDKCB_XXJGID=' ' "); // SQL.Add(" )"); // #endregion // SQL.Add(" and isnull(b.XLXSJGBYZZ1_XHKCBZ,'N') = 'N' "); // SQL.ParamByName("pJGBID").Value = sJGBID; // SQL.ParamByName("pYZID").Value = sYZID; // dberp.ExecSQL(SQL); //} public static string GetYZZJDKCJSFS(string sYZID) { string sJSFS = "M"; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSTZYZ_YZZJDKCJSFS from XLXSTZYZ where XLXSTZYZ_YZID = :pYZID "); SQL.ParamByName("pYZID").Value = sYZID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sJSFS = ds.Tables[0].Rows[0]["XLXSTZYZ_YZZJDKCJSFS"].ToString().Trim(); } return sJSFS; } #endregion #region 控件事件 protected void ContentGrid_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value == "True") OpenInfo(TPageCallAction.pcaInsert,"Y"); else if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) { string sYZID = GetCLFirstYZ(); if (!sYZID.Equals("")) OpenInfo(TPageCallAction.pcaEdit, "N", sYZID); else OpenInfo(TPageCallAction.pcaInsert, "Y"); } else OpenInfo(TPageCallAction.pcaBrowse,"N"); } protected void btnRefresh1_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (!ContentGrid.CheckedRowIndexs.Equals("")) { #region 勾选导入 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); try { dberp.BeginTrans(); string[] RowsArry = ContentGrid.CheckedRowIndexs.Split(new char[] { ',' }); for (int j = 0; j < RowsArry.Length; j++) { string sJGBID = ContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ1_JGBID"].ToString().Trim(); string sXLXHID = ContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ1_XLXHID"].ToString().Trim(); string sXLGGID = ContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ1_XLGGID"].ToString().Trim(); string sXLBZID = ContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ1_XLBZID"].ToString().Trim(); string sDYDJID = ContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ1_DYDJID"].ToString().Trim(); string sTJDH = ContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSJGBYZZ1_TJDH"].ToString().Trim(); string[] sYZValue = txtTJYZValue.Value.Split(',');//因子ID|因子值|是否相对值 for (int k = 0; k < sYZValue.Length; k++) { if (!sYZValue[k].Trim().Equals("")) { bool bCLYLZD = false; if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) { string sSQL_CLYL = string.Format(@"select 1 from XLXSJGBYZZ1 where XLXSJGBYZZ1_XLXHID = '{0}' and XLXSJGBYZZ1_XLGGID = '{1}' and XLXSJGBYZZ1_XLBZID = '{2}' and XLXSJGBYZZ1_DYDJID ='{3}' and XLXSJGBYZZ1_JGBID = '{4}' and XLXSJGBYZZ1_YZID = '{5}' " , sXLXHID, sXLGGID, sXLBZID, sDYDJID, sJGBID, sYZValue[k].Split('|')[0].Trim()); if (!CMISproDataBase.ExistsRecord("DBERP", sSQL_CLYL)) bCLYLZD = true; } //依材料清单查询未设置,插入,未设置时相对值和绝对值计算结果一样 if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value == "True" || bCLYLZD) { sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ1(XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_WHR,XLXSJGBYZZ1_WHRID,XLXSJGBYZZ1_WHSJ)"); sSQL.Add(" values(:pJGBID,:pXLXHID,:pXLGGID,:pXLBZID,:pDYDJID,:pYZID,:pYZZ,:pWHR,:pWHRID,:pWHSJ)"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } else { if (!sYZValue[k].Split('|')[2].Equals("Y"))//非相对值 { sSQL.Clear(); sSQL.Add("delete from XLXSJGBYZZ1 where XLXSJGBYZZ1_JGBID=:pJGBID and XLXSJGBYZZ1_XLXHID=:pXLXHID and XLXSJGBYZZ1_XLGGID=:pXLGGID "); sSQL.Add(" and XLXSJGBYZZ1_XLBZID=:pXLBZID and XLXSJGBYZZ1_DYDJID=:pDYDJID "); sSQL.Add(" and XLXSJGBYZZ1_YZID=:pYZID"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); dberp.ExecSQL(sSQL); sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ1(XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_TJDH,XLXSJGBYZZ1_WHR,XLXSJGBYZZ1_WHRID,XLXSJGBYZZ1_WHSJ)"); sSQL.Add(" values(:pJGBID,:pXLXHID,:pXLGGID,:pXLBZID,:pDYDJID,:pYZID,:pYZZ,:pTJDH,:pWHR,:pWHRID,:pWHSJ)"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pTJDH").Value = sTJDH; sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } else//相对值 { sSQL.Clear(); sSQL.Add("update XLXSJGBYZZ1 set XLXSJGBYZZ1_YZZ=XLXSJGBYZZ1_YZZ+:pYZZ,XLXSJGBYZZ1_WHR=:pWHR,XLXSJGBYZZ1_WHRID=:pWHRID,XLXSJGBYZZ1_WHSJ=:pWHSJ"); sSQL.Add(" where XLXSJGBYZZ1_JGBID=:pJGBID and XLXSJGBYZZ1_XLXHID=:pXLXHID and XLXSJGBYZZ1_XLGGID=:pXLGGID"); sSQL.Add(" and XLXSJGBYZZ1_XLBZID=:pXLBZID and XLXSJGBYZZ1_DYDJID=:pDYDJID "); sSQL.Add(" and XLXSJGBYZZ1_YZID=:pYZID"); sSQL.ParamByName("pJGBID").Value = sJGBID; sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } } } } } dberp.CommitTrans(); ShowMessage("设置完成!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } #endregion } else { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); try { dberp.BeginTrans(); string[] sYZValue = txtTJYZValue.Value.Split(',');//因子ID|因子值|是否相对值 for (int k = 0; k < sYZValue.Length; k++) { if (!sYZValue[k].Trim().Equals("")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim())) { sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ1(XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_TJDH,XLXSJGBYZZ1_WHR,XLXSJGBYZZ1_WHRID,XLXSJGBYZZ1_WHSJ)"); sSQL.Add(" select distinct :pJGBID ,XLXSBJYLZDMX_XLXHID,XLXSBJYLZDMX_XLGGID,XLXSBJYLZDMX_XLBZID,XLXSBJYLZDMX_DYDJID,:pYZID, 0,XLXSJGBYZZ1_TJDH,:pWHR,:pWHRID,:pWHSJ "); sSQL.Add(" from XLXSBJYLZDMX "); sSQL.Add(" left join XLXSJGBYZZ1 on XLXSJGBYZZ1_XLXHID = XLXSBJYLZDMX_XLXHID and XLXSJGBYZZ1_XLGGID = XLXSBJYLZDMX_XLGGID "); sSQL.Add(" and XLXSJGBYZZ1_XLBZID = XLXSBJYLZDMX_XLBZID and XLXSJGBYZZ1_DYDJID =XLXSBJYLZDMX_DYDJID and XLXSJGBYZZ1_JGBID = :pJGBID and XLXSJGBYZZ1_YZID= :pYZID"); sSQL.Add(" where XLXSBJYLZDMX_SQDH = :pSQDH and isnull(XLXSJGBYZZ1_YZID,' ') = ' ' "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; sSQL.ParamByName("pSQDH").Value = CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim(); dberp.ExecSQL(sSQL); sSQL.Clear(); sSQL.Add(" merge into"); sSQL.Add(" XLXSJGBYZZ1 tar"); sSQL.Add(" using("); sSQL.Add(" select distinct XLXSBJYLZDMX_XLXHID,XLXSBJYLZDMX_XLGGID,XLXSBJYLZDMX_XLBZID,XLXSBJYLZDMX_DYDJID,XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_YZID, isnull(XLXSJGBYZZ1_YZZ,0) as XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_TJDH"); sSQL.Add(" from XLXSBJYLZDMX "); sSQL.Add(" left join XLXSJGBYZZ1 on XLXSJGBYZZ1_XLXHID = XLXSBJYLZDMX_XLXHID and XLXSJGBYZZ1_XLGGID = XLXSBJYLZDMX_XLGGID"); sSQL.Add(" and XLXSJGBYZZ1_XLBZID = XLXSBJYLZDMX_XLBZID and XLXSJGBYZZ1_DYDJID =XLXSBJYLZDMX_DYDJID and XLXSJGBYZZ1_JGBID = :pJGBID and XLXSJGBYZZ1_YZID= :pYZID "); sSQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJYLZDMX_XLXHID"); sSQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=XLXSBJYLZDMX_DYDJID"); sSQL.Add(" left join XLGGB on XLGGB_XLGGID=replace(XLXSBJYLZDMX_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); sSQL.Add(" where XLXSBJYLZDMX_SQDH = :pSQDH "); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSBJYLZDMX_XLXHID = :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.Add(" and XLXSBJYLZDMX_DYDJID = :pDYDJID "); sSQL.ParamByName("pDYDJID").Value = CurQueryEntity.FieldByName("DYDJID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("TJDH").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ1_TJDH = :pTJDH "); sSQL.ParamByName("pTJDH").Value = CurQueryEntity.FieldByName("TJDH").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim())) { sSQL.Add(" and XLXHB_CPYT = :pCPYT "); sSQL.ParamByName("pCPYT").Value = CurQueryEntity.FieldByName("CPYT").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLTXID").Value.Trim())) { sSQL.Add(" and XLXHB_XLTXID = :pXLTXID "); sSQL.ParamByName("pXLTXID").Value = CurQueryEntity.FieldByName("XLTXID").Value.Trim(); } if (CurQueryEntity.FieldByName("RDT").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.Add(" and isnull(XLXHB_RDT,'N')='Y' "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim())) { sSQL.Add(" and XLXHB_DTCLID = :pDTCLID "); sSQL.ParamByName("pDTCLID").Value = CurQueryEntity.FieldByName("DTCLID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim())) { sSQL.Add(" and XLDYDJB_DYDJFL = :pDYDJFL "); sSQL.ParamByName("pDYDJFL").Value = CurQueryEntity.FieldByName("DYDJFL").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim())) { sSQL.Add(" and XLGGB_XXJGID = :pXLJGID "); sSQL.ParamByName("pXLJGID").Value = CurQueryEntity.FieldByName("XLJGID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMS").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMS").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMZ").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMZ").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("")) { if (CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) { sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJYLZDMX_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSBJYLZDMX_DYDJID,' '))"); sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJYLZDMX_XLXHID and XLXSBJTJXHML_DYDJID=' ')"); } else { sSQL.Add(" and (exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJYLZDMX_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSBJYLZDMX_DYDJID,' ') and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" or exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSBJYLZDMX_XLXHID and XLXSBJTJXHML_DYDJID=' ' and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" )"); sSQL.ParamByName("pCPMLID").Value = CurQueryEntity.FieldByName("CPMLID").Value.Trim(); } } sSQL.Add(" ) sor"); sSQL.Add(" on (tar.XLXSJGBYZZ1_JGBID = :pJGBID"); sSQL.Add(" and tar.XLXSJGBYZZ1_XLXHID = sor.XLXSBJYLZDMX_XLXHID"); sSQL.Add(" and tar.XLXSJGBYZZ1_XLGGID = sor.XLXSBJYLZDMX_XLGGID"); sSQL.Add(" and tar.XLXSJGBYZZ1_XLBZID = sor.XLXSBJYLZDMX_XLBZID"); sSQL.Add(" and tar.XLXSJGBYZZ1_DYDJID = sor.XLXSBJYLZDMX_DYDJID"); sSQL.Add(" and tar.XLXSJGBYZZ1_YZID = sor.XLXSJGBYZZ1_YZID )"); sSQL.Add(" when matched then update set "); if (!sYZValue[k].Split('|')[2].Equals("Y"))//非相对值 sSQL.Add(" tar.XLXSJGBYZZ1_YZZ =:pYZZ,"); else sSQL.Add(" tar.XLXSJGBYZZ1_YZZ =tar.XLXSJGBYZZ1_YZZ +:pYZZ,"); sSQL.Add(" tar.XLXSJGBYZZ1_WHR=:pWHR,tar.XLXSJGBYZZ1_WHRID=:pWHRID,tar.XLXSJGBYZZ1_WHSJ=:pWHSJ "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; sSQL.ParamByName("pSQDH").Value = CurQueryEntity.FieldByName("CLYLZDDH").Value.Trim(); dberp.ExecSQL(sSQL); } else if (CurQueryEntity.FieldByName("YCLQDCXWSZ").Value == "True") { sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ1(XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_WHR,XLXSJGBYZZ1_WHRID,XLXSJGBYZZ1_WHSJ)"); sSQL.Add(" select :pJGBID ,XLXSCLQD_XLXHID ,XLXSCLQD_XLGGID ,XLXSCLQD_XLBZID ,XLXSCLQD_DYDJID , :pYZID ,:pYZZ ,:pWHR,:pWHRID,:pWHSJ"); sSQL.Add(" from XLXSCLQD "); sSQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSCLQD_XLXHID"); sSQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=XLXSCLQD_DYDJID"); sSQL.Add(" left join XLGGB on XLGGB_XLGGID=replace(XLXSCLQD_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); sSQL.Add(" where not exists(select 1 from XLXSJGBYZZ1 where XLXSJGBYZZ1_JGBID = :pJGBID and XLXSJGBYZZ1_YZID=:pYZID and XLXSJGBYZZ1_XLXHID=XLXSCLQD_XLXHID and XLXSJGBYZZ1_XLGGID=XLXSCLQD_XLGGID"); sSQL.Add(" and XLXSJGBYZZ1_XLBZID=XLXSCLQD_XLBZID and XLXSJGBYZZ1_DYDJID=XLXSCLQD_DYDJID)"); sSQL.Add(" and XLXSCLQD_WPID='ZZZZ'"); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSCLQD_XLXHID = :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.Add(" and XLXSCLQD_DYDJID = :pDYDJID "); sSQL.ParamByName("pDYDJID").Value = CurQueryEntity.FieldByName("DYDJID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("TJDH").Value.Trim())) { sSQL.Add(" and 1<>1 "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim())) { sSQL.Add(" and XLXHB_CPYT = :pCPYT "); sSQL.ParamByName("pCPYT").Value = CurQueryEntity.FieldByName("CPYT").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLTXID").Value.Trim())) { sSQL.Add(" and XLXHB_XLTXID = :pXLTXID "); sSQL.ParamByName("pXLTXID").Value = CurQueryEntity.FieldByName("XLTXID").Value.Trim(); } if (CurQueryEntity.FieldByName("RDT").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.Add(" and isnull(XLXHB_RDT,'N')='Y' "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim())) { sSQL.Add(" and XLXHB_DTCLID = :pDTCLID "); sSQL.ParamByName("pDTCLID").Value = CurQueryEntity.FieldByName("DTCLID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim())) { sSQL.Add(" and XLDYDJB_DYDJFL = :pDYDJFL "); sSQL.ParamByName("pDYDJFL").Value = CurQueryEntity.FieldByName("DYDJFL").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim())) { sSQL.Add(" and XLGGB_XXJGID = :pXLJGID "); sSQL.ParamByName("pXLJGID").Value = CurQueryEntity.FieldByName("XLJGID").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMS").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMS").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMZ").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMZ").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format("and convert(float,XLGGB_DTJMZHID)<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format("and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("")) { if (CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) { sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSCLQD_DYDJID,' '))"); sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=' ')"); } else { sSQL.Add(" and (exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSCLQD_DYDJID,' ') and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" or exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSCLQD_XLXHID and XLXSBJTJXHML_DYDJID=' ' and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" )"); sSQL.ParamByName("pCPMLID").Value = CurQueryEntity.FieldByName("CPMLID").Value.Trim(); } } sSQL.Add(" group by XLXSCLQD_XLXHID ,XLXSCLQD_XLGGID ,XLXSCLQD_XLBZID ,XLXSCLQD_DYDJID "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } else { //先补齐记录 sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ1(XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_TJDH,XLXSJGBYZZ1_WHR,XLXSJGBYZZ1_WHRID,XLXSJGBYZZ1_WHSJ)"); sSQL.Add(" select distinct :pJGBID,a.XLXSJGBYZZ1_XLXHID, a.XLXSJGBYZZ1_XLGGID, a.XLXSJGBYZZ1_XLBZID, a.XLXSJGBYZZ1_DYDJID,:pYZID,0, isnull(a.XLXSJGBYZZ1_TJDH,' '),:pWHR,:pWHRID,:pWHSJ "); sSQL.Add(" from XLXSJGBYZZ1 a"); sSQL.Add(" where a.XLXSJGBYZZ1_JGBID = :pJGBID "); sSQL.Add(" and a.XLXSJGBYZZ1_YZID<>:pYZID"); sSQL.Add(" and not exists(select 1 from XLXSJGBYZZ1 b where b.XLXSJGBYZZ1_JGBID=:pJGBID and b.XLXSJGBYZZ1_XLXHID=a.XLXSJGBYZZ1_XLXHID and b.XLXSJGBYZZ1_XLGGID=a.XLXSJGBYZZ1_XLGGID "); sSQL.Add(" and b.XLXSJGBYZZ1_XLBZID=a.XLXSJGBYZZ1_XLBZID and b.XLXSJGBYZZ1_DYDJID=a.XLXSJGBYZZ1_DYDJID and b.XLXSJGBYZZ1_YZID=:pYZID)"); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); sSQL.Clear(); sSQL.Add("merge into XLXSJGBYZZ1 target"); sSQL.Add("using ("); sSQL.Add(" select XLXSJGBYZZ1_XLXHID as XLXHID, XLXSJGBYZZ1_XLGGID as XLGGID, XLXSJGBYZZ1_XLBZID as XLBZID, XLXSJGBYZZ1_DYDJID as DYDJID"); sSQL.Add(" from XLXSJGBYZZ1"); sSQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSJGBYZZ1_XLXHID"); sSQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=XLXSJGBYZZ1_DYDJID"); sSQL.Add(" left join XLGGB on XLGGB_XLGGID=replace(XLXSJGBYZZ1_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0')"); sSQL.Add(" where XLXSJGBYZZ1_JGBID = :pJGBID and XLXSJGBYZZ1_YZID=:pYZID "); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ1_XLXHID = :pXLXHID "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ1_DYDJID = :pDYDJID "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("TJDH").Value.Trim())) { sSQL.Add(" and XLXSJGBYZZ1_TJDH = :pTJDH "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim())) { sSQL.Add(" and XLXHB_CPYT = :pCPYT "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLTXID").Value.Trim())) { sSQL.Add(" and XLXHB_XLTXID = :pXLTXID "); } if (CurQueryEntity.FieldByName("RDT").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.Add(" and isnull(XLXHB_RDT,'N')='Y' "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim())) { sSQL.Add(" and XLXHB_DTCLID = :pDTCLID "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim())) { sSQL.Add(" and XLDYDJB_DYDJFL = :pDYDJFL "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim())) { sSQL.Add(" and XLGGB_XXJGID = :pXLJGID "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMS").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMS").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format(" and convert(float,XLGGB_DTJMZHID)>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format(" and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))>={0} ", CurQueryEntity.FieldByName("ZJMS").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZJMZ").Value.Trim()) && !CurQueryEntity.FieldByName("ZJMZ").Value.Trim().Equals("0")) { sSQL.Add(" and ((charindex('/',XLGGB_DTJMZHID)<=0 "); sSQL.Add(string.Format(" and convert(float,XLGGB_DTJMZHID)<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" or (charindex('/',XLGGB_DTJMZHID)>0 "); sSQL.Add(string.Format(" and convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID)))<='{0}' ", CurQueryEntity.FieldByName("ZJMZ").Value.Trim())); sSQL.Add(" ) "); sSQL.Add(" ) "); } if (!CurQueryEntity.FieldByName("YZZWSZ").Value.Trim().Equals("")) { if (CurQueryEntity.FieldByName("YZZWSZ").Value.Trim().Contains(sYZValue[k].Split('|')[0].Trim())) sSQL.Add(string.Format(" and (XLXSJGBYZZ1_YZID='{0}' and XLXSJGBYZZ1_YZZ=0) ", sYZValue[k].Split('|')[0].Trim())); } if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("")) { if (CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) { sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSJGBYZZ1_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSJGBYZZ1_DYDJID,' '))"); sSQL.Add(" and not exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSJGBYZZ1_XLXHID and XLXSBJTJXHML_DYDJID=' ')"); } else { sSQL.Add(" and (exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSJGBYZZ1_XLXHID and XLXSBJTJXHML_DYDJID=isnull(XLXSJGBYZZ1_DYDJID,' ') and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" or exists(select 1 from XLXSBJTJXHML where XLXSBJTJXHML_XLXHID=XLXSJGBYZZ1_XLXHID and XLXSBJTJXHML_DYDJID=' ' and XLXSBJTJXHML_CPMLID=:pCPMLID)"); sSQL.Add(" )"); } } sSQL.Add(") source"); sSQL.Add("on (target.XLXSJGBYZZ1_XLXHID = source.XLXHID"); sSQL.Add(" and target.XLXSJGBYZZ1_XLGGID = source.XLGGID"); sSQL.Add(" and target.XLXSJGBYZZ1_XLBZID = source.XLBZID"); sSQL.Add(" and target.XLXSJGBYZZ1_DYDJID = source.DYDJID"); sSQL.Add(" and target.XLXSJGBYZZ1_JGBID = :pJGBID"); sSQL.Add(" and target.XLXSJGBYZZ1_YZID = :pYZID)"); sSQL.Add("when matched then update set"); if (!sYZValue[k].Split('|')[2].Equals("Y")) { sSQL.Add(" XLXSJGBYZZ1_YZZ = :pYZZ,"); } else { sSQL.Add(" XLXSJGBYZZ1_YZZ = XLXSJGBYZZ1_YZZ + :pYZZ,"); } sSQL.Add(" XLXSJGBYZZ1_WHR = :pWHR,"); sSQL.Add(" XLXSJGBYZZ1_WHRID = :pWHRID,"); sSQL.Add(" XLXSJGBYZZ1_WHSJ = :pWHSJ "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZValue[k].Split('|')[0].Trim(); sSQL.ParamByName("pYZZ").Value = CMISproConvert.StrToFloat(sYZValue[k].Split('|')[1], 0); sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) sSQL.ParamByName("pXLXHID").Value = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())) sSQL.ParamByName("pDYDJID").Value = CurQueryEntity.FieldByName("DYDJID").Value.Trim(); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("TJDH").Value.Trim())) sSQL.ParamByName("pTJDH").Value = CurQueryEntity.FieldByName("TJDH").Value.Trim(); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPYT").Value.Trim())) sSQL.ParamByName("pCPYT").Value = CurQueryEntity.FieldByName("CPYT").Value.Trim(); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLTXID").Value.Trim())) sSQL.ParamByName("pXLTXID").Value = CurQueryEntity.FieldByName("XLTXID").Value.Trim(); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DTCLID").Value.Trim())) sSQL.ParamByName("pDTCLID").Value = CurQueryEntity.FieldByName("DTCLID").Value.Trim(); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJFL").Value.Trim())) sSQL.ParamByName("pDYDJFL").Value = CurQueryEntity.FieldByName("DYDJFL").Value.Trim(); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLJGID").Value.Trim())) sSQL.ParamByName("pXLJGID").Value = CurQueryEntity.FieldByName("XLJGID").Value.Trim(); if (!CurQueryEntity.FieldByName("CPMLID").Value.Equals("") && !CurQueryEntity.FieldByName("CPMLID").Value.Equals("空")) sSQL.ParamByName("pCPMLID").Value = CurQueryEntity.FieldByName("CPMLID").Value.Trim(); dberp.ExecSQL(sSQL); } } } dberp.CommitTrans(); ShowMessage("设置完成!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } } moduleGV_PageIndexChanging(null, null); } protected void btnRefreshDRJGBMX_Click(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } protected void btnPLSZ_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } txtTJYZValue.Value = ""; TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "CLQDYZ_PLSZList.aspx"; pageParams.AddString("JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("SelIndexs", ContentGrid.CheckedRowIndexs); pageParams.AddString("TJYZValueCID", txtTJYZValue.ClientID); pageParams.AddString("btnRefresh1CID", btnRefresh1.ClientID); pageParams.AddString("TJYS","1"); pageParams.AddString("YZID", PageParam.GetRTrimString("TJYZID")); if (!ContentGrid.CheckedRowIndexs.Equals("")) pageParams.AddString("GXDR", "Y"); else pageParams.AddString("GXDR", "N"); OpenDialog(pageParams); } protected void btnAYSXHKC_Click(object sender, EventArgs e) { base.InitEntityByCondition(); string sJGBID = CurQueryEntity.FieldByName("JGBID").Value.Trim(); string sYZID = PageParam.GetRTrimString("TJYZID"); if (sJGBID.Equals("")) { ShowMessage("请先查询调价表!"); return; } if (sYZID.Equals("") || (sYZID.Contains(","))) { ShowMessage("请从线缆销售报价价格表调价因子模块打开!"); return; } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "CLQDYZ_AYSXHKCInfo.aspx"; pageParams.AddString("JGBID", sJGBID); pageParams.AddString("sYZID", sYZID); OpenDialog(pageParams); } protected void btnDRWJ_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "DRJGBYZZ1.aspx"; pageParams.AddString("JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("btnRefresh1CID", btnRefresh2.ClientID); OpenDialog(pageParams); } protected void btnAXJGZDR_Click(object sender, EventArgs e) { base.InitEntityByCondition(); string sJGBID = CurQueryEntity.FieldByName("JGBID").Value.Trim(); string sYZID = PageParam.GetRTrimString("TJYZID"); if (sJGBID.Equals("")) { ShowMessage("请先查询调价表!"); return; } if (sYZID.Equals("") || (sYZID.Contains(","))) { ShowMessage("请从线缆销售报价价格表调价因子模块打开!"); return; } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "DRJGBYZZ1_AXJGZDR.aspx"; pageParams.AddString("JGBID", sJGBID); pageParams.AddString("sYZID", sYZID); pageParams.AddString("btnRefresh1CID", btnRefresh2.ClientID); OpenDialog(pageParams); } protected void btnCKXJFY_Click(object sender, EventArgs e) { string sExcelPath = Path.Combine(HttpContext.Current.Server.MapPath("~/work/temp/外径盘具金额/"), "外径盘具金额.xlsx"); if (!File.Exists(sExcelPath)) { ShowMessage("外径盘具金额Excel文件不存在,请先通过“按线径规则计算导入”功能导入!"); return; } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "CLQDYZ_XJFYView.aspx"; OpenDialog(pageParams); } protected void btnACLQDDR_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } if (txtFirstYZID.Value.Trim().Equals("")) { ShowMessage("没有适用的调价因子!"); return; } string sExcelPath = Path.Combine(HttpContext.Current.Server.MapPath("~/work/temp/外径盘具金额/"), "外径盘具金额.xlsx"); if (!File.Exists(sExcelPath)) { ShowMessage("外径盘具金额Excel文件不存在,请先通过“按型号规格电压等级标准导入”功能导入外径盘具金额模板!"); return; } 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"); bool bTransStarted = false; try { string sReadErr = ""; DataSet dsExcel = TExcelData.ReadExcel_NPOI(sExcelPath, 0, true, ref sReadErr); if (dsExcel == null || dsExcel.Tables.Count < 1 || !sReadErr.Trim().Equals("")) { ShowMessage("读取外径盘具金额Excel失败:" + sReadErr); return; } Dictionary dicPTXP = new Dictionary(); Dictionary dicDXXP = new Dictionary(); DataTable dtSheet = dsExcel.Tables[0]; for (int i = 0; i < dtSheet.Rows.Count; i++) { string sWJ = sGetCellText(dtSheet.Rows[i], 0); if (sWJ.Equals("")) continue; double dPTXP = CMISproConvert.StrToFloat(sGetCellText(dtSheet.Rows[i], 1), 0); double dDXXP = CMISproConvert.StrToFloat(sGetCellText(dtSheet.Rows[i], 2), 0); if (!dicPTXP.ContainsKey(sWJ)) dicPTXP.Add(sWJ, dPTXP); if (!dicDXXP.ContainsKey(sWJ)) dicDXXP.Add(sWJ, dDXXP); } string[] arrBaseModels = new string[] { "BTLY", "BTTRZ", "BTTVZ", "BTTYRZ", "BTTYZ", "BTTZ", "RTTVZ", "RTTYZ", "RTTZ", "YTTW", "YTTWG", "YTTWV", "YTTWY", "YTTWZ", "BTTVQ", "BTTYQ" }; dberp.BeginTrans(); bTransStarted = true; TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("select XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,XLXHGGJSJGB_BXWJ "); sSQL.Add(" from XLXSCLQD "); sSQL.Add(" left join XLXHGGJSJGB on XLXHGGJSJGB_JGCZBID=XLXSCLQD_JGCZBID and XLXHGGJSJGB_JGCZBBBID=XLXSCLQD_JGCZBBBID and XLXHGGJSJGB_JGCZBXH=XLXSCLQD_JGCZBXH and XLXHGGJSJGB_DRHH=XLXSCLQD_DRHH "); sSQL.Add(" where XLXHGGJSJGB_JSXH=888 "); sSQL.Add(" and XLXSCLQD_WPID='ZZZZ' "); DataSet dsRows = dberp.OpenDataSet(sSQL); string[] sTJYZList = txtTJYZList.Value.Split(','); for (int i = 0; i < sTJYZList.Length; i++) { string sYZID = sTJYZList[i].Split('|')[0]; sSQL.Clear(); sSQL.Add("delete from XLXSJGBYZZ1 where XLXSJGBYZZ1_JGBID=:pJGBID and XLXSJGBYZZ1_YZID=:pYZID and exists(select 1 from XLXSCLQD "); sSQL.Add(" left join XLXHGGJSJGB on XLXHGGJSJGB_JGCZBID=XLXSCLQD_JGCZBID and XLXHGGJSJGB_JGCZBBBID=XLXSCLQD_JGCZBBBID and XLXHGGJSJGB_JGCZBXH=XLXSCLQD_JGCZBXH and XLXHGGJSJGB_DRHH=XLXSCLQD_DRHH "); sSQL.Add(" where XLXHGGJSJGB_JSXH=888 and XLXSCLQD_WPID='ZZZZ' and XLXSJGBYZZ1_XLXHID=XLXSCLQD_XLXHID and XLXSJGBYZZ1_XLGGID=XLXSCLQD_XLGGID and XLXSJGBYZZ1_XLBZID=XLXSCLQD_XLBZID and XLXSJGBYZZ1_DYDJID=XLXSCLQD_DYDJID )"); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sYZID; dberp.ExecSQL(sSQL); for (int r = 0; r < dsRows.Tables[0].Rows.Count; r++) { DataRow row = dsRows.Tables[0].Rows[r]; string sXLXHID = row["XLXSCLQD_XLXHID"].ToString().Trim(); string sXLGGID = row["XLXSCLQD_XLGGID"].ToString().Trim(); string sXLBZID = row["XLXSCLQD_XLBZID"].ToString().Trim(); string sDYDJID = row["XLXSCLQD_DYDJID"].ToString().Trim(); string sWJ = row["XLXHGGJSJGB_BXWJ"].ToString().Trim(); if (sWJ.Equals("")) continue; bool bUseDXXP = false; string sUpperXLXHID = sXLXHID.ToUpper(); for (int j = 0; j < arrBaseModels.Length; j++) { if (sUpperXLXHID.Contains(arrBaseModels[j])) { bUseDXXP = true; break; } } double dAmount = 0; if (bUseDXXP) { if (!dicDXXP.ContainsKey(sWJ)) continue; dAmount = dicDXXP[sWJ]; } else { if (!dicPTXP.ContainsKey(sWJ)) continue; dAmount = dicPTXP[sWJ]; } sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ1(XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_WHR,XLXSJGBYZZ1_WHRID,XLXSJGBYZZ1_WHSJ)"); sSQL.Add(" values(:XLXSJGBYZZ1_JGBID,:XLXSJGBYZZ1_XLXHID,:XLXSJGBYZZ1_XLGGID,:XLXSJGBYZZ1_XLBZID,:XLXSJGBYZZ1_DYDJID,:XLXSJGBYZZ1_YZID,:XLXSJGBYZZ1_YZZ,:XLXSJGBYZZ1_WHR,:XLXSJGBYZZ1_WHRID,:XLXSJGBYZZ1_WHSJ)"); sSQL.ParamByName("XLXSJGBYZZ1_JGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("XLXSJGBYZZ1_XLXHID").Value = sXLXHID; sSQL.ParamByName("XLXSJGBYZZ1_XLGGID").Value = sXLGGID; sSQL.ParamByName("XLXSJGBYZZ1_XLBZID").Value = sXLBZID; sSQL.ParamByName("XLXSJGBYZZ1_DYDJID").Value = sDYDJID; sSQL.ParamByName("XLXSJGBYZZ1_YZID").Value = sYZID; sSQL.ParamByName("XLXSJGBYZZ1_YZZ").Value = dAmount; sSQL.ParamByName("XLXSJGBYZZ1_WHR").Value = tSession.UserName; sSQL.ParamByName("XLXSJGBYZZ1_WHRID").Value = tSession.UserId; sSQL.ParamByName("XLXSJGBYZZ1_WHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } } dberp.CommitTrans(); ShowMessage("导入数据完成!"); moduleGV_PageIndexChanging(null, null); } catch (Exception ex) { ShowMessage(ex.Message); if (bTransStarted) dberp.RollbackTrans(); } } private string sGetCellText(DataRow Row, int ColumnIndex) { return Row[ColumnIndex].ToString().Trim().Replace("\r\n", "").Replace("\n", ""); } protected void btnDRWJ_MenuItemClick(object sender, string ItemIndex) { switch (ItemIndex) { case "DRCLQD"://从材料清单导入 btnDRCLQD_Click(null,null); break; } } protected void btnAXJGZDR_MenuItemClick(object sender, string ItemIndex) { switch (ItemIndex) { case "CKPJJE": btnCKXJFY_Click(null, null); break; case "CKXLWJ": TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "../Components/N_XLJC/BJCPWHList.aspx"; OpenDialog(pageParams); break; } } protected void btnDRCLQD_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } if (txtFirstYZID.Value.Trim().Equals("")) { ShowMessage("没有适用的调价因子!"); return; } 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"); try { dberp.BeginTrans(); TSQL sSQL = new TSQL(dberp); string[] sTJYZList = txtTJYZList.Value.Split(','); for (int i = 0; i < sTJYZList.Length; i++) { sSQL.Clear(); sSQL.Add("insert into XLXSJGBYZZ1(XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_WHR,XLXSJGBYZZ1_WHRID,XLXSJGBYZZ1_WHSJ)"); sSQL.Add(" select :pJGBID,XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,:pYZID,0,:pWHR,:pWHRID,:pWHSJ "); sSQL.Add(" from XLXSCLQD "); sSQL.Add(" where not exists(select 1 from XLXSJGBYZZ1 where XLXSJGBYZZ1_JGBID=:pJGBID and XLXSJGBYZZ1_YZID=:pYZID and XLXSJGBYZZ1_XLXHID=XLXSCLQD_XLXHID and XLXSJGBYZZ1_XLGGID=XLXSCLQD_XLGGID"); sSQL.Add(" and XLXSJGBYZZ1_XLBZID=XLXSCLQD_XLBZID and XLXSJGBYZZ1_DYDJID=XLXSCLQD_DYDJID)"); sSQL.Add(" and XLXSCLQD_WPID='ZZZZ' "); sSQL.ParamByName("pJGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); sSQL.ParamByName("pYZID").Value = sTJYZList[i].Split('|')[0]; sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); } dberp.CommitTrans(); ShowMessage("导入材料清单数据完成!"); moduleGV_PageIndexChanging(null, null); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } } protected void btnTBZJGB_Click(object sender, EventArgs e) { string sMsg = "当前数据将同步至价格表【" + PageParam.GetRTrimString("XLJGBMC") + "】的" + PageParam.GetRTrimString("XLJGBTJYZMC") + "中,并重算表价,是否继续?"; Confirm.Register("IsQD", sMsg); 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(); } //执行完毕后关闭当前页面 DialogOperationScript dos = new DialogOperationScript(this); dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshTBCID")); dos.CloseSelf(); dos.Execute(); } protected void btnTBSJ_Click(object sender, EventArgs e) { base.InitEntityByCondition(); if (CurQueryEntity.FieldByName("JGBID").Value.Trim().Equals("")) { ShowMessage("调价表条件为空,请先进行查询!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSTZYZ_JGBID,XLXSTZYZ_YZID, XLXSTZYZ_YZMC from XLXSTZYZ where XLXSTZYZ_MXBH = 'BJD' and XLXSTZYZ_TJYS = 'A' "); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count == 0) { ShowMessage("不存在调价因素为【A|型号&规格&电压&标准】的报价单调价因子!"); return; } else if (ds.Tables[0].Rows.Count == 1) { string sTJYZID = PageParam.GetRTrimString("TJYZID"); string sTJYZMC = GetTJYZMC(sTJYZID, "JZJ"); string sMsg = "将同步【" + sTJYZMC + "】价格表因子调价表数据至【" + ds.Tables[0].Rows[0]["XLXSTZYZ_YZMC"].ToString().Trim() + "】报价单因子调价表,是否确认?"; Confirm.Register("IsQD", sMsg); 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(); try { dberp.BeginTrans(); SQL.Clear(); SQL.Add(" delete from XLXSBJDYZZA where XLXSBJDYZZA_JGBID = :pJGBID and XLXSBJDYZZA_YZID = :pYZID "); SQL.ParamByName("pJGBID").Value = ds.Tables[0].Rows[0]["XLXSTZYZ_JGBID"].ToString().Trim(); SQL.ParamByName("pYZID").Value = ds.Tables[0].Rows[0]["XLXSTZYZ_YZID"].ToString().Trim(); dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add(" insert into XLXSBJDYZZA(XLXSBJDYZZA_JGBID,XLXSBJDYZZA_XLXHID,XLXSBJDYZZA_XLGGID,XLXSBJDYZZA_DYDJID,XLXSBJDYZZA_XLBZID,XLXSBJDYZZA_YZID,XLXSBJDYZZA_YZZ,XLXSBJDYZZA_WHR,XLXSBJDYZZA_WHRID,XLXSBJDYZZA_WHSJ)"); SQL.Add(" select :XLXSBJDYZZA_JGBID,XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_DYDJID,XLXSJGBYZZ1_XLBZID,:XLXSBJDYZZA_YZID,XLXSJGBYZZ1_YZZ,:XLXSBJDYZZA_WHR,:XLXSBJDYZZA_WHRID,:XLXSBJDYZZA_WHSJ from XLXSJGBYZZ1 "); SQL.Add(" where XLXSJGBYZZ1_JGBID = :XLXSJGBYZZ1_JGBID and XLXSJGBYZZ1_YZID = :XLXSJGBYZZ1_YZID "); SQL.ParamByName("XLXSBJDYZZA_JGBID").Value = ds.Tables[0].Rows[0]["XLXSTZYZ_JGBID"].ToString().Trim(); SQL.ParamByName("XLXSBJDYZZA_YZID").Value = ds.Tables[0].Rows[0]["XLXSTZYZ_YZID"].ToString().Trim(); SQL.ParamByName("XLXSJGBYZZ1_JGBID").Value = CurQueryEntity.FieldByName("JGBID").Value.Trim(); SQL.ParamByName("XLXSJGBYZZ1_YZID").Value = sTJYZID; SQL.ParamByName("XLXSBJDYZZA_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSBJDYZZA_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSBJDYZZA_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); dberp.CommitTrans(); // 批量同步XLXSBJXLGGTHB表 XLBJDUtils.SyncXLXSBJXLGGTHB_Batch(dberp, tSession); ShowMessage("同步成功!"); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); } } } else if (ds.Tables[0].Rows.Count > 1) { //目标调价因素存在多个因子进入因子选择页面 string sTJYZID = PageParam.GetRTrimString("TJYZID"); string sTJYZMC = GetTJYZMC(sTJYZID, "JZJ"); TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "TZYZJJ_YZXZInfo.aspx"; pageParams.AddString("JGBID", CurQueryEntity.FieldByName("JGBID").Value.Trim()); pageParams.AddString("TJYZID", sTJYZID); pageParams.AddString("TJYZMC", sTJYZMC); pageParams.AddString("LY", "JGB"); OpenDialog(pageParams); } } protected void btnTJYZJDKC_Click(object sender, EventArgs e) { base.InitEntityByCondition(); string sJGBID = CurQueryEntity.FieldByName("JGBID").Value.Trim(); string sYZID = PageParam.GetRTrimString("TJYZID"); if (sJGBID.Equals("")) { ShowMessage("请先查询调价表!"); return; } if (sYZID.Equals("") || (sYZID.Contains(","))) { ShowMessage("请从线缆销售报价价格表调价因子模块打开!"); return; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); dberp.BeginTrans(); try { #region 校验 #endregion #region 删除记录 SQL.Clear(); SQL.Add(" delete from XLXSJGBYZZ1 where XLXSJGBYZZ1_JGBID = :pJGBID and XLXSJGBYZZ1_XHKCBZ='Y' and XLXSJGBYZZ1_YZID=:pYZID "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pYZID").Value = sYZID; dberp.ExecSQL(SQL); #endregion #region 扩充 string sJSFS = GetYZZJDKCJSFS(sYZID); //查询扩充后因子值<=0而未扩充的记录,用于导出 DataTable dtWKC = new DataTable(); dtWKC.TableName = "sheet1"; dtWKC.Columns.Add("型号", typeof(string)); dtWKC.Columns.Add("规格", typeof(string)); dtWKC.Columns.Add("标准", typeof(string)); dtWKC.Columns.Add("电压等级", typeof(string)); dtWKC.Columns.Add("因子名称", typeof(string)); SQL.Clear(); SQL.Add(" select distinct XLXHID,XLGGID,XLBZID,DYDJID "); SQL.Add(" from ("); SQL.Add(" select distinct TJYZJDKCB_KCQXLXHID as XLXHID,XLGGID,XLBZID,"); SQL.Add(" (case when (TJYZJDKCB_KCHDYDJID <>' ') then TJYZJDKCB_KCHDYDJID else JGBDYDJID end ) as DYDJID,"); if (sJSFS.Equals("M")) { SQL.Add(" ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then TJYZJDKCB_JDZ "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then TJYZJDKCB_JDZ "); SQL.Add(" else 0 end "); SQL.Add(" )*YZZ "); } else if (sJSFS.Equals("D")) { SQL.Add(" case when ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then TJYZJDKCB_JDZ "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then TJYZJDKCB_JDZ "); SQL.Add(" else 0 end "); SQL.Add(" ) = 0 then 0 else RoundFix(YZZ/ ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then TJYZJDKCB_JDZ "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then TJYZJDKCB_JDZ "); SQL.Add(" else 0 end "); SQL.Add(" ),2) end "); } else { SQL.Add(" 1*YZZ "); } SQL.Add(" as YZZ "); SQL.Add(" from"); SQL.Add(" ("); SQL.Add(" select distinct XLXSJGBYZZ1_XLXHID as JGBXLXHID,XLXSJGBYZZ1_XLGGID as XLGGID,XLXSJGBYZZ1_XLBZID as XLBZID,"); SQL.Add(" isnull(XLXSJGBYZZ1_DYDJID,' ') as JGBDYDJID,isnull(XLGGB_XXJGID,' ') as XXJGID, isnull(XLDTJMZHB_DTJM1,0) as ZXJM,"); SQL.Add(" XLXSJGBYZZ1_TJDH as TJDH,XLXSJGBYZZ1_YZZ as YZZ "); SQL.Add(" from XLXSJGBYZZ1"); SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSJGBYZZ1_XLXHID "); SQL.Add(" left join XLGGB on XLGGB_XLGGID=REPLACE(XLXSJGBYZZ1_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); SQL.Add(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID "); SQL.Add(" where XLXSJGBYZZ1_JGBID=:pJGBID and XLXSJGBYZZ1_YZID=:pYZID "); SQL.Add(" ) jgbmx"); SQL.Add(" left join TJYZJDKCB on TJYZJDKCB_YZID =:pYZID and TJYZJDKCB_KCQXLXHID=JGBXLXHID"); SQL.Add(" where 1=1"); // 电压等级 SQL.Add(" and ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then 1 "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then 2 "); SQL.Add(" else -999 end "); SQL.Add(" ) <> -999 "); // 主芯截面区间 SQL.Add(" and TJYZJDKCB_ZXJMXX<= ZXJM and ((TJYZJDKCB_ZXJMSX<>0 and TJYZJDKCB_ZXJMSX>=ZXJM) or TJYZJDKCB_ZXJMSX=0)"); // 芯线结构 SQL.Add(" and (TJYZJDKCB_XXJGID=XXJGID or TJYZJDKCB_XXJGID=' ')"); SQL.Add(" ) DZB"); SQL.Add(" where DZB.YZZ <= 0 "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pYZID").Value = sYZID; DataSet dsWKC = dberp.OpenDataSet(SQL); string sYZMC = GetTJYZMC(sYZID, "JZJ"); for (int i = 0; i < dsWKC.Tables[0].Rows.Count; i++) { DataRow drWKC = dtWKC.NewRow(); drWKC["型号"] = dsWKC.Tables[0].Rows[i]["XLXHID"].ToString().Trim(); drWKC["规格"] = dsWKC.Tables[0].Rows[i]["XLGGID"].ToString().Trim(); drWKC["标准"] = dsWKC.Tables[0].Rows[i]["XLBZID"].ToString().Trim(); drWKC["电压等级"] = dsWKC.Tables[0].Rows[i]["DYDJID"].ToString().Trim(); drWKC["因子名称"] = sYZMC; dtWKC.Rows.Add(drWKC); } SQL.Clear(); SQL.Add(" merge into XLXSJGBYZZ1 tar "); SQL.Add(" using( select :pJGBID as JGBID,:pYZID as YZID,YZZ,TJDH,'Y' as XHKCBZ, "); SQL.Add(" XLXHID,XLGGID,XLBZID,DYDJID "); //SQL.Add(" :pWHR,:pWHRID,:pWHSJ "); SQL.Add(" from"); SQL.Add(" ("); SQL.Add(" select distinct TJDH,");//distinct是因为XLGGB里存在芯线结构不同的数据,如4×6的芯线结构有2×2和4两种 SQL.Add(" TJYZJDKCB_KCHXLXHID as XLXHID,XLGGID,XLBZID,"); SQL.Add(" (case when (TJYZJDKCB_KCHDYDJID <>' ') then TJYZJDKCB_KCHDYDJID else JGBDYDJID end ) as DYDJID,"); if (sJSFS.Equals("M")) { SQL.Add(" ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then TJYZJDKCB_JDZ "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then TJYZJDKCB_JDZ "); SQL.Add(" else 0 end "); SQL.Add(" )*YZZ "); } else if (sJSFS.Equals("D")) { SQL.Add(" case when ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then TJYZJDKCB_JDZ "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then TJYZJDKCB_JDZ "); SQL.Add(" else 0 end "); SQL.Add(" ) = 0 then 0 else RoundFix(YZZ/ ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then TJYZJDKCB_JDZ "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then TJYZJDKCB_JDZ "); SQL.Add(" else 0 end "); SQL.Add(" ),2) end "); } else { SQL.Add(" 1*YZZ "); } SQL.Add(" as YZZ "); SQL.Add(" from"); SQL.Add(" ("); SQL.Add(" select distinct XLXSJGBYZZ1_XLXHID as JGBXLXHID,XLXSJGBYZZ1_XLGGID as XLGGID,XLXSJGBYZZ1_XLBZID as XLBZID,"); SQL.Add(" isnull(XLXSJGBYZZ1_DYDJID,' ') as JGBDYDJID,isnull(XLGGB_XXJGID,' ') as XXJGID, isnull(XLDTJMZHB_DTJM1,0) as ZXJM,"); SQL.Add(" XLXSJGBYZZ1_TJDH as TJDH,XLXSJGBYZZ1_YZZ as YZZ "); SQL.Add(" from XLXSJGBYZZ1"); SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSJGBYZZ1_XLXHID "); SQL.Add(" left join XLGGB on XLGGB_XLGGID=REPLACE(XLXSJGBYZZ1_XLGGID,'*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); SQL.Add(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID "); SQL.Add(" where XLXSJGBYZZ1_JGBID=:pJGBID and XLXSJGBYZZ1_YZID=:pYZID "); SQL.Add(" ) jgbmx"); SQL.Add(" left join TJYZJDKCB on TJYZJDKCB_YZID =:pYZID and TJYZJDKCB_KCQXLXHID=JGBXLXHID"); SQL.Add(" where 1=1"); // 电压等级 SQL.Add(" and ( "); SQL.Add(" case WHEN TJYZJDKCB_DYDJID=JGBDYDJID then 1 "); SQL.Add(" when TJYZJDKCB_DYDJID= ' ' and JGBDYDJID<> ' ' then 2 "); SQL.Add(" else -999 end "); SQL.Add(" ) <> -999 "); // 主芯截面区间 SQL.Add(" and TJYZJDKCB_ZXJMXX<= ZXJM and ((TJYZJDKCB_ZXJMSX<>0 and TJYZJDKCB_ZXJMSX>=ZXJM) or TJYZJDKCB_ZXJMSX=0)"); // 芯线结构 SQL.Add(" and (TJYZJDKCB_XXJGID=XXJGID or TJYZJDKCB_XXJGID=' ')"); SQL.Add(" ) DZB"); SQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID=DYDJID where DZB.YZZ>0 ) sor "); SQL.Add(" on( XLXSJGBYZZ1_JGBID=JGBID and XLXSJGBYZZ1_YZID=YZID and XLXSJGBYZZ1_XLXHID=XLXHID and XLXSJGBYZZ1_XLGGID=XLGGID and XLXSJGBYZZ1_XLBZID=XLBZID and XLXSJGBYZZ1_DYDJID=DYDJID ) "); SQL.Add(" when matched then update set XLXSJGBYZZ1_XHKCBZ= XHKCBZ,XLXSJGBYZZ1_YZZ=YZZ,XLXSJGBYZZ1_TJDH=TJDH "); SQL.Add(" when not matched then insert "); SQL.Add(" ( "); SQL.Add(" XLXSJGBYZZ1_JGBID,XLXSJGBYZZ1_YZID,XLXSJGBYZZ1_YZZ,XLXSJGBYZZ1_TJDH,XLXSJGBYZZ1_XHKCBZ, "); SQL.Add(" XLXSJGBYZZ1_XLXHID,XLXSJGBYZZ1_XLGGID,XLXSJGBYZZ1_XLBZID,XLXSJGBYZZ1_DYDJID, "); SQL.Add(" XLXSJGBYZZ1_WHR,XLXSJGBYZZ1_WHRID,XLXSJGBYZZ1_WHSJ "); SQL.Add(" )values "); SQL.Add(" ( "); SQL.Add(" JGBID,YZID,YZZ,TJDH,XHKCBZ, "); SQL.Add(" XLXHID,XLGGID,XLBZID,DYDJID, "); SQL.Add(" :pWHR,:pWHRID,:pWHSJ "); SQL.Add(" ) "); SQL.ParamByName("pYZID").Value = sYZID; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pJGBID").Value = sJGBID; dberp.ExecSQL(SQL); #endregion dberp.CommitTrans(); if (dtWKC.Rows.Count > 0) { DCWKCExcel(dtWKC); ShowMessage("按调价因子加点扩充表扩充成功,其中" + dtWKC.Rows.Count.ToString() + "条记录因扩充后因子值小于等于0未扩充,已导出未扩充记录!"); } else { ShowMessage("按调价因子加点扩充表扩充成功!"); } moduleGV_PageIndexChanging(null, null); } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage("按调价因子加点扩充表扩充出现异常:" + ex.Message); } } //导出因扩充后因子值小于等于0而未扩充的记录 private void DCWKCExcel(DataTable dtWKC) { string sFILENAME = "未扩充记录.xls"; string m_tmpFilePath = FileService.CombineTempPath(Guid.NewGuid().ToString() + sFILENAME); DataSet dsDC = new DataSet(); dsDC.Tables.Add(dtWKC); string sError = ""; NpoiCellData cd = new NpoiCellData(); cd.CellComment = new System.Collections.Generic.Dictionary(); NpoiSheetData sd = new NpoiSheetData(); sd.ColumnType = new System.Collections.Generic.Dictionary(); sd.ColumnType.Add("A", NpoiColumnType.String); sd.ColumnType.Add("B", NpoiColumnType.String); sd.ColumnType.Add("C", NpoiColumnType.String); sd.ColumnType.Add("D", NpoiColumnType.String); sd.ColumnType.Add("E", NpoiColumnType.String); sd.ColumnStyle = new System.Collections.Generic.Dictionary(); NpoiColumnStyle ct = new NpoiColumnStyle(); ct.DataFormat = "@"; sd.ColumnStyle.Add("A", ct); sd.ColumnStyle.Add("B", ct); sd.ColumnStyle.Add("C", ct); sd.ColumnStyle.Add("D", ct); sd.ColumnStyle.Add("E", ct); sd.FreezePaneRows = 1; TExcelData.CreateExcel_NPOI(m_tmpFilePath, dsDC, true, cd, sd, ref sError); if (string.IsNullOrEmpty(sError)) { System.IO.FileInfo file = new System.IO.FileInfo(m_tmpFilePath); string URL = Page.ResolveClientUrl("~") + "/N_MODEL/Dialog/TempFileDownload.ashx?TempFileName=" + file.Name + "&FileName=未扩充记录" + file.Extension; string jsript = @"var JLDCDiv = document.createElement('div');JLDCDiv.style.width=0;JLDCDiv.style.height=0;JLDCDiv.id = 'DivifrDownLoad';" + " var ele=document.documentElement||document.body;ele.appendChild(JLDCDiv);var iJLDCfrm = document.createElement('iframe');iJLDCfrm.id = 'iJLDCfrmDownLoad';iJLDCfrm.src = '" + URL + "';" + "iJLDCfrm.style.width = 0;iJLDCfrm.style.height = 0; JLDCDiv.appendChild(iJLDCfrm);"; AJAXRunScript(this, "OPENWKC", jsript); } else { ShowMessage("导出未扩充记录失败!"); } } #endregion #region GridView增加列 /// /// 设置etCheckBox列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int Width, TEditType CheckBox) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; ContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etCheckBox; ContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etString列的属性 /// /// /// /// private void AddColumn(string sDataField, string HeadText, int Width) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; ContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etString; ColumnEx.ShowHint = true; ContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etNumber列的属 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)Width; Column.HeaderStyle.Width = (Unit)Width; Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right; ContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etNumber; ColumnEx.ShowHint = true; ColumnEx.NumberDecimalPlace = NumberDecimalPlace; ContentGrid.ColumnsEx.Insert(0, ColumnEx); } /// /// 设置etDateTime列的属性 /// /// /// /// /// private void AddColumn(string sDataField, string HeadText, TDateTimeEditKinds DateTimeKind) { BoundField Column = new BoundField(); Column.DataField = sDataField; Column.HeaderText = HeadText; Column.ItemStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72); Column.HeaderStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72); ContentGrid.Columns.Add(Column); gtGridView_Column ColumnEx = new gtGridView_Column(); ColumnEx.DataField = sDataField; ColumnEx.EditType = TEditType.etDateTime; ColumnEx.DateTimeEditKins = DateTimeKind; ContentGrid.ColumnsEx.Insert(0, ColumnEx); } #endregion } }