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>
</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> 浜哄憳褰曞叆</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