Files
N_XLXSBJ----MX/XLBJD_WBBJDMX_HTBDInfo.aspx.cs
T
2026-08-21 17:03:02 +08:00

328 lines
15 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;
namespace GThinking.N_XLXSBJ
{
public partial class XLBJD_WBBJDMX_HTBDInfo : SingleCardBase
{
XLBJD_WBBJDMX_HTBD entity = new XLBJD_WBBJDMX_HTBD();
string sWBBJDID = "";
string sXLBJDID = "";
#region Page_Load
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860043;
this.UMName = "外部线缆产品导入";
base.CurMaster = Master;
base.CurEntity = entity;
this.PageHeight = 180;
this.PageWidth = 420;
Master.EnableAttachBtn = false;
Master.EnableCancelBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableEditBtn = false;
Master.EnableInsertBtn = false;
Master.EnablePrintBtn = false;
Master.EnableRefreshBtn = false;
Master.EnableSaveBtn = false;
sWBBJDID = PageParam.GetRTrimString("WBBJDID");
sXLBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID");
base.InitPage();
if (!IsPostBack)
{
InitControl();
}
}
#endregion
#region 自定义函数
private void InitControl()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
DataSet ds = new DataSet();
SQL.Clear();
SQL.Add(" select case when isnull(HTGD_HTBH,' ')=' ' then HT_HTBH else HTGD_HTBH end as HTBH, case when isnull(HTGD_HTBH,' ')=' ' then HT_MC else HTGD_MC end as HTMC ");
SQL.Add(" from XLWBBJDML ");
SQL.Add(" left join HTGD on HTGD_HTBH=XLWBBJDML_HTBH ");
SQL.Add(" left join HT on HT_HTBH=XLWBBJDML_HTBH and isnull(HT_HTBG,'N')='N' ");
SQL.Add(" where 1=1 ");
SQL.Add(" and XLWBBJDML_WBBJDID =:pWBBJDID ");
SQL.Add(" and XLWBBJDML_BJDID = ' ' ");
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtHTBH.Text = ds.Tables[0].Rows[0]["HTBH"].ToString().Trim();
txtHTMC.Text = ds.Tables[0].Rows[0]["HTMC"].ToString().Trim();
}
if (txtHTBH.Text.Trim().Equals(""))
{
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH")))
{
txtHTBH.Text = PageParam.GetRTrimString("HTBH");
txtHTBH_TextChanged(null, null);
}
}
}
#endregion
#region 自定义按钮
protected void btnOK_Click(object sender, EventArgs e)
{
string sHTBH = txtHTBH.Text.Trim();
if (txtHTMC.Text.Trim().Equals(""))
{
ShowMessage("合同信息不合法,不允许导入!");
return;
}
//合同相关校验
//string sWFID = "XSHT_HTZX";
//string sWPID = "";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
DataSet ds = new DataSet();
//
SQL.Clear();
SQL.Add(" select 1 from HT ");
SQL.Add(" where HT_HTBH=:pHTBH ");
SQL.ParamByName("pHTBH").Value = sHTBH;
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count <= 0)
{
ShowMessage("合同信息不存在,不允许导入!");
return;
}
int iMaxXH = 0;
SQL.Clear();
SQL.Add(" select max(XSHTBDXL_XH) as MaxXH from XSHTBDXL where XSHTBDXL_HTBH=:pHTBH ");
SQL.ParamByName("pHTBH").Value = sHTBH;
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (!ds.Tables[0].Rows[0]["MaxXH"].ToString().Trim().Equals(""))
{
iMaxXH = CMISproConvert.StrToInt(ds.Tables[0].Rows[0]["MaxXH"].ToString().Trim());
}
}
try
{
dberp.BeginTrans();
//插入数据
SQL.Clear();
SQL.Add(" insert into XSHTBDXL( ");
SQL.Add(" XSHTBDXL_HTBH,XSHTBDXL_XH, ");
SQL.Add(" XSHTBDXL_LMNR01,XSHTBDXL_LMNR02,XSHTBDXL_LMNR03,XSHTBDXL_LMNR04, ");
SQL.Add(" XSHTBDXL_LMNR05, ");
SQL.Add(" XSHTBDXL_LMNR06,XSHTBDXL_LMNR07,XSHTBDXL_LMNR08, ");
SQL.Add(" XSHTBDXL_BZ,XSHTBDXL_WHR,XSHTBDXL_WHRID,XSHTBDXL_WHSJ ");
SQL.Add(" ) ");
SQL.Add(" select :pHTBH as HTBH,:maxXH+row_number() over(order by XLWBBJDMX_DRHH) as XH, ");
SQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_DYDJID,XLWBBJDMX_XLBZID, ");
SQL.Add(" XLWBBJDMX_XLYSID, ");
SQL.Add(" XLWBBJDMX_JLDW,ltrim(CONVERT(CHAR(60),STR(XLWBBJDMX_BJSL,20,6))) as BJSL,ltrim(CONVERT(CHAR(60),STR(XLWBBJDMX_CPBJ,20,6))) as CPBJ, ");
SQL.Add(" XLWBBJDMX_BZ,:pWHR,:pWHRID,:pWHSJ ");
SQL.Add(" from XLWBBJDMX ");
SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=' ' ");
SQL.ParamByName("pHTBH").Value = sHTBH;
SQL.ParamByName("maxXH").Value = iMaxXH;
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
SQL.ParamByName("pWHR").Value = tSession.UserName;
SQL.ParamByName("pWHRID").Value = tSession.UserId;
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
//更新颜色
SQL.Clear();
SQL.Add("update XSHTBDXL set XSHTBDXL_LMNR05=");
SQL.Add(" isnull((select XLXSBJCPYS_XLYSID from XLXSBJCPYS");
SQL.Add(" where exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_CPYT=XLXSBJCPYS_CPYT) ");
SQL.Add(" and XLXSBJCPYS_XLJBXHID=' ' and XLXSBJCPYS_XXJGID=' '");
SQL.Add(" ),XSHTBDXL_LMNR05) ");
SQL.Add(" where XSHTBDXL_HTBH=:pHTBH ");
SQL.Add(" and XSHTBDXL_XH>:maxXH and isnull(XSHTBDXL_LMNR05,' ')=' ' ");
SQL.ParamByName("pHTBH").Value = sHTBH;
SQL.ParamByName("maxXH").Value = iMaxXH;
dberp.ExecSQL(SQL);
SQL.Clear();
SQL.Add("update XSHTBDXL set XSHTBDXL_LMNR05=");
SQL.Add(" isnull((select XLXSBJCPYS_XLYSID from XLXSBJCPYS");
SQL.Add(" where exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_CPYT=XLXSBJCPYS_CPYT) ");
SQL.Add(" and exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_XLJBXHID=XLXSBJCPYS_XLJBXHID)");
SQL.Add(" and XLXSBJCPYS_XLJBXHID<>' ' and XLXSBJCPYS_XXJGID=' '");
SQL.Add(" ),XSHTBDXL_LMNR05) ");
SQL.Add(" where XSHTBDXL_HTBH=:pHTBH ");
SQL.Add(" and XSHTBDXL_XH>:maxXH and isnull(XSHTBDXL_LMNR05,' ')=' ' ");
SQL.ParamByName("pHTBH").Value = sHTBH;
SQL.ParamByName("maxXH").Value = iMaxXH;
dberp.ExecSQL(SQL);
SQL.Clear();
SQL.Add("update XSHTBDXL set XSHTBDXL_LMNR05=");
SQL.Add(" isnull((select XLXSBJCPYS_XLYSID from XLXSBJCPYS");
SQL.Add(" where exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_CPYT=XLXSBJCPYS_CPYT) ");
SQL.Add(" and exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_XLJBXHID=XLXSBJCPYS_XLJBXHID)");
SQL.Add(" and XLXSBJCPYS_XLJBXHID<>' ' and XLXSBJCPYS_XXJGID<>' '");
SQL.Add(" and exists(select 1 from XLGGB where XLGGB_XLGGID=replace(XSHTBDXL_LMNR02,'*','×') and XLGGB_XXJGID=XLXSBJCPYS_XXJGID)");
SQL.Add(" ),XSHTBDXL_LMNR05) ");
SQL.Add(" where XSHTBDXL_HTBH=:pHTBH ");
SQL.Add(" and XSHTBDXL_XH>:maxXH and isnull(XSHTBDXL_LMNR05,' ')=' ' ");
SQL.ParamByName("pHTBH").Value = sHTBH;
SQL.ParamByName("maxXH").Value = iMaxXH;
dberp.ExecSQL(SQL);
//默认赋值黑色
SQL.Clear();
SQL.Add("update XSHTBDXL set XSHTBDXL_LMNR05='BK' ");
SQL.Add(" where XSHTBDXL_HTBH=:pHTBH ");
SQL.Add(" and XSHTBDXL_XH>:maxXH and isnull(XSHTBDXL_LMNR05,' ')=' ' ");
SQL.ParamByName("pHTBH").Value = sHTBH;
SQL.ParamByName("maxXH").Value = iMaxXH;
dberp.ExecSQL(SQL);
//更新数据
SQL.Clear();
SQL.Add(" update XSHTBDXL set ");
SQL.Add(" XSHTBDXL_XLXHID=XSHTBDXL_LMNR01,XSHTBDXL_XLGGID=XSHTBDXL_LMNR02,");
SQL.Add(" XSHTBDXL_DYDJID=XSHTBDXL_LMNR03,XSHTBDXL_XLBZID=XSHTBDXL_LMNR04, ");
SQL.Add(" XSHTBDXL_XLYSID=XSHTBDXL_LMNR05, ");
//SQL.Add(" XSHTBDXL_LMNR10=(select XLXLB_WLID from XLXLB left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
//SQL.Add(" where case when isnull(XSBJXHTH_BJXLXHID,' ') = ' ' then XLXLB_XLXHID else XSBJXHTH_BJXLXHID end=XSHTBDXL_LMNR01 and XLXLB_XLGGID=replace(XSHTBDXL_LMNR02,'*','×') ");
//SQL.Add(" and XLXLB_DYDJID=XSHTBDXL_LMNR03 and isnull(XLXLB_XLBZID,' ')=XSHTBDXL_LMNR04 and isnull(XLXLB_XLYSID,' ')=XSHTBDXL_LMNR05), ");
SQL.Add(" XSHTBDXL_LMNR10 = ( ");
SQL.Add(" select minWLID from ");
SQL.Add(" (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID, minWLID ");
SQL.Add(" from ( ");
SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where 1=1 ");
SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID ");
SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID ");
SQL.Add(" union all ");
SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID ");
SQL.Add(" from XLXLB ");
SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' ");
SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') ");
SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) ");
SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID ");
SQL.Add(" ) ");
SQL.Add(" a where a.XLXHID= XSHTBDXL_LMNR01 and a.XLGGID=replace(XSHTBDXL_LMNR02,'*','×') ");
SQL.Add(" and a.DYDJID=XSHTBDXL_LMNR03 and isnull(a.XLBZID,' ')= XSHTBDXL_LMNR04 and isnull(a.XLYSID,' ') = XSHTBDXL_LMNR05 ");
SQL.Add(" ), ");
SQL.Add(" XSHTBDXL_WHR=:pWHR,XSHTBDXL_WHRID=:pWHRID, XSHTBDXL_WHSJ = :pWHSJ ");
SQL.Add(" where XSHTBDXL_HTBH=:pHTBH ");
SQL.Add(" and XSHTBDXL_XH>:maxXH ");
SQL.ParamByName("pHTBH").Value = sHTBH;
SQL.ParamByName("maxXH").Value = iMaxXH;
SQL.ParamByName("pWHR").Value = tSession.UserName;
SQL.ParamByName("pWHRID").Value = tSession.UserId;
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
SQL.Clear();
SQL.Add("update XLWBBJDML set");
SQL.Add(" XLWBBJDML_HTBH=:pHTBH");
SQL.Add(" where XLWBBJDML_WBBJDID=:pWBBJDID ");
SQL.Add(" and XLWBBJDML_BJDID=' ' ");
SQL.ParamByName("pHTBH").Value = sHTBH;
SQL.ParamByName("pWBBJDID").Value = sWBBJDID;
dberp.ExecSQL(SQL);
dberp.CommitTrans();
ShowMessage("导入销售合同线缆标的成功!");
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage("导入销售合同线缆标的出现异常!错误信息:" + ex.ToString().Trim());
return;
}
DialogOperationScript dos = new DialogOperationScript(this);
//{
// dos.SetOwnerControlValue(PageParam.GetRTrimString("txtRetDYDJID"), cbxDefault.SelectedValue.Trim());
// dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshDYDJID"));
//}
dos.CloseSelf();
dos.Execute();
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
protected void txtHTBH_TextChanged(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
DataSet ds = new DataSet();
string sHTBH = txtHTBH.Text.Trim();
try
{
sSQL.Clear();
sSQL.Add("select HTGD_MC from HTGD where HTGD_HTBH = :pHTBH");
sSQL.ParamByName("pHTBH").Value = sHTBH;
ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtHTMC.Text = ds.Tables[0].Rows[0][0].ToString().Trim();
}
else
{
sSQL.Clear();
sSQL.Add("select HT_MC from HT where HT_HTBH = :pHTBH");
sSQL.ParamByName("pHTBH").Value = sHTBH;
ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtHTMC.Text = ds.Tables[0].Rows[0][0].ToString().Trim();
}
else
{
txtHTMC.Text = "";
}
}
}
catch
{
txtHTMC.Text = "";
ShowMessage("数据库连接失败,请联系系统管理员!"); ;
}
}
#endregion
}
}