1852 lines
81 KiB
C#
1852 lines
81 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.Data;
|
||
using GThinking.N_MISPRO.Utility;
|
||
using GThinking.N_MISPRO;
|
||
using GThinking.N_WORKFLOW;
|
||
using System.Collections.Generic;
|
||
using System.Text;
|
||
using GThinking.N_MISPRO.TableCache;
|
||
using GThinking.N_PUBLIC;
|
||
using GThinking.N_CONTROL;
|
||
|
||
namespace GThinking.N_XLXSBJ
|
||
{
|
||
public partial class XSYBJSQInfo : SingleCardBase
|
||
{
|
||
XSYBJSQ entity = new XSYBJSQ();
|
||
|
||
#region Page类继承事件
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
this.UMID = 100860061;
|
||
this.UMName = "销售员报价申请";
|
||
this.CurMaster = Master;
|
||
this.CurEntity = entity;
|
||
this.PageHeight = 500;
|
||
this.PageWidth = 700;
|
||
this.Master.EnableAttachBtn = true;
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
LoadUserandGroup();
|
||
LoadXMGroup();
|
||
}
|
||
base.InitPage();
|
||
|
||
this.WorkFlowId = _curWorkFlow.GetWFID("XLXSBJ_BJD");
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
string sYWSW = TWorkflow.Utils.WFGetYHSWID(this.WorkFlowId, "0030");//0030|反馈
|
||
string sWPID = _curWorkFlow.GetWPID(this.WorkFlowId, this.WorkFlowInst);
|
||
if (Convert.ToString("," + sYWSW + ",").Contains("," + sWPID + ",") || sWPID.Equals("ZZZZ"))
|
||
{
|
||
btnBJFK.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
btnBJFK.Visible = false;
|
||
}
|
||
}
|
||
|
||
HiddenField HiddenGRPID = ((HiddenField)CurMaster.FindControl("txtDOCGRPID"));
|
||
if (HiddenGRPID != null)
|
||
txtDOCGRPID.Value = HiddenGRPID.Value;
|
||
|
||
if (ControlState == TControlState.ctsInsert)
|
||
{
|
||
LoadFJXX(true, "A", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, true, txtBJDID.Text, false, "");
|
||
}
|
||
else if (ControlState == TControlState.ctsCopy)
|
||
{
|
||
LoadFJXX(true, "C", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, true, txtBJDID.Text, false, "");
|
||
}
|
||
else if (ControlState == TControlState.ctsEdit)
|
||
{
|
||
LoadFJXX(true, "E", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, true, txtBJDID.Text, false, "");
|
||
|
||
}
|
||
else
|
||
{
|
||
LoadFJXX(true, "", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, false, txtBJDID.Text, false, "");
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 模板继承事件
|
||
|
||
protected override void LoadRecord()
|
||
{
|
||
if (!this.IsPostBack)
|
||
{
|
||
if (!PageParam.ContainsKey("XLXSBJD_BJDID"))
|
||
{
|
||
entity.EntityTable.EntitySelSql = "SELECT XLXSBJD_BJDID,XLXSBJD_BJFLID, XLXSBJD_JGBID,XLXSBJD_CLHQJGBID, XLXSBJD_BJRQ,XLXSBJD_SYDWID, "
|
||
+ " XLXSBJD_XSBMID,XLXSBJD_KHID,XLXSBJD_KH,XLXSBJD_XMMC,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_CZJSXY,XLXSBJD_TXY,XLXSBJD_XZQHID,XLXSBJYLZD_SQSJ,XLXSBJYLZD_WCSJ, "
|
||
+ " XLXSBJD_WFID, XLXSBJD_WPID, XLXSBJD_WFINST, XLXSBJD_WFAWAITER, XLXSBJD_WFHANDLER, XLXSBJD_ACTNAME,"
|
||
+ " XLXSBJD_WHRID, XLXSBJD_WHR, XLXSBJD_WHSJ ,XLXSBJD_DOCGRPID ,XLXSBJD_FJS FROM XLXSBJD "
|
||
+ " left join (select min(XLXSBJYLZD_SQDH) as YLZDSQDH,XLXSBJYLZD_BJDID from XLXSBJYLZD where 1=1 group by XLXSBJYLZD_BJDID ) YLZDSQ "
|
||
+ " on XLXSBJYLZD_BJDID = XLXSBJD_BJDID "
|
||
+ " left join XLXSBJYLZD on XLXSBJYLZD_SQDH = YLZDSQDH "
|
||
+ " WHERE XLXSBJD_WFID = :XLXSBJD_WFID and XLXSBJD_WFINST = :XLXSBJD_WFINST ";
|
||
this.CurEntity.Param.Add("XLXSBJD_WFID", PageParam.GetRTrimString("WFID"));
|
||
this.CurEntity.Param.Add("XLXSBJD_WFINST", PageParam.GetRTrimString("WFINST"));
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
entity.Param.Add("XLXSBJD_BJDID", PageParam.GetRTrimString("XLXSBJD_BJDID"));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
entity.Param.Add("XLXSBJD_BJDID", txtBJDID.Text.Trim());
|
||
|
||
}
|
||
|
||
base.LoadRecord();
|
||
txtWFState.Text = _curWorkFlow.GetWPName(this.WorkFlowId.ToString().Trim(), txtWPID.Value);
|
||
GetXSYXX(cbxTXY.SelectedValue.Trim());
|
||
|
||
//处理所在地
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XZQH_XZQHID,XZQH_FID,XZQH_PROVINCE,XZQH_CITY from XZQH where XZQH_XZQHID = :pXZQHID ");
|
||
SQL.ParamByName("pXZQHID").Value = txtXZQHID.Value.Trim();
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
if (ds.Tables[0].Rows[0]["XZQH_FID"].ToString().Trim().Equals("86"))
|
||
{
|
||
cbxKHSZDPRO.SelectedValue = ds.Tables[0].Rows[0]["XZQH_XZQHID"].ToString().Trim();
|
||
cbxKHSZDCITY.SelectedValue = "";
|
||
}
|
||
else
|
||
{
|
||
cbxKHSZDPRO.SelectedValue = ds.Tables[0].Rows[0]["XZQH_FID"].ToString().Trim();
|
||
cbxKHSZDCITY.SelectedValue = ds.Tables[0].Rows[0]["XZQH_XZQHID"].ToString().Trim();
|
||
}
|
||
}
|
||
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJYLZD_WPID,XLXSBJYLZD_WFAWAITER from XLXSBJD ");
|
||
SQL.Add(" left join (select min(XLXSBJYLZD_SQDH) as YLZDSQDH,XLXSBJYLZD_BJDID from XLXSBJYLZD where 1=1 group by XLXSBJYLZD_BJDID ) YLZDSQ ");
|
||
SQL.Add(" on XLXSBJYLZD_BJDID = XLXSBJD_BJDID ");
|
||
SQL.Add(" left join XLXSBJYLZD on XLXSBJYLZD_SQDH = YLZDSQDH ");
|
||
SQL.Add(" where XLXSBJD_BJDID = :pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = txtBJDID.Text.Trim();
|
||
ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
string waiter = _curWorkFlow.UserInfo.GetUserNames(ds.Tables[0].Rows[0]["XLXSBJYLZD_WFAWAITER"].ToString().Trim());
|
||
if (ds.Tables[0].Rows[0]["XLXSBJYLZD_WPID"].ToString().Trim().Equals("ZZZZ"))
|
||
{
|
||
txtYLZDLCZT.Text = "结束";
|
||
}
|
||
else if(ds.Tables[0].Rows[0]["XLXSBJYLZD_WPID"].ToString().Trim().Equals("ZZZY"))
|
||
{
|
||
txtYLZDLCZT.Text = "否决";
|
||
}
|
||
else
|
||
{
|
||
txtYLZDLCZT.Text = string.Format("待【{0}】" + _curWorkFlow.GetWPName("XLXSBJYLZD", ds.Tables[0].Rows[0]["XLXSBJYLZD_WPID"].ToString().Trim()), waiter);
|
||
}
|
||
}
|
||
|
||
if (IsPostBack)
|
||
{
|
||
LoadFJXX(true, "", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, false, txtBJDID.Text, true, "");
|
||
}
|
||
}
|
||
|
||
protected override void OnNewRecorder()
|
||
{
|
||
base.OnNewRecorder();
|
||
datBJRQ.Text = DateTime.Now.ToShortDateString().Trim();
|
||
cbxBJFLID.SelectedValue = GetMRBJFL();
|
||
txtJGBID.Value = GetJGBID();
|
||
txtYLZDLCZT.Text = "";
|
||
SetNewMRBJXX();
|
||
txtFJS.Value = 0.0;
|
||
txtWHR.Text = tSession.UserName;
|
||
txtWHRID.Value = tSession.UserId;
|
||
datWHSJ.Value = CMISproConvert.ConvertTime(DateTime.Now);
|
||
LoadFJXX(true, "A", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, true, txtBJDID.Text, true, "");
|
||
}
|
||
|
||
protected override void OnCopyRecorder()
|
||
{
|
||
string sBJDID = txtBJDID.Text.Trim();
|
||
base.OnCopyRecorder();
|
||
datBJRQ.Text = DateTime.Now.ToShortDateString().Trim();
|
||
cbxBJFLID.SelectedValue = GetMRBJFL();
|
||
txtJGBID.Value = GetJGBID();
|
||
txtYLZDLCZT.Text = "";
|
||
SetCopyMRBJXX();
|
||
txtFJS.Value = 0.0;
|
||
txtWHR.Text = tSession.UserName;
|
||
txtWHRID.Value = tSession.UserId;
|
||
datWHSJ.Value = CMISproConvert.ConvertTime(DateTime.Now);
|
||
txtSQRQ.Value = "";
|
||
txtSQRGH.Value = "";
|
||
txtSQRID.Value = "";
|
||
txtSQRQ.Value = "";
|
||
LoadFJXX(true, "C", sBJDID, divFJXX);
|
||
setFJXXControlState(divFJXX, true, sBJDID, true, "");
|
||
}
|
||
|
||
protected override bool Master_AfterSaveAction(object sender, EventArgs e)
|
||
{
|
||
entity.sYBJDID = "";
|
||
setFJXXControlState(divFJXX, false, txtBJDID.Text, true, "");
|
||
XLXSBJFJXX.UpdateLBXSFJXX(txtBJDID.Text.Trim());
|
||
return base.Master_AfterSaveAction(sender, e);
|
||
}
|
||
|
||
protected override void AfterSave(TDatabase db, ref bool ActionIsDone)
|
||
{
|
||
#region 对附加信息处理
|
||
if (divFJXX.Visible)
|
||
{
|
||
TSQL SQL = new TSQL(db);
|
||
SQL.Clear();
|
||
SQL.Add("select 1 from XLXSBJKZXX where XLXSBJKZXX_BJDID = :pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = txtBJDID.Text.Trim();
|
||
DataSet dsKZXX = db.OpenDataSet(SQL);
|
||
|
||
if (dsKZXX.Tables[0].Rows.Count > 0)
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add(" update XLXSBJKZXX set XLXSBJKZXX_WHRID = :pWHRID, XLXSBJKZXX_WHR = :pWHR, XLXSBJKZXX_WHSJ = :pWHSJ ");
|
||
foreach (string sKey in entity.sFJXXParams.Keys)
|
||
{
|
||
SQL.Add(" ," + sKey+ " = :" + sKey );
|
||
SQL.ParamByName(sKey).Value = entity.sFJXXParams[sKey];
|
||
}
|
||
SQL.Add(" where XLXSBJKZXX_BJDID = :pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = txtBJDID.Text.Trim();
|
||
SQL.ParamByName("pWHRID").Value = tSession.UserId; ;
|
||
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
||
SQL.ParamByName("pWHSJ").Value = CMISproConvert.ConvertTime(DateTime.Now); ;
|
||
db.ExecSQL(SQL);
|
||
}
|
||
else
|
||
{
|
||
|
||
SQL.Clear();
|
||
SQL.Add("insert into XLXSBJKZXX");
|
||
SQL.Add("(XLXSBJKZXX_BJDID,");
|
||
foreach (string sKey in entity.sFJXXParams.Keys)
|
||
{
|
||
SQL.Add(sKey + ",");
|
||
}
|
||
SQL.Add(" XLXSBJKZXX_WHRID, XLXSBJKZXX_WHR, XLXSBJKZXX_WHSJ)");
|
||
SQL.Add("values");
|
||
SQL.Add("(:XLXSBJKZXX_BJDID,");
|
||
foreach (string sKey in entity.sFJXXParams.Keys)
|
||
{
|
||
SQL.Add(":" + sKey + ",");
|
||
SQL.ParamByName(sKey).Value = entity.sFJXXParams[sKey];
|
||
}
|
||
SQL.Add(" :XLXSBJKZXX_WHRID, :XLXSBJKZXX_WHR, :XLXSBJKZXX_WHSJ)");
|
||
SQL.ParamByName("XLXSBJKZXX_BJDID").Value = txtBJDID.Text.Trim();
|
||
SQL.ParamByName("XLXSBJKZXX_WHRID").Value = tSession.UserId;
|
||
SQL.ParamByName("XLXSBJKZXX_WHR").Value = tSession.UserName;
|
||
SQL.ParamByName("XLXSBJKZXX_WHSJ").Value = CMISproConvert.ConvertTime(DateTime.Now);
|
||
db.ExecSQL(SQL);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
base.AfterSave(db, ref ActionIsDone);
|
||
}
|
||
|
||
protected override bool Master_BeforeEditAction(object sender, EventArgs e)
|
||
{
|
||
LoadFJXX(true, "E", txtBJDID.Text,divFJXX);
|
||
if (TWorkflow.Utils.WFGetBZSWID("XLXSBJ_BJD", txtWPID.Value.Trim()).Equals("0010"))
|
||
setFJXXControlState(divFJXX, true, txtBJDID.Text, true, "");
|
||
else
|
||
setFJXXControlState(divFJXX, false, txtBJDID.Text, false, "");
|
||
return base.Master_BeforeEditAction(sender, e);
|
||
}
|
||
|
||
protected override void OnNullRecorder()
|
||
{
|
||
base.OnNullRecorder();
|
||
LoadFJXX(true, "", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, false, txtBJDID.Text, false, "");
|
||
}
|
||
|
||
protected override void SetControlState()
|
||
{
|
||
base.SetControlState();
|
||
|
||
if (DSActiveModule.IsActiveModule(100956005))
|
||
{
|
||
lblKHSZD.Visible = true;
|
||
cbxKHSZDPRO.Visible = true;
|
||
cbxKHSZDCITY.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
lblKHSZD.Visible = false;
|
||
cbxKHSZDPRO.Visible = false;
|
||
cbxKHSZDCITY.Visible = false;
|
||
}
|
||
//控制省市如果需要编码则必填
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
|
||
string sBMYSLIST = string.Empty;
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_BMYSLIST))
|
||
{
|
||
sBMYSLIST = "," + pzxx.XLXSBJPZ_BMYSLIST + ",";
|
||
}
|
||
if (sBMYSLIST.Contains(",XZQHID,"))
|
||
{
|
||
if (ControlState == TControlState.ctsEdit)
|
||
{
|
||
cbxKHSZDCITY.Enabled = false;
|
||
cbxKHSZDPRO.Enabled = false;
|
||
}
|
||
}
|
||
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
|
||
{
|
||
_curWorkFlow.SetFormRights(this.Page, _curWorkFlow.GetWFID("XLXSBJ_BJD"), ControlState);
|
||
}
|
||
int BJMXSL = GetBJMXSL(txtBJDID.Text.Trim());
|
||
if (BJMXSL > 0)
|
||
{
|
||
datBJRQ.Enabled = false;
|
||
cbxBJFLID.Enabled = false;
|
||
btnBJMX.Enabled = true;
|
||
}
|
||
else
|
||
btnBJMX.Enabled = false;
|
||
|
||
txtBJDID.Enabled = false;
|
||
txtWFState.Enabled = false;
|
||
cbxTXYBMID.Enabled = false;
|
||
txtTXYDH.Enabled = false;
|
||
txtFJS.Enabled = false;
|
||
txtWHR.Enabled = false;
|
||
datWHSJ.Enabled = false;
|
||
datYLDZSJQ.Enabled = false;
|
||
datYLDZSJZ.Enabled = false;
|
||
|
||
btnBJFK.Enabled = ControlState == TControlState.ctsBrowse;
|
||
|
||
bool bVisble = false;
|
||
if (entity.dsFJXXSZ.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow trow in entity.dsFJXXSZ.Tables[0].Rows)
|
||
{
|
||
string sXSBZ = trow["XLXSBJKZXXSZ_XSBZ"].ToString().Trim();
|
||
string sWPID = txtWPID.Value.Trim().Equals("") ? "0010" : txtWPID.Value.Trim();
|
||
string sSYBJFLID = trow["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
|
||
string sBJFLID = cbxBJFLID.SelectedValue.Trim();
|
||
string sXSBZC = "," + sXSBZ + ",";
|
||
if (!sXSBZ.Equals("") && !sXSBZC.Contains("," + sWPID + ","))
|
||
continue;
|
||
string sSYBJFLIDC = "," + sSYBJFLID + ",";
|
||
if (!sSYBJFLID.Equals("") && !sSYBJFLIDC.Contains("," + sBJFLID + ","))
|
||
continue;
|
||
bVisble = true;
|
||
break;
|
||
}
|
||
}
|
||
|
||
divBJZTLabel.Visible = bVisble;
|
||
divFJXXLabel.Visible = bVisble;
|
||
divFJXX.Visible = bVisble;
|
||
|
||
|
||
//销售报价业务配置“客户检索来源”为“KH|客户”、且“新增客户要求”为“报价前维护”时,txtKHID显示,cbxKHID不显示
|
||
if (pzxx.XLXSBJPZ_KHJSLY=="KH" && pzxx.XLXSBJPZ_XZKHYQ=="Q")
|
||
{
|
||
txtKHID.Visible = true;
|
||
txtKH.Width = Unit.Pixel(340);
|
||
txtKH.Enabled = false;
|
||
}
|
||
else
|
||
{
|
||
txtKHID.Visible = false;
|
||
txtKH.Width = Unit.Pixel(445);
|
||
txtKH.Enabled = true;
|
||
}
|
||
|
||
}
|
||
|
||
protected override void SetComboxItems()
|
||
{
|
||
string sSQL = string.Format("select XLXSBJFL_BJFLID,case isnull(XLXSBJFL_TYBZ,' ') when 'Y' then rtrim(XLXSBJFL_BJFLMC)||'(停用)' else XLXSBJFL_BJFLMC end as Name from XLXSBJFL where 1 = 1 ");
|
||
if (!string.IsNullOrEmpty(GetOption("BJU012").Trim()))
|
||
{
|
||
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSBJFL_BJFLID", GetOption("BJU012").Trim());
|
||
}
|
||
if(ControlState == TControlState.ctsBrowse)
|
||
sSQL += " or XLXSBJFL_BJFLID = '" + cbxBJFLID.SelectedValue.Trim() + "'";
|
||
sSQL += " order by XLXSBJFL_XSXH,XLXSBJFL_BJFLID ";
|
||
cbxBJFLID.ClearItems();
|
||
TComboBox.SetComboBox("DBERP", cbxBJFLID, sSQL, false);
|
||
|
||
sSQL = "select rtrim(GS_SYDWID) as ID,rtrim(GS_GSMC) as MC from GS where 1=1 and isnull(GS_TYBZ,'N')<>'Y'";
|
||
if (!string.IsNullOrEmpty(GetOption("KZZXU003").Trim()))
|
||
{
|
||
sSQL += " and " + CMISproDataBase.GetWhereEqual("GS_SYDWID", GetOption("KZZXU003").Trim());
|
||
}
|
||
if (ControlState == TControlState.ctsBrowse)
|
||
sSQL += " or GS_SYDWID = '" + cbxSYDWID.SelectedValue.Trim() + "'";
|
||
sSQL += " order by GS_SYDWID ";
|
||
cbxSYDWID.ClearItems();
|
||
TComboBox.SetComboBox("DBERP", cbxSYDWID, sSQL, false);
|
||
|
||
sSQL = "select distinct rtrim(BM_BMID) as ID, BM_MC as MC from BM ";
|
||
sSQL += " where 1=1 and isnull(BM_TYBZ,'N')<>'Y' ";
|
||
cbxTXYBMID.ClearItems();
|
||
if (ControlState == TControlState.ctsBrowse)
|
||
TComboBox.SetComboBox("DBERP", cbxTXYBMID, sSQL + " or BM_BMID = '" + cbxXSBMID.SelectedValue.Trim() + "' ", true);
|
||
else
|
||
TComboBox.SetComboBox("DBERP", cbxTXYBMID, sSQL, true);
|
||
if (!string.IsNullOrEmpty(GetOption("HJU006").Trim()))
|
||
{
|
||
sSQL += " and " + CMISproDataBase.GetWhereEqual("BM_BMID", GetOption("HJU006").Trim());
|
||
}
|
||
if (!string.IsNullOrEmpty(cbxSYDWID.SelectedValue.Trim()))
|
||
sSQL += " and BM_SYDWID = '" + cbxSYDWID.SelectedValue.Trim() + "'";
|
||
if (ControlState == TControlState.ctsBrowse)
|
||
sSQL += " or BM_BMID = '" + cbxXSBMID.SelectedValue.Trim() + "' ";
|
||
sSQL += " order by rtrim(BM_BMID) ";
|
||
cbxXSBMID.ClearItems();
|
||
TComboBox.SetComboBox("DBERP", cbxXSBMID, sSQL, false);
|
||
|
||
|
||
sSQL = "select XSY_TXY as ID ,case when ISNULL(XSY_ZJM,' ') = ' ' then XSY_TXY else rtrim(XSY_ZJM) || '|' || XSY_TXY end as MC from XSY left join BM on BM_BMID = XSY_BMID left join GS on GS_SYDWID = BM_SYDWID ";
|
||
sSQL += " where 1=1 and ISNULL(XSY_TYBZ,'N') <> 'Y' and (XSY_GH ='" + tSession.UserId + "' or XSY_TXY= '"+cbxTXY.SelectedValue.Trim()+"') ";
|
||
sSQL += " order by rtrim(BM_BMID) ";
|
||
cbxTXY.ClearItems();
|
||
TComboBox.SetComboBox("DBERP", cbxTXY, sSQL, false);
|
||
cbxTXY.ShowValue = false;
|
||
|
||
cbxCZJSXY.ClearItems();
|
||
cbxCZJSXY.Items.Add(new ListItem("", ""));
|
||
cbxCZJSXY.Items.Add(new ListItem("有", "Y"));
|
||
cbxCZJSXY.Items.Add(new ListItem("无", "N"));
|
||
cbxCZJSXY.ShowValue = false;
|
||
if (ControlState == TControlState.ctsBrowse)
|
||
{
|
||
//项目所在地
|
||
TComboBox.SetComboBox("DBERP", cbxKHSZDPRO, string.Format("select XZQH_XZQHID,XZQH_PROVINCE from XZQH where XZQH_XZQHID = '{0}' and XZQH_XZQHID <> '86' ORDER BY XZQH_XZQHID ", cbxKHSZDPRO.SelectedValue.Trim()), true);
|
||
|
||
TComboBox.SetComboBox("DBERP", cbxKHSZDCITY, string.Format("select XZQH_XZQHID,XZQH_CITY from XZQH where XZQH_FID = '{0}' and XZQH_XZQHID <> '86' ORDER BY XZQH_XZQHID ", cbxKHSZDPRO.SelectedValue.Trim()), true);
|
||
}
|
||
else
|
||
{
|
||
//项目所在地
|
||
TComboBox.SetComboBox("DBERP", cbxKHSZDPRO, "select XZQH_XZQHID,XZQH_PROVINCE from XZQH where XZQH_FID = '86' ORDER BY XZQH_XZQHID ", true);
|
||
if (!cbxKHSZDPRO.SelectedValue.Trim().Equals(""))
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
sql.Clear();
|
||
sql.Add(" select XZQH_XZQHID,XZQH_CITY from XZQH where XZQH_FID = :pFID ");
|
||
sql.Add(" order by XZQH_XZQHID ");
|
||
sql.ParamByName("pFID").Value = cbxKHSZDPRO.SelectedValue.Trim();
|
||
DataSet ds = dberp.OpenDataSet(sql);
|
||
cbxKHSZDCITY.Items.Add(new ListItem("", ""));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!ds.Tables[0].Rows[i]["XZQH_CITY"].ToString().Trim().Equals(""))
|
||
{
|
||
cbxKHSZDCITY.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XZQH_CITY"].ToString().Trim(), ds.Tables[0].Rows[i]["XZQH_XZQHID"].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
base.SetComboxItems();
|
||
}
|
||
|
||
protected override bool Master_BeforeSaveAction(object sender, EventArgs e)
|
||
{
|
||
|
||
txtWHR.Text = tSession.UserName;
|
||
datWHSJ.Value = CMISproConvert.ConvertTime(DateTime.Now);
|
||
txtWHRID.Value = tSession.UserId;
|
||
|
||
//项目所在地---如果只维护了省、没有选择市,则XLXSBJD_XZQHID应记录下省的区划代码
|
||
if (!cbxKHSZDCITY.SelectedValue.Trim().Equals(""))
|
||
{
|
||
txtXZQHID.Value = cbxKHSZDCITY.SelectedValue.Trim();
|
||
}
|
||
else if (!cbxKHSZDPRO.SelectedValue.Trim().Equals(""))
|
||
{
|
||
txtXZQHID.Value = cbxKHSZDPRO.SelectedValue.Trim();
|
||
}
|
||
else
|
||
{
|
||
txtXZQHID.Value = "";
|
||
}
|
||
|
||
if ((ControlState == TControlState.ctsInsert) || (ControlState == TControlState.ctsCopy))
|
||
{
|
||
string sError = string.Empty;
|
||
string sBJDID = string.Empty;
|
||
XLBJDUtils.GetBJDID(txtXZQHID.Value.Trim(), cbxBJFLID.SelectedValue.Trim(), cbxSYDWID.SelectedValue.Trim(), 100860061, ref sBJDID, ref sError);
|
||
if (!string.IsNullOrEmpty(sError))
|
||
{
|
||
ShowMessage(sError);
|
||
return false;
|
||
}
|
||
txtBJDID.Text = sBJDID;
|
||
txtSQR.Value = tSession.UserName;
|
||
txtSQRGH.Value = tSession.UserId;
|
||
txtSQRID.Value = tSession.RYID;
|
||
txtSQRQ.Value = DateTime.Now.ToString().Trim();
|
||
}
|
||
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSBJFLBJRHQCL_BJCLID from XLXSBJFLBJRHQCL where XLXSBJFLBJRHQCL_BJFLID='{0}'", cbxBJFLID.SelectedValue.Trim())))
|
||
{
|
||
txtCLHQJGBID.Value = "ZZZZZZZZ";
|
||
}
|
||
else
|
||
{
|
||
txtCLHQJGBID.Value = txtJGBID.Value;
|
||
}
|
||
return base.Master_BeforeSaveAction(sender, e);
|
||
}
|
||
|
||
protected override bool DataLogicValid()
|
||
{
|
||
if (cbxBJFLID.SelectedValue.Trim().Equals(""))
|
||
{
|
||
ShowMessage("报价分类不允许为空!");
|
||
return false;
|
||
}
|
||
if (datBJRQ.Text.Trim().Equals(""))
|
||
{
|
||
ShowMessage("报价日期不允许为空!");
|
||
return false;
|
||
}
|
||
if (cbxSYDWID.SelectedValue.Trim().Equals(""))
|
||
{
|
||
ShowMessage("销售单位不允许为空!");
|
||
return false;
|
||
}
|
||
if (cbxXSBMID.SelectedValue.Trim().Equals(""))
|
||
{
|
||
ShowMessage("销售部门不允许为空!");
|
||
return false;
|
||
}
|
||
if (cbxTXY.SelectedValue.Trim().Equals(""))
|
||
{
|
||
ShowMessage("销售员不允许为空!");
|
||
return false;
|
||
}
|
||
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
|
||
|
||
if (pzxx.XLXSBJPZ_KHBT=="Y")
|
||
{
|
||
if (txtKH.Text.Trim().Equals(""))
|
||
{
|
||
ShowMessage("客户不允许为空!");
|
||
return false;
|
||
}
|
||
}
|
||
if (pzxx.XLXSBJPZ_XMBT == "Y")
|
||
{
|
||
if (txtXM.Text.Trim().Equals(""))
|
||
{
|
||
ShowMessage("项目不允许为空!");
|
||
return false;
|
||
}
|
||
}
|
||
if (!txtKH.Text.Trim().Equals("") && pzxx.XLXSBJPZ_XZKHYQ == "Q")
|
||
{
|
||
if (pzxx.XLXSBJPZ_KHJSLY == "KH")
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KH where KH_MC='{0}' and ISNULL(KH_TYBZ,'N') <> 'Y' ", txtKH.Text.Trim())))
|
||
{
|
||
ShowMessage("客户不存在或已停用!");
|
||
return false;
|
||
}
|
||
}
|
||
else if (pzxx.XLXSBJPZ_KHJSLY == "KHXX")
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from KHXX where KHXX_MC = '{0}' ", txtKH.Text.Trim())))
|
||
{
|
||
ShowMessage("客户不存在!");
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
if (!txtXM.Text.Trim().Equals("") && pzxx.XLXSBJPZ_XZXMYQ == "Q")
|
||
{
|
||
if (pzxx.XLXSBJPZ_XMJSLY == "YXXM")
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from YXXM where YXXM_MC='{0}' ", txtXM.Text.Trim())))
|
||
{
|
||
ShowMessage("项目不存在!");
|
||
return false;
|
||
}
|
||
if (!txtKH.Text.Trim().Equals("") && pzxx.XLXSBJPZ_KHJSLY == "KHXX")
|
||
{
|
||
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from YXXM left join KHXX on KHXX_CRMKHID = YXXM_CRMKHID where YXXM_MC = '{0}' and KHXX_MC ='{1}' ", txtXM.Text.Trim(), txtKH.Text.Trim())))
|
||
{
|
||
ShowMessage("项目不属于当前客户!");
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
#region 附加信息校验
|
||
|
||
if (divFJXX.Visible)
|
||
{
|
||
string sSZJYXX = "";
|
||
DataSet dsFJXXSZ = entity.dsFJXXSZ;
|
||
entity.sFJXXParams.Clear();
|
||
for (int i = 0; i < dsFJXXSZ.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sXSBZ = dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_XSBZ"].ToString().Trim();
|
||
string sWPID = txtWPID.Value.Trim().Equals("") ? "0010" : txtWPID.Value.Trim();
|
||
if (!sXSBZ.Equals(""))
|
||
{
|
||
sXSBZ = "," + sXSBZ + ",";
|
||
if (!sXSBZ.Contains("," + sWPID + ","))
|
||
{
|
||
continue;
|
||
}
|
||
}
|
||
string SYBJFLID = dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
|
||
string sBJFLID = cbxBJFLID.SelectedValue.Trim();
|
||
if (!SYBJFLID.Equals(""))
|
||
{
|
||
SYBJFLID = "," + SYBJFLID + ",";
|
||
if (!SYBJFLID.Contains("," + sBJFLID + ","))
|
||
{
|
||
continue;
|
||
}
|
||
}
|
||
string sWHBZ = dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_WHBZ"].ToString().Trim();
|
||
if (!sWHBZ.Equals(""))
|
||
{
|
||
sWHBZ = "," + sWHBZ + ",";
|
||
if (!sWHBZ.Contains("," + sWPID + ","))
|
||
{
|
||
continue;
|
||
}
|
||
}
|
||
//entity.sKZXXParams.Add();
|
||
string sDYZD = "XLXSBJKZXX_" + dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
|
||
string sValue = "";
|
||
if (dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("A"))
|
||
{
|
||
gtNumTextBox numTextBox = (gtNumTextBox)this.CurMaster.ContentFormControl.FindControl("txt" + sDYZD);
|
||
if (numTextBox != null)
|
||
sValue = numTextBox.Value.ToString();
|
||
if (sValue.Equals("0"))
|
||
sValue = "";
|
||
}
|
||
else if (dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("B"))
|
||
{
|
||
//字符型
|
||
if (dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("A"))//直接输入
|
||
{
|
||
gtTextBox textBox = (gtTextBox)this.CurMaster.ContentFormControl.FindControl("txt" + sDYZD);
|
||
if (textBox != null)
|
||
sValue = textBox.Text.Trim();
|
||
}
|
||
else if (dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("B"))//下拉单选
|
||
{
|
||
gtComboBox comboBox = (gtComboBox)this.CurMaster.ContentFormControl.FindControl("cbx" + sDYZD);
|
||
if (comboBox != null)
|
||
{
|
||
sValue = comboBox.SelectedValue.Trim();
|
||
if (getStringByte(sValue) > 250)
|
||
{
|
||
ShowMessage(dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_MC"].ToString().Trim() + "的选项长度已超过250字节,请重新选择!");
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
else if (dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("C"))//下拉多选
|
||
{
|
||
gtCheckedDropDownList checkedDropDownList = (gtCheckedDropDownList)this.CurMaster.ContentFormControl.FindControl("cbx" + sDYZD);
|
||
if (checkedDropDownList != null)
|
||
{
|
||
sValue = checkedDropDownList.SelectedValue.Trim();
|
||
if (getStringByte(sValue) > 250)
|
||
{
|
||
ShowMessage(dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_MC"].ToString().Trim() + "的选项长度已超过250字节,请重新选择!");
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else if (dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("D"))
|
||
{
|
||
//字符型
|
||
if (dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("A"))//直接输入
|
||
{
|
||
gtTextBox textBox = (gtTextBox)this.CurMaster.ContentFormControl.FindControl("txt" + sDYZD);
|
||
if (textBox != null)
|
||
sValue = textBox.Text.Trim();
|
||
}
|
||
}
|
||
else if (dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("C"))
|
||
{
|
||
gtDateTimeTextBox dateTimeTextBox = (gtDateTimeTextBox)this.CurMaster.ContentFormControl.FindControl("dat" + sDYZD);
|
||
if (dateTimeTextBox != null)
|
||
sValue = dateTimeTextBox.Text.Trim();
|
||
if (sValue.Equals(""))
|
||
sValue = null;
|
||
}
|
||
if (String.IsNullOrEmpty(sValue) && dsFJXXSZ.Tables[0].Rows[i]["BT"].ToString().Equals("Y"))
|
||
{
|
||
if (sDYZD.Contains("KZSZ"))
|
||
{
|
||
if (!sSZJYXX.Equals(""))
|
||
sSZJYXX += "、";
|
||
sSZJYXX += dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_MC"].ToString().Trim();
|
||
}
|
||
else
|
||
{
|
||
ShowMessage(dsFJXXSZ.Tables[0].Rows[i]["XLXSBJKZXXSZ_MC"].ToString().Trim() + "不允许为空!");
|
||
return false;
|
||
}
|
||
}
|
||
entity.sFJXXParams.Add(sDYZD, sValue);
|
||
}
|
||
if (!sSZJYXX.Equals(""))
|
||
ShowMessage(sSZJYXX + "存入0值!");
|
||
}
|
||
|
||
#endregion
|
||
|
||
return base.DataLogicValid();
|
||
}
|
||
|
||
protected override void AfterDelete(TDatabase db, ref bool ActionIsDone)
|
||
{
|
||
base.AfterDelete(db, ref ActionIsDone);
|
||
TSQL tSQL = new TSQL(db);
|
||
XLBJDUtils.AfterDeleteBJD(db, tSQL, txtBJDID.Text.Trim());
|
||
}
|
||
|
||
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
|
||
{
|
||
string sSQL = string.Format("select top 1 XLXSBJYLZD_BJDID from XLXSBJYLZD where XLXSBJYLZD_BJDID='{0}'", txtBJDID.Text.Trim());
|
||
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
|
||
{
|
||
ShowMessage("已申请材料用量制定,不允许删除!");
|
||
return false;
|
||
}
|
||
|
||
sSQL = string.Format("select 1 from BJD where BJD_BJDID='{0}'", txtBJDID.Text.Trim());
|
||
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
|
||
{
|
||
ShowMessage("报价单已反馈,不允许删除!");
|
||
return false;
|
||
}
|
||
|
||
XLBJDUtils.UpdateTJBZ(txtBJDID.Text.Trim(), "Delete");
|
||
|
||
return base.Master_BeforeDeleteAction(sender, e);
|
||
}
|
||
|
||
protected override void BeforeAttach()
|
||
{
|
||
|
||
this.attDoc.FJSComponentName = txtFJS.ClientID;
|
||
this.attDoc.UpdCondition = string.Format("XLXSBJD_BJDID='{0}'", txtBJDID.Text.Trim());
|
||
string sFJSCGS = XLBJDUtils.GetAttDocFilter();
|
||
if (!sFJSCGS.Equals(""))
|
||
{
|
||
this.attDoc.Filter = sFJSCGS;
|
||
}
|
||
base.BeforeAttach();
|
||
}
|
||
|
||
protected override void Master_wfAfterActionEvent(TWorkflow Sender, TWFAction Action, bool ActionIsDone)
|
||
{
|
||
base.Master_wfAfterActionEvent(Sender, Action, ActionIsDone);
|
||
if (!ActionIsDone)
|
||
return;
|
||
Sender.dbe.ExecSQL(string.Format("update XLXSBJD set XLXSBJD_WFID = '{0}', XLXSBJD_WPID = '{1}', XLXSBJD_WFAWAITER= '{2}', XLXSBJD_WFHANDLER = '{3}', XLXSBJD_WFINST = {4}, XLXSBJD_ACTNAME = '{5}' where XLXSBJD_BJDID = '{6}'",
|
||
Sender.WFID, Sender.WPID, Sender.Awaiter, Sender.Handler, Sender.WFInst, Sender.GetWFActionName(Action), txtBJDID.Text.ToString().Trim()));
|
||
|
||
txtWFState.Text = this._curWorkFlow.GetWPName(Sender.WFID, Sender.WPID);
|
||
string sCurZT = TWorkflow.Utils.WFGetBZSWID(Sender.WFID, Sender.WPID);
|
||
TSQL SQL = new TSQL(Sender.dbe);
|
||
//若“100860062|销售报价业务配置”项目检索来源为“YXXM|售前项目”且XLXSBJD_XMMC不为空
|
||
if (sCurZT == "ZZZZ")
|
||
{
|
||
string sPSDH = "";
|
||
|
||
bool bINS = false;
|
||
XLBJD_BDOBill.InsBJPS(SQL, Sender.dbe, Sender, Action, txtBJDID.Text.Trim(), tSession,"100860061", ref sPSDH, ref bINS);
|
||
if (bINS)
|
||
{
|
||
XLBJD_BDOBill.DispatchtoZZZZ(sPSDH, tSession);
|
||
}
|
||
|
||
}
|
||
|
||
if (Sender.WPID.Equals("ZZZZ"))
|
||
XLBJDUtils.UpdateBJWCSJ(txtBJDID.Text.ToString().Trim());
|
||
}
|
||
|
||
protected override void OnPreRender(EventArgs e)
|
||
{
|
||
base.OnPreRender(e);
|
||
string sScript = "";
|
||
|
||
#region 客户的快速检索脚本
|
||
|
||
string sDivSelect = @"
|
||
|
||
function getPos(el,sProp)
|
||
{
|
||
var iPos = 0;
|
||
while (el!=null)
|
||
{
|
||
iPos+=el['offset' + sProp]
|
||
el = el.offsetParent
|
||
}
|
||
return iPos;
|
||
}
|
||
//在客户输入框中自动检索
|
||
function edtKeyUp(el,m)
|
||
{
|
||
if(document.getElementById('" + txtKH.ClientID + @"').readOnly)
|
||
return;
|
||
if(event.keyCode == 9)
|
||
return;
|
||
var sUsers,sRYList,lstBox;
|
||
sUSR= el.value;
|
||
sUsers=document.getElementById('" + hidKH.ClientID + @"').value;
|
||
lstBox=document.getElementById('lstUSR');
|
||
lstBox.length=0;
|
||
sRYList=sUsers.split('$$,');
|
||
for(var i=0; i<sRYList.length; i++)
|
||
{
|
||
var sItem,sUSR;
|
||
sItem=sRYList[i];
|
||
if((sRYList[i].indexOf(sUSR)>=0) || (sRYList[i].indexOf(sUSR.toUpperCase())>=0))
|
||
{ var item;
|
||
item = sItem.split('↑');
|
||
if (item[0] != '')
|
||
lstBox.options.add(new Option(item[0]));
|
||
}
|
||
}
|
||
document.getElementById('btnSel').value=el.id;
|
||
// event.keyCode=0;
|
||
event.returnValue=false;
|
||
if(lstBox.length==0)
|
||
m.style.display='none';
|
||
if(lstBox.length==1)
|
||
{
|
||
if (lstBox.options[0].text =='')
|
||
{m.style.display='none';
|
||
}
|
||
else if (event.keyCode == 13) m.style.display='none';
|
||
else m.style.display='';
|
||
}
|
||
if(lstBox.length>1)
|
||
{
|
||
m.style.display='';
|
||
}
|
||
m.style.pixelLeft =getPos(el,'Left');
|
||
if((event.keyCode==40)&&(idSel.style.display==''))
|
||
{
|
||
var lstBox=document.getElementById('lstUSR');
|
||
lstBox.focus();
|
||
if(lstBox.length>0)
|
||
lstBox.selectedIndex=0;
|
||
}
|
||
|
||
}
|
||
|
||
var isin=false;
|
||
function selectme(obj)
|
||
{
|
||
if(!isin||obj)
|
||
{
|
||
idSel.style.display='none';
|
||
idSel2.style.display='none';
|
||
}
|
||
}
|
||
function lstUSRClick()
|
||
{
|
||
var edtSend
|
||
var lstBox=document.getElementById('lstUSR');
|
||
var ss=lstBox.options[lstBox.selectedIndex].text;
|
||
// event.keyCode=0;
|
||
event.returnValue=false;
|
||
edtSend= document.getElementById(document.getElementById('btnSel').value);
|
||
edtSend.value=ss;
|
||
idSel.style.display='none';
|
||
edtSend.focus();
|
||
}
|
||
|
||
|
||
/* 以下使窗体点击时selectme(obj)函数被激活: */
|
||
myActivation='selectme(null)';
|
||
if(document.body.onclick)
|
||
{
|
||
eval(document.body.onclick.toString().replace('anonymous()','bodyclick()'));
|
||
document.body.onclick=new Function('bodyclick();'+myActivation);
|
||
}
|
||
else document.body.onclick=new Function(myActivation);
|
||
|
||
function cc()
|
||
{
|
||
var e = event.srcElement;
|
||
var r =e.createTextRange();
|
||
r.moveStart('character',e.value.length);
|
||
r.collapse(true);
|
||
r.select();
|
||
}
|
||
|
||
";
|
||
#endregion
|
||
|
||
#region 项目的快速检索脚本
|
||
|
||
string sDivSelect2 = @"
|
||
|
||
//在项目输入框中自动检索
|
||
function edtKeyUp2(el,m)
|
||
{
|
||
if(document.getElementById('" + txtXM.ClientID + @"').readOnly)
|
||
return;
|
||
if(event.keyCode == 9)
|
||
return;
|
||
var sUsers,sRYList,lstBox;
|
||
sUSR= el.value;
|
||
sUsers=document.getElementById('" + hidXM.ClientID + @"').value;
|
||
lstBox=document.getElementById('lstUSR2');
|
||
lstBox.length=0;
|
||
sRYList=sUsers.split('$$,');
|
||
for(var i=0; i<sRYList.length; i++)
|
||
{
|
||
var sItem,sUSR;
|
||
sItem=sRYList[i].split('##');
|
||
if(((sItem[0].indexOf(sUSR)>=0) || (sItem[0].indexOf(sUSR.toUpperCase())>=0)) && (sItem[1]==document.getElementById('" + txtKH.ClientID + @"').value.trim()))
|
||
{ var item;
|
||
item = sItem[0].split('↑');
|
||
lstBox.options.add(new Option(item[0]));
|
||
}
|
||
}
|
||
document.getElementById('btnSel2').value=el.id;
|
||
// event.keyCode=0;
|
||
event.returnValue=false;
|
||
if(lstBox.length==0)
|
||
m.style.display='none';
|
||
if(lstBox.length==1)
|
||
{
|
||
if (lstBox.options[0].text =='')
|
||
{m.style.display='none';
|
||
}
|
||
else if (event.keyCode == 13) m.style.display='none';
|
||
else m.style.display='';
|
||
}
|
||
if(lstBox.length>1)
|
||
{
|
||
m.style.display='';
|
||
}
|
||
m.style.pixelLeft =getPos(el,'Left');
|
||
|
||
if((event.keyCode==40)&&(idSel2.style.display==''))
|
||
{
|
||
var lstBox=document.getElementById('lstUSR2');
|
||
lstBox.focus();
|
||
if(lstBox.length>0)
|
||
lstBox.selectedIndex=0;
|
||
}
|
||
}
|
||
|
||
var isin2=false;
|
||
function selectme2(obj)
|
||
{
|
||
if(!isin2||obj)
|
||
{
|
||
idSel.style.display='none';
|
||
idSel2.style.display='none';}
|
||
}
|
||
function lstUSR2Click()
|
||
{
|
||
var edtSend
|
||
var lstBox=document.getElementById('lstUSR2');
|
||
var ss=lstBox.options[lstBox.selectedIndex].text;
|
||
// event.keyCode=0;
|
||
event.returnValue=false;
|
||
edtSend= document.getElementById(document.getElementById('btnSel2').value);
|
||
edtSend.value=ss;
|
||
idSel2.style.display='none';
|
||
edtSend.focus();
|
||
}
|
||
|
||
|
||
/* 以下使窗体点击时selectme2(obj)函数被激活: */
|
||
// myActivation='selectme2(null)';
|
||
// if(document.body.onclick)
|
||
// {
|
||
// eval(document.body.onclick.toString().replace('anonymous()','bodyclick()'));
|
||
// document.body.onclick=new Function('bodyclick();'+myActivation);
|
||
// }
|
||
// else document.body.onclick=new Function(myActivation);
|
||
|
||
function cc2()
|
||
{
|
||
var e = event.srcElement;
|
||
var r =e.createTextRange();
|
||
r.moveStart('character',e.value.length);
|
||
r.collapse(true);
|
||
r.select();
|
||
}
|
||
|
||
";
|
||
#endregion
|
||
|
||
sScript += sDivSelect;
|
||
|
||
sScript += sDivSelect2;
|
||
|
||
ClientScript.RegisterStartupScript(this.GetType(), "Script_PreRender", sScript, true);
|
||
}
|
||
|
||
protected override string CodeClass(string ComponentID)
|
||
{
|
||
string sFW=GetOption("HJU038").Trim();
|
||
string sResult = base.CodeClass(ComponentID);
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
if (ComponentID.ToUpper().Trim().Equals("TXTKH"))
|
||
{
|
||
string sKHJSLY = "";
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_KHJSLY))
|
||
sKHJSLY = pzxx.XLXSBJPZ_KHJSLY;
|
||
|
||
if (sKHJSLY.Equals("KH"))
|
||
{
|
||
sResult += "!select KH_KHID as CODE, KH_MC as MESSAGE from KH where 1=1 and isnull(KH_TYBZ,'N') <> 'Y' ";
|
||
if (sFW.Trim().Equals("ZJ"))
|
||
{
|
||
sResult += string.Format("and KH_TXY='{0}'", tSession.UserName.Trim());
|
||
}
|
||
else if (sFW.Trim().Equals("BM"))
|
||
{
|
||
sResult += string.Format("and KH_TXY in (select XSY_TXY from XSY where XSY_BMID='{0}')", UserUtils.GetUser(tSession.UserId).RzBmId);
|
||
}
|
||
sResult += " order by CODE";
|
||
|
||
|
||
}
|
||
else if (sKHJSLY.Equals("KHXX"))
|
||
{
|
||
sResult += "!select KHXX_CRMKHID as CODE, KHXX_MC as MESSAGE from KHXX where 1=1 ";
|
||
if (sFW.Trim().Equals("ZJ"))
|
||
{
|
||
sResult += string.Format("and KHXX_FZR='{0}'", tSession.UserName.Trim());
|
||
}
|
||
else if (sFW.Trim().Equals("BM"))
|
||
{
|
||
sResult += string.Format("and KHXX_FZR in (select XSY_TXY from XSY where XSY_BMID='{0}')", UserUtils.GetUser(tSession.UserId).RzBmId);
|
||
}
|
||
sResult += " order by CODE";
|
||
}
|
||
}
|
||
if (ComponentID.ToUpper().Trim().Equals("TXTKHID"))
|
||
{
|
||
sResult += "!!select KH_KHID as CODE, case when isnull(KH_TXY,' ') = ' ' then KH_MC else rtrim(KH_MC) || '|' || KH_TXY end as MESSAGE from KH where 1=1 and isnull(KH_TYBZ,'N') <> 'Y' ";
|
||
if (sFW.Trim().Equals("ZJ"))
|
||
{
|
||
sResult += string.Format("and KH_TXY='{0}'", tSession.UserName.Trim());
|
||
}
|
||
else if (sFW.Trim().Equals("BM"))
|
||
{
|
||
sResult += string.Format("and KH_TXY in (select XSY_TXY from XSY where XSY_BMID='{0}')", UserUtils.GetUser(tSession.UserId).RzBmId);
|
||
}
|
||
sResult += " order by CODE";
|
||
}
|
||
if (ComponentID.ToUpper().Trim().Equals("TXTXM"))
|
||
{
|
||
string sXMJSLY = "";
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_XMJSLY))
|
||
sXMJSLY = pzxx.XLXSBJPZ_XMJSLY;
|
||
|
||
if (sXMJSLY.Equals("YXXM"))
|
||
{
|
||
sResult += "!select YXXM_XMID as CODE, YXXM_MC as MESSAGE from YXXM order by CODE";
|
||
}
|
||
}
|
||
return sResult;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 自定义函数
|
||
|
||
private void GetXSYXX(string TXY)//获取销售员信息
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sSQL = new TSQL(dberp);
|
||
sSQL.Add(" select XSY_SJ,XSY_DH,XSY_BMID,BM_MC,isnull(BM_SYDWID,'ZZZZ') as BM_SYDWID from XSY ");
|
||
sSQL.Add(" left join BM on BM_BMID = XSY_BMID ");
|
||
sSQL.Add(" where 1=1 and ISNULL(XSY_TYBZ,'N') <> 'Y' and XSY_TXY ='" + TXY.Trim() + "'");
|
||
sSQL.Add(" order by BM_SYDWID ");
|
||
DataSet ds = dberp.OpenDataSet(sSQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim()))
|
||
txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim();
|
||
else if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim()))
|
||
txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim()))
|
||
cbxTXYBMID.SelectedValue = ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim();
|
||
}
|
||
}
|
||
|
||
private int GetBJMXSL(string sBJDID)//获取报价明细数量
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sSQL = new TSQL(dberp);
|
||
sSQL.Add(" select XLXSBJDMX_BJDID from XLXSBJDMX ");
|
||
sSQL.Add(" where 1 = 1 and XLXSBJDMX_BJDID =:XLXSBJD_BJDID ");
|
||
sSQL.ParamByName("XLXSBJD_BJDID").Value = sBJDID;
|
||
DataSet ds = dberp.OpenDataSet(sSQL);
|
||
return ds.Tables[0].Rows.Count;
|
||
}
|
||
|
||
private string GetMRBJFL()//获取默认报价分类和价格表ID
|
||
{
|
||
string rstr = "";
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sSQL = new TSQL(dberp);
|
||
sSQL.Add(" select XLXSBJFL_BJFLID from XLXSBJFL where 1=1 and isnull(XLXSBJFL_TYBZ,'N') <> 'Y' ");
|
||
sSQL.Add(" and not exists(select 1 from XLXSBJFLKH where XLXSBJFLKH_BJFLID=XLXSBJFL_BJFLID)");
|
||
string sBJU012 = GetOption("BJU012");
|
||
if (!sBJU012.Equals(""))
|
||
{
|
||
sSQL.Add( "and " + CMISproDataBase.GetWhereEqual("XLXSBJFL_BJFLID", sBJU012));
|
||
}
|
||
sSQL.Add(" order by XLXSBJFL_XSXH,XLXSBJFL_BJFLID ");
|
||
DataSet ds = dberp.OpenDataSet(sSQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
rstr = ds.Tables[0].Rows[0]["XLXSBJFL_BJFLID"].ToString().Trim();
|
||
}
|
||
return rstr;
|
||
}
|
||
|
||
//获取价格表
|
||
private string GetJGBID()
|
||
{
|
||
string rstr = "";
|
||
|
||
Dictionary<string, string> myDiction = XLBJDUtils.GetJGBIDByXSQYID("", cbxBJFLID.SelectedValue.Trim(), datBJRQ.Text.Trim(), "");
|
||
foreach (string item in myDiction.Keys)
|
||
{
|
||
rstr = item;
|
||
break;
|
||
}
|
||
return rstr;
|
||
}
|
||
|
||
private void SetNewMRBJXX()//新建时设置默认线缆销售报价信息
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sSQL = new TSQL(dberp);
|
||
sSQL.Add(" select XSY_TXY,XSY_ZJM,XSY_SJ,XSY_DH,XSY_BMID,BM_MC,isnull(BM_SYDWID,'ZZZZ') as BM_SYDWID from XSY ");
|
||
sSQL.Add(" left join BM on BM_BMID = XSY_BMID ");
|
||
sSQL.Add(" left join GS on GS_SYDWID = BM_SYDWID ");
|
||
sSQL.Add(" where 1=1 and ISNULL(XSY_TYBZ,'N') <> 'Y' and XSY_GH ='" + tSession.UserId + "'");
|
||
sSQL.Add(" order by BM_SYDWID ");
|
||
DataSet ds = dberp.OpenDataSet(sSQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
cbxTXY.SelectedValue = ds.Tables[0].Rows[0]["XSY_TXY"].ToString().Trim();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim()))
|
||
txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim();
|
||
else if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim()))
|
||
txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim()))
|
||
{
|
||
cbxTXYBMID.SelectedValue = ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim();
|
||
cbxXSBMID.SelectedValue = ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim();
|
||
}
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["BM_SYDWID"].ToString().Trim()) && !ds.Tables[0].Rows[0]["BM_SYDWID"].ToString().Trim().Equals("ZZZZ"))
|
||
cbxSYDWID.SelectedValue = ds.Tables[0].Rows[0]["BM_SYDWID"].ToString().Trim();
|
||
}
|
||
}
|
||
|
||
private void SetCopyMRBJXX()//复制时设置默认线缆销售报价信息
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sSQL = new TSQL(dberp);
|
||
sSQL.Add(" select XSY_TXY,XSY_ZJM,XSY_SJ,XSY_DH,XSY_BMID,BM_MC,isnull(BM_SYDWID,'ZZZZ') as BM_SYDWID from XSY ");
|
||
sSQL.Add(" left join BM on BM_BMID = XSY_BMID ");
|
||
sSQL.Add(" left join GS on GS_SYDWID = BM_SYDWID ");
|
||
sSQL.Add(" where 1=1 and ISNULL(XSY_TYBZ,'N') <> 'Y' and XSY_GH ='" + tSession.UserId + "'");
|
||
sSQL.Add(" order by BM_SYDWID ");
|
||
DataSet ds = dberp.OpenDataSet(sSQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
cbxTXY.SelectedValue = ds.Tables[0].Rows[0]["XSY_TXY"].ToString().Trim();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim()))
|
||
txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_SJ"].ToString().Trim();
|
||
else if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim()))
|
||
txtTXYDH.Text = ds.Tables[0].Rows[0]["XSY_DH"].ToString().Trim();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim()))
|
||
cbxTXYBMID.SelectedValue = ds.Tables[0].Rows[0]["XSY_BMID"].ToString().Trim();
|
||
}
|
||
}
|
||
|
||
|
||
private void LoadUserandGroup()
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
StringBuilder sUsers = new StringBuilder();
|
||
|
||
try
|
||
{
|
||
TSQL sql = new TSQL(dberp);
|
||
|
||
DataSet ds;
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
|
||
|
||
if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_KHJSLY))
|
||
{
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSBJD_KH from XLXSBJD ");
|
||
sql.Add(" left join XSY on XSY_TXY = XLXSBJD_TXY ");
|
||
sql.Add(" where XSY_GH='" + tSession.UserId + "'");
|
||
sql.Add(" order by XLXSBJD_KH");
|
||
ds = dberp.OpenDataSet(sql);
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!ds.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim().Equals(""))
|
||
{
|
||
sUsers.Append(ds.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim() + "↑" + CMISproConvert.ConvertZJM(ds.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim()).ToUpper() + "$" + "$,");
|
||
}
|
||
}
|
||
}
|
||
//其他情况使用代码助手加载
|
||
}
|
||
catch
|
||
{
|
||
ShowMessage("打开数据集出错,请和系统管理员联系!");
|
||
|
||
return;
|
||
}
|
||
finally
|
||
{
|
||
hidKH.Text = sUsers.ToString().Trim();
|
||
}
|
||
}
|
||
|
||
private void LoadXMGroup()
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
StringBuilder sUsers = new StringBuilder();
|
||
|
||
try
|
||
{
|
||
TSQL sql = new TSQL(dberp);
|
||
|
||
DataSet ds;
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860061);
|
||
//如果项目来源为空则需要动态检索框
|
||
if (string.IsNullOrEmpty(pzxx.XLXSBJPZ_XMJSLY))
|
||
{
|
||
sql.Clear();
|
||
sql.Add(" select distinct XLXSBJD_KH,XLXSBJD_XMMC from XLXSBJD ");
|
||
sql.Add(" left join XSY on XSY_TXY = XLXSBJD_TXY ");
|
||
sql.Add(" where XSY_GH='" + tSession.UserId + "'");
|
||
sql.Add(" order by XLXSBJD_KH,XLXSBJD_XMMC");
|
||
ds = dberp.OpenDataSet(sql);
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sUsers.Append(ds.Tables[0].Rows[i]["XLXSBJD_XMMC"].ToString().Trim() + "↑" + CMISproConvert.ConvertZJM(ds.Tables[0].Rows[i]["XLXSBJD_XMMC"].ToString().Trim()).ToUpper() + "##" + ds.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim() + "$" + "$,");
|
||
}
|
||
}
|
||
|
||
}
|
||
catch
|
||
{
|
||
ShowMessage("打开数据集出错,请和系统管理员联系!");
|
||
|
||
return;
|
||
}
|
||
finally
|
||
{
|
||
hidXM.Text = sUsers.ToString().Trim();
|
||
}
|
||
}
|
||
|
||
private string GetZJE(string sBJDID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sSQL = new TSQL(dberp);
|
||
sSQL.Add(" select XLXSBJD_ZJE from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
|
||
sSQL.ParamByName("pBJDID").Value = sBJDID;
|
||
DataSet ds = dberp.OpenDataSet(sSQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
return ds.Tables[0].Rows[0]["XLXSBJD_ZJE"].ToString().Trim();
|
||
}
|
||
else
|
||
{
|
||
return "";
|
||
}
|
||
}
|
||
|
||
//判断模块是否存在并且是否有权限
|
||
private bool CheckModule(string sUMID)
|
||
{
|
||
int iUMID = CMISproConvert.StrToInt(sUMID);
|
||
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
|
||
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 动态加载数据项
|
||
/// </summary>
|
||
/// <param name="bAddValues">是否同步值</param>
|
||
/// <param name="sControlState">页面状态</param>
|
||
/// <param name="sBJDID">报价单号</param>
|
||
/// <param name="divFJXX">附加信息的父控件</param>
|
||
private void LoadFJXX(bool bAddValues, string sControlState, string sBJDID, HtmlGenericControl divFJXX)
|
||
{
|
||
if (!sControlState.Equals("A"))
|
||
{
|
||
if (divFJXX.Controls.Count > 0)
|
||
if (divFJXX.Controls[0].ID != null)
|
||
if (divFJXX.Controls[0].ID.Equals("tableXLXSBJKZXX"))
|
||
if (!sControlState.Equals("C"))
|
||
return;
|
||
}
|
||
divFJXX.Controls.Clear();
|
||
Table TabFJXX = new Table();
|
||
TabFJXX.ID = "tableXLXSBJKZXX";
|
||
TabFJXX.Attributes.Add("cellpadding", "0");
|
||
TabFJXX.Attributes.Add("align", "left");
|
||
TabFJXX.Attributes.Add("cellspacing", "0");
|
||
TabFJXX.Attributes.Add("width", "100%");
|
||
TableRow RowFJXX = new TableRow();
|
||
int iCount = 0;
|
||
DataSet dsXLXSBJKZXX = entity.getXLXSBJKZXX(sBJDID);
|
||
if (dsXLXSBJKZXX.Tables[0].Rows.Count == 0)
|
||
bAddValues = false;
|
||
DataSet ds = entity.dsFJXXSZ;
|
||
int irow = 1;
|
||
bool newtrow = true;
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
string sXSBZ = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_XSBZ"].ToString().Trim();
|
||
if (!sXSBZ.Equals(""))
|
||
{
|
||
string sWPID = txtWPID.Value.Trim().Equals("") ? "0010" : txtWPID.Value.Trim();
|
||
sXSBZ = "," + sXSBZ + ",";
|
||
if (!sXSBZ.Contains("," + sWPID + ","))
|
||
{
|
||
continue;
|
||
}
|
||
}
|
||
string SYBJFLID = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
|
||
if (!SYBJFLID.Equals(""))
|
||
{
|
||
string sBJFLID = cbxBJFLID.SelectedValue.Trim();
|
||
SYBJFLID = "," + SYBJFLID + ",";
|
||
if (!SYBJFLID.Contains("," + sBJFLID + ","))
|
||
{
|
||
continue;
|
||
}
|
||
}
|
||
if (iCount == 2)
|
||
{
|
||
if (RowFJXX != null)
|
||
TabFJXX.Rows.Add(RowFJXX);
|
||
RowFJXX = new TableRow();
|
||
newtrow = true;
|
||
iCount = 0;
|
||
irow++;
|
||
}
|
||
//根据维护步骤、适用条件先判断是否必填
|
||
bool bSFBT = ds.Tables[0].Rows[i]["BT"].ToString().Trim().Equals("Y");
|
||
RowFJXX.Height = 20;
|
||
string sDYZD = "XLXSBJKZXX_" + ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
|
||
|
||
string sFJXXValue = "";
|
||
if (sControlState.Equals("A"))
|
||
sFJXXValue = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_QSZ"].ToString().Trim();
|
||
if (bAddValues)
|
||
sFJXXValue = dsXLXSBJKZXX.Tables[0].Rows[0][sDYZD].ToString().Trim();
|
||
string sKZXXMC = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_MC"].ToString().Trim();
|
||
|
||
if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("D"))
|
||
{
|
||
if (newtrow)
|
||
{
|
||
iCount = 2;
|
||
|
||
int iRows = CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_ROWS"].ToString().Trim(), 3);
|
||
|
||
//标签单元格
|
||
XLXSBJFJXX.createLabel(RowFJXX, sDYZD, sKZXXMC, iRows);
|
||
|
||
//文本型
|
||
XLXSBJFJXX.createTextBox(RowFJXX, sDYZD, bSFBT, sFJXXValue, iRows == 0 ? 1 : iRows, 0, 3, 0);
|
||
irow += iRows == 0 ? 1 : iRows;
|
||
irow--;
|
||
}
|
||
else
|
||
{
|
||
if (iCount != 2 && iCount != 0)
|
||
{
|
||
XLXSBJFJXX.createTableCell(RowFJXX, (2 - iCount) * 2, irow);
|
||
}
|
||
if (RowFJXX != null)
|
||
TabFJXX.Rows.Add(RowFJXX);
|
||
RowFJXX = new TableRow();
|
||
RowFJXX.Height = 20;
|
||
iCount = 2;
|
||
|
||
int iRows = CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_ROWS"].ToString().Trim(), 3);
|
||
|
||
//标签单元格
|
||
XLXSBJFJXX.createLabel(RowFJXX, sDYZD, sKZXXMC, iRows);
|
||
|
||
//文本型
|
||
XLXSBJFJXX.createTextBox(RowFJXX, sDYZD, bSFBT, sFJXXValue, iRows == 0 ? 1 : iRows, 0, 3, 0);
|
||
irow += iRows == 0 ? 1 : iRows;
|
||
}
|
||
newtrow = true;
|
||
}
|
||
else
|
||
{
|
||
newtrow = false;
|
||
//标签单元格
|
||
XLXSBJFJXX.createLabel(RowFJXX, sDYZD, sKZXXMC, 0);
|
||
|
||
if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("A"))
|
||
{
|
||
//数值型
|
||
XLXSBJFJXX.createNumTextBox(RowFJXX, sDYZD, bSFBT, CMISproConvert.StrToFloat(sFJXXValue, 0), ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_JLDW"].ToString().Trim());
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("B"))
|
||
{
|
||
//字符型
|
||
if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("A"))//直接输入
|
||
{
|
||
XLXSBJFJXX.createTextBox(RowFJXX, sDYZD, bSFBT, sFJXXValue, CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_ROWS"].ToString().Trim()),
|
||
CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_WIDTH"].ToString().Trim()), 1, 0);
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("B"))//单选输入
|
||
{
|
||
XLXSBJFJXX.createComboBox(RowFJXX, sDYZD, bSFBT, sFJXXValue, ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_MJLB"].ToString().Trim(),
|
||
ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_MJSQL"].ToString().Trim(), CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_WIDTH"].ToString().Trim()));
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("C"))//多选输入
|
||
{
|
||
XLXSBJFJXX.createCheckedDropDownList(RowFJXX, sDYZD, bSFBT, sFJXXValue, ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_MJLB"].ToString().Trim(),
|
||
ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_MJSQL"].ToString().Trim(), CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_WIDTH"].ToString().Trim()));
|
||
}
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("C"))
|
||
{
|
||
//日期型
|
||
XLXSBJFJXX.createDateTimeTextBox(RowFJXX, sDYZD, bSFBT, sFJXXValue);
|
||
}
|
||
iCount++;
|
||
}
|
||
}
|
||
if (iCount != 2)
|
||
{
|
||
XLXSBJFJXX.createTableCell(RowFJXX, (2 - iCount) * 2, irow);
|
||
}
|
||
TabFJXX.Rows.Add(RowFJXX);
|
||
divFJXX.Controls.Add(TabFJXX);
|
||
int iHeight = irow * 22;
|
||
divFJXX.Style["height"] = iHeight.ToString().Trim() + "px";
|
||
}
|
||
|
||
private void setFJXXControlState(HtmlGenericControl divFJXX, bool bEnable, string sBJDID, bool bSetValue, string sControlState)
|
||
{
|
||
if (!divFJXXLabel.Visible)
|
||
return;
|
||
DataSet dsXLXSBJKZXX = null;
|
||
if (bSetValue)
|
||
{
|
||
dsXLXSBJKZXX = entity.getXLXSBJKZXX(sBJDID);
|
||
if (dsXLXSBJKZXX.Tables[0].Rows.Count == 0)
|
||
bSetValue = false;
|
||
}
|
||
DataSet ds = entity.dsFJXXSZ;
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
bool dEnabled = true;
|
||
string sWHBZ = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_WHBZ"].ToString().Trim();
|
||
string sWPID = txtWPID.Value.Trim().Equals("") ? "0010" : txtWPID.Value.Trim();
|
||
if (!sWHBZ.Equals(""))
|
||
{
|
||
sWHBZ = "," + sWHBZ + ",";
|
||
if (!sWHBZ.Contains("," + sWPID + ","))
|
||
{
|
||
dEnabled = false;
|
||
}
|
||
}
|
||
string sDYZD = "XLXSBJKZXX_" + ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
|
||
if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("A"))
|
||
{
|
||
gtNumTextBox numTextBox = (gtNumTextBox)this.CurMaster.ContentFormControl.FindControl("txt" + sDYZD);
|
||
if (numTextBox != null)
|
||
{
|
||
numTextBox.Enabled = bEnable && dEnabled;
|
||
if (bSetValue)
|
||
numTextBox.Value = CMISproConvert.StrToFloat(dsXLXSBJKZXX.Tables[0].Rows[0][sDYZD].ToString().Trim(), 0);
|
||
}
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("B"))
|
||
{
|
||
//字符型
|
||
if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("A"))//直接输入
|
||
{
|
||
gtTextBox textBox = (gtTextBox)this.CurMaster.ContentFormControl.FindControl("txt" + sDYZD);
|
||
if (textBox != null)
|
||
{
|
||
textBox.Enabled = bEnable && dEnabled;
|
||
if (bSetValue)
|
||
textBox.Text = dsXLXSBJKZXX.Tables[0].Rows[0][sDYZD].ToString().Trim();
|
||
}
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("B"))//下拉单选
|
||
{
|
||
gtComboBox comboBox = (gtComboBox)this.CurMaster.ContentFormControl.FindControl("cbx" + sDYZD);
|
||
if (comboBox != null)
|
||
{
|
||
comboBox.Enabled = bEnable && dEnabled;
|
||
if (bSetValue)
|
||
comboBox.SelectedValue = dsXLXSBJKZXX.Tables[0].Rows[0][sDYZD].ToString().Trim();
|
||
}
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SRFS"].ToString().Trim().Equals("C"))//下拉多选
|
||
{
|
||
gtCheckedDropDownList checkedDropDownList = (gtCheckedDropDownList)this.CurMaster.ContentFormControl.FindControl("cbx" + sDYZD);
|
||
if (checkedDropDownList != null)
|
||
{
|
||
checkedDropDownList.Enabled = bEnable && dEnabled;
|
||
if (bSetValue)
|
||
checkedDropDownList.SelectedValue = dsXLXSBJKZXX.Tables[0].Rows[0][sDYZD].ToString().Trim();
|
||
}
|
||
}
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("C"))
|
||
{
|
||
gtDateTimeTextBox dateTimeTextBox = (gtDateTimeTextBox)this.CurMaster.ContentFormControl.FindControl("dat" + sDYZD);
|
||
if (dateTimeTextBox != null)
|
||
{
|
||
dateTimeTextBox.Enabled = bEnable && dEnabled;
|
||
if (bSetValue)
|
||
dateTimeTextBox.Text = CMISproConvert.ConvertDate(dsXLXSBJKZXX.Tables[0].Rows[0][sDYZD].ToString().Trim());
|
||
}
|
||
}
|
||
else if (ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SJLX"].ToString().Trim().Equals("D"))
|
||
{
|
||
gtTextBox textBox = (gtTextBox)this.CurMaster.ContentFormControl.FindControl("txt" + sDYZD);
|
||
if (textBox != null)
|
||
{
|
||
textBox.Enabled = bEnable && dEnabled;
|
||
if (bSetValue)
|
||
textBox.Text = dsXLXSBJKZXX.Tables[0].Rows[0][sDYZD].ToString().Trim();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
public static void UpdateLBXSFJXX(string sBJDID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJKZXXSZ_DYZD,XLXSBJKZXXSZ_MC,XLXSBJKZXXSZ_SJLX ");
|
||
SQL.Add(" from XLXSBJKZXXSZ where isnull(XLXSBJKZXXSZ_LBXS,'N') = 'Y' order by XLXSBJKZXXSZ_BJSX,XLXSBJKZXXSZ_BH ");
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
string sLBXSFJXX = "";
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJKZXX_BJDID ");
|
||
for (int i = 1; i <= 5; i++)
|
||
{
|
||
SQL.Add(" ,XLXSBJKZXX_KZSZ" + i.ToString().PadLeft(2, '0'));
|
||
}
|
||
for (int j = 1; j <= 10; j++)
|
||
{
|
||
SQL.Add(" ,XLXSBJKZXX_KZZF" + j.ToString().PadLeft(2, '0'));
|
||
}
|
||
for (int k = 1; k <= 5; k++)
|
||
{
|
||
SQL.Add(" ,XLXSBJKZXX_KZRQ" + k.ToString().PadLeft(2, '0'));
|
||
}
|
||
SQL.Add(" from XLXSBJKZXX where XLXSBJKZXX_BJDID = :pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
DataSet dsKZXX = dberp.OpenDataSet(SQL);
|
||
if (dsKZXX.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow trow in ds.Tables[0].Rows)
|
||
{
|
||
if (!sLBXSFJXX.Equals(""))
|
||
sLBXSFJXX += "\r\n";
|
||
string sDYZD = trow["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
|
||
string sMC = trow["XLXSBJKZXXSZ_MC"].ToString().Trim();
|
||
string sSJLX = trow["XLXSBJKZXXSZ_SJLX"].ToString().Trim();
|
||
string sValues = dsKZXX.Tables[0].Rows[0]["XLXSBJKZXX_" + sDYZD].ToString().Trim();
|
||
if (sSJLX.Equals("A"))
|
||
{
|
||
if (sValues.Equals("") || sValues.Equals("0"))
|
||
sValues = "";
|
||
else
|
||
sValues = strPadRight(sValues, 2);
|
||
}
|
||
else if (sSJLX.Equals("C"))
|
||
{
|
||
if (!sValues.Equals(""))
|
||
sValues = CMISproConvert.StrToDateTime(sValues).ToShortDateString().Trim();
|
||
}
|
||
sLBXSFJXX += sMC + ":" + sValues;
|
||
}
|
||
}
|
||
SQL.Clear();
|
||
SQL.Add(" update XLXSBJD set XLXSBJD_LBXSFJXX = :pLBXSFJXX where XLXSBJD_BJDID = :pBJDID ");
|
||
SQL.ParamByName("pLBXSFJXX").Value = sLBXSFJXX;
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
dberp.ExecSQL(SQL);
|
||
}
|
||
}
|
||
|
||
private int getStringByte(string text)
|
||
{
|
||
Encoding _encoding = System.Text.Encoding.GetEncoding("GB2312");
|
||
byte[] bytes = _encoding.GetBytes(text);
|
||
return bytes.Length;
|
||
}
|
||
|
||
public static string strPadRight(string s, int x)
|
||
{
|
||
string str = s;
|
||
if (str.Split('.').Length == 2)
|
||
{
|
||
str = str.Split('.')[0] + "." + str.Split('.')[1].PadRight(x, '0');
|
||
}
|
||
else
|
||
{
|
||
string tmp = "0";
|
||
if (x > 0)
|
||
{
|
||
tmp = tmp.PadRight(x, '0');
|
||
str = str + "." + tmp;
|
||
}
|
||
}
|
||
return str;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 控件事件
|
||
|
||
protected void btnBJMX_Click(object sender, EventArgs e)
|
||
{
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XSYBJSQInfo_BJMXList.aspx";
|
||
pageParams.AddString("XLXSBJD_BJDID", txtBJDID.Text.Trim());
|
||
OpenDialog(pageParams);
|
||
}
|
||
|
||
protected void btnBJFK_Click(object sender, EventArgs e)
|
||
{
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "CXBJDList.aspx";
|
||
pageParams.AddString("BJDID", txtBJDID.Text.Trim());
|
||
string sFunction = "function CallBackFun() {document.getElementById('" + btnReLoad.ClientID + "').click();}";
|
||
OpenModuleDialogWithCallBack(100860046, pageParams, "CallBackFun", sFunction);
|
||
}
|
||
|
||
//重新加载记录
|
||
protected void btnReLoad_Click(object sender, EventArgs e)
|
||
{
|
||
LoadRecord();
|
||
RefreshForm();
|
||
SetControlState();
|
||
SetComboxItems();
|
||
MenuAreaUpdate();
|
||
FormAreaUpdate();
|
||
}
|
||
|
||
protected void OncbxBJFL_Changed(object sender, EventArgs e)
|
||
{
|
||
txtJGBID.Value = GetJGBID();
|
||
|
||
bool bVisble = false;
|
||
if (entity.dsFJXXSZ.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow trow in entity.dsFJXXSZ.Tables[0].Rows)
|
||
{
|
||
string sXSBZ = trow["XLXSBJKZXXSZ_XSBZ"].ToString().Trim();
|
||
string sWPID = txtWPID.Value.Trim().Equals("") ? "0010" : txtWPID.Value.Trim();
|
||
string sSYBJFLID = trow["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
|
||
string sBJFLID = cbxBJFLID.SelectedValue.Trim();
|
||
string sXSBZC = "," + sXSBZ + ",";
|
||
if (!sXSBZ.Equals("") && !sXSBZC.Contains("," + sWPID + ","))
|
||
continue;
|
||
string sSYBJFLIDC = "," + sSYBJFLID + ",";
|
||
if (!sSYBJFLID.Equals("") && !sSYBJFLIDC.Contains("," + sBJFLID + ","))
|
||
continue;
|
||
bVisble = true;
|
||
break;
|
||
}
|
||
}
|
||
|
||
divBJZTLabel.Visible = bVisble;
|
||
divFJXXLabel.Visible = bVisble;
|
||
divFJXX.Visible = bVisble;
|
||
|
||
if (ControlState == TControlState.ctsInsert)
|
||
{
|
||
LoadFJXX(true, "A", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, true, txtBJDID.Text, false, "");
|
||
}
|
||
else if (ControlState == TControlState.ctsCopy)
|
||
{
|
||
LoadFJXX(true, "C", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, true, txtBJDID.Text, false, "");
|
||
}
|
||
else if (ControlState == TControlState.ctsEdit)
|
||
{
|
||
LoadFJXX(true, "E", txtBJDID.Text, divFJXX);
|
||
setFJXXControlState(divFJXX, true, txtBJDID.Text, false, "");
|
||
|
||
}
|
||
}
|
||
|
||
protected void OndatBJRQ_Changed(object sender, EventArgs e)
|
||
{
|
||
txtJGBID.Value = GetJGBID();
|
||
}
|
||
|
||
protected void OncbxXSDW_Changed(object sender, EventArgs e)
|
||
{
|
||
cbxXSBMID.SelectedValue = "";
|
||
cbxXSBMID.Items.Clear();
|
||
string sSQL = "select distinct rtrim(BM_BMID) as ID, BM_MC as MC from BM ";
|
||
sSQL += " where 1=1 and isnull(BM_TYBZ,'N')<>'Y' ";
|
||
if (!string.IsNullOrEmpty(GetOption("HJU006").Trim()))
|
||
{
|
||
sSQL += " and " + CMISproDataBase.GetWhereEqual("BM_BMID", GetOption("HJU006").Trim());
|
||
}
|
||
if (!string.IsNullOrEmpty(cbxSYDWID.SelectedValue.Trim()))
|
||
sSQL += " and BM_SYDWID = '" + cbxSYDWID.SelectedValue.Trim() + "'";
|
||
if (ControlState == TControlState.ctsBrowse)
|
||
sSQL += " or BM_BMID = '" + cbxXSBMID.SelectedValue.Trim() + "' ";
|
||
sSQL += " order by rtrim(BM_BMID) ";
|
||
TComboBox.SetComboBox("DBERP", cbxXSBMID, sSQL, false);
|
||
}
|
||
|
||
protected void OncbxTXY_Changed(object sender, EventArgs e)
|
||
{
|
||
txtTXYDH.Text = "";
|
||
cbxTXYBMID.SelectedValue = "";
|
||
GetXSYXX(cbxTXY.SelectedValue.Trim());
|
||
}
|
||
|
||
//项目所在地
|
||
protected void cbxKHSZDPRO_OnSelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)//此处解决列表页直接点编辑触发change的问题
|
||
return;
|
||
cbxKHSZDCITY.ClearItems();
|
||
if (!cbxKHSZDPRO.SelectedValue.Trim().Equals(""))
|
||
{
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" select XZQH_XZQHID,XZQH_CITY from XZQH where XZQH_FID = :pFID ");
|
||
SQL.Add(" order by XZQH_XZQHID ");
|
||
SQL.ParamByName("pFID").Value = cbxKHSZDPRO.SelectedValue.Trim();
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
cbxKHSZDCITY.Items.Add(new ListItem("", ""));
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!ds.Tables[0].Rows[i]["XZQH_CITY"].ToString().Trim().Equals(""))
|
||
{
|
||
cbxKHSZDCITY.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XZQH_CITY"].ToString().Trim(), ds.Tables[0].Rows[i]["XZQH_XZQHID"].ToString().Trim()));
|
||
}
|
||
}
|
||
if (cbxKHSZDCITY.Items.Count == 2)
|
||
{
|
||
cbxKHSZDCITY.SelectedIndex = 1;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
cbxKHSZDCITY.SelectedValue = "";
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 客户IDchange
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void txtKHID_TextChanged(object sender, EventArgs e)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select KH_MC from KH where KH_KHID=:pKHID and isnull(KH_TYBZ,'N') <> 'Y' order by KH_KHID");
|
||
SQL.ParamByName("pKHID").Value = txtKHID.Text.Trim();
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
txtKH.Text = ds.Tables[0].Rows[0]["KH_MC"].ToString().Trim();
|
||
}
|
||
else
|
||
txtKH.Text = "";
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
}
|