Files
N_XLXSBJ----MX/CXBJDList.aspx.cs
T
2026-08-21 17:03:02 +08:00

2579 lines
148 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 = "&nbsp;&nbsp;&nbsp;";
}
string sXDXLBZID = e.Row.Cells[indexXDBZ].Text.Trim();
if (sXDXLBZID.Equals(""))
{
sXDXLBZID = "&nbsp;&nbsp;&nbsp;";
}
e.Row.Cells[indexXDXH].Text = string.Format("<A href='#' style=\"color:blue;\" onclick=\"CellClick('XDXH','{0}','{1}') \"><U>" + sXDXLXHID + "</U></A>",
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("<A href='#' style=\"color:blue;\" onclick=\"CellClick('XDBZ','{0}','{1}') \"><U>" + sXDXLBZID + "</U></A>",
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("<A href='#' style=\"color:blue;\" onclick=\"CellClick('DZSC','{0}','{1}') \"><U>" + e.Row.Cells[indexDZSC].Text.Trim() + "</U></A>",
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("<A href='#' style=\"color:blue;\" onclick=\"CellClickZB('ZB','{0}','{1}','{2}') \"><U>" + e.Row.Cells[indexZB].Text.Trim() + "</U></A>",
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("<A href='#' style=\"color:blue;\" onclick=\"CellClickZB('ZBSL','{0}','{1}','{2}') \"><U>" + XLBJDUtils.strPadRight(e.Row.Cells[indexZBSL].Text.Trim(), 3) + "</U></A>",
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("<A href='#' style=\"color:blue;\" onclick=\"CellClickZB('ZBJE','{0}','{1}','{2}') \"><U>" + XLBJDUtils.strPadRight(e.Row.Cells[indexZBJE].Text.Trim(), 2) + "</U></A>",
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("<A href='#' style=\"color:blue;\" onclick=\"CellClick('YS','{0}','{1}') \"><U>" + e.Row.Cells[indexYS].Text.Trim() + "</U></A>",
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 = "&nbsp;&nbsp;&nbsp;";
}
e.Row.Cells[indexWLID].Text = string.Format("<A href='#' style=\"color:blue;\" onclick=\"WLTZClick('WLID','{0}','{1}','{2}','{3}') \"><U>" + sWLID + "</U></A>",
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<string> lstXSQYBMGZ = new List<string>(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<string, double> dicHSXS = new Dictionary<string, double>();
Dictionary<string, string> dicDRXH = new Dictionary<string, string>();
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<string, double> dicJLWD = new Dictionary<string, double>();
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<string> CZBFZRGHList = new List<string>();
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
}
}