oa20210607.rar | 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/.vs/zhengcaioa/DesignTimeBuild/.dtbcache.v2 | 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/.vs/zhengcaioa/v16/.suo | 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/DTO/HrSalaryDTO.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/Model/HrSalary.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/Services/HrSalaryService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Controllers/HR/SalaryCheckController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Properties/PublishProfiles/FolderProfile.pubxml.user | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/SalaryCheck/Appeal.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/SalaryCheck/Index.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/SalaryCheck/SearchIndex.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/zhengcaioa.csproj.user | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
oa20210607.rarBinary files differ
zhengcaioa/.vs/zhengcaioa/DesignTimeBuild/.dtbcache.v2Binary files differ
zhengcaioa/.vs/zhengcaioa/v16/.suoBinary files differ
zhengcaioa/DTO/HrSalaryDTO.cs
@@ -25,6 +25,9 @@ public decimal? Shebao { get; set; } public decimal? Dianhuabutie { get; set; } public string DianhuabutieChs { get; set; } public decimal? Quanqinjiang { get; set; } public decimal? Jiaotngbutie { get; set; } public decimal? Jixiaoticheng { get; set; } @@ -50,7 +53,7 @@ { get { return (Shebaokou ?? 0) + (Geshui ?? 0) + (Dianhuafei ?? 0) + (Queqin ?? 0) + (Fakuan ?? 0) + (Peichang ?? 0) + (Jiucuo ?? 0); return (Shebaokou ?? 0) + (Geshui ?? 0) + (Dianhuafei ?? 0) + (Queqin ?? 0) + (Fakuan ?? 0) + (Peichang ?? 0)- (Jiucuo ?? 0); } } zhengcaioa/Model/HrSalary.cs
@@ -53,11 +53,11 @@ public string salary_id { get; set; } public int Year { get; set; } public int Month { get; set; } public string reason { get; set; } public int year { get; set; } public int month { get; set; } public decimal amount { get; set; } @@ -76,14 +76,11 @@ public string status { get; set; } public string createrName { get; set; } public string tittle { get; set; } public string shenpi_status { get; set; } } public class HrSalaryAppealDTO: HrSalaryAppeal public class HrSalaryAppealDTO : HrSalaryAppeal { public string Step { get; set; } 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)) if (string.IsNullOrWhiteSpace(searchEntity.YearMonth)) { DateTime yearMonth = DateTime.Parse(searchEntity.YearMonth + "-01"); 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() 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 @@ -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; } zhengcaioa/zhengcaioa/Controllers/HR/SalaryCheckController.cs
@@ -69,7 +69,7 @@ /// <returns></returns> public IActionResult GetList(HrSalaryDTOSearch search) { _hrSalaryService.AutoCheck(); //_hrSalaryService.AutoCheck(); return new JsonResult(_hrSalaryService.SearchSalaryByPaging(search)); } @@ -85,6 +85,22 @@ if (!string.IsNullOrEmpty(id)) { dto = _hrSalaryService.Get(id); } if(!dto.Jiangjin.HasValue) { dto.Jiangjin = 0; } if (!dto.Bufagongzi.HasValue) { dto.Bufagongzi = 0; } if (!dto.Peichang.HasValue) { dto.Peichang = 0; } if (!dto.Jiucuo.HasValue) { dto.Jiucuo = 0; } ViewData.Model = dto; return View(); @@ -172,8 +188,8 @@ var salaryDTO = _hrSalaryService.Get(salaryId); dto = new HrSalaryAppeal(); dto.salary_id = salaryId; dto.Year = salaryDTO.Year; dto.Month = salaryDTO.Month; dto.year = salaryDTO.Year; dto.month = salaryDTO.Month; dto.createrName = curentuser.UserName; dto.tittle = "工资申诉(" + curentuser.UserName + ")"; } @@ -290,7 +306,7 @@ public IActionResult GetSearchList(HrSalaryDTOSearch search) { //自动确认 _hrSalaryService.AutoCheck(); //_hrSalaryService.AutoCheck(); return new JsonResult(_hrSalaryService.SearchByPagingFinish(search)); } zhengcaioa/zhengcaioa/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@ <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <_PublishTargetUrl>D:\netcoreapp3.1\publish\</_PublishTargetUrl> <History>True|2021-06-18T02:23:47.0862716Z;</History> <History>True|2021-07-13T01:53:03.3370599Z;True|2021-06-18T10:23:47.0862716+08:00;</History> </PropertyGroup> <ItemGroup> <File Include="aliyun-net-sdk-core.dll"> zhengcaioa/zhengcaioa/Views/SalaryCheck/Appeal.cshtml
@@ -57,20 +57,20 @@ <body class="gray-bg" style="overflow:auto"> <form id="fm" method="post"> <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;"> <div class="wrapper wrapper-content" id="ibox-content" style="padding:5px;"> <div class="row"> <div class="col-sm-12"> <div class="ibox float-e-margins"> <div id="div_content" class="ibox-content" style="background-color:white;"> <div class="row"> <div class="clearfix layer-area" style="padding-bottom:15px;"> <div class="clearfix layer-area" style="padding-bottom:10px;"> <label class="text-right col-sm-1 col-md-1 control-label">单据名称<i class="red">*</i></label> <div class="col-sm-2 col-md-2"> <input type="text" class="form-control" value="@Model.tittle" name="tittle" id="tittle" validate="RequiredField" autocomplete="off" readonly="readonly"> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> <div class="clearfix layer-area" style="padding-bottom:10px;"> <label class="text-right col-sm-1 col-md-1 control-label">申请人<i class="red">*</i></label> <div class="col-sm-2 col-md-2"> <input type="text" class="form-control" value="@Model.createrName" name="createrName" id="createrName" validate="RequiredField" autocomplete="off" readonly="readonly"> @@ -98,7 +98,7 @@ <input class="form-control" id="zyje" name="amount" type="text" value="@Model.amount" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> </div> </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> <div class="clearfix layer-area" style="padding-bottom:10px;"> <label class="text-right col-sm-1 col-md-1 control-label">制度依据<i class="red">*</i></label> <div class="col-sm-6 col-md-6"> <input type="hidden" name="salary_id" value="@Model.salary_id" /> zhengcaioa/zhengcaioa/Views/SalaryCheck/Index.cshtml
@@ -28,11 +28,21 @@ { label: '工资月份', name: 'YearMonth', labtype: 'txt', hidden: false, width: 100 }, { label: '状态', name: 'IslockChs', labtype: 'txt', hidden: false, width: 100, formatter: function (cellvalue, options, rowObject) { if (rowObject.Islock == 'S') { return '<b style="color: red">' + cellvalue + '</b>'; } else { return cellvalue; switch (rowObject.Islock) { case 'S': return '<b style="color: red">' + cellvalue + '</b>'; case 'D': return '<b style="color: blue">' + cellvalue + '</b>'; default: return cellvalue; } //if ( == 'S') { // return '<b style="color: red">' + cellvalue + '</b>'; //} else { // return cellvalue; //} } }, { label: '工作部门', name: 'DeptName', labtype: 'txt', hidden: false, width: 120 }, @@ -41,7 +51,7 @@ { label: '工作补贴', name: 'Gongzuobutie', labtype: 'txt', hidden: false, width: 100 }, { label: '加班工资', name: 'Jiabangongzi', labtype: 'txt', hidden: false, width: 100 }, { label: '社保', name: 'Shebao', labtype: 'txt', hidden: false, width: 100 }, { label: '电话补贴', name: 'Dianhuabutie', labtype: 'txt', hidden: false, width: 100 }, { label: '电话补贴', name: 'DianhuabutieChs', labtype: 'txt', hidden: false, width: 100 }, { label: '全勤奖', name: 'Quanqinjiang', labtype: 'txt', hidden: false, width: 100 }, { label: '交通补贴', name: 'Jiaotngbutie', labtype: 'txt', hidden: false, width: 100 }, { label: '绩效提成', name: 'Jixiaoticheng', labtype: 'txt', hidden: false, width: 100 }, @@ -65,7 +75,6 @@ dataUrl = "/SalaryCheck/GetList"; searchCol = [ { label: '月份', name: 'YearMonth', labtype: 'monthdate', hidden: false }, { label: '工号', name: 'Usernumber2', labtype: 'txt', hidden: false }, { label: '工作部门', name: 'DeptId', labtype: 'combox', hidden: false, data: JSON.parse(dept) }, { label: '职工姓名', name: 'UserName', labtype: 'txt', hidden: false }, ]; @@ -87,7 +96,7 @@ var _pageEdit = function () { var id = jQuery("#jqGrid").jqGrid('getGridParam', 'selrow'); if (id) { OpenWindow('工资核准', '60%', '55%', '/SalaryCheck/Edit?id=' + id ); OpenWindow('工资核准', '60%', '65%', '/SalaryCheck/Edit?id=' + id ); } else { toastr.error("请先选中1条记录!"); } zhengcaioa/zhengcaioa/Views/SalaryCheck/SearchIndex.cshtml
@@ -37,7 +37,7 @@ { label: '工作补贴', name: 'Gongzuobutie', labtype: 'txt', hidden: false, width: 100 }, { label: '加班工资', name: 'Jiabangongzi', labtype: 'txt', hidden: false, width: 100 }, { label: '社保', name: 'Shebao', labtype: 'txt', hidden: false, width: 100 }, { label: '电话补贴', name: 'Dianhuabutie', labtype: 'txt', hidden: false, width: 100 }, { label: '电话补贴', name: 'DianhuabutieChs', labtype: 'txt', hidden: false, width: 100 }, { label: '全勤奖', name: 'Quanqinjiang', labtype: 'txt', hidden: false, width: 100 }, { label: '交通补贴', name: 'Jiaotngbutie', labtype: 'txt', hidden: false, width: 100 }, { label: '绩效提成', name: 'Jixiaoticheng', labtype: 'txt', hidden: false, width: 100 }, 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>FolderProfile</NameOfLastUsedPublishProfile> <NameOfLastUsedPublishProfile>D:\qianwj\ZCOa\zhengcaioa\zhengcaioa\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile> <WebStackScaffolding_ViewDialogWidth>650</WebStackScaffolding_ViewDialogWidth> <WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected> <WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>