20230606新增费用申请页面、项目列表按活跃度排序

This commit is contained in:
2023-06-06 17:01:34 +08:00
parent 5984687629
commit e4871bc690
105 changed files with 63242 additions and 2216 deletions
+72 -16
View File
@@ -1,8 +1,10 @@
namespace BLL
{
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
public static class ProjectService
{
@@ -272,31 +274,85 @@
orderby x.ProjectCode descending
select x).ToList();
}
List<Model.Base_Project> getLists = new List<Model.Base_Project>();
var getUser = Person_PersonsService.GetPerson_PersonsById(userId);
if (getUser != null)
if (getUser != null && !string.IsNullOrEmpty(getUser.Account))
{
List<string> roleidList = Funs.GetStrListByStr(getUser.RoleIds, ',');
/// 获取角色类型
var getRoleP = Funs.DB.Sys_RolePower.FirstOrDefault(x => roleidList.Contains(x.RoleId) && x.IsOffice == false);
if (getRoleP != null)
//List<string> roleidList = Funs.GetStrListByStr(getUser.RoleIds, ',');
///// 获取角色类型
//var getRoleP = Funs.DB.Sys_RolePower.FirstOrDefault(x => roleidList.Contains(x.RoleId) && x.IsOffice == false);
if (getUser.IsOffice == true)
{
return (from x in Funs.DB.Base_Project
where x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1
orderby x.ProjectCode descending
select x).ToList();
getLists = (from x in Funs.DB.Base_Project
where x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1
orderby x.ProjectCode descending
select x).ToList();
}
else
{
return (from x in Funs.DB.Base_Project
join y in Funs.DB.SitePerson_Person on x.ProjectId equals y.ProjectId
where x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1 && y.PersonId == userId
orderby x.ProjectCode descending
select x).ToList();
var getProjectIdList = Funs.DB.SitePerson_Person.Where(x => x.PersonId == userId && x.RoleIds != null).Select(x => x.ProjectId);
if (getProjectIdList.Count() > 0)
{
getLists = (from x in Funs.DB.Base_Project
where x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1 && getProjectIdList.Contains(x.ProjectId)
orderby x.ProjectCode descending
select x).ToList();
}
}
}
else
return getLists;
}
/// <summary>
/// 获取userId参与项目下拉框 -- 按操作频率排序
/// </summary>
/// <returns></returns>
public static List<Model.Base_Project> GetSortIndexProjectByUserIdDropDownList(string userId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
return null;
IQueryable<Model.Base_Project> getProjects = null;
getProjects = from x in db.Base_Project
where x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1
select x;
if (userId != Const.sysglyId && userId != Const.hfnbdId && userId != Const.sedinId)
{
var getUser = Person_PersonsService.GetPerson_PersonsById(userId);
if (getUser != null && !string.IsNullOrEmpty(getUser.Account))
{
//List<string> roleidList = Funs.GetStrListByStr(getUser.RoleIds, ',');
///// 获取角色类型
//var getRoleP = db.Sys_RolePower.FirstOrDefault(x => roleidList.Contains(x.RoleId) && x.IsOffice == false);
if (getUser.IsOffice != true)
{
var getProjectIdList = db.SitePerson_Person.Where(x => x.PersonId == userId && x.RoleIds != null).Select(x => x.ProjectId);
if (getProjectIdList.Count() > 0)
{
getProjects = getProjects.Where(x => getProjectIdList.Contains(x.ProjectId));
}
}
}
}
var pcount = from x in db.Sys_Log
where x.ProjectId != null && x.OperationTime > DateTime.Now.AddDays(-3)
group x by x.ProjectId into g
select new { g.First().ProjectId, count = g.Count() };
List<Model.Base_Project> getList = new List<Base_Project>();
if (getProjects.Count() > 0)
{
getList = (from x in getProjects
join y in pcount on x.ProjectId equals y.ProjectId into PP
from p in PP.DefaultIfEmpty()
orderby p.count descending
select x).ToList();
}
return getList;
}
}
+108
View File
@@ -195,5 +195,113 @@
orderby x.UnitType, y.UnitCode
select x).ToList();
}
#region
/// <summary>
///获取项目单位信息
/// </summary>
/// <returns></returns>
public static Model.Project_ProjectUnitItem GetProjectUnitItemById(string ProjectUnitItemId)
{
return Funs.DB.Project_ProjectUnitItem.FirstOrDefault(e => e.ProjectUnitItemId == ProjectUnitItemId);
}
/// <summary>
///
/// </summary>
/// <param name="ProjectId"></param>
/// <param name="UnitId"></param>
/// <returns></returns>
public static List<Model.Project_ProjectUnitItem> GetProjectUnitItemList(string ProjectId, string UnitId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getData = from x in db.Project_ProjectUnitItem where x.ProjectId == ProjectId && x.UnitId == UnitId select x;
return getData.ToList();
}
}
/// <summary>
/// 获取 总HSE费用
/// </summary>
/// <param name="ProjectId"></param>
/// <param name="UnitId"></param>
/// <returns></returns>
public static decimal GetSumHSECost(string ProjectId, string UnitId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
decimal sumCost = 0;
var getData = from x in db.Project_ProjectUnitItem where x.ProjectId == ProjectId && x.UnitId == UnitId select x;
if (getData.Count() > 0)
{
sumCost = getData.Sum(x => x.HSEMoney ?? 0);
}
return sumCost;
}
}
/// <summary>
/// 增加项目单位信息
/// </summary>
/// <returns></returns>
public static void AddProjectUnitItem(Project_ProjectUnitItem projectUnit)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Project_ProjectUnitItem newProjectUnit = new Project_ProjectUnitItem
{
ProjectUnitItemId = SQLHelper.GetNewID(),
ProjectId = projectUnit.ProjectId,
UnitId = projectUnit.UnitId,
ContractNum = projectUnit.ContractNum,
TotalMoney = projectUnit.TotalMoney,
HSEMoney = projectUnit.HSEMoney,
CompileManId = projectUnit.CompileManId,
CompileDate = projectUnit.CompileDate,
};
db.Project_ProjectUnitItem.InsertOnSubmit(newProjectUnit);
db.SubmitChanges();
}
}
/// <summary>
///修改项目单位信息
/// </summary>
/// <param name="projectUnit"></param>
public static void UpdateProjectUnitItem(Model.Project_ProjectUnitItem projectUnit)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Project_ProjectUnitItem newProjectUnit = db.Project_ProjectUnitItem.FirstOrDefault(e => e.ProjectUnitItemId == projectUnit.ProjectUnitItemId);
if (newProjectUnit != null)
{
newProjectUnit.ContractNum = projectUnit.ContractNum;
newProjectUnit.TotalMoney = projectUnit.TotalMoney;
newProjectUnit.HSEMoney = projectUnit.HSEMoney;
db.SubmitChanges();
}
}
}
/// <summary>
/// 根据项目单位Id删除一个项目单位信息
/// </summary>
/// <param name="projectUnitId"></param>
public static void DeleteProjectUnitItemById(string ProjectUnitItemId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Project_ProjectUnitItem delProjectUnit = db.Project_ProjectUnitItem.FirstOrDefault(e => e.ProjectUnitItemId == ProjectUnitItemId);
if (delProjectUnit != null)
{
db.Project_ProjectUnitItem.DeleteOnSubmit(delProjectUnit);
db.SubmitChanges();
}
}
}
#endregion
}
}