SGGL_SGY/SGGL/FineUIPro.Web/ProjectData/MainDataProjectList.aspx.cs

409 lines
13 KiB
C#
Raw Normal View History

2025-02-19 15:58:42 +08:00
using BLL;
using FineUIPro.Web.BaseInfo;
using Microsoft.Office.Interop.Word;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using static System.Windows.Forms.AxHost;
namespace FineUIPro.Web.ProjectData
{
public partial class MainDataProjectList : PageBase
{
/// <summary>
/// 定义项
/// </summary>
public string URLToken
{
get
{
return (string)ViewState["URLToken"];
}
set
{
ViewState["URLToken"] = value;
}
}
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
////权限按钮方法
this.GetButtonPower();
Funs.DropDownPageSize(this.ddlPageSize);
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
}
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT [project_id]
,[project_name]
,[project_code]
,[project_short_name]
,[project_category_code]
,[project_category]
,[project_type]
,[project_state_code]
,[project_state]
,[configuration_project_manager]
,[project_planned_start_time]
,[project_planned_complete_time]
,[sysdataid]
,[createtime]
,[modifytime]
,[version]
,[isusedcode]
,[sourceappcode]
,[state]
FROM [dbo].[MainData_Project] ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim()))
{
strSql += "where ProjectName LIKE @ProjectName";
listStr.Add(new SqlParameter("@ProjectName", "%" + this.txtProjectName.Text.Trim() + "%"));
}
strSql += " order by createtime desc";
SqlParameter[] parameter = listStr.ToArray();
System.Data.DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
}
#endregion
#region Grid
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid();
}
#endregion
/// <summary>
/// 右键编辑事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEnable_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
bool isShow = false;
if (Grid1.SelectedRowIndexArray.Length == 1)
{
isShow = true;
}
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
var getBaseProject = Funs.DB.MainData_Project.FirstOrDefault(x => x.Project_id == rowID);
if (getBaseProject != null)
{
var getProject = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectCode == getBaseProject.Project_code || x.ProjectName == getBaseProject.Project_name);
if (getProject != null)
{
getProject.ProjectName = getBaseProject.Project_name;
getProject.ProjectCode = getBaseProject.Project_code;
getProject.ShortName = getBaseProject.Project_short_name;
getProject.StartDate = getBaseProject.Project_planned_start_time ;
getProject.EndDate = getBaseProject.Project_planned_complete_time;
if (getBaseProject.Project_state == "完工")
{
getProject.ProjectState = "3";
getProject.ProjectState2 = "5";
}
else if (getBaseProject.Project_state == "暂停")
{
getProject.ProjectState = "2";
getProject.ProjectState2 = "9";
}
else if (getBaseProject.Project_state == "运行")
{
getProject.ProjectState = "1";
getProject.ProjectState2 = "3";
}
else if (getBaseProject.Project_state == "立项")
{
getProject.ProjectState = "2";
getProject.ProjectState2 = "1";
}
else if (getBaseProject.Project_state == "关闭")
{
getProject.ProjectState = "3";
getProject.ProjectState2 = "7";
}
getProject.DataSource = "数据同步";
Funs.DB.SubmitChanges();
}
else
{
Model.Base_Project newProject = new Model.Base_Project
{
ProjectId = getBaseProject.Project_id
};
newProject.ProjectName = getBaseProject.Project_name;
newProject.ShortName = getBaseProject.Project_short_name;
newProject.ProjectCode = getBaseProject.Project_code;
newProject.StartDate = getBaseProject.Project_planned_start_time;
newProject.EndDate = getBaseProject.Project_planned_complete_time;
newProject.ProjectAttribute = "GONGCHENG";
if (getBaseProject.Project_state == "完工")
{
newProject.ProjectState = "3";
newProject.ProjectState2 = "5";
}
else if (getBaseProject.Project_state == "暂停")
{
newProject.ProjectState = "2";
newProject.ProjectState2 = "9";
}
else if (getBaseProject.Project_state == "运行")
{
newProject.ProjectState = "1";
newProject.ProjectState2 = "3";
}
else if (getBaseProject.Project_state == "立项")
{
newProject.ProjectState = "2";
newProject.ProjectState2 = "1";
}
else if (getBaseProject.Project_state == "关闭")
{
newProject.ProjectState = "3";
newProject.ProjectState2 = "7";
}
newProject.DataSource = "数据同步";
Funs.DB.Base_Project.InsertOnSubmit(newProject);
Funs.DB.SubmitChanges();
}
}
}
BindGrid();
}
}
protected string ConvertEnable(object projectId)
{
string res = "";
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId.ToString());
if (project != null)
{
res = "已启用";
}
return res;
}
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.SeverProjectListMenuId);
if (buttonList.Count() > 0)
{
}
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
protected void btnImport_Click(object sender, EventArgs e)
{
//同步项目
int total = 10;
int pageSize = 20;
int pageIndex = 0;
while (pageSize * pageIndex <= total)
{
string pushContent = string.Empty;
var dictTypeCode = new
{
criteria = new { _expr = new[] { new { _property = "project_state_code", _value = "1", _op = "=" }, new { _property = "isusedcode", _value = "0", _op = "=" } } },
pageSize = pageSize,
pageIndex = pageIndex
};
Hashtable newToken = new Hashtable
{
{ "userName", "nuobida_construction" },
{ "password", "nuobida@2023" },
{ "ClientId", "com.tcc.pm.sggl" },
{ "OperationCode", "com.tcc.dm.mdm.pm.basicinfo" }
};
pushContent = JsonConvert.SerializeObject(dictTypeCode);
string returndata = APIGetHttpService.OutsideHttp("https://esb.china-tcc.com:9090/com/tcc/dm/mdm/TCC_TM_PM_BASIC_INFO", "POST", "application/json;charset=utf-8", newToken, pushContent);
if (!string.IsNullOrEmpty(returndata))
{
JObject obj = JObject.Parse(returndata);
total = int.Parse(obj["total"].ToString());
string datas = obj["datas"].ToString();
JArray arr = JArray.Parse(datas);
foreach (var item in arr)
{
string project_name = item["project_name"] != null ? item["project_name"].ToString():"";
string project_code = item["project_code"] != null ? item["project_code"].ToString():"";
string project_short_name = item["project_short_name"] != null ? item["project_short_name"].ToString():"";
string project_category_code = item["project_category_code"] != null ? item["project_category_code"].ToString():"";
string project_category = item["project_category"] != null ? item["project_category"].ToString():"";
string project_type = item["project_type"] != null ? item["project_type"].ToString():"";
string project_state_code = item["project_state_code"] != null ? item["project_state_code"].ToString():"";
string project_state = item["project_state"] != null ? item["project_state"].ToString():"";
string configuration_project_manager = item["configuration_project_manager"] != null ? item["configuration_project_manager"].ToString():"";
string project_planned_start_time = item["project_planned_start_time"] != null ? item["project_planned_start_time"].ToString():"";
string project_planned_complete_time = item["project_planned_complete_time"] != null ? item["project_planned_complete_time"].ToString():"";
string sysdataid = item["sysdataid"] != null ? item["sysdataid"].ToString():"";
string createtime = item["createtime"] != null ? item["createtime"].ToString():"";
string modifytime = item["modifytime"] != null ? item["modifytime"].ToString():"";
string version = item["version"] != null ? item["version"].ToString():"";
string isusedcode = item["isusedcode"] != null ? item["isusedcode"].ToString():"";
string sourceappcode = item["sourceappcode"] != null ? item["sourceappcode"].ToString():"";
string state = item["state"]!=null?item["state"].ToString():"";
if (!string.IsNullOrEmpty(project_code))
{
var getProject = Funs.DB.MainData_Project.FirstOrDefault(x => x.Project_code == project_code || x.Project_name == project_name);
if (getProject != null)
{
getProject.Project_name = project_name;
getProject.Project_code = project_code;
getProject.Project_short_name = project_short_name;
getProject.Project_category_code = project_category_code;
getProject.Project_category = project_category;
getProject.Project_type = project_type;
getProject.Project_state_code = project_state_code;
getProject.Project_state = project_state;
getProject.Configuration_project_manager = configuration_project_manager;
getProject.Project_planned_start_time = Funs.GetNewDateTime(project_planned_start_time);
getProject.Project_planned_complete_time = Funs.GetNewDateTime(project_planned_complete_time);
getProject.Sysdataid = sysdataid;
getProject.Createtime = Funs.GetNewDateTime(createtime);
getProject.Modifytime = Funs.GetNewDateTime(modifytime);
getProject.Version = version;
getProject.Isusedcode = isusedcode;
getProject.Sourceappcode = sourceappcode;
getProject.State = state;
Funs.DB.SubmitChanges();
}
else
{
var baseProject = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectCode == project_code || x.ProjectName == project_name);
getProject = new Model.MainData_Project
{
Project_id = SQLHelper.GetNewID(),
};
if (baseProject != null)
{
getProject.Project_id = baseProject.ProjectId;
}
getProject.Project_name = project_name;
getProject.Project_code = project_code;
getProject.Project_short_name = project_short_name;
getProject.Project_category_code = project_category_code;
getProject.Project_category = project_category;
getProject.Project_type = project_type;
getProject.Project_state_code = project_state_code;
getProject.Project_state = project_state;
getProject.Configuration_project_manager = configuration_project_manager;
getProject.Project_planned_start_time = Funs.GetNewDateTime(project_planned_start_time);
getProject.Project_planned_complete_time = Funs.GetNewDateTime(project_planned_complete_time);
getProject.Sysdataid = sysdataid;
getProject.Createtime = Funs.GetNewDateTime(createtime);
getProject.Modifytime = Funs.GetNewDateTime(modifytime);
getProject.Version = version;
getProject.Isusedcode = isusedcode;
getProject.Sourceappcode = sourceappcode;
getProject.State = state;
Funs.DB.MainData_Project.InsertOnSubmit(getProject);
Funs.DB.SubmitChanges();
}
}
}
}
pageIndex++;
}
BindGrid();
}
}
}