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_MISPRO.Data; using GThinking.N_MISPRO.Utility; using System.Text; using GThinking.N_CONTROL; using GThinking.N_MISPRO; using GThinking.N_MISPRO.TableCache; using GThinking.N_MISPROAS.Services; namespace GThinking.N_XLXSBJ { public partial class XLJGB_PLDRList : SingleGridBase { XLJGB_PLDR entity = new XLJGB_PLDR(); PLDR_M queryEntity = new PLDR_M(); #region 页面初始化 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860001; this.UMName = "线缆销售报价价格表"; this.CurMaster = Master; this.ModuleGV = ContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryEntity; sQueryURLTarget = "XLJGB_PLDRQuery.aspx"; this.PageHeight = 400; this.PageWidth = 500; base.DataKeyNames = new string[] { "XLXSCLQD_XLXHID", "XLXSCLQD_XLGGID", "XLXSCLQD_XLBZID", "XLXSCLQD_DYDJID" }; this.Master.EnableNewBtn = false; this.Master.EnableCopyBtn = false; this.Master.EnableEditBtn = false; this.Master.EnableDeleteBtn = false; this.Master.EnableViewBtn = false; if (!IsPostBack) { queryEntity.FieldByName("FJDDZB").Value = "True"; } base.InitPage(); this.ModuleGV.OnClientDblClick = "return false;"; if (!IsPostBack) { } } #endregion #region 模板继承事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySql(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(ContentGrid, tSession); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySql(); ContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } #endregion #region 控件事件 protected void btnQR_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(ContentGrid.CheckedRowIndexs)) { ShowMessage("请勾选要导入的记录!"); return; } int iXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002")); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; string sBJU003 = GetOption(100860000, "BJU003"); string[] sRowIndexs = ContentGrid.CheckedRowIndexs.Split(','); if (!string.IsNullOrEmpty(PageParam.GetRTrimString("JGBID"))) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); //获取价格表明细最大序号 sSQL.Clear(); sSQL.Add("select isnull(max(XLXSJGBMX_XH),0.0) from XLXSJGBMX where XLXSJGBMX_JGBID=:pJGBID"); sSQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID"); DataSet dsJGB = dberp.OpenDataSet(sSQL); double MaxXH = 0.0; if (dsJGB.Tables[0].Rows.Count > 0) { MaxXH = CMISproConvert.StrToFloat(dsJGB.Tables[0].Rows[0][0].ToString(), 0); } try { dberp.BeginTrans(); //批量插入XLXSJGBMX sSQL.Clear(); sSQL.Add("insert into XLXSJGBMX( "); sSQL.Add("XLXSJGBMX_JGBID,XLXSJGBMX_XH, "); sSQL.Add("XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,XLXSJGBMX_JLDW, "); sSQL.Add("XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ, "); sSQL.Add("XLXSJGBMX_WSJJ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSJJM,XLXSJGBMX_HSJJM,XLXSJGBMX_WSBJM,XLXSJGBMX_HSBJM, "); sSQL.Add("XLXSJGBMX_BZ,XLXSJGBMX_WHRID,XLXSJGBMX_WHR,XLXSJGBMX_WHSJ) "); sSQL.Add("select :pJGBID as JGBID,:pMaxXH+row_number() over(order by XLXHID,XH) as XH, "); sSQL.Add("XLXHID,XLGGID,XLBZID,DYDJID,:pJLDW, "); sSQL.Add(":pYXQS as YXQS,:pYXQZ as YXQZ, "); sSQL.Add(" 0.0 as WSCLCB,0.0 as CLCB, "); sSQL.Add(" 0.0 as WSCPJJ,0.0 as CPJJ, "); sSQL.Add(" 0.0 as WSCLCBM,0.0 as CLCBM, "); sSQL.Add(" 0.0 as WSCPJJM,0.0 as CPJJM, "); sSQL.Add("' ' as BZ,:pWHRID,:pWHR,:pWHSJ "); sSQL.Add(" from"); sSQL.Add(" ("); sSQL.Add(" select XLXSCLQD_XLXHID as XLXHID,XLXSCLQD_XLGGID as XLGGID,XLXSCLQD_XLBZID as XLBZID,XLXSCLQD_DYDJID as DYDJID,XLXSCLQD_XH as XH"); sSQL.Add(" from XLXSCLQD"); sSQL.Add(" where not exists"); sSQL.Add(" (select 1 from XLXSJGBMX where XLXSJGBMX_JGBID=:pJGBID and XLXSJGBMX_XLXHID=XLXSCLQD_XLXHID and XLXSJGBMX_XLGGID=XLXSCLQD_XLGGID and XLXSJGBMX_XLBZID=XLXSCLQD_XLBZID and isnull(XLXSJGBMX_DYDJID,' ')=XLXSCLQD_DYDJID) "); sSQL.Add(" and ("); for (int i = 0; i < sRowIndexs.Length; i++) { if (i == sRowIndexs.Length - 1) sSQL.Add(string.Format(" (XLXSCLQD_XLXHID='{0}' and XLXSCLQD_XLGGID='{1}' and XLXSCLQD_XLBZID='{2}' and XLXSCLQD_DYDJID='{3}') ", ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_XLXHID"].ToString().Trim(), ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_XLGGID"].ToString().Trim(), ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_XLBZID"].ToString().Trim(), ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_DYDJID"].ToString().Trim().Equals("") ? " " : ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_DYDJID"].ToString().Trim())); else sSQL.Add(string.Format(" (XLXSCLQD_XLXHID='{0}' and XLXSCLQD_XLGGID='{1}' and XLXSCLQD_XLBZID='{2}' and XLXSCLQD_DYDJID='{3}') or ", ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_XLXHID"].ToString().Trim(), ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_XLGGID"].ToString().Trim(), ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_XLBZID"].ToString().Trim(), ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_DYDJID"].ToString().Trim().Equals("") ? " " : ContentGrid.DataKeys[int.Parse(sRowIndexs[i])]["XLXSCLQD_DYDJID"].ToString().Trim())); } sSQL.Add(") "); sSQL.Add(" ) c"); sSQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID"); sSQL.ParamByName("pMaxXH").Value = MaxXH; sSQL.ParamByName("pYXQS").Value = PageParam.GetRTrimString("YXQS"); if (PageParam.GetRTrimString("YXQZ").Equals("")) sSQL.ParamByName("pYXQZ").Value = null; else sSQL.ParamByName("pYXQZ").Value = PageParam.GetRTrimString("YXQZ"); sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; sSQL.ParamByName("pJLDW").Value = GetOption("BJU003"); dberp.ExecSQL(sSQL); XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLXSJGBMX_Batch(dberp, tSession, PageParam.GetRTrimString("JGBID")); XLJGB_CLJGTZList.UpdateCLCB(dberp, sSQL, PageParam.GetRTrimString("JGBID"), iXSWS, PageParam.GetRTrimString("JSBLFS"), tSession.UserId, tSession.UserName, MaxXH, sBJU003); XLJGB_CLJGTZList.DoCPJJ(dberp, PageParam.GetRTrimString("MXBH"), PageParam.GetRTrimString("JGBID"), true, iXSWS, PageParam.GetRTrimString("JSBLFS"), tSession.UserId, tSession.UserName, MaxXH, sBJU003); XLJGB_CLJGTZList.ReCalcWSJG(dberp, sSQL, PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("MXBH"),iXSWS,MaxXH); JGBMLInfo.UpdateJGBMXXSXH(dberp, PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("MXBH")); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } ShowMessage("导入完成!"); } //CloseWindow(); moduleGV_PageIndexChanging(null, null); } protected void btnALL_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(); } int iXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002")); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; if (!string.IsNullOrEmpty(PageParam.GetRTrimString("JGBID"))) { base.InitEntityByCondition(); string sBJU029 = GetOption("BJU029"); int DRSL = CMISproConvert.StrToInt(sBJU029); if (DRSL > 0 && DSActiveModule.IsActiveModule(102373011)) { TDatabase DBERP = TContextDatabases.GetDatabase("DBERP"); TSQL tmpSQL = new TSQL(DBERP); tmpSQL.Clear(); tmpSQL.Add("select 1 from XLXSJGB "); tmpSQL.Add(" where XLXSJGB_DRZT in ('W','J') ");//W|等待 tmpSQL.Add(" and XLXSJGB_MXBH=:pMXBH"); tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID"); tmpSQL.ParamByName("pMXBH").Value = PageParam.GetRTrimString("MXBH"); tmpSQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID"); DataSet dsFW=DBERP.OpenDataSet(tmpSQL); if (dsFW.Tables[0].Rows.Count == 0) { JGBDRXX drxx = new JGBDRXX(); drxx.JGBID = PageParam.GetRTrimString("JGBID"); drxx.MXBH = PageParam.GetRTrimString("MXBH"); drxx.JSBLFS = PageParam.GetRTrimString("JSBLFS"); drxx.iXSWS = iXSWS; drxx.JGCZBID = CurQueryEntity.FieldByName("JGCZBID").Value.Trim(); drxx.CPMLID = CurQueryEntity.FieldByName("CPMLID").Value.Trim(); drxx.XLXHIDJQPP = CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE") ? "Y" : "N"; drxx.XLGGIDJQPP = CurQueryEntity.FieldByName("XLGGIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE") ? "Y" : "N"; drxx.XLXHID = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); drxx.XLGGID = CurQueryEntity.FieldByName("XLGGID").Value.Trim(); drxx.ST = CurQueryEntity.FieldByName("ST").Value.Trim(); drxx.DYDJ = CurQueryEntity.FieldByName("DYDJ").Value.Trim(); drxx.FJDDZB = CurQueryEntity.FieldByName("FJDDZB").Value.ToString().Trim().ToUpper().Equals("TRUE") ? "Y" : "N"; drxx.JCXFDZBZ = CurQueryEntity.FieldByName("JCXFDZBZ").Value.ToString().Trim().ToUpper().Equals("TRUE") ? "Y" : "N"; drxx.YXQS = PageParam.GetRTrimString("YXQS"); drxx.YXQZ = PageParam.GetRTrimString("YXQZ"); drxx.BJU003 = GetOption(100860000, "BJU003"); drxx.SL = DRSL; string sBZMC = CurQueryEntity.FieldByName("BZMC").Value.Trim(); if (!string.IsNullOrEmpty(sBZMC)) { tmpSQL.Clear(); tmpSQL.Add("select XLBZ_XLBZID from XLBZ "); tmpSQL.Add(" where 1=1 and len(XLBZ_XLBZID) < 10 "); tmpSQL.Add(" and XLBZ_XLBZLXMC like :pBZMC "); tmpSQL.Add(" order by XLBZ_XLBZID "); tmpSQL.ParamByName("pBZMC").Value = "%" + sBZMC + "%"; DataSet dsBZID = DBERP.OpenDataSet(tmpSQL); for (int i = 0; i < dsBZID.Tables[0].Rows.Count; i++) { if (!string.IsNullOrEmpty(drxx.ST)) { drxx.ST += ","; } drxx.ST += dsBZID.Tables[0].Rows[i]["XLBZ_XLBZID"].ToString().Trim(); } } ServiceParams serviceParams = new ServiceParams(); serviceParams.Add("objJGB", drxx); ServiceProgress serviceProgress = AsyncService.Enqueue("S_XLXSBJ", 102373011, "AsyncDoJGBDR", serviceParams); tmpSQL.Clear(); tmpSQL.Add("update XLXSJGB set "); tmpSQL.Add(" XLXSJGB_DRZT='W'");//W|等待 tmpSQL.Add(" where XLXSJGB_MXBH=:pMXBH"); tmpSQL.Add(" and XLXSJGB_JGBID=:pJGBID"); tmpSQL.ParamByName("pMXBH").Value = drxx.MXBH; tmpSQL.ParamByName("pJGBID").Value = drxx.JGBID; DBERP.ExecSQL(tmpSQL); } ShowMessage("已开始导入,请稍后查看!"); } else { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); //获取价格表明细最大序号 sSQL.Clear(); sSQL.Add("select isnull(max(XLXSJGBMX_XH),0.0) from XLXSJGBMX where XLXSJGBMX_JGBID=:pJGBID"); sSQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID"); DataSet dsJGB = dberp.OpenDataSet(sSQL); double MaxXH = 0.0; if (dsJGB.Tables[0].Rows.Count > 0) { MaxXH = CMISproConvert.StrToFloat(dsJGB.Tables[0].Rows[0][0].ToString(), 0); } try { dberp.BeginTrans(); //查询结果全部插入XLXSJGBMX sSQL.Clear(); sSQL.Add("insert into XLXSJGBMX( "); sSQL.Add("XLXSJGBMX_JGBID,XLXSJGBMX_XH, "); sSQL.Add("XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,XLXSJGBMX_JLDW, "); sSQL.Add("XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ, "); sSQL.Add("XLXSJGBMX_WSJJ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSJJM,XLXSJGBMX_HSJJM,XLXSJGBMX_WSBJM,XLXSJGBMX_HSBJM, "); sSQL.Add("XLXSJGBMX_BZ,XLXSJGBMX_WHRID,XLXSJGBMX_WHR,XLXSJGBMX_WHSJ) "); sSQL.Add("select :pJGBID as JGBID,:pMaxXH+row_number() over(order by XLXHID,XH) as XH, "); sSQL.Add("XLXHID,XLGGID,XLBZID,DYDJID,:pJLDW, "); sSQL.Add(":pYXQS as YXQS,:pYXQZ as YXQZ, "); sSQL.Add(" 0.0 as WSCLCB,0.0 as CLCB, "); sSQL.Add(" 0.0 as WSCPJJ,0.0 as CPJJ, "); sSQL.Add(" 0.0 as WSCLCBM,0.0 as CLCBM, "); sSQL.Add(" 0.0 as WSCPJJM,0.0 as CPJJM, "); sSQL.Add("' ' as BZ,:pWHRID,:pWHR,:pWHSJ "); sSQL.Add(" from"); sSQL.Add(" ("); sSQL.Add(" select XLXSCLQD_XLXHID as XLXHID,XLXSCLQD_XLGGID as XLGGID,XLXSCLQD_XLBZID as XLBZID,XLXSCLQD_DYDJID as DYDJID,XLXSCLQD_XH as XH"); sSQL.Add(" from XLXSCLQD"); sSQL.Add(" left join XLBZ on XLBZ_XLBZID=XLXSCLQD_XLBZID"); sSQL.Add(" left join XLXHB on XLXHB_XLXHID = XLXSCLQD_XLXHID"); sSQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID"); sSQL.Add(" where XLXSCLQD_WPID ='ZZZZ' and isnull(XLXHB_TYBZ,'N') <> 'Y' and not exists "); sSQL.Add(" (select 1 from XLXSJGBMX where XLXSJGBMX_JGBID=:pJGBID and XLXSJGBMX_XLXHID=XLXSCLQD_XLXHID and XLXSJGBMX_XLGGID=XLXSCLQD_XLGGID and XLXSJGBMX_XLBZID=XLXSCLQD_XLBZID and isnull(XLXSJGBMX_DYDJID,' ')=XLXSCLQD_DYDJID) "); if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGCZBID").Value.Trim())) { string[] sJGCZBList = CurQueryEntity.FieldByName("JGCZBID").Value.Trim().Split(','); sSQL.Add(" and ( 1<>1 "); for (int i = 0; i < sJGCZBList.Length; i++) { string[] sJGCZB = sJGCZBList[i].Split('|'); if (sJGCZB.Length == 2) { sSQL.Add(string.Format(" or (XLXSCLQD_JGCZBID='{0}' and XLXSCLQD_JGCZBBBID='{1}' ) ", sJGCZB[0], sJGCZB[1])); } else if (sJGCZB.Length == 1) { sSQL.Add(string.Format(" or (XLXSCLQD_JGCZBID='{0}' ) ", sJGCZB[0])); } } sSQL.Add(" ) "); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPMLID").Value.Trim())) { sSQL.Add(" and XLXSCLQD_CPMLID = :pCPMLID "); sSQL.ParamByName("pCPMLID").Value = CurQueryEntity.FieldByName("CPMLID").Value.Trim(); } //型号模糊 if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSCLQD_XLXHID like :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = string.Format("%{0}%", CurQueryEntity.FieldByName("XLXHID").Value.Trim()); } } else { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL.Add(" and XLXSCLQD_XLXHID = :pXLXHID "); sSQL.ParamByName("pXLXHID").Value = CurQueryEntity.FieldByName("XLXHID").Value.Trim(); } } //规格模糊 if (!CurQueryEntity.FieldByName("XLGGIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())) { sSQL.Add(" and XLXSBJXLGGTHB_XLGGIDCH like :pXLGGID "); sSQL.ParamByName("pXLGGID").Value = string.Format("%{0}%", CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×")); } } else { string sXLGGID = CurQueryEntity.FieldByName("XLGGID").Value.Trim(); if (!string.IsNullOrEmpty(sXLGGID)) { string[] sTemp = sXLGGID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { sSQL.Add(" and " + CMISproDataBase.GetWhereEqual(" XLXSBJXLGGTHB_XLGGIDCH", sXLGGID.Replace('*', '×'))); } else { sSQL.Add(" and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID "); sSQL.ParamByName("pXLGGID").Value = CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×"); } } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim())) { sSQL.Add(" and XLXSCLQD_XLBZID = :pST "); sSQL.ParamByName("pST").Value = CurQueryEntity.FieldByName("ST").Value.Trim(); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BZMC").Value.Trim())) { sSQL.Add(" and XLBZ_XLBZLXMC like :pBZMC "); sSQL.ParamByName("pBZMC").Value = "%" + CurQueryEntity.FieldByName("BZMC").Value.Trim() + "%"; } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim())) { sSQL.Add(" and XLXSCLQD_DYDJID = :pDYDJ "); sSQL.ParamByName("pDYDJ").Value = CurQueryEntity.FieldByName("DYDJ").Value.Trim(); } if (CurQueryEntity.FieldByName("FJDDZB").Value.ToString().Trim().ToUpper().Equals("TRUE")) { sSQL.Add(@" and not exists (select 1 from XLXSJGBXHDZB where XLXSJGBXHDZB_BJDXLXHID=XLXSCLQD_XLXHID and XLXSCLQD_DYDJID =case when XLXSJGBXHDZB_DZHDYDJID <>' ' then XLXSJGBXHDZB_DZHDYDJID when XLXSJGBXHDZB_DYDJID <>' 'then XLXSJGBXHDZB_DYDJID else XLXSCLQD_DYDJID end ) "); } if (CurQueryEntity.FieldByName("JCXFDZBZ").Value.ToString().Trim().ToUpper().Equals("TRUE")) { sSQL.Add(" and isnull(XLBZ_DZSC,'N')<>'Y' "); } sSQL.Add(" ) c"); sSQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("JGBID"); sSQL.ParamByName("pMaxXH").Value = MaxXH; sSQL.ParamByName("pYXQS").Value = PageParam.GetRTrimString("YXQS"); if (PageParam.GetRTrimString("YXQZ").Equals("")) sSQL.ParamByName("pYXQZ").Value = null; else sSQL.ParamByName("pYXQZ").Value = PageParam.GetRTrimString("YXQZ"); sSQL.ParamByName("pWHRID").Value = tSession.UserId; sSQL.ParamByName("pWHR").Value = tSession.UserName; sSQL.ParamByName("pWHSJ").Value = DateTime.Now; sSQL.ParamByName("pJLDW").Value = GetOption("BJU003"); dberp.ExecSQL(sSQL); XLBJDUtils.SyncXLXSBJXLGGTHB_ByXLXSJGBMX_Batch(dberp, tSession, PageParam.GetRTrimString("JGBID")); string sBJU003 = GetOption(100860000, "BJU003"); XLJGB_CLJGTZList.UpdateCLCB(dberp, sSQL, PageParam.GetRTrimString("JGBID"), iXSWS, PageParam.GetRTrimString("JSBLFS"), tSession.UserId, tSession.UserName, MaxXH, sBJU003); XLJGB_CLJGTZList.DoCPJJ(dberp, PageParam.GetRTrimString("MXBH"), PageParam.GetRTrimString("JGBID"), true, iXSWS, PageParam.GetRTrimString("JSBLFS"), tSession.UserId, tSession.UserName, MaxXH, sBJU003); XLJGB_CLJGTZList.ReCalcWSJG(dberp, sSQL, PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("MXBH"), iXSWS, MaxXH); JGBMLInfo.UpdateJGBMXXSXH(dberp, PageParam.GetRTrimString("JGBID"), PageParam.GetRTrimString("MXBH")); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } ShowMessage("全部导入完成!"); } DialogOperationScript dos = new DialogOperationScript(this); dos.CloseSelf(); dos.Execute(); } } #endregion #region 私有函数 private string GetQuerySql() { string sSQL = "select XLXSCLQD_XLXHID, XLXSCLQD_XLGGID, XLXSCLQD_XLBZID, XLXSCLQD_DYDJID,RTRIM(XLXSCLQD_XLBZID)||'|'||XLBZ_XLBZLXMC as XLBZ from XLXSCLQD "; sSQL += " left join XLBZ on XLBZ_XLBZID=XLXSCLQD_XLBZID "; sSQL += " left join XLXHB on XLXHB_XLXHID = XLXSCLQD_XLXHID "; sSQL += " left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID "; if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPMLID").Value.Trim())) { sSQL += " left join XLXSBJTJXHML AA on AA.XLXSBJTJXHML_XLXHID = XLXSCLQD_XLXHID and AA.XLXSBJTJXHML_DYDJID = isnull(XLXSCLQD_DYDJID, ' ') "; sSQL += " left join XLXSBJTJXHML BB on BB.XLXSBJTJXHML_XLXHID = XLXSCLQD_XLXHID and BB.XLXSBJTJXHML_DYDJID = ' ' "; } sSQL += " where 1=1 and XLXSCLQD_WPID ='ZZZZ' and isnull(XLXHB_TYBZ,'N') <> 'Y'"; if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("JGCZBID").Value.Trim())) { string []sJGCZBList = CurQueryEntity.FieldByName("JGCZBID").Value.Trim().Split(','); sSQL += " and ( 1<>1 "; for (int i = 0; i < sJGCZBList.Length; i++) { string[] sJGCZB = sJGCZBList[i].Split('|'); if (sJGCZB.Length == 2) { sSQL += string.Format(" or (XLXSCLQD_JGCZBID='{0}' and XLXSCLQD_JGCZBBBID='{1}' ) ",sJGCZB[0],sJGCZB[1]); } else if (sJGCZB.Length == 1) { sSQL += string.Format(" or (XLXSCLQD_JGCZBID='{0}' ) ", sJGCZB[0]); } } sSQL += " ) "; } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("CPMLID").Value.Trim())) { sSQL += "\r\n and (case when AA.XLXSBJTJXHML_CPMLID is not null then AA.XLXSBJTJXHML_CPMLID else BB.XLXSBJTJXHML_CPMLID end = :pCPMLID)"; entity.Param.Add("pCPMLID", CurQueryEntity.FieldByName("CPMLID").Value.Trim()); } //型号模糊 if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL += "\r\n and XLXSCLQD_XLXHID like :pXLXHID "; entity.Param.Add("pXLXHID", "%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%"); } } else { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())) { sSQL += "\r\n and XLXSCLQD_XLXHID = :pXLXHID "; entity.Param.Add("pXLXHID", CurQueryEntity.FieldByName("XLXHID").Value.Trim()); } } //规格模糊 if (!CurQueryEntity.FieldByName("XLGGIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE")) { if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())) { sSQL += " and XLXSBJXLGGTHB_XLGGIDCH like :pXLGGID "; entity.Param.Add("pXLGGID", "%" + CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×") + "%"); } } else { string sXLGGID = CurQueryEntity.FieldByName("XLGGID").Value.Trim(); if (!string.IsNullOrEmpty(sXLGGID)) { string[] sTemp = sXLGGID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { sSQL += " and " + CMISproDataBase.GetWhereEqual(" XLXSBJXLGGTHB_XLGGIDCH ", sXLGGID.Replace('*', '×')); } else { sSQL += " and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID "; entity.Param.Add("pXLGGID", CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×")); } } } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim())) { sSQL += "\r\n and XLXSCLQD_XLBZID = :pST "; entity.Param.Add("pST", CurQueryEntity.FieldByName("ST").Value.Trim()); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BZMC").Value.Trim())) { sSQL += "\r\n and XLBZ_XLBZLXMC like :pBZMC "; entity.Param.Add("pBZMC", "%" + CurQueryEntity.FieldByName("BZMC").Value.Trim() + "%"); } if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim())) { sSQL += "\r\n and XLXSCLQD_DYDJID = :pDYDJ "; entity.Param.Add("pDYDJ", CurQueryEntity.FieldByName("DYDJ").Value.Trim()); } if (CurQueryEntity.FieldByName("FJDDZB").Value.ToString().Trim().ToUpper().Equals("TRUE")) { sSQL += "\r\n and not exists ( select 1 from XLXSJGBXHDZB where XLXSJGBXHDZB_BJDXLXHID=XLXSCLQD_XLXHID "; sSQL += " and XLXSCLQD_DYDJID =case when XLXSJGBXHDZB_DZHDYDJID <>' ' then XLXSJGBXHDZB_DZHDYDJID "; sSQL += " when XLXSJGBXHDZB_DYDJID <>' 'then XLXSJGBXHDZB_DYDJID else XLXSCLQD_DYDJID end )"; } if (CurQueryEntity.FieldByName("JCXFDZBZ").Value.ToString().Trim().ToUpper().Equals("TRUE")) { sSQL += " and isnull(XLBZ_DZSC,'N')<>'Y' "; } sSQL +=" and not exists (select 1 from XLXSJGBMX where XLXSJGBMX_JGBID=:JGBID and XLXSJGBMX_XLXHID=XLXSCLQD_XLXHID and XLXSJGBMX_XLGGID=XLXSCLQD_XLGGID and XLXSJGBMX_XLBZID=XLXSCLQD_XLBZID and XLXSJGBMX_DYDJID=XLXSCLQD_DYDJID)"; entity.Param.Add("JGBID", PageParam.GetRTrimString("JGBID")); sSQL +=" order by XLXSCLQD_XLXHID,XLXSCLQD_XH "; return sSQL; } #endregion } public class JGBDRXX { public JGBDRXX() { } private string _JGBID;//价格表ID public string JGBID { get { return _JGBID; } set { _JGBID = value; } } private string _MXBH; public string MXBH { get { return _MXBH; } set { _MXBH = value; } } private string _JSBLFS; public string JSBLFS { get { return _JSBLFS; } set { _JSBLFS = value; } } private int _iXSWS = 0; public int iXSWS { get { return _iXSWS; } set { _iXSWS = value; } } private string _JGCZBID; public string JGCZBID { get { return _JGCZBID; } set { _JGCZBID = value; } } private string _CPMLID; public string CPMLID { get { return _CPMLID; } set { _CPMLID = value; } } private string _XLXHIDJQPP; public string XLXHIDJQPP { get { return _XLXHIDJQPP; } set { _XLXHIDJQPP = value; } } private string _XLXHID; public string XLXHID { get { return _XLXHID; } set { _XLXHID = value; } } private string _XLGGIDJQPP; public string XLGGIDJQPP { get { return _XLGGIDJQPP; } set { _XLGGIDJQPP = value; } } private string _XLGGID; public string XLGGID { get { return _XLGGID; } set { _XLGGID = value; } } private string _ST; public string ST { get { return _ST; } set { _ST = value; } } private string _DYDJ; public string DYDJ { get { return _DYDJ; } set { _DYDJ = value; } } private string _FJDDZB; public string FJDDZB { get { return _FJDDZB; } set { _FJDDZB = value; } } private string _JCXFDZBZ; public string JCXFDZBZ { get { return _JCXFDZBZ; } set { _JCXFDZBZ = value; } } private string _YXQS; public string YXQS { get { return _YXQS; } set { _YXQS = value; } } private string _YXQZ; public string YXQZ { get { return _YXQZ; } set { _YXQZ = value; } } private string _BJU003; public string BJU003 { get { return _BJU003; } set { _BJU003 = value; } } private int _SL; public int SL { get { return _SL; } set { _SL = value; } } } }