236 lines
10 KiB
C#
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
|
|
}
|
|
}
|