528 lines
28 KiB
C#
528 lines
28 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_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
|
||
}
|
||
}
|