fix:问题修改
This commit is contained in:
@@ -5,6 +5,8 @@ using System;
|
||||
using System.CodeDom;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace FineUIPro.Web
|
||||
{
|
||||
@@ -43,48 +45,151 @@ namespace FineUIPro.Web
|
||||
/// </summary>
|
||||
private void getSitePerson()
|
||||
{
|
||||
int AllCount = 0;
|
||||
//var getallin = APIPageDataService.getPersonInOutNum(this.ProjectId, DateTime.Now.AddDays(-1));
|
||||
DateTime dateValue = DateTime.Now.AddDays(-1);
|
||||
List<Model.PageDataPersonInOutItem> getallin = new List<Model.PageDataPersonInOutItem>();
|
||||
var getInMaxs = from x in Funs.DB.SitePerson_Person
|
||||
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
|
||||
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsUsed == true
|
||||
select new Model.PageDataPersonInOutItem
|
||||
{
|
||||
PersonId = x.PersonId,
|
||||
PostType = y.PostType,
|
||||
WorkPostId = x.WorkPostId,
|
||||
};
|
||||
if (getInMaxs.Count() > 0)
|
||||
// int AllCount = 0;
|
||||
// //var getallin = APIPageDataService.getPersonInOutNum(this.ProjectId, DateTime.Now.AddDays(-1));
|
||||
// DateTime dateValue = DateTime.Now.AddDays(-1);
|
||||
// List<Model.PageDataPersonInOutItem> getallin = new List<Model.PageDataPersonInOutItem>();
|
||||
// var getInMaxs = from x in Funs.DB.SitePerson_Person
|
||||
// join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
|
||||
// where x.ProjectId == this.CurrUser.LoginProjectId && x.IsUsed == true
|
||||
// select new Model.PageDataPersonInOutItem
|
||||
// {
|
||||
// PersonId = x.PersonId,
|
||||
// PostType = y.PostType,
|
||||
// WorkPostId = x.WorkPostId,
|
||||
// };
|
||||
// if (getInMaxs.Count() > 0)
|
||||
// {
|
||||
// getallin = getInMaxs.Distinct().ToList();
|
||||
// }
|
||||
// //AllCount = getallin.Count();
|
||||
// var getEmployInOutRecords = (from x in Funs.DB.T_d_EmployInOutRecord
|
||||
// join y in Funs.DB.SitePerson_Person on new { ss1 = x.ProjectId, ss = x.IDCardNo } equals new { ss1 = y.ProjectId, ss = y.IdentityCard }
|
||||
// where y.ProjectId == this.CurrUser.LoginProjectId && y.IsUsed == true && x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == DateTime.Now.Date
|
||||
// select x.IDCardNo).Distinct();
|
||||
//
|
||||
// //if (AllCount > 0)
|
||||
// //{
|
||||
// // ////总人数
|
||||
// // this.divperson.InnerHtml = ((AllCount % 10000) / 1000).ToString();
|
||||
// // this.person00.InnerHtml = ((AllCount % 1000) / 100).ToString();
|
||||
// // this.person01.InnerHtml = ((AllCount % 100) / 10).ToString();
|
||||
// // this.person02.InnerHtml = (AllCount % 10).ToString();
|
||||
// //}
|
||||
//
|
||||
//
|
||||
// AllCount = getEmployInOutRecords.Count();
|
||||
// if (AllCount > 0)
|
||||
// {
|
||||
// ////总人数
|
||||
// this.divperson.InnerHtml = ((AllCount % 10000) / 1000).ToString();
|
||||
// this.person00.InnerHtml = ((AllCount % 1000) / 100).ToString();
|
||||
// this.person01.InnerHtml = ((AllCount % 100) / 10).ToString();
|
||||
// this.person02.InnerHtml = (AllCount % 10).ToString();
|
||||
// }
|
||||
|
||||
string strSql = @"SELECT DISTINCT ProjectUser.ProjectUserId,ProjectUser.ProjectId,ProjectUser.UserId,ProjectUser.WorkAreaId,Users.UserCode,Users.UserName,ProjectUser.UnitId,Unit.UnitCode,Unit.UnitName,ProjectUnit.UnitType,sysConst.ConstText AS UnitTypeName,ProjectUser.RoleId,ProjectUser.IsPost,(CASE WHEN ProjectUser.IsPost = 1 THEN '在岗' ELSE '离岗' END) AS IsPostName,WorkPost.WorkPostName,UnitCode"
|
||||
+ @" ,RoleName= STUFF(( SELECT ',' + RoleName FROM dbo.Sys_Role where PATINDEX('%,' + RTRIM(RoleId) + ',%',',' +ProjectUser.RoleId + ',')>0 FOR XML PATH('')), 1, 1,'')"
|
||||
+ @" FROM Project_ProjectUser AS ProjectUser "
|
||||
+ @" LEFT JOIN Base_Project AS Project ON ProjectUser.ProjectId = Project.ProjectId "
|
||||
+ @" LEFT JOIN Sys_User AS Users ON ProjectUser.UserId = Users.UserId "
|
||||
+ @" LEFT JOIN Sys_Role AS Role ON ProjectUser.RoleId = Role.RoleId "
|
||||
+ @" LEFT JOIN Project_ProjectUnit AS ProjectUnit ON ProjectUser.UnitId = ProjectUnit.UnitId AND ProjectUser.ProjectId= ProjectUnit.ProjectId "
|
||||
+ @" LEFT JOIN Base_Unit AS Unit ON ProjectUser.UnitId = Unit.UnitId "
|
||||
+ @" LEFT JOIN SitePerson_Person AS Person ON ProjectUser.ProjectId =Person.ProjectId AND Users.IdentityCard = Person.IdentityCard "
|
||||
+ @" LEFT JOIN Base_WorkPost AS WorkPost ON Person.WorkPostId =WorkPost.WorkPostId "
|
||||
+ @" LEFT JOIN Sys_Const AS sysConst ON sysConst.GroupId = '" + BLL.ConstValue.Group_ProjectUnitType + "' AND ProjectUnit.UnitType=sysConst.ConstValue "
|
||||
+ @" WHERE 1=1 ";
|
||||
|
||||
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
strSql += " AND ProjectUser.ProjectId = @ProjectId";
|
||||
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
var projectPeople = tb.Rows.Count;
|
||||
|
||||
|
||||
//当前日
|
||||
// 获取当前日期的00点
|
||||
DateTime now = DateTime.Now;
|
||||
DateTime StartDate = DateTime.Now.Date;
|
||||
|
||||
DateTime EndDate = new DateTime(now.Year, now.Month, now.Day, 23, 59, 59);
|
||||
//当前月
|
||||
// 获取当前年份和月份
|
||||
int year = DateTime.Now.Year;
|
||||
int month = DateTime.Now.Month;
|
||||
// 获取当前月份的开始00点
|
||||
DateTime startOfMonth = new DateTime(year, month, 1);
|
||||
DateTime startOfNextMonth = startOfMonth.AddMonths(1);
|
||||
// 如果你需要当前月份的最后一天的23:59:59
|
||||
DateTime endOfMonth = startOfNextMonth.AddSeconds(-1);
|
||||
|
||||
string strSql1 = "SELECT ClassMeeting.ClassMeetingId,ClassMeeting.ProjectId,CodeRecords.Code AS ClassMeetingCode,Unit.UnitId,Unit.UnitName,ClassMeeting.ClassMeetingName,ClassMeeting.ClassMeetingDate,ClassMeeting.CompileMan,ClassMeeting.ClassMeetingContents,ClassMeeting.CompileDate,ClassMeeting.States "
|
||||
+ @" ,(CASE WHEN ClassMeeting.States = " + BLL.Const.State_0 + " OR ClassMeeting.States IS NULL THEN '待['+ISNULL(OperateUser.UserName,Users.UserName)+']提交' WHEN ClassMeeting.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName"
|
||||
+ @" FROM Meeting_ClassMeeting AS ClassMeeting "
|
||||
+ @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON ClassMeeting.ClassMeetingId = CodeRecords.DataId "
|
||||
+ @" LEFT JOIN Sys_FlowOperate AS FlowOperate ON ClassMeeting.ClassMeetingId = FlowOperate.DataId AND FlowOperate.IsClosed <> 1"
|
||||
+ @" LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId"
|
||||
+ @" LEFT JOIN Sys_User AS Users ON ClassMeeting.CompileMan = Users.UserId"
|
||||
+ @" LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=Users.UnitId WHERE 1=1 ";
|
||||
List<SqlParameter> listStr1 = new List<SqlParameter>();
|
||||
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
|
||||
{
|
||||
getallin = getInMaxs.Distinct().ToList();
|
||||
strSql1 += " AND ClassMeeting.ProjectId = @ProjectId";
|
||||
listStr1.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
}
|
||||
//AllCount = getallin.Count();
|
||||
var getEmployInOutRecords = (from x in Funs.DB.T_d_EmployInOutRecord
|
||||
join y in Funs.DB.SitePerson_Person on new { ss1 = x.ProjectId, ss = x.IDCardNo } equals new { ss1 = y.ProjectId, ss = y.IdentityCard }
|
||||
where y.ProjectId == this.CurrUser.LoginProjectId && y.IsUsed == true && x.ProjectId == this.CurrUser.LoginProjectId && x.RecordDate.Value == DateTime.Now.Date
|
||||
select x.IDCardNo).Distinct();
|
||||
|
||||
//if (AllCount > 0)
|
||||
//{
|
||||
// ////总人数
|
||||
// this.divperson.InnerHtml = ((AllCount % 10000) / 1000).ToString();
|
||||
// this.person00.InnerHtml = ((AllCount % 1000) / 100).ToString();
|
||||
// this.person01.InnerHtml = ((AllCount % 100) / 10).ToString();
|
||||
// this.person02.InnerHtml = (AllCount % 10).ToString();
|
||||
//}
|
||||
|
||||
|
||||
AllCount = getEmployInOutRecords.Count();
|
||||
if (AllCount > 0)
|
||||
strSql1 += " AND ClassMeeting.ClassMeetingDate BETWEEN @StartDate AND @EndDate";
|
||||
listStr1.Add(new SqlParameter("@StartDate", StartDate));
|
||||
listStr1.Add(new SqlParameter("@EndDate", EndDate));
|
||||
SqlParameter[] parameter1 = listStr1.ToArray();
|
||||
DataTable tb1 = SQLHelper.GetDataTableRunText(strSql1, parameter1);
|
||||
var dr = tb1.Rows.Count;
|
||||
|
||||
|
||||
string strSql2 = "SELECT ClassMeeting.ClassMeetingId,ClassMeeting.ProjectId,CodeRecords.Code AS ClassMeetingCode,Unit.UnitId,Unit.UnitName,ClassMeeting.ClassMeetingName,ClassMeeting.ClassMeetingDate,ClassMeeting.CompileMan,ClassMeeting.ClassMeetingContents,ClassMeeting.CompileDate,ClassMeeting.States "
|
||||
+ @" ,(CASE WHEN ClassMeeting.States = " + BLL.Const.State_0 + " OR ClassMeeting.States IS NULL THEN '待['+ISNULL(OperateUser.UserName,Users.UserName)+']提交' WHEN ClassMeeting.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName"
|
||||
+ @" FROM Meeting_ClassMeeting AS ClassMeeting "
|
||||
+ @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON ClassMeeting.ClassMeetingId = CodeRecords.DataId "
|
||||
+ @" LEFT JOIN Sys_FlowOperate AS FlowOperate ON ClassMeeting.ClassMeetingId = FlowOperate.DataId AND FlowOperate.IsClosed <> 1"
|
||||
+ @" LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId"
|
||||
+ @" LEFT JOIN Sys_User AS Users ON ClassMeeting.CompileMan = Users.UserId"
|
||||
+ @" LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=Users.UnitId WHERE 1=1 ";
|
||||
List<SqlParameter> listStr2 = new List<SqlParameter>();
|
||||
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
|
||||
{
|
||||
strSql2 += " AND ClassMeeting.ProjectId = @ProjectId";
|
||||
listStr2.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
||||
}
|
||||
strSql2 += " AND ClassMeeting.ClassMeetingDate BETWEEN @StartDate AND @EndDate";
|
||||
listStr2.Add(new SqlParameter("@StartDate", startOfMonth));
|
||||
listStr2.Add(new SqlParameter("@EndDate", endOfMonth));
|
||||
SqlParameter[] parameter2 = listStr2.ToArray();
|
||||
DataTable tb2 = SQLHelper.GetDataTableRunText(strSql2, parameter2);
|
||||
|
||||
var dy = tb2.Rows.Count;
|
||||
|
||||
var count1 = projectPeople + dr;
|
||||
var count2 = projectPeople + dy;
|
||||
if (count1 > 0)
|
||||
{
|
||||
////总人数
|
||||
this.divperson.InnerHtml = ((AllCount % 10000) / 1000).ToString();
|
||||
this.person00.InnerHtml = ((AllCount % 1000) / 100).ToString();
|
||||
this.person01.InnerHtml = ((AllCount % 100) / 10).ToString();
|
||||
this.person02.InnerHtml = (AllCount % 10).ToString();
|
||||
this.divperson.InnerHtml = ((count1 % 10000) / 1000).ToString();
|
||||
this.person00.InnerHtml = ((count1 % 1000) / 100).ToString();
|
||||
this.person01.InnerHtml = ((count1 % 100) / 10).ToString();
|
||||
this.person02.InnerHtml = (count1 % 10).ToString();
|
||||
}
|
||||
|
||||
if (count2 > 0)
|
||||
{
|
||||
////总人数
|
||||
this.divperson1.InnerHtml = ((count2 % 10000) / 1000).ToString();
|
||||
this.person001.InnerHtml = ((count2 % 1000) / 100).ToString();
|
||||
this.person011.InnerHtml = ((count2 % 100) / 10).ToString();
|
||||
this.person021.InnerHtml = (count2 % 10).ToString();
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
Reference in New Issue
Block a user