Files
U20261363_N_XLXSBJ/XLBJDList.aspx.cs
T
2026-09-09 21:59:53 +08:00

1066 lines
51 KiB
C#

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MODEL.Page;
using GThinking.N_MISPRO.Utility;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO;
using GThinking.N_WORKFLOW;
using System.Collections.Generic;
using GThinking.N_MISPRO.TableCache;
using GThinking.N_PUBLIC2;
using GThinking.N_PUBLIC;
namespace GThinking.U20261363_N_XLXSBJ
{
public partial class XLBJDList : SingleGridBase
{
XLBJD entity = new XLBJD();
XLBJD_M queryentity = new XLBJD_M();
public static Dictionary<string, string> dicFJXSXSBZ = new Dictionary<string, string>();
public static Dictionary<string, string> dicFJXXSYBJFL = new Dictionary<string, string>();
public static Dictionary<string, string> dicZBLMBJFL = new Dictionary<string, string>();
public static string sFJXXSZ = "";
public string sYZBSPTJ = "N";
public string sYZBSPTH = "N";
#region Page类事件继承
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860174;
this.UMName = "线缆销售报价单";
this.CurMaster = Master;
this.ModuleGV = ContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = queryentity;
this.PageHeight = 500;
this.PageWidth = 700;
this.sURLTarget = "XLBJDInfo.aspx";
this.sQueryURLTarget = "XLBJDQuery.aspx";
base.DataKeyNames = new string[] { "XLXSBJD_BJDID", "XLXSBJD_CLHQJGBID", "XLXSBJD_BJFLID", "XLXSBJD_XMMC", "XLXSBJD_BJRQ", "XLXSBJD_ZJE" };
this.Master.EnableAttachBtn = true;
if (!IsPostBack)
{
CurQueryEntity.FieldByName("SW").Value = "W";
CurQueryEntity.FieldByName("PXFS").Value = "报价日期正序↑";
}
ContentGrid.FindColumnExByFieldName("XLXSBJD_TJ").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
ContentGrid.FindColumnExByFieldName("XLXSBJD_LJ").NumberDecimalPlace = XLBJDUtils.BJCLPriceDecimal;
base.InitPage();
if (!IsPostBack)
{
HidLMByJS();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select XLXSBJKZXXSZ_MJSQL, XLXSBJKZXXSZ_SRFS,XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ ");
sSQL.Add("where 1=1 ");
sSQL.Add(" and rtrim(convert(varchar(4000),isnull(XLXSBJKZXXSZ_MJSQL ,' ')))||' ' <> ' ' and isnull(XLXSBJKZXXSZ_SRFS,' ') <> 'A' ");
sSQL.Add(" and isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y'");
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; ++i)
{
sFJXXSZ += ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim() + ",";
}
}
sSQL.Clear();
sSQL.Add(" select XLXSBJKZXXSZ_XSBZ,XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ ");
sSQL.Add(" where 1=1 ");
sSQL.Add(" and isnull(XLXSBJKZXXSZ_XSBZ,' ') <> ' '");
sSQL.Add(" and isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y'");
ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; ++i)
{
string sXSBZ = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_XSBZ"].ToString().Trim();
string sDYZD = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
if (!dicFJXSXSBZ.ContainsKey(sDYZD))
dicFJXSXSBZ.Add(sDYZD, sXSBZ);
}
}
sSQL.Clear();
sSQL.Add(" select XLXSBJKZXXSZ_SYBJFLID,XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ ");
sSQL.Add(" where 1=1 ");
sSQL.Add(" and isnull(XLXSBJKZXXSZ_SYBJFLID,' ') <> ' '");
sSQL.Add(" and isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y'");
ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; ++i)
{
string sSYBJFL = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
string sDYZD = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
if (!dicFJXXSYBJFL.ContainsKey(sDYZD))
dicFJXXSYBJFL.Add(sDYZD, sSYBJFL);
}
}
}
//解决复制明细、与复制主记录分开处理的情况
this.Master.StandardCopyButton.OnClientClick = "";
this.Master.StandardCopyButton.Click += new EventHandler(btnCopyEx_Click);
if (!IsPostBack)
{
Master_OnStandardQuery(null, null);
}
if (!CheckModule("100860008"))
{
int index1 = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("XLXSBJD_LRL"));
int index2 = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("XLXSBJD_ZDXJJCL"));
ContentGrid.Columns[index1].Visible = false;
ContentGrid.Columns[index2].Visible = false;
}
if (!CheckModule("100860068"))
{
int index1 = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("ZDFXYQR"));
ContentGrid.Columns[index1].Visible = false;
}
}
#endregion
#region 模板继承事件
protected override bool CanSubmit()
{
string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
string sWarningMsg = "";
string sBJFLID = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" SELECT XLXSBJD_BJFLID FROM XLXSBJD WHERE XLXSBJD_BJDID=:pXLXSBJD_BJDID ");
SQL.ParamByName("pXLXSBJD_BJDID").Value = sBJDID;
DataSet data = dberp.OpenDataSet(SQL);
if (data.Tables[0].Rows.Count > 0)
{
sBJFLID = data.Tables[0].Rows[0][0].ToString().Trim();
}
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
if (bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("Y") || bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("5"))
{
XLBJD_BDOBill.JudgeDifBJCP(sBJDID, GetOption(100860000,"BJU003"), ref sWarningMsg, bjflxx.XLXSBJFL_XTCPBJYZ.Trim());
if (!sWarningMsg.Equals(""))
{
ShowMessage(String.Format(("显示序号为【" + sWarningMsg + "】的相同报价产品的报价不同,不允许提交!")));
return false;
}
}
XLBJD_BDOBill.JudgeDifBJZJE(sBJDID, ref sWarningMsg);
if (!sWarningMsg.Equals(""))
{
ShowMessage(sWarningMsg);
return false;
}
return base.CanSubmit();
}
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
{
string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
string sSQL = string.Format("select top 1 XLXSBJYLZD_BJDID from XLXSBJYLZD where XLXSBJYLZD_BJDID='{0}'", sBJDID);
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("已申请材料用量制定,不允许删除!");
return false;
}
sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}'", sBJDID);
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("报价单已反馈,不允许删除!");
return false;
}
CurEntity.Param.Add("XLXSBJD_BJDID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
XLBJDUtils.UpdateTJBZ(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim(), "Delete");
return base.Master_BeforeDeleteAction(sender, e);
}
protected override void AfterDelete(TDatabase db, ref bool ActionIsDone)
{
base.AfterDelete(db, ref ActionIsDone);
TSQL tSQL = new TSQL(db);
XLBJDUtils.AfterDeleteBJD(db, tSQL, ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
}
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
{
if (!base.Master_AfterDeleteAction(sender, e)) return false;
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
entity.GridDataBind(ContentGrid, tSession);
ContentGrid.SelectedIndex = -1;
return true;
}
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
base.Master_OnStandardQuery(sender, e);
entity.EntityTable.QuerySelSql = GetQuerySql();
entity.GridDataBind(ContentGrid, tSession);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
ContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string sWPID = e.Row.Cells[0].Text.Trim();
string sBJFLID = ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJFLID"].ToString().Trim();
if (sBJFLID.Contains("|"))
sBJFLID = sBJFLID.Split('|')[0];
e.Row.Cells[0].Text = _curWorkFlow.GetWPName("XLXSBJ_BJD", sWPID);
e.Row.Cells[e.Row.Cells.Count - 5].Text = _curWorkFlow.UserInfo.GetUserNames(e.Row.Cells[e.Row.Cells.Count - 5].Text.Trim());
e.Row.Cells[e.Row.Cells.Count - 4].Text = _curWorkFlow.UserInfo.GetUserNames(e.Row.Cells[e.Row.Cells.Count - 4].Text.Trim());
if (ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_CLHQJGBID"].ToString().Trim().Equals("ZZZZZZZZ"))
{
e.Row.Cells[6].Text = e.Row.Cells[6].Text.Trim() + ",ZZZZZZZZ|基础材料行情";
}
else if (ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_CLHQJGBID"].ToString().Trim().Equals("YYYYYYYY"))
{
e.Row.Cells[6].Text = e.Row.Cells[6].Text.Trim() + ",YYYYYYYY|报价单材料行情";
}
int iKZSZStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZSZ01"));
for (int i = 1; i < 5; i++)
{
string sZDM = "KZSZ" + i.ToString().PadLeft(2, '0');
if (dicFJXSXSBZ.ContainsKey(sZDM))
{
string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ",";
if (!sXSBZ.Contains("," + sWPID + ","))
{
e.Row.Cells[iKZSZStart + i - 1].Text = "";
}
}
if (dicFJXXSYBJFL.ContainsKey(sZDM))
{
string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ",";
if (!sSYBJFL.Contains("," + sBJFLID + ","))
{
e.Row.Cells[iKZSZStart + i - 1].Text = "";
}
}
}
int iKZZFStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZZF01"));
for (int i = 1; i < 11; i++)
{
string sZDM = "KZZF" + i.ToString().PadLeft(2, '0');
if (sFJXXSZ.Contains(sZDM))
e.Row.Cells[iKZZFStart + i - 1].Text = GetZFSelected(sZDM, e.Row.Cells[iKZZFStart + i - 1].Text.Trim());
if (dicFJXSXSBZ.ContainsKey(sZDM))
{
string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ",";
if (!sXSBZ.Contains("," + sWPID + ","))
{
e.Row.Cells[iKZZFStart + i - 1].Text = "";
}
}
if (dicFJXXSYBJFL.ContainsKey(sZDM))
{
string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ",";
if (!sSYBJFL.Contains("," + sBJFLID + ","))
{
e.Row.Cells[iKZZFStart + i - 1].Text = "";
}
}
}
int iKZRQStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZRQ01"));
for (int i = 1; i < 5; i++)
{
string sZDM = "KZRQ" + i.ToString().PadLeft(2, '0');
if (dicFJXSXSBZ.ContainsKey(sZDM))
{
string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ",";
if (!sXSBZ.Contains("," + sWPID + ","))
{
e.Row.Cells[iKZRQStart + i - 1].Text = "";
}
}
if (dicFJXXSYBJFL.ContainsKey(sZDM))
{
string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ",";
if (!sSYBJFL.Contains("," + sBJFLID + ","))
{
e.Row.Cells[iKZRQStart + i - 1].Text = "";
}
}
}
int iKZWBStart = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName("KZWB01"));
for (int i = 1; i < 5; i++)
{
string sZDM = "KZWB" + i.ToString().PadLeft(2, '0');
if (dicFJXSXSBZ.ContainsKey(sZDM))
{
string sXSBZ = "," + dicFJXSXSBZ[sZDM] + ",";
if (!sXSBZ.Contains("," + sWPID + ","))
{
e.Row.Cells[iKZWBStart + i - 1].Text = "";
}
}
if (dicFJXXSYBJFL.ContainsKey(sZDM))
{
string sSYBJFL = "," + dicFJXXSYBJFL[sZDM] + ",";
if (!sSYBJFL.Contains("," + sBJFLID + ","))
{
e.Row.Cells[iKZWBStart + i - 1].Text = "";
}
}
}
foreach (string sKey in dicZBLMBJFL.Keys)
{
if (("," + dicZBLMBJFL[sKey] + ",").Contains("," + sBJFLID + ","))
{
int indexLM = ContentGrid.Columns.IndexOf(ContentGrid.FindColumnByFieldName(sKey));
e.Row.Cells[indexLM].Text = "";
}
}
LinkPageParam.AddString("WFID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFID"].ToString().Trim());
LinkPageParam.AddString("WFINST", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_WFINST"].ToString().Trim());
LinkPageParam.AddString("XLXSBJD_BJDID", ContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJDID"].ToString().Trim());
}
base.moduleGV_RowDataBound(sender, e);
}
protected override void BeforeAttach()
{
attDoc.WorkTableName = "XLXSBJD";
attDoc.UpdCondition = string.Format(" XLXSBJD_BJDID='{0}'", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
base.BeforeAttach();
}
protected override void Master_BeforeAction(TWorkflow Sender, TWFAction Action, ref bool CanAction)
{
base.Master_BeforeAction(Sender, Action, ref CanAction);
string sOption = Sender.GetWPOption(Sender.WFID, Sender.WPID, "生成PDF附件").ToString().Trim();
if (Action == TWFAction.wfaSubmit)
{
if (sOption.Equals("Y"))
XLBJDInfo.PDFDC(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
}
}
protected override void Master_wfAfterActionEvent(TWorkflow Sender, TWFAction Action, bool ActionIsDone)
{
base.Master_wfAfterActionEvent(Sender, Action, ActionIsDone);
if (!ActionIsDone)
return;
string sWPID = "";
string sBJSQDH = "";
TSQL SQL = new TSQL(Sender.dbe);
SQL.Clear();
SQL.Add("select XLXSBJD_WPID,XLXSBJD_BJSQDH,XLXSBJD_BJJSJD,XLXSBJD_ZB from XLXSBJD where XLXSBJD_BJDID=:pBJDID");
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
DataSet ds = Sender.dbe.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sWPID = ds.Tables[0].Rows[0][0].ToString().Trim();
sBJSQDH = ds.Tables[0].Rows[0][1].ToString().Trim();
}
string sZDQRWPID = XLBJDUtils.GetXLXSBJPZXX(100860068).XLXSBJPZ_ZDQRWPID;
if (!sZDQRWPID.Equals(""))
{
if (Action == TWFAction.wfaSubmit)
{
if (sZDQRWPID.Contains(sWPID))
{
SQL.Clear();
SQL.Add("update XLXSBJD set XLXSBJD_ZDQRRGH=:pZDQRRGH ,XLXSBJD_ZDQRSJ=:pZDQRSJ WHERE XLXSBJD_BJDID=:pBJDID");
SQL.ParamByName("pZDQRRGH").Value = tSession.UserId;
SQL.ParamByName("pZDQRSJ").Value = CMISproConvert.ConvertTime(DateTime.Now);
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
Sender.dbe.ExecSQL(SQL);
}
}
}
if (!sBJSQDH.Trim().Equals("") && XLBJDInfo.CheckXSYBJSQ_SS())
{
string sBJJSJD = ds.Tables[0].Rows[0][2].ToString().Trim();
string sWPNAME = Sender.GetWPName(Sender.WFID, sWPID);
string sJSJD = tSession.UserName + " " + Sender.WAend.ToString().Trim() + " " + sWPNAME + " " + Sender.GetWFActionName(Action);
if (!sBJJSJD.Equals(""))
sBJJSJD += "\r\n";
sBJJSJD += sJSJD;
SQL.Clear();
SQL.Add(" update XLXSBJD set XLXSBJD_BJJSJD = :pJSJD where XLXSBJD_BJDID = :pBJDID ");
SQL.ParamByName("pJSJD").Value = sBJJSJD;
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
Sender.dbe.ExecSQL(SQL);
}
SQL.Clear();
SQL.Add(" update XLXSBJD");
SQL.Add(" set XLXSBJD_WFID = :XLXSBJD_WFID, ");
SQL.Add(" XLXSBJD_WPID = :XLXSBJD_WPID, ");
SQL.Add(" XLXSBJD_WFAWAITER = :XLXSBJD_WFAWAITER, ");
SQL.Add(" XLXSBJD_WFHANDLER = :XLXSBJD_WFHANDLER, ");
SQL.Add(" XLXSBJD_WFINST = :XLXSBJD_WFINST, ");
SQL.Add(" XLXSBJD_ACTNAME = :XLXSBJD_ACTNAME ");
SQL.Add(" where XLXSBJD_BJDID = :XLXSBJD_BJDID ");
SQL.ParamByName("XLXSBJD_WFID").Value = Sender.WFID;
SQL.ParamByName("XLXSBJD_WFINST").Value = Sender.WFInst;
SQL.ParamByName("XLXSBJD_WPID").Value = Sender.WPID;
SQL.ParamByName("XLXSBJD_WFAWAITER").Value = Sender.Awaiter;
SQL.ParamByName("XLXSBJD_WFHANDLER").Value = Sender.Handler;
SQL.ParamByName("XLXSBJD_ACTNAME").Value = Sender.GetWFActionName(Action);
SQL.ParamByName("XLXSBJD_BJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
Sender.dbe.ExecSQL(SQL);
string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
string sBJFLID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJFLID"].ToString().Trim();
string sXM = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_XMMC"].ToString().Trim();
string sBJRQ = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJRQ"].ToString().Trim();
string sZJE = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_ZJE"].ToString().Trim();
string sCurZT = TWorkflow.Utils.WFGetBZSWID(Sender.WFID, Sender.WPID);
//若“100860062|销售报价业务配置”项目检索来源为“YXXM|售前项目”且XLXSBJD_XMMC不为空
if (sCurZT == "ZZZZ")
{
string sPSDH = "";
bool bINS = false;
XLBJD_BDOBill.InsBJPS(SQL, Sender.dbe, Sender, Action, sBJDID, tSession, "100860000", ref sPSDH, ref bINS);
if (bINS)
{
XLBJD_BDOBill.DispatchtoZZZZ(sPSDH, tSession);
}
}
if (!sZDQRWPID.Equals(""))
{
if (Action == TWFAction.wfaSubmit)
{
if (sZDQRWPID.Contains(Sender.WPID))
{
SQL.Clear();
SQL.Add("update XLXSBJD set XLXSBJD_ZDZDLX=:pZDZDLX WHERE XLXSBJD_BJDID=:pBJDID");
SQL.ParamByName("pZDZDLX").Value = XLBJD_BDOBill.getZDZDLX(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
SQL.ParamByName("pBJDID").Value = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
Sender.dbe.ExecSQL(SQL);
}
}
}
if (sCurZT == "ZZZZ" && !sBJSQDH.Trim().Equals("") && XLBJDInfo.CheckXSYBJSQ_SS())
{
string sZB = ds.Tables[0].Rows[0][3].ToString().Trim();
if (sZB.Equals("Y"))
XLBJD_BDOBill.DispatchXLBJSQ(sBJSQDH, "ZZZZ", tSession);
else
XLBJD_BDOBill.DispatchXLBJSQ(sBJSQDH, "0060", tSession);
}
}
protected override void OnReportUnknownFunction(string Name, string Params, ref string ValueType, ref string Value, TDatabase db)
{
string[] Param;
Param = Params.Split(',');
if (Name.Trim().ToUpper() == "GETCPBJ")
{
ValueType = "N";
if (Param.Length >= 5)
{
Value = XLBJDUtils.GetCPBJ(Param[0], Param[1], Param[2], Param[3], Param[4]).ToString();
}
else
{
Value = "0";
}
}
}
protected override void Master_wfOnGetParamName(ref List<string> ParamList)
{
base.Master_wfOnGetParamName(ref ParamList);
ParamList.Add("自动撞单");
}
protected override void Master_wfOnGetParamEvent(TWorkflow Sender, string ParamName, ref string Value, ref bool Succeess)
{
base.Master_wfOnGetParamEvent(Sender, ParamName, ref Value, ref Succeess);
if (ParamName == "自动撞单")
{
if (ParamName == "自动撞单")
{
if (XLBJD_BDOBill.getZDZDLX(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim()).Equals(""))
{
Value = "N";
}
else
{
Value = "Y";
}
Succeess = true;
}
}
}
protected override bool ConfirmWFAction(TWFAction Action)
{
if (Action == TWFAction.wfaSubmit)
{
string sBJDID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim();
string sWarningMsg = "";
string sBJFLID = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" SELECT XLXSBJD_BJFLID FROM XLXSBJD WHERE XLXSBJD_BJDID=:pXLXSBJD_BJDID ");
SQL.ParamByName("pXLXSBJD_BJDID").Value = sBJDID;
DataSet data = dberp.OpenDataSet(SQL);
if (data.Tables[0].Rows.Count > 0)
{
sBJFLID = data.Tables[0].Rows[0][0].ToString().Trim();
}
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
if (bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("Z") || bjflxx.XLXSBJFL_XTCPBJYZ.Trim().Equals("6"))
{
XLBJD_BDOBill.JudgeDifBJCP(sBJDID, GetOption(100860000,"BJU003"), ref sWarningMsg, bjflxx.XLXSBJFL_XTCPBJYZ.Trim());
if (!sWarningMsg.Equals(""))
{
Confirm.Register("ask", "显示序号为" + sWarningMsg + "的相同报价产品的报价不同,是否确认提交?");
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("ask").Trim().Equals(""))
{
Confirm.Ask("ask");
return false;
}
else if (Confirm.GetValue("ask").Trim().Equals("N"))
{
Confirm.Clear();
return false;
}
else if (Confirm.GetValue("ask").Trim().Equals("Y"))
{
Confirm.Clear();
}
}
}
}
return base.ConfirmWFAction(Action);
}
#endregion
#region 私有函数
private void HidLMByJS()
{
TYGXX tRYXX = TRYXX.GetRYXXByGH(tSession.UserId);
string sXJYROLEID = string.Empty;
string sSJYROLEID = string.Empty;
string sHJYROLEID = string.Empty;
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_XJYROLEID))
sXJYROLEID = pzxx.XLXSBJPZ_XJYROLEID;
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_SJYROLEID))
sSJYROLEID = pzxx.XLXSBJPZ_SJYROLEID;
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_HJYROLEID))
sHJYROLEID = pzxx.XLXSBJPZ_HJYROLEID;
Dictionary<string, string> dicLMID = new Dictionary<string, string>();
dicLMID.Add("txtBZ", "XLXSBJD_BZ");
bool IsXJY = CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sXJYROLEID), tRYXX.RYID));
bool IsSJY = CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sSJYROLEID), tRYXX.RYID));
bool IsHJY = CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sHJYROLEID), tRYXX.RYID));
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select distinct XLXSBJFLJSLM_BJFLID,XLXSBJFLJSLM_LMID from XLXSBJFLJSLM where XLXSBJFLJSLM_YCBZ='Y' and XLXSBJFLJSLM_LMLX='W' ");
if(IsXJY||IsSJY||IsHJY)
{
sSQL.Add(" and ( 1<>1 ");
if(IsXJY)
sSQL.Add(" or XLXSBJFLJSLM_JSLX='X' ");
if (IsSJY)
sSQL.Add(" or XLXSBJFLJSLM_JSLX='S' ");
if (IsHJY)
sSQL.Add(" or XLXSBJFLJSLM_JSLX='H' ");
sSQL.Add(" ) ");
}
else
{
sSQL.Add(" and XLXSBJFLJSLM_JSLX='Q' ");
}
DataSet ds = dberp.OpenDataSet(sSQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sBJFLID = ds.Tables[0].Rows[i]["XLXSBJFLJSLM_BJFLID"].ToString().Trim();
string sLMID = ds.Tables[0].Rows[i]["XLXSBJFLJSLM_LMID"].ToString().Trim();
if (dicLMID.ContainsKey(sLMID))
{
sLMID = dicLMID[sLMID];
if (!dicZBLMBJFL.ContainsKey(sLMID))
dicZBLMBJFL.Add(sLMID, sBJFLID);
else
dicZBLMBJFL[sLMID] += "," + sBJFLID;
}
}
}
//设置附加信息是否显示
private void SetFJXX()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select XLXSBJKZXXSZ_MC, XLXSBJKZXXSZ_DYZD from XLXSBJKZXXSZ where isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y' order by XLXSBJKZXXSZ_BH");
DataSet ds = dberp.OpenDataSet(sSQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
ContentGrid.FindColumnByFieldName(ds.Tables[0].Rows[i][1].ToString().Trim()).Visible = true;
ContentGrid.FindColumnByFieldName(ds.Tables[0].Rows[i][1].ToString().Trim()).HeaderText = ds.Tables[0].Rows[i][0].ToString().Trim();
}
}
//加载选择类型的字符数据
private string GetZFSelected(string sZDM, string sValue)
{
string sResult = sValue;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select XLXSBJKZXXSZ_MJSQL, XLXSBJKZXXSZ_SRFS from XLXSBJKZXXSZ ");
sSQL.Add("where XLXSBJKZXXSZ_DYZD = :pDYZD ");
sSQL.Add(" and rtrim(convert(varchar(4000),isnull(XLXSBJKZXXSZ_MJSQL ,' ')))||' ' <> ' ' and isnull(XLXSBJKZXXSZ_SRFS,' ') <> 'A' ");
sSQL.ParamByName("pDYZD").Value = sZDM.Trim();
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
sValue = "," + sValue + ",";
sResult = "";
string sMJSQL = ds.Tables[0].Rows[0][0].ToString().Trim();
string sSRFS = ds.Tables[0].Rows[0][1].ToString().Trim();
sSQL.Clear();
sSQL.Add(sMJSQL);
DataSet dsResult = dberp.OpenDataSet(sSQL);
if (sSRFS.Trim().Equals("B"))
{
for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++)
{
if (sValue.Trim().Contains("," + dsResult.Tables[0].Rows[i][0].ToString().Trim() + ","))
{
sResult += dsResult.Tables[0].Rows[i][0].ToString().Trim() + "|" + dsResult.Tables[0].Rows[i][1].ToString().Trim();
break;
}
}
}
else
{
for (int i = 0; i < dsResult.Tables[0].Rows.Count; i++)
{
if (sValue.Trim().Contains("," + dsResult.Tables[0].Rows[i][0].ToString().Trim() + ","))
{
sResult += dsResult.Tables[0].Rows[i][1].ToString().Trim() + ",";
}
}
}
sResult = sResult.TrimEnd(',');
}
return sResult;
}
private string GetQuerySql()
{
SetFJXX();
string sSQL = " select XLXSBJD_BJDID, case when isnull(XLXSBJFL_BJFLID,' ')=' ' then XLXSBJD_BJFLID else rtrim(XLXSBJD_BJFLID)||'|'||XLXSBJFL_BJFLMC end as XLXSBJD_BJFLID,"
+ " case isnull(XLXSBJD_JGBID,' ') when ' ' then ' ' else rtrim(XLXSBJD_JGBID)||'|'||XLXSJGB_JGBMC end as XSJGB,XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CLHQJGBID,";
bool bXScbxKHID = XSCBXKHID();
if (bXScbxKHID)
sSQL += " case isnull(XLXSBJD_KHID,' ') when ' ' then rtrim(XLXSBJD_SYDWID)||'|'||GS_GSMC else rtrim(XLXSBJD_KHID)||'|'||KH_MC end as XHDW,";
else
sSQL += " case isnull(XLXSBJD_SYDWID,' ') when ' ' then ' ' else rtrim(XLXSBJD_SYDWID)||'|'||GS_GSMC end as XHDW,";
sSQL += " case isnull(XLXSBJD_XSBMID,' ') when ' ' then ' ' else rtrim(XLXSBJD_XSBMID)||'|'||BM_MC end as XSBM,XLXSBJD_FKSM,"
+ " case isnull(XLXSBJD_XSQYID,' ') when ' ' then ' ' else rtrim(XLXSBJD_XSQYID)||'|'||XSQY_XSQYMC end as XSQY, "
+ " XLXSBJD_TXY, XLXSBJD_KH, XLXSBJD_KHLXR, XLXSBJD_LXDH, XLXSBJD_CZ, XLXSBJD_XMMC, XLXSBJD_XXDZ, XLXSBJD_BZ,XLXSBJD_ZJE,XLXSBJD_LRL, "
+ " XLXSBJD_BJRQ, XLXSBJD_XSJLMC,XLXSBJD_CZJSXY,XLXSBJD_KHDH,XLXSBJD_LRL,XLXSBJD_ZDXJJCL,XLXSBJD_SQR, "
+ " XLXSBJD_FKQXNR,XLXSBJD_FKRQ,case when isnull(XLXSBJD_ZDQRRGH,' ')<>' ' then 'Y' else 'N' end as ZDFXYQR,"
+ " case isnull(XLXSBJD_ZBZT,' ') when 'Y' then '全部中标' when 'P' then '部分中标' when 'N' then '未中标' when 'F' then '废标' when 'Q' then '弃标' else ' ' end as FKJG, "
+ " XLXSBJKZXX_KZSZ01 as KZSZ01, XLXSBJKZXX_KZSZ02 as KZSZ02, XLXSBJKZXX_KZSZ03 as KZSZ03, XLXSBJKZXX_KZSZ04 as KZSZ04, XLXSBJKZXX_KZSZ05 as KZSZ05, "
+ " XLXSBJKZXX_KZZF01 as KZZF01, XLXSBJKZXX_KZZF02 as KZZF02, XLXSBJKZXX_KZZF03 as KZZF03, XLXSBJKZXX_KZZF04 as KZZF04, XLXSBJKZXX_KZZF05 as KZZF05, "
+ " XLXSBJKZXX_KZZF06 as KZZF06, XLXSBJKZXX_KZZF07 as KZZF07, XLXSBJKZXX_KZZF08 as KZZF08, XLXSBJKZXX_KZZF09 as KZZF09, XLXSBJKZXX_KZZF10 as KZZF10, "
+ " XLXSBJKZXX_KZRQ01 as KZRQ01, XLXSBJKZXX_KZRQ02 as KZRQ02, XLXSBJKZXX_KZRQ03 as KZRQ03, XLXSBJKZXX_KZRQ04 as KZRQ04, XLXSBJKZXX_KZRQ05 as KZRQ05, "
+ " XLXSBJKZXX_KZWB01 as KZWB01, XLXSBJKZXX_KZWB02 as KZWB02, XLXSBJKZXX_KZWB03 as KZWB03, XLXSBJKZXX_KZWB04 as KZWB04, XLXSBJKZXX_KZWB05 as KZWB05, "
+ " XLXSBJD_DOCGRPID,XLXSBJD_FJS,XLXSBJD_WHR, XLXSBJD_WHRID, XLXSBJD_WHSJ, XLXSBJD_WFID, XLXSBJD_WFINST, XLXSBJD_WPID, XLXSBJD_WFAWAITER, XLXSBJD_WFHANDLER, XLXSBJD_ACTNAME "
+ " from XLXSBJD "
+ " left join XLXSBJKZXX on XLXSBJKZXX_BJDID = XLXSBJD_BJDID "
+ " left join GS on GS_SYDWID=XLXSBJD_SYDWID"
+ " left join BM on BM_BMID=XLXSBJD_XSBMID"
+ " left join XLXSBJFL on XLXSBJD_BJFLID=XLXSBJFL_BJFLID"
+ " left join XSQY on XSQY_XSQYID=XLXSBJD_XSQYID"
+ " left join KH on KH_KHID=XLXSBJD_KHID"
+ " left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID and XLXSJGB_MXBH in ('JGB','JGE')"
+ " where 1=1 "
+ " and isnull(XLXSBJD_YWLX,' ') = ' ' ";
switch (CurQueryEntity.FieldByName("SW").Value.Trim())
{
case "W":
sSQL += "\r\n and " + _curWorkFlow.GetWhereAgent("XLXSBJ_BJD", tSession.UserId, "XLXSBJD_WFAWAITER", "XLXSBJD_WFID", "XLXSBJD_WPID");
break;
case "H":
sSQL += "\r\n and XLXSBJD_WFHANDLER LIKE :XLXSBJD_WFHANDLER ";
entity.Param.Add("XLXSBJD_WFHANDLER", "%," + tSession.UserId + ",%");
break;
case "A":
break;
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("WFAWAITER").Value.Trim()))
{
sSQL += " \r\n and XLXSBJD_WFAWAITER like :pWFAWITER ";
entity.Param.Add("pWFAWITER", string.Format("%,{0},%", CurQueryEntity.FieldByName("WFAWAITER").Value.Trim()));
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("STATE").Value.Trim()))
{
sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", CurQueryEntity.FieldByName("STATE").Value.Trim());
}
if (!CurQueryEntity.FieldByName("XHDW").Value.Trim().Equals(""))
{
sSQL += "\r\n and (GS_GSMC like :pXHDW or KH_MC like :pXHDW) ";
entity.Param.Add("pXHDW", "%" + CurQueryEntity.FieldByName("XHDW").Value.Trim() + "%");
}
if (!CurQueryEntity.FieldByName("XSBM").Value.Trim().Equals(""))
{
sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", CurQueryEntity.FieldByName("XSBM").Value.Trim());
}
if (!string.IsNullOrEmpty(GetOption(100860000,"HJU006").Trim()))
{
sSQL += " and (" + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", GetOption(100860000,"HJU006").Trim());
sSQL += " or isnull(XLXSBJD_XSBMID, ' ') = ' ')";
}
if (!CurQueryEntity.FieldByName("TXY").Value.Trim().Equals(""))
{
sSQL += "\r\n and (XLXSBJD_TXY = :pTXY) ";
entity.Param.Add("pTXY", CurQueryEntity.FieldByName("TXY").Value.Trim());
}
if (!CurQueryEntity.FieldByName("KH").Value.Trim().Equals(""))
{
sSQL += "\r\n and (XLXSBJD_KH like :pKH) ";
entity.Param.Add("pKH", "%" + CurQueryEntity.FieldByName("KH").Value.Trim() + "%");
}
if (!CurQueryEntity.FieldByName("SQRGH").Value.Trim().Equals(""))
{
sSQL+=" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_SQRGH", CurQueryEntity.FieldByName("SQRGH").Value.Trim());
}
if (!CurQueryEntity.FieldByName("XM").Value.Trim().Equals(""))
{
sSQL += "\r\n and " + CMISproDataBase.GetWhereLike("XLXSBJD_XMMC", CurQueryEntity.FieldByName("XM").Value.Trim());
}
if (!CurQueryEntity.FieldByName("BJDID").Value.Trim().Equals(""))
{
sSQL += "\r\n and XLXSBJD_BJDID like :pBJDID ";
entity.Param.Add("pBJDID", "%" + CurQueryEntity.FieldByName("BJDID").Value.Trim() + "%");
}
if (!CurQueryEntity.FieldByName("BJFLID").Value.Trim().Equals(""))
{
sSQL += "\r\n and XLXSBJD_BJFLID = :pBJFLID ";
entity.Param.Add("pBJFLID", CurQueryEntity.FieldByName("BJFLID").Value.Trim());
}
if (!CurQueryEntity.FieldByName("BJBZ").Value.Trim().Equals(""))
{
sSQL += "\r\n and XLXSBJD_BZ like :pBJBZ ";
entity.Param.Add("pBJBZ",'%'+CurQueryEntity.FieldByName("BJBZ").Value.Trim()+'%');
}
if (!CurQueryEntity.FieldByName("KHDH").Value.Trim().Equals(""))
{
sSQL += "\r\n and XLXSBJD_KHDH like :pKHDH ";
entity.Param.Add("pKHDH", '%' + CurQueryEntity.FieldByName("KHDH").Value.Trim() + '%');
}
//报价金额
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJES").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJES").Value.Trim().Equals("0"))
{
sSQL +="\r\n and XLXSBJD_ZJE >=:pBJZJES ";
entity.Param.Add("pBJZJES", CMISproConvert.StrToFloat(CurQueryEntity.FieldByName("BJZJES").Value.Trim(),0));
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJEZ").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJEZ").Value.Trim().Equals("0"))
{
sSQL += "\r\n and XLXSBJD_ZJE <=:pBJZJEZ ";
entity.Param.Add("pBJZJEZ", CMISproConvert.StrToFloat(CurQueryEntity.FieldByName("BJZJEZ").Value.Trim(), 0));
}
if (CurQueryEntity.FieldByName("ZCJHSCQK").Value.Trim() == "已生成")
{
sSQL += "and exists(select 1 from XLZCJH where XLZCJH_YWDH=XLXSBJD_BJDID )";
}
else if (CurQueryEntity.FieldByName("ZCJHSCQK").Value.Trim() == "未生成")
{
sSQL += "and not exists(select 1 from XLZCJH where XLZCJH_YWDH=XLXSBJD_BJDID )";
}
if (!string.IsNullOrEmpty(GetOption(100860000,"BJU012").Trim()))
{
sSQL += " and (" + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", GetOption(100860000,"BJU012").Trim());
sSQL += " or isnull(XLXSBJD_BJFLID, ' ') = ' ')";
}
if (CurQueryEntity.FieldByName("ZDFXYQR").Value.ToUpper().Trim().Equals("TRUE"))
{
sSQL += " and isnull(XLXSBJD_ZDQRRGH,' ')<>' ' ";
}
if (CurQueryEntity.FieldByName("JCFZCS").Value.ToUpper().Trim().Equals("TRUE"))
{
sSQL += " and isnull(XLXSBJD_FZBZ,'N') ='Y' ";
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("FKJG").Value.Trim()))
{
sSQL += "\r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJD_ZBZT", CurQueryEntity.FieldByName("FKJG").Value.Trim());
}
sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
CurQueryEntity.FieldByName("BJRQS").Value.ToString().Trim(),
CurQueryEntity.FieldByName("BJRQZ").Value.ToString().Trim(),
DateTimeType.dtDate, DateTimeType.dtDate);
sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_WHSJ",
CurQueryEntity.FieldByName("WHSJS").Value.ToString().Trim(),
CurQueryEntity.FieldByName("WHSJZ").Value.ToString().Trim(),
DateTimeType.dtTime, DateTimeType.dtTime);
sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_FKRQ",
CurQueryEntity.FieldByName("FKRQS").Value.ToString().Trim(),
CurQueryEntity.FieldByName("FKRQZ").Value.ToString().Trim(),
DateTimeType.dtDate, DateTimeType.dtDate);
for (int i = 1; i <= 5; i++)
{
string fieldNumber = i.ToString().PadLeft(2, '0');
string fieldName = "KZSZ" + fieldNumber;
string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim();
if (!string.IsNullOrEmpty(fieldValue) && fieldValue != "0")
{
string paramName = "pKZSZ" + fieldNumber;
sSQL+=string.Format(" and isnull(XLXSBJKZXX_KZSZ{0},0) = :{1} ",
fieldNumber,
paramName);
entity.Param.Add(paramName, CMISproConvert.StrToFloat(fieldValue));
}
}
for (int i = 1; i <= 10; i++)
{
string fieldNumber = i.ToString().PadLeft(2, '0');
string fieldName = "KZZF" + fieldNumber+"1";
string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim();
if (!string.IsNullOrEmpty(fieldValue))
{
string paramName = "p" + fieldName;
sSQL += string.Format(" and isnull(XLXSBJKZXX_KZZF{0},' ') like :{1} ",
fieldNumber,
paramName);
entity.Param.Add(paramName, "%" + fieldValue+"%" );
}
}
for (int i = 1; i <= 10; i++)
{
string fieldNumber = i.ToString().PadLeft(2, '0');
string fieldName = "KZZF" + fieldNumber + "2";
string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim();
if (!string.IsNullOrEmpty(fieldValue))
{
string paramName = "p" + fieldName;
sSQL += string.Format(" and ','||Rtrim(isnull(XLXSBJKZXX_KZZF{0},' '))||',' like :{1} ",
fieldNumber,
paramName);
entity.Param.Add(paramName, "%," + fieldValue + ",%");
}
}
for (int i = 1; i <= 5; i++)
{
string fieldNumber = i.ToString().PadLeft(2, '0');
string fieldName = "KZWB" + fieldNumber;
string fieldValue = CurQueryEntity.FieldByName(fieldName).Value.ToString().Trim();
if (!string.IsNullOrEmpty(fieldValue))
{
string paramName = "pKZWB" + fieldNumber;
sSQL += string.Format(" and isnull(XLXSBJKZXX_KZWB{0},' ') like :{1} ",
fieldNumber,
paramName);
entity.Param.Add(paramName, "%" + fieldValue + "%");
}
}
for (int i = 1; i <= 5; i++)
{
string fieldNumber = i.ToString().PadLeft(2, '0');
string fieldName = "KZRQ" + fieldNumber;
sSQL+=CMISproDataBase.GetTimeConditionSQL("XLXSBJKZXX_KZRQ"+fieldNumber, CurQueryEntity.FieldByName(fieldName + "S").Value.Trim(), CurQueryEntity.FieldByName(fieldName+"Z").Value.Trim(), DateTimeType.dtDate, DateTimeType.dtDate);
}
if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号倒序↓"))
{
sSQL += " order by XLXSBJD_BJDID desc ";
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价单号正序↑"))
{
sSQL += " order by XLXSBJD_BJDID ";
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期倒序↓"))
{
sSQL += " order by XLXSBJD_BJRQ DESC, XLXSBJD_BJDID DESC ";
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("报价日期正序↑"))
{
sSQL += " order by XLXSBJD_BJRQ, XLXSBJD_BJDID ";
}
else
{
sSQL += " order by XLXSBJD_BJRQ, XLXSBJD_BJDID ";
}
return sSQL;
}
//判断模块是否存在并且是否有权限
private bool CheckModule(string sUMID)
{
int iUMID = CMISproConvert.StrToInt(sUMID);
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
}
private bool XSCBXKHID()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
//客户ID
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
//销售报价业务配置“客户检索来源”为“KH|客户”、且“新增客户要求”为“报价前维护”时,txtKHID显示,cbxKHID不显示
if (pzxx.XLXSBJPZ_KHJSLY == "KH" && pzxx.XLXSBJPZ_XZKHYQ == "Q")
return false;
return true;
}
#endregion
protected void btnCopyEx_Click(object sender, EventArgs e)
{
if (ContentGrid.SelectedIndex == -1)
{
ShowMessage("请选择处理记录!");
return;
}
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = this.sURLTarget;
pageParams.CallAction = TPageCallAction.pcaCopy;
pageParams.AddString("CopyFromList", "Y");
pageParams.AddString("WFID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_WFID"].ToString().Trim());
pageParams.AddString("WFINST", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_WFINST"].ToString().Trim());
pageParams.AddString("XLXSBJD_BJDID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJD_BJDID"].ToString().Trim());
OpenDialog(pageParams);
}
protected void btnGRWJGRefer_Click(object sender, EventArgs e)
{
int tmpIndex = ContentGrid.SelectedIndex;
moduleGV_PageIndexChanging(null, null);
ContentGrid.SelectedIndex = tmpIndex;
}
protected void btnZBZT_Click(object sender, EventArgs e)
{
Confirm.Register("ask", "将更新报价单反馈结果历史数据,是否确认?");
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("ask").Trim().Equals(""))
{
Confirm.Ask("ask");
return;
}
else if (Confirm.GetValue("ask").Trim().Equals("N"))
{
Confirm.Clear();
return;
}
else if (Confirm.GetValue("ask").Trim().Equals("Y"))
{
Confirm.Clear();
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" merge into XLXSBJD tag ");
SQL.Add(" using( ");
SQL.Add(" select XLXSBJDMX_BJDID as BJDID,case when ZMXSL=ZBMXSL then 'Y' when (isnull(ZBMXSL,0)+isnull(PBMXSL,0))>0 then 'P' ");
SQL.Add(" when (ZMXSL<>isnull(FBMXSL,0) and ZMXSL<>isnull(QBMXSL,0) AND WZBMXSL = ZMXSL) then 'N' ");
SQL.Add(" when ZMXSL=FBMXSL then 'F' when ZMXSL=QBMXSL then 'Q' else ' ' end as FKJG ");
SQL.Add(" from ");
SQL.Add(" (SELECT XLXSBJDMX_BJDID,count(1) as ZMXSL,sum(case when isnull(XLXSBJDMX_ZB,' ')='Y' then 1 else 0 end) as ZBMXSL, ");
SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ')='P' then 1 else 0 end) as PBMXSL, ");
SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ') in ('N','F','Q') then 1 else 0 end) as WZBMXSL, ");
SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ')='F' then 1 else 0 end) as FBMXSL, ");
SQL.Add(" sum(case when isnull(XLXSBJDMX_ZB,' ')='Q' then 1 else 0 end) as QBMXSL ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID ");
SQL.Add(" where isnull(XLXSBJD_ZBZT,' ') = ' ' ");
SQL.Add(" group by XLXSBJDMX_BJDID) ZBA ");
SQL.Add(" ) sor ");
SQL.Add(" on(XLXSBJD_BJDID = sor.BJDID and isnull(XLXSBJD_ZBZT,' ') = ' ') ");
SQL.Add(" when matched then update set XLXSBJD_ZBZT = sor.FKJG ");
dberp.ExecSQL(SQL);
ShowMessage("更新成功!");
}
}
}