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_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_MISPRO.TableCache;
using GThinking.N_WORKFLOW;
using GThinking.N_CONTROL;
using GThinking.N_MISPRO.MISPROAS;
using System.Collections.Generic;
namespace GThinking.N_XLXSBJ
{
public partial class CXBJDList : SingleGridBase
{
CXBJD entity = new CXBJD();
CXBJD_M qryEntity = new CXBJD_M();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860046;
this.UMName = "线缆销售报价反馈";
this.CurMaster = Master;
this.ModuleGV = grdContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = qryEntity;
this.sURLTarget = "XLBJDInfo.aspx";
this.sQueryURLTarget = "CXBJDQuery.aspx";
this.PageHeight = 600;
this.PageWidth = 750;
Master.EnableNewBtn = false;
Master.EnableEditBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableViewBtn = false;
base.DataKeyNames = new string[] { "ColorXH", "XLXSBJDMX_BJDID", "XLXSBJDMX_XH", "ZBSL", "XLXSBJDMX_XLXHID", "XLXSBJDMX_XDXLXHID", "XLXSBJDMX_XDXLBZID", "XLXSBJDMX_XLGGID", "XLXSBJDMX_XLBZID", "XLXSBJDMX_DYDJID", "XLXSBJDMX_BJSL", "XLXSBJD_WFID", "XLXSBJD_WFINST", "XLXSBJD_WFAWAITER", "WLID", "XLXSBJFKCFMX_CFXH", "XLXSBJD_XSBMID", "XLXSBJD_XSQYID" };
if (!IsPostBack)
{
CurQueryEntity.FieldByName("BJRQFW").Value = "1";
CurQueryEntity.FieldByName("CXFW").Value = "WQR";
CurQueryEntity.FieldByName("PXFS").Value = "报价日期正序↑";
CurQueryEntity.FieldByName("XLXHIDJQPP").Value = "True";
CurQueryEntity.FieldByName("XLGGIDJQPP").Value = "True";
//100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,屏蔽双击操作
if (!PageParam.GetRTrimString("BJDID").Equals(""))
CurQueryEntity.FieldByName("SFBDY").Value = "Y";
else
{
CurQueryEntity.FieldByName("SFBDY").Value = "N";
CurQueryEntity.FieldByName("CXZBDWPPWL").Value = "True";
CurQueryEntity.FieldByName("BXSTRFZCP").Value = "True";
}
//物料缺失
if (PageParam.GetRTrimString("WLQS") == "Y")
{
CurQueryEntity.FieldByName("CXZBDWPPWL").Value = "True";
CurQueryEntity.FieldByName("BXSTRFZCP").Value = "True";
}
if (!PageParam.GetRTrimString("BJBM").Equals(""))
{
grdContentGrid.FindColumnByFieldName("XLXSBJDMX_CPBJ").HeaderText = PageParam.GetRTrimString("BJBM");
grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJJE").HeaderText = PageParam.GetRTrimString("BJBM")+"金额";
}
}
string sBJU002 = GetOption(100860000, "BJU002");
int iXSWS = string.IsNullOrEmpty(sBJU002) ? 5 : CMISproConvert.StrToInt(sBJU002);
if (iXSWS < 0)
iXSWS = 0;
else if (iXSWS > 8)
iXSWS = 8;
grdContentGrid.FindColumnExByFieldName("XLXSBJDMX_CPBJ").NumberDecimalPlace = iXSWS;
if (DSActiveModule.IsActiveModule(100956005))
{
grdContentGrid.FindColumnByFieldName("XMD").Visible = true;
}
else
{
grdContentGrid.FindColumnByFieldName("XMD").Visible = false;
}
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046);
if (pzxx.XLXSBJPZ_TBFKZ3BB == "Y")
{
grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJWS").Visible = false;
}
else
{
grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJWS").Visible = true;
}
lblXSBM.Visible = false;
txtXSBM.Visible = false;
lblXSQY.Visible = false;
txtXSQY.Visible = false;
//100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,控制“查询”按钮不可见
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJDID").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_BJRQ").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_WPID").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_TXY").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_KH").Visible = false;
grdContentGrid.FindColumnByFieldName("XMD").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_XMMC").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_XSBMID").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_XSQYID").Visible = false;
lblXSBM.Visible = true;
txtXSBM.Visible = true;
lblXSQY.Visible = true;
txtXSQY.Visible = true;
string sWfAwaiter = GetBJDDCLR(PageParam.GetRTrimString("BJDID"));
if (sWfAwaiter.Contains("," + tSession.UserId + ","))
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", PageParam.GetRTrimString("BJDID"))) || txtZJFK.Value=="Y")
{
grdContentGrid.CheckBox = true;
btnPLSZ.Visible = true;
}
}
else
{
btnBJDQR.Enabled = false;
}
bool bCanFK = GetBJDFKZT(PageParam.GetRTrimString("BJDID"));
if (!bCanFK)
{
btnPLSZ.Enabled = false;
btnBJDQR.Enabled = false;
}
}
btnCF.Visible = false;
btnQXCF.Visible = false;
if (!PageParam.GetRTrimString("BJDID").Equals("")&&pzxx.XLXSBJPZ_ZCCF == "Y")
{
btnCF.Visible = true;
btnQXCF.Visible = true;
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", PageParam.GetRTrimString("BJDID"))) && txtZJFK.Value != "Y")
{
btnCF.Enabled = false;
btnQXCF.Enabled = false;
}
if (DSActiveModule.IsActiveModule(102577006))
{
grdContentGrid.FindColumnByFieldName("XDXLBZ").Visible = true;
}
else
{
grdContentGrid.FindColumnByFieldName("XDXLBZ").Visible = false;
}
base.InitPage();
//100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,屏蔽双击操作
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
this.ModuleGV.OnClientDblClick = "return false;";
}
if (!IsPostBack)
{
//100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,直接查询
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
Master_OnStandardQuery(null, null);
}
else
{
if (base.IsDefaultExecute)
{
Master_OnStandardQuery(null, null);
}
}
txtNeedQR.Value = "N";
}
TGtGridView.SetGrdColItems("DBERP", grdContentGrid.FindColumnExByFieldName("XLXSBJD_XSBMID"), "select BM_BMID,BM_MC as Name from BM ");
}
#region 模板事件继承
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetSQL();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(grdContentGrid, tSession);
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TWorkflow awf1 = new TWorkflow(tSession, null);
int indexWPID = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJD_WPID"));
e.Row.Cells[indexWPID].Text = awf1.GetWPName(grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFID"].ToString().Trim(), e.Row.Cells[indexWPID].Text);
//偶数报价单增加颜色
if (CMISproConvert.StrToFloat(grdContentGrid.DataKeys[e.Row.RowIndex]["ColorXH"].ToString()) % 2 == 0)
{
e.Row.BackColor = System.Drawing.Color.LightBlue;
}
int indexXDXH = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJDMX_XDXLXHID"));
int indexXDBZ = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XDXLBZ"));
int indexZB = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJDMX_ZB"));
int indexZBSL = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("ZBSL"));
int indexZBJE = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("ZBJE"));
int indexYS = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("YS"));
int indexWLID = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("WLID"));
int indexDZSC = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJDMX_DZSC"));
bool bIsAwatier = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFAWAITER"].ToString().Trim().Contains("," + tSession.UserId + ",");
bool bCanClick = false;
if (!PageParam.GetRTrimString("BJDID").Equals("") && (PageParam.GetRTrimString("WLQS") != "Y"))
bCanClick = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFAWAITER"].ToString().Trim().Contains("," + tSession.UserId + ",");
else
bCanClick = CanClcikLink(grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(), grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim());
if (bCanClick)
{
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
indexXDXH++;
indexXDBZ++;
indexZB++;
indexZBSL++;
indexZBJE++;
indexYS++;
indexWLID++;
indexDZSC++;
}
string sBJDID = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim();
string sCFXH = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJFKCFMX_CFXH"].ToString().Trim();
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID)) || txtZJFK.Value == "Y")
{
string sXDXLXHID = e.Row.Cells[indexXDXH].Text.Trim();
if (sXDXLXHID.Equals(""))
{
sXDXLXHID = " ";
}
string sXDXLBZID = e.Row.Cells[indexXDBZ].Text.Trim();
if (sXDXLBZID.Equals(""))
{
sXDXLBZID = " ";
}
e.Row.Cells[indexXDXH].Text = string.Format("" + sXDXLXHID + "",
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(),
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim());
e.Row.Cells[indexXDBZ].Text = string.Format("" + sXDXLBZID + "",
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(),
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim());
e.Row.Cells[indexDZSC].Text = string.Format("" + e.Row.Cells[indexDZSC].Text.Trim() + "",
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(),
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim());
e.Row.Cells[indexZB].Text = string.Format("" + e.Row.Cells[indexZB].Text.Trim() + "",
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(),
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim(),
sCFXH);
e.Row.Cells[indexZBSL].Text = string.Format("" + XLBJDUtils.strPadRight(e.Row.Cells[indexZBSL].Text.Trim(), 3) + "",
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(),
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim(),
sCFXH);
e.Row.Cells[indexZBJE].Text = string.Format("" + XLBJDUtils.strPadRight(e.Row.Cells[indexZBJE].Text.Trim(), 2) + "",
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(),
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim(),
sCFXH);
if (sCFXH.Equals("") || sCFXH.Equals("0"))
{
e.Row.Cells[indexYS].Text = string.Format("" + e.Row.Cells[indexYS].Text.Trim() + "",
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(),
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim());
}
string sWLID = e.Row.Cells[indexWLID].Text.Trim();
if (sWLID.Equals(""))
{
sWLID = " ";
}
e.Row.Cells[indexWLID].Text = string.Format("" + sWLID + "",
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim(),
grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_XH"].ToString().Trim(),
grdContentGrid.DataKeys[e.Row.RowIndex]["WLID"].ToString().Trim(),
sCFXH);
}
}
else
{
e.Row.Cells[indexZBSL].Text = XLBJDUtils.strPadRight(e.Row.Cells[indexZBSL].Text.Trim(), 3);
e.Row.Cells[indexZBJE].Text = XLBJDUtils.strPadRight(e.Row.Cells[indexZBJE].Text.Trim(), 2);
}
try
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
string sXSQYBMGZ = "";
string sXSQYMC = "";
int indexXSQY = grdContentGrid.Columns.IndexOf(grdContentGrid.FindColumnByFieldName("XLXSBJD_XSQYID"));
string sXSQYID = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_XSQYID"].ToString().Trim();
int iQYCJ = 0;
int len = sXSQYID.Length;
if (sXSQYID.Equals(""))
{
e.Row.Cells[indexXSQY].Text = "";
}
else
{
if (GetOption("XSKHS001").Equals(""))
sXSQYBMGZ = "2-2-2-2-2";
else
sXSQYBMGZ = GetOption("XSKHS001").Trim();
string[] array = sXSQYBMGZ.Split('-');
List lstXSQYBMGZ = new List(array);
for (int i = 0; i < lstXSQYBMGZ.Count; i++)
{
if (CMISproConvert.StrToInt(lstXSQYBMGZ[i]) == len)
{
iQYCJ = i + 1;
break;
}
else
{
len = len - CMISproConvert.StrToInt(lstXSQYBMGZ[i]);
}
}
if (iQYCJ == 0)
{
e.Row.Cells[indexXSQY].Text = "";
}
else
{
int lenJQ = sXSQYID.Length;
string sQYID = "";
for (int j = iQYCJ; j > 0; j--)
{
sQYID = sXSQYID.Substring(0, lenJQ);
SQL.Clear();
SQL.Add("select XSQY_XSQYMC from XSQY where XSQY_XSQYID =:pXSQYID ");
SQL.ParamByName("pXSQYID").Value = sQYID;
DataSet dsQY = dberp.OpenDataSet(SQL);
if (dsQY.Tables[0].Rows.Count > 0)
{
if (sXSQYMC == "")
{
sXSQYMC = dsQY.Tables[0].Rows[0]["XSQY_XSQYMC"].ToString().Trim();
}
else
{
sXSQYMC = dsQY.Tables[0].Rows[0]["XSQY_XSQYMC"].ToString().Trim() + "-" + sXSQYMC;
}
}
lenJQ = lenJQ - CMISproConvert.StrToInt(lstXSQYBMGZ[j - 1]);
}
e.Row.Cells[indexXSQY].Text = sXSQYMC;
}
}
}
catch { }
LinkPageParam.UMID = 100860000;
LinkPageParam.AddString("WFID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFID"].ToString().Trim());
LinkPageParam.AddString("WFINST", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFINST"].ToString().Trim());
LinkPageParam.AddString("XLXSBJD_BJDID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJDMX_BJDID"].ToString().Trim());
}
base.moduleGV_RowDataBound(sender, e);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetSQL();
grdContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
#endregion
#region 自定义函数
//判断模块是否存在并且是否有权限
private bool CheckModule(int iUMID)
{
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
}
private string GetSQL()
{
string sYXQBJWL = XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXQCPWL.Trim();
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())
|| !string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())
|| !string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())
|| !string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim()))
{
btnBJDQR.Visible = false;
}
else
btnBJDQR.Visible = true;
bool ExistsBJCPYS = false;//是否设置了报价产品颜色
if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJCPYS_CPYT from XLXSBJCPYS where 1=1"))
{
ExistsBJCPYS = true;
}
StringBuilder sSQL = new StringBuilder();
sSQL.AppendLine("select ColorXH,XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,YS,");
sSQL.AppendLine(" XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,XLJGCZBML_FZR,XLXSBJDMX_WLZDR,XLXSBJDMX_WLZDSJ,XLXSBJDMX_BZ,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,");
sSQL.AppendLine(" case when isnull(XLXSBJDMX_DZSC,'N') = 'Y' then '定制生产' else '非定制生产' end as XLXSBJDMX_DZSC,XLXSBJDMX_BJWS,XLXSBJDMX_ZB,ZBSL,ZBJE,");
sSQL.AppendLine(" XLXSBJD_BJRQ,XLXSBJD_TXY,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_WFID,XLXSBJD_WPID,XLXSBJD_WFINST,XLXSBJD_WFAWAITER,XMD,");
if (sYXQBJWL == "Y" || sYXQBJWL == "X")
{
sSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end as WLID,");
sSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then ");
sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wlb.WL_MC,' '))||' '||rtrim(isnull(wlb.WL_GG,' ')))||' '||rtrim(isnull(wlb.WL_TZ,' ')))||' '||rtrim(isnull(wlb.WL_CL,' '))) ");
sSQL.AppendLine(" when isnull(c.minWLID,' ') <> ' ' then ");
sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wlc.WL_MC,' '))||' '||rtrim(isnull(wlc.WL_GG,' ')))||' '||rtrim(isnull(wlc.WL_TZ,' ')))||' '||rtrim(isnull(wlc.WL_CL,' '))) ");
sSQL.AppendLine(" else ");
sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wla.WL_MC,' '))||' '||rtrim(isnull(wla.WL_GG,' ')))||' '||rtrim(isnull(wla.WL_TZ,' ')))||' '||rtrim(isnull(wla.WL_CL,' '))) ");
sSQL.AppendLine(" end as WLXX, ");
}
else
{
sSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end as WLID,");
sSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then ");
sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wlb.WL_MC,' '))||' '||rtrim(isnull(wlb.WL_GG,' ')))||' '||rtrim(isnull(wlb.WL_TZ,' ')))||' '||rtrim(isnull(wlb.WL_CL,' '))) ");
sSQL.AppendLine(" when isnull(a.minWLID,' ') <> ' ' then ");
sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wla.WL_MC,' '))||' '||rtrim(isnull(wla.WL_GG,' ')))||' '||rtrim(isnull(wla.WL_TZ,' ')))||' '||rtrim(isnull(wla.WL_CL,' '))) ");
sSQL.AppendLine(" else ");
sSQL.AppendLine(" rtrim(rtrim(rtrim(rtrim(isnull(wlc.WL_MC,' '))||' '||rtrim(isnull(wlc.WL_GG,' ')))||' '||rtrim(isnull(wlc.WL_TZ,' ')))||' '||rtrim(isnull(wlc.WL_CL,' '))) ");
sSQL.AppendLine(" end as WLXX, ");
}
sSQL.AppendLine(" XLBZ,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID,XDXLBZ, ");
sSQL.AppendLine(" case when isnull(HT_HTBH,' ') = ' ' or isnull(HT_WPID,' ') <> 'ZZZZ' then ' ' else HT_HTBH end as HT_HTBH, ");
sSQL.AppendLine(" case when isnull(SO_SOID,' ') = ' ' or isnull(SO_WPID,' ') <> 'ZZZZ' then ' ' else SO_SOID end as SO_SOID, ");
sSQL.AppendLine(" case when isnull(SOTH_THDID,' ') = ' ' or isnull(SOTH_WPID,' ') <> 'ZZZZ' then ' ' else SOTH_THDID end as SOTH_THDID, ");
sSQL.AppendLine(" XLXSBJD_XSBMID,XLXSBJD_XSQYID ");
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
sSQL.AppendLine(" ,isnull(XLXSBJFKCFMX_CFXH,0) as XLXSBJFKCFMX_CFXH ");
}
else
{
sSQL.AppendLine(" ,0 as XLXSBJFKCFMX_CFXH ");
}
sSQL.AppendLine("from ");
sSQL.AppendLine("(");
sSQL.AppendLine(" select ");
if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号"))
{
sSQL.AppendLine(" row_number() over(order by XLXSBJD_BJDID) as ColorXH, ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期倒序↓"))
{
sSQL.AppendLine(" row_number() over(order by XLXSBJD_BJRQ DESC,XLXSBJD_BJDID) as ColorXH, ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期正序↑"))
{
sSQL.AppendLine(" row_number() over(order by XLXSBJD_BJRQ,XLXSBJD_BJDID) as ColorXH, ");
}
else
{
sSQL.AppendLine(" row_number() over(order by XLXSBJD_BJRQ,XLXSBJD_BJDID) as ColorXH, ");
}
sSQL.AppendLine(" XLXSBJD_BJDID,XLXSBJD_BJRQ,XLXSBJD_TXY,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_WFID,XLXSBJD_WPID,XLXSBJD_WFINST,XLXSBJD_WFAWAITER, ");
sSQL.AppendLine(" case when isnull(xmd1.XZQH_FID,' ')='86' then isnull(xmd1.XZQH_PROVINCE,' ') else rtrim(isnull(xmd2.XZQH_PROVINCE,' '))||rtrim(isnull(xmd1.XZQH_CITY,' ')) end as XMD,XLXSBJD_XSBMID,XLXSBJD_XSQYID ");
sSQL.AppendLine(" from XLXSBJD ");
sSQL.AppendLine(" left join XZQH xmd1 on xmd1.XZQH_XZQHID=XLXSBJD_XZQHID");
sSQL.AppendLine(" left join XZQH xmd2 on xmd2.XZQH_XZQHID=xmd1.XZQH_FID");
sSQL.AppendLine(" where 1=1 ");
sSQL.AppendLine(" and isnull(XLXSBJD_YWLX,' ') = ' ' ");
if (btnBJDQR.Visible && !PageParam.GetRTrimString("BJDID").Equals(""))
{
TWorkflow awf1 = new TWorkflow(tSession, null);
awf1.UMID = 100860000;
awf1.CurUserID = tSession.UserId;
string sWFID = awf1.GetWFID("XLXSBJ_BJD");
string sYWSW = TWorkflow.Utils.WFGetYHSWID(sWFID, "0030");//0030|反馈
sSQL.AppendLine(" and (isnull(XLXSBJD_WPID,' ')='ZZZZ' ");
sSQL.AppendLine(" or " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", sYWSW));
sSQL.AppendLine(" ) ");
}
//100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用,各查询条件不生效
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_BJDID = :pBJDID ");
entity.Param.Add("pBJDID", PageParam.GetRTrimString("BJDID"));
}
else
{
sSQL.AppendLine(" and exists(select 1 from XLXSBJDMX where XLXSBJDMX_BJDID=XLXSBJD_BJDID)");//存在明细记录
#region 查询条件
if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("1"))//本周
{
DateTime dt = DateTime.Now; //当前时间
DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一
DateTime endWeek = startWeek.AddDays(6); //本周周日
sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
startWeek.ToShortDateString(),
endWeek.ToShortDateString(),
DateTimeType.dtDate, DateTimeType.dtDate));
}
else if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("2"))//本月
{
DateTime dt = DateTime.Now; //当前时间
DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初
DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末
sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
startMonth.ToShortDateString(),
endMonth.ToShortDateString(),
DateTimeType.dtDate, DateTimeType.dtDate));
}
else if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("3"))//三个月内
{
DateTime dt = DateTime.Now; //当前时间
DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初
DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末
sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
startMonth.AddMonths(-2).ToShortDateString(),
endMonth.ToShortDateString(),
DateTimeType.dtDate, DateTimeType.dtDate));
}
else if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("4"))//六个月内
{
DateTime dt = DateTime.Now; //当前时间
DateTime startMonth = dt.AddDays(1 - dt.Day); //本月月初
DateTime endMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末
sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
startMonth.AddMonths(-5).ToShortDateString(),
endMonth.ToShortDateString(),
DateTimeType.dtDate, DateTimeType.dtDate));
}
else if (CurQueryEntity.FieldByName("BJRQFW").Value.Trim().Equals("ALL"))//全部
{
sSQL.AppendLine(" and 1=1");
}
else
{
sSQL.AppendLine(" and 1<>1");
}
if (CurQueryEntity.FieldByName("CXFW").Value.Trim().Equals("WQR"))//未反馈报价单
{
sSQL.AppendLine(" and not exists(select 1 from BJD where BJD_BJDID=XLXSBJD_BJDID) ");
}
else if (CurQueryEntity.FieldByName("CXFW").Value.Trim().Equals("YQR"))//已反馈报价单
{
sSQL.AppendLine(" and exists(select 1 from BJD where BJD_BJDID=XLXSBJD_BJDID) ");
}
else if (CurQueryEntity.FieldByName("CXFW").Value.Trim().Equals("ALL"))//全部
{
sSQL.AppendLine(" and 1=1 ");
}
if (!CurQueryEntity.FieldByName("BJDID").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_BJDID like :pBJDID ");
entity.Param.Add("pBJDID", "%" + CurQueryEntity.FieldByName("BJDID").Value.Trim() + "%");
}
sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
CurQueryEntity.FieldByName("BJRQS").Value.ToString().Trim(),
CurQueryEntity.FieldByName("BJRQZ").Value.ToString().Trim(),
DateTimeType.dtDate, DateTimeType.dtDate));
if (!CurQueryEntity.FieldByName("TXY").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_TXY=:pTXY ");
entity.Param.Add("pTXY", CurQueryEntity.FieldByName("TXY").Value.Trim());
}
if (!CurQueryEntity.FieldByName("KH").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_KH like :pKH ");
entity.Param.Add("pKH", "%" + CurQueryEntity.FieldByName("KH").Value.Trim() + "%");
}
if (!CurQueryEntity.FieldByName("XM").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_XMMC like :pXM ");
entity.Param.Add("pXM", "%" + CurQueryEntity.FieldByName("XM").Value.Trim() + "%");
}
if (!CurQueryEntity.FieldByName("BMID").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", CurQueryEntity.FieldByName("BMID").Value.Trim()));
}
if (!CurQueryEntity.FieldByName("XSQY").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and " + CMISproDataBase.GetWhereLead("XLXSBJD_XSQYID", CurQueryEntity.FieldByName("XSQY").Value.Trim()));
}
#endregion
}
sSQL.AppendLine(") BJD,");
sSQL.AppendLine(" ( ");
sSQL.AppendLine("select XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_DZSC,");
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
sSQL.AppendLine(" XLXSBJFKCFMX_CFXH,CASE WHEN ISNULL(XLXSBJFKCFMX_XLYSID,' ')=' ' THEN XLXSBJDMX_XLYSID ELSE XLXSBJFKCFMX_XLYSID END AS XLXSBJDMX_XLYSID, ");
sSQL.AppendLine(" CASE WHEN ISNULL(XLXSBJFKCFMX_WLID,' ')=' ' THEN XLXSBJDMX_WLID ELSE XLXSBJFKCFMX_WLID END AS XLXSBJDMX_WLID, ");
sSQL.AppendLine(" case when isnull(CASE WHEN ISNULL(XLXSBJFKCFMX_XLYSID,' ')=' ' THEN XLXSBJDMX_XLYSID ELSE XLXSBJFKCFMX_XLYSID END,' ') = ' ' then ' ' else XLYSB_XLYSMC end as YS, ");
sSQL.AppendLine(" CASE WHEN ISNULL(XLXSBJFKCFMX_ZBSL,-1)=-1 THEN XLXSBJDMX_ZBSL ELSE XLXSBJFKCFMX_ZBSL END as ZBSL,");
sSQL.AppendLine(" CASE WHEN ISNULL(XLXSBJFKCFMX_ZBJE,-1)=-1 THEN XLXSBJDMX_ZBJE ELSE XLXSBJFKCFMX_ZBJE END as ZBJE, ");
sSQL.AppendLine(" CASE WHEN ISNULL(XLXSBJFKCFMX_CFSL,-1)=-1 THEN XLXSBJDMX_BJSL ELSE XLXSBJFKCFMX_CFSL END AS XLXSBJDMX_BJSL,");
}
else
{
sSQL.AppendLine(" XLXSBJDMX_XLYSID,XLXSBJDMX_WLID,case when isnull(XLXSBJDMX_XLYSID,' ') = ' ' then ' ' else XLYSB_XLYSMC end as YS,XLXSBJDMX_ZBSL as ZBSL,XLXSBJDMX_ZBJE as ZBJE,XLXSBJDMX_BJSL,");
}
sSQL.AppendLine(" XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,isnull(XLJGCZBML_FZR,' ') as XLJGCZBML_FZR,XLXSBJDMX_WLZDR,XLXSBJDMX_WLZDSJ,XLXSBJDMX_BZ,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,");
sSQL.AppendLine(" XLXSBJDMX_BJWS,case isnull(XLXSBJDMX_ZB,' ') when 'Y' then '全部中标' when 'P' then '部分中标' when 'N' then '未中标' when 'F' then '废标' when 'Q' then '弃标' else ' ' end as XLXSBJDMX_ZB,");
sSQL.AppendLine(" case isnull(XLXSBJDMX_XLBZID,' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLBZID)||'|'||A.XLBZ_XLBZLXMC end as XLBZ, ");
sSQL.AppendLine(" XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID,case isnull(XLXSBJDMX_XDXLBZID,' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XDXLBZID)||'|'||B.XLBZ_XLBZLXMC end as XDXLBZ ");
sSQL.AppendLine(" from XLXSBJDMX ");
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
sSQL.AppendLine("left join XLXSBJFKCFMX on XLXSBJFKCFMX_BJDID= XLXSBJDMX_BJDID AND XLXSBJFKCFMX_BJDXH= XLXSBJDMX_XH ");
}
sSQL.AppendLine("left join XLBZ A on A.XLBZ_XLBZID= XLXSBJDMX_XLBZID ");
sSQL.AppendLine("left join XLBZ B on B.XLBZ_XLBZID= XLXSBJDMX_XDXLBZID ");
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
sSQL.AppendLine("left join XLYSB on XLYSB_XLYSID=CASE WHEN ISNULL(XLXSBJFKCFMX_XLYSID,' ')=' ' THEN XLXSBJDMX_XLYSID ELSE XLXSBJFKCFMX_XLYSID END ");
else
sSQL.AppendLine("left join XLYSB on XLYSB_XLYSID=XLXSBJDMX_XLYSID ");
sSQL.AppendLine("left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID and XLXSCLQD_WPID='ZZZZ' ");
sSQL.AppendLine("left join XLJGCZBML on XLJGCZBML_JGCZBID=XLXSCLQD_JGCZBID ");
sSQL.AppendLine(" ) tmpMX");
sSQL.AppendLine("left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ");
if (sYXQBJWL == "Z" || sYXQBJWL == "X")
{
sSQL.AppendLine("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID ");
sSQL.AppendLine(" from XLXSBJXDWL");
sSQL.AppendLine(" where 1=1");
sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sSQL.AppendLine(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_DYDJID");
sSQL.AppendLine(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.DYDJID=XLXSBJDMX_DYDJID ");
sSQL.AppendLine("left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID, minWLID ");
sSQL.AppendLine(" from ( ");
sSQL.AppendLine(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID ");
sSQL.AppendLine(" from XLXLB ");
sSQL.AppendLine(" where 1=1 ");
sSQL.AppendLine(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sSQL.AppendLine(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID )");
sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID ");
sSQL.AppendLine(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
sSQL.AppendLine(" union all ");
sSQL.AppendLine(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID ");
sSQL.AppendLine(" from XLXLB ");
sSQL.AppendLine(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
sSQL.AppendLine(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID ");
sSQL.AppendLine(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.DYDJID=XLXSBJDMX_DYDJID ");
}
else
{
if (ExistsBJCPYS)
{
sSQL.AppendLine("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,XLXSBJXDWL_XLYSID as XLYSID,min(XLXSBJXDWL_WLID) as minWLID ");
sSQL.AppendLine(" from XLXSBJXDWL");
sSQL.AppendLine(" where 1=1");
//sSQL.AppendLine(" and isnull(XLXSBJXDWL_TYBZ,' ')<> 'Y' ");
sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sSQL.AppendLine(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID,XLXSBJXDWL_XLYSID");
sSQL.AppendLine(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID and c.XLYSID=XLXSBJDMX_XLYSID ");
sSQL.AppendLine("left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,minWLID ");
sSQL.AppendLine(" from ( ");
sSQL.AppendLine(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID ");
sSQL.AppendLine(" from XLXLB ");
sSQL.AppendLine(" where 1=1 ");
sSQL.AppendLine(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sSQL.AppendLine(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID)");
sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID");
sSQL.AppendLine(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
sSQL.AppendLine(" union all");
sSQL.AppendLine(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID ");
sSQL.AppendLine(" from XLXLB ");
sSQL.AppendLine(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
sSQL.AppendLine(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID ");
sSQL.AppendLine(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID and a.XLYSID=XLXSBJDMX_XLYSID ");
}
else
{
sSQL.AppendLine("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID ");
sSQL.AppendLine(" from XLXSBJXDWL");
sSQL.AppendLine(" where 1=1");
sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sSQL.AppendLine(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID");
sSQL.AppendLine(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID ");
sSQL.AppendLine("left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID, minWLID ");
sSQL.AppendLine(" from ( ");
sSQL.AppendLine(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID ");
sSQL.AppendLine(" from XLXLB ");
sSQL.AppendLine(" where 1=1 ");
sSQL.AppendLine(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sSQL.AppendLine(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID )");
sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID ");
sSQL.AppendLine(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
sSQL.AppendLine(" union all ");
sSQL.AppendLine(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID ");
sSQL.AppendLine(" from XLXLB ");
sSQL.AppendLine(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
sSQL.AppendLine(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
sSQL.AppendLine(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
sSQL.AppendLine(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID ");
sSQL.AppendLine(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID ");
}
}
sSQL.AppendLine("left join WL wla on wla.WL_WLID=a.minWLID ");
sSQL.AppendLine("left join WL wlb on wlb.WL_WLID=XLXSBJDMX_WLID ");
sSQL.AppendLine("left join WL wlc on wlc.WL_WLID=c.minWLID ");
sSQL.AppendLine("left join HT on HT_BJDID = XLXSBJDMX_BJDID ");
sSQL.AppendLine("left join SO on SO_HTBH = HT_HTBH ");
sSQL.AppendLine("left join SOTH on SOTH_HTBH = HT_HTBH ");
sSQL.AppendLine("where XLXSBJD_BJDID=XLXSBJDMX_BJDID ");
if (txtZJFK.Value == "Y")
{
sSQL.AppendLine(" and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) ");
}
//型号模糊
if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
{
sSQL.AppendLine(" \r\n and XLXSBJDMX_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(" \r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XLXHID", sXLXHID));
}
else
{
sSQL.AppendLine(" \r\n and XLXSBJDMX_XLXHID = :pXLXHID ");
entity.Param.Add("pXLXHID", sXLXHID);
}
}
}
//规格模糊
if (!CurQueryEntity.FieldByName("XLGGIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim()))
{
sSQL.AppendLine(" 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.AppendLine(" and " + CMISproDataBase.GetWhereEqual(" XLXSBJXLGGTHB_XLGGIDCH", sXLGGID.Replace('*', '×')));
}
else
{
sSQL.AppendLine(" and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID ");
entity.Param.Add("pXLGGID", CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×"));
}
}
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim()))
{
sSQL.AppendLine("\r\n and XLXSBJDMX_XLBZID = :pST ");
entity.Param.Add("pST", CurQueryEntity.FieldByName("ST").Value.Trim());
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim()))
{
sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_DYDJID", CurQueryEntity.FieldByName("DYDJID").Value.Trim()));
}
if (CurQueryEntity.FieldByName("CXXHYBJCPBYZ").Value.Trim().Equals("True"))
{
sSQL.AppendLine(" AND XLXSBJDMX_BJCP not like '%'||ltrim(rtrim(tmpMX.XLXSBJDMX_XDXLXHID))||'%' ");
}
if (CurQueryEntity.FieldByName("BXSTRFZCP").Value.Trim().ToUpper().Equals("TRUE"))
{
sSQL.AppendLine(" AND (isnull(XLJGCZBML_FZR,' ')=' ' or XLJGCZBML_FZR=:pFZR ) ");
entity.Param.Add("pFZR", tSession.UserName);
}
if (CurQueryEntity.FieldByName("CXZBDWPPWL").Value.Trim().Equals("True"))
{
if (sYXQBJWL == "Y" || sYXQBJWL == "X")
sSQL.AppendLine(" AND (case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else isnull(a.minWLID,' ') end )= ' ' AND XLXSBJDMX_ZB in ('全部中标','部分中标') ");
else
sSQL.AppendLine(" AND (case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else isnull(c.minWLID,' ') end )= ' ' AND XLXSBJDMX_ZB in ('全部中标','部分中标') ");
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJCP").Value.Trim()))
{
sSQL.AppendLine(" AND XLXSBJDMX_BJCP like :pBJCP ");
entity.Param.Add("pBJCP", "%" + CurQueryEntity.FieldByName("BJCP").Value.Trim() + "%");
}
if (CurQueryEntity.FieldByName("SFZB").Value.Trim().ToUpper().Equals("TRUE"))
{
sSQL.AppendLine(" AND XLXSBJDMX_ZB in ('全部中标','部分中标') ");
}
if (CurQueryEntity.FieldByName("SFQDHT").Value.Trim().ToUpper().Equals("TRUE"))
{
sSQL.AppendLine(" AND isnull(HT_HTBH,' ') <> ' ' and isnull(HT_WPID,' ') = 'ZZZZ' and isnull(HT_GD,' ') = 'Y' ");
}
if (CurQueryEntity.FieldByName("SFXDD").Value.Trim().ToUpper().Equals("TRUE"))
{
sSQL.AppendLine(" AND isnull(SO_SOID,' ') <> ' ' and isnull(SO_WPID,' ') = 'ZZZZ' ");
}
if (CurQueryEntity.FieldByName("SFFH").Value.Trim().ToUpper().Equals("TRUE"))
{
sSQL.AppendLine(" AND isnull(SOTH_THDID,' ') <> ' ' and isnull(SOTH_WPID,' ') = 'ZZZZ' ");
}
if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号"))
{
sSQL.AppendLine(" order by XLXSBJDMX_BJDID,XLXSBJDMX_XSSX ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期倒序↓"))
{
sSQL.AppendLine(" order by XLXSBJD_BJRQ DESC, XLXSBJDMX_BJDID,XLXSBJDMX_XSSX ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期正序↑"))
{
sSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJDMX_BJDID,XLXSBJDMX_XSSX ");
}
else
{
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
sSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJFKCFMX_CFXH ");
}
else
{
sSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJDMX_BJDID,XLXSBJDMX_XSSX ");
}
}
txtXSBM.Text = "";
txtXSQY.Text = "";
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select ");
SQL.Add(" case when isnull(XLXSBJD_XSBMID,' ') = ' ' then ' ' else rtrim(isnull(XLXSBJD_XSBMID,' ')) || '|' || rtrim(isnull(BM_MC,' ')) end as XSBM, ");
SQL.Add(" case when isnull(XLXSBJD_XSQYID,' ') = ' ' then ' ' else rtrim(isnull(XLXSBJD_XSQYID,' ')) || '|' || rtrim(isnull(XSQY_XSQYMC,' ')) end as XSQY ");
SQL.Add(" from XLXSBJD ");
SQL.Add(" left join BM on BM_BMID = XLXSBJD_XSBMID ");
SQL.Add(" left join XSQY on XSQY_XSQYID = XLXSBJD_XSQYID ");
SQL.Add(" where XLXSBJD_BJDID =:XLXSBJD_BJDID ");
SQL.ParamByName("XLXSBJD_BJDID").Value = PageParam.GetRTrimString("BJDID").Trim();
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtXSBM.Text = ds.Tables[0].Rows[0]["XSBM"].ToString().Trim();
txtXSQY.Text = ds.Tables[0].Rows[0]["XSQY"].ToString().Trim();
}
}
return sSQL.ToString();
}
private string GetBJDDCLR(string sBJDID)
{
if (sBJDID.Equals(""))
return "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add(" select XLXSBJD_WFAWAITER from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
sql.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
return ds.Tables[0].Rows[0]["XLXSBJD_WFAWAITER"].ToString().Trim();
}
return "";
}
public static DataSet GetBJCP_XLWL(string sBJDID)
{
return GetBJCP_XLWL(sBJDID,"N");
}
public static DataSet GetBJCP_XLWL(string sBJDID,string sZJFK)
{
bool ExistsBJCPYS = false;//是否设置了报价产品颜色
if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJCPYS_CPYT from XLXSBJCPYS where 1=1"))
{
ExistsBJCPYS = true;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
//校验同一份报价单上的报价单明细的WLID匹配是否齐全
string sYXQBJWL = XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXQCPWL.Trim();
sql.Clear();
if (sYXQBJWL == "Y" || sYXQBJWL == "X")
sql.Add("select XLXSBJDMX_XH,XLXSBJDMX_XSSX,ISNULL(XLXSBJDMX_ZB,' ') as ZBZT,case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end as WLID,isnull(XLJGCZBML_FZR,' ') as XLJGCZBML_FZR ");
else
sql.Add("select XLXSBJDMX_XH,XLXSBJDMX_XSSX,ISNULL(XLXSBJDMX_ZB,' ') as ZBZT,case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end as WLID,isnull(XLJGCZBML_FZR,' ') as XLJGCZBML_FZR ");
sql.Add(" from XLXSBJDMX");
sql.Add(" left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID and XLXSCLQD_WPID='ZZZZ' ");
sql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID = XLXSCLQD_JGCZBID ");
sql.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ");
if (sYXQBJWL == "Z" || sYXQBJWL == "X")
{
sql.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID ");
sql.Add(" from XLXSBJXDWL");
sql.Add(" where 1=1");
//sql.Add(" and isnull(XLXSBJXDWL_TYBZ,' ')<> 'Y' ");
sql.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sql.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_DYDJID");
sql.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.DYDJID=XLXSBJDMX_DYDJID ");
sql.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID, minWLID ");
sql.Add(" from ( ");
sql.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID ");
sql.Add(" from XLXLB ");
sql.Add(" where 1=1 ");
sql.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sql.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID");
sql.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
sql.Add(" union all");
sql.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID ");
sql.Add(" from XLXLB ");
sql.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
sql.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID ");
sql.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.DYDJID=XLXSBJDMX_DYDJID ");
}
else
{
if (ExistsBJCPYS)
{
sql.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,XLXSBJXDWL_XLYSID as XLYSID,min(XLXSBJXDWL_WLID) as minWLID ");
sql.Add(" from XLXSBJXDWL");
sql.Add(" where 1=1");
//sql.Add(" and isnull(XLXSBJXDWL_TYBZ,' ')<> 'Y' ");
sql.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sql.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID,XLXSBJXDWL_XLYSID");
sql.Add(" ) c on c.XLXHID= XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID and c.XLYSID=XLXSBJDMX_XLYSID ");
sql.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID, minWLID ");
sql.Add(" from ( ");
sql.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID ");
sql.Add(" from XLXLB ");
sql.Add(" where 1=1 ");
sql.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sql.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID");
sql.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
sql.Add(" union all");
sql.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID ");
sql.Add(" from XLXLB ");
sql.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
sql.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID ");
sql.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID and a.XLYSID=XLXSBJDMX_XLYSID ");
}
else
{
sql.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID ");
sql.Add(" from XLXSBJXDWL");
sql.Add(" where 1=1");
//sql.Add(" and isnull(XLXSBJXDWL_TYBZ,' ')<> 'Y' ");
sql.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sql.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID");
sql.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID ");
sql.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID, minWLID ");
sql.Add(" from ( ");
sql.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID ");
sql.Add(" from XLXLB ");
sql.Add(" where 1=1 ");
sql.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
sql.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID");
sql.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
sql.Add(" union all");
sql.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID ");
sql.Add(" from XLXLB ");
sql.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
sql.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
sql.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
sql.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID ");
sql.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID= XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID ");
}
}
sql.Add(" where XLXSBJDMX_BJDID=:pBJDID");
if (sZJFK == "Y")
{
sql.Add(" and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) ");
}
sql.Add(" order by XLXSBJDMX_XSSX,XLXSBJDMX_XH");
sql.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sql);
return ds;
}
private bool GetBJDFKZT(string sBJDID)
{
if (sBJDID.Equals(""))
return false;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add(" select XLXSBJD_WFID,XLXSBJD_WPID from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
sql.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
string sWFID = ds.Tables[0].Rows[0]["XLXSBJD_WFID"].ToString().Trim();
string sWPID = ds.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim();
TWorkflow awf = new TWorkflow(tSession, null);
awf.UMID = 100860000;
awf.CurUserID = tSession.UserId;
string sBZWPID = TWorkflow.Utils.WFGetBZSWID(sWFID, sWPID);
if (sBZWPID.Equals("0030"))
return true;
return false;
}
return false;
}
private double GetBJD_DOCGRPID(string sBJDID)
{
double dDOCRPID = 0;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add(" select BJD_DOCGRPID from BJD where BJD_BJDID = :pBJDID ");
sql.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
dDOCRPID = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["BJD_DOCGRPID"].ToString().Trim());
}
return dDOCRPID;
}
private bool CanClcikLink(string sBJDID, string sBJDXH)
{
if (!GetBJDFKZT(sBJDID))
return false;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add(@"select XLJGCZBML_FZR from XLXSBJDMX
left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID
and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID and XLXSCLQD_WPID='ZZZZ'
left join XLJGCZBML on XLJGCZBML_JGCZBID = XLXSCLQD_JGCZBID
where XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XH=:pXH ");
sql.ParamByName("pBJDID").Value = sBJDID;
sql.ParamByName("pXH").Value = CMISproConvert.StrToInt(sBJDXH);
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count <= 0)
return true;
string sFZR = ds.Tables[0].Rows[0][0].ToString().Trim();
if (string.IsNullOrEmpty(sFZR))
return true;
if (sFZR.Equals(tSession.UserName))
return true;
return false;
}
private void ZJFK(string sBJDID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046);
string sHBID = "";
double fHL = 0;
SQL.Clear();
SQL.Add("select HB_HBID,HB_HL from HB where HB_BWB='Y'");//获取本位币
DataSet dsHB = dberp.OpenDataSet(SQL);
if (dsHB.Tables[0].Rows.Count > 0)
{
sHBID = dsHB.Tables[0].Rows[0]["HB_HBID"].ToString().Trim();
fHL = CMISproConvert.StrToFloat(dsHB.Tables[0].Rows[0]["HB_HL"].ToString());
}
else
{
ShowMessage("未设置本位币,请至【100734003|货币维护】功能维护!");
return;
}
bool ExistsBJCPYS = false;//是否设置了报价产品颜色
if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJCPYS_CPYT from XLXSBJCPYS where 1=1"))
{
ExistsBJCPYS = true;
}
string sYXQBJWL = XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXQCPWL.Trim();
SQL.Clear();
SQL.Add("select XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,XLXSBJDMX_BZ,XLXSBJDMX_ZDXJ, ");
SQL.Add(" XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID,case isnull(XLXSBJDMX_XLBZID,' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLBZID)||'|'||XLBZ_XLBZLXMC end as XLBZ,XLXSBJDMX_DZSC,XLXSBJDMX_BJWS,XLXSBJDMX_ZB,XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE,");
if (sYXQBJWL == "Y" || sYXQBJWL == "X")
SQL.Add(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end as WLID,WL_MC,WL_GG,WL_JLDW ");
else
SQL.Add(" case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end as WLID,WL_MC,WL_GG,WL_JLDW ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID ");
SQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ");
if (sYXQBJWL == "Z" || sYXQBJWL == "X")
{
SQL.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID ");
SQL.Add(" from XLXSBJXDWL");
SQL.Add(" where 1=1");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_DYDJID");
SQL.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.DYDJID=XLXSBJDMX_DYDJID ");
SQL.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID, minWLID ");
SQL.Add(" from ( ");
SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where 1=1 ");
SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID");
SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
SQL.Add(" union all");
SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID ");
SQL.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.DYDJID=XLXSBJDMX_DYDJID ");
}
else
{
if (ExistsBJCPYS)
{
SQL.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,XLXSBJXDWL_XLYSID as XLYSID,min(XLXSBJXDWL_WLID) as minWLID ");
SQL.Add(" from XLXSBJXDWL");
SQL.Add(" where 1=1");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID,XLXSBJXDWL_XLYSID");
SQL.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID and c.XLYSID=XLXSBJDMX_XLYSID ");
SQL.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,minWLID ");
SQL.Add(" from ( ");
SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where 1=1 ");
SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID");
SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
SQL.Add(" union all");
SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID ");
SQL.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID and a.XLYSID=XLXSBJDMX_XLYSID ");
}
else
{
SQL.Add("left join (select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID ");
SQL.Add(" from XLXSBJXDWL");
SQL.Add(" where 1=1");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID");
SQL.Add(" ) c on c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID ");
SQL.Add(" left join (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID, minWLID ");
SQL.Add(" from ( ");
SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where 1=1 ");
SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')");
SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID");
SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
SQL.Add(" union all");
SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID ");
SQL.Add(" ) a on a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=XLXSBJXLGGTHB_XLGGIDCH and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID ");
}
}
if (sYXQBJWL == "Y" || sYXQBJWL == "X")
SQL.Add(" left join WL on WL_WLID=(case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(c.minWLID,' ') <> ' ' then c.minWLID else a.minWLID end)");
else
SQL.Add(" left join WL on WL_WLID=(case when isnull(XLXSBJDMX_WLID,' ') <> ' ' then XLXSBJDMX_WLID when isnull(a.minWLID,' ') <> ' ' then a.minWLID else c.minWLID end)");
//SQL.Add(" left join JLDWTD b on upper(b.JLDWTD_JLDW)=:pJLDW and upper(b.JLDWTD_TDJLDW)=:pTDJLDW and isnull(b.JLDWTD_WLID,' ')=' ' ");
//SQL.Add(" left join JLDWTD c on upper(c.JLDWTD_JLDW)=:pTDJLDW and upper(c.JLDWTD_TDJLDW)=:pJLDW and isnull(c.JLDWTD_WLID,' ')=' ' ");
SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID");
SQL.Add(" and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) ");
//仅下达能关联到物料编码的记录
//SQL.Add(" and isnull(a.minWLID,' ')<>' '");
SQL.Add(" order by XLXSBJDMX_XSSX");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsMX = dberp.OpenDataSet(SQL);
//记录报价产品计量单位与对应线缆物料计量单位的换算系数
Dictionary dicHSXS = new Dictionary();
Dictionary dicDRXH = new Dictionary();
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
string sXH = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
if (!dicDRXH.ContainsKey(sXH))
dicDRXH.Add(sXH, "1");
else
{
string sSYS = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["XLBZ"].ToString().Trim();
ShowMessage(string.Format("将导入重复明细【{0}】【{1}】,请检查是否存在相同产品对应多个物料!", sXH, sSYS));
return;
}
string sWLID = dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim();
if (sWLID.Equals(""))
continue;
string sBJCPJLDW = dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
string sWLJLDW = dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim();
if (sWLJLDW.Equals("") || sBJCPJLDW.ToUpper().Equals(sWLJLDW.ToUpper()))
{
dicHSXS.Add(dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(), 1);
}
else
{
Dictionary dicJLWD = new Dictionary();
CXBJD_QRInfo.GetJLDWList(dicJLWD, sWLID, sWLJLDW);
if (!dicJLWD.ContainsKey(sBJCPJLDW))
{
ShowMessage(string.Format("报价计量单位【{0}】与物料计量单位【{1}】未维护替代关系,请至【100812012|替代计量单位维护】模块维护!", sBJCPJLDW, sWLJLDW));
return;
}
else
{
dicHSXS.Add(dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim(), dicJLWD[sBJCPJLDW]);
}
}
}
try
{
dberp.BeginTrans();
#region 插入明细
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals(""))
continue;
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 BJDMX_BJDID from BJDMX where BJDMX_BJDID='{0}' and BJDMX_BJDXH={1} ", sBJDID, dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim())))
{
SQL.Clear();
SQL.Add("update BJDMX set BJDMX_WLID=:WLID, ");
SQL.Add(" BJDMX_JG=:XLXSBJDMX_CPBJ, ");
SQL.Add(" BJDMX_CB=:XLXSBJDMX_BJDHQCLCB, ");
SQL.Add(" BJDMX_JLDW=:XLXSBJDMX_JLDW, ");
SQL.Add(" BJDMX_HSXS=:HSXS, ");
SQL.Add(" BJDMX_BJSL=:XLXSBJDMX_BJSL, ");
SQL.Add(" BJDMX_ZBJSL=:ZBJSL, ");
SQL.Add(" BJDMX_BZ=:XLXSBJDMX_BZ, ");
SQL.Add(" BJDMX_JE=:XLXSBJDMX_BJJE, ");
SQL.Add(" BJDMX_KHWLMC=:XLXSBJDMX_BJCP, ");
SQL.Add(" BJDMX_WLMCGG=:WLMCGG, ");
SQL.Add(" BJDMX_KHJG=:KHJG, ");
SQL.Add(" BJDMX_KHJE=:KHJE, ");
SQL.Add(" BJDMX_DZSC=:DZSC, ");
SQL.Add(" BJDMX_BJWS=:BJWS ");
SQL.Add(" where BJDMX_BJDID=:XLXSBJDMX_BJDID and BJDMX_BJDXH=:XLXSBJDMX_XH and BJDMX_XLXSBJXSSX=:XLXSBJDMX_XSSX ");
}
else
{
SQL.Clear();
SQL.Add("insert into BJDMX(BJDMX_BJDID,BJDMX_BJDXH,BJDMX_XLXSBJXSSX,BJDMX_WLID,BJDMX_JG,BJDMX_CB,BJDMX_JLDW,BJDMX_HSXS,");
SQL.Add(" BJDMX_BJSL,BJDMX_ZBJSL,BJDMX_PZ,BJDMX_BZ,BJDMX_CBCG,BJDMX_JE,BJDMX_KHWLMC,BJDMX_WLMCGG, ");
SQL.Add(" BJDMX_KHJG,BJDMX_KHJE,BJDMX_DZSC,BJDMX_BJWS) ");
SQL.Add(" values(:XLXSBJDMX_BJDID,:XLXSBJDMX_XH,:XLXSBJDMX_XSSX,:WLID,:XLXSBJDMX_CPBJ,:XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_JLDW,:HSXS,");
SQL.Add(" :XLXSBJDMX_BJSL,:ZBJSL,'N',:XLXSBJDMX_BZ,'N',:XLXSBJDMX_BJJE,:XLXSBJDMX_BJCP,:WLMCGG, ");
SQL.Add(" :KHJG,:KHJE,:DZSC,:BJWS) ");
}
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
SQL.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_XSSX").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim();
SQL.ParamByName("WLID").Value = dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_CPBJ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim();
if (dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim().ToUpper() == dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim().ToUpper())
SQL.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim();
else
SQL.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
SQL.ParamByName("HSXS").Value = dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()];
SQL.ParamByName("XLXSBJDMX_BJSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim();
SQL.ParamByName("ZBJSL").Value = CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()) * dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()];
SQL.ParamByName("XLXSBJDMX_BZ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_BJJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_BJCP").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim();
if (dsMX.Tables[0].Rows[i]["WL_GG"].ToString().Trim().Equals(""))
SQL.ParamByName("WLMCGG").Value = dsMX.Tables[0].Rows[i]["WL_MC"].ToString().Trim();
else
SQL.ParamByName("WLMCGG").Value = dsMX.Tables[0].Rows[i]["WL_MC"].ToString().Trim() + " " + dsMX.Tables[0].Rows[i]["WL_GG"].ToString().Trim();
SQL.ParamByName("KHJG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4);
SQL.ParamByName("KHJE").Value = NumberUtils.RoundX(NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4) * CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()), 2);
SQL.ParamByName("DZSC").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_DZSC"].ToString().Trim();
SQL.ParamByName("BJWS").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJWS"].ToString().Trim();
dberp.ExecSQL(SQL);
}
#endregion
#region 回填XLXSBJDMX_WLID
SQL.Clear();
SQL.Add(" merge into XLXSBJDMX tar ");
SQL.Add(" using ( ");
SQL.Add(" select BJDMX_BJDID,BJDMX_BJDXH,BJDMX_WLID from BJDMX ");
SQL.Add(" where BJDMX_BJDID = :pBJDID ");
SQL.Add(" ) sor ");
SQL.Add(" on ( ");
SQL.Add(" sor.BJDMX_BJDID = XLXSBJDMX_BJDID ");
SQL.Add(" and sor.BJDMX_BJDXH = XLXSBJDMX_XH ");
SQL.Add(" and XLXSBJDMX_BJDID = :pBJDID ");
SQL.Add(" ) ");
SQL.Add(" when matched then update set ");
SQL.Add(" XLXSBJDMX_WLID = sor.BJDMX_WLID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
#endregion
#region 发送消息提醒
if (!string.IsNullOrEmpty(XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_JGPSTZRGHS))
{
SQL.Clear();
SQL.Add(@"select XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID,isnull(XLJGCZBML_FZR,' ') as XLJGCZBML_FZR,
XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH,XLXSBJDMX_BJDID,max(XLXSBJDMX_XH) as XLXSBJDMX_XH
from XLXSBJDMX
left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=XLXSBJDMX_DYDJID
left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID = XLXSCLQD_JGCZBID and XLXHJGCZBML_JGCZBXH = XLXSCLQD_JGCZBXH
left join XLJGCZBML on XLJGCZBML_JGCZBID = XLXSCLQD_JGCZBID
left join
(select min(XLGYBOM_PSSJ) as PSSJ,XLGYBOM_WLID,XLGYBOM_GYFLBM from XLGYBOM
where exists(select 1 from XLXSBJDMX where XLXSBJDMX_BJDID = :pBJDID and XLXSBJDMX_WLID = XLGYBOM_WLID)
group by XLGYBOM_WLID,XLGYBOM_GYFLBM) GYBOM
on GYBOM.XLGYBOM_WLID = XLXSBJDMX_WLID and GYBOM.XLGYBOM_GYFLBM = XLJGCZBML_GYFLBM
where XLXSBJDMX_BJDID = :pBJDID and XLXSBJDMX_ZB in('P','Y') and (XLJGCZBML_CZBLX = 'C' or XLJGCZBML_CZBLX = 'G')
and (isnull(PSSJ,' ') = ' ' or XLXSCLQD_WHSJ > PSSJ)
and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 )
group by XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID,XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH,XLXSBJDMX_BJDID,isnull(XLJGCZBML_FZR,' ')
order by XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,XLXHJGCZBML_XLBZID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet dsJGPS = dberp.OpenDataSet(SQL);
if (dsJGPS.Tables[0].Rows.Count > 0)
{
int VnewID = CMISproDataBase.GetMaxXH("DBERP", "V_BJCPJGPS", "V_BJCPJGPS_ID", "") + 1;
SQL.Clear();
SQL.Add(@"insert into V_BJCPJGPS
(V_BJCPJGPS_ID,V_BJCPJGPS_JGCZBID,V_BJCPJGPS_JGCZBBBID,V_BJCPJGPS_JGCZBXH,V_BJCPJGPS_DRHH,V_BJCPJGPS_TIMESTAMP,V_BJCPJGPS_BJDID,V_BJCPJGPS_BJDXH,V_BJCPJGPS_WHR,V_BJCPJGPS_WHRID,V_BJCPJGPS_WHSJ)
values(:ID,:JGCZBID,:JGCZBBBID,:JGCZBXH,:DRHH,:TIMESTAMP,:BJDID,:BJDXH,:WHR,:WHRID,:WHSJ)");
string sJGCZBIDLast = dsJGPS.Tables[0].Rows[0]["XLXSCLQD_JGCZBID"].ToString().Trim();
string sJGCZBBBIDLast = dsJGPS.Tables[0].Rows[0]["XLXSCLQD_JGCZBBBID"].ToString().Trim();
string sXLXHIDLast = dsJGPS.Tables[0].Rows[0]["XLXHJGCZBML_XLXHID"].ToString().Trim();
string sDYDJIDLast = dsJGPS.Tables[0].Rows[0]["XLXHJGCZBML_DYDJID"].ToString().Trim();
string sXLBZIDLast = dsJGPS.Tables[0].Rows[0]["XLXHJGCZBML_XLBZID"].ToString().Trim();
for (int i = 0; i < dsJGPS.Tables[0].Rows.Count; i++)
{
string sJGCZBID = dsJGPS.Tables[0].Rows[i]["XLXSCLQD_JGCZBID"].ToString().Trim();
string sJGCZBBBID = dsJGPS.Tables[0].Rows[i]["XLXSCLQD_JGCZBBBID"].ToString().Trim();
string sXLXHID = dsJGPS.Tables[0].Rows[i]["XLXHJGCZBML_XLXHID"].ToString().Trim();
string sDYDJID = dsJGPS.Tables[0].Rows[i]["XLXHJGCZBML_DYDJID"].ToString().Trim();
string sXLBZID = dsJGPS.Tables[0].Rows[i]["XLXHJGCZBML_XLBZID"].ToString().Trim();
if (!(sJGCZBIDLast.Equals(sJGCZBID) && sJGCZBBBIDLast.Equals(sJGCZBBBID) && sXLXHIDLast.Equals(sXLXHID) && sDYDJIDLast.Equals(sDYDJID) && sXLBZIDLast.Equals(sXLBZID)))
{
string sTZR = pzxx.XLXSBJPZ_JGPSTZRGHS;
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_YXTZCZBFZR == "Y")
{
string sCZBFZR = dsJGPS.Tables[0].Rows[i]["XLJGCZBML_FZR"].ToString().Trim();
string sCZBFZRGH = TRYXX.GetRYByRYMC(sCZBFZR).GH;
string sJGPSTZRGHS = "," + pzxx.XLXSBJPZ_JGPSTZRGHS + ",";
if (!sJGCZBID.Equals("") && (sJGPSTZRGHS.Contains("," + sCZBFZRGH + ",")))
{
sTZR = sCZBFZRGH;
}
}
TMsg msg = new TMsg();
msg.MsgClass = "BJFK_JGPS";
msg.UMID = "100860046";
msg.MsgContent = string.Format("{0}|{1}尺重表下{2}型号{3}电压{4}标准类型存在部分规格正在进行报价反馈,请检查结构工艺是否需要重新派生!", sJGCZBIDLast, sJGCZBBBIDLast, sXLXHIDLast, sDYDJIDLast, sXLBZIDLast);
msg.MsgUmid = 101202010;
msg.ReceiveUsers = sTZR;
msg.MsgYWID = "[BJCPJGPS_ID=" + VnewID.ToString().Trim() + "]";
msg.SendMsg(tSession, tSession.UserName);
sJGCZBIDLast = sJGCZBID;
sJGCZBBBIDLast = sJGCZBBBID;
sXLXHIDLast = sXLXHID;
sDYDJIDLast = sDYDJID;
sXLBZIDLast = sXLBZID;
}
int iJGCZBXH = CMISproConvert.StrToInt(dsJGPS.Tables[0].Rows[i]["XLXSCLQD_JGCZBXH"].ToString().Trim(), 0);
int iDRHH = CMISproConvert.StrToInt(dsJGPS.Tables[0].Rows[i]["XLXSCLQD_DRHH"].ToString().Trim(), 0);
int iXH = CMISproConvert.StrToInt(dsJGPS.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim());
SQL.ParamByName("ID").Value = VnewID;
SQL.ParamByName("JGCZBID").Value = sJGCZBID;
SQL.ParamByName("JGCZBBBID").Value = sJGCZBBBID;
SQL.ParamByName("JGCZBXH").Value = iJGCZBXH;
SQL.ParamByName("DRHH").Value = iDRHH;
SQL.ParamByName("TIMESTAMP").Value = MISproUtils.GetServerTime();
SQL.ParamByName("BJDID").Value = sBJDID;
SQL.ParamByName("BJDXH").Value = iXH;
SQL.ParamByName("WHR").Value = tSession.UserName;
SQL.ParamByName("WHRID").Value = tSession.UserId;
SQL.ParamByName("WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
}
TMsg msg2 = new TMsg();
msg2.MsgClass = "BJFK_JGPS";
msg2.UMID = "100860046";
msg2.MsgContent = string.Format("{0}|{1}尺重表下{2}型号{3}电压{4}标准类型存在部分规格正在进行报价反馈,请检查结构工艺是否需要重新派生!", sJGCZBIDLast, sJGCZBBBIDLast, sXLXHIDLast, sDYDJIDLast, sXLBZIDLast);
msg2.MsgUmid = 101202010;
msg2.MsgYWID = "[BJCPJGPS_ID=" + VnewID.ToString().Trim() + "]";
msg2.ReceiveUsers = pzxx.XLXSBJPZ_JGPSTZRGHS;
msg2.SendMsg(tSession, tSession.UserName);
}
}
#endregion
#region 同步生成CS投标报价反馈记录
int maxTBXH = CMISproDataBase.GetMaxXH("DBERP", "TBBJFKMX", "TBBJFKMX_XH", "TBBJFKMX_TBSID=' ' and TBBJFKMX_BJDID='" + sBJDID + "'");
SQL.Clear();
SQL.Add(@"merge into TBBJFKMX
using (
select BJDMX_BJDID,row_number() over(order by BJDMX_BJDXH)+:pMaxXH as XH,BJDMX_BJDXH,XLXSBJDMX_ZB,XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE
from BJDMX,XLXSBJDMX
where BJDMX_BJDID=:pBJDID and XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XH=BJDMX_BJDXH
and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 )
)sor
on(
TBBJFKMX_TBSID=' '
and TBBJFKMX_BJDID=BJDMX_BJDID
and TBBJFKMX_BJDXH=BJDMX_BJDXH
)when matched then update set TBBJFKMX_ZB=XLXSBJDMX_ZB,TBBJFKMX_ZBSL=XLXSBJDMX_ZBSL,TBBJFKMX_ZBJE=XLXSBJDMX_ZBJE
when not matched then insert (TBBJFKMX_TBSID, TBBJFKMX_BJDID, TBBJFKMX_XH, TBBJFKMX_BJDXH, TBBJFKMX_ZB,TBBJFKMX_ZBSL, TBBJFKMX_ZBJE)
values(' ',BJDMX_BJDID,XH,BJDMX_BJDXH,XLXSBJDMX_ZB,XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE) ");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("pMaxXH").Value = maxTBXH;
dberp.ExecSQL(SQL);
#endregion
dberp.CommitTrans();
}
catch (Exception ex)
{
ShowMessage("反馈操作出错,错误原因:" + ex);
dberp.RollbackTrans();
}
if (pzxx.XLXSBJPZ_TBFKZ3BB == "Y")
{
#region 同步插入3版本BJD数据表
TDatabase dberp3 = TContextDatabases.GetDatabase("DBERP3");
TSQL SQL3 = new TSQL(dberp3);
try
{
dberp3.BeginTrans();
#region 插入明细
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals(""))
continue;
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 BJDMX_BJDID from BJDMX where BJDMX_BJDID='{0}' and BJDMX_BJDXH={1} ", sBJDID, dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim())))
{
SQL3.Clear();
SQL3.Add("update BJDMX set BJDMX_WLID=:WLID, ");
SQL3.Add(" BJDMX_JG=:XLXSBJDMX_CPBJ, ");
SQL3.Add(" BJDMX_CB=:XLXSBJDMX_BJDHQCLCB, ");
SQL3.Add(" BJDMX_JLDW=:XLXSBJDMX_JLDW, ");
SQL3.Add(" BJDMX_HSXS=:HSXS, ");
SQL3.Add(" BJDMX_BJSL=:XLXSBJDMX_BJSL, ");
SQL3.Add(" BJDMX_ZBJSL=:ZBJSL, ");
SQL3.Add(" BJDMX_BZ=:XLXSBJDMX_BZ, ");
SQL3.Add(" BJDMX_JE=:XLXSBJDMX_BJJE, ");
SQL3.Add(" BJDMX_KHWLMC=:XLXSBJDMX_BJCP, ");
SQL3.Add(" BJDMX_KHJG=:KHJG, ");
SQL3.Add(" BJDMX_KHJE=:KHJE, ");
SQL3.Add(" BJDMX_ZBDJ=:XLXSBJDMX_CPBJ ");
SQL3.Add(" where BJDMX_BJDID=:XLXSBJDMX_BJDID and BJDMX_BJDXH=:XLXSBJDMX_XH and BJDMX_XLXSBJXSSX=:XLXSBJDMX_XSSX ");
}
else
{
SQL3.Clear();
SQL3.Add("insert into BJDMX(BJDMX_BJDID,BJDMX_BJDXH,BJDMX_WLID,BJDMX_JG,BJDMX_CB,BJDMX_JLDW,BJDMX_HSXS,");
SQL3.Add(" BJDMX_BJSL,BJDMX_ZBJSL,BJDMX_PZ,BJDMX_BZ,BJDMX_CBCG,BJDMX_JE,BJDMX_KHWLMC, ");
SQL3.Add(" BJDMX_KHJG,BJDMX_KHJE,BJDMX_ZBDJ) ");
SQL3.Add(" values(:XLXSBJDMX_BJDID,:XLXSBJDMX_XH,:WLID,:XLXSBJDMX_CPBJ,:XLXSBJDMX_BJDHQCLCB,:XLXSBJDMX_JLDW,:HSXS,");
SQL3.Add(" :XLXSBJDMX_BJSL,:ZBJSL,'N',:XLXSBJDMX_BZ,'N',:XLXSBJDMX_BJJE,:XLXSBJDMX_BJCP, ");
SQL3.Add(" :KHJG,:KHJE,:XLXSBJDMX_CPBJ) ");
}
SQL3.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
SQL3.ParamByName("XLXSBJDMX_XH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
SQL3.ParamByName("WLID").Value = dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_CPBJ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim();
if (dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim().ToUpper() == dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim().ToUpper())
SQL3.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["WL_JLDW"].ToString().Trim();
else
SQL3.ParamByName("XLXSBJDMX_JLDW").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
SQL3.ParamByName("HSXS").Value = dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()];
SQL3.ParamByName("XLXSBJDMX_BJSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim();
SQL3.ParamByName("ZBJSL").Value = CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()) * dicHSXS[dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim()];
SQL3.ParamByName("XLXSBJDMX_BZ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_BJJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_BJCP").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim();
SQL3.ParamByName("KHJG").Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4);
SQL3.ParamByName("KHJE").Value = NumberUtils.RoundX(NumberUtils.RoundX(CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZDXJ"].ToString().Trim()), 4) * CMISproConvert.StrToFloat(dsMX.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim()), 2);
dberp3.ExecSQL(SQL3);
}
#endregion
#region 同步生成CS投标报价反馈记录
for (int i = 0; i < dsMX.Tables[0].Rows.Count; i++)
{
if (dsMX.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals(""))
continue;
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 TBBJFKMX_TBSID from TBBJFKMX where TBBJFKMX_BJDH='{0}' and TBBJFKMX_BJDXH={1} ", sBJDID, dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim())))
{
SQL3.Clear();
SQL3.Add("update TBBJFKMX set TBBJFKMX_ZB=:XLXSBJDMX_ZB, ");
SQL3.Add(" TBBJFKMX_ZBSL=:XLXSBJDMX_ZBSL, ");
SQL3.Add(" TBBJFKMX_ZBJE=:XLXSBJDMX_ZBJE, ");
SQL3.Add(" TBBJFKMX_ZBDJ=:TBBJFKMX_ZBDJ ");
SQL3.Add(" where TBBJFKMX_BJDH=:XLXSBJDMX_BJDID and TBBJFKMX_BJDXH=:XLXSBJDMX_XH and TBBJFKMX_XH=:XLXSBJDMX_XH ");
}
else
{
SQL3.Clear();
SQL3.Add("insert into TBBJFKMX(TBBJFKMX_TBSID, TBBJFKMX_BJDH, TBBJFKMX_XH, TBBJFKMX_BJDXH, TBBJFKMX_ZB,TBBJFKMX_ZBSL, TBBJFKMX_ZBJE,TBBJFKMX_ZBDJ) ");//TBBJFKMX_BJDH--TBBJFKMX_BJDID
SQL3.Add("values ( ' ',:pBJDID,:pXH,:BJDMX_BJDXH,:XLXSBJDMX_ZB,:XLXSBJDMX_ZBSL,:XLXSBJDMX_ZBJE,:TBBJFKMX_ZBDJ ) ");
}
SQL3.ParamByName("pBJDID").Value = sBJDID;
SQL3.ParamByName("pXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
SQL3.ParamByName("BJDMX_BJDXH").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_ZB").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZB"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_ZBSL").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBSL"].ToString().Trim();
SQL3.ParamByName("XLXSBJDMX_ZBJE").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_ZBJE"].ToString().Trim();
SQL3.ParamByName("TBBJFKMX_ZBDJ").Value = dsMX.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim();
dberp3.ExecSQL(SQL3);
}
#endregion
dberp3.CommitTrans();
}
catch (Exception ex)
{
ShowMessage("反馈操作出错,错误原因:" + ex);
dberp3.RollbackTrans();
}
#endregion
}
ShowMessage("追加反馈完成!");
btnRefresh_Click(null, null);
}
#endregion
#region 控件事件
protected void btnPLSZ_Click(object sender, EventArgs e)
{
string sBJDID = PageParam.GetRTrimString("BJDID").Trim();
if (sBJDID.Equals(""))
sBJDID = txtSelBJDID.Value.Trim();
string sXHList = "";
if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs))
{
foreach (string sCheckedIndex in grdContentGrid.CheckedRowIndexs.Split(','))
{
string stmpXH = grdContentGrid.DataKeys[CMISproConvert.StrToInt(sCheckedIndex)]["XLXSBJDMX_XH"].ToString().Trim();
if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y"))
{
string stmpCFXH = grdContentGrid.DataKeys[CMISproConvert.StrToInt(sCheckedIndex)]["XLXSBJFKCFMX_CFXH"].ToString().Trim();
stmpXH = stmpXH.Trim() + "|" + stmpCFXH.Trim();
}
if (!sXHList.Equals(""))
sXHList += ",";
sXHList += stmpXH;
}
}
TPageParams tpp = new TPageParams();
tpp.UrlPath = "CXBJD_PLBJFKInfo.aspx";
tpp.AddString("BJDID", sBJDID);
tpp.AddString("BJDXHList", sXHList);
if (sXHList.Equals(""))//整单操作
{
tpp.AddString("NeedQRCID", txtNeedQR.ClientID);
OpenDialogClickBtn(tpp, btnRefreshAndQR.ClientID);
}
else
{
tpp.AddString("RefreshCtrlID", btnRefresh.ClientID);
OpenDialog(tpp);
}
}
protected void btnPLSZXDXH_Click(string value)
{
string sBJDID = PageParam.GetRTrimString("BJDID").Trim();
if (sBJDID.Equals(""))
sBJDID = txtSelBJDID.Value.Trim();
TPageParams tpp = new TPageParams();
tpp.UrlPath = "CXBJD_PLSZXDXHInfo.aspx";
tpp.AddString("BJDID", sBJDID);
if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs))
tpp.AddString("SZFW", "C");
else
tpp.AddString("SZFW", "A");
if (value.Equals("0"))
{
tpp.Title = "批量设置下单型号";
tpp.AddString("txtXLXHID", txtXLXHID.ClientID);
}
else if (value.Equals("2"))
{
tpp.Title = "批量设置下单标准";
tpp.AddString("txtXLBZID", txtXLBZID.ClientID);
}
else if (value.Equals("3"))
{
tpp.Title = "批量设置生产类型";
tpp.AddString("txtDZSC", txtDZSC.ClientID);
}
OpenDialogClickBtn(tpp, btnXDXLXHSZ.ClientID);
}
protected void btnPLSZYS_Click()
{
string sBJDID = PageParam.GetRTrimString("BJDID").Trim();
if (sBJDID.Equals(""))
sBJDID = txtSelBJDID.Value.Trim();
string sXHList = "";
if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs))
{
foreach (string sCheckedIndex in grdContentGrid.CheckedRowIndexs.Split(','))
{
string stmpXH = grdContentGrid.DataKeys[CMISproConvert.StrToInt(sCheckedIndex)]["XLXSBJDMX_XH"].ToString().Trim();
if (!sXHList.Equals(""))
sXHList += ",";
sXHList += stmpXH;
}
}
TPageParams tpp = new TPageParams();
tpp.UrlPath = "CXBJD_YSTZInfo.aspx";
tpp.AddString("BJDID", sBJDID);
if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs))
tpp.AddString("SZFW", "C");
else
tpp.AddString("SZFW", "A");
tpp.AddString("BJDXHList", sXHList);
tpp.AddString("RefreshCtrlID", btnRefresh.ClientID);
OpenDialog(tpp);
}
protected void btnBJDQR_Click(object sender, EventArgs e)
{
string sBJDID = "";
//100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
sBJDID = PageParam.GetRTrimString("BJDID");
}
else
{
if (grdContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
sBJDID = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim();
}
if (!CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJDMX_BJDID from XLXSBJDMX where XLXSBJDMX_BJDID='" + sBJDID + "'"))
{
ShowMessage("当前报价单无明细记录,不允许反馈!");
return;
}
if (txtZJFK.Value != "Y")
{
if (!CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJDMX_BJDID from XLXSBJDMX where (XLXSBJDMX_ZB='Y' or XLXSBJDMX_ZB='P') and XLXSBJDMX_BJDID='" + sBJDID + "'"))
{
ShowMessage("当前报价单的明细产品全部未中标,请手动提交报价单至结束!");
return;
}
}
else
{
string sSQL = "select top 1 XLXSBJDMX_BJDID from XLXSBJDMX where (XLXSBJDMX_ZB='Y' or XLXSBJDMX_ZB='P') and XLXSBJDMX_BJDID='" + sBJDID + "'"
+" and not exists(select 1 from BJDMX where BJDMX_BJDID=XLXSBJDMX_BJDID and BJDMX_BJDXH=XLXSBJDMX_XH and BJDMX_ZBSL<>0 ) ";
if (!CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("当前报价单的明细产品全部未中标,不允许反馈!");
return;
}
}
string sWfAwaiter = GetBJDDCLR(sBJDID);
if (!sWfAwaiter.Contains("," + tSession.UserId + ","))
{
ShowMessage("当前用户不属于报价单待处理人,不允许反馈!");
return;
}
//if (TWorkflow.Utils.QYWFByWFVID("XS_BJDSP"))//XS_BJDSP|销售报价单评审流程
//{
// ShowMessage("【100384006|销售报价单维护】模块不允许启用工作流!");
// return;
//}
if (!GetOption(100384006, "XSU100").Equals("N"))
{
ShowMessage("【100384006|销售报价单维护】模块参数“XSU100|按什么物料进行销售报价”的值必须设置为“N|按正式物料进行销售报价”!");
return;
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID)) && txtZJFK.Value != "Y")
{
ShowMessage("所选报价单已反馈,不允许重复反馈!");
return;
}
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046);
DataSet ds = GetBJCP_XLWL(sBJDID,txtZJFK.Value);
string sNoWLIDXSSXList = "";
string sCZBFZRGHList = "";
string sZBZT = "";
List CZBFZRGHList = new List();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["WLID"].ToString().Trim().Equals(""))
{
if (ds.Tables[0].Rows[i]["ZBZT"].ToString().Trim().Equals("Y") || ds.Tables[0].Rows[i]["ZBZT"].ToString().Trim().Equals("P"))
{
sNoWLIDXSSXList += ds.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim() + ",";
if (pzxx.XLXSBJPZ_YXTZCZBFZR == "Y")
{
string sCZBFZRGH = TRYXX.GetRYByRYMC(ds.Tables[0].Rows[i]["XLJGCZBML_FZR"].ToString().Trim()).GH;
string sWLQSTZRGHS = "," + pzxx.XLXSBJPZ_WLQSTZRGHS + ",";
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_WLQSTZRGHS) && (sWLQSTZRGHS.Contains("," + sCZBFZRGH + ",")) && !CZBFZRGHList.Contains(sCZBFZRGH))
{
sCZBFZRGHList += sCZBFZRGH + ",";
CZBFZRGHList.Add(sCZBFZRGH);
}
}
}
}
if (!ds.Tables[0].Rows[i]["ZBZT"].ToString().Trim().Equals(""))
{
sZBZT += ds.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim() + ",";
}
}
sNoWLIDXSSXList = sNoWLIDXSSXList.TrimEnd(',');
sCZBFZRGHList = sCZBFZRGHList.TrimEnd(',');
if (!sNoWLIDXSSXList.Equals(""))
{
if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_WLQSTZRGHS))
{
ShowMessage("当前报价单的明细中标产品部分没有设置对应的物料,不能执行报价单反馈操作!");
return;
}
else
{
string sWarning = "当前报价单的明细中标产品部分没有设置对应的物料,不能执行报价单反馈操作!是否通知相关人员增补物料?";
Confirm.Register("IsQD", sWarning);
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"))
{
string sTZR = pzxx.XLXSBJPZ_WLQSTZRGHS;
if (!sCZBFZRGHList.Equals(""))
sTZR = sCZBFZRGHList;
//表示进行了提示并选择了确认
Confirm.Clear();
TMsg msg = new TMsg();
msg.MsgClass = "BJFK_WLQS";
msg.UMID = "100860046";
msg.MsgNumid = 100860046;
msg.MsgYWID = "[BJDID=" + sBJDID + "][WLQS=Y]";
TPageParams tpp = new TPageParams();
tpp.CallAction = TPageCallAction.pcaBrowse;
tpp.UrlPath = "../components/N_XLXSBJ/CXBJDList.aspx";
tpp.AddString("BJDID", sBJDID);
tpp.AddString("WLQS", "Y");
msg.MsgContent = sBJDID+"报价单中标产品缺少对应物料,无法完成反馈!";
msg.MsgURL = Utils.GetEncodedUrl(100860046, tpp);
msg.ReceiveUsers = sTZR;
msg.SendMsg(tSession, tSession.UserName);
ShowMessage("消息通知成功!");
return;
}
}
}
else
{
if (sZBZT.Equals(""))
{
ShowMessage("当前报价单的明细产品均没有设置中标状态,不能执行报价单反馈操作!");
return;
}
if (txtZJFK.Value != "Y")
{
TPageParams param = new TPageParams();
param.UrlPath = "CXBJD_QRInfo.aspx";
param.AddString("BJDID", sBJDID);
//100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
param.AddString("FromXLXSBJD", "Y");
param.AddString("RefreshCtrlID", btnRefreshZT.ClientID);
OpenDialog(param);
}
else
OpenDialogClickBtn(param, btnRefreshZT.ClientID);
}
else
{
string sWarning = "将在已反馈的报价单明细追加中标明细,是否确认?";
Confirm.Register("IsQD", sWarning);
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();
ZJFK(sBJDID);
}
}
}
}
protected void btnBJDQR_OnDropDown(object sender, EventArgs e)
{
btnBJDQR.Nodes.Clear();
btnBJDQR.Nodes.Add(new gtTreeNode("1", "追加反馈"));
btnBJDQR.Nodes.Add(new gtTreeNode("0", "取消反馈"));
MenuAreaUpdate();
}
protected void btnPLSZ_OnDropDown(object sender, EventArgs e)
{
btnPLSZ.Nodes.Clear();
btnPLSZ.Nodes.Add(new gtTreeNode("0", "批量设置下单型号"));
if (DSActiveModule.IsActiveModule(102577006))
{
btnPLSZ.Nodes.Add(new gtTreeNode("2", "批量设置下单标准"));
}
btnPLSZ.Nodes.Add(new gtTreeNode("3", "批量设置生产类型"));
btnPLSZ.Nodes.Add(new gtTreeNode("1", "批量设置颜色"));
MenuAreaUpdate();
}
protected void btnBJDQR_MenuItemClick(object sender, string value)
{
if (value.Equals("0"))
{
string sBJDID = "";
string sSQL = "";
string sWarning = "";
//100860000|线缆销售报价单”、“100860061|销售员报价申请”模块调用
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
sBJDID = PageParam.GetRTrimString("BJDID");
}
else
{
if (grdContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
sBJDID = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim();
}
string sWfAwaiter = GetBJDDCLR(sBJDID);
if (!sWfAwaiter.Contains("," + tSession.UserId + ","))
{
ShowMessage("当前用户不属于报价单待处理人,不允许取消反馈!");
return;
}
sSQL = string.Format("select 1 from HT where HT_BJDID = '{0}'", sBJDID);
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("当前报价单已生成合同,不允许取消反馈!");
return;
}
sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID);
if (!CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("所选报价单未反馈,不允许取消反馈!");
return;
}
sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}' and BJD_XDRQ is not null ", sBJDID);
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("当前报价单已下达销售订单,不允许取消反馈!");
return;
}
bool bFK3BB = false;
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046);
if (pzxx.XLXSBJPZ_TBFKZ3BB == "Y")
bFK3BB = true;
if (bFK3BB)
{
TDatabase dberp3 = TContextDatabases.GetDatabase("DBERP3");
TSQL SQL3 = new TSQL(dberp3);
sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}' and BJD_XDRQ is not null ", sBJDID);
SQL3.Clear();
SQL3.Add(sSQL);
DataSet ds3 = dberp3.OpenDataSet(SQL3);
if (ds3.Tables[0].Rows.Count > 0)
{
ShowMessage("当前3版本报价单已下达销售订单,不允许取消反馈!");
return;
}
}
sSQL = string.Format("select 1 from TBBJFK where TBBJFK_BJDID='{0}' ", sBJDID);
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
sWarning = "取消反馈的同时将同步删除反馈过去的记录,是否继续?";
Confirm.Register("IsQD", sWarning);
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();
}
}
else
{
sWarning = "将取消反馈,是否继续?";
Confirm.Register("IsQD", sWarning);
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("IsQD").Trim().Equals(""))
{
Confirm.Ask("IsQD");
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("N"))
{
//表示进行了提示并选择了取消,直接返回或其他处理
Confirm.Clear();
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
{
//表示进行了提示并选择了反馈
Confirm.Clear();
}
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
try
{
dberp.BeginTrans();
SQL.Clear();
SQL.Add("delete from TBBJFKMX where TBBJFKMX_BJDID = :pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
SQL.Clear();
SQL.Add("delete from TBBJFK where TBBJFK_BJDID = :pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
SQL.Clear();
SQL.Add("delete from BJDMX where BJDMX_BJDID = :pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
double dDOCGRPID = GetBJD_DOCGRPID(sBJDID);
SQL.Clear();
SQL.Add("delete from BJD where BJD_BJDID = :pBJDID");
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
if (dDOCGRPID > 0)
FileService.DeleteGroup(dDOCGRPID);
dberp.CommitTrans();
ShowMessage("取消反馈完成!");
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage("取消反馈失败:" + ex.ToString().Trim());
return;
}
if (bFK3BB)
{
TDatabase dberp3 = TContextDatabases.GetDatabase("DBERP3");
TSQL SQL3 = new TSQL(dberp3);
try
{
dberp3.BeginTrans();
SQL3.Clear();
SQL3.Add("delete from TBBJFKMX where TBBJFKMX_BJDH = :pBJDID");//TBBJFKMX_BJDH--TBBJFKMX_BJDID
SQL3.ParamByName("pBJDID").Value = sBJDID;
dberp3.ExecSQL(SQL3);
SQL3.Clear();
SQL3.Add("delete from TBBJFK where TBBJFK_BJDH = :pBJDID");//TBBJFK_BJDH--TBBJFK_BJDID
SQL3.ParamByName("pBJDID").Value = sBJDID;
dberp3.ExecSQL(SQL3);
SQL3.Clear();
SQL3.Add("delete from BJDMX where BJDMX_BJDID = :pBJDID");
SQL3.ParamByName("pBJDID").Value = sBJDID;
dberp3.ExecSQL(SQL3);
SQL3.Clear();
SQL3.Add("delete from BJD where BJD_BJDID = :pBJDID");
SQL3.ParamByName("pBJDID").Value = sBJDID;
dberp3.ExecSQL(SQL3);
dberp3.CommitTrans();
}
catch (Exception ex)
{
ShowMessage("3版本反馈操作出错,错误原因:" + ex);
dberp3.RollbackTrans();
return;
}
}
btnRefreshZT_Click(null, null);
}
else if (value.Equals("1"))
{
if (txtZJFK.Value != "Y")
{
string sBJDID = "";
string sSQL = "";
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
sBJDID = PageParam.GetRTrimString("BJDID");
}
else
{
if (grdContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
sBJDID = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim();
}
string sWfAwaiter = GetBJDDCLR(sBJDID);
if (!sWfAwaiter.Contains("," + tSession.UserId + ","))
{
ShowMessage("当前用户不属于报价单待处理人,不允许追加反馈!");
return;
}
sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID);
if (!CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("所选报价单未反馈,不允许追加反馈!");
return;
}
}
txtZJFK.Value = txtZJFK.Value =="Y" ? "N" :"Y";
btnRefreshZT_Click(null, null);
}
}
protected void btnPLSZ_MenuItemClick(object sender, string value)
{
if (value.Equals("0") || value.Equals("2") || value.Equals("3"))
{
btnPLSZXDXH_Click(value);
}
else if (value.Equals("1"))
{
btnPLSZYS_Click();
}
}
protected void btnXDXH_Click(object sender, EventArgs e)
{
if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals(""))
{
TPageParams tpp = new TPageParams();
tpp.Title = "设置下单型号";
tpp.UrlPath = "CXBJD_PLSZXDXHInfo.aspx";
tpp.AddString("BJDID", txtSelBJDID.Value);
tpp.AddString("BJDXH", txtSelBJDXH.Value);
tpp.AddString("SZFW", "S");
tpp.AddString("txtXLXHID", txtXLXHID.ClientID);
tpp.AddString("txtXDXHXH", txtXDXHXH.ClientID);
OpenDialogClickBtn(tpp, btnXDXLXHSZ.ClientID);
}
}
protected void btnXDBZ_Click(object sender, EventArgs e)
{
if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals(""))
{
TPageParams tpp = new TPageParams();
tpp.Title = "设置下单标准";
tpp.UrlPath = "CXBJD_PLSZXDXHInfo.aspx";
tpp.AddString("BJDID", txtSelBJDID.Value);
tpp.AddString("BJDXH", txtSelBJDXH.Value);
tpp.AddString("SZFW", "S");
tpp.AddString("txtXLBZID", txtXLBZID.ClientID);
tpp.AddString("txtXDXHXH", txtXDXHXH.ClientID);
OpenDialogClickBtn(tpp, btnXDXLXHSZ.ClientID);
}
}
protected void btnDZSC_Click(object sender, EventArgs e)
{
if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals(""))
{
TPageParams tpp = new TPageParams();
tpp.Title = "设置下单标准";
tpp.UrlPath = "CXBJD_PLSZXDXHInfo.aspx";
tpp.AddString("BJDID", txtSelBJDID.Value);
tpp.AddString("BJDXH", txtSelBJDXH.Value);
tpp.AddString("SZFW", "S");
tpp.AddString("txtDZSC", txtDZSC.ClientID);
tpp.AddString("txtXDXHXH", txtXDXHXH.ClientID);
OpenDialogClickBtn(tpp, btnXDXLXHSZ.ClientID);
}
}
protected void btnBJFK_Click(object sender, EventArgs e)
{
if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals(""))
{
TPageParams tpp = new TPageParams();
tpp.UrlPath = "CXBJD_BJFKInfo.aspx";
tpp.AddString("BJDID", txtSelBJDID.Value);
tpp.AddString("BJDXH", txtSelBJDXH.Value);
tpp.AddString("CFXH", txtSelCFXH.Value);
tpp.AddString("RefreshCtrlID", btnRefresh.ClientID);
OpenDialog(tpp);
}
}
protected void btnCF_Click(object sender, EventArgs e)
{
if (grdContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
if (grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["ZBSL"].ToString().Trim().Equals("")
|| grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["ZBSL"].ToString().Trim().Equals("0"))
{
ShowMessage("中标数量为0,不允许拆分!");
return;
}
TPageParams tpp = new TPageParams();
tpp.UrlPath = "CXBJD_CFList.aspx";
tpp.AddString("BJDID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim());
tpp.AddString("BJDXH", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XH"].ToString().Trim());
tpp.AddString("XLXHID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XDXLXHID"].ToString().Trim());
tpp.AddString("XLGGID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XLGGID"].ToString().Trim());
tpp.AddString("XLBZID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XDXLBZID"].ToString().Trim());
tpp.AddString("DYDJID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_DYDJID"].ToString().Trim());
tpp.AddString("BJSL", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["ZBSL"].ToString().Trim());
tpp.AddString("RefreshCtrlID", btnRefresh.ClientID);
OpenDialog(tpp);
}
protected void btnQXCF_Click(object sender, EventArgs e)
{
if (grdContentGrid.SelectedIndex < 0)
{
ShowMessage("请选择处理记录!");
return;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" DELETE FROM XLXSBJFKCFMX WHERE XLXSBJFKCFMX_BJDID=:pBJDID AND XLXSBJFKCFMX_BJDXH=:pBJDXH ");
SQL.ParamByName("pBJDID").Value = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_BJDID"].ToString().Trim();
SQL.ParamByName("pBJDXH").Value = grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJDMX_XH"].ToString().Trim();
dberp.ExecSQL(SQL);
ShowMessage("取消拆分成功!");
moduleGV_PageIndexChanging(null, null);
}
protected void btnYSTZ_Click(object sender, EventArgs e)
{
if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals(""))
{
TPageParams tpp = new TPageParams();
tpp.UrlPath = "CXBJD_YSTZInfo.aspx";
tpp.AddString("BJDID", txtSelBJDID.Value);
tpp.AddString("BJDXH", txtSelBJDXH.Value);
tpp.AddString("RefreshCtrlID", btnRefresh.ClientID);
OpenDialog(tpp);
}
}
protected void btnWLTZ_Click(object sender, EventArgs e)
{
if (!txtSelBJDID.Value.Trim().Equals("") && !txtSelBJDXH.Value.Trim().Equals(""))
{
TPageParams tpp = new TPageParams();
tpp.UrlPath = "CXBJD_WLTZInfo.aspx";
tpp.AddString("BJDID", txtSelBJDID.Value);
tpp.AddString("BJDXH", txtSelBJDXH.Value);
tpp.AddString("WLID", txtSelWLID.Value);
tpp.AddString("RefreshCtrlID", btnRefresh.ClientID);
OpenDialog(tpp);
}
}
protected void btnRefresh_Click(object sender, EventArgs e)
{
int dex = grdContentGrid.SelectedIndex;
moduleGV_PageIndexChanging(null, null);
grdContentGrid.SelectedIndex = dex;
}
protected void btnRefreshZT_Click(object sender, EventArgs e)
{
if (!PageParam.GetRTrimString("BJDID").Equals(""))
{
grdContentGrid.FindColumnByFieldName("XLXSBJDMX_BJDID").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_BJRQ").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_WPID").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_TXY").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_KH").Visible = false;
grdContentGrid.FindColumnByFieldName("XMD").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_XMMC").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_XSBMID").Visible = false;
grdContentGrid.FindColumnByFieldName("XLXSBJD_XSQYID").Visible = false;
lblXSBM.Visible = true;
txtXSBM.Visible = true;
lblXSQY.Visible = true;
txtXSQY.Visible = true;
string sWfAwaiter = GetBJDDCLR(PageParam.GetRTrimString("BJDID"));
if (sWfAwaiter.Contains("," + tSession.UserId + ","))
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from BJD where BJD_BJDID='{0}'", PageParam.GetRTrimString("BJDID"))) || txtZJFK.Value == "Y")
{
grdContentGrid.CheckBox = true;
btnPLSZ.Visible = true;
}
else
{
grdContentGrid.CheckBox = false;
btnPLSZ.Visible = false;
}
}
else
{
grdContentGrid.CheckBox = false;
btnPLSZ.Visible = false;
}
}
MenuAreaUpdate();
btnRefresh_Click(null, null);
}
protected void btnRefreshAndQR_Click(object sender, EventArgs e)
{
btnRefresh_Click(null, null);
if (txtNeedQR.Value.Equals("Y"))
{
btnBJDQR_Click(null, null);
}
}
protected void btnXDXLXHSZ_Click(object sender, EventArgs e)
{
string sBJDID = PageParam.GetRTrimString("BJDID").Trim();
if (sBJDID.Equals(""))
sBJDID = txtSelBJDID.Value.Trim();
base.InitEntityByCondition();
if (txtXLXHID.Value.Trim().Equals("") && txtXLBZID.Value.Trim().Equals("") && txtDZSC.Value.Trim().Equals(""))
return;
string sXHList = "";
if (!string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs))
{
foreach (string sCheckedIndex in grdContentGrid.CheckedRowIndexs.Split(','))
{
string stmpXH = grdContentGrid.DataKeys[CMISproConvert.StrToInt(sCheckedIndex)]["XLXSBJDMX_XH"].ToString().Trim();
if (!sXHList.Equals(""))
sXHList += ",";
sXHList += stmpXH;
}
}
if (!txtXDXHXH.Value.Trim().Equals(""))
{
sXHList = txtXDXHXH.Value;
txtXDXHXH.Value = "";
}
//更新下单型号或下单标准或生产标志
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
try
{
dberp.BeginTrans();
SQL.Clear();
SQL.Add(" update XLXSBJDMX set ");
if (!txtXLXHID.Value.Trim().Equals("") )
{
SQL.Add(" XLXSBJDMX_XDXLXHID=:pXHID ");
}
else if (!txtXLBZID.Value.Trim().Equals("") )
{
SQL.Add(" XLXSBJDMX_XDXLBZID=:pBZID ");
}
else if (!txtDZSC.Value.Trim().Equals(""))
{
SQL.Add(" XLXSBJDMX_DZSC=:pDZSC ");
}
SQL.Add(" WHERE XLXSBJDMX_BJDID = :pBJDID ");
if (!sXHList.Trim().Equals(""))
SQL.Add(" AND " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XH",sXHList));
else
{
//型号模糊
if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
{
SQL.Add(" and XLXSBJDMX_XLXHID like :pXLXHID ");
SQL.ParamByName("pXLXHID").Value = "%" + 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)
{
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XLXHID", sXLXHID));
}
else
{
SQL.Add(" and XLXSBJDMX_XLXHID = :pXLXHID ");
SQL.ParamByName("pXLXHID").Value = sXLXHID;
}
}
}
if (CurQueryEntity.FieldByName("CXXHYBJCPBYZ").Value.Trim().Equals("True"))
{
SQL.Add(" AND XLXSBJDMX_BJCP not like '%'||ltrim(rtrim(XLXSBJDMX_XDXLXHID))||'%' ");
}
if (CurQueryEntity.FieldByName("CXZBDWPPWL").Value.Trim().Equals("True"))
{
SQL.Add(@" and not exists(select 1 from
(select XLXSBJXDWL_XLXHID as XLXHID,XLXSBJXDWL_XLGGID as XLGGID,XLXSBJXDWL_XLBZID as XLBZID,XLXSBJXDWL_DYDJID as DYDJID,min(XLXSBJXDWL_WLID) as minWLID
from XLXSBJXDWL
where 1=1
and exists(select 1 from WL where WL_WLID=XLXSBJXDWL_WLID and isnull(WL_TYBZ,' ')<>'Y')
group by XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID) c
where c.XLXHID=XLXSBJDMX_XDXLXHID and c.XLGGID=replace(XLXSBJDMX_XLGGID,'*','×') and c.XLBZID=XLXSBJDMX_XDXLBZID and c.DYDJID=XLXSBJDMX_DYDJID
)
and not exists (select 1 from
(select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,minWLID
from (
select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID
from XLXLB
where 1=1
and isnull(XLXLB_TYBZ,' ')<> 'Y'
and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')
and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID)
group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID
) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID
union all
select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID
from XLXLB
where isnull(XLXLB_TYBZ,' ')<>'Y'
and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y')
and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID )
group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID
) a where a.XLXHID=XLXSBJDMX_XDXLXHID and a.XLGGID=replace(XLXSBJDMX_XLGGID,'*','×') and a.XLBZID=XLXSBJDMX_XDXLBZID and a.DYDJID=XLXSBJDMX_DYDJID and a.XLYSID=XLXSBJDMX_XLYSID
)
and isnull(XLXSBJDMX_WLID,' ') = ' ' and XLXSBJDMX_ZB in ('Y','P') ");
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJCP").Value.Trim()))
{
SQL.Add(" AND XLXSBJDMX_BJCP like :pBJCP ");
SQL.ParamByName("pBJCP").Value = "%" + CurQueryEntity.FieldByName("BJCP").Value.Trim() + "%";
}
}
SQL.ParamByName("pBJDID").Value = sBJDID;
if (!txtXLXHID.Value.Trim().Equals(""))
{
SQL.ParamByName("pXHID").Value = txtXLXHID.Value.Trim();
}
else if (!txtXLBZID.Value.Trim().Equals(""))
{
SQL.ParamByName("pBZID").Value = txtXLBZID.Value.Trim();
}
else if (!txtDZSC.Value.Trim().Equals(""))
{
SQL.ParamByName("pDZSC").Value = txtDZSC.Value.Trim();
}
dberp.ExecSQL(SQL);
dberp.CommitTrans();
}
catch (Exception ex)
{
ShowMessage(ex.Message);
dberp.RollbackTrans();
return;
}
btnRefresh_Click(null, null);
txtXLXHID.Value = "";
txtXLBZID.Value = "";
txtDZSC.Value = "";
}
#endregion
}
}