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

236 lines
10 KiB
C#

using System;
using System.Data;
using System.Configuration;
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_MISPRO.Data;
using System.Collections.Generic;
using GThinking.N_MISPRO.Utility;
namespace GThinking.N_XLXSBJ
{
[TableMap(DB = "DBERP", DbTableName = "XLXSJGBPZ", Umid = 100860036, IsWorkFlow = false, UseWhr = true,
QuerySelSql = "select XLXSJGBPZ_JGBPZDH,XLXSJGBPZ_MXBH,XLXSJGBPZ_TJYS,XLXSJGBPZ_CPMLID,"
+ " XLXSJGBPZ_BJCLIDS,XLXSJGBPZ_BZ,XLXSJGBPZ_WHR,XLXSJGBPZ_WHRID,XLXSJGBPZ_WHSJ"
+ " from XLXSJGBPZ where 1=1",
EntitySelSql = "select XLXSJGBPZ_JGBPZDH,XLXSJGBPZ_JGBPZDH as OLDJGBPZDH,XLXSJGBPZ_MXBH,XLXSJGBPZ_TJYS,XLXSJGBPZ_CPMLID,"
+ " XLXSJGBPZ_BJCLIDS,XLXSJGBPZ_BZ,XLXSJGBPZ_WHR,XLXSJGBPZ_WHRID,XLXSJGBPZ_WHSJ"
+ " from XLXSJGBPZ where XLXSJGBPZ_JGBPZDH=:XLXSJGBPZ_JGBPZDH ",
UpdateSql = " update XLXSJGBPZ set XLXSJGBPZ_JGBPZDH=:XLXSJGBPZ_JGBPZDH,XLXSJGBPZ_MXBH=:XLXSJGBPZ_MXBH,XLXSJGBPZ_TJYS=:XLXSJGBPZ_TJYS,XLXSJGBPZ_CPMLID=:XLXSJGBPZ_CPMLID,"
+ " XLXSJGBPZ_BJCLIDS=:XLXSJGBPZ_BJCLIDS,XLXSJGBPZ_BZ=:XLXSJGBPZ_BZ,XLXSJGBPZ_WHR=:XLXSJGBPZ_WHR,XLXSJGBPZ_WHRID=:XLXSJGBPZ_WHRID,XLXSJGBPZ_WHSJ=:XLXSJGBPZ_WHSJ " + "\r\n"
+ " where XLXSJGBPZ_JGBPZDH=:OLDJGBPZDH ",
InsertSql = " insert into XLXSJGBPZ(XLXSJGBPZ_JGBPZDH,XLXSJGBPZ_MXBH,XLXSJGBPZ_TJYS,XLXSJGBPZ_CPMLID, "
+ " XLXSJGBPZ_BJCLIDS,XLXSJGBPZ_BZ,XLXSJGBPZ_WHR,XLXSJGBPZ_WHRID,XLXSJGBPZ_WHSJ) "
+ " values(:XLXSJGBPZ_JGBPZDH,:XLXSJGBPZ_MXBH,:XLXSJGBPZ_TJYS,:XLXSJGBPZ_CPMLID, "
+ " :XLXSJGBPZ_BJCLIDS,:XLXSJGBPZ_BZ,:XLXSJGBPZ_WHR,:XLXSJGBPZ_WHRID,:XLXSJGBPZ_WHSJ)",
DeleteSql = " delete from XLXSJGBPZ where XLXSJGBPZ_JGBPZDH=:XLXSJGBPZ_JGBPZDH ")]
public class JGBPZ : EntityManager
{
#region 数据实体
private string _XLXSJGBPZ_JGBPZDH;
[ColumnMap(DbField = "XLXSJGBPZ_JGBPZDH", CtrlName = "txtJGBPZDH", Type = FieldType.C, DbTitle = "配置单号", DefaultValue = "",
IsAllowNull = true, IsKey = true, Length = 6)]
public string XLXSJGBPZ_JGBPZDH
{
get { return _XLXSJGBPZ_JGBPZDH; }
set { _XLXSJGBPZ_JGBPZDH = value; }
}
private string _OLDJGBPZDH;
[ColumnMap(DbField = "OLDJGBPZDH", CtrlName = "txtOLDJGBPZDH", Type = FieldType.HiddenField, DbTitle = "原配置单号", DefaultValue = "",
IsAllowNull = true, IsKey = false, Length = 6, PrintVisible = false)]
public string OLDJGBPZDH
{
get { return _OLDJGBPZDH; }
set { _OLDJGBPZDH = value; }
}
private string _XLXSJGBPZ_MXBH;
[ColumnMap(DbField = "XLXSJGBPZ_MXBH", CtrlName = "cbxMXBH", Type = FieldType.CBX, DbTitle = "价格表类型", DefaultValue = "",
IsAllowNull = false, IsKey = false, Length = 3)]
public string XLXSJGBPZ_MXBH
{
get { return _XLXSJGBPZ_MXBH; }
set { _XLXSJGBPZ_MXBH = value; }
}
private string _XLXSJGBPZ_TJYS;
[ColumnMap(DbField = "XLXSJGBPZ_TJYS", CtrlName = "cbxTJYS", Type = FieldType.CBX, DbTitle = "价格表调价因素", DefaultValue = "",
IsAllowNull = false, IsKey = false, Length = 1)]
public string XLXSJGBPZ_TJYS
{
get { return _XLXSJGBPZ_TJYS; }
set { _XLXSJGBPZ_TJYS = value; }
}
private string _XLXSJGBPZ_CPMLID;
[ColumnMap(DbField = "XLXSJGBPZ_CPMLID", CtrlName = "cbxCPMLID", Type = FieldType.CBX, DbTitle = "产品目录", DefaultValue = "",
IsAllowNull = false, IsKey = false, Length = 2)]
public string XLXSJGBPZ_CPMLID
{
get { return _XLXSJGBPZ_CPMLID; }
set { _XLXSJGBPZ_CPMLID = value; }
}
private string _XLXSJGBPZ_BJCLIDS;
[ColumnMap(DbField = "XLXSJGBPZ_BJCLIDS", CtrlName = "cbxBJCLIDS", Type = FieldType.CL, DbTitle = "行情分段材料", DefaultValue = "",
IsAllowNull = true, IsKey = false, Length = 250)]
public string XLXSJGBPZ_BJCLIDS
{
get { return _XLXSJGBPZ_BJCLIDS; }
set { _XLXSJGBPZ_BJCLIDS = value; }
}
private string _XLXSJGBPZ_BZ;
[ColumnMap(DbField = "XLXSJGBPZ_BZ", CtrlName = "txtBZ", DbTitle = "备注", Type = FieldType.C, DefaultValue = "",
IsAllowNull = true, IsKey = false, Length = 250)]
public string XLXSJGBPZ_BZ
{
get { return _XLXSJGBPZ_BZ; }
set { _XLXSJGBPZ_BZ = value; }
}
// 私有变量维护人
private string _XLXSJGBPZ_WHR;
[ColumnMap(DbField = "XLXSJGBPZ_WHR", CtrlName = "txtWHR", Type = FieldType.C, DbTitle = "维护人", DefaultValue = "",
IsAllowNull = true, IsKey = false, Length = 30)]
public string XLXSJGBPZ_WHR
{
get { return _XLXSJGBPZ_WHR; }
set { _XLXSJGBPZ_WHR = value; }
}
// 私有变量维护人工号
private string _XLXSJGBPZ_WHRID;
[ColumnMap(DbField = "XLXSJGBPZ_WHRID", CtrlName = "txtWHRID", Type = FieldType.HiddenField, DbTitle = "维护人ID", DefaultValue = "",
IsAllowNull = true, IsKey = false, Length = 10)]
public string XLXSJGBPZ_WHRID
{
get { return _XLXSJGBPZ_WHRID; }
set { _XLXSJGBPZ_WHRID = value; }
}
// 私有变量维护时间
private string _XLXSJGBPZ_WHSJ;
[ColumnMap(DbField = "XLXSJGBPZ_WHSJ", CtrlName = "datWHSJ", Type = FieldType.DT, DbTitle = "维护时间", DefaultValue = "",
IsAllowNull = false, IsKey = true, Length = 18)]
public string XLXSJGBPZ_WHSJ
{
get { return _XLXSJGBPZ_WHSJ; }
set { _XLXSJGBPZ_WHSJ = value; }
}
#endregion
#region 公用函数
public static string GetJGCIDS(TDatabase dberp, TSQL SQL, string JGBPZDH, string CLHQZH, string CPMLIDS, string BJCLIDS, ref string sErrorMsg)
{
string sJGCIDs = "";
//包含的单一产品目录
string[] sCPMLIDs = CPMLIDS.Split(',');
//构建当前选择的分段组各材料的段号情况
Dictionary<string, string> dicCLHQDH = new Dictionary<string, string>();
SQL.Clear();
SQL.Add("select XLXSJGBPZCLHQFD_BJCLID,XLXSJGBPZCLHQFD_CLHQDH ");
SQL.Add(" from XLXSJGBPZCLHQFD");
SQL.Add(" where XLXSJGBPZCLHQFD_JGBPZDH=:pJGBPZDH");
SQL.Add(" and XLXSJGBPZCLHQFD_CLHQZH=:pCLHQZH");
SQL.Add(" and" + CMISproDataBase.GetWhereEqual("XLXSJGBPZCLHQFD_BJCLID", BJCLIDS));
SQL.Add(" order by XLXSJGBPZCLHQFD_BJCLID");
SQL.ParamByName("pJGBPZDH").Value = JGBPZDH;
SQL.ParamByName("pCLHQZH").Value = CLHQZH;
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dicCLHQDH.Add(ds.Tables[0].Rows[i]["XLXSJGBPZCLHQFD_BJCLID"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSJGBPZCLHQFD_CLHQDH"].ToString().Trim());
}
//(单一目录ID,价格表ID)
Dictionary<string, string> dicJGCID = new Dictionary<string, string>();
//把单一产品目录的‘行情分段材料’找出来
SQL.Clear();
SQL.Add("select XLXSJGBPZ_JGBPZDH,XLXSJGBPZ_CPMLID,XLXSJGBPZ_BJCLIDS from XLXSJGBPZ where " + CMISproDataBase.GetWhereEqual("XLXSJGBPZ_CPMLID", CPMLIDS));
SQL.Add(" order by XLXSJGBPZ_CPMLID");
DataSet dsML = dberp.OpenDataSet(SQL);
for (int i = 0; i < dsML.Tables[0].Rows.Count; i++)
{
string sDYJGBPZDH = dsML.Tables[0].Rows[i]["XLXSJGBPZ_JGBPZDH"].ToString().Trim();
string sDYCPMLID = dsML.Tables[0].Rows[i]["XLXSJGBPZ_CPMLID"].ToString().Trim();
string[] sBJCLIDs = dsML.Tables[0].Rows[i]["XLXSJGBPZ_BJCLIDS"].ToString().Trim().Split(',');
SQL.Clear();
SQL.Add("select XLXSJGBPZJGB_CLHQZH,XLXSJGBPZJGB_JGBID");
SQL.Add(" from XLXSJGBPZJGB");
for (int j = 0; j < sBJCLIDs.Length; j++)
{
SQL.Add(string.Format(" ,XLXSJGBPZCLHQFD cpmlclhqfd{0}", Convert.ToString(j + 1)));
}
SQL.Add(" where XLXSJGBPZJGB_JGBPZDH=:pDYJGBPZDH");
for (int j = 0; j < sBJCLIDs.Length; j++)
{
SQL.Add(string.Format(" and cpmlclhqfd{0}.XLXSJGBPZCLHQFD_JGBPZDH=XLXSJGBPZJGB_JGBPZDH", Convert.ToString(j + 1)));
SQL.Add(string.Format(" and cpmlclhqfd{0}.XLXSJGBPZCLHQFD_CLHQZH=XLXSJGBPZJGB_CLHQZH", Convert.ToString(j + 1)));
SQL.Add(string.Format(" and cpmlclhqfd{0}.XLXSJGBPZCLHQFD_BJCLID='{1}'", Convert.ToString(j + 1), sBJCLIDs[j].Trim()));
SQL.Add(string.Format(" and cpmlclhqfd{0}.XLXSJGBPZCLHQFD_CLHQDH='{1}'", Convert.ToString(j + 1), dicCLHQDH[sBJCLIDs[j].Trim()]));
}
SQL.Add(" order by XLXSJGBPZJGB_CLHQZH");
SQL.ParamByName("pDYJGBPZDH").Value = sDYJGBPZDH;
DataSet dsTmp = dberp.OpenDataSet(SQL);
if (dsTmp.Tables[0].Rows.Count > 0)
{
dicJGCID.Add(sDYCPMLID, dsTmp.Tables[0].Rows[0]["XLXSJGBPZJGB_JGBID"].ToString().Trim());
}
}
for (int i = 0; i < sCPMLIDs.Length; i++)
{
if (!dicJGCID.ContainsKey(sCPMLIDs[i].Trim()) || dicJGCID[sCPMLIDs[i].Trim()].Equals(""))
{
sErrorMsg = "没有在产品目录[" + sCPMLIDs[i].Trim() + "]下匹配到行情范围适用的价格表!";
return "";
}
else
{
sJGCIDs += dicJGCID[sCPMLIDs[i].Trim()] + ",";
}
}
sJGCIDs = sJGCIDs.TrimEnd(',');
return sJGCIDs;
}
/// <summary>
/// 根据调价因素获取基价来源
/// </summary>
public static string GetJJLY(string sTJYS)
{
string sJJLY = "";
if (sTJYS.Equals("0") || sTJYS.Equals("1"))
{
sJJLY = "A";
}
else if (sTJYS.Equals("2"))
{
sJJLY = "B";
}
return sJJLY;
}
#endregion
}
}