From 77f8f99697748749edd553b127de34b02ccb18c5 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期五, 25 六月 2021 11:43:59 +0800
Subject: [PATCH] 提交

---
 zhengcaioa/IServices/IAdmBreakPrecedentService.cs                   |    3 
 zhengcaioa/DTO/ProjectDTO.cs                                        |    4 
 zhengcaioa/Services/AdmBreakPrecedentService.cs                     |   13 
 zhengcaioa/IServices/IAdmPieceCheckService.cs                       |    2 
 zhengcaioa/Services/HrSalaryService.cs                              |   20 
 zhengcaioa/zhengcaioa/Controllers/UserController.cs                 |    4 
 zhengcaioa/zhengcaioa/zhengcaioa.csproj.user                        |    2 
 考勤计算的表.sql                                                          |  136 +
 zhengcaioa/Services/AdmPieceCheckService.cs                         |   13 
 zhengcaioa/Model/AdmAttendanceDtl.cs                                |    8 
 zhengcaioa/IServices/IDailyManagementService.cs                     |    2 
 zhengcaioa/Services/AdmSigninService.cs                             |   34 
 zhengcaioa/Services/GroupTopicService.cs                            |   10 
 zhengcaioa/Model/zhengcaioaContext.cs                               |   24 
 zhengcaioa/Services/CooperOrderService.cs                           |   14 
 zhengcaioa/IServices/ISimService.cs                                 |    2 
 zhengcaioa/zhengcaioa/Controllers/ProjectController.cs              |    1 
 zhengcaioa/Services/DailyManagementService.cs                       |   27 
 zhengcaioa/DTO/AdmAttendanceDtlDTO.cs                               |    7 
 zhengcaioa/IServices/ICooperOrderService.cs                         |    3 
 zhengcaioa/zhengcaioa/Views/Liaotian/Edit.cshtml                    |   48 
 zhengcaioa/Services/ProjectService.cs                               |   49 
 zhengcaioa/Services/SimService.cs                                   |   11 
 用户表更新.sql                                                           |   10 
 zhengcaioa/zhengcaioa/Views/User/Edit.cshtml                        |   54 
 zhengcaioa/IServices/IAdmAttendanceService.cs                       |    2 
 zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs |   40 
 zhengcaioa/IServices/ICooperVisitService.cs                         |    2 
 zhengcaioa/Services/CooperatecustomCustomerService.cs               |   25 
 zhengcaioa/zhengcaioa/Views/Project/Select.cshtml                   |   26 
 zhengcaioa/zhengcaioa/Views/CooperOrder/Index.cshtml                |    2 
 zhengcaioa/IServices/IUserService.cs                                |    3 
 zhengcaioa/DTO/PltUserDTO.cs                                        |    1 
 zhengcaioa/Services/AdmAttendanceService.cs                         |   13 
 zhengcaioa/IServices/IAdmAttendanceDtlService.cs                    |    2 
 zhengcaioa/IServices/IAdmSigninService.cs                           |    7 
 zhengcaioa/Services/AdmAttendanceDtlService.cs                      |   30 
 zhengcaioa/IServices/IHrSalaryService.cs                            |    2 
 zhengcaioa/DTO/AdmSignInDTO.cs                                      |    6 
 zhengcaioa/IServices/IGroupTopicService.cs                          |    2 
 zhengcaioa/zhengcaioa/Controllers/HR/HrJixiaotichengController.cs   |   15 
 zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs               | 2729 ++++++++++++++++++++++++++++++++++++++++++++++
 zhengcaioa/Services/CooperVisitService.cs                           |   17 
 zhengcaioa/Services/UserService.cs                                  |   14 
 zhengcaioa/IServices/ICooperatecustomCustomerService.cs             |    4 
 zhengcaioa/zhengcaioa/Views/Liaotian/Indexcheck.cshtml              |    2 
 46 files changed, 3,307 insertions(+), 138 deletions(-)

diff --git a/zhengcaioa/DTO/AdmAttendanceDtlDTO.cs b/zhengcaioa/DTO/AdmAttendanceDtlDTO.cs
index 3bbc9e9..6fa5774 100644
--- a/zhengcaioa/DTO/AdmAttendanceDtlDTO.cs
+++ b/zhengcaioa/DTO/AdmAttendanceDtlDTO.cs
@@ -22,9 +22,12 @@
         public DateTime Createtime { get; set; }
         public string Modifier { get; set; }
         public DateTime Modifytime { get; set; }
-        public decimal Chidaofenzhong { get; set; }
-        public decimal Zaotuifenzhong { get; set; }
+        public decimal Shangwuchidaofenzhong { get; set; }
+        public decimal Xiawuchidaofenzhong { get; set; }
+        public decimal Shangwuzaotuifenzhong { get; set; }
+        public decimal Xiawuzaotuifenzhong { get; set; }
         public decimal Kuanggongtianshu { get; set; }
+        public string Iswork { get; set; }
     }
 
     public class AdmAttendanceDtlDTOSearch : SearchEntity
diff --git a/zhengcaioa/DTO/AdmSignInDTO.cs b/zhengcaioa/DTO/AdmSignInDTO.cs
index 0bfbb4d..58e08ad 100644
--- a/zhengcaioa/DTO/AdmSignInDTO.cs
+++ b/zhengcaioa/DTO/AdmSignInDTO.cs
@@ -113,4 +113,10 @@
         public string Tittle { get; set; }
 
     }
+
+    public partial class DateBiJiaoDTO
+    {
+        public DateTime? StartTime { get; set; }
+        public DateTime? EndTime { get; set; }
+    }
 }
diff --git a/zhengcaioa/DTO/PltUserDTO.cs b/zhengcaioa/DTO/PltUserDTO.cs
index 55fd534..3e29460 100644
--- a/zhengcaioa/DTO/PltUserDTO.cs
+++ b/zhengcaioa/DTO/PltUserDTO.cs
@@ -56,6 +56,7 @@
         public DateTime? Indate { get; set; }
         public string IndateName { get; set; }
         public DateTime? Outdate { get; set; }
+        public string OutdateName { get; set; }
         public string Gongling { get; set; }
 
         public string Sex { get; set; }
diff --git a/zhengcaioa/DTO/ProjectDTO.cs b/zhengcaioa/DTO/ProjectDTO.cs
index 6f3733d..ca5a709 100644
--- a/zhengcaioa/DTO/ProjectDTO.cs
+++ b/zhengcaioa/DTO/ProjectDTO.cs
@@ -96,8 +96,10 @@
 
 
         public string fblx { get; set; }
-        
 
+        public string  Reasonname { get; set; }
+
+        public string ShiFouyReasonname { get; set; }
 
     }
 }
diff --git a/zhengcaioa/IServices/IAdmAttendanceDtlService.cs b/zhengcaioa/IServices/IAdmAttendanceDtlService.cs
index 8499e30..7fdcb06 100644
--- a/zhengcaioa/IServices/IAdmAttendanceDtlService.cs
+++ b/zhengcaioa/IServices/IAdmAttendanceDtlService.cs
@@ -11,6 +11,8 @@
 
         AdmAttendanceDtlDTO Get(string id);
 
+        AdmAttendanceDtlDTO GetByUserAndDate(string Attendanceid, DateTime SgninDate);
+
         List<AdmAttendanceDtlDTO> GetList(AdmAttendanceDtlDTOSearch searchEntity);
 
         ResultEntity ModifyStatus(string id, string userid);
diff --git a/zhengcaioa/IServices/IAdmAttendanceService.cs b/zhengcaioa/IServices/IAdmAttendanceService.cs
index cff16a5..41e1c5d 100644
--- a/zhengcaioa/IServices/IAdmAttendanceService.cs
+++ b/zhengcaioa/IServices/IAdmAttendanceService.cs
@@ -11,6 +11,8 @@
 
         AdmAttendanceDTO Get(string id);
 
+        AdmAttendanceDTO GetByUserAndDate(string userid, int year,int month);
+
         ResultDataEntity<AdmAttendanceDTO> SearchByPaging(AdmAttendanceDTOSearch searchEntity);
 
         ResultEntity ModifyStatus(string id, string userid);
diff --git a/zhengcaioa/IServices/IAdmBreakPrecedentService.cs b/zhengcaioa/IServices/IAdmBreakPrecedentService.cs
index 52a679c..5111a70 100644
--- a/zhengcaioa/IServices/IAdmBreakPrecedentService.cs
+++ b/zhengcaioa/IServices/IAdmBreakPrecedentService.cs
@@ -16,5 +16,8 @@
         ResultDataEntity<AdmBreakPrecedentDTO> SearchByPaging(AdmBreakPrecedentDTOSearch searchEntity);
 
         ResultEntity ModifyStatus(string id, string userid);
+
+
+        List<AdmBreakPrecedentDTO> GetList (string userid, DateTime datemin, DateTime datemax);
     }
 }
diff --git a/zhengcaioa/IServices/IAdmPieceCheckService.cs b/zhengcaioa/IServices/IAdmPieceCheckService.cs
index 140a8c3..dbd21e8 100644
--- a/zhengcaioa/IServices/IAdmPieceCheckService.cs
+++ b/zhengcaioa/IServices/IAdmPieceCheckService.cs
@@ -16,5 +16,7 @@
         ResultDataEntity<AdmPieceCheckDTO> SearchByPaging(AdmPieceCheckDTOSearch searchEntity);
 
         ResultEntity ModifyStatus(string id, string userid);
+
+        List<AdmPieceCheckDTO> GetList(string userid, DateTime datemin, DateTime datemax);
     }
 }
diff --git a/zhengcaioa/IServices/IAdmSigninService.cs b/zhengcaioa/IServices/IAdmSigninService.cs
index 1f0ab9d..e2a0506 100644
--- a/zhengcaioa/IServices/IAdmSigninService.cs
+++ b/zhengcaioa/IServices/IAdmSigninService.cs
@@ -11,6 +11,8 @@
 
         AdmSignInDTO Get(string id);
 
+        AdmSignInDTO GetByUserAndDate(string userid,DateTime sgninDate);
+
         AdmSignInDTO GetTodaySignin(string userId);
         ResultDataEntity<SigninListDTO> SearchByPaging(AdmSignInDTOSearch searchEntity);
 
@@ -20,10 +22,15 @@
         //璇峰亣
         ResultEntity SaveAskLeave(AdmAskLeaveDTO admAsk);
         AdmAskLeaveDTO GetAskLeave(string Id);
+
+        List<AdmAskLeaveDTO> GetAskLeaveByUserId(string UserId);
+
         //閿�鍋�
         ResultEntity SaveAskLeaveOff(AdmAskLeaveOffDTO leaveOff);
         AdmAskLeaveOffDTO GetAskLeaveOff(string Id);
 
+        List<AdmAskLeaveOffDTO> GetAskLeaveOffByUserId(string UserId);
+
         #region 鑰冨嫟瑙勫垯
 
         ResultEntity SaveAttendanceRlues(string attRlues);
diff --git a/zhengcaioa/IServices/ICooperOrderService.cs b/zhengcaioa/IServices/ICooperOrderService.cs
index 34086dc..806d3c8 100644
--- a/zhengcaioa/IServices/ICooperOrderService.cs
+++ b/zhengcaioa/IServices/ICooperOrderService.cs
@@ -30,5 +30,8 @@
         ResultEntity pingjia(CooperOrderDTO dto);
 
         CooperOrderDTO Getprint(string id);
+
+        List<CooperOrderDTO> GetList(string userid, DateTime datemin, DateTime datemax);
+
     }
 }
diff --git a/zhengcaioa/IServices/ICooperVisitService.cs b/zhengcaioa/IServices/ICooperVisitService.cs
index 4010441..94f2db7 100644
--- a/zhengcaioa/IServices/ICooperVisitService.cs
+++ b/zhengcaioa/IServices/ICooperVisitService.cs
@@ -18,5 +18,7 @@
         ResultEntity ModifyStatus(string id, string userid);
 
         List<CooperatecustomCustomerDTO> GetList(string[] id);
+
+        List<CooperVisitDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax);
     }
 }
diff --git a/zhengcaioa/IServices/ICooperatecustomCustomerService.cs b/zhengcaioa/IServices/ICooperatecustomCustomerService.cs
index aef5fb7..047e0fb 100644
--- a/zhengcaioa/IServices/ICooperatecustomCustomerService.cs
+++ b/zhengcaioa/IServices/ICooperatecustomCustomerService.cs
@@ -18,5 +18,9 @@
         ResultEntity ModifyStatus(string id, string userid);
 
         List<CooperatecustomCustomerDTO> GetList();
+        List<CooperatecustomCustomerDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax);
+
+
+        List<CooperatecustomCustomerDTO> GetListsalaryqiandan(string userid, DateTime datemin, DateTime datemax);
     }
 }
diff --git a/zhengcaioa/IServices/IDailyManagementService.cs b/zhengcaioa/IServices/IDailyManagementService.cs
index 5790af9..86476a8 100644
--- a/zhengcaioa/IServices/IDailyManagementService.cs
+++ b/zhengcaioa/IServices/IDailyManagementService.cs
@@ -22,5 +22,7 @@
         AdmMemoBookDTO GetMemoBook(string id);
         int GetRemind(string userid);
 
+        List<AdmMemoBookDTO> GetRemindsalary(string userid, DateTime datemin, DateTime datemax,string KaoHe);
+
     }
 }
diff --git a/zhengcaioa/IServices/IGroupTopicService.cs b/zhengcaioa/IServices/IGroupTopicService.cs
index ec79e9a..75f6258 100644
--- a/zhengcaioa/IServices/IGroupTopicService.cs
+++ b/zhengcaioa/IServices/IGroupTopicService.cs
@@ -16,5 +16,7 @@
         ResultEntity ModifyStatus(string id, string userid);
 
         List<GroupTopicDTO> GetList();
+
+        List<GroupTopicDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax);
     }
 }
diff --git a/zhengcaioa/IServices/IHrSalaryService.cs b/zhengcaioa/IServices/IHrSalaryService.cs
index 87e6e5b..0bc0280 100644
--- a/zhengcaioa/IServices/IHrSalaryService.cs
+++ b/zhengcaioa/IServices/IHrSalaryService.cs
@@ -18,5 +18,7 @@
         ResultEntity ModifyStatus(string id, string userid);
 
         List<HrSalaryDTO> GetList();
+
+        HrSalaryDTO GetListByUser(string Userid,int year,int month);
     }
 }
diff --git a/zhengcaioa/IServices/ISimService.cs b/zhengcaioa/IServices/ISimService.cs
index a5eaea0..6496f5e 100644
--- a/zhengcaioa/IServices/ISimService.cs
+++ b/zhengcaioa/IServices/ISimService.cs
@@ -23,5 +23,7 @@
         SimCost GetSimCost(int id);
 
         ResultDataEntity<SimCostView> SearchSimCostByPage(SimCostDTOSearch searchEntity);
+
+        SimCostView GetSimCost(string userid , int  bill_year, int bill_month);
     }
 }
diff --git a/zhengcaioa/IServices/IUserService.cs b/zhengcaioa/IServices/IUserService.cs
index f23d6a6..8e7070e 100644
--- a/zhengcaioa/IServices/IUserService.cs
+++ b/zhengcaioa/IServices/IUserService.cs
@@ -26,5 +26,8 @@
 
         List<PltUserDTO> GetList(string DeptId = null ,string IsYwjl = null);
 
+
+        List<PltUserDTO> GetListjisuankaoqin(DateTime dateminkaoqin, DateTime datemaxkaoqin);
+
     }
 }
diff --git a/zhengcaioa/Model/AdmAttendanceDtl.cs b/zhengcaioa/Model/AdmAttendanceDtl.cs
index 1cb2d45..9804a04 100644
--- a/zhengcaioa/Model/AdmAttendanceDtl.cs
+++ b/zhengcaioa/Model/AdmAttendanceDtl.cs
@@ -23,8 +23,12 @@
         public DateTime Createtime { get; set; }
         public string Modifier { get; set; }
         public DateTime Modifytime { get; set; }
-        public decimal Chidaofenzhong { get; set; }
-        public decimal Zaotuifenzhong { get; set; }
+        public decimal Shangwuchidaofenzhong { get; set; }
+        public decimal Xiawuchidaofenzhong { get; set; }
+        public decimal Shangwuzaotuifenzhong { get; set; }
+        public decimal Xiawuzaotuifenzhong { get; set; }
         public decimal Kuanggongtianshu { get; set; }
+
+        public string Iswork { get; set; }
     }
 }
diff --git a/zhengcaioa/Model/zhengcaioaContext.cs b/zhengcaioa/Model/zhengcaioaContext.cs
index 09d641c..17456be 100644
--- a/zhengcaioa/Model/zhengcaioaContext.cs
+++ b/zhengcaioa/Model/zhengcaioaContext.cs
@@ -341,10 +341,6 @@
                     .HasMaxLength(50)
                     .HasColumnName("attendance_id");
 
-                entity.Property(e => e.Chidaofenzhong)
-                    .HasColumnType("decimal(18, 4)")
-                    .HasColumnName("chidaofenzhong");
-
                 entity.Property(e => e.Creater)
                     .IsRequired()
                     .HasMaxLength(50)
@@ -355,6 +351,10 @@
                     .HasColumnType("datetime")
                     .HasColumnName("createtime")
                     .HasDefaultValueSql("(getdate())");
+
+                entity.Property(e => e.Iswork)
+                   .HasMaxLength(1)
+                   .HasColumnName("iswork");
 
                 entity.Property(e => e.Kuanggongtianshu)
                     .HasColumnType("decimal(18, 4)")
@@ -393,13 +393,25 @@
                     .HasColumnType("datetime")
                     .HasDefaultValueSql("(getdate())");
 
+                entity.Property(e => e.Shangwuchidaofenzhong)
+                    .HasColumnType("decimal(18, 4)")
+                    .HasColumnName("shangwuchidaofenzhong");
+
+                entity.Property(e => e.Shangwuzaotuifenzhong)
+                    .HasColumnType("decimal(18, 4)")
+                    .HasColumnName("shangwuzaotuifenzhong");
+
                 entity.Property(e => e.Xiaojia)
                     .HasColumnType("decimal(18, 4)")
                     .HasColumnName("xiaojia");
 
-                entity.Property(e => e.Zaotuifenzhong)
+                entity.Property(e => e.Xiawuchidaofenzhong)
                     .HasColumnType("decimal(18, 4)")
-                    .HasColumnName("zaotuifenzhong");
+                    .HasColumnName("xiawuchidaofenzhong");
+
+                entity.Property(e => e.Xiawuzaotuifenzhong)
+                    .HasColumnType("decimal(18, 4)")
+                    .HasColumnName("xiawuzaotuifenzhong");
             });
 
             modelBuilder.Entity<AdmAttendanceRule>(entity =>
diff --git a/zhengcaioa/Services/AdmAttendanceDtlService.cs b/zhengcaioa/Services/AdmAttendanceDtlService.cs
index 63f1cc4..e9978d4 100644
--- a/zhengcaioa/Services/AdmAttendanceDtlService.cs
+++ b/zhengcaioa/Services/AdmAttendanceDtlService.cs
@@ -52,9 +52,12 @@
                         updatepltRole.Createtime = AdmAttendanceDtl.Createtime;
                         updatepltRole.Modifier = AdmAttendanceDtl.Modifier;
                         updatepltRole.Modifytime = AdmAttendanceDtl.Modifytime;
-                        updatepltRole.Chidaofenzhong = AdmAttendanceDtl.Chidaofenzhong;
-                        updatepltRole.Zaotuifenzhong = AdmAttendanceDtl.Zaotuifenzhong;
+                        updatepltRole.Shangwuchidaofenzhong = AdmAttendanceDtl.Shangwuchidaofenzhong;
+                        updatepltRole.Xiawuchidaofenzhong = AdmAttendanceDtl.Xiawuchidaofenzhong;
+                        updatepltRole.Shangwuzaotuifenzhong = AdmAttendanceDtl.Shangwuzaotuifenzhong;
+                        updatepltRole.Xiawuzaotuifenzhong = AdmAttendanceDtl.Xiawuzaotuifenzhong;
                         updatepltRole.Kuanggongtianshu = AdmAttendanceDtl.Kuanggongtianshu;
+                        updatepltRole.Iswork = AdmAttendanceDtl.Iswork;
                     }
 
                 }
@@ -84,7 +87,21 @@
             return AdmAttendanceDtlDTO;
         }
 
-    
+        public AdmAttendanceDtlDTO GetByUserAndDate(string Attendanceid, DateTime SgninDate)
+        {
+            var entity = _context.AdmAttendanceDtls.Where(x => x.RecStatus == "A" && x.AttendanceId == Attendanceid && x.SgninDate == SgninDate ).FirstOrDefault();
+            AdmAttendanceDtlDTO dto = null;
+            if (entity != null)
+            {
+                dto = _mapper.Map<AdmAttendanceDtlDTO>(entity);
+            }
+
+            return dto;
+        }
+
+
+
+
         public ResultEntity ModifyStatus(string id, string userid)
         {
 
@@ -140,9 +157,12 @@
                              Modifier = a.Modifier,
                              Modifytime = a.Modifytime,
 
-                             Chidaofenzhong = a.Chidaofenzhong,
-                             Zaotuifenzhong = a.Zaotuifenzhong,
+                             Shangwuchidaofenzhong = a.Shangwuchidaofenzhong,
+                             Xiawuchidaofenzhong = a.Xiawuchidaofenzhong,
+                             Shangwuzaotuifenzhong = a.Shangwuzaotuifenzhong,
+                             Xiawuzaotuifenzhong = a.Xiawuzaotuifenzhong,
                              Kuanggongtianshu = a.Kuanggongtianshu,
+                             Iswork = a.Iswork
                          }).OrderByDescending(x => x.Createtime).ToList();
 
             return query;
diff --git a/zhengcaioa/Services/AdmAttendanceService.cs b/zhengcaioa/Services/AdmAttendanceService.cs
index f5e84d7..a663443 100644
--- a/zhengcaioa/Services/AdmAttendanceService.cs
+++ b/zhengcaioa/Services/AdmAttendanceService.cs
@@ -87,6 +87,19 @@
             return AdmAttendanceDTO;
         }
 
+        public AdmAttendanceDTO GetByUserAndDate(string userid, int year, int month)
+        {
+            var entity = _context.AdmAttendances.Where(x=>x.RecStatus=="A" &&  x.Userid == userid && x.Year == year && x.Month == month).FirstOrDefault();
+            AdmAttendanceDTO dto = null;
+            if (entity != null)
+            {
+                dto  = _mapper.Map<AdmAttendanceDTO>(entity);
+            }
+            
+            return dto;
+        }
+
+
         public ResultDataEntity<AdmAttendanceDTO> SearchByPaging(AdmAttendanceDTOSearch searchEntity)
         {
             ResultDataEntity<AdmAttendanceDTO> data = new ResultDataEntity<AdmAttendanceDTO>();
diff --git a/zhengcaioa/Services/AdmBreakPrecedentService.cs b/zhengcaioa/Services/AdmBreakPrecedentService.cs
index 5aa9b76..018ed71 100644
--- a/zhengcaioa/Services/AdmBreakPrecedentService.cs
+++ b/zhengcaioa/Services/AdmBreakPrecedentService.cs
@@ -200,5 +200,18 @@
 
             return result;
         }
+
+        public List<AdmBreakPrecedentDTO> GetList(string userid, DateTime datemin, DateTime datemax)
+        {
+
+            var entity = _context.AdmBreakPrecedents.Where(x=>x.RecStatus=="A" && x.UserId == userid && x.BreakTime >= datemin && x.BreakTime < datemax);
+
+            
+
+            var result = _mapper.Map<List<AdmBreakPrecedentDTO>>(entity);
+
+
+            return result;
+        }
     }
 }
diff --git a/zhengcaioa/Services/AdmPieceCheckService.cs b/zhengcaioa/Services/AdmPieceCheckService.cs
index 963a1fc..d6f3fca 100644
--- a/zhengcaioa/Services/AdmPieceCheckService.cs
+++ b/zhengcaioa/Services/AdmPieceCheckService.cs
@@ -231,5 +231,18 @@
 
             return result;
         }
+
+        public List<AdmPieceCheckDTO> GetList(string userid, DateTime datemin, DateTime datemax)
+        {
+
+            var entity = _context.AdmPieceChecks.Where(x=> x.RecStatus == "A" && x.UserId == userid && x.WorkTime >= datemin && x.WorkTime < datemax).ToList();
+
+             
+
+            var result = _mapper.Map<List<AdmPieceCheckDTO>>(entity);
+
+
+            return result;
+        }
     }
 }
diff --git a/zhengcaioa/Services/AdmSigninService.cs b/zhengcaioa/Services/AdmSigninService.cs
index 6c628cc..c3b7453 100644
--- a/zhengcaioa/Services/AdmSigninService.cs
+++ b/zhengcaioa/Services/AdmSigninService.cs
@@ -85,6 +85,20 @@
             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)
         {
             ResultEntity resultEntity = new ResultEntity();
@@ -345,7 +359,25 @@
             return leaveDTO;
 
         }
-       
+
+        public List<AdmAskLeaveDTO> GetAskLeaveByUserId(string UserId)
+        {
+            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<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 AdmAskLeaveOffDTO GetAskLeaveOff(string Id)
         {
             AdmAskLeaveOff entity = _context.AdmAskLeaveOffs.Where(e => e.RecStatus == "A" && e.Id == Id ).FirstOrDefault();
diff --git a/zhengcaioa/Services/CooperOrderService.cs b/zhengcaioa/Services/CooperOrderService.cs
index 883e834..6c62ba6 100644
--- a/zhengcaioa/Services/CooperOrderService.cs
+++ b/zhengcaioa/Services/CooperOrderService.cs
@@ -690,5 +690,19 @@
             }
             return query;
         }
+
+
+        public List<CooperOrderDTO> GetList(string userid, DateTime datemin, DateTime datemax)
+        {
+
+            var entity = _context.CooperOrders.Where(x => x.RecStatus == "A" && x.Creater == userid && x.Shoulitime >= datemin && x.Shoulitime < datemax).ToList();
+
+
+
+            var result = _mapper.Map<List<CooperOrderDTO>>(entity);
+
+
+            return result;
+        }
     }
 }
diff --git a/zhengcaioa/Services/CooperVisitService.cs b/zhengcaioa/Services/CooperVisitService.cs
index 6ecfc8c..afa7ed9 100644
--- a/zhengcaioa/Services/CooperVisitService.cs
+++ b/zhengcaioa/Services/CooperVisitService.cs
@@ -248,5 +248,22 @@
 
             return result;
         }
+
+        public List<CooperVisitDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
+        {
+            
+            
+                // var listCooperVisits = _context.CooperVisits.Where(r => id.Contains(r.Id) && r.RecStatus == "A").Select(x => x.Viscustomer).ToList();
+
+                var listCooperatecustomCustomers = _context.CooperVisits.Where(r =>  r.RecStatus == "A"&& r.Creater == userid && r.Vistime >= datemin && r.Vistime < datemax).ToList();
+
+               var result = _mapper.Map<List<CooperVisitDTO>>(listCooperatecustomCustomers);
+             
+
+
+
+
+            return result;
+        }
     }
 }
diff --git a/zhengcaioa/Services/CooperatecustomCustomerService.cs b/zhengcaioa/Services/CooperatecustomCustomerService.cs
index 41f5c41..fa900d8 100644
--- a/zhengcaioa/Services/CooperatecustomCustomerService.cs
+++ b/zhengcaioa/Services/CooperatecustomCustomerService.cs
@@ -301,5 +301,30 @@
             var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
             return list;
         }
+
+        public List<CooperatecustomCustomerDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
+        {
+
+
+            var listPosition = _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Creater == userid && r.Createtime >= datemin && r.Createtime < datemax).ToList();
+
+            var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
+            return list;
+        }
+
+        public List<CooperatecustomCustomerDTO> GetListsalaryqiandan(string userid, DateTime datemin, DateTime datemax)
+        {
+
+
+            var listPosition =( from a in _context.CooperatecustomCustomers.Where(r => r.RecStatus == "A" && r.Creater == userid)
+                                join b in _context.CooperOrders.Where(x => x.RecStatus == "A" && x.Shoulitime >= datemin && x.Shoulitime < datemax)
+                                on a.Id equals b.Khdw 
+
+                                select a
+                                ).Distinct().ToList();
+
+            var list = _mapper.Map<List<CooperatecustomCustomerDTO>>(listPosition);
+            return list;
+        }
     }
 }
diff --git a/zhengcaioa/Services/DailyManagementService.cs b/zhengcaioa/Services/DailyManagementService.cs
index b8ecd87..06b38cd 100644
--- a/zhengcaioa/Services/DailyManagementService.cs
+++ b/zhengcaioa/Services/DailyManagementService.cs
@@ -323,6 +323,33 @@
             //          }).ToList();
             return query.Count;
         }
+
+        /// <summary>
+        /// 鏌愪竴涓汉鐨勫伐浣滄彁閱�
+        /// </summary>
+        /// <param name="userid">鐢ㄦ埛ID</param>
+        /// <returns></returns>
+        public List<AdmMemoBookDTO> GetRemindsalary(string userid, DateTime datemin, DateTime datemax, string KaoHe)
+        {
+            var query = _context.AdmMemoBooks
+               .Where(e => e.RecStatus == "A" && e.ToUserId == userid  && e.KaoHe == KaoHe && e.Modifytime >= datemin && e.Modifytime < datemax)
+               .ToList();
+            //var dt = (from a in query
+            //          join b in _context.PltUsers.Where(e => e.RecStatus == "A")
+            //             on a.Creater equals b.Id
+            //          select new AdmMemoBookDTO
+            //          {
+            //              Id = a.Id,
+            //              Rtype = a.Rtype,
+            //              Creater = b.UserName,
+            //              Time = a.Time,
+            //              Context = a.Context,
+            //              Createtime = a.Createtime
+            //          }).ToList();
+            var list = _mapper.Map<List<AdmMemoBookDTO>>(query);
+            return list;
+        }
+
         public ResultEntity SaveMemoBook(AdmMemoBookDTO mbDTO)
         {
             ResultEntity resultEntity = new ResultEntity();
diff --git a/zhengcaioa/Services/GroupTopicService.cs b/zhengcaioa/Services/GroupTopicService.cs
index 138a5fd..8bec872 100644
--- a/zhengcaioa/Services/GroupTopicService.cs
+++ b/zhengcaioa/Services/GroupTopicService.cs
@@ -133,5 +133,15 @@
             var list = _mapper.Map<List<GroupTopicDTO>>(listRole);
             return list;
         }
+
+        public List<GroupTopicDTO> GetListsalary(string userid, DateTime datemin, DateTime datemax)
+        {
+
+
+            var listRole = _context.GroupTopics.Where(r => r.RecStatus == "A" && r.Creater == userid && r.Createtime >= datemin && r.Createtime < datemax ).ToList();
+
+            var list = _mapper.Map<List<GroupTopicDTO>>(listRole);
+            return list;
+        }
     }
 }
diff --git a/zhengcaioa/Services/HrSalaryService.cs b/zhengcaioa/Services/HrSalaryService.cs
index b9bbfec..9db306b 100644
--- a/zhengcaioa/Services/HrSalaryService.cs
+++ b/zhengcaioa/Services/HrSalaryService.cs
@@ -273,5 +273,25 @@
             var list = _mapper.Map<List<HrSalaryDTO>>(listPosition);
             return list;
         }
+
+
+        /// <summary>
+        /// 鑾峰彇鎵�鏈夋湁鏁堣鑹�
+        /// </summary>
+        /// <returns></returns>
+        public HrSalaryDTO GetListByUser(string Userid, int year, int month)
+        {
+
+
+            var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A" && r.Userid == Userid && r.Year == year && r.Month == month).FirstOrDefault();
+
+            HrSalaryDTO hrSalaryDTO = null;
+            if (listPosition != null)
+            {
+                hrSalaryDTO = _mapper.Map<HrSalaryDTO>(listPosition);
+            }
+            
+            return hrSalaryDTO;
+        }
     }
 }
diff --git a/zhengcaioa/Services/ProjectService.cs b/zhengcaioa/Services/ProjectService.cs
index 765ddb6..4097033 100644
--- a/zhengcaioa/Services/ProjectService.cs
+++ b/zhengcaioa/Services/ProjectService.cs
@@ -301,8 +301,30 @@
                 sql.Append(" )");
 
             }
-            
-                  if (!string.IsNullOrWhiteSpace(searchEntity.fblx))
+
+            if (!string.IsNullOrWhiteSpace(searchEntity.Reasonname))
+            {
+                sql.Append(" and  exists (select b.[ProjectId] from [Projectreason] b  where  a.[Id]=b.[ProjectId] and   b.[reasonname] like '%" + searchEntity.Reasonname + "%') ");
+
+            }
+
+            if (!string.IsNullOrWhiteSpace(searchEntity.ShiFouyReasonname))
+            {
+                if (searchEntity.ShiFouyReasonname == "A")
+                {
+                    sql.Append(" and  exists (select b.[ProjectId] from [Projectreason] b  where  a.[Id]=b.[ProjectId] ) ");
+
+                }
+                else
+                {
+                    sql.Append(" and not  exists (select b.[ProjectId] from [Projectreason] b  where  a.[Id]=b.[ProjectId] ) ");
+                }
+
+
+            }
+
+
+            if (!string.IsNullOrWhiteSpace(searchEntity.fblx))
             {
                 if (searchEntity.fblx == "A")
                 {
@@ -316,16 +338,31 @@
 
             }
 
+            DateTime StartTimestarstart = DateTime.Now;
+            DateTime StartTimestarend = DateTime.Now;
             if (!string.IsNullOrWhiteSpace(searchEntity.StartTimestar))
             {
-                sql.Append(" and a.start_time >='"+ searchEntity.StartTimestar.Trim().Replace("'","''") + "'");
-            
+                string[] StartTimestars = searchEntity.StartTimestar.Split("|");
+                DateTime.TryParse(StartTimestars[0], out StartTimestarstart);
+                DateTime.TryParse(StartTimestars[1], out StartTimestarend);
+                //Createtimeend = Createtimeend.AddDays(1);
             }
-            if (!string.IsNullOrWhiteSpace(searchEntity.StartTimeend))
+
+
+            if (!string.IsNullOrWhiteSpace(searchEntity.StartTimestar))
             {
-                sql.Append(" and a.start_time <='" + DateTime.Parse(searchEntity.StartTimeend.Trim().Replace("'", "''")).AddDays(1).ToString("yyyy-MM-dd") + "'"); ;
+                sql.Append(" and a.start_time >='" + StartTimestarstart.ToString("yyyy-MM-dd") + "'");
 
             }
+            if (!string.IsNullOrWhiteSpace(searchEntity.StartTimestar))
+            {
+                sql.Append(" and a.start_time <='" + StartTimestarend.AddDays(1).ToString("yyyy-MM-dd") + "'");
+
+            }
+
+
+
+ 
 
             if (!string.IsNullOrWhiteSpace(searchEntity.Sheng))
             {
diff --git a/zhengcaioa/Services/SimService.cs b/zhengcaioa/Services/SimService.cs
index 5278ed0..d8cd69a 100644
--- a/zhengcaioa/Services/SimService.cs
+++ b/zhengcaioa/Services/SimService.cs
@@ -332,6 +332,17 @@
             return data;
         }
 
+
+        public SimCostView GetSimCost(string userid, int bill_year, int bill_month)
+        {
+
+            var entity = _context.SimCostView.Where(x => x.user_id == userid && x.bill_year == bill_year && x.bill_month  == bill_month).FirstOrDefault();
+            
+
+
+            return entity;
+        }
+
         #endregion
     }
 }
diff --git a/zhengcaioa/Services/UserService.cs b/zhengcaioa/Services/UserService.cs
index 501d8b6..b17abda 100644
--- a/zhengcaioa/Services/UserService.cs
+++ b/zhengcaioa/Services/UserService.cs
@@ -393,6 +393,20 @@
             var list = _mapper.Map<List<PltUserDTO>>(listUser.ToList());
             return list;
         }
+
+        /// <summary>
+        /// 鑾峰彇鎵�鏈夋椿鍔ㄧ姸鎬佺殑浜哄憳
+        /// </summary>
+        /// <returns></returns>
+        public List<PltUserDTO> GetListjisuankaoqin(DateTime dateminkaoqin, DateTime datemaxkaoqin)
+        {
+
+
+            var listUser = _context.PltUsers.Where(u => u.RecStatus == "A" && ( u.Zhiwustatus == "A" || ( u.Zhiwustatus =="D" && u.Outdate>= dateminkaoqin && u.Outdate < datemaxkaoqin )));
+           
+            var list = _mapper.Map<List<PltUserDTO>>(listUser.ToList());
+            return list;
+        }
     }
 }
                                                          
\ No newline at end of file
diff --git a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs
index 94534d1..e10e018 100644
--- a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs
@@ -417,7 +417,7 @@
                     if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                     {
                         //鏄惁鑺傚亣鏃�
-                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueStart >= StratTime.Date))
+                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                         {
 
                             LavehTime += 0;
@@ -466,7 +466,7 @@
                     {
 
                         //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
-                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueStart >= StratTime.Date))
+                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                         {
                             if (StratTime <= StratTimeWorkingStart)
                             {
@@ -512,7 +512,7 @@
                     if ((int)EndTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)EndTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                     {
                         //鏄惁鑺傚亣鏃�
-                        if (jiejiari.Exists(x => x.ValueStart <= EndTime.Date && x.ValueStart >= EndTime.Date))
+                        if (jiejiari.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
                         {
 
                             LavehTime += 0;
@@ -562,7 +562,7 @@
                     {
 
                         //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
-                        if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueStart >= EndTime.Date))
+                        if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
                         {
                             if (EndTime >= EndTimeOffworkEnd)
                             {
@@ -611,7 +611,7 @@
                     if ((int)dateTimenow.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)dateTimenow.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
                     {
                         //鏄惁鍋囨湡 鍋囨湡涓嶄笂鐝�
-                        if (jiejiari.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueStart >= dateTimenow.Date))
+                        if (jiejiari.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date))
                         {
                             LavehTime += 0;
                         }
@@ -624,7 +624,7 @@
                     {
 
                         //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
-                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueStart >= StratTime.Date))
+                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
                         {
                             LavehTime += shangbanshijian;
                         }
@@ -637,8 +637,32 @@
 
 
                 if(ts.Days == 0)
-                {
-                    LavehTime -= shangbanshijian;
+                { //鏄惁涓婄彮鏃ユ湡
+                    if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
+                    {
+                        //鏄惁鑺傚亣鏃�
+                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+                        {
+                            LavehTime -= 0;
+                        }
+                        else
+                        {
+                            LavehTime -= shangbanshijian;
+                        }
+                    }
+                    else
+                    {
+                        //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
+                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+                        {
+                            LavehTime -= shangbanshijian;
+                        }
+                        else
+                        {
+                            LavehTime -= 0;
+                        }
+                    }
+                          
                 }
                
             }
diff --git a/zhengcaioa/zhengcaioa/Controllers/HR/HrJixiaotichengController.cs b/zhengcaioa/zhengcaioa/Controllers/HR/HrJixiaotichengController.cs
index 2aecacb..524f6cc 100644
--- a/zhengcaioa/zhengcaioa/Controllers/HR/HrJixiaotichengController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/HR/HrJixiaotichengController.cs
@@ -124,6 +124,19 @@
 
         public IActionResult Save(HrJixiaotichengDTO data)
         {
+            ResultEntity resultEntity = new ResultEntity();
+            if ( (data.Renwustandard == "01" || data.Renwustandard == "02") && data.Tichengstandard != "01")
+            {
+                resultEntity.Result = false;
+                resultEntity.Message = "浠诲姟鏍囧噯锛堜釜锛夊彧鑳藉搴旀彁鎴愭爣鍑嗭紙瀹氶锛夛紒";
+                return new JsonResult(resultEntity);
+            }
+            if ((data.Renwustandard == "03" || data.Renwustandard == "04") && data.Tichengstandard != "02")
+            {
+                resultEntity.Result = false;
+                resultEntity.Message = "浠诲姟鏍囧噯锛堝厓锛夊彧鑳藉搴旀彁鎴愭爣鍑嗭紙娴姩锛夛紒";
+                return new JsonResult(resultEntity);
+            }
             var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
             ViewData["curentuser"] = curentuser;
             data.RecStatus = "A";
@@ -135,7 +148,7 @@
             data.Modifier = curentuser.Id;
             data.Modifytime = DateTime.Now;
 
-            ResultEntity resultEntity = _hrJixiaotichengService.save(data);
+             resultEntity = _hrJixiaotichengService.save(data);
 
             return new JsonResult(resultEntity);
         }
diff --git a/zhengcaioa/zhengcaioa/Controllers/ProjectController.cs b/zhengcaioa/zhengcaioa/Controllers/ProjectController.cs
index 76d71e4..a0f7ae5 100644
--- a/zhengcaioa/zhengcaioa/Controllers/ProjectController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/ProjectController.cs
@@ -243,6 +243,7 @@
 
             ViewBag.Creater = _userService.GetList().Select(x => new { code = x.Id, label = x.UserName }).ToList();
             ViewBag.flbx = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
+            ViewBag.ShiFouyReasonname = _liaotianService.GetSYScode("Project", "ShiFouyReasonname").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList();
             return View();
         }
 
diff --git a/zhengcaioa/zhengcaioa/Controllers/UserController.cs b/zhengcaioa/zhengcaioa/Controllers/UserController.cs
index be27733..74de376 100644
--- a/zhengcaioa/zhengcaioa/Controllers/UserController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/UserController.cs
@@ -151,6 +151,10 @@
             {
                 PltUserDTO.ShiyongDateName = PltUserDTO.ShiyongDate.Value.ToString("yyyy-MM-dd");
             }
+            if (PltUserDTO.Outdate.HasValue)
+            {
+                PltUserDTO.OutdateName = PltUserDTO.Outdate.Value.ToString("yyyy-MM-dd");
+            }
 
             if (pltJiatingchengyuanDTOs.Count == 0)
             {
diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
index 1389a5e..0865bfa 100644
--- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
+++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -1,20 +1,62 @@
-锘縰sing Microsoft.Extensions.Hosting;
+锘縰sing DTO;
+using IServices;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
 using Microsoft.Extensions.Logging;
 using System;
+using System.Collections.Generic;
 using System.IO;
+using System.Linq;
 using System.Threading;
 using System.Threading.Tasks;
+using System.Transactions;
+using zhengcaioa.IService;
+using zhengcaioa.Models;
 
 namespace zhengcaioa.Timer
 {
     public class TimedBackgroundService : BackgroundService
     {
         private readonly ILogger _logger;
-        
+        private readonly IAdmAttendanceRuleService _attendanceRuleService;
+        private readonly IUserService _userService;
+        private readonly IAdmSigninService _signinService;
+        private readonly IAdmAttendanceService _admAttendanceService;
+        private readonly IAdmAttendanceDtlService _admAttendanceDtlService;
+        private readonly IHrSalaryService _hrSalaryService;
+        private readonly IHrJibengongziService _JibengongziService;
+        private readonly ISimService _simService;
+        private readonly IDailyManagementService _DailyManageService;
+        private readonly IAdmBreakPrecedentService _admBreakPrecedentService;
+        private readonly IHrJixiaotichengService _hrJixiaotichengService;
+        private readonly IFiPiecerateService _fiPiecerateService;
+        private readonly IAdmPieceCheckService _admPieceCheckService;
+        private readonly ICooperOrderService _cooperOrderService;
+        private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService;
+        private readonly IGroupTopicService _groupTopicService;
+        private readonly ICooperVisitService _cooperVisitService;
 
-        public TimedBackgroundService(ILogger<TimedBackgroundService> logger)
+        private readonly decimal jiabangongzibiaozhun = new decimal(21.5);
+        public TimedBackgroundService(ILogger<TimedBackgroundService> logger, IServiceScopeFactory factory)
         {
             _logger = logger;
+            _attendanceRuleService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmAttendanceRuleService>();
+            _userService = factory.CreateScope().ServiceProvider.GetRequiredService<IUserService>();
+            _signinService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmSigninService>();
+            _admAttendanceService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmAttendanceService>();
+            _admAttendanceDtlService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmAttendanceDtlService>();
+            _hrSalaryService = factory.CreateScope().ServiceProvider.GetRequiredService<IHrSalaryService>();
+            _JibengongziService = factory.CreateScope().ServiceProvider.GetRequiredService<IHrJibengongziService>();
+            _simService = factory.CreateScope().ServiceProvider.GetRequiredService<ISimService>();
+            _DailyManageService = factory.CreateScope().ServiceProvider.GetRequiredService<IDailyManagementService>();
+            _admBreakPrecedentService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmBreakPrecedentService>();
+            _hrJixiaotichengService = factory.CreateScope().ServiceProvider.GetRequiredService<IHrJixiaotichengService>();
+            _fiPiecerateService = factory.CreateScope().ServiceProvider.GetRequiredService<IFiPiecerateService>();
+            _admPieceCheckService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmPieceCheckService>();
+            _cooperOrderService = factory.CreateScope().ServiceProvider.GetRequiredService<ICooperOrderService>();
+            _cooperatecustomCustomerService = factory.CreateScope().ServiceProvider.GetRequiredService<ICooperatecustomCustomerService>();
+            _groupTopicService = factory.CreateScope().ServiceProvider.GetRequiredService<IGroupTopicService>();
+            _cooperVisitService = factory.CreateScope().ServiceProvider.GetRequiredService<ICooperVisitService>();
         }
         protected override async Task ExecuteAsync(CancellationToken stoppingToken)
         {
@@ -25,8 +67,43 @@
             while (!stoppingToken.IsCancellationRequested)
             {
                 _logger.LogInformation("MyServiceA 寮�濮嬫墽琛�");
+                //姣忓ぉ鐨�0鐐瑰紑濮嬭绠�
+                if (DateTime.Now.Hour == 0)
+                //if (true)
+                {
+                    try
+                    {
+                        DateTime diwutian = this.diwugongzuori();
+                        //绗簲涓伐浣滄棩缁撴潫鍚庡紑濮嬭绠�
+                        if (DateTime.Now.Date == diwutian.AddDays(1))
+                        //if (true)
+                        {
+                            try
+                            {
+                                //using (TransactionScope scope = new TransactionScope())
+                                //{
+                                    this.jisuankaoqin();
+                                    this.jisuangongzi();
+                                    //scope.Complete();
+                                //}
 
-                await Task.Delay(TimeSpan.FromMinutes(1), stoppingToken);
+                            }
+                            catch (Exception ex)
+                            {
+                                _logger.LogInformation(ex.ToString());
+                            }
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        _logger.LogInformation(ex.ToString());
+                    }
+                   
+
+                }
+
+
+                await Task.Delay(TimeSpan.FromMinutes(59), stoppingToken);
 
                 _logger.LogInformation("缁х画鎵ц");
             }
@@ -38,5 +115,2649 @@
         {
             base.Dispose();
         }
+        //璁$畻绗簲涓伐浣滄棩
+        public DateTime diwugongzuori()
+        {
+            var admAttendanceRulesDtlDTOs = _attendanceRuleService.GetDtlList("");
+            AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get("");
+            var jiejiari = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiejiari").ToList();
+            var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
+            //鑾峰彇鏈湀鐨勭浜斾釜宸ヤ綔鏃ユ棩鏈熴��
+            DateTime datemin = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
+            DateTime datemax = datemin.AddMonths(1);
+            _logger.LogInformation("datemin" + datemin);
+            _logger.LogInformation("datemax" + datemax);
+            DateTime diwutian = DateTime.MinValue;
+            int i = 0;
+            while (datemin < datemax)
+            {
+                //鏄惁涓婄彮鏃ユ湡
+                if ((int)datemin.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)datemin.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
+                {
+                    //鏄惁鑺傚亣鏃�
+                    if (jiejiari.Exists(x => x.ValueStart <= datemin && x.ValueEnd >= datemin))
+                    {
+                    }
+                    else
+                    {
+                        i += 1;
+                    }
+                }
+                else
+                {
+                    //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
+                    if (tiaoxiuri.Exists(x => x.ValueStart <= datemin && x.ValueEnd >= datemin))
+                    {
+                        i += 1;
+                    }
+                    else
+                    {
+                    }
+                }
+                if (i == 5)
+                {
+                    diwutian = datemin;
+                    break;
+                }
+                datemin = datemin.AddDays(1);
+            }
+            _logger.LogInformation("diwutian" + diwutian);
+            _logger.LogInformation("DateTime.Now" + DateTime.Now.Date);
+            return diwutian;
+        }
+
+        //璁$畻鑰冨嫟
+        public void jisuankaoqin()
+        {
+            var admAttendanceRulesDtlDTOs = _attendanceRuleService.GetDtlList("");
+            AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get("");
+            var jiejiari = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiejiari").ToList();
+            var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
+
+            //姣忓ぉ鐨勮�冨嫟鏃堕棿鐐�
+            string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.');
+            int WorkingStarthour = int.Parse(WorkingStart[0]);
+            int WorkingStartmin = int.Parse(WorkingStart[1]);
+
+            string[] WorkingEnd = admAttendanceRuleDTO.WorkingEnd.Split('.');
+            int WorkingEndhour = int.Parse(WorkingEnd[0]);
+            int WorkingEndmin = int.Parse(WorkingEnd[1]);
+
+            string[] OffworkStart = admAttendanceRuleDTO.OffworkStart.Split('.');
+            int OffworkStarthour = int.Parse(OffworkStart[0]);
+            int OffworkStartmin = int.Parse(OffworkStart[1]);
+
+            string[] OffworkEnd = admAttendanceRuleDTO.OffworkEnd.Split('.');
+            int OffworkEndhour = int.Parse(OffworkEnd[0]);
+            int OffworkEndmin = int.Parse(OffworkEnd[1]);
+
+
+
+
+            ResultEntity resultEntity = new ResultEntity();
+            resultEntity.Result = false;
+
+            //鏌ヨ鎵�鏈夌殑鏈夋晥浜哄憳
+            List<PltUserDTO> userList = _userService.GetListjisuankaoqin(new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1), new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1).AddMonths(1));//.Where(x => x.UserSn == "yang").ToList();
+            for (int a = 0; a < userList.Count; a++)
+            {
+                _logger.LogInformation("寮�濮嬭绠�" + userList[a].UserName + "鑰冨嫟");
+                //寮�濮嬭绠楄�冨嫟
+                DateTime dateminkaoqin = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1);
+                DateTime datemaxkaoqin = dateminkaoqin.AddMonths(1);
+                List<AdmAskLeaveDTO> admAskLeaveDTOs = _signinService.GetAskLeaveByUserId(userList[a].Id);
+                List<AdmAskLeaveOffDTO> admAskLeaveOffDTOs = _signinService.GetAskLeaveOffByUserId(userList[a].Id);
+                //鎻掑叆鑰冨嫟涓昏〃
+                AdmAttendanceDTO admAttendanceDTO = _admAttendanceService.GetByUserAndDate(userList[a].Id, dateminkaoqin.Year, dateminkaoqin.Month);
+                if (admAttendanceDTO == null)
+                {
+                    admAttendanceDTO = new AdmAttendanceDTO();
+                    admAttendanceDTO.Userid = userList[a].Id;
+                    admAttendanceDTO.Year = dateminkaoqin.Year;
+                    admAttendanceDTO.Month = dateminkaoqin.Month;
+                    admAttendanceDTO.Yingchuqin = 0;
+                    admAttendanceDTO.Offdays = 0;
+                    admAttendanceDTO.Shijichuqin = 0;
+                    admAttendanceDTO.Qingjia = 0;
+                    admAttendanceDTO.Jiaban = 0;
+                    admAttendanceDTO.Xiaojia = 0;
+                    admAttendanceDTO.Chidao = 0;
+                    admAttendanceDTO.Zaotui = 0;
+                    admAttendanceDTO.Kuanggong = 0;
+                    admAttendanceDTO.Islock = "D";
+                    admAttendanceDTO.RecStatus = "A";
+                    admAttendanceDTO.Creater = "1";
+                    admAttendanceDTO.Modifier = "1";
+                    admAttendanceDTO.Createtime = DateTime.Now;
+                    admAttendanceDTO.Modifytime = admAttendanceDTO.Createtime;
+
+                     resultEntity   =   _admAttendanceService.save(admAttendanceDTO);
+                    if(resultEntity.Result == false)
+                    {
+                        throw new Exception("璁$畻澶辫触");
+                    }
+                }
+                int Yingchuqin = 0;
+                int Offdays = 0;
+                decimal Shijichuqin = 0;
+                decimal Qingjia = 0;
+                decimal Jiaban = 0;
+                decimal Chidao = 0;
+                decimal Zaotui = 0;
+                decimal Kuanggong = 0;
+                decimal Xiaojia = 0;
+
+                while (dateminkaoqin < datemaxkaoqin)
+                {
+                    _logger.LogInformation("dateminkaoqin " + dateminkaoqin);
+                    bool iswork = false;
+
+                    //鏄惁涓婄彮鏃ユ湡
+                    if ((int)dateminkaoqin.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)dateminkaoqin.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
+                    {
+                        //鏄惁鑺傚亣鏃�
+                        if (jiejiari.Exists(x => x.ValueStart <= dateminkaoqin && x.ValueEnd >= dateminkaoqin))
+                        {
+                            Offdays += 1;
+                        }
+                        else
+                        {
+                            Yingchuqin += 1;
+                            iswork = true;
+                        }
+                    }
+                    else
+                    {
+                        //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
+                        if (tiaoxiuri.Exists(x => x.ValueStart <= dateminkaoqin.Date && x.ValueEnd >= dateminkaoqin.Date))
+                        {
+                            Yingchuqin += 1;
+                            iswork = true;
+                        }
+                        else
+                        {
+                            Offdays += 1;
+                        }
+                    }
+
+                    if(userList[a].Outdate.HasValue && dateminkaoqin >=userList[a].Outdate   )
+                    {
+                        dateminkaoqin = dateminkaoqin.AddDays(1);
+                        continue;
+                    }
+
+                    if (userList[a].Indate.HasValue && dateminkaoqin < userList[a].Indate)
+                    {
+                        dateminkaoqin = dateminkaoqin.AddDays(1);
+                        continue;
+                    }
+
+                    //鍒ゆ柇鑰冨嫟鐘舵��
+                    AdmSignInDTO admSignInDTO = _signinService.GetByUserAndDate(userList[a].Id, dateminkaoqin);
+                    if (admSignInDTO == null)
+                    {
+                        admSignInDTO = new AdmSignInDTO();
+                    }
+                    //鏌ヨ璇峰亣   璇峰亣鏃堕棿涓嶈兘閲嶅彔
+                    List<AdmAskLeaveDTO> admAskLeaveDTOMin = admAskLeaveDTOs.Where(x =>x.Lavetype != "2" &&  x.StratTime < dateminkaoqin.AddDays(1) && x.EndTime > dateminkaoqin).OrderByDescending(x=>x.Createtime).ToList();
+                    //鏌ヨ閿�鍋�   閿�鍋囨椂闂翠笉鑳介噸鍙�
+                    List<AdmAskLeaveOffDTO> admAskLeaveOffDTOMin = admAskLeaveOffDTOs.Where(x => x.StratTime < dateminkaoqin.AddDays(1) && x.EndTime > dateminkaoqin).OrderByDescending(x => x.Createtime).ToList();
+                   
+
+                    //璇峰亣寮�濮嬫椂闂翠笂鐝椂闂�
+                    DateTime StratTimeWorkingStart = dateminkaoqin.Date.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
+
+                    DateTime StratTimeWorkingEnd = dateminkaoqin.Date.AddHours(WorkingEndhour).AddMinutes(WorkingEndmin);
+
+                    DateTime StratTimeOffworkStart = dateminkaoqin.Date.AddHours(OffworkStarthour).AddMinutes(OffworkStartmin);
+
+                    DateTime StratTimeOffworkEnd = dateminkaoqin.Date.AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
+
+
+
+                    //涓婄彮鏃堕棿
+
+                    TimeSpan shangwu = StratTimeWorkingEnd.Subtract(StratTimeWorkingStart);
+
+                    TimeSpan xiawu = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
+
+
+
+
+                    int shangbanshijian = shangwu.Hours * 60 + shangwu.Minutes + xiawu.Hours * 60 + xiawu.Minutes;
+
+                     decimal Shangwuchidaofenzhong = 0;
+                    decimal Xiawuchidaofenzhong = 0;
+                    decimal Shangwuzaotuifenzhong = 0;
+                    decimal Xiawuzaotuifenzhong = 0;
+                    decimal Kuanggongtianshu = 0;
+                    decimal dangtianqingjia = 0;
+                    decimal dangtianxiaojia = 0;
+                    string Iswork = "D";
+                    if (iswork)
+                    {
+                        Iswork = "A";
+                    }
+                    //鏄惁鏄伐浣滄棩
+                    if (iswork)
+                    {
+                        //鍒ゆ柇鑰冨嫟鏃堕棿鐨勮繛缁��
+
+                        //鍒ゆ柇鏃╀笂鏄惁杩熷埌,鍒ゆ柇鏃╀笂鏄惁鏃╅��锛屾棭閫�鐭垮伐澶勭悊
+                        DateTime? starttime = null;
+                        DateTime? endttime = null;
+                        bool kuanggong = false;
+                        List<DateBiJiaoDTO> dateBiJiaoDTOs = new List<DateBiJiaoDTO>();
+                        if (admSignInDTO != null && admSignInDTO.MorningIn.HasValue && admSignInDTO.MorningOut.HasValue)
+                        {
+                            DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+                            dateBiJiaoDTO.StartTime = admSignInDTO.MorningIn;
+                            dateBiJiaoDTO.EndTime = admSignInDTO.MorningOut;
+                            dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+                        }
+                        foreach (var admAskLeave in admAskLeaveDTOMin)
+                        {
+                            if(admAskLeave.StratTime< StratTimeWorkingEnd)
+                            {
+                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+                                dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
+                                dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
+                                dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+                            }
+                            
+                        }
+
+                        foreach (var admAskLeaveOff in admAskLeaveOffDTOMin)
+                        {
+                            if (admAskLeaveOff.StratTime < StratTimeWorkingEnd)
+                            {
+                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+                                dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
+                                dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
+                                dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+                            }
+                                
+                        }
+
+                      
+                        dateBiJiaoDTOs = dateBiJiaoDTOs.OrderBy(x => x.StartTime).ToList();
+                        if (dateBiJiaoDTOs.Count == 0)
+                        {
+                            Kuanggong += new decimal(0.5);
+                            Kuanggongtianshu += new decimal(0.5);
+                        }
+                        else
+                        {
+                            //鍒ゆ柇涓婂崍鑰冨嫟鏃堕棿鏄惁鍏ㄨ鐩�
+                            for (int i = 0; i < dateBiJiaoDTOs.Count; i++)
+                            {
+                                if (i == 0)
+                                {
+                                    starttime = dateBiJiaoDTOs[i].StartTime;
+                                    endttime = dateBiJiaoDTOs[i].EndTime;
+                                }
+                                else
+                                {
+                                    if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                    {
+                                        kuanggong = true;
+                                        break;
+                                    }
+                                    else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                    {
+                                        endttime = dateBiJiaoDTOs[i].EndTime;
+                                    }
+                                }
+                            }
+                            if (kuanggong)
+                            {
+                                Kuanggong += new decimal(0.5);
+                                Kuanggongtianshu += new decimal(0.5);
+                            }
+                            else
+                            {
+                                decimal shangwukuanggong = 0;
+                                if(starttime> StratTimeWorkingStart)
+                                {
+                                    TimeSpan chidao = starttime.Value.Subtract(StratTimeWorkingStart);
+                                    if(chidao.Days>0 ||  ( chidao.Hours*60+ chidao.Minutes) > admAttendanceRuleDTO.Absenteeism)
+                                    {
+                                        if (shangwukuanggong == 0)
+                                        {
+                                            shangwukuanggong += new decimal(0.5);
+                                            Kuanggong += new decimal(0.5);
+                                        }
+
+                                    }
+                                    else
+                                    {
+                                        Chidao += 1;
+                                        Shangwuchidaofenzhong = chidao.Hours * 60 + chidao.Minutes;
+                                    }
+                                }
+                                if(shangwukuanggong ==0 && endttime < StratTimeWorkingEnd)
+                                {
+                                    TimeSpan zaotui = StratTimeWorkingEnd.Subtract(endttime.Value);
+                                    if (zaotui.Days > 0 || (zaotui.Hours * 60 + zaotui.Minutes) > admAttendanceRuleDTO.Absenteeism)
+                                    {
+                                        if (shangwukuanggong == 0)
+                                        {
+                                            shangwukuanggong += new decimal(0.5);
+                                            Kuanggong += new decimal(0.5);
+                                        }
+
+                                    }
+                                    else
+                                    {
+                                        Zaotui += 1;
+                                        Shangwuzaotuifenzhong = zaotui.Hours * 60 + zaotui.Minutes;
+                                    }
+
+                                }
+                                Kuanggongtianshu += shangwukuanggong;
+                            }
+                        }
+
+
+
+                        //鍒ゆ柇涓嬪崍鏄惁杩熷埌,鍒ゆ柇涓嬪崍鏄惁鏃╅��锛屾棭閫�鐭垮伐澶勭悊
+
+
+                        starttime = null;
+                        endttime = null;
+                        kuanggong = false;
+                       dateBiJiaoDTOs = new List<DateBiJiaoDTO>();
+                        if (admSignInDTO != null && admSignInDTO.AfternoonIn.HasValue && admSignInDTO.AfternoonOut.HasValue)
+                        {
+                            DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+                            dateBiJiaoDTO.StartTime = admSignInDTO.AfternoonIn;
+                            dateBiJiaoDTO.EndTime = admSignInDTO.AfternoonOut;
+                            dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+                        }
+                        foreach (var admAskLeave in admAskLeaveDTOMin)
+                        {
+                            if (admAskLeave.EndTime > StratTimeOffworkStart)
+                            {
+                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+                                dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
+                                dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
+                                dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+                            }
+                               
+                        }
+                        foreach (var admAskLeaveOff in admAskLeaveOffDTOMin)
+                        {
+                            if (admAskLeaveOff.EndTime > StratTimeOffworkStart)
+                            {
+                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+                                dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
+                                dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
+                                dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+                            }
+                                
+                        }
+                      
+                        dateBiJiaoDTOs = dateBiJiaoDTOs.OrderBy(x => x.StartTime).ToList();
+                        if (dateBiJiaoDTOs.Count == 0)
+                        {
+                            Kuanggong += new decimal(0.5);
+                            Kuanggongtianshu += new decimal(0.5);
+                        }
+                        else
+                        {
+                            //鍒ゆ柇涓婂崍鑰冨嫟鏃堕棿鏄惁鍏ㄨ鐩�
+                            for (int i = 0; i < dateBiJiaoDTOs.Count; i++)
+                            {
+                                if (i == 0)
+                                {
+                                    starttime = dateBiJiaoDTOs[i].StartTime;
+                                    endttime = dateBiJiaoDTOs[i].EndTime;
+                                }
+                                else
+                                {
+                                    if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                    {
+                                        kuanggong = true;
+                                        break;
+                                    }
+                                    else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                    {
+                                        endttime = dateBiJiaoDTOs[i].EndTime;
+                                    }
+                                }
+                            }
+                            if (kuanggong)
+                            {
+                                Kuanggong += new decimal(0.5);
+                                Kuanggongtianshu += new decimal(0.5);
+                            }
+                            else
+                            {
+                                decimal xiawuwukuanggong = 0;
+                                if (starttime > StratTimeOffworkStart)
+                                {
+                                    TimeSpan chidao = starttime.Value.Subtract(StratTimeOffworkStart);
+                                    if (chidao.Days > 0 || (chidao.Hours * 60 + chidao.Minutes) > admAttendanceRuleDTO.Absenteeism)
+                                    {
+                                        if (xiawuwukuanggong == 0)
+                                        {
+                                            xiawuwukuanggong += new decimal(0.5);
+                                            Kuanggong += new decimal(0.5);
+                                        }
+
+                                    }
+                                    else
+                                    {
+                                        Chidao += 1;
+                                        Xiawuchidaofenzhong = chidao.Hours * 60 + chidao.Minutes;
+                                    }
+                                }
+                                if (xiawuwukuanggong == 0 && endttime < StratTimeOffworkEnd)
+                                {
+                                    TimeSpan zaotui = StratTimeOffworkEnd.Subtract(endttime.Value);
+                                    if (zaotui.Days > 0 || (zaotui.Hours * 60 + zaotui.Minutes) > admAttendanceRuleDTO.Absenteeism)
+                                    {
+                                        if (xiawuwukuanggong == 0)
+                                        {
+                                            xiawuwukuanggong += new decimal(0.5);
+                                            Kuanggong += new decimal(0.5);
+                                        }
+
+                                    }
+                                    else
+                                    {
+                                        Zaotui += 1;
+                                        Xiawuzaotuifenzhong = zaotui.Hours * 60 + zaotui.Minutes;
+                                    }
+
+                                }
+                                Kuanggongtianshu += xiawuwukuanggong;
+                            }
+                        }
+
+
+                        //璁$畻褰撳ぉ璇峰亣
+                        List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>();
+
+                        var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4").ToList();
+                        foreach (var admAskLeave in feichuqinjia)
+                        {
+                            
+                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+                                dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
+                                dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
+                                qingjias.Add(dateBiJiaoDTO);
+                            
+                        }
+
+                        var feichuqinxiaojia = admAskLeaveOffDTOMin.Where(x => x.Lavetype == "2").ToList();
+                        foreach (var admAskLeaveOff in feichuqinxiaojia)
+                        {
+                            
+                                DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+                                dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
+                                dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
+                                qingjias.Add(dateBiJiaoDTO);
+                             
+                        }
+
+                     
+                        foreach(var  qingjia in qingjias)
+                        {
+                            if(qingjia.StartTime< StratTimeWorkingStart)
+                            {
+                                qingjia.StartTime = StratTimeWorkingStart;
+                            }
+                            if (qingjia.StartTime > StratTimeWorkingEnd && qingjia.StartTime < StratTimeOffworkStart)
+                            {
+                                qingjia.StartTime = StratTimeOffworkStart;
+                            }
+
+
+                            if (qingjia.EndTime > StratTimeWorkingEnd && qingjia.EndTime < StratTimeOffworkStart)
+                            {
+                                qingjia.EndTime = StratTimeWorkingEnd;
+                            }
+
+
+                            if (qingjia.EndTime > StratTimeOffworkEnd)
+                            {
+                                qingjia.EndTime = StratTimeOffworkEnd;
+                            }
+                            TimeSpan qingjiashiijan = qingjia.EndTime.Value.Subtract(qingjia.StartTime.Value);
+                            if(qingjia.StartTime<= StratTimeWorkingEnd && qingjia.EndTime>= StratTimeOffworkStart)
+                            {
+                                TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd);
+                                dangtianqingjia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes- wuxiushijian.Hours * 60- wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2);
+                            }
+                            else
+                            {
+                                dangtianqingjia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2);
+                            }
+
+                          
+                          
+                        }
+
+                        Qingjia += dangtianqingjia;
+                        //璁$畻褰撳ぉ鍑哄嫟澶╂暟
+                        Shijichuqin += (1 - Kuanggongtianshu - dangtianqingjia);
+
+
+                        //璁$畻閿�鍋囷紙鍑哄樊锛岃ˉ鍗★級
+                        List<DateBiJiaoDTO> xiaojias = new List<DateBiJiaoDTO>();
+
+                        var xiaojiala = admAskLeaveOffDTOMin.Where(x => x.Lavetype != "2").ToList();
+                        foreach (var admAskLeaveOff in xiaojiala)
+                        {
+
+                            DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+                            dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
+                            dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
+                            xiaojias.Add(dateBiJiaoDTO);
+
+                        }
+
+                        foreach (var xiaojia in xiaojias)
+                        {
+                            if (xiaojia.StartTime < StratTimeWorkingStart)
+                            {
+                                xiaojia.StartTime = StratTimeWorkingStart;
+                            }
+                            if (xiaojia.StartTime > StratTimeWorkingEnd && xiaojia.StartTime < StratTimeOffworkStart)
+                            {
+                                xiaojia.StartTime = StratTimeOffworkStart;
+                            }
+
+
+                            if (xiaojia.EndTime > StratTimeWorkingEnd && xiaojia.EndTime < StratTimeOffworkStart)
+                            {
+                                xiaojia.EndTime = StratTimeWorkingEnd;
+                            }
+
+
+                            if (xiaojia.EndTime > StratTimeOffworkEnd)
+                            {
+                                xiaojia.EndTime = StratTimeOffworkEnd;
+                            }
+                            TimeSpan qingjiashiijan = xiaojia.EndTime.Value.Subtract(xiaojia.StartTime.Value);
+                            if (xiaojia.StartTime <= StratTimeWorkingEnd && xiaojia.EndTime >= StratTimeOffworkStart)
+                            {
+                                TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd);
+                                dangtianxiaojia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2);
+                            }
+                            else
+                            {
+                                dangtianxiaojia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2);
+                            }
+
+
+
+                        }
+
+                        Xiaojia += dangtianxiaojia;
+
+
+
+                        //璁$畻鍔犵彮鏃堕棿
+                        if (admSignInDTO != null && admSignInDTO.OvertimeIn.HasValue && admSignInDTO.OvertimeOut.HasValue)
+                        {
+                            DateTime overdate = admSignInDTO.OvertimeIn.Value;
+                            if (admSignInDTO.OvertimeIn.Value< StratTimeOffworkEnd)
+                            {
+                                overdate = StratTimeOffworkEnd;
+                            }
+                            TimeSpan jiaban = admSignInDTO.OvertimeOut.Value.Subtract(overdate);
+                          
+                            Jiaban += Math.Round((decimal)(jiaban.Hours * 60) / (decimal)shangbanshijian, 2);
+                        }
+                    }
+                    else
+                    {
+                        //鍔犵彮
+                        //璁$畻鍔犵彮鏃堕棿
+                        if (admSignInDTO != null && admSignInDTO.OvertimeIn.HasValue && admSignInDTO.OvertimeOut.HasValue)
+                        {
+                            TimeSpan jiaban = admSignInDTO.OvertimeOut.Value.Subtract(admSignInDTO.OvertimeIn.Value);
+
+                            Jiaban += Math.Round((decimal)(jiaban.Hours * 60+ jiaban.Minutes) / (decimal)shangbanshijian, 2);
+                        }
+                    }
+
+
+
+
+
+                    //鎻掑叆鑰冨嫟鏄庣粏琛�
+                    AdmAttendanceDtlDTO admAttendanceDtlDTO = _admAttendanceDtlService.GetByUserAndDate(admAttendanceDTO.Id, dateminkaoqin);
+
+                    if (admAttendanceDtlDTO == null)
+                    {
+                        admAttendanceDtlDTO = new AdmAttendanceDtlDTO();
+                        admAttendanceDtlDTO.AttendanceId = admAttendanceDTO.Id;
+                        admAttendanceDtlDTO.SgninDate = dateminkaoqin;
+                        admAttendanceDtlDTO.MorningIn = admSignInDTO.MorningIn;
+                        admAttendanceDtlDTO.MorningOut = admSignInDTO.MorningOut;
+                        admAttendanceDtlDTO.AfternoonIn = admSignInDTO.AfternoonIn;
+                        admAttendanceDtlDTO.AfternoonOut = admSignInDTO.AfternoonOut;
+                        admAttendanceDtlDTO.OvertimeIn = admSignInDTO.OvertimeIn;
+                        admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut;
+                        admAttendanceDtlDTO.Qingjia = dangtianqingjia;
+                        admAttendanceDtlDTO.Xiaojia = dangtianxiaojia;
+                       
+
+
+
+
+                        admAttendanceDtlDTO.RecStatus = "A";
+                        admAttendanceDtlDTO.Creater = "1";
+                        admAttendanceDtlDTO.Modifier = "1";
+                        admAttendanceDtlDTO.Createtime = DateTime.Now;
+                        admAttendanceDtlDTO.Modifytime = admAttendanceDTO.Createtime;
+
+                        admAttendanceDtlDTO.Shangwuchidaofenzhong = Shangwuchidaofenzhong;
+                        admAttendanceDtlDTO.Xiawuchidaofenzhong = Xiawuchidaofenzhong;
+                        admAttendanceDtlDTO.Shangwuzaotuifenzhong = Shangwuzaotuifenzhong;
+                        admAttendanceDtlDTO.Xiawuzaotuifenzhong = Xiawuzaotuifenzhong;
+                        admAttendanceDtlDTO.Kuanggongtianshu = Kuanggongtianshu;
+                        admAttendanceDtlDTO.Iswork = Iswork;
+
+
+                        resultEntity = _admAttendanceDtlService.save(admAttendanceDtlDTO);
+                        if (resultEntity.Result == false)
+                        {
+                            throw new Exception("璁$畻澶辫触");
+                        }
+                    }
+                    else
+                    {
+                        admAttendanceDtlDTO.AttendanceId = admAttendanceDTO.Id;
+                        admAttendanceDtlDTO.SgninDate = dateminkaoqin;
+                        admAttendanceDtlDTO.MorningIn = admSignInDTO.MorningIn;
+                        admAttendanceDtlDTO.MorningOut = admSignInDTO.MorningOut;
+                        admAttendanceDtlDTO.AfternoonIn = admSignInDTO.AfternoonIn;
+                        admAttendanceDtlDTO.AfternoonOut = admSignInDTO.AfternoonOut;
+                        admAttendanceDtlDTO.OvertimeIn = admSignInDTO.OvertimeIn;
+                        admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut;
+                        admAttendanceDtlDTO.Qingjia = dangtianqingjia;
+                        admAttendanceDtlDTO.Xiaojia = dangtianxiaojia;
+                        
+
+                        admAttendanceDtlDTO.RecStatus = "A";
+                        admAttendanceDtlDTO.Creater = "1";
+                        admAttendanceDtlDTO.Modifier = "1";
+                        admAttendanceDtlDTO.Createtime = DateTime.Now;
+                        admAttendanceDtlDTO.Modifytime = admAttendanceDTO.Createtime;
+
+                        admAttendanceDtlDTO.Shangwuchidaofenzhong = Shangwuchidaofenzhong;
+                        admAttendanceDtlDTO.Xiawuchidaofenzhong = Xiawuchidaofenzhong;
+                        admAttendanceDtlDTO.Shangwuzaotuifenzhong = Shangwuzaotuifenzhong;
+                        admAttendanceDtlDTO.Xiawuzaotuifenzhong = Xiawuzaotuifenzhong;
+                        admAttendanceDtlDTO.Kuanggongtianshu = Kuanggongtianshu;
+                        admAttendanceDtlDTO.Iswork = Iswork;
+
+                        resultEntity = _admAttendanceDtlService.save(admAttendanceDtlDTO);
+                        if (resultEntity.Result == false)
+                        {
+                            throw new Exception("璁$畻澶辫触");
+                        }
+                    }
+
+                    dateminkaoqin = dateminkaoqin.AddDays(1);
+                }
+
+                if(Shijichuqin< Yingchuqin)
+                {
+                    if((Yingchuqin -Shijichuqin)< Jiaban)
+                    {
+                        Jiaban = Jiaban - (Yingchuqin - Shijichuqin);
+                        Shijichuqin = Yingchuqin;
+                    }
+                    else
+                    {
+                        Shijichuqin += Jiaban;
+                        Jiaban = 0;
+                    }
+                }
+
+                admAttendanceDTO.Yingchuqin = Yingchuqin;
+                admAttendanceDTO.Offdays = Offdays;
+                admAttendanceDTO.Shijichuqin = Shijichuqin;
+                admAttendanceDTO.Jiaban = Jiaban;
+
+               
+                admAttendanceDTO.Zaotui = Zaotui;
+                admAttendanceDTO.Kuanggong = Kuanggong;
+
+
+                admAttendanceDTO.Qingjia = Qingjia;
+                admAttendanceDTO.Xiaojia = Xiaojia;
+                admAttendanceDTO.Chidao = Chidao;
+                admAttendanceDTO.Islock = "A";
+                resultEntity = _admAttendanceService.save(admAttendanceDTO);
+                if (resultEntity.Result == false)
+                {
+                    throw new Exception("璁$畻澶辫触");
+                }
+            }
+
+        }
+
+
+
+        //璁$畻宸ヨ祫
+        public void jisuangongzi()
+        {
+            //鏌ヨ鎵�鏈夌殑鏈夋晥浜哄憳
+            DateTime dateminkaoqin = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1);
+            DateTime datemaxkaoqin = dateminkaoqin.AddMonths(1);
+            List<PltUserDTO> userList = _userService.GetListjisuankaoqin(dateminkaoqin, datemaxkaoqin);//.Where(x => x.UserSn == "yang").ToList();
+            List<HrJibengongziDTO> hrJibengongziDTOs = _JibengongziService.GetList().Where(x=>  x.Effecttime < datemaxkaoqin).ToList();
+            List<SimBindView>  simBindViews  = _simService.GetBindSim().Where(x=>x.simstatus == "A").ToList();
+            AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get("");
+
+            //姣忓ぉ鐨勮�冨嫟鏃堕棿鐐�
+            string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.');
+            int WorkingStarthour = int.Parse(WorkingStart[0]);
+            int WorkingStartmin = int.Parse(WorkingStart[1]);
+
+            string[] WorkingEnd = admAttendanceRuleDTO.WorkingEnd.Split('.');
+            int WorkingEndhour = int.Parse(WorkingEnd[0]);
+            int WorkingEndmin = int.Parse(WorkingEnd[1]);
+
+            string[] OffworkStart = admAttendanceRuleDTO.OffworkStart.Split('.');
+            int OffworkStarthour = int.Parse(OffworkStart[0]);
+            int OffworkStartmin = int.Parse(OffworkStart[1]);
+
+            string[] OffworkEnd = admAttendanceRuleDTO.OffworkEnd.Split('.');
+            int OffworkEndhour = int.Parse(OffworkEnd[0]);
+            int OffworkEndmin = int.Parse(OffworkEnd[1]);
+
+            List<FiPiecerateDTO>   fiPiecerateDTOs  = _fiPiecerateService.GetList();
+            List<HrJixiaotichengDTO>  hrJixiaotichengDTOs = _hrJixiaotichengService.GetList().Where(x => x.Effecttime < datemaxkaoqin).ToList();
+
+            for (int i = 0; i < userList.Count; i++)
+            {
+                _logger.LogInformation("寮�濮嬭绠�" + userList[i].UserName + "宸ヨ祫");
+                HrSalaryDTO hrSalaryDTO  =   _hrSalaryService.GetListByUser(userList[i].Id, dateminkaoqin.Year, dateminkaoqin.Month);
+                if (hrSalaryDTO == null)
+                {
+                    hrSalaryDTO = new HrSalaryDTO();
+                    hrSalaryDTO.Userid = userList[i].Id;
+                    hrSalaryDTO.Year = dateminkaoqin.Year;
+                    hrSalaryDTO.Month = dateminkaoqin.Month;
+                }
+                //鏌ヨ褰撴湀鑰冨嫟
+                AdmAttendanceDTO admAttendanceDTO = _admAttendanceService.GetByUserAndDate(userList[i].Id, dateminkaoqin.Year, dateminkaoqin.Month);
+                if (admAttendanceDTO == null)
+                {
+                    _logger.LogInformation( userList[i].UserName + ":" + dateminkaoqin.Year+"骞�"+ dateminkaoqin.Month + "鏈堟病鏈夋煡璇㈠埌鑰冨嫟");
+                    continue;
+                }
+                AdmAttendanceDtlDTOSearch searchEntity = new AdmAttendanceDtlDTOSearch();
+                searchEntity.AttendanceId = admAttendanceDTO.Id;
+                List<AdmAttendanceDtlDTO> admAttendanceDtlDTOs = _admAttendanceDtlService.GetList(searchEntity).OrderBy(x => x.SgninDate).ToList();
+
+                //褰撴湀鍑哄嫟鐜�
+                decimal chuqinlv = Math.Round(admAttendanceDTO.Shijichuqin / admAttendanceDTO.Yingchuqin,4); 
+
+                //鏌ヨ褰撳墠鍛樺伐鑱屽姟鐨勫熀鏈伐璧勯厤缃�
+
+               var hrJibengongzi = hrJibengongziDTOs.Where(x=>x.PostId == userList[i].HrPosition ).OrderByDescending(x=>x.Effecttime).FirstOrDefault();
+
+                if (hrJibengongzi == null)
+                {
+                    _logger.LogInformation(userList[i].UserName + ": 鑱屽姟鎵�灞炶祫鏈伐璧勪负绌�");
+                    continue;
+                }
+                hrSalaryDTO.Jibengongzi = Math.Round( hrJibengongzi.Jibengongzi.Value * chuqinlv, 2);
+                hrSalaryDTO.Baomifei = Math.Round(hrJibengongzi.Baomifei.Value * chuqinlv, 2);
+                //鏄惁鍦ㄨ瘯鐢ㄦ湡
+                decimal geshuiqizheng = 5000;
+                if (userList[i].geshuiqizheng.HasValue)
+                {
+                    geshuiqizheng = userList[i].geshuiqizheng.Value;
+                }
+                var Shebaodanwei = hrJibengongzi.Shebaodanwei.HasValue ? hrJibengongzi.Shebaodanwei.Value : 0;
+                var Shebaogeren = hrJibengongzi.Shebaogeren.HasValue ? hrJibengongzi.Shebaogeren.Value : 0;
+                decimal yingnashuie = 0;
+                hrSalaryDTO.Queqin = 0;
+                hrSalaryDTO.Gongzuobutie = 0;
+                hrSalaryDTO.Jiabangongzi = 0;
+                decimal shiyongqichuqintianshu = 0;
+                decimal shiyongqichuqinlv = 0;
+                
+                if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && dateminkaoqin>= userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value)
+                {
+                    if (!userList[i].ShiyongPrice.HasValue)
+                    {
+                        _logger.LogInformation(userList[i].UserName + ": 鍛樺伐澶勪簬璇曠敤鏈燂紝浣嗘槸璇曠敤鏈熷伐璧勪负绌�");
+                        continue;
+                    }
+                    //璇曠敤鏈熺殑鍑哄嫟鐜�
+                    shiyongqichuqinlv = chuqinlv;
+                    if(userList[i].ShiyongDateEnd.Value< datemaxkaoqin.AddDays(-1))
+                    {
+                      
+                        foreach (var admAttendanceDtlDTO in admAttendanceDtlDTOs)
+                        {
+                            if (admAttendanceDtlDTO.SgninDate <= userList[i].ShiyongDateEnd.Value && admAttendanceDtlDTO.Iswork == "A")
+                            {
+                                    shiyongqichuqintianshu += (1 - admAttendanceDtlDTO.Qingjia - admAttendanceDtlDTO.Kuanggongtianshu);
+                                    if (admAttendanceDtlDTO.Kuanggongtianshu > 0)
+                                    {
+                                        var queqingkoukuan = Math.Round(userList[i].ShiyongPrice.Value / jiabangongzibiaozhun * admAttendanceDtlDTO.Kuanggongtianshu * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2);
+                                        if (queqingkoukuan > 0)
+                                        {
+                                            hrSalaryDTO.Queqin += queqingkoukuan;
+                                        }
+                                    }
+                            }
+                        }
+                        shiyongqichuqinlv = Math.Round(shiyongqichuqintianshu / admAttendanceDTO.Yingchuqin, 4);
+                    }
+                    else
+                    {
+                        if (admAttendanceDTO.Kuanggong > 0)
+                        {
+                            var queqingkoukuan = Math.Round(userList[i].ShiyongPrice.Value / jiabangongzibiaozhun * admAttendanceDTO.Kuanggong * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2);
+                            if (queqingkoukuan > 0)
+                            {
+                                hrSalaryDTO.Queqin += queqingkoukuan;
+                            }
+                        }
+                        hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * userList[i].ShiyongPrice.Value, 2);
+                    }
+
+
+
+
+                    hrSalaryDTO.Gongzuobutie += Math.Round( (userList[i].ShiyongPrice.Value - hrJibengongzi.Baomifei.Value- hrJibengongzi.Jibengongzi.Value ) * shiyongqichuqinlv, 2);
+
+                   
+
+                    //yingnashuie = userList[i].ShiyongPrice.Value - Shebaogeren - geshuiqizheng;
+
+
+
+
+                }
+                
+
+                if(true)
+                {
+                    decimal BasicPrice = 0;
+                    if(!decimal.TryParse(userList[i].BasicPrice,out BasicPrice))
+                    {
+                        _logger.LogInformation(userList[i].UserName + ": 鍛樺伐娌℃湁缁存姢宸ヨ祫");
+                        continue;
+                    }
+                    //杞鍚庣殑鍑哄嫟鐜�
+                    decimal zhuanzhengchuqinlv = chuqinlv- shiyongqichuqinlv;
+                    if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && userList[i].ShiyongDateEnd.Value >= dateminkaoqin && userList[i].ShiyongDateEnd.Value <= datemaxkaoqin.AddDays(-1))
+                    {
+                        //decimal zhuanzhengchuqintianshu = 0;
+                        foreach (var admAttendanceDtlDTO in admAttendanceDtlDTOs)
+                        {
+                            if (admAttendanceDtlDTO.SgninDate > userList[i].ShiyongDateEnd.Value && admAttendanceDtlDTO.Iswork == "A")
+                            {
+                                //zhuanzhengchuqintianshu += (1 - admAttendanceDtlDTO.Qingjia - admAttendanceDtlDTO.Kuanggongtianshu);
+                                if (admAttendanceDtlDTO.Kuanggongtianshu > 0)
+                                {
+                                    var queqingkoukuan = Math.Round(BasicPrice / jiabangongzibiaozhun * admAttendanceDtlDTO.Kuanggongtianshu * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2);
+                                    if (queqingkoukuan > 0)
+                                    {
+                                        hrSalaryDTO.Queqin += queqingkoukuan;
+                                    }
+                                }
+
+                            }
+
+
+                        }
+                        //decimal zhuanzhengchuqintianshu = admAttendanceDTO.Shijichuqin - shiyongqichuqintianshu;
+                        //zhuanzhengchuqinlv = Math.Round(zhuanzhengchuqintianshu / admAttendanceDTO.Yingchuqin, 4);
+                      
+                        if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && dateminkaoqin >= userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value)
+                        {
+                            if(userList[i].ShiyongDateEnd.Value < datemaxkaoqin.AddDays(-1))
+                            {
+                                hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2);
+                            }
+                         
+                        }
+                        else
+                        {
+                            hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2);
+                        }
+                    }
+                    else
+                    {
+                        //鐭垮伐鎵i挶
+                        if (admAttendanceDTO.Kuanggong > 0)
+                        {
+                            var queqingkoukuan = Math.Round(BasicPrice / jiabangongzibiaozhun * admAttendanceDTO.Kuanggong * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2);
+                            if (queqingkoukuan > 0)
+                            {
+                                hrSalaryDTO.Queqin += queqingkoukuan;
+                            }
+                        }
+                        hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2);
+                    }
+
+
+
+                    hrSalaryDTO.Gongzuobutie += Math.Round((BasicPrice - hrJibengongzi.Baomifei.Value - hrJibengongzi.Jibengongzi.Value) * zhuanzhengchuqinlv, 2);
+
+                  
+
+                    //yingnashuie = BasicPrice - Shebaogeren - geshuiqizheng;
+
+                    
+                }
+
+                //杩熷埌鏃╅��鎵i挶
+                //AdmAttendanceDtlDTOSearch searchEntity = new AdmAttendanceDtlDTOSearch();
+                //searchEntity.AttendanceId = admAttendanceDTO.Id;
+                //List<AdmAttendanceDtlDTO> admAttendanceDtlDTOs = _admAttendanceDtlService.GetList(searchEntity).OrderBy(x => x.SgninDate).ToList();
+                if (admAttendanceDtlDTOs.Count > 0)
+                {
+                    for (int j = 0; j < admAttendanceDtlDTOs.Count; j++)
+                    {
+                        if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong > 0)
+                        {
+                            if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong < 15)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment1;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong < 30)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment2;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong < 60)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Shangwuchidaofenzhong < 120)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
+                            }
+
+                        }
+                        if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong > 0)
+                        {
+                            if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong < 15)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment1;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong < 30)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment2;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong < 60)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Shangwuzaotuifenzhong < 120)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
+                            }
+
+                        }
+                        if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong > 0)
+                        {
+                            if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong < 15)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment1;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong < 30)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment2;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong < 60)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Xiawuchidaofenzhong < 120)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
+                            }
+
+                        }
+                        if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong > 0)
+                        {
+                            if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong < 15)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment1;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong < 30)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment2;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong < 60)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
+                            }
+                            else if (admAttendanceDtlDTOs[j].Xiawuzaotuifenzhong < 120)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.LatePayment3;
+                            }
+
+                        }
+
+                    }
+                }
+                //鐥呭亣浜嬪亣鎵i挶
+                List<AdmAskLeaveDTO> admAskLeaveDTOs = _signinService.GetAskLeaveByUserId(userList[i].Id).Where(x => x.Lavetype == "1" && (  (x.StratTime >= dateminkaoqin &&    x.StratTime < datemaxkaoqin) || (x.EndTime >= dateminkaoqin && x.EndTime < datemaxkaoqin) || (x.EndTime >= datemaxkaoqin && x.StratTime < dateminkaoqin) )).OrderByDescending(x => x.Createtime).ToList();
+               
+                if(admAskLeaveDTOs!=null && admAskLeaveDTOs.Count > 0)
+                {
+                    foreach(var admAskLeaveDTO in admAskLeaveDTOs)
+                    {
+                        DateTime? AskLeavestart = null;
+                        DateTime? AskLeaveend = null;
+                        if(admAskLeaveDTO.StratTime< dateminkaoqin)
+                        {
+                            AskLeavestart = dateminkaoqin.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
+                        }
+                        else
+                        {
+                            AskLeavestart = admAskLeaveDTO.StratTime;
+                        }
+
+                        if (admAskLeaveDTO.EndTime >= datemaxkaoqin)
+                        {
+                            AskLeaveend = dateminkaoqin.AddDays(-1).AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
+                        }
+                        else
+                        {
+                            AskLeaveend = admAskLeaveDTO.EndTime;
+                        }
+                        AdmAskLeaveDTO admAskLeaveDTO1 = jisianChecktime(AskLeavestart.Value, AskLeaveend.Value);
+                        if (admAskLeaveDTO1.LaveDay.Value  > 0 || admAskLeaveDTO1.LavehHour > 0)
+                        {
+                            if (admAskLeaveDTO1.LaveDay.Value >= 1)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.PersonalPayment4;
+                            }
+                            else if (admAskLeaveDTO1.LaveDay.Value ==0 && admAskLeaveDTO1.LavehHour >2)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.PersonalPayment3;
+                            }
+                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour > 1)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.PersonalPayment2;
+                            }
+                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour ==1)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.PersonalPayment1;
+                            }
+                        }
+                      
+
+                    }
+                }
+                
+
+                
+                List<AdmAskLeaveOffDTO> admAskLeaveOffDTOs = _signinService.GetAskLeaveOffByUserId(userList[i].Id).Where(x => x.Lavetype == "2" && ((x.StratTime >= dateminkaoqin && x.StratTime < datemaxkaoqin) || (x.EndTime >= dateminkaoqin && x.EndTime < datemaxkaoqin) || (x.EndTime >= datemaxkaoqin && x.StratTime < dateminkaoqin)  ) ).OrderByDescending(x => x.Createtime).ToList();
+                if (admAskLeaveOffDTOs != null && admAskLeaveOffDTOs.Count > 0)
+                {
+                    foreach (var admAskLeaveOffDTO in admAskLeaveOffDTOs)
+                    {
+                        DateTime? AskLeavestart = null;
+                        DateTime? AskLeaveend = null;
+                        if (admAskLeaveOffDTO.StratTime < dateminkaoqin)
+                        {
+                            AskLeavestart = dateminkaoqin.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
+                        }
+                        else
+                        {
+                            AskLeavestart = admAskLeaveOffDTO.StratTime;
+                        }
+
+                        if (admAskLeaveOffDTO.EndTime >= datemaxkaoqin)
+                        {
+                            AskLeaveend = dateminkaoqin.AddDays(-1).AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
+                        }
+                        else
+                        {
+                            AskLeaveend = admAskLeaveOffDTO.EndTime;
+                        }
+                        AdmAskLeaveDTO admAskLeaveDTO1 = jisianChecktime(AskLeavestart.Value, AskLeaveend.Value);
+                        if (admAskLeaveDTO1.LaveDay.Value > 0 || admAskLeaveDTO1.LavehHour > 0)
+                        {
+                            if (admAskLeaveDTO1.LaveDay.Value >= 1)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.SickPayment4;
+                            }
+                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour > 2)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.SickPayment3;
+                            }
+                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour > 1)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.SickPayment2;
+                            }
+                            else if (admAskLeaveDTO1.LaveDay.Value == 0 && admAskLeaveDTO1.LavehHour == 1)
+                            {
+                                hrSalaryDTO.Queqin += admAttendanceRuleDTO.SickPayment1;
+                            }
+                        }
+
+
+                    }
+                }
+
+
+
+
+
+                if(userList[i].IsGmsb != "D" && userList[i].Shebaodate.HasValue &&  userList[i].Shebaodate.Value < datemaxkaoqin)
+                {
+                    hrSalaryDTO.Shebao = Shebaodanwei;
+                    hrSalaryDTO.Shebaokou = Shebaodanwei + Shebaogeren;
+                }
+                else
+                {
+                    hrSalaryDTO.Shebao = 0;
+                    hrSalaryDTO.Shebaokou = 0;
+                }
+ 
+
+               
+
+
+                var simBind =  simBindViews.Where(x => x.userid == userList[i].Id).FirstOrDefault();
+                if (simBind != null)
+                {
+                    decimal cardpro = 0;
+                    decimal.TryParse(simBind.cardpro, out cardpro);
+                    hrSalaryDTO.Dianhuabutie = cardpro; 
+                }
+                 var SimCost  =  _simService.GetSimCost(userList[i].Id, dateminkaoqin.Year, dateminkaoqin.Month);
+                if (SimCost != null)
+                {
+                    hrSalaryDTO.Dianhuafei = SimCost.bill_amount;
+                }
+              
+
+
+                hrSalaryDTO.Quanqinjiang = hrJibengongzi.Quanqingjiang;
+                if ("A".Equals(userList[i].Istravelsubsidy))
+                {
+                    hrSalaryDTO.Jiaotngbutie = hrJibengongzi.Jiaotongbutie;
+                }
+                //hrSalaryDTO.Jiangjin
+                //hrSalaryDTO.Bufagongzi
+                //hrSalaryDTO.Peichang
+
+
+
+
+                hrSalaryDTO.Fakuan = 0;
+                //宸ヤ綔瀹夋帓缃氭
+                List<AdmMemoBookDTO> admMemoBookDTOs =  _DailyManageService.GetRemindsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin,"2");
+                if (admMemoBookDTOs.Count > 0)
+                {
+                    for(int j=0; j< admMemoBookDTOs.Count; j++)
+                    {
+                        decimal fakuanshumu = 0;
+                       if (decimal.TryParse(admMemoBookDTOs[j].ZhuiZe, out fakuanshumu))
+                        {
+                            hrSalaryDTO.Fakuan += fakuanshumu;
+                        }
+                    }
+                }
+                //杩濈邯澶勭悊缃氭
+                List<AdmBreakPrecedentDTO> admBreakPrecedentDTOs = _admBreakPrecedentService.GetList(userList[i].Id, dateminkaoqin, datemaxkaoqin);
+                if (admBreakPrecedentDTOs.Count > 0)
+                {
+                    for (int j = 0; j < admBreakPrecedentDTOs.Count; j++)
+                    {
+                        
+                        if (admBreakPrecedentDTOs[j].Chufajine.HasValue)
+                        {
+                            hrSalaryDTO.Fakuan += admBreakPrecedentDTOs[j].Chufajine.Value; ;
+                        }
+                    }
+                }
+
+                //hrSalaryDTO.Jiucuo
+
+                //璁$畻缁╂晥鎻愭垚
+                hrSalaryDTO.Jixiaoticheng = 0;
+
+                var hrJixiaotichengThis =  hrJixiaotichengDTOs.Where(x => x.PostId == userList[i].HrPosition).ToList();
+
+                if( hrJixiaotichengThis!=null&& hrJixiaotichengThis.Count > 0)
+                {
+                    //var feijijiandengji = fiPiecerateDTOs.Where(x => x.Standard == "A");
+                    //var  jijiandengji =    fiPiecerateDTOs.Where(x => x.Standard == "A");
+
+                    #region 涓婇棬鎷滆瀹㈡埛
+
+                    var cooperVisitDTOs = _cooperVisitService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
+                    if (cooperVisitDTOs != null && cooperVisitDTOs.Count > 0)
+                    {
+                        var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "涓婇棬鎷滆瀹㈡埛").FirstOrDefault();
+                        if (jijianidddd != null)
+                        {
+                            var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                            if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                            {
+                                if (jixiaotichengfangan.Renwustandard == "01")
+                                {
+                                    decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                    if (jixiaotichengfangan.Tichengstandard == "01")
+                                    {
+                                        decimal youxiaojijian = cooperVisitDTOs.Count - renwujishu;
+                                        if (youxiaojijian > 0)
+                                        {
+                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                        }
+
+                                    }
+
+                                }
+                                else if (jixiaotichengfangan.Renwustandard == "02")
+                                {
+                                    decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                    if (jixiaotichengfangan.Tichengstandard == "01")
+                                    {
+                                        decimal youxiaojijian = cooperVisitDTOs.Count - renwujishu;
+                                        if (youxiaojijian > 0)
+                                        {
+                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                        }
+
+                                    }
+                                }
+                            }
+
+                        }
+                    }
+                    #endregion
+
+                    #region 鏂板姞缇ょ粍
+
+                    var groupTopicDTOs = _groupTopicService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
+                    if (groupTopicDTOs != null && groupTopicDTOs.Count > 0)
+                    {
+                        var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鏂板姞缇ょ粍").FirstOrDefault();
+                        if (jijianidddd != null)
+                        {
+                            var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                            if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                            {
+                                if (jixiaotichengfangan.Renwustandard == "01")
+                                {
+                                    decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                    if (jixiaotichengfangan.Tichengstandard == "01")
+                                    {
+                                        decimal youxiaojijian = groupTopicDTOs.Count - renwujishu;
+                                        if (youxiaojijian > 0)
+                                        {
+                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                        }
+
+                                    }
+
+                                }
+                                else if (jixiaotichengfangan.Renwustandard == "02")
+                                {
+                                    decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                    if (jixiaotichengfangan.Tichengstandard == "01")
+                                    {
+                                        decimal youxiaojijian = groupTopicDTOs.Count - renwujishu;
+                                        if (youxiaojijian > 0)
+                                        {
+                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                        }
+
+                                    }
+                                }
+                            }
+
+                        }
+                    }
+                    #endregion
+
+                    #region 瀹㈡埛璧勬枡褰曞叆
+                    var cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
+                    if (cooperatecustomCustomerDTOs != null && cooperatecustomCustomerDTOs.Count > 0)
+                    {
+                        var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "瀹㈡埛璧勬枡褰曞叆").FirstOrDefault();
+                        if (jijianidddd != null)
+                        {
+                            var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                            if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                            {
+                                if (jixiaotichengfangan.Renwustandard == "01")
+                                {
+                                    decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                    if (jixiaotichengfangan.Tichengstandard == "01")
+                                    {
+                                        decimal youxiaojijian = cooperatecustomCustomerDTOs.Count - renwujishu;
+                                        if (youxiaojijian > 0)
+                                        {
+                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                        }
+
+                                    }
+
+                                }
+                                else if (jixiaotichengfangan.Renwustandard == "02")
+                                {
+                                    decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                    if (jixiaotichengfangan.Tichengstandard == "01")
+                                    {
+                                        decimal youxiaojijian = cooperatecustomCustomerDTOs.Count - renwujishu;
+                                        if (youxiaojijian > 0)
+                                        {
+                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                        }
+
+                                    }
+                                }
+                            }
+                        }     
+                    }
+                    #endregion
+
+
+                    #region 褰曞叆瀹㈡埛绛惧崟
+                    
+                   var cooperatecustomCustomers = _cooperatecustomCustomerService.GetListsalaryqiandan(userList[i].Id, dateminkaoqin, datemaxkaoqin);
+                    if (cooperatecustomCustomers != null && cooperatecustomCustomers.Count > 0)
+                    {
+                        var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "褰曞叆瀹㈡埛绛惧崟").FirstOrDefault();
+                        if (jijianidddd != null)
+                        {
+                            var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                            if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                            {
+                                if (jixiaotichengfangan.Renwustandard == "01")
+                                {
+                                    decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                    if (jixiaotichengfangan.Tichengstandard == "01")
+                                    {
+                                        decimal youxiaojijian = cooperatecustomCustomers.Count - renwujishu;
+                                        if (youxiaojijian > 0)
+                                        {
+                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                        }
+
+                                    }
+
+                                }
+                                else if (jixiaotichengfangan.Renwustandard == "02")
+                                {
+                                    decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                    if (jixiaotichengfangan.Tichengstandard == "01")
+                                    {
+                                        decimal youxiaojijian = cooperatecustomCustomers.Count - renwujishu;
+                                        if (youxiaojijian > 0)
+                                        {
+                                            hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                        }
+
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    #endregion
+
+
+                    #region 璁′欢鐧昏
+                    var pieceCheckDTOs = _admPieceCheckService.GetList(userList[i].Id, dateminkaoqin, datemaxkaoqin);
+                    if (pieceCheckDTOs != null && pieceCheckDTOs.Count > 0)
+                    {
+                        foreach (var pieceCheckDTO in pieceCheckDTOs)
+                        {
+                            if (pieceCheckDTO.Gongzi.HasValue)
+                            {
+                                hrSalaryDTO.Jixiaoticheng += pieceCheckDTO.Gongzi.Value;
+                            }
+
+                        }
+                    }
+                    #endregion
+                    //鍚堜綔瀹㈡埛璁㈠崟
+                    List<CooperOrderDTO> cooperOrderDTOs =  _cooperOrderService.GetList(userList[i].Id, dateminkaoqin, datemaxkaoqin);
+
+                    #region 鍥句功閿�鍞�
+                    var cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "01").ToList();
+                    var jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鍥句功閿�鍞�").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count>0)
+                    {
+                      var jixiaotichengfangan =    hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if(jixiaotichengfangan.Renwustandard == "01")
+                            {
+                              decimal renwujishu =   admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if(jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                decimal youxiaojijian =     cooperOrdertushu.Count - renwujishu ;
+                                    if (youxiaojijian>0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+                                     
+                                }
+                                
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian* new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    #endregion
+
+                    #region   鏀块噰鍜ㄨ
+                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "02").ToList();
+                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鏀块噰鍜ㄨ").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count > 0)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    #endregion
+
+                    #region   鏍囦功鍒朵綔璁㈠崟
+                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "03").ToList();
+                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鏍囦功鍒朵綔璁㈠崟").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count > 0)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    #endregion
+
+                    #region   鍩硅
+                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "04").ToList();
+                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鍩硅").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count > 0)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    #endregion
+
+                    #region  濂楅浼氬憳
+                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "05").ToList();
+                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "濂楅浼氬憳").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count > 0)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    #endregion
+
+                    #region 涓撳鐢宠
+                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "06").ToList();
+                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "涓撳鐢宠").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count > 0)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    #endregion
+
+                    #region 灞ョ害绾犵悍
+                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "07").ToList();
+                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "灞ョ害绾犵悍").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count > 0)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    #endregion
+
+                    #region 椋庨櫓浠g悊
+                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "08").ToList();
+                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "椋庨櫓浠g悊").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count > 0)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    #endregion
+
+                    #region 杞欢閿�鍞彁鎴�
+                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "09").ToList();
+                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "杞欢閿�鍞彁鎴�").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count > 0)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    #endregion
+
+                    #region 鍏朵粬涓氬姟
+                    cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "10").ToList();
+                    jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鍏朵粬涓氬姟").FirstOrDefault();
+                    if (jijianid != null && cooperOrdertushu.Count > 0)
+                    {
+                        var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+                        if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+                        {
+                            if (jixiaotichengfangan.Renwustandard == "01")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "02")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "01")
+                                {
+                                    decimal youxiaojijian = cooperOrdertushu.Count - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+                                    }
+
+                                }
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "03")
+                            {
+                                decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+
+                            }
+                            else if (jixiaotichengfangan.Renwustandard == "04")
+                            {
+                                decimal renwujishu = jixiaotichengfangan.Renwu.Value;
+                                if (jixiaotichengfangan.Tichengstandard == "02")
+                                {
+                                    var dingdanjine = cooperOrdertushu.Sum(x => x.Money);
+                                    var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0;
+                                    var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui);
+                                    var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0;
+
+                                    decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu;
+                                    if (youxiaojijian > 0)
+                                    {
+                                        hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2);
+                                    }
+                                }
+                            }
+                        }
+                    }
+
+                    #endregion
+                }
+
+
+
+
+                hrSalaryDTO.Daozhanggongzi = 0;
+                decimal jibengongzi = hrSalaryDTO.Jibengongzi.HasValue ? hrSalaryDTO.Jibengongzi.Value : 0;
+                decimal baomifei = hrSalaryDTO.Baomifei.HasValue ? hrSalaryDTO.Baomifei.Value : 0;
+                decimal gongzuobutie = hrSalaryDTO.Gongzuobutie.HasValue ? hrSalaryDTO.Gongzuobutie.Value : 0;
+                decimal jiabangongzi = hrSalaryDTO.Jiabangongzi.HasValue ? hrSalaryDTO.Jiabangongzi.Value : 0;
+                decimal shebao = hrSalaryDTO.Shebao.HasValue ? hrSalaryDTO.Shebao.Value : 0;
+                decimal dianhuabutie = hrSalaryDTO.Dianhuabutie.HasValue ? hrSalaryDTO.Dianhuabutie.Value : 0;
+                decimal quanqinjiang = hrSalaryDTO.Quanqinjiang.HasValue ? hrSalaryDTO.Quanqinjiang.Value : 0;
+                decimal jiaotngbutie = hrSalaryDTO.Jiaotngbutie.HasValue ? hrSalaryDTO.Jiaotngbutie.Value : 0;
+                decimal jixiaoticheng = hrSalaryDTO.Jixiaoticheng.HasValue ? hrSalaryDTO.Jixiaoticheng.Value : 0;
+                decimal jiangjin = hrSalaryDTO.Jiangjin.HasValue ? hrSalaryDTO.Jiangjin.Value : 0;
+                decimal bufagongzi = hrSalaryDTO.Bufagongzi.HasValue ? hrSalaryDTO.Bufagongzi.Value : 0;
+                decimal shebaokou = hrSalaryDTO.Shebaokou.HasValue ? hrSalaryDTO.Shebaokou.Value : 0;
+               
+                decimal dianhuafei = hrSalaryDTO.Dianhuafei.HasValue ? hrSalaryDTO.Dianhuafei.Value : 0;
+                decimal queqin = hrSalaryDTO.Queqin.HasValue ? hrSalaryDTO.Queqin.Value : 0;
+                decimal fakuan = hrSalaryDTO.Fakuan.HasValue ? hrSalaryDTO.Fakuan.Value : 0;
+                decimal peichang = hrSalaryDTO.Peichang.HasValue ? hrSalaryDTO.Peichang.Value : 0;
+                decimal jiucuo = hrSalaryDTO.Jiucuo.HasValue ? hrSalaryDTO.Jiucuo.Value : 0;
+
+                yingnashuie = jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + dianhuabutie + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou  - dianhuafei - queqin - fakuan - peichang + jiucuo - geshuiqizheng;
+
+
+                hrSalaryDTO.Geshui = 0;
+                if (yingnashuie > 0)
+                {
+                    decimal yingnashuie1 = 0;
+                    decimal yingnashuie2 = 0;
+                    decimal yingnashuie3 = 0;
+                    decimal yingnashuie4 = 0;
+                    decimal yingnashuie5 = 0;
+                    if (yingnashuie > 39250)
+                    {
+                        yingnashuie1 = 4750;
+                        yingnashuie2 = (9250 - 4750);
+                        yingnashuie3 = (25250 - 9250);
+                        yingnashuie4 = (39250 - 25250);
+                        yingnashuie5 = (yingnashuie - 39250);
+                    }
+                    else if (yingnashuie > 25250)
+                    {
+                        yingnashuie1 = 4750;
+                        yingnashuie2 = (9250 - 4750);
+                        yingnashuie3 = (25250 - 9250);
+                        yingnashuie4 = (yingnashuie - 25250);
+
+                    }
+                    else if (yingnashuie > 9250)
+                    {
+                        yingnashuie1 = 4750;
+                        yingnashuie2 = (9250 - 4750);
+                        yingnashuie3 = (yingnashuie - 9250);
+                    }
+                    else if (yingnashuie > 4750)
+                    {
+                        yingnashuie1 = 4750;
+                        yingnashuie2 = (yingnashuie - 4750);
+                    }
+                    else
+                    {
+                        yingnashuie1 = yingnashuie;
+                    }
+                    if (yingnashuie1 > 0)
+                    {
+                        var yingjiao1 = Math.Round(yingnashuie1 * new decimal(0.05) - 0, 2);
+                        if (yingjiao1 > 0)
+                        {
+                            hrSalaryDTO.Geshui += yingjiao1;
+                        }
+
+                    }
+                    if (yingnashuie2 > 0)
+                    {
+                        var yingjiao2 = Math.Round(yingnashuie2 * new decimal(0.1) - 250, 2);
+                        if (yingjiao2 > 0)
+                        {
+                            hrSalaryDTO.Geshui += yingjiao2;
+                        }
+                    }
+                    if (yingnashuie3 > 0)
+                    {
+                        var yingjiao3 = Math.Round(yingnashuie3 * new decimal(0.2) - 1250, 2);
+                        if (yingjiao3 > 0)
+                        {
+                            hrSalaryDTO.Geshui += yingjiao3;
+                        }
+                    }
+                    if (yingnashuie4 > 0)
+                    {
+                        var yingjiao4 = Math.Round(yingnashuie4 * new decimal(0.3) - 4250, 2);
+                        if (yingjiao4 > 0)
+                        {
+                            hrSalaryDTO.Geshui += yingjiao4;
+                        }
+                    }
+                    if (yingnashuie5 > 0)
+                    {
+                        var yingjiao5 = Math.Round(yingnashuie5 * new decimal(0.35) - 6750, 2);
+                        if (yingjiao5 > 0)
+                        {
+                            hrSalaryDTO.Geshui += yingjiao5;
+                        }
+                    }
+
+
+
+                }
+                decimal geshui = hrSalaryDTO.Geshui.HasValue ? hrSalaryDTO.Geshui.Value : 0;
+
+                hrSalaryDTO.Daozhanggongzi += jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + dianhuabutie + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou - geshui - dianhuafei - queqin - fakuan - peichang + jiucuo;
+
+
+
+                hrSalaryDTO.Yufagongzi = userList[i].advancewages;
+
+                if (userList[i].advancewages.HasValue)
+                {
+                    hrSalaryDTO.Yufagongziheji = 0;
+                    HrSalaryDTO hrSalaryDTOlast = _hrSalaryService.GetListByUser(userList[i].Id, dateminkaoqin.AddMonths(-1).Year, dateminkaoqin.AddMonths(-1).Month);
+                    if(hrSalaryDTOlast!=null && hrSalaryDTOlast.Yufagongziheji.HasValue)
+                    {
+                        hrSalaryDTO.Yufagongziheji = hrSalaryDTOlast.Yufagongziheji;
+                    }
+
+                    hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Daozhanggongzi- hrSalaryDTO.Yufagongzi);
+                }
+                hrSalaryDTO.RecStatus = "A";
+                hrSalaryDTO.Islock = "D";
+                hrSalaryDTO.Creater = "1";
+                hrSalaryDTO.Createtime = DateTime.Now;
+                hrSalaryDTO.Modifier = hrSalaryDTO.Creater;
+                hrSalaryDTO.Modifytime = hrSalaryDTO.Createtime;
+                _hrSalaryService.save(hrSalaryDTO);
+            }
+        }
+
+
+
+        public AdmAskLeaveDTO jisianChecktime(DateTime StratTime, DateTime EndTime)
+        {
+            //string dateDiff = null;
+            AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get("");
+
+            var admAttendanceRulesDtlDTOs = _attendanceRuleService.GetDtlList("");
+
+            var jiejiari = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiejiari").ToList();
+
+            var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
+
+            //姣忓ぉ鐨勮�冨嫟鏃堕棿鐐�
+            string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.');
+            int WorkingStarthour = int.Parse(WorkingStart[0]);
+            int WorkingStartmin = int.Parse(WorkingStart[1]);
+
+            string[] WorkingEnd = admAttendanceRuleDTO.WorkingEnd.Split('.');
+            int WorkingEndhour = int.Parse(WorkingEnd[0]);
+            int WorkingEndmin = int.Parse(WorkingEnd[1]);
+
+
+
+            string[] OffworkStart = admAttendanceRuleDTO.OffworkStart.Split('.');
+            int OffworkStarthour = int.Parse(OffworkStart[0]);
+            int OffworkStartmin = int.Parse(OffworkStart[1]);
+
+            string[] OffworkEnd = admAttendanceRuleDTO.OffworkEnd.Split('.');
+            int OffworkEndhour = int.Parse(OffworkEnd[0]);
+            int OffworkEndmin = int.Parse(OffworkEnd[1]);
+
+            //璇峰亣寮�濮嬫椂闂翠笂鐝椂闂�
+            DateTime StratTimeWorkingStart = StratTime.Date.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
+
+            DateTime StratTimeWorkingEnd = StratTime.Date.AddHours(WorkingEndhour).AddMinutes(WorkingEndmin);
+
+            DateTime StratTimeOffworkStart = StratTime.Date.AddHours(OffworkStarthour).AddMinutes(OffworkStartmin);
+
+            DateTime StratTimeOffworkEnd = StratTime.Date.AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
+
+
+            //璇峰亣缁撴潫鏃堕棿涓婄彮鏃堕棿
+
+            DateTime EndTimeWorkingStart = EndTime.Date.AddHours(WorkingStarthour).AddMinutes(WorkingStartmin);
+
+            DateTime EndTimeWorkingEnd = EndTime.Date.AddHours(WorkingEndhour).AddMinutes(WorkingEndmin);
+
+            DateTime EndTimeOffworkStart = EndTime.Date.AddHours(OffworkStarthour).AddMinutes(OffworkStartmin);
+
+            DateTime EndTimeOffworkEnd = EndTime.Date.AddHours(OffworkEndhour).AddMinutes(OffworkEndmin);
+
+            //涓婄彮鏃堕棿
+
+            TimeSpan shangwu = StratTimeWorkingEnd.Subtract(StratTimeWorkingStart);
+
+            TimeSpan xiawu = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
+
+
+
+
+            int shangbanshijian = shangwu.Hours * 60 + shangwu.Minutes + xiawu.Hours * 60 + xiawu.Minutes;
+
+
+            int LavehTime = 0;
+            TimeSpan ts = EndTime.Subtract(StratTime);
+            for (int i = 0; i <= ts.Days; i++)
+            {
+                if (i == 0)
+                {
+                    //鏄惁涓婄彮鏃ユ湡
+                    if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
+                    {
+                        //鏄惁鑺傚亣鏃�
+                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+                        {
+
+                            LavehTime += 0;
+                        }
+                        else
+                        {
+
+
+
+                            if (StratTime <= StratTimeWorkingStart)
+                            {
+                                LavehTime += shangbanshijian;
+                            }
+                            else if (StratTime <= StratTimeWorkingEnd)
+                            {
+                                TimeSpan shangwu1 = StratTimeWorkingEnd.Subtract(StratTime);
+
+                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
+
+
+                                LavehTime += shangwu1.Hours * 60 + shangwu1.Minutes + xiawu1.Hours * 60 + xiawu1.Minutes;
+                            }
+                            else if (StratTime <= StratTimeOffworkStart)
+                            {
+
+
+                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
+
+
+                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
+                            }
+                            else if (StratTime <= StratTimeOffworkEnd)
+                            {
+                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTime);
+
+
+                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
+
+                            }
+
+
+
+                        }
+                    }
+                    else
+                    {
+
+                        //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
+                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+                        {
+                            if (StratTime <= StratTimeWorkingStart)
+                            {
+                                LavehTime += shangbanshijian;
+                            }
+                            else if (StratTime <= StratTimeWorkingEnd)
+                            {
+                                TimeSpan shangwu1 = StratTimeWorkingEnd.Subtract(StratTime);
+
+                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
+
+
+                                LavehTime += shangwu1.Hours * 60 + shangwu1.Minutes + xiawu1.Hours * 60 + xiawu1.Minutes;
+                            }
+                            else if (StratTime <= StratTimeOffworkStart)
+                            {
+
+
+                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTimeOffworkStart);
+
+
+                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
+                            }
+                            else if (StratTime <= StratTimeOffworkEnd)
+                            {
+                                TimeSpan xiawu1 = StratTimeOffworkEnd.Subtract(StratTime);
+
+
+                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
+
+                            }
+                        }
+                        else
+                        {
+                            LavehTime += 0;
+                        }
+                    }
+                }
+
+                if (i == ts.Days)
+                {
+                    //鏄惁涓婄彮鏃ユ湡
+                    if ((int)EndTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)EndTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
+                    {
+                        //鏄惁鑺傚亣鏃�
+                        if (jiejiari.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
+                        {
+
+                            LavehTime += 0;
+                        }
+                        else
+                        {
+
+
+
+                            if (EndTime >= EndTimeOffworkEnd)
+                            {
+                                LavehTime += shangbanshijian;
+                            }
+                            else if (EndTime >= EndTimeOffworkStart)
+                            {
+                                TimeSpan shangwu1 = EndTimeWorkingEnd.Subtract(EndTimeWorkingStart);
+
+                                TimeSpan xiawu1 = EndTime.Subtract(EndTimeOffworkStart);
+
+
+                                LavehTime += shangwu1.Hours * 60 + shangwu1.Minutes + xiawu1.Hours * 60 + xiawu1.Minutes;
+                            }
+                            else if (EndTime >= EndTimeWorkingEnd)
+                            {
+
+
+
+                                TimeSpan xiawu1 = EndTimeWorkingEnd.Subtract(EndTimeWorkingStart);
+
+
+                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
+                            }
+                            else if (EndTime >= EndTimeWorkingStart)
+                            {
+                                TimeSpan xiawu1 = EndTime.Subtract(EndTimeWorkingStart);
+
+
+                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
+
+                            }
+
+
+
+                        }
+                    }
+                    else
+                    {
+
+                        //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
+                        if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
+                        {
+                            if (EndTime >= EndTimeOffworkEnd)
+                            {
+                                LavehTime += shangbanshijian;
+                            }
+                            else if (EndTime >= EndTimeOffworkStart)
+                            {
+                                TimeSpan shangwu1 = EndTimeWorkingEnd.Subtract(EndTimeWorkingStart);
+
+                                TimeSpan xiawu1 = EndTime.Subtract(EndTimeOffworkStart);
+
+
+                                LavehTime += shangwu1.Hours * 60 + shangwu1.Minutes + xiawu1.Hours * 60 + xiawu1.Minutes;
+                            }
+                            else if (EndTime >= EndTimeWorkingEnd)
+                            {
+
+
+
+                                TimeSpan xiawu1 = EndTimeWorkingEnd.Subtract(EndTimeWorkingStart);
+
+
+                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
+                            }
+                            else if (EndTime >= EndTimeWorkingStart)
+                            {
+                                TimeSpan xiawu1 = EndTime.Subtract(EndTimeWorkingStart);
+
+
+                                LavehTime += xiawu1.Hours * 60 + xiawu1.Minutes;
+
+                            }
+                        }
+                        else
+                        {
+                            LavehTime += 0;
+                        }
+                    }
+                }
+
+
+                if (i != 0 && i != ts.Days)
+                {
+                    DateTime dateTimenow = StratTime.AddDays(i).Date;
+                    //鏄惁涓婄彮鏃ユ湡
+                    if ((int)dateTimenow.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)dateTimenow.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
+                    {
+                        //鏄惁鍋囨湡 鍋囨湡涓嶄笂鐝�
+                        if (jiejiari.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date))
+                        {
+                            LavehTime += 0;
+                        }
+                        else
+                        {
+                            LavehTime += shangbanshijian;
+                        }
+                    }
+                    else
+                    {
+
+                        //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
+                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+                        {
+                            LavehTime += shangbanshijian;
+                        }
+                        else
+                        {
+                            LavehTime += 0;
+                        }
+                    }
+                }
+
+
+                if (ts.Days == 0)
+                { //鏄惁涓婄彮鏃ユ湡
+                    if ((int)StratTime.Date.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)StratTime.Date.DayOfWeek <= admAttendanceRuleDTO.WeekEnd)
+                    {
+                        //鏄惁鑺傚亣鏃�
+                        if (jiejiari.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+                        {
+                            LavehTime -= 0;
+                        }
+                        else
+                        {
+                            LavehTime -= shangbanshijian;
+                        }
+                    }
+                    else
+                    {
+                        //鏄惁璋冧紤鏃�  璋冧紤鏃ラ渶瑕佷笂鐝�
+                        if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+                        {
+                            LavehTime -= shangbanshijian;
+                        }
+                        else
+                        {
+                            LavehTime -= 0;
+                        }
+                    }
+
+                }
+
+            }
+
+
+
+
+
+
+
+
+            AdmAskLeaveDTO admAsk = new AdmAskLeaveDTO();
+            admAsk.LaveDay = (int)(LavehTime / shangbanshijian);
+            int lefthour = (int)(LavehTime % shangbanshijian);
+
+            admAsk.LavehHour = lefthour / 60;
+            if (lefthour % 60 > 0)
+            {
+                admAsk.LavehHour += 1;
+            }
+
+            return admAsk;
+        }
     }
 }
diff --git a/zhengcaioa/zhengcaioa/Views/CooperOrder/Index.cshtml b/zhengcaioa/zhengcaioa/Views/CooperOrder/Index.cshtml
index ee7dbd3..8ff8474 100644
--- a/zhengcaioa/zhengcaioa/Views/CooperOrder/Index.cshtml
+++ b/zhengcaioa/zhengcaioa/Views/CooperOrder/Index.cshtml
@@ -92,7 +92,7 @@
                 }
             },
             {
-                label: '瀹屽伐', name: 'WangongStatusName', labtype: 'txt', hidden: wangongbool, width: 60,
+                label: '瀹屽伐', name: 'WangongStatusName', labtype: 'txt', hidden: true, width: 60,
                 formatter: function (cellvalue, options, rowObject) {
                     if (rowObject.ShouliStatus == '4' || rowObject.ShouliStatus == '5'  ) {
                         return "鈭�";
diff --git a/zhengcaioa/zhengcaioa/Views/Liaotian/Edit.cshtml b/zhengcaioa/zhengcaioa/Views/Liaotian/Edit.cshtml
index ade81d5..2576ec2 100644
--- a/zhengcaioa/zhengcaioa/Views/Liaotian/Edit.cshtml
+++ b/zhengcaioa/zhengcaioa/Views/Liaotian/Edit.cshtml
@@ -90,7 +90,7 @@
                                                                                             <a class="collapse-link" onclick="collapseBox(this);"><i class="fa fa-chevron-up" title="鎶樺彔/灞曞紑鏄庣粏"></i></a>&nbsp;&nbsp;
                                 </div>*@
                         </div>
-                        <div id="div_content" class="ibox-content" style="background-color:white;">
+                        <div id="div_content" class="ibox-content" style="background-color:white;overflow-y:auto;">
                             <div class="row">
                                 <div class="clearfix layer-area" style="padding-bottom:15px;">
                                     <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">闂绫诲瀷<i class="red">*</i></label>
@@ -148,18 +148,24 @@
                                 </div>
                                 <div class="clearfix layer-area" style="padding-bottom:15px;">
                                     <label class="text-right col-sm-1 col-md-1 control-label">闂<i class="red">*</i></label>
-                                    <div class="col-sm-11 col-md-11"><input id="Question" class="form-control" label="闂" name="Question" labtype="txt" addvisible="true" editvisible="true" reg="" maxlength="450" ismust="true" type="text" value="@Model.Question"></div>
+                                    <div class="col-sm-11 col-md-11">
+                                        @*<input id="Question" class="form-control" label="闂" name="Question" labtype="txt" addvisible="true" editvisible="true" reg="" maxlength="450" ismust="true" type="text" value="@Model.Question">*@
+                                        <textarea class="form-control bt" id="Question" name="Question" title="绛旀" isempty="" maxlength="450" length="long" style="resize:none;overflow-y:hidden; min-height:60px;" onpropertychange="this.style.height=this.scrollHeight + 'px'" oninput="this.style.height=this.scrollHeight + 'px'">@Model.Question</textarea>
+
+                                    </div>
+
+                                   
 
                                 </div>
                                 <div class="clearfix layer-area" style="padding-bottom:15px;">
                                     <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">绛旀<i class="red">*</i></label>
                                     <div class="col-sm-11 col-md-11">
-                                        <textarea class="form-control bt" id="Anwser" name="Anwser" title="绛旀" isempty="" maxlength="4000" style=" height:200px" length="long">@Model.Anwser</textarea>
+                                        <textarea class="form-control bt" id="Anwser" name="Anwser" title="绛旀" isempty="" maxlength="4000"   length="long" style="resize:none;overflow-y:hidden; min-height:60px;" onpropertychange="this.style.height=this.scrollHeight + 'px'" oninput="this.style.height=this.scrollHeight + 'px'" >@Model.Anwser</textarea>
                                     </div>
                                 </div>
                                 <div class="clearfix layer-area" style="padding-bottom:15px;">
                                     <label class="text-right col-sm-1 col-md-1 control-label">閫傜敤娉曟潯</label>
-                                    <div class="col-sm-11 col-md-11">    <textarea class="form-control bt" id="Shiyongfatiao" name="Shiyongfatiao" title="绛旀" isempty="" maxlength="450" style=" height:60px" length="long">@Model.Shiyongfatiao</textarea>  </div>
+                                    <div class="col-sm-11 col-md-11">    <textarea class="form-control bt" id="Shiyongfatiao" name="Shiyongfatiao" title="绛旀" isempty="" maxlength="450"   length="long" style="resize:none;overflow-y:hidden; min-height:60px;" onpropertychange="this.style.height=this.scrollHeight + 'px'" oninput="this.style.height=this.scrollHeight + 'px'">@Model.Shiyongfatiao</textarea>  </div>
 
                                 </div>
                             </div>
@@ -188,6 +194,18 @@
 
     </form>
     <script type="text/javascript">
+        var Question = document.getElementById("Question");
+
+        Question.style.height = Question.scrollHeight + 'px';
+
+        var Anwser = document.getElementById("Anwser");
+
+        Anwser.style.height = Anwser.scrollHeight + 'px';
+
+        var Shiyongfatiao = document.getElementById("Shiyongfatiao");
+
+        Shiyongfatiao.style.height = Shiyongfatiao.scrollHeight + 'px';
+
 		var hh = document.body.clientHeight - $('.ibox-title').height() - $("#top").height()*2 - 95;
 		$("#div_content").height(hh);
 
@@ -215,7 +233,11 @@
 			"hideEasing": "linear",
 			"showMethod": "fadeIn",
 			"hideMethod": "fadeOut"
-		};
+        };
+
+
+       
+
         var delPosition = function () {
             if (id == null || id=='') {
                 toastr.warning("璇峰厛淇濆瓨");
@@ -349,8 +371,11 @@
 				    parent.layer.msg('淇濆瓨澶辫触', { icon: 5 });
 				}
 			});
-		}
+        }
 
+
+
+       
 
         $("#Questiontype").change(function () {
 
@@ -369,8 +394,11 @@
                     quxian.append(aaa);
                     if (data.length > 0) {
                         for (var i = 0; i < data.length; i++) {
-
                             var o = '<option value="' + data[i].CodeSn + '" hassubinfo="true">' + data[i].Comments + '</option>';
+                            if (i == 0) {
+                                o = '<option value="' + data[i].CodeSn + '" hassubinfo="true"  selected="selected" >' + data[i].Comments + '</option>';
+                            }
+                           
                             quxian.append(o);
                         }
                     }
@@ -383,6 +411,12 @@
             });
         });
 
+
+        if (id == null || id == '') {
+            $('#Questiontype option:eq(1)').attr('selected', 'selected');  
+            $('#Questiontype').trigger('change');  
+        }
+
 		function _pageAutoClose() {
 			parent.window._reloadPageData();
 			var index = parent.layer.getFrameIndex(window.name);
diff --git a/zhengcaioa/zhengcaioa/Views/Liaotian/Indexcheck.cshtml b/zhengcaioa/zhengcaioa/Views/Liaotian/Indexcheck.cshtml
index 5cd072b..c04c8e5 100644
--- a/zhengcaioa/zhengcaioa/Views/Liaotian/Indexcheck.cshtml
+++ b/zhengcaioa/zhengcaioa/Views/Liaotian/Indexcheck.cshtml
@@ -17,7 +17,7 @@
             {
                 label: '闂', name: 'Question', labtype: 'txt', hidden: false, width: 400 ,
                 formatter: function (cellvalue, options, rowObject) {
-                    return "<a onclick=\"OpenWindow('" + cellvalue + "','98%','100%', '/Liaotian/Edit?id=" + rowObject.Id + "')\"  >" + cellvalue + "</a>";
+                    return "<a onclick=\"OpenWindow('淇敼闂','98%','100%', '/Liaotian/Edit?id=" + rowObject.Id + "')\"  >" + cellvalue + "</a>";
                 }
             },
             { label: '鍥炵瓟', name: 'Anwser', labtype: 'textarea', hidden: false, width: 800 },
diff --git a/zhengcaioa/zhengcaioa/Views/Project/Select.cshtml b/zhengcaioa/zhengcaioa/Views/Project/Select.cshtml
index b5b4d19..3174031 100644
--- a/zhengcaioa/zhengcaioa/Views/Project/Select.cshtml
+++ b/zhengcaioa/zhengcaioa/Views/Project/Select.cshtml
@@ -8,8 +8,10 @@
         var shengDropDown = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.ShengDropDown))';
         var Creater = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.Creater))';
         var flbx = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.flbx))';
+        var ShiFouyReasonname = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.ShiFouyReasonname))';
         
-        loseherght = 60;
+
+        loseherght = 70;
         dataCol = [
             { label: 'id', name: 'Id', labtype: 'txt', hidden: true },
 
@@ -83,22 +85,26 @@
         ];
         dataUrl = "/Project/GetLiaotianList";
         searchCol = [
-            { label: '鍏憡鏃堕棿', name: 'StartTimestar', labtype: 'date', hidden: false },
-            { label: '--', name: 'StartTimeend', labtype: 'date', hidden: false, cwidth: '1%', cccwidth: '15%' },
+            //{ label: '鍏憡鏃堕棿', name: 'StartTimestar', labtype: 'date', hidden: false },
+            //{ label: '--', name: 'StartTimeend', labtype: 'date', hidden: false, cwidth: '1%', cccwidth: '15%' },
+            { label: '鍏憡鏃堕棿', name: 'StartTimestar', labtype: 'datearea', hidden: false },
             { label: '椤圭洰缂栧彿', name: 'Number', labtype: 'txt', hidden: false },
             { label: '椤圭洰鍚嶇О', name: 'Name', labtype: 'txt', hidden: false },
-
-            { label: '鐪�', name: 'Sheng', labtype: 'combox', hidden: false, data: JSON.parse(shengDropDown), cwidth: '5%', cccwidth: '8%' },
-            { label: '甯�', name: 'City', labtype: 'combox', hidden: false, data: JSON.parse('[]'), cwidth: '1%', cccwidth: '8%'  },
-            { label: '鍖哄幙', name: 'AreaId', labtype: 'combox', hidden: false, data: JSON.parse('[]'), cwidth: '2%', cccwidth: '8%' },
+            { label: '璇勫涓撳', name: 'Zhuanjia', labtype: 'txt', hidden: false/*, cwidth: '8.5%', cccwidth: '15%' */},
+            { label: '鐪�', name: 'Sheng', labtype: 'combox', hidden: false, data: JSON.parse(shengDropDown), cwidth: '5%', cccwidth: '10%' },
+            { label: '甯�', name: 'City', labtype: 'combox', hidden: false, data: JSON.parse('[]'), cwidth: '2%', cccwidth: '10%'  },
+            { label: '鍖哄幙', name: 'AreaId', labtype: 'combox', hidden: false, data: JSON.parse('[]'), cwidth: '2.5%', cccwidth: '10%' },
             { label: '閲囪喘鏂瑰紡', name: 'Cgfs', labtype: 'combox', hidden: false, data: JSON.parse(projectDropDown) },
             { label: '涓爣渚涘簲鍟�', name: 'Names', labtype: 'txt', hidden: false },
             { label: '鎶曟爣渚涘簲鍟�', name: 'NamesToubiao', labtype: 'txt', hidden: false },
-            { label: '璇勫涓撳', name: 'Zhuanjia', labtype: 'txt', hidden: false, cwidth: '8.5%', cccwidth: '15%' },
+            { label: '鏄惁鏈夋棤鏁堜緵搴斿晢', name: 'ShiFouyReasonname', labtype: 'combox', hidden: false, data: JSON.parse(ShiFouyReasonname), cwidth: '8%', cccwidth: '12%'},
+            { label: '鏃犳晥渚涘簲鍟�', name: 'Reasonname', labtype: 'txt', hidden: false },
 
-            { label: '鏄惁搴熸爣', name: 'fblx', labtype: 'combox', hidden: false, data: JSON.parse(flbx), cwidth: '5%', cccwidth: '8%'  },
+
+
+            { label: '鏄惁搴熸爣', name: 'fblx', labtype: 'combox', hidden: false, data: JSON.parse(flbx)/*, cwidth: '5%', cccwidth: '8%' */ },
             { label: '褰曞叆鏃堕棿', name: 'Createtime', labtype: 'datearea', hidden: false },
-            { label: '褰曞叆浜�', name: 'Creater', labtype: 'combox', hidden: false, data: JSON.parse(Creater), cwidth: '5%', cccwidth: '8%' },
+            { label: '褰曞叆浜�', name: 'Creater', labtype: 'combox', hidden: false, data: JSON.parse(Creater)/*, cwidth: '5%', cccwidth: '8%'*/ },
 
         ];
         var _pageAdd = function () {
diff --git a/zhengcaioa/zhengcaioa/Views/User/Edit.cshtml b/zhengcaioa/zhengcaioa/Views/User/Edit.cshtml
index 086ae78..3c754a5 100644
--- a/zhengcaioa/zhengcaioa/Views/User/Edit.cshtml
+++ b/zhengcaioa/zhengcaioa/Views/User/Edit.cshtml
@@ -140,7 +140,7 @@
                         <div class="ibox-title">
                             <h5><i class="fa fa-list"></i>&nbsp;浜哄憳褰曞叆</h5>
                         </div>
-                        <div id="div_content" class="ibox-content" style="background-color:white;">
+                        <div id="div_content" class="ibox-content" style="background-color:white;overflow-y:auto;">
                             <div class="row">
                                 <div class="clearfix layer-area" style="padding-bottom:15px;">
                                     <label class="text-right col-sm-1 col-md-1 control-label">鐢ㄦ埛鍚�<i class="red">*</i></label>
@@ -445,27 +445,7 @@
                                     <div class="col-sm-2 col-md-2">
                                         <input id="Shebaodate" class="form-control" label="璁¤柂鏃堕棿" name="Shebaodate" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.ShebaodateName" readonly="readonly">
                                     </div>
-                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">鍦ㄨ亴鐘舵��<i class="red">*</i></label>
-                                    <div class="col-sm-2 col-md-2" grouptype="Vdata">
-                                        <select id="Zhiwustatus" class="form-control" name="Zhiwustatus" data-placeholder="閫夋嫨 搴忓垪 ...">
-                                            <option value="" hassubinfo="true">璇烽�夋嫨</option>
-                                            @foreach (var item in zhiwustatus)
-                                            {
-                                                @if (!item.CodeSn.Equals(Model.Zhiwustatus))
-                                                {
-                                                    <option value="@item.CodeSn" hassubinfo="true">
-                                                        @item.Comments
-                                                    </option>
-                                                }
-                                                else
-                                                {
-                                                    <option value="@item.CodeSn" hassubinfo="true" selected="selected">
-                                                        @item.Comments
-                                                    </option>
-                                                }
-                                            }
-                                        </select>
-                                    </div>
+                                   
 
                                     <label class="text-right col-sm-1 col-md-1 control-label">宸ヤ綔鐢佃剳MAC<i class="red">*</i> </label>
                                     <div class="col-sm-2 col-md-2">
@@ -592,6 +572,34 @@
                                     <div class="col-sm-2 col-md-2">
                                         <input id="JinjiPhone" class="form-control" label="鑱旂郴鐢佃瘽" name="JinjiPhone" labtype="txt" addvisible="true" maxlength="50" editvisible="true" reg="" ismust="true" type="text" value="@Model.JinjiPhone">
                                     </div>
+                                    <label grouptype="Vdata" class="text-right col-sm-1 col-md-1 control-label">鍦ㄨ亴鐘舵��<i class="red">*</i></label>
+                                    <div class="col-sm-2 col-md-2" grouptype="Vdata">
+                                        <select id="Zhiwustatus" class="form-control" name="Zhiwustatus" data-placeholder="閫夋嫨 搴忓垪 ...">
+                                            <option value="" hassubinfo="true">璇烽�夋嫨</option>
+                                            @foreach (var item in zhiwustatus)
+                                            {
+                                                @if (!item.CodeSn.Equals(Model.Zhiwustatus))
+                                                {
+                                                    <option value="@item.CodeSn" hassubinfo="true">
+                                                        @item.Comments
+                                                    </option>
+                                                }
+                                                else
+                                                {
+                                                    <option value="@item.CodeSn" hassubinfo="true" selected="selected">
+                                                        @item.Comments
+                                                    </option>
+                                                }
+                                            }
+                                        </select>
+                                    </div>
+
+                                    <label class="text-right col-sm-1 col-md-1 control-label">绂昏亴鏃ユ湡 </label>
+                                    <div class="col-sm-2 col-md-2">
+                                        <input id="Outdate" class="form-control" label="绂昏亴鏃ユ湡" name="Outdate" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value='@Model.OutdateName ' readonly="readonly">
+
+                                    </div>
+
                                 </div>
 
                                 <div class="clearfix layer-area" style="padding-bottom:15px;">
@@ -844,6 +852,8 @@
         laydate({ elem: "#ShiyongDateEnd", format: 'YYYY-MM-DD', istime: false, event: "focus" });
         laydate({ elem: "#Indate", format: 'YYYY-MM-DD', istime: false, event: "focus" });
         laydate({ elem: "#Shebaodate", format: 'YYYY-MM-DD', istime: false, event: "focus" });
+        laydate({ elem: "#Outdate", format: 'YYYY-MM-DD', istime: false, event: "focus" });
+        
 
         var delPosition = function () {
 
diff --git a/zhengcaioa/zhengcaioa/zhengcaioa.csproj.user b/zhengcaioa/zhengcaioa/zhengcaioa.csproj.user
index 824e794..67fd912 100644
--- a/zhengcaioa/zhengcaioa/zhengcaioa.csproj.user
+++ b/zhengcaioa/zhengcaioa/zhengcaioa.csproj.user
@@ -9,7 +9,7 @@
     <View_SelectedScaffolderCategoryPath>root/Common/MVC/View</View_SelectedScaffolderCategoryPath>
     <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
     <Controller_SelectedScaffolderCategoryPath>root/Common/MVC/Controller</Controller_SelectedScaffolderCategoryPath>
-    <NameOfLastUsedPublishProfile>D:\qianwj\ZCOa\zhengcaioa\zhengcaioa\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
+    <NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
     <WebStackScaffolding_ViewDialogWidth>650</WebStackScaffolding_ViewDialogWidth>
     <WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected>
     <WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
diff --git "a/\347\224\250\346\210\267\350\241\250\346\233\264\346\226\260.sql" "b/\347\224\250\346\210\267\350\241\250\346\233\264\346\226\260.sql"
index cd2ddcd..c194601 100644
--- "a/\347\224\250\346\210\267\350\241\250\346\233\264\346\226\260.sql"
+++ "b/\347\224\250\346\210\267\350\241\250\346\233\264\346\226\260.sql"
@@ -81,13 +81,15 @@
 --电话卡类型定义
 insert into [adm_goods_classify] values('d309d1af-5086-453a-b5a2-58b344dfff97','电话卡','A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'04');
 --补贴字典定义
-insert into [sys_code] values('107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','t_sim_bind','cardpro','电话补贴','A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate())
+insert into [sys_code] values('107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','t_sim_bind','cardpro','电话补贴','A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate());
 
-insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('2632d933-31a3-4692-a954-df11bf223854','50','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','50',1,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate())
+insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('2632d933-31a3-4692-a954-df11bf223854','50','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','50',1,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate());
 
-insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('306d666f-e93c-415c-a294-414e34cb3311','100','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','100',2,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate())
+insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('306d666f-e93c-415c-a294-414e34cb3311','100','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','100',2,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate());
 
-insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('61711fb1-0b96-4611-9dc0-6c69dfef656c','9999','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','不限',3,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate())
+insert into [sys_code_dtl]([Id],[code_sn],[code_id],[comments],[sort] ,[rec_status],[creater],[createtime],[modifier],[modifytime]) values('61711fb1-0b96-4611-9dc0-6c69dfef656c','9999','107bc4e5-f13a-4d25-bd47-e4b1e61aed8a','不限',3,'A','e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate(),'e4c93811-b9b1-4998-89f5-c416ebab0c07',getdate());
+go
+
 
 create view v_sim_bind as
 SELECT   a.Id, a.goods_name AS simcard, a.goods_status AS simstatus, c.user_id AS userid, b.user_name AS username, 
diff --git "a/\350\200\203\345\213\244\350\256\241\347\256\227\347\232\204\350\241\250.sql" "b/\350\200\203\345\213\244\350\256\241\347\256\227\347\232\204\350\241\250.sql"
index 014e69f..06ed231 100644
--- "a/\350\200\203\345\213\244\350\256\241\347\256\227\347\232\204\350\241\250.sql"
+++ "b/\350\200\203\345\213\244\350\256\241\347\256\227\347\232\204\350\241\250.sql"
@@ -1,6 +1,86 @@
 USE [zhengcaioa]
 GO
 
+/****** Object:  Table [dbo].[ADM_Attendance_dtl]    Script Date: 2021/6/10 13:04:31 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+IF EXISTS(Select 1 From Sysobjects Where Name='ADM_Attendance_dtl')  --查询表名costSeparateConfig是否存在  
+drop  TABLE [dbo].[ADM_Attendance_dtl]
+GO
+CREATE TABLE [dbo].[ADM_Attendance_dtl](
+	[Id] [nvarchar](50) NOT NULL,
+	[attendance_id] [nvarchar](50) NOT NULL,
+	[SgninDate] [datetime] NULL,
+	[MorningIn] [datetime] NULL,
+	[MorningOut] [datetime] NULL,
+	[AfternoonIn] [datetime] NULL,
+	[AfternoonOut] [datetime] NULL,
+	[OvertimeIn] [datetime] NULL,
+	[OvertimeOut] [datetime] NULL,
+	[qingjia]   [decimal](18, 4) NOT NULL DEFAULT ((0)),
+	[xiaojia] [decimal](18, 4) NOT NULL DEFAULT ((0)),
+	[rec_status] [nvarchar](1) NOT NULL,
+	[creater] [nvarchar](50) NOT NULL,
+	[createtime] [datetime] NOT NULL,
+	[modifier] [nvarchar](50) NOT NULL,
+	[modifytime] [datetime] NOT NULL,
+	[shangwuchidaofenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
+	[xiawuchidaofenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
+	[shangwuzaotuifenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
+	[xiawuzaotuifenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
+	[kuanggongtianshu] [decimal](18, 4) NOT NULL DEFAULT ((0)),
+	[iswork] [nvarchar](1)   NULL,
+ CONSTRAINT [PK__ADM_Attendance_dtl] PRIMARY KEY CLUSTERED 
+(
+	[Id] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [SgninDate]
+GO
+
+ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('A') FOR [rec_status]
+GO
+
+ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('1') FOR [creater]
+GO
+
+ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [createtime]
+GO
+
+ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('1') FOR [modifier]
+GO
+
+ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [modifytime]
+GO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+USE [zhengcaioa]
+GO
+
 /****** Object:  Table [dbo].[hr_salary]    Script Date: 2021/6/10 12:54:34 ******/
 SET ANSI_NULLS ON
 GO
@@ -142,62 +222,6 @@
 
 
 
-USE [zhengcaioa]
-GO
-
-/****** Object:  Table [dbo].[ADM_Attendance_dtl]    Script Date: 2021/6/10 13:04:31 ******/
-SET ANSI_NULLS ON
-GO
-
-SET QUOTED_IDENTIFIER ON
-GO
-IF EXISTS(Select 1 From Sysobjects Where Name='ADM_Attendance_dtl')  --查询表名costSeparateConfig是否存在  
-drop  TABLE [dbo].[ADM_Attendance_dtl]
-GO
-CREATE TABLE [dbo].[ADM_Attendance_dtl](
-	[Id] [nvarchar](50) NOT NULL,
-	[attendance_id] [nvarchar](50) NOT NULL,
-	[SgninDate] [datetime] NULL,
-	[MorningIn] [datetime] NULL,
-	[MorningOut] [datetime] NULL,
-	[AfternoonIn] [datetime] NULL,
-	[AfternoonOut] [datetime] NULL,
-	[OvertimeIn] [datetime] NULL,
-	[OvertimeOut] [datetime] NULL,
-	[qingjia]   [decimal](18, 4) NOT NULL DEFAULT ((0)),
-	[xiaojia] [decimal](18, 4) NOT NULL DEFAULT ((0)),
-	[rec_status] [nvarchar](1) NOT NULL,
-	[creater] [nvarchar](50) NOT NULL,
-	[createtime] [datetime] NOT NULL,
-	[modifier] [nvarchar](50) NOT NULL,
-	[modifytime] [datetime] NOT NULL,
-	[chidaofenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
-	[zaotuifenzhong] [decimal](18, 4) NOT NULL DEFAULT ((0)),
-	[kuanggongtianshu] [decimal](18, 4) NOT NULL DEFAULT ((0)),
- CONSTRAINT [PK__ADM_Attendance_dtl] PRIMARY KEY CLUSTERED 
-(
-	[Id] ASC
-)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 100) ON [PRIMARY]
-) ON [PRIMARY]
-GO
-
-ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [SgninDate]
-GO
-
-ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('A') FOR [rec_status]
-GO
-
-ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('1') FOR [creater]
-GO
-
-ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [createtime]
-GO
-
-ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT ('1') FOR [modifier]
-GO
-
-ALTER TABLE [dbo].[ADM_Attendance_dtl] ADD  DEFAULT (getdate()) FOR [modifytime]
-GO
 
 
 

--
Gitblit v1.9.1