From 0e5c4a8e17dcefcc10b2507da61b099be12451d8 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期五, 12 一月 2024 12:52:52 +0800
Subject: [PATCH] 代理合作功能

---
 zhengcaioa/Services/AdmSigninService.cs |  101 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 93 insertions(+), 8 deletions(-)

diff --git a/zhengcaioa/Services/AdmSigninService.cs b/zhengcaioa/Services/AdmSigninService.cs
index a9fe6b0..8ce3646 100644
--- a/zhengcaioa/Services/AdmSigninService.cs
+++ b/zhengcaioa/Services/AdmSigninService.cs
@@ -38,6 +38,12 @@
                     switch (signinType)
                     {
                         case 10:
+                            if (signIn.MorningIn.HasValue)
+                            {
+                                resultEntity.Result = false;
+                                resultEntity.Message = "宸茬粡鎵撲笂鍗堜笂鐝紝璇蜂笉瑕侀噸澶嶆墦鍗�";
+                                return resultEntity;
+                            }
                             signIn.MorningIn = DateTime.Now;
                             break;
                         case 11:
@@ -45,12 +51,24 @@
                             break;
 
                         case 20:
+                            if (signIn.AfternoonIn.HasValue)
+                            {
+                                resultEntity.Result = false;
+                                resultEntity.Message = "宸茬粡鎵撲笅鍗堜笂鐝崱锛岃涓嶈閲嶅鎵撳崱";
+                                return resultEntity;
+                            }
                             signIn.AfternoonIn = DateTime.Now;
                             break;
                         case 21:
                             signIn.AfternoonOut = DateTime.Now;
                             break;
                         case 30:
+                            if (signIn.AfternoonIn.HasValue)
+                            {
+                                resultEntity.Result = false;
+                                resultEntity.Message = "宸茬粡鎵撳姞鐝崱锛岃涓嶈閲嶅鎵撳崱";
+                                return resultEntity;
+                            }
                             signIn.OvertimeIn = DateTime.Now;
                             break;
                         case 31:
@@ -84,6 +102,20 @@
             AdmSignInDTO signin = _mapper.Map<AdmSignInDTO>(entity);
             return signin;
         }
+
+        public AdmSignInDTO GetByUserAndDate(string userid, DateTime sgninDate)
+        {
+            AdmSignIn entity = _context.AdmSignIns.Where(x=>x.RecStatus == "A" &&  x.UserId == userid && x.SgninDate == sgninDate).FirstOrDefault();
+            AdmSignInDTO signin = null;
+            if (entity != null)
+            {
+                signin = _mapper.Map<AdmSignInDTO>(entity);
+            }
+            
+            return signin;
+        }
+
+        
 
         public AdmSignInDTO GetTodaySignin(string userId)
         {
@@ -209,7 +241,7 @@
                           Afternoon = virtity(a.AfternoonIn, a.AfternoonOut),
                           Overtime = virtity(a.OvertimeIn, a.OvertimeOut)
                       }).ToList();
-            if (searchEntity.totalrows == 0)
+            //if (searchEntity.totalrows == 0)
                 searchEntity.totalrows = dt.Count();
             var signinList = dt.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
             list = _mapper.Map<List<SigninListDTO>>(signinList);
@@ -252,17 +284,26 @@
                 if (string.IsNullOrEmpty(admAsk.Id))
                 {
                     ask.Id = Guid.NewGuid().ToString();
+                    admAsk.Id = ask.Id;
                     _context.AdmAskLeaves.Add(ask);                  
                 }
                 else
                 {
                     var entity = _context.AdmAskLeaves.Find(admAsk.Id);
+
+                    entity.SigninId = admAsk.SigninId;
+                    entity.StratPoint = admAsk.StratPoint;
+                    entity.EndPoint = admAsk.EndPoint;
+                    entity.ShenpiStatus = admAsk.ShenpiStatus;
+                    entity.CreaterName = admAsk.CreaterName;
+                    entity.Tittle = admAsk.Tittle;
+
                     entity.LaveDay = admAsk.LaveDay;
                     entity.LavehHour = admAsk.LavehHour;
                     entity.Remark = admAsk.Remark;
                     entity.Lavetype = admAsk.Lavetype;
                     entity.StratTime = admAsk.StratTime;
-                    entity.EndTime = admAsk.StratTime;
+                    entity.EndTime = admAsk.EndTime;
                     entity.Modifier = admAsk.Modifier;
                     entity.Modifytime = DateTime.Now;
                 }
@@ -295,11 +336,19 @@
                 else
                 {
                     var entity = _context.AdmAskLeaveOffs.Find(leaveOff.Id);
+
+                    entity.SigninId = leaveOff.SigninId;
+                    entity.StratPoint = leaveOff.StratPoint;
+                    entity.EndPoint = leaveOff.EndPoint;
+                    entity.ShenpiStatus = leaveOff.ShenpiStatus;
+                    entity.CreaterName = leaveOff.CreaterName;
+                    entity.Tittle = leaveOff.Tittle;
+
                     entity.MedicalRecord = leaveOff.MedicalRecord;                    
                     entity.Remark = leaveOff.Remark;
                     entity.Lavetype = leaveOff.Lavetype;
                     entity.StratTime = leaveOff.StratTime;
-                    entity.EndTime = leaveOff.StratTime;
+                    entity.EndTime = leaveOff.EndTime;
                     entity.Modifier = leaveOff.Modifier;
                     entity.Modifytime = DateTime.Now;
                 }
@@ -317,9 +366,9 @@
             return resultEntity;
         }
 
-        public AdmAskLeaveDTO GetAskLeave(string signinId) 
+        public AdmAskLeaveDTO GetAskLeave(string Id) 
         {
-            AdmAskLeave entity =  _context.AdmAskLeaves.Where(e => e.RecStatus == "A" && e.SigninId == signinId).FirstOrDefault();
+            AdmAskLeave entity =  _context.AdmAskLeaves.Where(e => e.RecStatus == "A" && e.Id == Id).FirstOrDefault();
             if (entity == null)
             {
                 entity = new AdmAskLeave();
@@ -328,10 +377,46 @@
             return leaveDTO;
 
         }
-       
-        public AdmAskLeaveOffDTO GetAskLeaveOff(string signinId)
+
+        public List<AdmAskLeaveDTO> GetAskLeaveByUserId(string UserId)
         {
-            AdmAskLeaveOff entity = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.SigninId == signinId).FirstOrDefault();
+            List<AdmAskLeave> admAskLeaveDTOs = _context.AdmAskLeaves.Where(e => e.RecStatus == "A" && e.ShenpiStatus == "A" && e.Creater == UserId).ToList();
+
+            List<AdmAskLeaveDTO> leaveDTOs = _mapper.Map< List <AdmAskLeaveDTO>  >(admAskLeaveDTOs);
+            return leaveDTOs;
+
+        }
+
+        public List<AdmAskLeaveDTO> GetAskLeaveChongdie(string UserId, DateTime StratTime, DateTime EndTime)
+        {
+            List<AdmAskLeave> admAskLeaveDTOs = _context.AdmAskLeaves.Where(e => e.RecStatus == "A"  && e.Creater == UserId &&  (( e.StratTime <= StratTime && e.EndTime > StratTime) || (e.StratTime < EndTime && e.EndTime >= EndTime) )).ToList();
+
+            List<AdmAskLeaveDTO> leaveDTOs = _mapper.Map<List<AdmAskLeaveDTO>>(admAskLeaveDTOs);
+            return leaveDTOs;
+
+        }
+
+        public List<AdmAskLeaveOffDTO> GetAskLeaveOffByUserId(string UserId)
+        {
+            List<AdmAskLeaveOff> admAskLeaveOffs = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.ShenpiStatus == "A" && e.Creater == UserId).ToList();
+
+            List<AdmAskLeaveOffDTO> leaveDTOs = _mapper.Map<List<AdmAskLeaveOffDTO>>(admAskLeaveOffs);
+            return leaveDTOs;
+
+        }
+
+        public List<AdmAskLeaveOffDTO> GetAskLeaveOffChongdie(string UserId, DateTime StratTime, DateTime EndTime)
+        {
+            List<AdmAskLeaveOff> admAskLeaveOffs = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.Creater == UserId && ((e.StratTime <= StratTime && e.EndTime > StratTime) || (e.StratTime < EndTime && e.EndTime >= EndTime))).ToList();
+
+            List<AdmAskLeaveOffDTO> leaveDTOs = _mapper.Map<List<AdmAskLeaveOffDTO>>(admAskLeaveOffs);
+            return leaveDTOs;
+
+        }
+
+        public AdmAskLeaveOffDTO GetAskLeaveOff(string Id)
+        {
+            AdmAskLeaveOff entity = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.Id == Id ).FirstOrDefault();
             if (entity == null)
             {
                 entity = new AdmAskLeaveOff();

--
Gitblit v1.9.1