This commit is contained in:
2026-08-21 17:03:02 +08:00
commit f065129b20
2292 changed files with 666241 additions and 0 deletions
+527
View File
@@ -0,0 +1,527 @@
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_CONTROL;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using System.Collections.Generic;
using GThinking.N_MISPRO;
namespace GThinking.N_XLXSBJ
{
public partial class CLYL_FZZTCLYLList : OperationBase
{
CLYL_FZZTCLYL entity = new CLYL_FZZTCLYL();
DataSet dsCLYLLM = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860014;
this.UMName = "线缆销售报价材料用量";
this.CurMaster = Master;
this.Tabs = Tab;
this.PageHeight = 500;
this.PageWidth = 700;
CurMaster.BtnQueryVisible = false;
CurMaster.BtnReportVisible = false;
entity.getSQL += new CLYL_FZZTCLYL.getQuerySQL(EntityGetQuerySQL);
AddListSetMap(new ListSet(pagFZZTCLYL.ID, null, grdFZZTCLYL, entity, UPFZZTCLYL));
base.InitPage();
string sJGCZBID = PageParam.GetRTrimString("JGCZBID");
string sJGCZBBBID = PageParam.GetRTrimString("JGCZBBBID");
dsCLYLLM = GetJGCZBCLYLLM(sJGCZBID, sJGCZBBBID);
grdFZZTCLYL.EnabledToolBar = false;
CurMaster.PnlQuery.Visible = false;
if (!IsPostBack)
{
Master_OnQuery();
GridDataBind();
}
}
#region 模板继承事件
protected override void Master_OnQuery()
{
base.Master_OnQuery();
grdFZZTCLYL.SelectedIndex = -1;
}
protected override void GridDataBind()
{
base.GridDataBind();
}
protected override bool DataLogicValid()
{
return base.DataLogicValid();
}
protected override bool Master_OnOK()
{
bool bResult = base.Master_OnOK();
if (!bResult) return false;
CMISproSession tSession = CMISproApp.GetSession();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
string sXLXHID = "";
string sXLGGID = "";
string sXLBZID = "";
string sDYDJID = "";
string sJGCZBID = PageParam.GetRTrimString("JGCZBID");
string sJGCZBBBID = PageParam.GetRTrimString("JGCZBBBID");
string sCZBJLDW = PageParam.GetRTrimString("CZBJLDW");
string sWPID = PageParam.GetRTrimString("WPID");
string sUSERID = PageParam.GetRTrimString("USERID");
Dictionary<string, double> dicSL = new Dictionary<string, double>();
Dictionary<string, string> dicDRMXBZ = new Dictionary<string, string>();
for (int t = 1; t <= 80; t++)
{
dicSL.Add("SL" + t.ToString().PadLeft(2, '0'), 0.0);
}
double fHSBL = 1;//换算比例
if (XLBJDUtils.GetDefaultBJU003(GetOption("BJU003")).ToUpper().Equals("KM") && sCZBJLDW.Split('/')[1].ToUpper().Equals("M"))
{
fHSBL = 1000;
}
else if (XLBJDUtils.GetDefaultBJU003(GetOption("BJU003")).ToUpper().Equals("M") && sCZBJLDW.Split('/')[1].ToUpper().Equals("KM"))
{
fHSBL = 0.001;
}
if (grdFZZTCLYL.NewRows.Count == 0)
{
return false;
}
else
{
for (int i = 0; i < grdFZZTCLYL.NewRows.Count; i++)
{
for (int j = 0; j < dsCLYLLM.Tables[0].Rows.Count; j++)
{
string sDataField = "V" + j.ToString().Trim();
string sBJCLID = dsCLYLLM.Tables[0].Rows[j]["XLJGCZBLM_BJCLID"].ToString().Trim();
string sBJCLMC = dsCLYLLM.Tables[0].Rows[j]["CLMC"].ToString().Trim();
double fCZBYL = CMISproConvert.StrToFloat(grdFZZTCLYL.GetValueByFieldName(sDataField.Trim(), grdFZZTCLYL.NewRows[i]).ToString());
int iRow = i + 1;
if (fCZBYL < 0)
{
ShowMessage("第" + iRow.ToString().Trim() + "行," + sBJCLMC + "尺重表用量不允许小于0!");
return false;
}
if (dsCLYLLM.Tables[0].Rows[j]["XLXSBJCL_BJHQ"].ToString().Trim().Equals("2")
&& grdFZZTCLYL.GetValueByFieldName(sDataField.Trim() + "_CLWL", grdFZZTCLYL.NewRows[i]).ToString().Trim().Equals("")
&& fCZBYL > 0)
{
ShowMessage(string.Format("第" + iRow.ToString().Trim() + "行," + "{0}|{1}--需要指定材料物料!", sBJCLID, sBJCLMC));
return false;
}
}
}
try
{
dberp.BeginTrans();
dicDRMXBZ.Clear();
sSQL.Clear();
sSQL.Add("select XLBZ_XLBZID,XLBZ_XLBZLXMC from XLBZ where 1 = 1 ");
DataSet dsXLBZ = dberp.OpenDataSet(sSQL);
if (dsXLBZ.Tables[0].Rows.Count > 0)
{
for (int z = 0; z < dsXLBZ.Tables[0].Rows.Count; z++)
{
dicDRMXBZ.Add(dsXLBZ.Tables[0].Rows[z]["XLBZ_XLBZID"].ToString().Trim(), dsXLBZ.Tables[0].Rows[z]["XLBZ_XLBZLXMC"].ToString().Trim());
}
}
sSQL.Clear();
sSQL.Add("update XLXSCLQD set ");
sSQL.Add(" XLXSCLQD_SL01=:SL01,XLXSCLQD_SL02=:SL02,XLXSCLQD_SL03=:SL03,XLXSCLQD_SL04=:SL04,XLXSCLQD_SL05=:SL05,XLXSCLQD_SL06=:SL06,XLXSCLQD_SL07=:SL07,XLXSCLQD_SL08=:SL08,XLXSCLQD_SL09=:SL09,XLXSCLQD_SL10=:SL10,");
sSQL.Add(" XLXSCLQD_SL11=:SL11,XLXSCLQD_SL12=:SL12,XLXSCLQD_SL13=:SL13,XLXSCLQD_SL14=:SL14,XLXSCLQD_SL15=:SL15,XLXSCLQD_SL16=:SL16,XLXSCLQD_SL17=:SL17,XLXSCLQD_SL18=:SL18,XLXSCLQD_SL19=:SL19,XLXSCLQD_SL20=:SL20,");
sSQL.Add(" XLXSCLQD_SL21=:SL21,XLXSCLQD_SL22=:SL22,XLXSCLQD_SL23=:SL23,XLXSCLQD_SL24=:SL24,XLXSCLQD_SL25=:SL25,XLXSCLQD_SL26=:SL26,XLXSCLQD_SL27=:SL27,XLXSCLQD_SL28=:SL28,XLXSCLQD_SL29=:SL29,XLXSCLQD_SL30=:SL30,");
sSQL.Add(" XLXSCLQD_SL31=:SL31,XLXSCLQD_SL32=:SL32,XLXSCLQD_SL33=:SL33,XLXSCLQD_SL34=:SL34,XLXSCLQD_SL35=:SL35,XLXSCLQD_SL36=:SL36,XLXSCLQD_SL37=:SL37,XLXSCLQD_SL38=:SL38,XLXSCLQD_SL39=:SL39,XLXSCLQD_SL40=:SL40,");
sSQL.Add(" XLXSCLQD_SL41=:SL41,XLXSCLQD_SL42=:SL42,XLXSCLQD_SL43=:SL43,XLXSCLQD_SL44=:SL44,XLXSCLQD_SL45=:SL45,XLXSCLQD_SL46=:SL46,XLXSCLQD_SL47=:SL47,XLXSCLQD_SL48=:SL48,XLXSCLQD_SL49=:SL49,XLXSCLQD_SL50=:SL50,");
sSQL.Add(" XLXSCLQD_SL51=:SL51,XLXSCLQD_SL52=:SL52,XLXSCLQD_SL53=:SL53,XLXSCLQD_SL54=:SL54,XLXSCLQD_SL55=:SL55,XLXSCLQD_SL56=:SL56,XLXSCLQD_SL57=:SL57,XLXSCLQD_SL58=:SL58,XLXSCLQD_SL59=:SL59,XLXSCLQD_SL60=:SL60,");
sSQL.Add(" XLXSCLQD_SL61=:SL61,XLXSCLQD_SL62=:SL62,XLXSCLQD_SL63=:SL63,XLXSCLQD_SL64=:SL64,XLXSCLQD_SL65=:SL65,XLXSCLQD_SL66=:SL66,XLXSCLQD_SL67=:SL67,XLXSCLQD_SL68=:SL68,XLXSCLQD_SL69=:SL69,XLXSCLQD_SL70=:SL70,");
sSQL.Add(" XLXSCLQD_SL71=:SL71,XLXSCLQD_SL72=:SL72,XLXSCLQD_SL73=:SL73,XLXSCLQD_SL74=:SL74,XLXSCLQD_SL75=:SL75,XLXSCLQD_SL76=:SL76,XLXSCLQD_SL77=:SL77,XLXSCLQD_SL78=:SL78,XLXSCLQD_SL79=:SL79,XLXSCLQD_SL80=:SL80,");
sSQL.Add(" XLXSCLQD_WHR=:XLXSCLQD_WHR,XLXSCLQD_WHRID=:XLXSCLQD_WHRID,XLXSCLQD_WHSJ=:XLXSCLQD_WHSJ");
sSQL.Add(" where XLXSCLQD_XLXHID=:XLXSCLQD_XLXHID");
sSQL.Add(" and XLXSCLQD_XLGGID=:XLXSCLQD_XLGGID");
sSQL.Add(" and XLXSCLQD_XLBZID=:XLXSCLQD_XLBZID");
sSQL.Add(" and XLXSCLQD_DYDJID=:XLXSCLQD_DYDJID");
for (int m = 0; m < grdFZZTCLYL.NewRows.Count; m++)
{
sXLXHID = grdFZZTCLYL.GetValueByFieldName("XLXSCLQD_XLXHID", grdFZZTCLYL.NewRows[m]).ToString().Trim();
sXLGGID = grdFZZTCLYL.GetValueByFieldName("XLXSCLQD_XLGGID", grdFZZTCLYL.NewRows[m]).ToString().Trim();
sXLBZID = grdFZZTCLYL.GetValueByFieldName("XLBZ", grdFZZTCLYL.NewRows[m]).ToString().Trim();
sXLBZID = XLBJDUtils.GetBZXLZBZID(sXLBZID, "", dicDRMXBZ);
sDYDJID = grdFZZTCLYL.GetValueByFieldName("XLXSCLQD_DYDJID", grdFZZTCLYL.NewRows[m]).ToString().Trim();
sDYDJID = sDYDJID.Replace('K', 'k').Replace('v', 'V');
sDYDJID = sDYDJID.Trim().Equals("") ? " " : sDYDJID.Trim();
sSQL.ParamByName("XLXSCLQD_XLXHID").Value = sXLXHID;
sSQL.ParamByName("XLXSCLQD_XLGGID").Value = sXLGGID;
sSQL.ParamByName("XLXSCLQD_XLBZID").Value = sXLBZID;
sSQL.ParamByName("XLXSCLQD_DYDJID").Value = sDYDJID;
for (int n = 0; n < dsCLYLLM.Tables[0].Rows.Count; n++)
{
string sDataField = "V" + n.ToString().Trim();
string sBJCLID = dsCLYLLM.Tables[0].Rows[n]["XLJGCZBLM_BJCLID"].ToString().Trim();
double dSL = CMISproConvert.StrToFloat(grdFZZTCLYL.GetValueByFieldName(sDataField.Trim(), grdFZZTCLYL.NewRows[m]).ToString(), 0);
dicSL["SL" + Convert.ToString(n + 1).PadLeft(2, '0')] = dSL * fHSBL;
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCLQD where XLXSCLQD_JGCZBID='{0}' and XLXSCLQD_JGCZBBBID='{1}' and XLXSCLQD_WPID='{2}'"
+ " and XLXSCLQD_WFAWAITER like '{3}' and XLXSCLQD_XLXHID='{4}' and XLXSCLQD_XLGGID='{5}' and XLXSCLQD_XLBZID='{6}' and XLXSCLQD_DYDJID='{7}'",
sJGCZBID, sJGCZBBBID, sWPID, "%," + sUSERID + ",%", sXLXHID, sXLGGID, sXLBZID, sDYDJID)))
{
for (int t = 1; t <= 80; t++)
{
sSQL.ParamByName("SL" + t.ToString().PadLeft(2, '0')).Value = dicSL["SL" + t.ToString().PadLeft(2, '0')];
}
sSQL.ParamByName("XLXSCLQD_WHR").Value = tSession.UserName;
sSQL.ParamByName("XLXSCLQD_WHRID").Value = tSession.UserId;
sSQL.ParamByName("XLXSCLQD_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
//清空dicSL
dicSL.Clear();
for (int t = 1; t <= 80; t++)
{
dicSL.Add("SL" + t.ToString().PadLeft(2, '0'), 0.0);
}
}
}
bool bXLXSCLQDWL = false;
//当前尺重表栏目关联的报价材料是否存在需要细分的
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLJGCZBLM left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID where XLJGCZBLM_JGCZBID='{0}' and XLJGCZBLM_JGCZBBBID='{1}' and XLXSBJCL_BJHQ='2'",
sJGCZBID, sJGCZBBBID)))
{
for (int a = 0; a < grdFZZTCLYL.NewRows.Count; a++)
{
bool bInsertXLXSCLQDWL = false;
sXLXHID = grdFZZTCLYL.GetValueByFieldName("XLXSCLQD_XLXHID", grdFZZTCLYL.NewRows[a]).ToString().Trim();
sXLGGID = grdFZZTCLYL.GetValueByFieldName("XLXSCLQD_XLGGID", grdFZZTCLYL.NewRows[a]).ToString().Trim();
sXLBZID = grdFZZTCLYL.GetValueByFieldName("XLBZ", grdFZZTCLYL.NewRows[a]).ToString().Trim();
sXLBZID = XLBJDUtils.GetBZXLZBZID(sXLBZID, "", dicDRMXBZ);
sDYDJID = grdFZZTCLYL.GetValueByFieldName("XLXSCLQD_DYDJID", grdFZZTCLYL.NewRows[a]).ToString().Trim();
sDYDJID = sDYDJID.Replace('K', 'k').Replace('v', 'V');
sDYDJID = sDYDJID.Trim().Equals("") ? " " : sDYDJID.Trim();
for (int b = 0; b < dsCLYLLM.Tables[0].Rows.Count; b++)
{
string sDataField = "V" + b.ToString().Trim();
string sBJCLID = dsCLYLLM.Tables[0].Rows[b]["XLJGCZBLM_BJCLID"].ToString().Trim();
if (!grdFZZTCLYL.GetValueByFieldName(sDataField.Trim() + "_CLWL", grdFZZTCLYL.NewRows[a]).ToString().Trim().Equals(""))
bInsertXLXSCLQDWL = true;
}
if (bInsertXLXSCLQDWL)
{
bXLXSCLQDWL = true;
sSQL.Clear();
sSQL.Add("select XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH from XLXSCLQD where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID");
sSQL.ParamByName("pXLXHID").Value = sXLXHID;
sSQL.ParamByName("pXLGGID").Value = sXLGGID;
sSQL.ParamByName("pXLBZID").Value = sXLBZID;
sSQL.ParamByName("pDYDJID").Value = sDYDJID;
DataSet ds = dberp.OpenDataSet(sSQL);
double fJGCZBXH = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLQD_JGCZBXH"].ToString());
double fDRHH = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLQD_DRHH"].ToString());
double newDRHH = fDRHH;
if (newDRHH == 0.0)
{
sSQL.Clear();
sSQL.Add("select min(XLXSCLQD_DRHH) as minDRHH ");
sSQL.Add(" from XLXSCLQD");
sSQL.Add(" where XLXSCLQD_JGCZBID=:pJGCZBID");
sSQL.Add(" and XLXSCLQD_DRHH<0");//DRHH为负,用于临时建立XLXSCLQD和XLXSCLQDWL之间的关系
sSQL.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet dsCLQD = dberp.OpenDataSet(sSQL);
if (dsCLQD.Tables[0].Rows.Count > 0)
{
newDRHH = CMISproConvert.StrToFloat(dsCLQD.Tables[0].Rows[0][0].ToString()) - 1;
}
else
newDRHH = -1;//特殊处理
sSQL.Clear();
sSQL.Add("update XLXSCLQD set XLXSCLQD_JGCZBXH=:pJGCZBXH,XLXSCLQD_DRHH=:pDRHH ");
sSQL.Add("where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID ");
sSQL.ParamByName("pJGCZBXH").Value = fJGCZBXH;
sSQL.ParamByName("pDRHH").Value = newDRHH;
sSQL.ParamByName("pXLXHID").Value = sXLXHID;
sSQL.ParamByName("pXLGGID").Value = sXLGGID;
sSQL.ParamByName("pXLBZID").Value = sXLBZID;
sSQL.ParamByName("pDYDJID").Value = sDYDJID;
dberp.ExecSQL(sSQL);
}
sSQL.Clear();
sSQL.Add("delete from XLXSCLQDWL where XLXSCLQDWL_JGCZBID=:pJGCZBID and XLXSCLQDWL_JGCZBBBID=:pJGCZBBBID");
sSQL.Add(" and XLXSCLQDWL_JGCZBXH=:pJGCZBXH and XLXSCLQDWL_DRHH=:pDRHH");
sSQL.ParamByName("pJGCZBID").Value = sJGCZBID;
sSQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
sSQL.ParamByName("pJGCZBXH").Value = fJGCZBXH;
sSQL.ParamByName("pDRHH").Value = newDRHH;
dberp.ExecSQL(sSQL);
sSQL.Clear();
sSQL.Add("insert into XLXSCLQDWL(XLXSCLQDWL_JGCZBID,XLXSCLQDWL_JGCZBBBID,XLXSCLQDWL_JGCZBXH,XLXSCLQDWL_DRHH");
for (int b = 0; b < dsCLYLLM.Tables[0].Rows.Count; b++)
{
string sQDL = dsCLYLLM.Tables[0].Rows[b]["XLJGCZBLM_CLQDL"].ToString().Trim().Replace("第", "").Replace("列", "");
sSQL.Add(string.Format(",XLXSCLQDWL_WLID{0} ", sQDL));
}
sSQL.Add(") ");
sSQL.Add("values (:pJGCZBID,:pJGCZBBBID,:pJGCZBXH,:pDRHH");
for (int b = 0; b < dsCLYLLM.Tables[0].Rows.Count; b++)
{
string sDataField = "V" + b.ToString().Trim();
string sBJCLID = dsCLYLLM.Tables[0].Rows[b]["XLJGCZBLM_BJCLID"].ToString().Trim();
string sCLWL = grdFZZTCLYL.GetValueByFieldName(sDataField.Trim() + "_CLWL", grdFZZTCLYL.NewRows[a]).ToString().Trim();
sCLWL = sCLWL.Trim().Equals("") ? "" : sCLWL.Trim().Split('|')[0];
sSQL.Add(string.Format(",'{0}' ", sCLWL));
}
sSQL.Add(") ");
sSQL.ParamByName("pJGCZBID").Value = sJGCZBID;
sSQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
sSQL.ParamByName("pJGCZBXH").Value = fJGCZBXH;
sSQL.ParamByName("pDRHH").Value = newDRHH;
dberp.ExecSQL(sSQL);
}
else
{
//如果材料物料列数据都是空,则删除XLXSCLQDWL
sSQL.Clear();
sSQL.Add("delete from XLXSCLQDWL ");
sSQL.Add("where exists(select 1 from XLXSCLQD ");
sSQL.Add(" where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID");
sSQL.Add(" and XLXSCLQD_JGCZBID=XLXSCLQDWL_JGCZBID and XLXSCLQD_JGCZBBBID=XLXSCLQDWL_JGCZBBBID and XLXSCLQD_JGCZBXH=XLXSCLQDWL_JGCZBXH and XLXSCLQD_DRHH=XLXSCLQDWL_DRHH");
sSQL.Add(" )");
sSQL.ParamByName("pXLXHID").Value = sXLXHID;
sSQL.ParamByName("pXLGGID").Value = sXLGGID;
sSQL.ParamByName("pXLBZID").Value = sXLBZID;
sSQL.ParamByName("pDYDJID").Value = sDYDJID;
dberp.ExecSQL(sSQL);
}
}
}
dberp.CommitTrans();
if (bXLXSCLQDWL)
ShowMessage("已完成材料用量+材料物料的设置!");
else
ShowMessage("已完成材料用量的设置!");
DialogOperationScript dos = new DialogOperationScript(this);
if (!PageParam.GetRTrimString("btnRefreshCID").Equals(""))
dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshCID"));
dos.CloseSelf();
dos.Execute();
}
catch (Exception ex)
{
ShowMessage(ex.Message);
dberp.RollbackTrans();
return false;
}
}
return false;
}
protected override void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && Tab.ActiveTabIndex == 1)
{
}
base.Grid_RowDataBound(sender, e);
}
#endregion
#region 自定义事件
private void EntityGetQuerySQL(TSQL SQL)
{
string sJGCZBID = PageParam.GetRTrimString("JGCZBID");
string sJGCZBBBID = PageParam.GetRTrimString("JGCZBBBID");
string sCZBJLDW = PageParam.GetRTrimString("CZBJLDW");
string sWPID = PageParam.GetRTrimString("WPID");
string sUSERID = PageParam.GetRTrimString("USERID");
InitGrid(dsCLYLLM);
SQL.Add(" select XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,RTRIM(XLXSCLQD_XLBZID) ||'|'|| XLBZ_XLBZLXMC as XLBZ,'" + sCZBJLDW + "' as JLDW ");
for (int i = 0; i < dsCLYLLM.Tables[0].Rows.Count; i++)
{
string sDataField = "V" + i.ToString().Trim();
SQL.Add(",'' as " + sDataField.Trim());
if (dsCLYLLM.Tables[0].Rows[i]["XLXSBJCL_BJHQ"].ToString().Trim().Equals("2"))
{
SQL.Add(",'' as " + sDataField.Trim() + "_CLWL");
}
}
SQL.Add(" from XLXSCLQD ");
SQL.Add(" left join (select XLGGB_XLGGID as XLGGID,MIN(XLGGB_XH) as minXH from XLGGB where 1=1 GROUP BY XLGGB_XLGGID ) tmpXLGGB ");
SQL.Add(" on XLGGID = REPLACE(XLXSCLQD_XLGGID , '*','×') ");
SQL.Add(" left join XLBZ on XLBZ_XLBZID=XLXSCLQD_XLBZID ");
SQL.Add(" where XLXSCLQD_JGCZBID=:pJGCZBID and XLXSCLQD_JGCZBBBID=:pJGCZBBBID and XLXSCLQD_WPID=:pWPID and XLXSCLQD_WFAWAITER like :pWFAWAITER ");
SQL.Add(" order by XLXSCLQD_XLXHID,XLXSCLQD_XLBZID,minXH,XLXSCLQD_XLGGID,XLXSCLQD_DYDJID ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
SQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
SQL.ParamByName("pWPID").Value = sWPID;
SQL.ParamByName("pWFAWAITER").Value = "%," + sUSERID + ",%"; ;
}
//获取结构尺重表材料用量栏目信息
public static DataSet GetJGCZBCLYLLM(string sJGCZBID, string sJGCZBBBID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add(" select XLJGCZBLM_BJCLID,XLXSBJCL_BJHQ,XLJGCZBLM_CLQDL, ");
sql.Add(" case when isnull(XLXSBJCL_BJCLID,' ')=' ' then XLJGCZBLM_CZBLMMC else XLXSBJCL_BJCLMC end as CLMC");
sql.Add(" from XLJGCZBLM ");
sql.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID");
sql.Add(" where XLJGCZBLM_JGCZBID=:pJGCZBID and XLJGCZBLM_JGCZBBBID=:pJGCZBBBID and isnull(XLJGCZBLM_CLQDL,' ')<>' '");
sql.Add(" order by XLJGCZBLM_CLQDL ");
sql.ParamByName("pJGCZBID").Value = sJGCZBID;
sql.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
return dberp.OpenDataSet(sql);
}
#region 动态加载列表
private void InitGrid(DataSet dsCLYLLM)
{
AddColumn("XLXSCLQD_XLXHID", "型号", 120, true);
AddColumn("XLXSCLQD_XLGGID", "规格", 120, true);
AddColumn("XLBZ", "标准", 80, true);
AddColumn("XLXSCLQD_DYDJID", "电压等级", 80, true);
AddColumn("JLDW", "计量单位", 50, true);
for (int i = 0; i < dsCLYLLM.Tables[0].Rows.Count; i++)
{
string sDataField = "V" + i.ToString().Trim();
AddColumn(sDataField.Trim(), dsCLYLLM.Tables[0].Rows[i]["CLMC"].ToString().Trim(), 6, 100);
if (dsCLYLLM.Tables[0].Rows[i]["XLXSBJCL_BJHQ"].ToString().Trim().Equals("2"))
{
AddColumn(sDataField.Trim() + "_CLWL", "材料物料", 200, "");
}
}
}
#region GridView增加列
/// <summary>
/// 设置etString列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, int Width, Boolean ReadOnly)
{
gtAjaxGridViewColumn Column = new gtAjaxGridViewColumn();
Column.HeaderText = HeadText;
Column.DataField = sDataField;
Column.Width = (Unit)Width;
Column.EditType = TEditType.etString;
Column.ReadOnly = ReadOnly;
grdFZZTCLYL.Columns.Add(Column);
}
/// <summary>
/// 设置etNumber列的属
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="NumberDecimalPlace"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width)
{
gtAjaxGridViewColumn Column = new gtAjaxGridViewColumn();
Column.HeaderText = HeadText;
Column.DataField = sDataField;
Column.Width = (Unit)Width;
Column.EditType = TEditType.etNumber;
Column.NumberDecimalPlace = NumberDecimalPlace;
grdFZZTCLYL.Columns.Add(Column);
}
/// <summary>
/// 设置etDropDown列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="DateTimeKind"></param>
private void AddColumn(string sDataField, string HeadText, int Width, string p_SQL)
{
gtAjaxGridViewColumn Column = new gtAjaxGridViewColumn();
Column.HeaderText = HeadText;
Column.DataField = sDataField;
Column.Width = (Unit)Width;
Column.EditType = TEditType.etDropDown;
grdFZZTCLYL.Columns.Add(Column);
}
#endregion
#endregion
#endregion
#region 控件事件
protected void grdFZZTCLYL_GetDropDownColumnItems(object sender, GetDropDownColumnItemsEventArgs e)
{
if (e.EventFieldName.Contains("CLWL"))
{
string sEventFieldName = e.EventFieldName.Split('_')[0].ToString().Trim();
int iROW = CMISproConvert.StrToInt(sEventFieldName.Substring(1));
string sBJCLID = dsCLYLLM.Tables[0].Rows[iROW]["XLJGCZBLM_BJCLID"].ToString().Trim();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add("select XLXSBJCLWL_WLID, ");
sql.Add("rtrim(rtrim(rtrim(rtrim(isnull(WL_MC,' '))||' '||rtrim(isnull(WL_GG,' ')))||' '||rtrim(isnull(WL_TZ,' ')))||' '||rtrim(isnull(WL_CL,' '))) as Name ");
sql.Add("from XLXSBJCLWL ");
sql.Add("left join WL on WL_WLID=XLXSBJCLWL_WLID ");
sql.Add("left join XLXSBJCL on XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID ");
sql.Add("where XLXSBJCLWL_BJCLID=:pBJCLID ");
sql.Add(" and XLXSBJCL_BJHQ='2' ");
sql.Add("order by XLXSBJCLWL_WLID");
sql.ParamByName("pBJCLID").Value = sBJCLID;
DataSet ds = dberp.OpenDataSet(sql);
e.DropDownItems.Clear();
if (ds.Tables[0].Rows.Count > 0)
{
e.DropDownItems.Add(new ListItem("", ""));
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["Name"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJCLWL_WLID"].ToString().Trim()));
}
}
}
#endregion
}
}