Переглянути джерело

工资条管理优化

新疆警官学校中职
ndbs 1 рік тому
джерело
коміт
177fbea4a9
12 змінених файлів з 661 додано та 92 видалено
  1. +49
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/WageScheduleController.cs
  2. +47
    -53
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/Form.cshtml
  3. +1
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/Form.js
  4. +20
    -5
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/Index.cshtml
  5. +111
    -15
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/Index.js
  6. +44
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/IndexMy.cshtml
  7. +126
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/IndexMy.js
  8. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  9. +76
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleBLL.cs
  10. +45
    -8
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleEntity.cs
  11. +8
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleIBLL.cs
  12. +132
    -4
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleService.cs

+ 49
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Controllers/WageScheduleController.cs Переглянути файл

@@ -25,7 +25,16 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
[HttpGet]
public ActionResult Index()
{
return View();
return View();
}
/// <summary>
/// 我的工资条
/// </summary>
/// <returns></returns>
[HttpGet]
public ActionResult IndexMy()
{
return View();
}
/// <summary>
/// 表单页
@@ -34,11 +43,38 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
[HttpGet]
public ActionResult Form()
{
return View();
return View();
}
#endregion

#region 获取数据
/// <summary>
/// 人员类别
/// </summary>
/// <returns></returns>
public ActionResult PeopleType()
{
var data = wageScheduleIBLL.GetPeopleType();
return Success(data);
}
/// <summary>
/// 岗位类别
/// </summary>
/// <returns></returns>
public ActionResult PostType()
{
var data = wageScheduleIBLL.GetPostType();
return Success(data);
}
/// <summary>
/// 薪级
/// </summary>
/// <returns></returns>
public ActionResult PayGrade()
{
var data = wageScheduleIBLL.GetPayGrade();
return Success(data);
}

/// <summary>
/// 获取列表数据
@@ -47,7 +83,7 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetList( string queryJson )
public ActionResult GetList(string queryJson)
{
var data = wageScheduleIBLL.GetList(queryJson);
return Success(data);
@@ -114,12 +150,21 @@ namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue,WageScheduleEntity entity)
public ActionResult SaveForm(string keyValue, WageScheduleEntity entity)
{
wageScheduleIBLL.SaveEntity(keyValue, entity);
return Success("保存成功!");
}
#endregion

#region 扩展代码
[HttpPost]
[AjaxOnly]
public ActionResult CheckForm(string keyValue,string Status)
{
wageScheduleIBLL.CheckEntity(keyValue, Status);
return Success("审核成功!");
}
#endregion
}
}

+ 47
- 53
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/Form.cshtml Переглянути файл

@@ -11,110 +11,106 @@
<div class="lr-form-item-title">姓名<font face="宋体">*</font></div>
<input id="EmpName" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">身份证号<font face="宋体">*</font></div>
<input id="IdCardNo" type="text" class="form-control" isvalid="yes" checkexpession="NotNull"/>
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">人员类别</div>
<input id="PeopleType" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">岗位等级</div>
<input id="PostType" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">薪级</div>
<input id="PayGrade" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">应发合计</div>
<input id="TotalGrossPay" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">岗位工资</div>
<input id="PostWage" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">薪级工资</div>
<input id="PayGradeWage" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">百分之十</div>
<input id="TenPercent" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">基本工资小计</div>
<input id="BasePay" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-3 lr-form-item">
<div class="lr-form-item-title">艰边津贴</div>
<input id="RoughEdgeAllowance" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-3 lr-form-item">
<div class="lr-form-item-title">民族津贴</div>
<input id="NationAllowance" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">教津贴</div>
<div class="col-xs-3 lr-form-item">
<div class="lr-form-item-title">教津贴</div>
<input id="TeachAllowance" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-3 lr-form-item">
<div class="lr-form-item-title">津贴补贴小计</div>
<input id="SubsidiesAllowances" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">基础性绩效</div>
<input id="BasicsPerformance" type="text" class="form-control" />
<div class="lr-form-item-title" style="width: 40%;">基础性绩效(绩效)</div>
<input id="BasicsPerformance" type="text" class="form-control" style="width: 80%; float: right;" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">女职工卫生费</div>
<input id="GirlStaffSanitation" type="text" class="form-control" />
<div class="lr-form-item-title">奖励绩效(绩效)</div>
<input id="AwardPerformance" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title" style="width: 40%;">基础性绩效(单列)</div>
<input id="SeparateBasicsPerformance" type="text" class="form-control" style="width: 80%; float: right;" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">奖励绩效(单列)</div>
<input id="SeparateAwardPerformance" type="text" class="form-control" />
</div>
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">交通补贴</div>
<input id="Transportation" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">物业补贴</div>
<input id="RealeState" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">工改保留补贴</div>
<input id="WorkKeep" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">改革性补贴小计</div>
<input id="ReformSubsidySum" type="text" class="form-control" />
<div class="lr-form-item-title">女职工卫生费</div>
<input id="GirlStaffSanitation" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">乡镇补贴</div>
<input id="TeacherAndTown" type="text" class="form-control" />
</div>
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">住房补贴</div>
<input id="HousingAllowance" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">住房公积金</div>
<input id="HousingFundAllowance" type="text" class="form-control" />
</div>
<div class="col-xs-4 lr-form-item">
<div class="lr-form-item-title">其他</div>
<input id="OtherOne" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title" style="width: 40%;">特级教师津贴和乡镇补贴</div>
<input id="TeacherAndTown" type="text" class="form-control" style="width: 80%; float: right;" />
<div class="lr-form-item-title">应发合计</div>
<input id="TotalGrossPay" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">扣款小计</div>
<div class="lr-form-item-title">代扣合计</div>
<input id="DeductionsSubtotal" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">公积金</div>
<input id="AccumulationFund" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">工会工费</div>
<input id="LaborUnionWage" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">个人所得税</div>
<input id="PersonalIncomeTax" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">养老保险</div>
<input id="EndowmentInsurance" type="text" class="form-control" />
@@ -132,34 +128,32 @@
<input id="UnemploymentInsurance" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">其他</div>
<input id="Other" type="text" class="form-control" />
<div class="lr-form-item-title">工会工费</div>
<input id="LaborUnionWage" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">财政直达</div>
<input id="FiscalDirect" type="text" class="form-control" />
<div class="lr-form-item-title">个人所得税</div>
<input id="PersonalIncomeTax" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">银行代扣</div>
<input id="BankWithholding" type="text" class="form-control" />
<div class="lr-form-item-title">其他</div>
<input id="OtherOne" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">实发合计</div>
<input id="NetCombined" type="text" class="form-control" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">工资卡号</div>
<input id="WageCardNo" type="text" class="form-control" />
<div class="lr-form-item-title">工资卡号<font face="宋体">*</font></div>
<input id="WageCardNo" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">发放年份<font face="宋体">*</font></div>
<div id="IssueYear" isvalid="yes" checkexpession="NotNull"></div>
@*<input id="IssueYear" type="number" class="form-control" checkexpession="NotNull" />*@
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">发放月份<font face="宋体">*</font></div>
<div id="IssueMonth" isvalid="yes" checkexpession="NotNull"></div>
@*<input id="IssueMonth" type="number" class="form-control" checkexpession="NotNull" />*@
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/WageSchedule/Form.js")

+ 1
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/Form.js Переглянути файл

@@ -8,8 +8,7 @@ var acceptClick;
var keyValue = request('keyValue');
var bootstrap = function ($, learun) {
"use strict";
var selectedRow = learun.frameTab.currentIframe().selectedRow;
console.log(selectedRow);
//var selectedRow = learun.frameTab.currentIframe().selectedRow;
var page = {
init: function () {
page.initData();


+ 20
- 5
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/Index.cshtml Переглянути файл

@@ -10,21 +10,33 @@
<div class="lr-layout-tool-item">
<div id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">年份</div>
<div id="IssueYear"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">月份</div>
<div id="IssueMonth"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">人员类别</div>
<div id="PeopleType"></div>
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">岗位等级</div>
<div id="PostType"></div>
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">薪级</div>
<div id="PayGrade"></div>
</div>
<div class="col-xs-6 lr-form-item">
<div class="lr-form-item-title">姓名</div>
<input id="EmpName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">人员类别</div>
<input id="PeopleType" type="text" class="form-control" />
<div class="lr-form-item-title">银行卡号</div>
<input id="WageCardNo" type="text" class="form-control" />
</div>
</div>
</div>
@@ -38,6 +50,9 @@
<a id="lr_add" class="btn btn-default"><i class="fa fa-plus"></i>&nbsp;新增</a>
<a id="lr_edit" class="btn btn-default"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
<a id="lr_delete" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
<a id="lr_checkall" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;审核全部</a>
<a id="lr_check" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;审核</a>
<a id="lr_uncheck" class="btn btn-default"><i class="fa fa-trash-o"></i>&nbsp;去审核</a>
</div>
</div>
</div>


+ 111
- 15
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/Index.js Переглянути файл

@@ -4,7 +4,6 @@
* 日 期:2022-11-07 11:54
* 描 述:工资条
*/
var selectedRow;
var refreshGirdData;
var bootstrap = function ($, learun) {
"use strict";
@@ -25,13 +24,33 @@ var bootstrap = function ($, learun) {
text: 'text'
});
$('#IssueMonth').lrDataItemSelect({ code: 'MPMonth' });
$('#PeopleType').lrselect({
placeholder: "请选择人员类别",
allowSearch: true,
url: top.$.rootUrl + '/EducationalAdministration/WageSchedule/PeopleType',
value: 'PeopleType',
text: 'PeopleType'
});
$('#PostType').lrselect({
placeholder: "请选择岗位等级",
allowSearch: true,
url: top.$.rootUrl + '/EducationalAdministration/WageSchedule/PostType',
value: 'PostType',
text: 'PostType'
});
$('#PayGrade').lrselect({
placeholder: "请选择薪级",
allowSearch: true,
url: top.$.rootUrl + '/EducationalAdministration/WageSchedule/PayGrade',
value: 'PayGrade',
text: 'PayGrade'
});
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 新增
$('#lr_add').on('click', function () {
selectedRow = null;
learun.layerForm({
id: 'form',
title: '新增',
@@ -46,8 +65,12 @@ var bootstrap = function ($, learun) {
// 编辑
$('#lr_edit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('Id');
selectedRow = $('#gridtable').jfGridGet('rowdata');
if (learun.checkrow(keyValue)) {
var CheckMark = $('#gridtable').jfGridValue('F_EnabledMark');
if (CheckMark.indexOf('1') != -1) {
learun.alert.warning("选中记录中包含已审核项目!");
return;
}
learun.layerForm({
id: 'form',
title: '编辑',
@@ -63,7 +86,12 @@ var bootstrap = function ($, learun) {
// 删除
$('#lr_delete').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('Id');
var CheckMark = $('#gridtable').jfGridValue('F_EnabledMark');
if (learun.checkrow(keyValue)) {
if (CheckMark.indexOf('1') != -1) {
learun.alert.warning("选中记录中包含已审核项目!");
return;
}
learun.layerConfirm('是否确认删除该项!', function (res) {
if (res) {
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/WageSchedule/DeleteForm', { keyValue: keyValue }, function () {
@@ -73,15 +101,61 @@ var bootstrap = function ($, learun) {
});
}
});
//审核
$('#lr_check').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('Id');
if (learun.checkrow(keyValue)) {
var CheckMark = $('#gridtable').jfGridValue('F_EnabledMark');
if (CheckMark.indexOf('1') != -1) {
learun.alert.warning("选中记录中包含已审核项目!");
return;
}
learun.layerConfirm('是否确认审核该项?', function (res) {
if (res) {
learun.postForm(top.$.rootUrl + '/EducationalAdministration/WageSchedule/CheckForm', { keyValue: keyValue, Status: '2' }, function () {
refreshGirdData();
});
}
});
}
});
//去审
$('#lr_uncheck').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('Id');
if (learun.checkrow(keyValue)) {
var CheckMark = $('#gridtable').jfGridValue('F_EnabledMark');
var CheckMarkArr = CheckMark.split(',');
if ($.inArray('0', CheckMarkArr) != -1 || $.inArray('', CheckMarkArr) != -1) {
learun.alert.warning("选中记录中包含未审核项目!");
return;
}
learun.layerConfirm('是否确认取消审核该项?', function (res) {
if (res) {
learun.postForm(top.$.rootUrl + '/EducationalAdministration/WageSchedule/CheckForm', { keyValue: keyValue, Status: '2' }, function () {
refreshGirdData();
});
}
});
}
});
//审核全部
$('#lr_checkall').on('click', function () {
learun.layerConfirm('是否确认全部审核?', function (res) {
if (res) {
learun.postForm(top.$.rootUrl + '/EducationalAdministration/WageSchedule/CheckForm', { keyValue: null, Status: '0' }, function () {
refreshGirdData();
});
}
});
});
},
initGird: function () {
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/EducationalAdministration/WageSchedule/GetPageList',
headData: [
{ label: '序号', name: 'No', width: 70, align: "left" },
{ label: '工资卡号', name: 'WageCardNo', width: 130, align: "left" },
{ label: '姓名', name: 'EmpName', width: 70, align: "left" },
{ label: '身份证号', name: 'IdCardNo', width: 140, align: "left" },
{ label: '工资卡号', name: 'WageCardNo', width: 130, align: "left" },
{ label: '人员类别', name: 'PeopleType', width: 70, align: "left" },
{ label: '岗位等级', name: 'PostType', width: 70, align: "left" },
{ label: '薪级', name: 'PayGrade', width: 50, align: "left" },
@@ -95,40 +169,54 @@ var bootstrap = function ($, learun) {
//{ label: '小计', name: 'BasePay', width: 70, align: "left", statistics: true }
]
},
{
label: '绩效工资', name: '绩效工资', width: 70, align: "center", statistics: true,
children: [
{ label: '基础绩效', name: 'BasicsPerformance', width: 70, align: "left", statistics: true },
{ label: '奖励绩效', name: 'AwardPerformance', width: 70, align: "left", statistics: true },
]
},
{
label: '单列绩效', name: '单列绩效', width: 70, align: "center", statistics: true,
children: [
{ label: '基础绩效', name: 'SeparateBasicsPerformance', width: 70, align: "left", statistics: true },
{ label: '奖励绩效', name: 'SeparateAwardPerformance', width: 70, align: "left", statistics: true },
]
},
{
label: '津贴补贴', name: '津贴补贴', width: 130, align: "center", statistics: true,
children: [
{ label: '艰边津贴', name: 'RoughEdgeAllowance', width: 70, align: "left", statistics: true },
{ label: '民族津贴', name: 'NationAllowance', width: 70, align: "left", statistics: true },
{ label: '教师津贴', name: 'TeachAllowance', width: 70, align: "left", statistics: true },
{ label: '教龄补贴', name: 'TeachAllowance', width: 70, align: "left", statistics: true },
{ label: '特级教师津贴', name: 'SuperfineTeacherResearch', width: 80, align: "left", statistics: true },
//{ label: '小计', name: 'SubsidiesAllowances', width: 70, align: "left", statistics: true },
]
},
{ label: '基础性绩效', name: 'BasicsPerformance', width: 70, align: "left", statistics: true },
{ label: '女职工卫生费', name: 'GirlStaffSanitation', width: 70, align: "left", statistics: true },
{
label: '改革性补贴', name: '改革性补贴', width: 70, align: "center", statistics: true,
children: [
{ label: '交通补贴', name: 'Transportation', width: 70, align: "left", statistics: true },
{ label: '物业补贴', name: 'RealeState', width: 70, align: "left", statistics: true },
{ label: '工改保留补贴', name: 'WorkKeep', width: 90, align: "left", statistics: true },
//{ label: '小计', name: 'ReformSubsidySum', width: 70, align: "left", statistics: true }
]
},
{ label: '女职工卫生费', name: 'GirlStaffSanitation', width: 90, align: "left", statistics: true },
{ label: '乡镇补贴', name: 'TownshipSubsidy', width: 130, align: "center", statistics: true },
{ label: '住房补贴', name: 'HousingAllowance', width: 80, align: "left", statistics: true },
{ label: '住房公积金', name: 'HousingFundAllowance', width: 80, align: "left", statistics: true },
{ label: '特级教师津贴和乡镇补贴', name: 'TeacherAndTown', width: 130, align: "center", statistics: true },
{ label: '其他', name: 'OtherOne', width: 70, align: "left", statistics: true },
{ label: '代扣合计', name: 'DeductionsSubtotal', width: 70, align: "left", statistics: true },
{
label: '扣款', name: '扣款', width: 130, align: "center", statistics: true,
label: '代扣代缴', name: '代扣代缴', width: 130, align: "center", statistics: true,
children: [
//{ label: '小计', name: 'DeductionsSubtotal', width: 70, align: "left", statistics: true },
{ label: '公积金', name: 'AccumulationFund', width: 70, align: "left", statistics: true },
{ label: '工会工费', name: 'LaborUnionWage', width: 70, align: "left", statistics: true },
{ label: '个人所得税', name: 'PersonalIncomeTax', width: 70, align: "left", statistics: true },
{ label: '养老保险', name: 'EndowmentInsurance', width: 70, align: "left", statistics: true },
{ label: '职业年金', name: 'OccupationalAnnuities', width: 70, align: "left", statistics: true },
{ label: '医疗保险', name: 'MedicalInsurance', width: 70, align: "left", statistics: true },
{ label: '失业保险', name: 'UnemploymentInsurance', width: 70, align: "left", statistics: true },
{ label: '工会工费', name: 'LaborUnionWage', width: 70, align: "left", statistics: true },
{ label: '个人所得税', name: 'PersonalIncomeTax', width: 70, align: "left", statistics: true },
{ label: '其他', name: 'Other', width: 70, align: "left", statistics: true }
]
},
@@ -139,16 +227,24 @@ var bootstrap = function ($, learun) {
//{ label: '创建时间', name: 'CreateTime', width: 130, align: "left" },
{ label: '发放月份', name: 'IssueMonth', width: 70, align: "left" },
{ label: '发放年份', name: 'IssueYear', width: 70, align: "left" },
{
label: "审核状态", name: "F_EnabledMark", width: 70, align: "center",
formatter: function (cellvalue) {
return cellvalue == "1" ? "<span class=\"label label-success\">已审核</span>" : "<span class=\"label label-danger\">未审核</span>";
}
},
],
mainId: 'Id',
isPage: true,
rows: 300,
sidx: 'CreateTime',
sidx: 'IssueYear desc, IssueMonth desc, CreateTime desc ',
isMultiselect: true
});
page.search();
},
search: function (param) {
param = param || {};
param.Sqlparam = "";
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};


+ 44
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/IndexMy.cshtml Переглянути файл

@@ -0,0 +1,44 @@
@{
ViewBag.Title = "工资条";
Layout = "~/Views/Shared/_Index.cshtml";
}
<div class="lr-layout ">
<div class="lr-layout-center">
<div class="lr-layout-wrap lr-layout-wrap-notitle ">
<div class="lr-layout-tool">
<div class="lr-layout-tool-left">
<div class="lr-layout-tool-item">
<div id="multiple_condition_query">
<div class="lr-query-formcontent">
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">年份</div>
<div id="IssueYear"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">月份</div>
<div id="IssueMonth"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">姓名</div>
<input id="EmpName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">工资卡号</div>
<input id="WageCardNo" type="text" class="form-control" />
</div>
</div>
</div>
</div>
</div>
<div class="lr-layout-tool-right">
<div class=" btn-group btn-group-sm">
<a id="lr_refresh" class="btn btn-default"><i class="fa fa-refresh"></i></a>
<a id="lr_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/WageSchedule/IndexMy.js")

+ 126
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/WageSchedule/IndexMy.js Переглянути файл

@@ -0,0 +1,126 @@
/* * 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架(http://www.learun.cn)
* Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
* 创建人:超级管理员
* 日 期:2022-11-07 11:54
* 描 述:工资条
*/
var refreshGirdData;
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
page.initGird();
page.bind();
},
bind: function () {
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
//年份
$('#IssueYear').lrselect({
allowSearch: true,
url: top.$.rootUrl + '/PersonnelManagement/MP_ManagementPlan/GetAcademicYear',
value: 'value',
text: 'text'
});
$('#IssueMonth').lrDataItemSelect({ code: 'MPMonth' });
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
},
initGird: function () {
$('#gridtable').jfGrid({
url: top.$.rootUrl + '/EducationalAdministration/WageSchedule/GetPageList',
headData: [
{ label: '序号', name: 'No', width: 70, align: "left" },
{ label: '姓名', name: 'EmpName', width: 70, align: "left" },
{ label: '工资卡号', name: 'WageCardNo', width: 130, align: "left" },
{ label: '人员类别', name: 'PeopleType', width: 70, align: "left" },
{ label: '岗位等级', name: 'PostType', width: 70, align: "left" },
{ label: '薪级', name: 'PayGrade', width: 50, align: "left" },
{ label: '应发合计', name: 'TotalGrossPay', width: 70, align: "left", statistics: true },
{
label: '基本工资', name: '基本工资', width: 130, align: "center", statistics: true,
children: [
{ label: '岗位工资', name: 'PostWage', width: 70, align: "left", statistics: true },
{ label: '薪级工资', name: 'PayGradeWage', width: 70, align: "left", statistics: true },
{ label: '百分之十', name: 'TenPercent', width: 70, align: "left", statistics: true },
]
},
{
label: '绩效工资', name: '绩效工资', width: 70, align: "center", statistics: true,
children: [
{ label: '基础绩效', name: 'BasicsPerformance', width: 70, align: "left", statistics: true },
{ label: '奖励绩效', name: 'AwardPerformance', width: 70, align: "left", statistics: true },
]
},
{
label: '单列绩效', name: '单列绩效', width: 70, align: "center", statistics: true,
children: [
{ label: '基础绩效', name: 'SeparateBasicsPerformance', width: 70, align: "left", statistics: true },
{ label: '奖励绩效', name: 'SeparateAwardPerformance', width: 90, align: "left", statistics: true },
]
},
{
label: '津贴补贴', name: '津贴补贴', width: 130, align: "center", statistics: true,
children: [
{ label: '艰边津贴', name: 'RoughEdgeAllowance', width: 70, align: "left", statistics: true },
{ label: '民族津贴', name: 'NationAllowance', width: 70, align: "left", statistics: true },
{ label: '教龄补贴', name: 'TeachAllowance', width: 70, align: "left", statistics: true },
{ label: '特级教师津贴', name: 'SuperfineTeacherResearch', width: 100, align: "left", statistics: true },
]
},
{
label: '改革性补贴', name: '改革性补贴', width: 70, align: "center", statistics: true,
children: [
{ label: '交通补贴', name: 'Transportation', width: 70, align: "left", statistics: true },
{ label: '物业补贴', name: 'RealeState', width: 70, align: "left", statistics: true },
{ label: '工改保留补贴', name: 'WorkKeep', width: 90, align: "left", statistics: true },
]
},
{ label: '女职工卫生费', name: 'GirlStaffSanitation', width: 90, align: "left", statistics: true },
{ label: '乡镇补贴', name: 'TownshipSubsidy', width: 130, align: "center", statistics: true },
{ label: '住房补贴', name: 'HousingAllowance', width: 80, align: "left", statistics: true },
{ label: '住房公积金', name: 'HousingFundAllowance', width: 80, align: "left", statistics: true },
{ label: '其他', name: 'OtherOne', width: 70, align: "left", statistics: true },
{ label: '代扣合计', name: 'DeductionsSubtotal', width: 70, align: "left", statistics: true },
{
label: '代扣代缴', name: '代扣代缴', width: 130, align: "center", statistics: true,
children: [
{ label: '公积金', name: 'AccumulationFund', width: 70, align: "left", statistics: true },
{ label: '养老保险', name: 'EndowmentInsurance', width: 70, align: "left", statistics: true },
{ label: '职业年金', name: 'OccupationalAnnuities', width: 70, align: "left", statistics: true },
{ label: '医疗保险', name: 'MedicalInsurance', width: 70, align: "left", statistics: true },
{ label: '失业保险', name: 'UnemploymentInsurance', width: 70, align: "left", statistics: true },
{ label: '工会工费', name: 'LaborUnionWage', width: 70, align: "left", statistics: true },
{ label: '个人所得税', name: 'PersonalIncomeTax', width: 70, align: "left", statistics: true },
{ label: '其他', name: 'Other', width: 70, align: "left", statistics: true }
]
},
{ label: '实发合计', name: 'NetCombined', width: 70, align: "left", statistics: true },
{ label: '发放月份', name: 'IssueMonth', width: 70, align: "left" },
{ label: '发放年份', name: 'IssueYear', width: 70, align: "left" },
],
mainId: 'Id',
isPage: true,
rows: 300,
sidx: 'CreateTime',
});
page.search();
},
search: function (param) {
param = param || {};
param.Sqlparam = "1";
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
$('#gridtable').jfGridSet('reload');
};
page.init();
}

+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj Переглянути файл

@@ -1425,6 +1425,7 @@
<Content Include="Areas\EducationalAdministration\Views\Thermography\IndexResult.js" />
<Content Include="Areas\EducationalAdministration\Views\Thermography\StatisticIndex.js" />
<Content Include="Areas\EducationalAdministration\Views\Thermography\SubmitIndex.js" />
<Content Include="Areas\EducationalAdministration\Views\WageSchedule\IndexMy.js" />
<Content Include="Areas\EvaluationTeach\Views\Eval_Main\AnswerIndex.js" />
<Content Include="Areas\EvaluationTeach\Views\Eval_Main\TeacherIndex2.js" />
<Content Include="Areas\EvaluationTeach\Views\Eval_Main\TeacherIndex.js" />
@@ -8015,6 +8016,7 @@
<Content Include="Areas\LR_NewWorkFlow\Views\StampPersonal\StampDetailIndex.cshtml" />
<Content Include="Content\excel\AccommodationImport.xls" />
<Content Include="Content\excel\StuInfoBasicImport.xls" />
<Content Include="Areas\EducationalAdministration\Views\WageSchedule\IndexMy.cshtml" />
<None Include="Properties\PublishProfiles\CustomProfile.pubxml" />
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
<Content Include="Views\Login\Default-beifen.cshtml" />


+ 76
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleBLL.cs Переглянути файл

@@ -2,6 +2,7 @@
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;

namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
@@ -23,7 +24,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// </summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<WageScheduleEntity> GetList( string queryJson )
public IEnumerable<WageScheduleEntity> GetList(string queryJson)
{
try
{
@@ -91,6 +92,61 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

public List<WageScheduleEntity> GetPeopleType()
{
try
{
return wageScheduleService.GetPeopleType().Select(x => new WageScheduleEntity { Id = x.PeopleType, PeopleType = x.PeopleType }).Distinct().ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
public List<WageScheduleEntity> GetPostType()
{
try
{
return wageScheduleService.GetPostType().Select(x => new WageScheduleEntity { Id = x.PostType, PostType = x.PostType }).Distinct().ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
public List<WageScheduleEntity> GetPayGrade()
{
try
{
return wageScheduleService.GetPayGrade().Select(x => new WageScheduleEntity { Id = x.PayGrade, PayGrade = x.PayGrade }).Distinct().ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

#endregion

#region 提交数据
@@ -142,6 +198,25 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

public void CheckEntity(string keyValue,string Status)
{
try
{
wageScheduleService.CheckEntity(keyValue, Status);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

#endregion

}


+ 45
- 8
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleEntity.cs Переглянути файл

@@ -11,7 +11,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// 日 期:2022-11-07 11:54
/// 描 述:工资条
/// </summary>
public class WageScheduleEntity
public class WageScheduleEntity
{
#region 实体成员
/// <summary>
@@ -33,12 +33,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
[Column("EMPNAME")]
public string EmpName { get; set; }
/// <summary>
/// 账号/身份证号
/// </summary>
/// <returns></returns>
[Column("IDCARDNO")]
public string IdCardNo { get; set; }
/// <summary>
/// 人员类别
/// </summary>
/// <returns></returns>
@@ -165,7 +159,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
[Column("TEACHERANDTOWN")]
public decimal? TeacherAndTown { get; set; }
/// <summary>
/// 扣款小
/// 代扣合
/// </summary>
/// <returns></returns>
[Column("DEDUCTIONSSUBTOTAL")]
@@ -219,6 +213,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
[Column("OTHER")]
public decimal? Other { get; set; }
/// <summary>
/// 其他
/// </summary>
/// <returns></returns>
[Column("OTHERONE")]
public decimal? OtherOne { get; set; }
/// <summary>
/// 财政直达
/// </summary>
/// <returns></returns>
@@ -278,6 +278,42 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <returns></returns>
[Column("ISSUEYEAR")]
public string IssueYear { get; set; }
/// <summary>
/// 发放年份
/// </summary>
/// <returns></returns>
[Column("AWARDPERFORMANCE")]
public decimal? AwardPerformance { get; set; }
/// <summary>
/// 发放年份
/// </summary>
/// <returns></returns>
[Column("TOWNSHIPSUBSIDY")]
public decimal? TownshipSubsidy { get; set; }
/// <summary>
/// 发放年份
/// </summary>
/// <returns></returns>
[Column("SEPARATEBASICSPERFORMANCE")]
public decimal? SeparateBasicsPerformance { get; set; }
/// <summary>
/// 发放年份
/// </summary>
/// <returns></returns>
[Column("SEPARATEAWARDPERFORMANCE")]
public decimal? SeparateAwardPerformance { get; set; }
/// <summary>
/// 特级教师津贴
/// </summary>
/// <returns></returns>
[Column("SUPERFINETEACHERRESEARCH")]
public decimal? SuperfineTeacherResearch { get; set; }
/// <summary>
/// 审核标识
/// </summary>
/// <returns></returns>
[Column("F_ENABLEDMARK")]
public string F_EnabledMark { get; set; }
#endregion

#region 扩展操作
@@ -289,6 +325,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
this.Id = Guid.NewGuid().ToString();
this.CreateTime = DateTime.Now;
this.CreateUser = LoginUserInfo.Get().userId;
this.F_EnabledMark = "0";
}
/// <summary>
/// 编辑调用


+ 8
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleIBLL.cs Переглянути файл

@@ -34,6 +34,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <param name="keyValue">主键</param>
/// <returns></returns>
WageScheduleEntity GetEntity(string keyValue);

List<WageScheduleEntity> GetPeopleType();
List<WageScheduleEntity> GetPostType();
List<WageScheduleEntity> GetPayGrade();

#endregion

#region 提交数据
@@ -49,6 +54,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <param name="keyValue">主键</param>
/// <param name="entity">实体</param>
void SaveEntity(string keyValue, WageScheduleEntity entity);

void CheckEntity(string keyValue,string Status);

#endregion

}


+ 132
- 4
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/WageSchedule/WageScheduleService.cs Переглянути файл

@@ -4,6 +4,7 @@ using Learun.Util;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;

namespace Learun.Application.TwoDevelopment.EducationalAdministration
@@ -63,15 +64,20 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
try
{
var baseDataName = this.BaseRepository().getDbConnection().Database;
var strSql = new StringBuilder();
strSql.Append("SELECT t.* FROM WageSchedule t where 1=1 ");
strSql.Append(" SELECT t.*,u.F_Account,u.F_RealName FROM WageSchedule t ");
strSql.Append($" left join {baseDataName}.dbo.LR_Base_User u on t.empname=u.F_RealName ");
strSql.Append(" where 1=1 ");
var userInfo = LoginUserInfo.Get();
var queryParam = queryJson.ToJObject();
// 虚拟参数
var dp = new DynamicParameters(new { });
if (userInfo.Description != "管理员")
//sql条件
if (!queryParam["Sqlparam"].IsEmpty())
{
strSql.Append(" AND t.IdCardNo = '" + userInfo.IdentityCardNo + "' ");
strSql.Append(" and t.F_EnabledMark = '1' ");
strSql.Append(" AND u.F_Account = '" + userInfo.account + "' ");
}
if (!queryParam["EmpName"].IsEmpty())
{
@@ -83,6 +89,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
dp.Add("PeopleType", "%" + queryParam["PeopleType"].ToString() + "%", DbType.String);
strSql.Append(" AND t.PeopleType like @PeopleType ");
}
if (!queryParam["WageCardNo"].IsEmpty())
{
dp.Add("WageCardNo", "%" + queryParam["WageCardNo"].ToString() + "%", DbType.String);
strSql.Append(" AND t.WageCardNo = @WageCardNo ");
}
if (!queryParam["IssueMonth"].IsEmpty())
{
dp.Add("IssueMonth", queryParam["IssueMonth"].ToString(), DbType.String);
@@ -132,6 +143,70 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}


public List<WageScheduleEntity> GetPeopleType()
{
try
{
string sql = " select distinct PeopleType from WageSchedule where 1=1 and PeopleType is not null order by PeopleType asc ";
return this.BaseRepository("CollegeMIS").FindList<WageScheduleEntity>(sql).ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

public List<WageScheduleEntity> GetPostType()
{
try
{
string sql = " select distinct PostType from WageSchedule where 1=1 and PostType is not null order by PostType asc ";
return this.BaseRepository("CollegeMIS").FindList<WageScheduleEntity>(sql).ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
/// <summary>
/// 薪级
/// </summary>
/// <param name="PayGrade"></param>
/// <returns></returns>
public List<WageScheduleEntity> GetPayGrade()
{
try
{
string sql = " select distinct PayGrade from WageSchedule where 1=1 and PayGrade is not null order by PayGrade asc";
return this.BaseRepository("CollegeMIS").FindList<WageScheduleEntity>(sql).ToList();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
#endregion

#region 提交数据
@@ -142,12 +217,65 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
/// <param name="keyValue">主键</param>
public void DeleteEntity(string keyValue)
{
var db = this.BaseRepository("CollegeMIS").BeginTrans();
try
{
//多个启用
var keyValueArr = keyValue.Split(',');
foreach (var item in keyValueArr)
{
db.Delete<WageScheduleEntity>(t => t.Id == item);
}
db.Commit();
}
catch (Exception ex)
{
db.Rollback();
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 删除实体数据
/// </summary>
/// <param name="keyValue">主键</param>
public void CheckEntity(string keyValue, string Status)
{
var db = this.BaseRepository("CollegeMIS").BeginTrans();
try
{
this.BaseRepository("CollegeMIS").Delete<WageScheduleEntity>(t => t.Id == keyValue);
if (Status == "0")//审核全部
{
db.ExecuteBySql("update WageSchedule set F_EnabledMark=1 ");
}
//多个
var keyValueArr = keyValue.Split(',');
if (Status == "1")
{
foreach (var item in keyValueArr)
{
db.ExecuteBySql("update WageSchedule set F_EnabledMark=1 where Id = '" + item + "' ");
}
}
else if (Status == "2")
{
foreach (var item in keyValueArr)
{
db.ExecuteBySql("update WageSchedule set F_EnabledMark=0 where Id = '" + item + "' ");
}
}
db.Commit();
}
catch (Exception ex)
{
db.Rollback();
if (ex is ExceptionEx)
{
throw;


Завантаження…
Відмінити
Зберегти