From d4a6d65f5e449c3e5464aa18ae97bf8953987217 Mon Sep 17 00:00:00 2001
From: LR-20210131IOQH\Administrator <jackcold@163.com>
Date: 星期二, 10 八月 2021 15:44:14 +0800
Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/zhengcaioa
---
zhengcaioa/Services/HrSalaryService.cs | 216 +++++++++++++++++++++++++++++++----------------------
1 files changed, 126 insertions(+), 90 deletions(-)
diff --git a/zhengcaioa/Services/HrSalaryService.cs b/zhengcaioa/Services/HrSalaryService.cs
index 20af5ad..6468730 100644
--- a/zhengcaioa/Services/HrSalaryService.cs
+++ b/zhengcaioa/Services/HrSalaryService.cs
@@ -93,6 +93,11 @@
return resultEntity;
}
+ /// <summary>
+ /// 淇濆瓨宸ヨ祫鏍稿噯
+ /// </summary>
+ /// <param name="dto"></param>
+ /// <returns></returns>
public ResultEntity SaveCheckSalary(HrSalaryUpDTO dto)
{
ResultEntity resultEntity = new ResultEntity();
@@ -103,10 +108,13 @@
{
//鏇存柊鐢佃瘽璐圭敤鐘舵��
var sim = _context.SimCost.Where(c => c.bill_year == updatepltRole.Year && c.bill_month <= updatepltRole.Month && c.user_id == updatepltRole.Userid && c.status == "0").ToList();
- foreach(var item in sim)
+ if(sim!=null)
{
- item.status = "1";
- }
+ foreach (var item in sim)
+ {
+ item.status = "1";
+ }
+ }
var user = _context.PltUsers.Where(c => c.Id == updatepltRole.Userid).SingleOrDefault();
@@ -116,73 +124,35 @@
var sum_f = ((updatepltRole.Jibengongzi ?? 0) + (updatepltRole.Baomifei ?? 0) + (updatepltRole.Gongzuobutie ?? 0) +
(updatepltRole.Jiabangongzi ?? 0) + (updatepltRole.Shebao ?? 0) + (updatepltRole.Dianhuabutie ?? 0) +
(updatepltRole.Quanqinjiang ?? 0) + (updatepltRole.Jiaotngbutie ?? 0) + (updatepltRole.Jixiaoticheng ?? 0) +
- dto.Jiangjin + dto.Bufagongzi);
+ dto.Jiangjin + dto.Bufagongzi) + dto.Jiucuo; ;
updatepltRole.Peichang = dto.Peichang;
updatepltRole.Jiucuo = dto.Jiucuo;
- var sum_k= (updatepltRole.Shebaokou ?? 0) + (updatepltRole.Geshui ?? 0) + (updatepltRole.Dianhuafei ?? 0) +
- (updatepltRole.Queqin ?? 0) + (updatepltRole.Fakuan ?? 0) + dto.Peichang + dto.Jiucuo;
+ var sum_k = (updatepltRole.Shebaokou ?? 0) + (updatepltRole.Geshui ?? 0) + (updatepltRole.Dianhuafei ?? 0) +
+ (updatepltRole.Queqin ?? 0) + (updatepltRole.Fakuan ?? 0) + dto.Peichang;
//璁$畻棰勫彂宸ヨ祫
-
- //var lyear = updatepltRole.Year;
- //var lmonth = updatepltRole.Month-1;
- //if(lmonth==0)
- //{
- // lyear = lyear - 1;
- // lmonth = 12;
- //}
- //var sumyfhj = _context.HrSalaries.Where(c => c.Year == lyear && c.Month == lmonth && c.Userid == updatepltRole.Userid).SingleOrDefault();
-
- if(DateTime.Today> user.ShiyongDateEnd)
+ if (user.advancewages.HasValue && user.advancewages.Value>0)
{
- if(string.IsNullOrEmpty(user.BasicPrice))
+ var pc = user.advancewages.Value;
+ if (sum_f - sum_k > pc)
{
- updatepltRole.Daozhanggongzi = sum_f - sum_k;
- updatepltRole.Yufagongzi = 0;
+ updatepltRole.Daozhanggongzi = sum_f - sum_k;
}
else
{
- var pc = decimal.Parse(user.BasicPrice);
- if (sum_f - sum_k > pc)
- {
- updatepltRole.Daozhanggongzi = sum_f - sum_k;
- updatepltRole.Yufagongzi = 0;
- updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji - (sum_f - sum_k - pc);
- }
- else
- {
- updatepltRole.Daozhanggongzi = pc;
- updatepltRole.Yufagongzi = pc-(sum_f - sum_k);
- updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji + updatepltRole.Yufagongzi;
- }
- }
+ //棰勫彂
+ updatepltRole.Daozhanggongzi = pc;
+ updatepltRole.Yufagongzi = pc - (sum_f - sum_k);
+ updatepltRole.Yufagongziheji += updatepltRole.Yufagongzi;
+ }
+
}
else
{
- if (user.ShiyongPrice.HasValue)
- {
- var pc = user.ShiyongPrice.Value;
- if (sum_f - sum_k > pc)
- {
- updatepltRole.Daozhanggongzi = sum_f - sum_k;
- updatepltRole.Yufagongzi = 0;
- updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji - (sum_f - sum_k - pc);
- }
- else
- {
- updatepltRole.Daozhanggongzi = pc;
- updatepltRole.Yufagongzi = pc - (sum_f - sum_k);
- updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji + updatepltRole.Yufagongzi;
- }
- }
- else
- {
- updatepltRole.Daozhanggongzi = sum_f - sum_k;
- updatepltRole.Yufagongzi = 0;
- }
+ updatepltRole.Daozhanggongzi = sum_f - sum_k;
}
updatepltRole.Islock = "H";
@@ -388,41 +358,48 @@
return data;
}
+ /// <summary>
+ /// 宸ヨ祫鏍稿噯鏌ヨ
+ /// </summary>
+ /// <param name="searchEntity"></param>
+ /// <returns></returns>
public ResultDataEntity<HrSalaryDTO> SearchSalaryByPaging(HrSalaryDTOSearch searchEntity)
{
ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>();
- //var listCode = (from a in _context.SysCodeDtls
- // join b in _context.SysCodes
- // on a.CodeId equals b.Id
- // where a.RecStatus == "A"
- // && b.RecStatus == "A"
- // select new CodeDataEntity()
- // {
- // CodeId = b.Id,
- // CodeTable = b.CodeTable,
- // CodeField = b.CodeField,
- // CodeSn = a.CodeSn,
- // Comments = a.Comments,
- // Contents = a.Contents,
- // RecStatus = a.RecStatus,
- // Sort = a.Sort
- // }
- // );
+ var listCode = (from e in _context.SysCodes
+ join c in _context.SysCodeDtls
+ on e.Id equals c.CodeId
+ where e.RecStatus == "A"
+ && c.RecStatus == "A"
+ && e.CodeTable == "t_sim_bind"
+ && e.CodeField == "cardpro"
+ select c).OrderBy(x => x.Sort).ToList();
- //int year = 0;
- //int month = 0;
- //if (string.IsNullOrWhiteSpace(searchEntity.YearMonth))
- //{
- // DateTime yearMonth = DateTime.Now;//.Parse(searchEntity.YearMonth + "-01");
- // year = yearMonth.Year;
- // month = yearMonth.Month;
- //}
- var query = (from a in _context.HrSalaries//.Where(x => x.RecStatus == "A")
- // join b in listCode.Where(x => x.CodeTable == "hr_jibengongzi" && x.CodeField == "dianhuabutie")
- //on a.Dianhuabutie equals b.CodeSn
- // into bsssss
- // from bbb in bsssss.DefaultIfEmpty()
+ int year = 0;
+ int month = 0;
+ if (string.IsNullOrWhiteSpace(searchEntity.YearMonth))
+ {
+ DateTime yearMonth = DateTime.Now;//.Parse(searchEntity.YearMonth + "-01");
+ year = yearMonth.Year;
+ month = yearMonth.Month;
+ }
+ else
+ {
+ var len = searchEntity.YearMonth.Split('-');
+ if(len.Length==2)
+ {
+ year =int.Parse(len[0]);
+ month = int.Parse(len[1]);
+ }
+
+ }
+
+ var query = (from a in (_context.HrSalaries.Where(x => x.RecStatus == "A"))
+ //join b in listCode
+ //on a.Dianhuabutie equals b.CodeSn
+ //into bsssss
+ //from bbb in bsssss.DefaultIfEmpty()
join f in _context.PltUsers
on a.Userid equals f.Id
@@ -438,7 +415,7 @@
&& (string.IsNullOrWhiteSpace(searchEntity.Usernumber) || f.Usernumber == searchEntity.Usernumber.Trim())
&& (string.IsNullOrWhiteSpace(searchEntity.DeptId) || f.DeptId == searchEntity.DeptId.Trim())
&& (string.IsNullOrWhiteSpace(searchEntity.UserName) || f.UserName.Contains(searchEntity.UserName.Trim()))
- //&& (string.IsNullOrWhiteSpace(searchEntity.YearMonth) || ( a.Year == year && a.Month == month ))
+ && ( (a.Year == year && a.Month == month))
select new HrSalaryDTO
{
Id = a.Id,
@@ -457,7 +434,6 @@
Shebao = a.Shebao,
Dianhuabutie = a.Dianhuabutie,
-
Quanqinjiang = a.Quanqinjiang,
Jiaotngbutie = a.Jiaotngbutie,
Jixiaoticheng = a.Jixiaoticheng,
@@ -504,7 +480,7 @@
Modifier = a.Modifier,
Modifytime = a.Modifytime,
- }).OrderByDescending(x => x.Modifytime).ToList();
+ }).OrderBy(x => x.UserName).ToList();
@@ -515,9 +491,36 @@
//if (searchEntity.totalrows == 0)
searchEntity.totalrows = query.Count();
var rolelist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
-
+ if(rolelist!=null && rolelist.Count>0)
+ {
+ foreach(var item in rolelist)
+ {
+ item.DianhuabutieChs = BackChs(listCode, item.Dianhuabutie);
+ }
+ }
data.LoadData(searchEntity, rolelist);
return data;
+ }
+
+ /// <summary>
+ /// 娉ㄩ噴
+ /// </summary>
+ /// <param name="listCode"></param>
+ /// <param name="code"></param>
+ /// <returns></returns>
+ private string BackChs(List<SysCodeDtl> listCode ,decimal? code )
+ {
+ string str = "鏃�";
+ if(code.HasValue)
+ {
+ var st = ((int)code.Value).ToString();
+ var temp = listCode.Find(c => c.CodeSn == st);
+ if(temp!=null)
+ {
+ str = temp.Comments;
+ }
+ }
+ return str;
}
public ResultEntity ModifyStatus(string id, string userid)
@@ -582,6 +585,15 @@
/// <returns></returns>
public List<HrSalaryDTO> GetSalary(string userid,int year,int month)
{
+ var listCode = (from e in _context.SysCodes
+ join c in _context.SysCodeDtls
+ on e.Id equals c.CodeId
+ where e.RecStatus == "A"
+ && c.RecStatus == "A"
+ && e.CodeTable == "t_sim_bind"
+ && e.CodeField == "cardpro"
+ select c).OrderBy(x => x.Sort).ToList();
+
var entity = (from a in _context.HrSalaries
join b in _context.PltUsers on a.Userid equals b.Id
join c in _context.HrDepts on b.DeptId equals c.Id
@@ -622,6 +634,13 @@
if (entity == null)
{
entity = new List<HrSalaryDTO>();
+ }
+ else
+ {
+ foreach (var item in entity)
+ {
+ item.DianhuabutieChs = BackChs(listCode, item.Dianhuabutie);
+ }
}
return entity;
}
@@ -684,6 +703,8 @@
else
{
model.id = Guid.NewGuid().ToString();
+ model.year = salary.Year;
+ model.month = salary.Month;
model.sub_time = DateTime.Now;
model.status = "A";
_context.HrSalaryAppeal.Add(model);
@@ -738,6 +759,15 @@
public ResultDataEntity<HrSalaryDTO> SearchByPagingFinish(HrSalaryDTOSearch searchEntity)
{
ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>();
+
+ var listCode = (from e in _context.SysCodes
+ join c in _context.SysCodeDtls
+ on e.Id equals c.CodeId
+ where e.RecStatus == "A"
+ && c.RecStatus == "A"
+ && e.CodeTable == "t_sim_bind"
+ && e.CodeField == "cardpro"
+ select c).OrderBy(x => x.Sort).ToList();
DateTime st = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date;
DateTime et = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1);
@@ -833,7 +863,13 @@
//if (searchEntity.totalrows == 0)
searchEntity.totalrows = list.Count();
var rolelist = list.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList();
-
+ if (rolelist != null && rolelist.Count > 0)
+ {
+ foreach (var item in rolelist)
+ {
+ item.DianhuabutieChs = BackChs(listCode, item.Dianhuabutie);
+ }
+ }
data.LoadData(searchEntity, rolelist);
return data;
}
--
Gitblit v1.9.1