2026821
This commit is contained in:
@@ -0,0 +1,264 @@
|
||||
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_MISPRO.Caching;
|
||||
using GThinking.N_MISPRO.Utility;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace GThinking.N_XLXSBJ
|
||||
{
|
||||
[TableMap(DB = "DBERP", DbTableName = "XLXSBJDMX", Umid = 100860000, IsWorkFlow = false, UseWhr = false, IsAttach = false)]
|
||||
public class XLBJD_YZ_KJF : EntityManager
|
||||
{
|
||||
|
||||
}
|
||||
public partial class XLBJD_YZ_KJFInfo : SingleGridBase
|
||||
{
|
||||
XLBJD_YZ_KJF entity = new XLBJD_YZ_KJF();
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.UMID = 100860000;
|
||||
this.UMName = "线缆销售报价单";
|
||||
this.CurMaster = Master;
|
||||
this.ModuleGV = grdContentGrid;
|
||||
this.CurEntity = entity;
|
||||
this.PageHeight = 600;
|
||||
this.PageWidth = 700;
|
||||
Master.EnableNewBtn = false;
|
||||
Master.EnableEditBtn = false;
|
||||
Master.EnableCopyBtn = false;
|
||||
Master.EnableDeleteBtn = false;
|
||||
Master.EnableViewBtn = false;
|
||||
Master.EnableQueryBtn = false;
|
||||
Master.EnablePrintBtn = false;
|
||||
|
||||
base.DataKeyNames = new string[] { "XLXHID", "XLGGID", "XLBZID", "DYDJID", "BJSL", "MMKJF" };
|
||||
|
||||
base.InitPage();
|
||||
if (!IsPostBack)
|
||||
{
|
||||
double dKJF = CMISproConvert.StrToFloat(GetOption("BJU039"));
|
||||
string sTSFS = GetOption("BJU047");
|
||||
if (sTSFS == "T")
|
||||
chkTS.Checked = true;
|
||||
else
|
||||
chkFGGS.Checked = true;
|
||||
txtDCKJF.Value = dKJF;
|
||||
txtDCKJF_OnTextChanged(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
#region 模板事件继承
|
||||
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
||||
{
|
||||
entity.EntityTable.QuerySelSql = GetSQL();
|
||||
base.Master_OnStandardQuery(sender, e);
|
||||
entity.GridDataBind(grdContentGrid, tSession);
|
||||
}
|
||||
|
||||
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||||
{
|
||||
double dBJSL = CMISproConvert.StrToFloat(grdContentGrid.DataKeys[e.Row.RowIndex]["BJSL"].ToString().Trim());
|
||||
double dMMKJF = 0;
|
||||
if (dBJSL > 0 && txtDCKJF.Value > 0)
|
||||
{
|
||||
dMMKJF = NumberUtils.RoundX(txtDCKJF.Value / dBJSL, 2);
|
||||
}
|
||||
e.Row.Cells[5].Text = dMMKJF.ToString("F2");
|
||||
}
|
||||
|
||||
base.moduleGV_RowDataBound(sender, e);
|
||||
}
|
||||
|
||||
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
||||
{
|
||||
entity.EntityTable.QuerySelSql = GetSQL();
|
||||
grdContentGrid.SelectedIndex = -1;
|
||||
base.moduleGV_PageIndexChanging(sender, e);
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region 自定义函数
|
||||
|
||||
private string GetSQL()
|
||||
{
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
StringBuilder sSQL = new StringBuilder();
|
||||
sSQL.AppendLine("select XLXSBJDMX_XLXHID as XLXHID, XLXSBJDMX_XLGGID as XLGGID, XLXSBJDMX_XLBZID as XLBZID, XLXSBJDMX_DYDJID as DYDJID,");
|
||||
sSQL.AppendLine(" sum(case when XLXSBJDMX_JLDW in ('千米','Km','公里') then XLXSBJDMX_BJSL*1000 when XLXSBJDMX_JLDW in ('百米') then XLXSBJDMX_BJSL*100 else XLXSBJDMX_BJSL end) as BJSL,");
|
||||
sSQL.AppendLine(" 0.0 as MMKJF");
|
||||
sSQL.AppendLine("from XLXSBJDMX ");
|
||||
sSQL.AppendLine("left join XLXHB on XLXSBJDMX_XLXHID=XLXHB_XLXHID");
|
||||
sSQL.AppendLine("left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID");
|
||||
sSQL.AppendLine("left join XLGGB on XLGGB_XLGGID= XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ=isnull(XLXHB_XLGGJDGZ,'0')");
|
||||
sSQL.AppendLine("left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ')");
|
||||
sSQL.AppendLine("left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
|
||||
sSQL.AppendLine("left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end");
|
||||
sSQL.AppendLine("where XLXSBJDMX_BJDID=:pBJDID and (XLGGB_GGZXS=3 or XLGGB_GGZXS=1) and XLXSCPML_CPMLMC like '%中压%'");
|
||||
sSQL.AppendLine("group by XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_XLBZID, XLXSBJDMX_DYDJID,XLGGB_GGZXS");
|
||||
sSQL.AppendLine("having (XLGGB_GGZXS = 3 AND SUM(XLXSBJDMX_BJSL) < 300)");
|
||||
sSQL.AppendLine(" OR (XLGGB_GGZXS = 1 AND SUM(XLXSBJDMX_BJSL) < 500)");
|
||||
sSQL.AppendLine("order by XLXSBJDMX_XLXHID, XLXSBJDMX_DYDJID, XLXSBJDMX_XLGGID, XLXSBJDMX_XLBZID");
|
||||
|
||||
entity.Param.Add("pBJDID", sBJDID);
|
||||
return sSQL.ToString();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 自定义按钮
|
||||
|
||||
protected void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
string sYZID = PageParam.GetRTrimString("YZID");
|
||||
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
SQL.Clear();
|
||||
SQL.Add(@" select sum(case when XLXSBJDMX_JLDW in ('千米','Km','公里') then XLXSBJDMX_BJSL*1000 when XLXSBJDMX_JLDW in ('百米') then XLXSBJDMX_BJSL*100 else XLXSBJDMX_BJSL end) as BJSL,XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_XLBZID, XLXSBJDMX_DYDJID,XLGGB_GGZXS
|
||||
from XLXSBJDMX
|
||||
left join XLXHB on XLXSBJDMX_XLXHID=XLXHB_XLXHID
|
||||
left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID
|
||||
left join XLGGB on XLGGB_XLGGID= XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ=isnull(XLXHB_XLGGJDGZ,'0')
|
||||
left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ')
|
||||
left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' '
|
||||
left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end
|
||||
where XLXSBJDMX_BJDID=:pBJDID and (XLGGB_GGZXS=3 or XLGGB_GGZXS=1) and XLXSCPML_CPMLMC like '%中压%'
|
||||
group by XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_XLBZID, XLXSBJDMX_DYDJID,XLGGB_GGZXS
|
||||
having (XLGGB_GGZXS = 3 AND SUM(XLXSBJDMX_BJSL) < 300)
|
||||
OR (XLGGB_GGZXS = 1 AND SUM(XLXSBJDMX_BJSL) < 500)");
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
DataSet ds = dberp.OpenDataSet(SQL);
|
||||
if (ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
SQL.Clear();
|
||||
SQL.Add("update XLXSBJDYZZ0 ");
|
||||
SQL.Add(string.Format(" set XLXSBJDYZZ0_YZZ{0}=0 ",sYZID.Replace("BJ","")));
|
||||
SQL.Add(" where XLXSBJDYZZ0_BJDID=:pBJDID ");
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
dberp.ExecSQL(SQL);
|
||||
|
||||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
double dBJSL = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["BJSL"].ToString().Trim());
|
||||
double dMMKJF = 0;
|
||||
if (dBJSL > 0 && txtDCKJF.Value > 0)
|
||||
{
|
||||
dMMKJF = NumberUtils.RoundX(txtDCKJF.Value / dBJSL, 2);
|
||||
if (chkTS.Checked)
|
||||
dMMKJF = txtTSKJF.Value;
|
||||
}
|
||||
string sXLXHID = ds.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim();
|
||||
string sXLGGID = ds.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim();
|
||||
string sXLBZID = ds.Tables[0].Rows[i]["XLXSBJDMX_XLBZID"].ToString().Trim();
|
||||
string sDYDJID = ds.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim();
|
||||
SQL.Clear();
|
||||
SQL.Add(@" merge into XLXSBJDYZZ0 tar
|
||||
USING ( SELECT XLXSBJDMX_BJDID, XLXSBJDMX_XH,XLXSBJDMX_BJSL FROM XLXSBJDMX
|
||||
WHERE XLXSBJDMX_BJDID=:pBJDID and XLXSBJDMX_XLXHID = :pXLXHID AND XLXSBJDMX_XLGGID = :pXLGGID
|
||||
AND XLXSBJDMX_XLBZID = :pXLBZID AND XLXSBJDMX_DYDJID = :pDYDJID ) sor
|
||||
on(
|
||||
XLXSBJDYZZ0_BJDID=:pBJDID
|
||||
and XLXSBJDYZZ0_BJDID=XLXSBJDMX_BJDID
|
||||
and XLXSBJDYZZ0_XH=XLXSBJDMX_XH
|
||||
) ");
|
||||
SQL.Add(string.Format(" when matched then update set XLXSBJDYZZ0_YZZ{0}=round(:pDJ,2) ",sYZID.Replace("BJ","")));
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
SQL.ParamByName("pXLXHID").Value = sXLXHID;
|
||||
SQL.ParamByName("pXLGGID").Value = sXLGGID;
|
||||
SQL.ParamByName("pXLBZID").Value = sXLBZID;
|
||||
SQL.ParamByName("pDYDJID").Value = sDYDJID;
|
||||
SQL.ParamByName("pDJ").Value = dMMKJF;
|
||||
dberp.ExecSQL(SQL);
|
||||
}
|
||||
string sErrorMsg = "";
|
||||
XLBJDCalcUtils.CalcAfterBJDYZZChange(dberp, SQL, sBJDID, 1, "", false, false, false, "", DateTime.MinValue, GetOption("BJU002"), GetOption("BJU003"), tSession.UserId, tSession.UserName, ref sErrorMsg);
|
||||
if (!sErrorMsg.Equals(""))
|
||||
throw new Exception(sErrorMsg);
|
||||
}
|
||||
DialogOperationScript dos = new DialogOperationScript(this);
|
||||
dos.CloseSelf();
|
||||
dos.Execute();
|
||||
}
|
||||
|
||||
protected void btnQX_Click(object sender, EventArgs e)
|
||||
{
|
||||
CloseWindow();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 控件事件
|
||||
|
||||
protected void txtDCKJF_OnTextChanged(object sender, EventArgs e)
|
||||
{
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
SQL.Clear();
|
||||
SQL.Add(@" select sum(case when XLXSBJDMX_JLDW in ('千米','Km','公里') then XLXSBJDMX_BJSL*1000 when XLXSBJDMX_JLDW in ('百米') then XLXSBJDMX_BJSL*100 else XLXSBJDMX_BJSL end) as BJSL,XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_XLBZID, XLXSBJDMX_DYDJID,XLGGB_GGZXS
|
||||
from XLXSBJDMX
|
||||
left join XLXHB on XLXSBJDMX_XLXHID=XLXHB_XLXHID
|
||||
left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID
|
||||
left join XLGGB on XLGGB_XLGGID= XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ=isnull(XLXHB_XLGGJDGZ,'0')
|
||||
left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ')
|
||||
left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' '
|
||||
left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end
|
||||
where XLXSBJDMX_BJDID=:pBJDID and (XLGGB_GGZXS=3 or XLGGB_GGZXS=1) and XLXSCPML_CPMLMC like '%中压%'
|
||||
group by XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_XLBZID, XLXSBJDMX_DYDJID,XLGGB_GGZXS
|
||||
having (XLGGB_GGZXS = 3 AND SUM(XLXSBJDMX_BJSL) < 300)
|
||||
OR (XLGGB_GGZXS = 1 AND SUM(XLXSBJDMX_BJSL) < 500)");
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
DataSet ds=dberp.OpenDataSet(SQL);
|
||||
double sumBJSL=0;
|
||||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||||
sumBJSL += CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["BJSL"].ToString().Trim());
|
||||
|
||||
int iCount = ds.Tables[0].Rows.Count;
|
||||
txtZKJF.Value = iCount * txtDCKJF.Value;
|
||||
if(sumBJSL!=0)
|
||||
txtTSKJF.Value=NumberUtils.RoundX(iCount * txtDCKJF.Value/sumBJSL,2);
|
||||
txtBJSL.Value = sumBJSL;
|
||||
FormAreaUpdate();
|
||||
Master_OnStandardQuery(null, null);
|
||||
}
|
||||
|
||||
|
||||
protected void chkTS_OnCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (chkTS.Checked)
|
||||
chkFGGS.Checked = false;
|
||||
FormAreaUpdate();
|
||||
Master_OnStandardQuery(null, null);
|
||||
}
|
||||
|
||||
protected void chkFGGS_OnCheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (chkFGGS.Checked)
|
||||
chkTS.Checked = false;
|
||||
FormAreaUpdate();
|
||||
Master_OnStandardQuery(null, null);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user