Files
2026-08-21 17:03:02 +08:00

609 lines
22 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.ModelBase;
using GThinking.N_MISPRO.Data;
using System.Reflection;
using GThinking.N_MISPRO;
using GThinking.N_MISPROAS.Web.AjaxServices;
using System.Collections.Generic;
using GThinking.N_WORKFLOW;
using GThinking.N_MISPRO.Utility;
namespace GThinking.N_XLXSBJ
{
public class SZXXInfo
{
//GZRZ数据表字段
private string _BH = string.Empty;
public string BH
{
get { return _BH; }
set { _BH = value; }
}
private string _MC = string.Empty;
public string MC
{
get { return _MC; }
set { _MC = value; }
}
private string _SJLX = string.Empty;
public string SJLX
{
get { return _SJLX; }
set { _SJLX = value; }
}
private string _DYZD = string.Empty;
public string DYZD
{
get { return _DYZD; }
set { _DYZD = value; }
}
private string _BT = string.Empty;
public string BT
{
get { return _BT; }
set { _BT = value; }
}
private string _SRFS = string.Empty;
public string SRFS
{
get { return _SRFS; }
set { _SRFS = value; }
}
private int _WIDTH = 0;
public int WIDTH
{
get { return _WIDTH; }
set { _WIDTH = value; }
}
private int _ROWS = 0;
public int ROWS
{
get { return _ROWS; }
set { _ROWS = value; }
}
private string _JLDW = string.Empty;
public string JLDW
{
get { return _JLDW; }
set { _JLDW = value; }
}
private string _MJLB = string.Empty;
public string MJLB
{
get { return _MJLB; }
set { _MJLB = value; }
}
}
//附加信息模型
public class FJXXModel : ModelBase
{
private string _BJDID = string.Empty;
public string BJDID
{
get { return _BJDID; }
set { _BJDID = value; }
}
private string _KZZF01 = string.Empty;
public string KZZF01
{
get { return _KZZF01; }
set { _KZZF01 = value; }
}
private string _KZZF02 = string.Empty;
public string KZZF02
{
get { return _KZZF02; }
set { _KZZF02 = value; }
}
private string _KZZF03 = string.Empty;
public string KZZF03
{
get { return _KZZF03; }
set { _KZZF03 = value; }
}
private string _KZZF04 = string.Empty;
public string KZZF04
{
get { return _KZZF04; }
set { _KZZF04 = value; }
}
private string _KZZF05 = string.Empty;
public string KZZF05
{
get { return _KZZF05; }
set { _KZZF05 = value; }
}
private string _KZZF06 = string.Empty;
public string KZZF06
{
get { return _KZZF06; }
set { _KZZF06 = value; }
}
private string _KZZF07 = string.Empty;
public string KZZF07
{
get { return _KZZF07; }
set { _KZZF07 = value; }
}
private string _KZZF08 = string.Empty;
public string KZZF08
{
get { return _KZZF08; }
set { _KZZF08 = value; }
}
private string _KZZF09 = string.Empty;
public string KZZF09
{
get { return _KZZF09; }
set { _KZZF09 = value; }
}
private string _KZZF10 = string.Empty;
public string KZZF10
{
get { return _KZZF10; }
set { _KZZF10 = value; }
}
private double _KZSZ01 = 0;
public double KZSZ01
{
get { return _KZSZ01; }
set { _KZSZ01 = value; }
}
private double _KZSZ02 = 0;
public double KZSZ02
{
get { return _KZSZ02; }
set { _KZSZ02 = value; }
}
private double _KZSZ03 = 0;
public double KZSZ03
{
get { return _KZSZ03; }
set { _KZSZ03 = value; }
}
private double _KZSZ04 = 0;
public double KZSZ04
{
get { return _KZSZ04; }
set { _KZSZ04 = value; }
}
private double _KZSZ05 = 0;
public double KZSZ05
{
get { return _KZSZ05; }
set { _KZSZ05 = value; }
}
private string _KZRQ01 = string.Empty;
public string KZRQ01
{
get { return _KZRQ01; }
set { _KZRQ01 = value; }
}
private string _KZRQ02 = string.Empty;
public string KZRQ02
{
get { return _KZRQ02; }
set { _KZRQ02 = value; }
}
private string _KZRQ03 = string.Empty;
public string KZRQ03
{
get { return _KZRQ03; }
set { _KZRQ03 = value; }
}
private string _KZRQ04 = string.Empty;
public string KZRQ04
{
get { return _KZRQ04; }
set { _KZRQ04 = value; }
}
private string _KZRQ05 = string.Empty;
public string KZRQ05
{
get { return _KZRQ05; }
set { _KZRQ05 = value; }
}
private string _KZWB01 = string.Empty;
public string KZWB01
{
get { return _KZWB01; }
set { _KZWB01 = value; }
}
private string _KZWB02 = string.Empty;
public string KZWB02
{
get { return _KZWB02; }
set { _KZWB02 = value; }
}
private string _KZWB03 = string.Empty;
public string KZWB03
{
get { return _KZWB03; }
set { _KZWB03 = value; }
}
private string _KZWB04 = string.Empty;
public string KZWB04
{
get { return _KZWB04; }
set { _KZWB04 = value; }
}
private string _KZWB05 = string.Empty;
public string KZWB05
{
get { return _KZWB05; }
set { _KZWB05 = value; }
}
public FJXXModel()
{ }
}
//附加信息BO
public class XLXSBJFJXXBO : BOBase
{
#region 对外方法
protected override void PreUpdateSQL()
{
base.PreUpdateSQL();
UpdateSQL.Add(@"update XLXSBJKZXX "
+ " set XLXSBJKZXX_KZSZ01 = isnull(:KZSZ01,0),"
+ " XLXSBJKZXX_KZSZ02 = isnull(:KZSZ02,0),"
+ " XLXSBJKZXX_KZSZ03 = isnull(:KZSZ03,0),"
+ " XLXSBJKZXX_KZSZ04 = isnull(:KZSZ04,0),"
+ " XLXSBJKZXX_KZSZ05 = isnull(:KZSZ05,0),"
+ " XLXSBJKZXX_KZZF01 = :KZZF01, "
+ " XLXSBJKZXX_KZZF02 = :KZZF02, "
+ " XLXSBJKZXX_KZZF03 = :KZZF03, "
+ " XLXSBJKZXX_KZZF04 = :KZZF04, "
+ " XLXSBJKZXX_KZZF05 = :KZZF05, "
+ " XLXSBJKZXX_KZZF06 = :KZZF06, "
+ " XLXSBJKZXX_KZZF07 = :KZZF07, "
+ " XLXSBJKZXX_KZZF08 = :KZZF08, "
+ " XLXSBJKZXX_KZZF09 = :KZZF09, "
+ " XLXSBJKZXX_KZZF10 = :KZZF10, "
+ " XLXSBJKZXX_KZRQ01 = :KZRQ01, "
+ " XLXSBJKZXX_KZRQ02 = :KZRQ02, "
+ " XLXSBJKZXX_KZRQ03 = :KZRQ03, "
+ " XLXSBJKZXX_KZRQ04 = :KZRQ04, "
+ " XLXSBJKZXX_KZRQ05 = :KZRQ05, "
+ " XLXSBJKZXX_KZWB01 = :KZWB01, "
+ " XLXSBJKZXX_KZWB02 = :KZWB02, "
+ " XLXSBJKZXX_KZWB03 = :KZWB03, "
+ " XLXSBJKZXX_KZWB04 = :KZWB04, "
+ " XLXSBJKZXX_KZWB05 = :KZWB05, "
+ " XLXSBJKZXX_WHR=:WHR,"
+ " XLXSBJKZXX_WHSJ=:WHSJ,"
+ " XLXSBJKZXX_WHRID=:WHRID "
+ "where XLXSBJKZXX_BJDID = :BJDID ");
}
protected override void PreInsertSQL()
{
base.PreInsertSQL();
InsertSQL.Add("insert into XLXSBJKZXX(XLXSBJKZXX_BJDID, XLXSBJKZXX_KZSZ01, XLXSBJKZXX_KZSZ02, XLXSBJKZXX_KZSZ03, XLXSBJKZXX_KZSZ04, XLXSBJKZXX_KZSZ05, "
+ " XLXSBJKZXX_KZZF01, XLXSBJKZXX_KZZF02, XLXSBJKZXX_KZZF03, XLXSBJKZXX_KZZF04, XLXSBJKZXX_KZZF05, XLXSBJKZXX_KZZF06, XLXSBJKZXX_KZZF07, XLXSBJKZXX_KZZF08, XLXSBJKZXX_KZZF09, XLXSBJKZXX_KZZF10, "
+ " XLXSBJKZXX_KZRQ01, XLXSBJKZXX_KZRQ02, XLXSBJKZXX_KZRQ03, XLXSBJKZXX_KZRQ04, XLXSBJKZXX_KZRQ05, "
+ " XLXSBJKZXX_KZWB01, XLXSBJKZXX_KZWB02, XLXSBJKZXX_KZWB03, XLXSBJKZXX_KZWB04, XLXSBJKZXX_KZWB05, "
+ " XLXSBJKZXX_WHR, XLXSBJKZXX_WHSJ, XLXSBJKZXX_WHRID ) "
+ "values(:BJDID, isnull(:KZSZ01,0), isnull(:KZSZ02,0), isnull(:KZSZ03,0), isnull(:KZSZ04,0), isnull(:KZSZ05,0), "
+ " :KZZF01, :KZZF02, :KZZF03, :KZZF04, :KZZF05, :KZZF06, :KZZF07, :KZZF08, :KZZF09, :KZZF10, "
+ " :KZRQ01, :KZRQ02, :KZRQ03, :KZRQ04, :KZRQ05, :KZWB01, :KZWB02, :KZWB03, :KZWB04, :KZWB05, :WHR, :WHSJ, :WHRID) ");
}
protected override void PreDeleteSQL()
{
base.PreDeleteSQL();
DeleteSQL.Add("delete from XLXSBJKZXX where XLXSBJKZXX_BJDID = :BJDID");
}
protected override bool BeforeSaveAction()
{
CurMO.WHR = tSession.UserName;
CurMO.WHRID = tSession.UserId;
CurMO.WHSJ = DateTime.Now.ToString();
return base.BeforeSaveAction();
}
protected override bool AfterSaveAction()
{
string sBJDID = (CurMO as FJXXModel).BJDID;
XLXSBJFJXX.UpdateLBXSFJXX(sBJDID);
return base.AfterSaveAction();
}
protected override bool DataLogicValid()
{
FJXXModel MO = CurMO as FJXXModel;
string sWPID = MO.WPID;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select XLXSBJKZXXSZ_MC, XLXSBJKZXXSZ_SJLX, XLXSBJKZXXSZ_DYZD,XLXSBJKZXXSZ_XSBZ as XSBZ ");
sSQL.Add("from XLXSBJKZXXSZ ");
sSQL.Add("where isnull(XLXSBJKZXXSZ_BT,'N') = 'Y' ");
sSQL.Add("order by XLXSBJKZXXSZ_BJSX, XLXSBJKZXXSZ_BH ");
sSQL.ParamByName("pBJDID").Value = MO.BJDID;
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
Dictionary<string, int> dicBTXX = new Dictionary<string, int>();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sXSBZ = ds.Tables[0].Rows[i]["XSBZ"].ToString().Trim();
string sXSBZC = "," + sXSBZ + ",";
if (!sXSBZ.Equals("") && !sXSBZC.Contains("," + sWPID + ","))
continue;
string sDYZD = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim();
if (!dicBTXX.ContainsKey(sDYZD))
dicBTXX.Add(sDYZD, i);
}
Type T = MO.GetType();
PropertyInfo[] PropertyList = T.GetProperties();
foreach (PropertyInfo item in PropertyList)
{
string sName = item.Name;
if (dicBTXX.ContainsKey(sName))
{
string sSJLX = ds.Tables[0].Rows[dicBTXX[sName]]["XLXSBJKZXXSZ_SJLX"].ToString().Trim();
if (sSJLX.Equals("A"))
{
double dValue = (double)item.GetValue(MO, null);
if (dValue == 0)
{
string sdMC = ds.Tables[0].Rows[dicBTXX[sName]]["XLXSBJKZXXSZ_MC"].ToString().Trim();
StateMessage.Message = sdMC + "不允许为零!";
return false;
}
}
else
{
string sValue = (string)item.GetValue(MO, null);
if (sValue.Equals(""))
{
string ssMC = ds.Tables[0].Rows[dicBTXX[sName]]["XLXSBJKZXXSZ_MC"].ToString().Trim();
StateMessage.Message = ssMC + "不允许为空!";
return false;
}
}
}
}
}
return base.DataLogicValid();
}
//将ID|NAME格式的字符特殊处理,保留ID
private string TSCL(string str)
{
string rstr = "";
foreach (string sstr in str.Split(','))
{
if (!rstr.Equals(""))
{
rstr += ",";
}
if (sstr.Contains("|"))
{
string sID = sstr.Split('|')[0];
rstr += sID;
}
else
{
rstr += sstr;
}
}
return rstr;
}
public override void SetSqlParamWithMO(TSQL SQL, ModelBase MO)
{
base.SetSqlParamWithMO(SQL, MO);
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsEdit)
{
FJXXModel fjxxmo = MO as FJXXModel;
if (fjxxmo.KZRQ01.Trim() == "")
{
SQL.ParamByName("KZRQ01").Clear();
SQL.ParamByName("KZRQ01").Value = null;
}
if (fjxxmo.KZRQ02.Trim() == "")
{
SQL.ParamByName("KZRQ02").Clear();
SQL.ParamByName("KZRQ02").Value = null;
}
if (fjxxmo.KZRQ03.Trim() == "")
{
SQL.ParamByName("KZRQ03").Clear();
SQL.ParamByName("KZRQ03").Value = null;
}
if (fjxxmo.KZRQ04.Trim() == "")
{
SQL.ParamByName("KZRQ04").Clear();
SQL.ParamByName("KZRQ04").Value = null;
}
if (fjxxmo.KZRQ05.Trim() == "")
{
SQL.ParamByName("KZRQ05").Clear();
SQL.ParamByName("KZRQ05").Value = null;
}
SQL.ParamByName("KZZF01").Clear();
SQL.ParamByName("KZZF01").Value = TSCL(fjxxmo.KZZF01);
SQL.ParamByName("KZZF02").Clear();
SQL.ParamByName("KZZF02").Value = TSCL(fjxxmo.KZZF02);
SQL.ParamByName("KZZF03").Clear();
SQL.ParamByName("KZZF03").Value = TSCL(fjxxmo.KZZF03);
SQL.ParamByName("KZZF04").Clear();
SQL.ParamByName("KZZF04").Value = TSCL(fjxxmo.KZZF04);
SQL.ParamByName("KZZF05").Clear();
SQL.ParamByName("KZZF05").Value = TSCL(fjxxmo.KZZF05);
SQL.ParamByName("KZZF06").Clear();
SQL.ParamByName("KZZF06").Value = TSCL(fjxxmo.KZZF06);
SQL.ParamByName("KZZF07").Clear();
SQL.ParamByName("KZZF07").Value = TSCL(fjxxmo.KZZF07);
SQL.ParamByName("KZZF08").Clear();
SQL.ParamByName("KZZF08").Value = TSCL(fjxxmo.KZZF08);
SQL.ParamByName("KZZF09").Clear();
SQL.ParamByName("KZZF09").Value = TSCL(fjxxmo.KZZF09);
SQL.ParamByName("KZZF10").Clear();
SQL.ParamByName("KZZF10").Value = TSCL(fjxxmo.KZZF10);
}
}
//查询附加信息记录
public List<FJXXModel> GetWFJXXList(string sBJDID)
{
CMISproSession tSession = CMISproSessionManager.GetCurrentSession();
TWorkflow _curWorkFlow = new TWorkflow(tSession, new System.Web.Caching.Cache());
string sFields = "BJDID,";
sFields += "KZZF01,KZZF02,KZZF03,KZZF04,KZZF05,KZZF06,KZZF07,KZZF08,KZZF09,KZZF10,";
sFields += "KZSZ01,KZSZ02,KZSZ03,KZSZ04,KZSZ05,KZRQ01,KZRQ02,KZRQ03,KZRQ04,KZRQ05,";
sFields += "KZWB01,KZWB02,KZWB03,KZWB04,KZWB05,";
sFields += "WHR,WHSJ";
List<FJXXModel> fjxxMOList = new List<FJXXModel>();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select XLXSBJKZXX_BJDID as BJDID, ");
sSQL.Add(" XLXSBJKZXX_KZZF01 as KZZF01, XLXSBJKZXX_KZZF02 as KZZF02, XLXSBJKZXX_KZZF03 as KZZF03, XLXSBJKZXX_KZZF04 as KZZF04, XLXSBJKZXX_KZZF05 as KZZF05, ");
sSQL.Add(" XLXSBJKZXX_KZZF06 as KZZF06, XLXSBJKZXX_KZZF07 as KZZF07, XLXSBJKZXX_KZZF08 as KZZF08, XLXSBJKZXX_KZZF09 as KZZF09, XLXSBJKZXX_KZZF10 as KZZF10, ");
sSQL.Add(" XLXSBJKZXX_KZSZ01 as KZSZ01, XLXSBJKZXX_KZSZ02 as KZSZ02, XLXSBJKZXX_KZSZ03 as KZSZ03, XLXSBJKZXX_KZSZ04 as KZSZ04, XLXSBJKZXX_KZSZ05 as KZSZ05, ");
sSQL.Add(" XLXSBJKZXX_KZRQ01 as KZRQ01, XLXSBJKZXX_KZRQ02 as KZRQ02, XLXSBJKZXX_KZRQ03 as KZRQ03, XLXSBJKZXX_KZRQ04 as KZRQ04, XLXSBJKZXX_KZRQ05 as KZRQ05, ");
sSQL.Add(" XLXSBJKZXX_KZWB01 as KZWB01, XLXSBJKZXX_KZWB02 as KZWB02, XLXSBJKZXX_KZWB03 as KZWB03, XLXSBJKZXX_KZWB04 as KZWB04, XLXSBJKZXX_KZWB05 as KZWB05, ");
sSQL.Add(" XLXSBJKZXX_WHR as WHR,XLXSBJKZXX_WHSJ as WHSJ ");
sSQL.Add(" from XLXSBJKZXX ");
sSQL.Add(" where XLXSBJKZXX_BJDID = :pBJDID ");
sSQL.Add(" order by XLXSBJKZXX_BJDID ");
sSQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sSQL);
FJXXModel fjxxMO = new FJXXModel();
if (ds.Tables[0].Rows.Count > 0)
{
string[] aField = sFields.Split(',');
foreach (string Field in aField)
{
if (Field.IndexOf("SZ") >= 0)
fjxxMO.GetType().GetProperty(Field).SetValue(fjxxMO, CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][Field].ToString().Trim()), null);
else if (Field.IndexOf("RQ") >= 0)
fjxxMO.GetType().GetProperty(Field).SetValue(fjxxMO, CMISproConvert.ConvertDate(ds.Tables[0].Rows[0][Field].ToString().Trim()), null);
else
fjxxMO.GetType().GetProperty(Field).SetValue(fjxxMO, ds.Tables[0].Rows[0][Field].ToString().Trim(), null);
}
}
fjxxMOList.Add(fjxxMO);
return fjxxMOList;
}
//判断是否存在附加信息
public bool IsExistFJXX(string sBJDID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select 1 ");
sSQL.Add(" from XLXSBJKZXX ");
sSQL.Add(" where XLXSBJKZXX_BJDID = :pBJDID ");
sSQL.Add(" order by XLXSBJKZXX_BJDID ");
sSQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
return true;
else
return false;
}
public List<FJXXModel> GetIFJXXList(int iStart, int iNum, out int iRowCount)
{
List<FJXXModel> moList = new List<FJXXModel>();
PreQuerySQL(iStart + iNum, "");
ReplaceParams();
iRowCount = OpenQueryCountSQL();
DataSet ds = dbBO.OpenDataSet(QueryFunctionSQL);
SetmoList(ds, iStart, iNum, iRowCount, ref moList);
return moList;
}
private void SetmoList(DataSet ds, int iStart, int iNum, int iRowCount, ref List<FJXXModel> moList)
{
int iMax = Math.Min(iStart + iNum, iRowCount);
for (int i = iStart; i < iMax; i++)
{
FJXXModel MO = new FJXXModel();
SetMO(ds.Tables[0].Rows[i], MO);
moList.Add(MO);
}
}
protected override void PreQuerySQL(int maxRecords, string sCondition)
{
base.PreQuerySQL(maxRecords, sCondition);
QueryFunctionSQL.Add(" XLXSBJKZXX_BJDID as BJDID, ");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZZF01 as KZZF01, XLXSBJKZXX_KZZF02 as KZZF02, XLXSBJKZXX_KZZF03 as KZZF03, XLXSBJKZXX_KZZF04 as KZZF04, XLXSBJKZXX_KZZF05 as KZZF05, ");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZZF06 as KZZF06, XLXSBJKZXX_KZZF07 as KZZF07, XLXSBJKZXX_KZZF08 as KZZF08, XLXSBJKZXX_KZZF09 as KZZF09, XLXSBJKZXX_KZZF10 as KZZF10, ");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZSZ01 as KZSZ01, XLXSBJKZXX_KZSZ02 as KZSZ02, XLXSBJKZXX_KZSZ03 as KZSZ03, XLXSBJKZXX_KZSZ04 as KZSZ04, XLXSBJKZXX_KZSZ05 as KZSZ05, ");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZRQ01 as KZRQ01, XLXSBJKZXX_KZRQ02 as KZRQ02, XLXSBJKZXX_KZRQ03 as KZRQ03, XLXSBJKZXX_KZRQ04 as KZRQ04, XLXSBJKZXX_KZRQ05 as KZRQ05, ");
QueryFunctionSQL.Add(" XLXSBJKZXX_KZWB01 as KZWB01, XLXSBJKZXX_KZWB02 as KZWB02, XLXSBJKZXX_KZWB03 as KZWB03, XLXSBJKZXX_KZWB04 as KZWB04, XLXSBJKZXX_KZWB05 as KZWB05, ");
QueryFunctionSQL.Add(" XLXSBJKZXX_WHR as WHR,XLXSBJKZXX_WHSJ as WHSJ ");
QueryFunctionSQL.Add(" from XLXSBJKZXX ");
QueryFunctionSQL.Add(" order by XLXSBJKZXX_BJDID ");
if (maxRecords > 1)
{
QueryCountSQL.Add(" from XLXSBJD ");
QueryCountSQL.Add(" where 1=1 ");
}
string sFields = "BJDID,";
sFields += "KZZF01,KZZF02,KZZF03,KZZF04,KZZF05,KZZF06,KZZF07,KZZF08,KZZF09,KZZF10,";
sFields += "KZSZ01,KZSZ02,KZSZ03,KZSZ04,KZSZ05,KZRQ01,KZRQ02,KZRQ03,KZRQ04,KZRQ05,";
sFields += "KZWB01,KZWB02,KZWB03,KZWB04,KZWB05,";
sFields += "WHR,WHSJ";
aField = sFields.Split(',');
}
#endregion
}
}