2026821
This commit is contained in:
@@ -0,0 +1,327 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using GThinking.N_MISPRO;
|
||||
using GThinking.N_MISPRO.Data;
|
||||
using GThinking.N_MODEL.Page;
|
||||
using GThinking.N_CONTROL;
|
||||
using GThinking.N_PUBLIC;
|
||||
using GThinking.N_PUBLIC2;
|
||||
using GThinking.N_MISPRO.Caching;
|
||||
using GThinking.N_MISPRO.Utility;
|
||||
|
||||
namespace GThinking.N_XLXSBJ
|
||||
{
|
||||
public partial class CLYL_DRYLList : OperationBase
|
||||
{
|
||||
CLYL_DRYL entity = new CLYL_DRYL();
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.UMID = 100860014;
|
||||
this.UMName = "线缆销售报价材料用量";
|
||||
this.CurMaster = Master;
|
||||
this.Tabs = Tab;
|
||||
this.PageHeight = 600;
|
||||
this.PageWidth = 750;
|
||||
//CurMaster.BtnQueryVisible = false;
|
||||
//CurMaster.BtnReportVisible = false;
|
||||
AddListSetMap(new ListSet(pagSHD.ID, null, grdSHD, entity, UPSHD));
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
this.Master.PnlQuery.GroupingText = "查询条件";
|
||||
//this.Master.PnlBill.GroupingText = "单据信息";
|
||||
|
||||
InitControls();
|
||||
}
|
||||
|
||||
//CurMaster.BtnReportVisible = false;
|
||||
|
||||
if (PageParam.GetRTrimString("CanE").Equals("Y"))
|
||||
{
|
||||
grdSHD.ShowPager = false;
|
||||
grdSHD.ReadOnly = false;
|
||||
grdSHD.EnabledToolBar = false;
|
||||
grdSHD.FindColumnByFieldName("CLYLJSJG_CPWLID").ReadOnly = true;
|
||||
grdSHD.FindColumnByFieldName("CPWLXX").ReadOnly = true;
|
||||
grdSHD.FindColumnByFieldName("CLYLJSJG_WLID").ReadOnly = true;
|
||||
grdSHD.FindColumnByFieldName("WLXX").ReadOnly = true;
|
||||
grdSHD.FindColumnByFieldName("BJCL").ReadOnly = true;
|
||||
CustomPageSize = 1000;
|
||||
}
|
||||
else
|
||||
{
|
||||
CurMaster.BtnOK.Visible = false;
|
||||
CurMaster.BtnCancel.Visible = false;
|
||||
|
||||
grdSHD.ShowPager = true;
|
||||
grdSHD.ReadOnly = true;
|
||||
grdSHD.EnabledToolBar = true;
|
||||
}
|
||||
|
||||
if (PageParam.GetRTrimString("FromPage").Equals("CLYL_CLYLList") || PageParam.GetRTrimString("FromPage").Equals("CLYLList"))
|
||||
{
|
||||
cbxGCID.SelectedValue = PageParam.GetRTrimString("GCID");
|
||||
txtCP_WLID.Text = PageParam.GetRTrimString("CPWLID");
|
||||
cbxGCID.Enabled = false;
|
||||
txtCP_WLID.Enabled = false;
|
||||
txtCP_WLID.Tag = gtTextBox.DTagStates.None;
|
||||
//cbxPIID.Enabled = false;
|
||||
}
|
||||
|
||||
base.InitPage();
|
||||
|
||||
CurMaster.PnlBill.Visible = false;
|
||||
|
||||
if (IsPostBack)
|
||||
{
|
||||
Master_OnQuery();
|
||||
GridDataBind();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!cbxGCID.SelectedValue.Trim().Equals(""))
|
||||
{
|
||||
Master_OnQuery();
|
||||
GridDataBind();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region 模板继承事件
|
||||
|
||||
protected override void Master_OnQuery()
|
||||
{
|
||||
entity.sGCID = cbxGCID.SelectedValue.Trim();
|
||||
entity.sCPPIID = cbxPIID.SelectedValue.Trim();
|
||||
entity.sCPWLID = txtCP_WLID.Text.Trim();
|
||||
entity.sCPWLMC = txtCPWLMC.Text.Trim();
|
||||
entity.sCPWLGG = txtCPWLGG.Text.Trim();
|
||||
entity.sWLID = txtWLID.Text.Trim();
|
||||
entity.sWLMC = txtWLMC.Text.Trim();
|
||||
entity.sWLGG = txtWLGG.Text.Trim();
|
||||
entity.sFromPage = PageParam.GetRTrimString("FromPage");
|
||||
base.Master_OnQuery();
|
||||
//grdSHD.SelectedIndex = -1;
|
||||
}
|
||||
|
||||
protected override void GridDataBind()
|
||||
{
|
||||
base.GridDataBind();
|
||||
}
|
||||
|
||||
protected override bool QueryValid()
|
||||
{
|
||||
if (cbxGCID.SelectedValue.Trim().Equals(""))
|
||||
{
|
||||
ShowMessage("请选择工厂进行查询!");
|
||||
return false;
|
||||
}
|
||||
//if (cbxPIID.SelectedValue.Trim().Equals(""))
|
||||
//{
|
||||
// ShowMessage("请选择物料类别进行查询!");
|
||||
// return false;
|
||||
//}
|
||||
return base.QueryValid();
|
||||
}
|
||||
|
||||
protected override bool DataLogicValid()
|
||||
{
|
||||
|
||||
return base.DataLogicValid();
|
||||
}
|
||||
|
||||
protected override bool Master_OnOK()
|
||||
{
|
||||
bool bResult = base.Master_OnOK();
|
||||
if (!bResult) return false;
|
||||
|
||||
string sAnswer = "";
|
||||
Confirm.Register("IsQD", "是否需要用最新材料物料用量更新各线缆产品的材料用量?");
|
||||
if (Confirm.GetValue("IsQD").Trim().Equals(""))
|
||||
{
|
||||
Confirm.Ask("IsQD");
|
||||
return false;
|
||||
}
|
||||
else if (Confirm.GetValue("IsQD").Trim().Equals("N"))
|
||||
{
|
||||
//表示进行了提示并选择了取消,直接返回或其他处理
|
||||
Confirm.Clear();
|
||||
sAnswer = "N";
|
||||
}
|
||||
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
|
||||
{
|
||||
//表示进行了提示并选择了确认
|
||||
Confirm.Clear();
|
||||
sAnswer = "Y";
|
||||
}
|
||||
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL sSQL = new TSQL(dberp);
|
||||
try
|
||||
{
|
||||
dberp.BeginTrans();
|
||||
InsertXLXSCLWLYL(dberp, sSQL);
|
||||
if (sAnswer.Equals("Y"))
|
||||
{
|
||||
UpdateXLXSCLQD(dberp, sSQL);
|
||||
}
|
||||
dberp.CommitTrans();
|
||||
if (sAnswer.Equals("Y"))
|
||||
ShowMessage("完成材料物料用量调整,并同步更新了各线缆产品的材料用量!");
|
||||
else
|
||||
ShowMessage("完成材料物料用量调整!");
|
||||
CloseWindow();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
dberp.RollbackTrans();
|
||||
ShowMessage(ex.Message);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected override void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||||
{
|
||||
}
|
||||
base.Grid_RowDataBound(sender, e);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void InitControls()
|
||||
{
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
string sSQL = "select PL_PIID,PL_MC from PL where 1=1 and isnull(PL_TYBZ,'N')<>'Y' order by PL_PIID ";
|
||||
DataSet ds = dberp.OpenDataSet(sSQL);
|
||||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
string sID = ds.Tables[0].Rows[i]["PL_PIID"].ToString().Trim();
|
||||
string sNAME = ds.Tables[0].Rows[i]["PL_MC"].ToString().Trim();
|
||||
cbxPIID.Items.Add(new ListItem(sNAME, sID));
|
||||
}
|
||||
|
||||
TComboBox.SetComboBox("DBERP", cbxGCID, "select GC_GCID,GC_GCMC from GC where isnull(GC_TYBZ,'N')<>'Y' order by GC_GCID ", false);
|
||||
if (cbxGCID.ItemsCount == 1)
|
||||
cbxGCID.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
private void UpdateXLXSCLQD(TDatabase dberp, TSQL sSQL)
|
||||
{
|
||||
sSQL.Clear();
|
||||
sSQL.Add("update XLXSCLQD set ");
|
||||
for (int i = 1; i < 80; i++)
|
||||
{
|
||||
sSQL.Add(string.Format("XLXSCLQD_SL{0}=SL{0},", i.ToString().PadLeft(2, '0')));
|
||||
}
|
||||
sSQL.Add("XLXSCLQD_SL80=SL80 ");
|
||||
sSQL.Add(" from (");
|
||||
|
||||
sSQL.Add("select XLXSCLWLYL_CPWLID as WLID, ");
|
||||
for (int i = 1; i < 80; i++)
|
||||
{
|
||||
sSQL.Add(string.Format("sum(case when XLXSBJCLWL_BJCLID='{0}' then XLXSCLWLYL_SL else 0.0 end) as SL{1}, ", "BJCL" + i.ToString().PadLeft(2, '0') + "0000", i.ToString().PadLeft(2, '0')));
|
||||
}
|
||||
sSQL.Add("sum(case when XLXSBJCLWL_BJCLID='BJCL800000' then XLXSCLWLYL_SL else 0.0 end) as SL80 ");
|
||||
sSQL.Add(" from XLXSCLWLYL,XLXSBJCLWL ");
|
||||
sSQL.Add(" where XLXSCLWLYL_GCID=:pGCID ");
|
||||
sSQL.Add(" and XLXSCLWLYL_WLID=XLXSBJCLWL_WLID ");
|
||||
sSQL.Add("group by XLXSCLWLYL_CPWLID");
|
||||
sSQL.Add(") a ");
|
||||
sSQL.Add("where XLXSCLQD_GCID=:pGCID and a.WLID=XLXSCLQD_WLID ");
|
||||
sSQL.ParamByName("pGCID").Value = cbxGCID.SelectedValue.Trim();
|
||||
dberp.ExecSQL(sSQL);
|
||||
}
|
||||
|
||||
private void InsertXLXSCLWLYL(TDatabase dberp, TSQL sSQL)
|
||||
{
|
||||
int KeyRun = 500;
|
||||
int tmpRun = 1;//循环KeyRun次执行1次SQL
|
||||
TSQL sqlDel = new TSQL(dberp);
|
||||
string strDel = "";
|
||||
string strIns = "";
|
||||
string sWHR = CurSession.UserName;
|
||||
string sWHRID = CurSession.UserId;
|
||||
string sWHSJ = DateTime.Now.ToString();
|
||||
|
||||
foreach (GridViewRow Row in grdSHD.NewRows)
|
||||
{
|
||||
string sCPWLID = grdSHD.GetValueByFieldName("CLYLJSJG_CPWLID", Row).Trim();
|
||||
string sWLID = grdSHD.GetValueByFieldName("CLYLJSJG_WLID", Row).Trim();
|
||||
double fSL = CMISproConvert.StrToFloat(grdSHD.GetValueByFieldName("SL", Row), 0);
|
||||
|
||||
if (!sCPWLID.Equals("") && !sWLID.Equals(""))
|
||||
{
|
||||
if (strDel.Trim().Equals(""))
|
||||
strDel = string.Format("(XLXSCLWLYL_CPWLID='{0}' and XLXSCLWLYL_WLID='{1}')", sCPWLID, sWLID);
|
||||
else
|
||||
strDel += string.Format(" or (XLXSCLWLYL_CPWLID='{0}' and XLXSCLWLYL_WLID='{1}')", sCPWLID, sWLID);
|
||||
|
||||
if (strIns.Trim().Equals(""))
|
||||
strIns = string.Format("select '{0}' as GC,'{1}' as CPWL,'{2}' as WL,{3} as SL,'{4}' as WHR,'{5}' as WHRID,'{6}' as WHSJ ",
|
||||
cbxGCID.SelectedValue.Trim(), sCPWLID, sWLID, fSL, sWHR, sWHRID, sWHSJ);
|
||||
else
|
||||
{
|
||||
strIns += "\r\n" + " union all " + "\r\n";
|
||||
strIns += string.Format("select '{0}' as GC,'{1}' as CPWL,'{2}' as WL,{3} as SL,'{4}' as WHR,'{5}' as WHRID,'{6}' as WHSJ ",
|
||||
cbxGCID.SelectedValue.Trim(), sCPWLID, sWLID, fSL, sWHR, sWHRID, sWHSJ);
|
||||
}
|
||||
}
|
||||
|
||||
if (tmpRun >= KeyRun && (tmpRun % KeyRun == 0))
|
||||
{
|
||||
if (!strDel.Trim().Equals(""))
|
||||
{
|
||||
sqlDel.Clear();
|
||||
sqlDel.Add("delete from XLXSCLWLYL where XLXSCLWLYL_GCID=:pGCID ");
|
||||
sqlDel.Add(" and (" + strDel + ")");
|
||||
sqlDel.ParamByName("pGCID").Value = cbxGCID.SelectedValue.Trim();
|
||||
dberp.ExecSQL(sqlDel);
|
||||
strDel = "";
|
||||
}
|
||||
|
||||
if (!strIns.Trim().Equals(""))
|
||||
{
|
||||
sSQL.Clear();
|
||||
sSQL.Add("insert into XLXSCLWLYL(XLXSCLWLYL_GCID,XLXSCLWLYL_CPWLID,XLXSCLWLYL_WLID,XLXSCLWLYL_SL,XLXSCLWLYL_WHR,XLXSCLWLYL_WHRID,XLXSCLWLYL_WHSJ) ");
|
||||
sSQL.Add(strIns);
|
||||
dberp.ExecSQL(sSQL);
|
||||
strIns = "";
|
||||
}
|
||||
}
|
||||
|
||||
tmpRun++;
|
||||
}
|
||||
|
||||
if (!strDel.Trim().Equals(""))
|
||||
{
|
||||
sqlDel.Clear();
|
||||
sqlDel.Add("delete from XLXSCLWLYL where XLXSCLWLYL_GCID=:pGCID ");
|
||||
sqlDel.Add(" and (" + strDel + ")");
|
||||
sqlDel.ParamByName("pGCID").Value = cbxGCID.SelectedValue.Trim();
|
||||
dberp.ExecSQL(sqlDel);
|
||||
strDel = "";
|
||||
}
|
||||
|
||||
if (!strIns.Trim().Equals(""))
|
||||
{
|
||||
sSQL.Clear();
|
||||
sSQL.Add("insert into XLXSCLWLYL(XLXSCLWLYL_GCID,XLXSCLWLYL_CPWLID,XLXSCLWLYL_WLID,XLXSCLWLYL_SL,XLXSCLWLYL_WHR,XLXSCLWLYL_WHRID,XLXSCLWLYL_WHSJ) ");
|
||||
sSQL.Add(strIns);
|
||||
dberp.ExecSQL(sSQL);
|
||||
strIns = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user