519 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			519 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Linq;
 | 
						|
using System.Net;
 | 
						|
using System.Net.Http;
 | 
						|
using System.Web.Http;
 | 
						|
using BLL;
 | 
						|
using WebAPI.Filter;
 | 
						|
 | 
						|
namespace WebAPI.Controllers
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// 
 | 
						|
    /// </summary>
 | 
						|
    public class DoorServerController : ApiController
 | 
						|
    {
 | 
						|
        #region 获取部门、人员、出入记录最大ID
 | 
						|
        /// <summary>
 | 
						|
        ///  获取部门、人员、出入记录最大ID
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="projectId"></param>
 | 
						|
        /// <param name="queryValue">查询条件</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public string getMaxID(string projectId, string queryValue = null)
 | 
						|
        {
 | 
						|
            int DepartmentID = 0, ID = 0;
 | 
						|
            long EmployID = 0, ValidEventID = 0;
 | 
						|
            var getD = Funs.DB.T_d_department.Where(x => x.ProjectId == projectId).Select(x => x.DepartmentID);
 | 
						|
            if (getD.Count() > 0)
 | 
						|
            {
 | 
						|
                DepartmentID = getD.Max();
 | 
						|
            }
 | 
						|
            var getE = Funs.DB.T_d_employinfo.Where(x => x.ProjectId == projectId).Select(x => x.EmployID);
 | 
						|
            if (getE.Count() > 0)
 | 
						|
            {
 | 
						|
                EmployID = getE.Max();
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(queryValue))
 | 
						|
            {
 | 
						|
                var getI = Funs.DB.T_d_facerecord.Where(x => x.ProjectId == projectId && x.RoleID == queryValue).Select(x => x.ID);
 | 
						|
                if (getI.Count() > 0)
 | 
						|
                {
 | 
						|
                    ID = getI.Max();
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                var getI = Funs.DB.T_d_facerecord.Where(x => x.ProjectId == projectId).Select(x => x.ID);
 | 
						|
                if (getI.Count() > 0)
 | 
						|
                {
 | 
						|
                    ID = getI.Max();
 | 
						|
                }
 | 
						|
            }
 | 
						|
            var getV = Funs.DB.T_d_validcardevent.Where(x => x.ProjectId == projectId).Select(x => x.ValidEventID);
 | 
						|
            if (getV.Count() > 0)
 | 
						|
            {
 | 
						|
                ValidEventID = getV.Max();
 | 
						|
            }
 | 
						|
            return ("$" + DepartmentID.ToString() + "$" + EmployID.ToString() + "$" + ID.ToString() + "$" + ValidEventID.ToString() + "$");
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 保存部门信息
 | 
						|
        /// <summary>
 | 
						|
        /// 保存部门信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="department">部门信息</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost]
 | 
						|
        public Model.ResponeData SaveDepartment([FromBody] Model.t_d_departmentItem department)
 | 
						|
        {
 | 
						|
            var responeData = new Model.ResponeData();
 | 
						|
            try
 | 
						|
            {
 | 
						|
                using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
                {
 | 
						|
                    if (department != null)
 | 
						|
                    {
 | 
						|
                        var getDep = db.T_d_department.FirstOrDefault(x => x.DepartmentID == department.DepartmentID && x.ProjectId == department.ProjectId);
 | 
						|
                        if (getDep == null)
 | 
						|
                        {
 | 
						|
                            Model.T_d_department newDep = new Model.T_d_department()
 | 
						|
                            {
 | 
						|
                                NewID = SQLHelper.GetNewID(),
 | 
						|
                                ProjectId = department.ProjectId,
 | 
						|
                                DepartmentID = department.DepartmentID,
 | 
						|
                                DepartmentName = department.DepartmentName,
 | 
						|
                                ParentID = department.ParentID,
 | 
						|
                                IsDel = department.IsDel,
 | 
						|
                                IsDown = department.IsDown,
 | 
						|
                                ParentDepartmentName = department.ParentDepartmentName,
 | 
						|
                                IsEnable = department.IsEnable,
 | 
						|
                            };
 | 
						|
                            db.T_d_department.InsertOnSubmit(newDep);
 | 
						|
                            db.SubmitChanges();
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        responeData.code = 2;
 | 
						|
                        responeData.message = "信息有误!";
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                responeData.code = 0;
 | 
						|
                responeData.message = ex.Message;
 | 
						|
            }
 | 
						|
 | 
						|
            return responeData;
 | 
						|
        }
 | 
						|
        #endregion        
 | 
						|
 | 
						|
        #region 保存人员信息
 | 
						|
        /// <summary>
 | 
						|
        /// 保存人员信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="employinfo">人员信息</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost]
 | 
						|
        public Model.ResponeData SaveEmployinfo([FromBody] Model.t_d_employinfoItem employinfo)
 | 
						|
        {
 | 
						|
            var responeData = new Model.ResponeData();
 | 
						|
            try
 | 
						|
            {
 | 
						|
                using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
                {
 | 
						|
                    if (employinfo != null)
 | 
						|
                    {
 | 
						|
                        var getEm = db.T_d_employinfo.FirstOrDefault(x => x.EmployID == employinfo.EmployID && x.ProjectId == employinfo.ProjectId);
 | 
						|
                        if (getEm == null)
 | 
						|
                        {
 | 
						|
                            Model.T_d_employinfo newEmploy = new Model.T_d_employinfo()
 | 
						|
                            {
 | 
						|
                                NewID = SQLHelper.GetNewID(),
 | 
						|
                                ProjectId = employinfo.ProjectId,
 | 
						|
                                EmployID = employinfo.EmployID,
 | 
						|
                                WxEmployID = employinfo.WxEmployID,
 | 
						|
                                EmployNO = employinfo.EmployNO,
 | 
						|
                                EmployName = employinfo.EmployName,
 | 
						|
                                CardNO = employinfo.CardNO,
 | 
						|
                                GroupID = employinfo.GroupID,
 | 
						|
                                IsAttend = employinfo.IsAttend,
 | 
						|
                                IsDoor = employinfo.IsDoor,
 | 
						|
                                BeginDateTime = employinfo.BeginDateTime,
 | 
						|
                                EndDateTime = employinfo.EndDateTime,
 | 
						|
                                InPassWord = employinfo.InPassWord,
 | 
						|
                                DepartmentName = employinfo.DepartmentName,
 | 
						|
                                Mailbox = employinfo.Mailbox,
 | 
						|
                                Mobilephone = employinfo.Mobilephone,
 | 
						|
                                WeiXinNO = employinfo.WeiXinNO,
 | 
						|
                                PostName = employinfo.PostName,
 | 
						|
                                Gender = employinfo.Gender,
 | 
						|
                                IsDown = employinfo.IsDown,
 | 
						|
                                IsWxDown = employinfo.IsWxDown,
 | 
						|
                                IDCardNo = employinfo.IDCardNo,
 | 
						|
                                PlayCardNumber = employinfo.PlayCardNumber,
 | 
						|
                                PlayCardSum = employinfo.PlayCardSum,
 | 
						|
                                UpdataCloud = employinfo.UpdataCloud,
 | 
						|
                                Birthday = employinfo.Birthday,
 | 
						|
                                Police = employinfo.Police,
 | 
						|
                                Nation = employinfo.Nation,
 | 
						|
                                Address = employinfo.Address,
 | 
						|
                                UpdateState = employinfo.UpdateState,
 | 
						|
                                UpdateDateTime = employinfo.UpdateDateTime,
 | 
						|
                                IsSubmarineBack = employinfo.IsSubmarineBack,
 | 
						|
                                OnSiteState = employinfo.OnSiteState,
 | 
						|
                                TimeNumber = employinfo.TimeNumber,
 | 
						|
                                CardTimeRecord = employinfo.CardTimeRecord,
 | 
						|
                                ReservedFieldsOne = employinfo.ReservedFieldsOne,
 | 
						|
                                ReservedFieldsTwo = employinfo.ReservedFieldsTwo,
 | 
						|
                                ReservedFieldsThree = employinfo.ReservedFieldsThree,
 | 
						|
                                ReservedFieldsFour = employinfo.ReservedFieldsFour,
 | 
						|
                                ReservedFieldsFive = employinfo.ReservedFieldsFive,
 | 
						|
                            };
 | 
						|
 | 
						|
                            #region 获取部门                          
 | 
						|
                            var getDep = Funs.DB.T_d_department.FirstOrDefault(x => x.ProjectId == newEmploy.ProjectId && x.DepartmentID == newEmploy.GroupID);
 | 
						|
                            if (getDep != null)
 | 
						|
                            {
 | 
						|
                                if (getDep.ParentID == 0)
 | 
						|
                                {
 | 
						|
                                    newEmploy.InstallationId = getDep.DepartmentID;
 | 
						|
                                }
 | 
						|
                                else
 | 
						|
                                {
 | 
						|
                                    var getDep0 = BLL.DoorServerService.GetSupDep(newEmploy.ProjectId, getDep.ParentID, 0);
 | 
						|
                                    if (getDep0 != null)
 | 
						|
                                    {
 | 
						|
                                        newEmploy.UnitId = newEmploy.GroupID;
 | 
						|
                                        newEmploy.InstallationId = getDep0.DepartmentID;
 | 
						|
                                        var getUnit = BLL.DoorServerService.GetSupDep(newEmploy.ProjectId, getDep.DepartmentID, newEmploy.InstallationId ?? 0);
 | 
						|
                                        if (getUnit != null)
 | 
						|
                                        {
 | 
						|
                                            newEmploy.UnitId = getUnit.DepartmentID;
 | 
						|
                                        }
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                            #endregion
 | 
						|
 | 
						|
                            db.T_d_employinfo.InsertOnSubmit(newEmploy);
 | 
						|
                            db.SubmitChanges();
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        responeData.code = 2;
 | 
						|
                        responeData.message = "信息有误!";
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                responeData.code = 0;
 | 
						|
                responeData.message = ex.Message;
 | 
						|
            }
 | 
						|
 | 
						|
            return responeData;
 | 
						|
        }
 | 
						|
        #endregion        
 | 
						|
 | 
						|
        #region 保存人脸识别出入记录信息
 | 
						|
        /// <summary>
 | 
						|
        /// 保存出入记录信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="facerecord">出入记录信息</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost]
 | 
						|
        public Model.ResponeData SaveFacerecord([FromBody] Model.t_d_facerecordItem facerecord)
 | 
						|
        {
 | 
						|
            var responeData = new Model.ResponeData();
 | 
						|
            try
 | 
						|
            {
 | 
						|
                using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
                {
 | 
						|
                    if (facerecord != null)
 | 
						|
                    {
 | 
						|
                        string projectId = facerecord.ProjectId;
 | 
						|
                        string personName = facerecord.EmployName;
 | 
						|
                        Model.SitePerson_Person getPerson = new Model.SitePerson_Person();
 | 
						|
                        string ProjectId_19261 = "1be62038-2b94-4ac2-9b5f-80cef85deeb2";
 | 
						|
                        string ProjectId_20041 = "e9fe4b89-f62d-4b3a-a40c-57c87010aa92";
 | 
						|
                        if (projectId == ProjectId_19261 || projectId == ProjectId_20041)
 | 
						|
                        {
 | 
						|
                            getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == facerecord.EmployNO && (x.ProjectId == ProjectId_19261 || x.ProjectId == ProjectId_20041) && !x.OutTime.HasValue);
 | 
						|
                            if (getPerson != null)
 | 
						|
                            {
 | 
						|
                                personName = getPerson.PersonName;
 | 
						|
                                projectId = getPerson.ProjectId;
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
 | 
						|
                        string ProjectId_20197 = "310e790e-5ede-4345-98a4-8bd0866e69ef";
 | 
						|
                        string ProjectId_21126 = "a7f692aa-4bd5-4fb3-87f8-ba1ab8f94cc2";
 | 
						|
                        if (projectId == ProjectId_20197 || projectId == ProjectId_21126)
 | 
						|
                        {
 | 
						|
                            getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == facerecord.EmployNO && (x.ProjectId == ProjectId_20197 || x.ProjectId == ProjectId_21126) && !x.OutTime.HasValue);
 | 
						|
                            if (getPerson != null)
 | 
						|
                            {
 | 
						|
                                personName = getPerson.PersonName;
 | 
						|
                                projectId = getPerson.ProjectId;
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        
 | 
						|
                        var getFacerecord = db.T_d_facerecord.FirstOrDefault(x => x.ID == facerecord.ID && x.ProjectId == projectId && x.RoleID == facerecord.RoleID);
 | 
						|
                        if (getFacerecord == null)
 | 
						|
                        {
 | 
						|
                            Model.T_d_facerecord newFacerecord = new Model.T_d_facerecord()
 | 
						|
                            {
 | 
						|
                                NewID = SQLHelper.GetNewID(),
 | 
						|
                                ProjectId = projectId,
 | 
						|
                                ID = facerecord.ID,
 | 
						|
                                EmployName =personName,
 | 
						|
                                DepartmentID = facerecord.DepartmentID,
 | 
						|
                                DepartName = facerecord.DepartName,
 | 
						|
                                AreaID = facerecord.AreaID,
 | 
						|
                                AreaName = facerecord.AreaName,
 | 
						|
                                EmployNO = facerecord.EmployNO,
 | 
						|
                                CardID = facerecord.CardID,
 | 
						|
                                RoleID = facerecord.RoleID,
 | 
						|
                                DateTimeRecord = facerecord.DateTimeRecord,
 | 
						|
                                RecordDes = facerecord.RecordDes,
 | 
						|
                                FaceIP = facerecord.FaceIP,
 | 
						|
                                InOrOut = facerecord.InOrOut,
 | 
						|
                                Des1 = facerecord.Des1,
 | 
						|
                                Des2 = facerecord.Des2,
 | 
						|
                                Des3 = facerecord.Des3,
 | 
						|
                                Des4 = facerecord.Des4,
 | 
						|
                            };
 | 
						|
 | 
						|
                            db.T_d_facerecord.InsertOnSubmit(newFacerecord);
 | 
						|
                            db.SubmitChanges();
 | 
						|
                            ///// 根据出入记录 写入考勤记录
 | 
						|
                            facerecord.IDCardNo = facerecord.EmployNO;
 | 
						|
                            DoorServerService.InsertEmployInOutRecord(facerecord, getPerson);
 | 
						|
                            if (facerecord.DateTimeRecord.HasValue)
 | 
						|
                            {
 | 
						|
                                int isIn = 0;
 | 
						|
                                if (facerecord.InOrOut == "进门")
 | 
						|
                                {
 | 
						|
                                    isIn = 1;
 | 
						|
                                }
 | 
						|
                                APIPersonService.getPersonInOut(getPerson, isIn, facerecord.DateTimeRecord.Value);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        responeData.code = 2;
 | 
						|
                        responeData.message = "信息有误!";
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                responeData.code = 0;
 | 
						|
                responeData.message = ex.Message;
 | 
						|
            }
 | 
						|
 | 
						|
            return responeData;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 保存刷卡出入记录信息
 | 
						|
        /// <summary>
 | 
						|
        /// 保存出入记录信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="validcardevent">出入记录信息</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost]
 | 
						|
        public Model.ResponeData SaveValidcardevent([FromBody] Model.t_d_validcardeventItem validcardevent)
 | 
						|
        {
 | 
						|
            var responeData = new Model.ResponeData();
 | 
						|
            try
 | 
						|
            {
 | 
						|
                using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | 
						|
                {
 | 
						|
                    if (validcardevent != null)
 | 
						|
                    {
 | 
						|
                        var getValidcardevent = db.T_d_facerecord.FirstOrDefault(x => x.ID == validcardevent.ValidEventID && x.ProjectId == validcardevent.ProjectId);
 | 
						|
                        if (getValidcardevent == null)
 | 
						|
                        {
 | 
						|
                            Model.T_d_validcardevent newValidcardevent = new Model.T_d_validcardevent()
 | 
						|
                            {
 | 
						|
                                NewID = SQLHelper.GetNewID(),
 | 
						|
                                ProjectId = validcardevent.ProjectId,
 | 
						|
                                ValidEventID = validcardevent.ValidEventID,
 | 
						|
                                RecordDateTime = validcardevent.RecordDateTime,
 | 
						|
                                CardNO = validcardevent.CardNO,
 | 
						|
                                ConsumerID = validcardevent.ConsumerID,
 | 
						|
                                InOrOut = validcardevent.InOrOut,
 | 
						|
                                ControllerID = validcardevent.ControllerID,
 | 
						|
                                ReaderNO = validcardevent.ReaderNO,
 | 
						|
                                RecordFlashLoc = validcardevent.RecordFlashLoc,
 | 
						|
                                RecordAll = validcardevent.RecordAll,
 | 
						|
                                JPGPath = validcardevent.JPGPath,
 | 
						|
                                IsDown = validcardevent.IsDown,
 | 
						|
                                EquipmentSN = validcardevent.EquipmentSN,
 | 
						|
                                ConsumerNO = validcardevent.ConsumerNO,
 | 
						|
                                EmployNO = validcardevent.EmployNO,
 | 
						|
                                EmployName = validcardevent.EmployName,
 | 
						|
                                CardType = validcardevent.CardType,
 | 
						|
                                Card = validcardevent.Card,
 | 
						|
                                DepartmentID = validcardevent.DepartmentID,
 | 
						|
                                DepartmentName = validcardevent.DepartmentName,
 | 
						|
                                ControllerSN = validcardevent.ControllerSN,
 | 
						|
                                DoorID = validcardevent.DoorID,
 | 
						|
                                DoorName = validcardevent.DoorName,
 | 
						|
                                ReaderName = validcardevent.ReaderName,
 | 
						|
                                AreaID = validcardevent.AreaID,
 | 
						|
                                AreaName = validcardevent.AreaName,
 | 
						|
                                WorkType = validcardevent.WorkType,
 | 
						|
                                Positions = validcardevent.Positions,
 | 
						|
                                IDCardNo = validcardevent.IDCardNo,
 | 
						|
                            };
 | 
						|
 | 
						|
                            db.T_d_validcardevent.InsertOnSubmit(newValidcardevent);
 | 
						|
                            db.SubmitChanges();
 | 
						|
                            ///// 根据出入记录 写入考勤记录
 | 
						|
                            Model.t_d_facerecordItem newFacerecord = new Model.t_d_facerecordItem
 | 
						|
                            {
 | 
						|
                                ProjectId = validcardevent.ProjectId,
 | 
						|
                                ID = validcardevent.ValidEventID,
 | 
						|
                                EmployName = validcardevent.EmployName,
 | 
						|
                                DepartmentID = validcardevent.DepartmentID,
 | 
						|
                                DepartName = validcardevent.DepartmentName,
 | 
						|
                                AreaID = validcardevent.AreaID,
 | 
						|
                                AreaName = validcardevent.AreaName,
 | 
						|
                                EmployNO = validcardevent.IDCardNo,
 | 
						|
                                IDCardNo = validcardevent.IDCardNo,
 | 
						|
                                DateTimeRecord = validcardevent.RecordDateTime,
 | 
						|
                                InOrOut = validcardevent.InOrOut == 1 ? "进门" : "出门",
 | 
						|
                            };
 | 
						|
 | 
						|
                            var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.ProjectId == validcardevent.ProjectId && x.IdentityCard == validcardevent.IDCardNo);
 | 
						|
                            if (getPerson != null)
 | 
						|
                            {
 | 
						|
                                DoorServerService.InsertEmployInOutRecord(newFacerecord, getPerson);
 | 
						|
                                if (validcardevent.RecordDateTime.HasValue)
 | 
						|
                                {
 | 
						|
                                    int isIn = 0;
 | 
						|
                                    if (validcardevent.InOrOut == 1)
 | 
						|
                                    {
 | 
						|
                                        isIn = 1;
 | 
						|
                                    }
 | 
						|
                                    APIPersonService.getPersonInOut(getPerson, isIn, validcardevent.RecordDateTime.Value);
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        responeData.code = 2;
 | 
						|
                        responeData.message = "信息有误!";
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                responeData.code = 0;
 | 
						|
                responeData.message = ex.Message;
 | 
						|
            }
 | 
						|
 | 
						|
            return responeData;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region 保存出入记录信息
 | 
						|
        /// <summary>
 | 
						|
        /// 保存出入记录信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="facerecord">出入记录信息</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost]
 | 
						|
        public Model.ResponeData SaveEmployInOutRecord([FromBody] Model.t_d_facerecordItem facerecord)
 | 
						|
        {
 | 
						|
            var responeData = new Model.ResponeData();
 | 
						|
            try
 | 
						|
            {
 | 
						|
                if (facerecord != null)
 | 
						|
                {
 | 
						|
                    ///// 根据出入记录 写入考勤记录
 | 
						|
                    facerecord.IDCardNo = facerecord.EmployNO;
 | 
						|
                    var getPerson = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.ProjectId == facerecord.ProjectId && x.IdentityCard == facerecord.EmployNO);
 | 
						|
                    if (getPerson != null)
 | 
						|
                    {
 | 
						|
                        DoorServerService.InsertEmployInOutRecord(facerecord, getPerson);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    responeData.code = 2;
 | 
						|
                    responeData.message = "信息有误!";
 | 
						|
                }
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                responeData.code = 0;
 | 
						|
                responeData.message = ex.Message;
 | 
						|
            }
 | 
						|
 | 
						|
            return responeData;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
        #region 获取门禁人员考勤统计
 | 
						|
        /// <summary>
 | 
						|
        /// 获取人员信息出入场记录
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="projectId"></param>
 | 
						|
        /// <param name="startDate"></param>
 | 
						|
        /// <param name="endDate"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public Model.ResponeData getInOutstatistics(string projectId, DateTime startDate, DateTime endDate)
 | 
						|
        {
 | 
						|
            var responeData = new Model.ResponeData();
 | 
						|
            try
 | 
						|
            {
 | 
						|
                string unitId = null;
 | 
						|
                string postId = null;
 | 
						|
                responeData.data = Funs.DB.spInOutManHoursReport(projectId, unitId, postId, startDate, endDate).ToList();
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                responeData.code = 0;
 | 
						|
                responeData.message = ex.Message;
 | 
						|
            }
 | 
						|
            return responeData;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="projectId"></param>
 | 
						|
        /// <param name="unitId"></param>
 | 
						|
        /// <param name="startDate"></param>
 | 
						|
        /// <param name="endDate"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public Model.ResponeData getUnitSumInOutstatistics(string projectId, string unitId, DateTime startDate, DateTime endDate)
 | 
						|
        {
 | 
						|
            var responeData = new Model.ResponeData();
 | 
						|
            try
 | 
						|
            {
 | 
						|
                string postId = null;
 | 
						|
                var getData = Funs.DB.spInOutManHoursReport(projectId, unitId, postId, startDate, endDate).ToList();
 | 
						|
                responeData.data = getData.Sum(x => x.ManCountSum);
 | 
						|
            }
 | 
						|
            catch (Exception ex)
 | 
						|
            {
 | 
						|
                responeData.code = 0;
 | 
						|
                responeData.message = ex.Message;
 | 
						|
            }
 | 
						|
            return responeData;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
    }
 | 
						|
}
 |