Ejemplo n.º 1
0
        public GuYuanUser UpdateSingle(int id, GuYuanUserReq data)
        {
            GuYuanUser model = db.GuYuanUser.Find(id);

            SetGuYuanUser(model, data);
            db.SaveChanges();
            return(model);
        }
Ejemplo n.º 2
0
        public SearchListResult <GuYuanMonthKaoQin> SearchMonthList(GuYuanKaoQinReq req)
        {
            var      now       = DateTime.Now;
            DateTime startDate = Convert.ToDateTime(now.Year + "-" + now.Month + "-01");

            if (!string.IsNullOrWhiteSpace(req.Month))
            {
                startDate = Convert.ToDateTime(req.Month + "-01");
            }
            DateTime endDate = startDate.AddMonths(1);

            GuYuanUserReq gyReq = new GuYuanUserReq();

            gyReq.Name = req.guyuanName;
            var query = from source in db.GuYuanUser
                        select source;

            if (!string.IsNullOrEmpty(req.guyuanName))
            {
                query = query.Where(d => d.Name.Contains(req.guyuanName));
            }

            if (req.rows == 0)
            {
                req.rows = 100000;
            }
            if (req.page <= 0)
            {
                req.page = 1;
            }

            SearchListResult <GuYuanUser> gyList = new SearchListResult <GuYuanUser>();

            gyList.records = query.Count();
            gyList.rows    = query.ToList().Skip((req.page - 1) * req.rows).Take(req.rows).ToList();
            gyList.page    = req.page;
            gyList.total   = (gyList.records - 1) / req.rows + 1;

            List <GuYuanMonthKaoQin> monthKaoqinList = new List <GuYuanMonthKaoQin>();

            var kqList = db.GuYuanKaoQin.Where(x => x.workDate >= startDate && x.workDate < endDate);

            foreach (var item in gyList.rows)
            {
                var guYuanId          = item.id;
                var guYuanName        = item.Name;
                var chidaoFenZhong    = 0;
                var chidaoCiShu       = 0;
                var chidaolongCiShu   = 0;
                var zaotuiFenZhong    = 0;
                var zaotuiCiShu       = 0;
                var zaotuilongCiShu   = 0;
                var kuanggongFenZhong = 0;
                var kuanggongCiShu    = 0;
                var externalId        = "";
                var KuangGongGongShi  = 0;
                var kqListByGY        = kqList.Where(x => x.guyuanId == item.id).ToList();

                var kqList2 = kqListByGY.Where(x => x.checkResult == "迟到" || x.checkResult == "早退").ToList();
                foreach (var kq in kqList2)
                {
                    DateTime wDate        = Convert.ToDateTime(kq.workDate);
                    DateTime shangbanDate = Convert.ToDateTime(wDate.ToString("yyyy-MM-dd") + " 09:00:00");
                    DateTime xiabanDate   = Convert.ToDateTime(wDate.ToString("yyyy-MM-dd") + " 18:00:00");
                    if (kq.checkResult == "迟到")
                    {
                        if ((Convert.ToDateTime(kq.checkTime) - shangbanDate).TotalMinutes > 30)
                        {
                            chidaolongCiShu += 1;
                        }
                        else
                        {
                            chidaoCiShu += 1;
                        }


                        chidaoFenZhong += (int)(Convert.ToDateTime(kq.checkTime) - shangbanDate).TotalMinutes;
                    }
                    else if (kq.checkResult == "早退")
                    {
                        if ((xiabanDate - Convert.ToDateTime(kq.checkTime)).TotalMinutes > 30)
                        {
                            zaotuilongCiShu += 1;
                        }
                        else
                        {
                            zaotuiCiShu += 1;
                        }
                        zaotuiFenZhong += (int)(xiabanDate - Convert.ToDateTime(kq.checkTime)).TotalMinutes;
                    }
                    externalId = kq.externalId;
                }

                kqList2 = kqListByGY.Where(x => x.checkResult == "未打卡").OrderBy(x => x.workDate).ToList();
                string oldDate = string.Empty;
                kqList2.ForEach(d =>
                {
                    string newDate = Convert.ToDateTime(d.workDate).ToString("yyyy-MM-dd");
                    if (oldDate != newDate)
                    {
                        var kq = kqList2.FirstOrDefault(x => x.workDate == d.workDate && x.id != d.id);
                        if (kq == null)
                        {
                            if (d.checkType == "上班")
                            {
                                chidaolongCiShu += 1;
                            }
                            else
                            {
                                zaotuilongCiShu += 1;
                            }
                        }
                        else
                        {
                            kuanggongCiShu += 1;
                        }
                        oldDate = newDate;
                    }
                    else
                    {
                    }
                });
                GuYuanMonthKaoQin monthKaoqin = new GuYuanMonthKaoQin
                {
                    guyuanId         = guYuanId,
                    guyuanName       = guYuanName,
                    ChiDaoCiShu      = chidaoCiShu,
                    ChiDaoFenzhong   = chidaoFenZhong,
                    ZaoTuiCiShu      = zaotuiCiShu,
                    ZaoTuiFenzhong   = zaotuiFenZhong,
                    KuangGongCiShu   = kuanggongCiShu,
                    KuangGongGongShi = kuanggongCiShu * 8,
                    Month            = startDate.Year + "-" + startDate.Month,
                    externalId       = externalId,
                    ChiDaoLongCiShu  = chidaolongCiShu,
                    ZaoTuiLongCiShu  = zaotuilongCiShu
                };
                monthKaoqinList.Add(monthKaoqin);
            }

            SearchListResult <GuYuanMonthKaoQin> retListResult = new SearchListResult <GuYuanMonthKaoQin>();

            retListResult.records = gyList.records;
            retListResult.rows    = monthKaoqinList;
            retListResult.page    = gyList.page;
            retListResult.total   = gyList.total;
            return(retListResult);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 设置model,如果不为空就设置,如果为空则和之前一样
        /// </summary>
        /// <param name="target"></param>
        /// <param name="source"></param>
        /// <returns></returns>
        public GuYuanUser SetGuYuanUser(GuYuanUser model, GuYuanUserReq data)
        {
            if (!string.IsNullOrEmpty(data.DepartmentName))
            {
                model.DepartmentName = data.DepartmentName;
            }
            if (!string.IsNullOrEmpty(data.State))
            {
                model.State = data.State;
            }
            if (!string.IsNullOrEmpty(data.OptName))
            {
                model.OptName = data.OptName;
            }
            if (data.OptId != null)
            {
                model.OptId = data.OptId.Value;
            }
            if (data.createdate != null && data.createdate != DateTime.MinValue && data.createdate != SqlDateTime.MinValue.Value)
            {
                model.createdate = data.createdate.Value;
            }
            if (!string.IsNullOrEmpty(data.Name))
            {
                model.Name = data.Name;
            }
            if (!string.IsNullOrEmpty(data.PositionName))
            {
                model.PositionName = data.PositionName;
            }
            if (!string.IsNullOrEmpty(data.Sex))
            {
                model.Sex = data.Sex;
            }
            if (data.OnboardDate != null && data.OnboardDate != DateTime.MinValue && data.OnboardDate != SqlDateTime.MinValue.Value)
            {
                model.OnboardDate = data.OnboardDate.Value;
            }
            if (data.FullMemberDate != null && data.FullMemberDate != DateTime.MinValue && data.FullMemberDate != SqlDateTime.MinValue.Value)
            {
                model.FullMemberDate = data.FullMemberDate.Value;
            }
            if (!string.IsNullOrEmpty(data.Nationality))
            {
                model.Nationality = data.Nationality;
            }
            if (!string.IsNullOrEmpty(data.Polity))
            {
                model.Polity = data.Polity;
            }
            if (data.Birthday != null && data.Birthday != DateTime.MinValue && data.Birthday != SqlDateTime.MinValue.Value)
            {
                model.Birthday = data.Birthday.Value;
            }
            if (!string.IsNullOrEmpty(data.IDCard))
            {
                model.IDCard = data.IDCard;
            }
            if (data.Age != null)
            {
                model.Age = data.Age.Value;
            }
            if (!string.IsNullOrEmpty(data.Phone))
            {
                model.Phone = data.Phone;
            }
            if (!string.IsNullOrEmpty(data.Marry))
            {
                model.Marry = data.Marry;
            }
            if (!string.IsNullOrEmpty(data.Education))
            {
                model.Education = data.Education;
            }
            if (!string.IsNullOrEmpty(data.EmergencyName))
            {
                model.EmergencyName = data.EmergencyName;
            }
            if (!string.IsNullOrEmpty(data.EmergencyRelation))
            {
                model.EmergencyRelation = data.EmergencyRelation;
            }
            if (!string.IsNullOrEmpty(data.EmergencyPhone))
            {
                model.EmergencyPhone = data.EmergencyPhone;
            }
            if (!string.IsNullOrEmpty(data.YongGongType))
            {
                model.YongGongType = data.YongGongType;
            }
            if (data.ContractExpireDate != null && data.ContractExpireDate != DateTime.MinValue && data.ContractExpireDate != SqlDateTime.MinValue.Value)
            {
                model.ContractExpireDate = data.ContractExpireDate.Value;
            }
            if (data.ContractMoney != null)
            {
                model.ContractMoney = data.ContractMoney.Value;
            }
            if (!string.IsNullOrEmpty(data.Mark))
            {
                model.Mark = data.Mark;
            }
            if (!string.IsNullOrEmpty(data.HuJi))
            {
                model.HuJi = data.HuJi;
            }
            if (!string.IsNullOrEmpty(data.CurrentLiving))
            {
                model.CurrentLiving = data.CurrentLiving;
            }
            if (!string.IsNullOrEmpty(data.HuJiLiving))
            {
                model.HuJiLiving = data.HuJiLiving;
            }
            if (!string.IsNullOrEmpty(data.HuJiType))
            {
                model.HuJiType = data.HuJiType;
            }
            if (!string.IsNullOrEmpty(data.SheBaoType))
            {
                model.SheBaoType = data.SheBaoType;
            }
            if (data.BaseSheBaoMoney != null)
            {
                model.BaseSheBaoMoney = data.BaseSheBaoMoney.Value;
            }
            if (data.SheBaoStartDate != null && data.SheBaoStartDate != DateTime.MinValue && data.SheBaoStartDate != SqlDateTime.MinValue.Value)
            {
                model.SheBaoStartDate = data.SheBaoStartDate.Value;
            }
            if (!string.IsNullOrEmpty(data.GongJiJingNumber))
            {
                model.GongJiJingNumber = data.GongJiJingNumber;
            }
            if (!string.IsNullOrEmpty(data.HeTongQiXian))
            {
                model.HeTongQiXian = data.HeTongQiXian;
            }
            if (!string.IsNullOrEmpty(data.WorkAge))
            {
                model.WorkAge = data.WorkAge;
            }
            if (!string.IsNullOrEmpty(data.BankCard))
            {
                model.BankCard = data.BankCard;
            }
            if (data.projectid != null)
            {
                model.projectid = data.projectid.Value;
            }
            if (!string.IsNullOrEmpty(data.ProjectName))
            {
                model.ProjectName = data.ProjectName;
            }
            if (!string.IsNullOrEmpty(data.FuZhuangChiCun))
            {
                model.FuZhuangChiCun = data.FuZhuangChiCun;
            }
            if (!string.IsNullOrEmpty(data.XieMa))
            {
                model.XieMa = data.XieMa;
            }
            if (data.JinShengDate != null && data.JinShengDate != DateTime.MinValue && data.JinShengDate != SqlDateTime.MinValue.Value)
            {
                model.JinShengDate = data.JinShengDate.Value;
            }
            if (data.LiZhiDate != null && data.LiZhiDate != DateTime.MinValue && data.LiZhiDate != SqlDateTime.MinValue.Value)
            {
                model.LiZhiDate = data.LiZhiDate.Value;
            }

            return(model);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 查询GuYuanUser
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        public SearchListResult <GuYuanUser> SearchList(GuYuanUserReq req)
        {
            var query = from source in db.GuYuanUser
                        select source;

            if (!string.IsNullOrEmpty(req.DepartmentName))
            {
                query = query.Where(d => d.DepartmentName.Contains(req.DepartmentName));
            }
            if (!string.IsNullOrEmpty(req.State))
            {
                query = query.Where(d => d.State.Contains(req.State));
            }
            if (!string.IsNullOrEmpty(req.OptName))
            {
                query = query.Where(d => d.OptName.Contains(req.OptName));
            }
            if (req.OptId != null)
            {
                query = query.Where(d => d.OptId == req.OptId);
            }
            if (req.createdateStart != DateTime.MinValue && req.createdateStart != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.createdate >= req.createdateStart);
            }
            if (req.createdateEnd != DateTime.MinValue && req.createdateEnd != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.createdate <= req.createdateEnd);
            }
            if (!string.IsNullOrEmpty(req.Name))
            {
                query = query.Where(d => d.Name.Contains(req.Name));
            }
            if (!string.IsNullOrEmpty(req.PositionName))
            {
                query = query.Where(d => d.PositionName.Contains(req.PositionName));
            }
            if (!string.IsNullOrEmpty(req.Sex))
            {
                query = query.Where(d => d.Sex.Contains(req.Sex));
            }
            if (req.OnboardDateStart != DateTime.MinValue && req.OnboardDateStart != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.OnboardDate >= req.OnboardDateStart);
            }
            if (req.OnboardDateEnd != DateTime.MinValue && req.OnboardDateEnd != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.OnboardDate <= req.OnboardDateEnd);
            }
            if (req.FullMemberDateStart != DateTime.MinValue && req.FullMemberDateStart != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.FullMemberDate >= req.FullMemberDateStart);
            }
            if (req.FullMemberDateEnd != DateTime.MinValue && req.FullMemberDateEnd != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.FullMemberDate <= req.FullMemberDateEnd);
            }
            if (!string.IsNullOrEmpty(req.Nationality))
            {
                query = query.Where(d => d.Nationality.Contains(req.Nationality));
            }
            if (!string.IsNullOrEmpty(req.Polity))
            {
                query = query.Where(d => d.Polity.Contains(req.Polity));
            }
            if (req.BirthdayStart != DateTime.MinValue && req.BirthdayStart != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.Birthday >= req.BirthdayStart);
            }
            if (req.BirthdayEnd != DateTime.MinValue && req.BirthdayEnd != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.Birthday <= req.BirthdayEnd);
            }
            if (!string.IsNullOrEmpty(req.IDCard))
            {
                query = query.Where(d => d.IDCard.Contains(req.IDCard));
            }
            if (req.Age != null)
            {
                query = query.Where(d => d.Age == req.Age);
            }
            if (!string.IsNullOrEmpty(req.Phone))
            {
                query = query.Where(d => d.Phone.Contains(req.Phone));
            }
            if (!string.IsNullOrEmpty(req.Marry))
            {
                query = query.Where(d => d.Marry.Contains(req.Marry));
            }
            if (!string.IsNullOrEmpty(req.Education))
            {
                query = query.Where(d => d.Education.Contains(req.Education));
            }
            if (!string.IsNullOrEmpty(req.EmergencyName))
            {
                query = query.Where(d => d.EmergencyName.Contains(req.EmergencyName));
            }
            if (!string.IsNullOrEmpty(req.EmergencyRelation))
            {
                query = query.Where(d => d.EmergencyRelation.Contains(req.EmergencyRelation));
            }
            if (!string.IsNullOrEmpty(req.EmergencyPhone))
            {
                query = query.Where(d => d.EmergencyPhone.Contains(req.EmergencyPhone));
            }
            if (!string.IsNullOrEmpty(req.YongGongType))
            {
                query = query.Where(d => d.YongGongType.Contains(req.YongGongType));
            }
            if (req.ContractExpireDateStart != DateTime.MinValue && req.ContractExpireDateStart != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.ContractExpireDate >= req.ContractExpireDateStart);
            }
            if (req.ContractExpireDateEnd != DateTime.MinValue && req.ContractExpireDateEnd != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.ContractExpireDate <= req.ContractExpireDateEnd);
            }
            if (req.ContractMoney != null)
            {
                query = query.Where(d => d.ContractMoney == req.ContractMoney);
            }
            if (!string.IsNullOrEmpty(req.Mark))
            {
                query = query.Where(d => d.Mark.Contains(req.Mark));
            }
            if (!string.IsNullOrEmpty(req.HuJi))
            {
                query = query.Where(d => d.HuJi.Contains(req.HuJi));
            }
            if (!string.IsNullOrEmpty(req.CurrentLiving))
            {
                query = query.Where(d => d.CurrentLiving.Contains(req.CurrentLiving));
            }
            if (!string.IsNullOrEmpty(req.HuJiLiving))
            {
                query = query.Where(d => d.HuJiLiving.Contains(req.HuJiLiving));
            }
            if (!string.IsNullOrEmpty(req.HuJiType))
            {
                query = query.Where(d => d.HuJiType.Contains(req.HuJiType));
            }
            if (!string.IsNullOrEmpty(req.SheBaoType))
            {
                query = query.Where(d => d.SheBaoType.Contains(req.SheBaoType));
            }
            if (req.BaseSheBaoMoney != null)
            {
                query = query.Where(d => d.BaseSheBaoMoney == req.BaseSheBaoMoney);
            }
            if (req.SheBaoStartDateStart != DateTime.MinValue && req.SheBaoStartDateStart != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.SheBaoStartDate >= req.SheBaoStartDateStart);
            }
            if (req.SheBaoStartDateEnd != DateTime.MinValue && req.SheBaoStartDateEnd != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.SheBaoStartDate <= req.SheBaoStartDateEnd);
            }
            if (!string.IsNullOrEmpty(req.GongJiJingNumber))
            {
                query = query.Where(d => d.GongJiJingNumber.Contains(req.GongJiJingNumber));
            }
            if (!string.IsNullOrEmpty(req.HeTongQiXian))
            {
                query = query.Where(d => d.HeTongQiXian.Contains(req.HeTongQiXian));
            }
            if (!string.IsNullOrEmpty(req.WorkAge))
            {
                query = query.Where(d => d.WorkAge.Contains(req.WorkAge));
            }
            if (!string.IsNullOrEmpty(req.BankCard))
            {
                query = query.Where(d => d.BankCard.Contains(req.BankCard));
            }
            if (req.projectid != null && req.projectid != 0)
            {
                query = query.Where(d => d.projectid == req.projectid);
            }
            if (!string.IsNullOrEmpty(req.ProjectName))
            {
                query = query.Where(d => d.ProjectName.Contains(req.ProjectName));
            }
            if (!string.IsNullOrEmpty(req.FuZhuangChiCun))
            {
                query = query.Where(d => d.FuZhuangChiCun.Contains(req.FuZhuangChiCun));
            }
            if (!string.IsNullOrEmpty(req.XieMa))
            {
                query = query.Where(d => d.XieMa.Contains(req.XieMa));
            }
            if (req.JinShengDateStart != DateTime.MinValue && req.JinShengDateStart != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.JinShengDate >= req.JinShengDateStart);
            }
            if (req.JinShengDateEnd != DateTime.MinValue && req.JinShengDateEnd != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.JinShengDate <= req.JinShengDateEnd);
            }
            if (req.LiZhiDateStart != DateTime.MinValue && req.LiZhiDateStart != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.LiZhiDate >= req.LiZhiDateStart);
            }
            if (req.LiZhiDateEnd != DateTime.MinValue && req.LiZhiDateEnd != SqlDateTime.MinValue.Value)
            {
                query = query.Where(d => d.LiZhiDate <= req.LiZhiDateEnd);
            }


            if (req.projectid == 0)
            {
                var        depList = db.Departments.Where(x => x.DepartmentType == "加盟店").ToList();
                List <int> depIds  = new List <int>();

                foreach (var dep in depList)
                {
                    depIds.Add(dep.Id);
                }

                query = query.Where(x => !depIds.Contains((int)x.projectid));
            }

            if (req.isHr == 0)
            {
                query = query.Where(d => d.DepartmentName.Contains("护理部"));
            }
            if (string.IsNullOrEmpty(req.sidx))
            {
                req.sidx = "id";
                req.sord = "desc";
            }
            SearchListResult <GuYuanUser> retListResult = query.ToSearchList(req);

            return(retListResult);
        }