zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/DTO/HrShebaoDTO.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/IServices/IHrJibengongziService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/Model/HrShebao.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/Model/zhengcaioaContext.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/Services/HrJibengongziService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Controllers/HR/HrJibengongziController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/HrJibengongzi/Edit.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/HrJibengongzi/EditShebao.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/HrJibengongzi/Index.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/User/Index.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zhengcaioa/CommonToolsCore/AutoMapperConfigs.cs
@@ -287,6 +287,10 @@ CreateMap<ExpertTestTopicpeizhi, ExpertTestTopicpeizhiDTO>(); CreateMap<ExpertTestTopicpeizhiDTO, ExpertTestTopicpeizhi>(); CreateMap<HrShebao, HrShebaoDTO>(); CreateMap<HrShebaoDTO, HrShebao>(); } } } zhengcaioa/DTO/HrShebaoDTO.cs
New file @@ -0,0 +1,20 @@ using System; using System.Collections.Generic; using System.Text; namespace DTO { public class HrShebaoDTO { public string Id { get; set; } public decimal? Shebaodanwei { get; set; } public string ShebaodanweiName { get; set; } public decimal? Shebaogeren { get; set; } public string ShebaogerenName { get; set; } public string RecStatus { get; set; } public string Creater { get; set; } public DateTime Createtime { get; set; } public string Modifier { get; set; } public DateTime Modifytime { get; set; } } } zhengcaioa/IServices/IHrJibengongziService.cs
@@ -18,5 +18,9 @@ ResultEntity ModifyStatus(string id, string userid); List<HrJibengongziDTO> GetList(); List<HrShebaoDTO> GetListShebao(); ResultEntity saveShebao(HrShebaoDTO dto); } } zhengcaioa/Model/HrShebao.cs
New file @@ -0,0 +1,19 @@ using System; using System.Collections.Generic; #nullable disable namespace zhengcaioa.Models { public partial class HrShebao { public string Id { get; set; } public decimal? Shebaodanwei { get; set; } public decimal? Shebaogeren { get; set; } public string RecStatus { get; set; } public string Creater { get; set; } public DateTime Createtime { get; set; } public string Modifier { get; set; } public DateTime Modifytime { get; set; } } } zhengcaioa/Model/zhengcaioaContext.cs
@@ -77,6 +77,7 @@ public virtual DbSet<HrJixiaoticheng> HrJixiaotichengs { get; set; } public virtual DbSet<HrPosition> HrPositions { get; set; } public virtual DbSet<HrSalary> HrSalaries { get; set; } public virtual DbSet<HrShebao> HrShebaos { get; set; } public virtual DbSet<IntentionCustomer> IntentionCustomers { get; set; } public virtual DbSet<IntentionOrder> IntentionOrders { get; set; } public virtual DbSet<IntentionVisit> IntentionVisits { get; set; } @@ -3753,6 +3754,49 @@ .HasColumnName("yufagongziheji"); }); modelBuilder.Entity<HrShebao>(entity => { entity.ToTable("hr_shebao"); entity.Property(e => e.Id).HasMaxLength(50); entity.Property(e => e.Creater) .IsRequired() .HasMaxLength(50) .HasColumnName("creater") .HasDefaultValueSql("('1')"); entity.Property(e => e.Createtime) .HasColumnType("datetime") .HasColumnName("createtime") .HasDefaultValueSql("(getdate())"); entity.Property(e => e.Modifier) .IsRequired() .HasMaxLength(50) .HasColumnName("modifier") .HasDefaultValueSql("('1')"); entity.Property(e => e.Modifytime) .HasColumnType("datetime") .HasColumnName("modifytime") .HasDefaultValueSql("(getdate())"); entity.Property(e => e.RecStatus) .IsRequired() .HasMaxLength(1) .HasColumnName("rec_status") .HasDefaultValueSql("('A')"); entity.Property(e => e.Shebaodanwei) .HasColumnType("money") .HasColumnName("shebaodanwei"); entity.Property(e => e.Shebaogeren) .HasColumnType("money") .HasColumnName("shebaogeren"); }); modelBuilder.Entity<IntentionCustomer>(entity => { entity.ToTable("IntentionCustomer"); zhengcaioa/Services/HrJibengongziService.cs
@@ -198,5 +198,93 @@ var list = _mapper.Map<List<HrJibengongziDTO>>(listPosition); return list; } /// <summary> /// 获取所有有效角色 /// </summary> /// <returns></returns> public List<HrShebaoDTO> GetListShebao() { var listRole = (from a in _context.HrShebaos where a.RecStatus == "A" select new HrShebaoDTO { Id = a.Id, Shebaodanwei = a.Shebaodanwei??0, Shebaogeren = a.Shebaogeren?? 0, ShebaodanweiName = a.Shebaodanwei.HasValue ? a.Shebaodanwei.Value.ToString("F2") : "", ShebaogerenName = a.Shebaogeren.HasValue ? a.Shebaogeren.Value.ToString("F2") : "", Creater = a.Creater, Createtime = a.Createtime, RecStatus = a.RecStatus, Modifier = a.Modifier, Modifytime = a.Modifytime, } ).OrderByDescending(x => x.Createtime).ToList(); return listRole; } public ResultEntity saveShebao(HrShebaoDTO dto) { ResultEntity resultEntity = new ResultEntity(); try { var entity = _mapper.Map<HrShebao>(dto); if (String.IsNullOrEmpty(entity.Id)) { entity.Id = Guid.NewGuid().ToString(); dto.Id = entity.Id; _context.HrShebaos.Add(entity); } else { var updateproject = _context.HrShebaos.Find(entity.Id); updateproject.Shebaodanwei = entity.Shebaodanwei; updateproject.Shebaogeren = entity.Shebaogeren; updateproject.RecStatus = entity.RecStatus; updateproject.Modifier = entity.Modifier; updateproject.Modifytime = entity.Modifytime; } _context.SaveChanges(); resultEntity.ReturnID = entity.Id; resultEntity.Result = true; } catch (Exception ex) { resultEntity.Result = false; resultEntity.Message = "保存失败,请联系管理员"; } return resultEntity; } } } zhengcaioa/zhengcaioa/Controllers/HR/HrJibengongziController.cs
@@ -8,6 +8,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Transactions; using zhengcaioa.IService; using zhengcaioa.Models; @@ -153,5 +154,79 @@ ViewData["curentuser"] = curentuser; return new JsonResult(_hrJibengongziService.ModifyStatus(Id, curentuser.Id)); } public IActionResult EditShebao() { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; var shebaoDTO = _hrJibengongziService.GetListShebao().FirstOrDefault(); if (shebaoDTO == null) { shebaoDTO = new HrShebaoDTO(); shebaoDTO.Shebaodanwei = 0; shebaoDTO.Shebaogeren = 0; } ViewData.Model = shebaoDTO; return View(); } /// <summary> /// 保存 /// </summary> /// <param name="data">岗位实体类对象</param> /// <returns></returns> /// [HttpPost] public IActionResult SaveShebao(HrShebaoDTO data) { ResultEntity resultEntity = new ResultEntity(); using (TransactionScope scope = new TransactionScope()) { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; data.RecStatus = "A"; var resultDTO = _hrJibengongziService.GetListShebao().FirstOrDefault(); if (resultDTO == null || string.IsNullOrEmpty(resultDTO.Id)) { resultDTO = new HrShebaoDTO(); resultDTO.Shebaodanwei = data.Shebaodanwei; resultDTO.Shebaogeren = data.Shebaogeren; resultDTO.Creater = curentuser.Id; resultDTO.Createtime = DateTime.Now; } else { resultDTO.Shebaodanwei = data.Shebaodanwei; resultDTO.Shebaogeren = data.Shebaogeren; } resultDTO.Modifier = curentuser.Id; resultDTO.Modifytime = DateTime.Now; resultEntity = _hrJibengongziService.saveShebao(resultDTO); scope.Complete(); } return new JsonResult(resultEntity); } } } zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -1360,6 +1360,13 @@ _logger.LogInformation(userList[i].UserName + ": 职务所属资本工资为空"); continue; } var shebaoDTO = _JibengongziService.GetListShebao().FirstOrDefault(); if (shebaoDTO == 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); //是否在试用期 @@ -1368,8 +1375,8 @@ { geshuiqizheng = userList[i].geshuiqizheng.Value; } var Shebaodanwei = hrJibengongzi.Shebaodanwei.HasValue ? hrJibengongzi.Shebaodanwei.Value : 0; var Shebaogeren = hrJibengongzi.Shebaogeren.HasValue ? hrJibengongzi.Shebaogeren.Value : 0; var Shebaodanwei = shebaoDTO.Shebaodanwei.HasValue ? shebaoDTO.Shebaodanwei.Value : 0; var Shebaogeren = shebaoDTO.Shebaogeren.HasValue ? shebaoDTO.Shebaogeren.Value : 0; decimal yingnashuie = 0; hrSalaryDTO.Queqin = 0; hrSalaryDTO.Fakuan = 0; @@ -1453,7 +1460,7 @@ //yingnashuie = userList[i].ShiyongPrice.Value - Shebaogeren - geshuiqizheng; @@ -1527,7 +1534,7 @@ //yingnashuie = BasicPrice - Shebaogeren - geshuiqizheng; } zhengcaioa/zhengcaioa/Views/HrJibengongzi/Edit.cshtml
@@ -147,7 +147,7 @@ </div> <div class="clearfix layer-area" style="padding-bottom:15px;"> @*<div class="clearfix layer-area" style="padding-bottom:15px;"> @@ -166,7 +166,7 @@ </div> </div>*@ <div class="clearfix layer-area" style="padding-bottom:15px;"> @@ -362,15 +362,15 @@ return; } if ($("#Shebaodanwei").val() == '') { toastr.warning("社保公司不能为空"); return; } //if ($("#Shebaodanwei").val() == '') { // toastr.warning("社保公司不能为空"); // return; //} if ($("#Shebaogeren").val() == '') { toastr.warning("社保个人不能为空"); return; } //if ($("#Shebaogeren").val() == '') { // toastr.warning("社保个人不能为空"); // return; //} if ($.trim($("#Dianhuabutie").val() )== '') { toastr.warning("电话补贴不能为空"); zhengcaioa/zhengcaioa/Views/HrJibengongzi/EditShebao.cshtml
New file @@ -0,0 +1,298 @@ @model DTO.HrShebaoDTO @using DTO; @using zhengcaioa.Models; @{ } @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <meta name="description" content=""> <meta name="author" content="ThemeBucket"> <title>@(SiteConfig.SiteName)</title> <link href="~/css/bootstrap.min.css" rel="stylesheet"> <link href="~/css/font-awesome.min.css" rel="stylesheet"> <link href="~/css/animate.min.css" rel="stylesheet"> @*<link href="~/css/plugins/iCheck/custom.css" rel="stylesheet">*@ <link href="~/css/style.min.css" rel="stylesheet"> <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet"> @*<link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet">*@ @*<link href="~/css/plugins/datapicker/datepicker3.css" rel="stylesheet">*@ <link href="~/css/style.min.css" rel="stylesheet"> <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" /> <link href="~/css/plugins/webuploader/webuploader.css" rel="stylesheet" /> <style type="text/css"> .webuploader-pick { position: relative; display: inline-block; cursor: pointer; background: #00b7ee; padding: 8px 14px 7px 14px; color: #fff; text-align: center; border-radius: 3px; overflow: hidden; } div.clearfix > label { padding-top: 8px; } .chosen-container { border-radius: 1px; border: 1px solid #e5e6e7; } .col-md-1.control-label { padding-right: 0px; font-weight: 400; } </style> <!-- jqgrid--> @*<link href="~/css/plugins/jqgrid/ui.jqgrid.css" rel="stylesheet">*@ <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script> <script src="~/js/bootstrap.min.js"></script> @*<script src="~/js/plugins/bootstro/bootstro.js"></script>*@ <!--容器--> @*<script language="javascript" src="~/js/datehelper.js" type="text/javascript"></script>*@ @*<script language="javascript" src="~/js/plugins/query/jquery.query-object.js" type="text/javascript"></script>*@ @*<script language="javascript" src="~/js/plugins/iCheck/icheck.min.js" type="text/javascript"></script>*@ <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script> @*<script language="javascript" src="~/js/plugins/datapicker/bootstrap-datepicker.js" type="text/javascript"></script>*@ <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script> @*<script src="~/js/plugins/jqgrid/jquery.jqGrid.min.js" type="text/javascript"></script>*@ @*<script src="~/js/plugins/jqgrid/i18n/grid.locale-cn.js" type="text/javascript"></script>*@ <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script> <script src="~/js/plugins/webuploader/webuploader.min.js"></script> <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script> <script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script> @*<script src="~/js/plugins/iTexbox/itextbox.js" type="text/javascript"></script>*@ @*<script src="~/js/plugins/iuploader/iuploader.js"></script>*@ <script src="~/js/TUJS.js"></script> </head> <body class="gray-bg" style="overflow:auto"> <form id="formtest"> <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;"> <div class="row"> <div class="col-sm-12"> <div class="ibox float-e-margins"> <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 class="row"> <div class="clearfix layer-area" style="padding-bottom:15px;"> <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-2 col-md-2"> <input class="form-control" label="社保公司" id="Shebaodanwei" name="Shebaodanwei" labtype="txt" addvisible="true" editvisible="true" reg="" maxlength="50" ismust="true" type="text" value="@Model.ShebaodanweiName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> <input type="hidden" name="Id" value="@Model.Id" /> </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-2 col-md-2"> <input class="form-control" label="社保个人" id="Shebaogeren" name="Shebaogeren" labtype="txt" addvisible="true" editvisible="true" maxlength="100" reg="" ismust="flase" type="text" value="@Model.ShebaogerenName" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="wrapper wrapper-content" style="margin-top:0px"></div> <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px "> <div class="" style="float:right;" data-bootstro-width="500px" data-bootstro-content="功能按钮:“保存”,“删除”"> <a class="btn btn-success" href="javascript:void(0)" onclick="savePosition();" style="margin-left:4px; border-radius:4px;"> <i class="glyphicon glyphicon-ok"></i> <span class="bold">提交</span> </a> </div> </div> </form> <script type="text/javascript"> var hh = document.body.clientHeight - $('.ibox-title').height() - $("#top").height() * 2; $("#div_content").height(hh); toastr.options = { "closeButton": true, "debug": false, "progressBar": true, "positionClass": "toast-bottom-right", "onclick": null, "showDuration": "300", "hideDuration": "600", "timeOut": "4500", "extendedTimeOut": "600", "showEasing": "swing", "hideEasing": "linear", "showMethod": "fadeIn", "hideMethod": "fadeOut" }; @*var id = '@Model.Id';*@ // 保存岗位信息 var savePosition = function () { if ($("#Shebaodanwei").val() == '') { toastr.warning("社保公司不能为空"); return; } if ($("#Shebaogeren").val() == '') { toastr.warning("社保个人不能为空"); return; } // var data = { id: $("#Id").val(), DocType: $("#DocType").val(), DocDept: $("#DocDept").val(), PublishTime: $("#PublishTime").val(), DocNo: $("#DocNo").val(), DocTitle: $("#DocTitle").val(), DocContent: ueue, DocZtc: $("#DocZtc").val(), Printtimes: $("#Printtimes").val(), DocCsdw: $("#DocCsdw").val(), PrintStatus: $("#PrintStatus").val()} $.ajax({ type: "POST", url: "/HrJibengongzi/SaveShebao", dataType: "json", global: false, data: $('form').serializeArray(), success: function (data) { if (data.Result) { // parent._afterSave(true); parent.layer.msg('成功保存', { icon: 6 }); var Topictype = $("#Topictype").val(); var Zhishitype = $("#Zhishitype").val(); var Area = $("#Area").val(); window.location = "/HrJibengongzi/EditShebao"; //try { // _pageAutoClose();//自动关闭页面方法 //} //catch (err) { // parent._CloseTab1("/HrJibengongzi/Edit/"); //} } else { // toastr.error("失败"); parent.layer.msg(data.Message, { icon: 5 }); } }, error: function () { parent.layer.msg('失败', { icon: 5 }); } }); } function _pageAutoClose() { parent.window._reloadPageData(); var index = parent.layer.getFrameIndex(window.name); parent.layer.isRefresh = true; parent.layer.closeAll('loading'); parent.layer.close(index); return false; } </script> </body> </html> zhengcaioa/zhengcaioa/Views/HrJibengongzi/Index.cshtml
@@ -25,9 +25,9 @@ label: '保密费', name: 'BaomifeiName', labtype: 'txt', hidden: false, width: 100 }, { label: '社保公司', name: 'ShebaodanweiName', labtype: 'txt', hidden: false, width: 100 }, //{ label: '社保公司', name: 'ShebaodanweiName', labtype: 'txt', hidden: false, width: 100 }, { label: '社保个人', name: 'ShebaogerenName', labtype: 'txt', hidden: false, width: 100 }, //{ label: '社保个人', name: 'ShebaogerenName', labtype: 'txt', hidden: false, width: 100 }, { label: '电话补贴', name: 'DianhuabutieName', labtype: 'txt', hidden: false, width: 100 }, { label: '全勤奖', name: 'QuanqingjiangName', labtype: 'txt', hidden: false, width: 100 }, zhengcaioa/zhengcaioa/Views/User/Index.cshtml
@@ -118,7 +118,7 @@ return "<span style='color:" + rowObject.Coler + ";'>" + cellvalue+"</span>"; }}, ]; dataUrl = "/User/GetUserList"; dataUrl = "/User/GetUserList?Zhiwustatus=A"; searchCol = [ { label: '入职时间', name: 'Indate', labtype: 'datearea', hidden: false }, { label: '部门', name: 'DeptId', labtype: 'combox', hidden: false, data: JSON.parse(dept) }, @@ -139,6 +139,24 @@ OpenWindow("新增用户", "98%", "90%", "/User/Edit/"); } var _pageSearch = function () { $("#jqGrid").jqGrid('setGridParam', { url: '/User/GetUserList', postData: jsons, page: 1 }); //重新载入 var jsons = GetSearchEnd(); if (jsons == false) { msg.info("请录入查询条件"); return false; } LoadGrid(jsons); } $(function () { $("#PBSZhiwustatus").val("A"); $("#PBSZhiwustatus").trigger('chosen:updated');//更新选项 }); var _afterSave = function (result) { if (result) { toastr.success("保存成功"); @@ -158,22 +176,9 @@ } function sendZhiwustatus() { var msg = $("#PBSZhiwustatus"); if (msg.length > 0) { $("#PBSZhiwustatus").val("A"); $("#PBSZhiwustatus").trigger('chosen:updated');//更新选项 _pageSearch(); } else { setTimeout(sendZhiwustatus, 100); } } sendZhiwustatus();