Browse Source

Merge branch '黑龙江艺术高中职' of 123.57.209.16:bjquanjiang/DigitalScholl into 黑龙江艺术高中职

黑艺新账号
liangkun 1 year ago
parent
commit
5b93e7d7b0
6 changed files with 239 additions and 74 deletions
  1. +93
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_Desktop/Controllers/MessageRindController.cs
  2. +13
    -13
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/StatisticDetailIndex.js
  3. +27
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktop/Index.js
  4. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/LR_Content/plugin/grid/jfgrid.js
  5. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config
  6. +104
    -59
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordService.cs

+ 93
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LR_Desktop/Controllers/MessageRindController.cs View File

@@ -6,6 +6,9 @@ using System.Collections.Generic;
using System.Collections;
using System;
using System.Linq;
using Learun.Application.OA;
using Learun.Application.TwoDevelopment.EducationalAdministration;
using Learun.Application.WorkFlow;

namespace Learun.Application.Web.Areas.LR_Desktop.Controllers
{
@@ -91,6 +94,96 @@ namespace Learun.Application.Web.Areas.LR_Desktop.Controllers

return Success(count);
}


private SYS_ReceiveMessageIBLL sYS_ReceiveMessageIBLL = new SYS_ReceiveMessageBLL();
private NWFProcessIBLL nWFProcessIBLL = new NWFProcessBLL();
private NoticeIBLL newsIBLL = new NoticeBLL();
private Sys_ReceiveFileIBLL sys_ReceiveFileIBLL = new Sys_ReceiveFileBLL();
/// <summary>
/// 获取未读的消息的数量
/// </summary>
/// <param name="pagination">分页参数</param>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetCountFortotalUnread()
{
int totalcount = 0;
#region 待办
var userinfo = LoginUserInfo.Get();
Pagination paginationobj = new Pagination() { rows = 100, page = 1, sidx = "readflag asc,SENDTIME desc ", sord = "desc" };
//未读邮件
int UnreadMail = sYS_ReceiveMessageIBLL.GetPageList(paginationobj, "{\"userId\":\"" + userinfo.userId + "\"}").Count(m => m.READFLAG == 0);
//办公事项
paginationobj.sidx = "F_CreateDate";
int UnreadTask = nWFProcessIBLL.GetMyTaskPageList(userinfo, paginationobj, "{}").Count();
//公告
List<NewsEntity> outnewslist = new List<NewsEntity>();
var newsList = newsIBLL.GetPageList(paginationobj, "");
foreach (var newsitemEntity in newsList)
{
if (!string.IsNullOrEmpty(newsitemEntity.F_SendPostId))
{
if (!string.IsNullOrEmpty(userinfo.postIds))
{
if (userinfo.postIds.Contains(","))
{
foreach (var postid in userinfo.postIds.Split(','))
{
if (newsitemEntity.F_SendPostId.Contains(postid))
{
outnewslist.Add(newsitemEntity);
break;
}
}
}
else
{
if (newsitemEntity.F_SendPostId.Contains(userinfo.postIds))
{
outnewslist.Add(newsitemEntity);
}
}
}
}
else
{
if (!string.IsNullOrEmpty(newsitemEntity.F_SendDeptId))
{
if (userinfo.departmentId != null && newsitemEntity.F_SendDeptId.Contains(userinfo.departmentId))
{
outnewslist.Add(newsitemEntity);
}
}
else
{
outnewslist.Add(newsitemEntity);
}
}
}
var readnewslist = newsIBLL.GetList("", userinfo.userId).Where(m => !string.IsNullOrEmpty(m.RNewsId)).Select(m => m.F_NewsId);
int UnreadNews = outnewslist.Count(m => !readnewslist.Contains(m.F_NewsId));
paginationobj.sidx = "SendTime";
int UnreadFile = sys_ReceiveFileIBLL.GetPageListBySenderId(userinfo.userId).Count();
//普通教师请假-未归档数
int UnfileLeave = 0;
//中层领导请假-未归档数
int UnfileLeaveZC = 0;

totalcount = UnreadFile + UnreadNews + UnreadTask + UnreadMail + UnfileLeave + UnfileLeaveZC;
#endregion
var data = new
{
UnreadTask= UnreadTask,
UnreadNews= UnreadNews,
UnfileLeave= UnfileLeave,
UnfileLeaveZC= UnfileLeaveZC,
totalcount = totalcount
};
return Success(data);
}
/// <summary>
/// 获取未读的消息
/// </summary>


+ 13
- 13
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/StatisticDetailIndex.js View File

@@ -54,9 +54,9 @@ var bootstrap = function ($, learun) {
});
}
},
{ label: "日期", name: "ClockDate", width: 100, align: "left" },
{ label: "班次", name: "BanCi", width: 60, align: "left" },
{ label: "时间段", name: "TimePeriod", width: 150, align: "left" },
{ label: "日期", name: "ClockDate", width: 100, align: "left", sort: true },
{ label: "班次", name: "BanCi", width: 60, align: "left", sort: true },
{ label: "时间段", name: "TimePeriod", width: 150, align: "left", sort: true },
{
label: "上班状态", name: "ADStatusWork", width: 60, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('dataItem', {
@@ -76,7 +76,7 @@ var bootstrap = function ($, learun) {

}
});
}
}, sort: true
},
{
label: "下班状态", name: "ADStatusClose", width: 60, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
@@ -96,16 +96,16 @@ var bootstrap = function ($, learun) {

}
});
}
}, sort: true
},
{ label: "签到时间", name: "ClockTimeWork", width: 80, align: "left" },
{ label: "签退时间", name: "ClockTimeClose", width: 80, align: "left" },
{ label: "迟到(分钟)", name: "ChidaoMinutes", width: 80, align: "left" },
{ label: "早退(分钟)", name: "ZaoTuiMinutes", width: 80, align: "left" },
{ label: "出勤(分钟)", name: "ChuQinMinutes", width: 80, align: "left" },
{ label: "缺勤(分钟)", name: "QueQinMinutes", width: 80, align: "left" },
{ label: "工作(分钟)", name: "WorkMinutes", width: 80, align: "left" },
{ label: "休息(分钟)", name: "RestMinutes", width: 80, align: "left" },
{ label: "签到时间", name: "ClockTimeWork", width: 80, align: "left", sort: true },
{ label: "签退时间", name: "ClockTimeClose", width: 80, align: "left", sort: true},
{ label: "迟到(分钟)", name: "ChidaoMinutes", width: 80, align: "left", sort: true },
{ label: "早退(分钟)", name: "ZaoTuiMinutes", width: 80, align: "left", sort: true},
{ label: "出勤(分钟)", name: "ChuQinMinutes", width: 80, align: "left", sort: true },
//{ label: "缺勤(分钟)", name: "QueQinMinutes", width: 80, align: "left",sort: true },
{ label: "工作(分钟)", name: "WorkMinutes", width: 80, align: "left",sort: true },
{ label: "休息(分钟)", name: "RestMinutes", width: 80, align: "left", sort: true },
],
mainId: '',
isPage: true,


+ 27
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktop/Index.js View File

@@ -328,4 +328,31 @@
}
});
};

window.setInterval(gettotalunread, 10000);
//未读消息totalcount
function gettotalunread() {
$.ajax({
url: top.$.rootUrl + '/LR_Desktop/MessageRind/GetCountFortotalUnread',
type: "get",
dataType: "json",
async: false,
success: function (data) {
if (data.data != 0) {
//document.getElementsByClassName("lr-im-bell2")[0].children[0].children[2].innerText = data.data;

//UnreadTask = UnreadTask,
// UnreadNews = UnreadNews,
// UnfileLeave = UnfileLeave,
// UnfileLeaveZC = UnfileLeaveZC,
// totalcount = totalcount
$('#btn_daiban').html("<i class='fa fa-comment'></i>待办事项 " + data.data.UnreadTask + " 条")
$('#btn_tonggao').html("<i class='fa fa-paper-plane'></i>通告 " + data.data.UnreadNews + " 条")
//$('#btn_gongwen').text(data.totalcount)
$('body > div.lr-im-bell2.open > ul > li:nth-child(5)').html("共 " + data.data.totalcount+" 条")
$('body > div.lr-im-bell2 > a > span:nth-child(3)').html(data.data.totalcount)
}
}
});
};
});

+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/LR_Content/plugin/grid/jfgrid.js View File

@@ -22,7 +22,7 @@
}
var _width = 0;
var len = data.length;
$.each(data, function (_index, _item) {//_item:label 显示列名 /name 字段名 /width 宽度 /align 对齐方式 /frozen 冻结列 /statistics 统计 /isMerge 合并//ishide 是否隐藏
$.each(data, function (_index, _item) {//_item:label 显示列名 /name 字段名 /width 宽度 /align 对齐方式 /frozen 冻结列 /statistics 统计 /isMerge 合并//ishide 是否隐藏 /sort 是否禁用当前列的排序
if (!_item.ishide) {
//设置列表头数据
var col = {


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config View File

@@ -162,7 +162,7 @@
<!--注册教师生成编号 金隅:jy;西昌:xc;大厂:dc-->
<add key="EmpNoRule" value="jy"/>
<!--考勤明细统计时查询的职工编号前缀 大厂:DCZZ-->
<add key="ADR_RecordUserNoPrev" value="DCZZ"/>
<add key="ADR_RecordUserNoPrev" value=""/>
<!--第三方登录跳转地址(最后不加/)-->
<add key="redirect_url" value="http://localhost:20472"/>
<add key="QJUrl" value="www.qj.com"/>


+ 104
- 59
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordService.cs View File

@@ -83,7 +83,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
dp.Add("ADStatus", queryParam["ADStatus"].ToString(), DbType.String);
strSql.Append(" AND t.ClockStatus = @ADStatus ");
}
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)
@@ -289,69 +289,114 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
ClockStatus = y.ClockStatus
})
});
//启用的考勤规则
var restrictionEntity = this.BaseRepository("CollegeMIS").FindEntity<ADR_RestrictionEntity>(m => m.REnable == true);
var WorkTimeTemp = string.Format("{0} {1}", date, restrictionEntity?.WorkTime).ToDate();
var NoonCloseTimeTemp = string.Format("{0} {1}", date, restrictionEntity?.NoonCloseTime).ToDate();
var NoonWorkTimeTemp = string.Format("{0} {1}", date, restrictionEntity?.NoonWorkTime).ToDate();
var CloseTimeTemp = string.Format("{0} {1}", date, restrictionEntity?.CloseTime).ToDate();
var MorningMinutes = (NoonCloseTimeTemp - WorkTimeTemp).TotalMinutes.ToInt();//上午应工作分钟数
var AfternoonMinutes = (CloseTimeTemp - NoonWorkTimeTemp).TotalMinutes.ToInt();//下午应工作分钟数

//结果列表
var result = new List<ADR_RecordEntity>();
foreach (var item in data)
{
var adtype1 = item.Group.FirstOrDefault(x => x.ADType == "1");
var adtype8 = item.Group.FirstOrDefault(x => x.ADType == "8");
var adtype7 = item.Group.FirstOrDefault(x => x.ADType == "7");
var adtype2 = item.Group.FirstOrDefault(x => x.ADType == "2");
//上午
var morning = new ADR_RecordEntity()
//启用的考勤规则
var restrictionEntity = this.BaseRepository("CollegeMIS").FindEntity<ADR_RestrictionEntity>(m => m.REnable == true);
if (restrictionEntity != null)
{
//上班时间
var WorkTimeTemp = string.Format("{0} {1}", date, restrictionEntity.WorkTime).ToDate();
//下班时间
var CloseTimeTemp = string.Format("{0} {1}", date, restrictionEntity.CloseTime).ToDate();
if (restrictionEntity.ClockTime == "二次打卡")
{
UserNo = item.UserNo,
UserName = item.UserName,
Department = item.Department,
ClockDate = date,
BanCi = "上下班",
TimePeriodNo = 1,
TimePeriod = string.Format("上午上下班({0}-{1})", restrictionEntity?.WorkTime, restrictionEntity?.NoonCloseTime),
ADStatusWork = adtype1 != null ? adtype1.ClockStatus : "6",
ADStatusClose = adtype8 != null ? adtype8.ClockStatus : "6",
ClockTimeWork = adtype1 != null ? adtype1.ClockTime.ToTimeString() : "-",
ClockTimeClose = adtype8 != null ? adtype8.ClockTime.ToTimeString() : "-",
ChidaoMinutes = adtype1 != null ? adtype1.ClockStatus == "2" ? (adtype1.ClockTime.Value - WorkTimeTemp).TotalMinutes.ToInt() : 0 : 0,
ZaoTuiMinutes = adtype8 != null ? adtype8.ClockStatus == "3" ? (NoonCloseTimeTemp - adtype8.ClockTime.Value).TotalMinutes.ToInt() : 0 : 0,
ChuQinMinutes = adtype1 != null && adtype8 != null ? (adtype8.ClockTime.Value - adtype1.ClockTime.Value).TotalMinutes.ToInt() : 0,
QueQinMinutes = adtype1 != null && adtype8 != null ? 0 : MorningMinutes,
RestMinutes = 0
};
morning.WorkMinutes = MorningMinutes == morning.QueQinMinutes ? 0 : MorningMinutes - morning.ChidaoMinutes - morning.ZaoTuiMinutes - morning.QueQinMinutes;
result.Add(morning);
//下午
var afternoon = new ADR_RecordEntity()
#region 二次打卡
var WholeMinutes = (CloseTimeTemp - WorkTimeTemp).TotalMinutes.ToInt();//全天应工作分钟数

foreach (var item in data)
{
var adtype1 = item.Group.FirstOrDefault(x => x.ADType == "1");//上班
var adtype2 = item.Group.FirstOrDefault(x => x.ADType == "2");//下班
//全天
var whole = new ADR_RecordEntity()
{
UserNo = item.UserNo,
UserName = item.UserName,
Department = item.Department,
ClockDate = date,
BanCi = "上下班",
TimePeriodNo = 0,
TimePeriod = string.Format("上下班({0}-{1})", restrictionEntity.WorkTime, restrictionEntity.CloseTime),
ADStatusWork = adtype1 != null ? adtype1.ClockStatus : "6",
ADStatusClose = adtype2 != null ? adtype2.ClockStatus : "6",
ClockTimeWork = adtype1 != null ? adtype1.ClockTime.ToTimeString() : "-",
ClockTimeClose = adtype2 != null ? adtype2.ClockTime.ToTimeString() : "-",
ChidaoMinutes = adtype1 != null ? adtype1.ClockStatus == "2" ? (adtype1.ClockTime.Value - WorkTimeTemp).TotalMinutes.ToInt() : 0 : 0,
ZaoTuiMinutes = adtype2 != null ? adtype2.ClockStatus == "3" ? (CloseTimeTemp - adtype2.ClockTime.Value).TotalMinutes.ToInt() : 0 : 0,
ChuQinMinutes = adtype1 != null && adtype2 != null ? (adtype2.ClockTime.Value - adtype1.ClockTime.Value).TotalMinutes.ToInt() : 0,
QueQinMinutes = adtype1 != null && adtype2 != null ? 0 : WholeMinutes,
RestMinutes = 0
};
whole.WorkMinutes = WholeMinutes == whole.QueQinMinutes ? 0 : WholeMinutes - whole.ChidaoMinutes - whole.ZaoTuiMinutes - whole.QueQinMinutes;
result.Add(whole);
}
#endregion
}
else
{
UserNo = item.UserNo,
UserName = item.UserName,
Department = item.Department,
ClockDate = date,
BanCi = "上下班",
TimePeriodNo = 2,
TimePeriod = string.Format("下午上下班({0}-{1})", restrictionEntity?.NoonWorkTime, restrictionEntity?.CloseTime),
ADStatusWork = adtype7 != null ? adtype7.ClockStatus : "6",
ADStatusClose = adtype2 != null ? adtype2.ClockStatus : "6",
ClockTimeWork = adtype7 != null ? adtype7.ClockTime.ToTimeString() : "-",
ClockTimeClose = adtype2 != null ? adtype2.ClockTime.ToTimeString() : "-",
ChidaoMinutes = adtype7 != null ? adtype7.ClockStatus == "2" ? (adtype7.ClockTime.Value - NoonWorkTimeTemp).TotalMinutes.ToInt() : 0 : 0,
ZaoTuiMinutes = adtype2 != null ? adtype2.ClockStatus == "3" ? (CloseTimeTemp - adtype2.ClockTime.Value).TotalMinutes.ToInt() : 0 : 0,
ChuQinMinutes = adtype7 != null && adtype2 != null ? (adtype2.ClockTime.Value - adtype7.ClockTime.Value).TotalMinutes.ToInt() : 0,
QueQinMinutes = adtype7 != null && adtype2 != null ? 0 : AfternoonMinutes,
RestMinutes = 0
};
afternoon.WorkMinutes = AfternoonMinutes == afternoon.QueQinMinutes ? 0 : AfternoonMinutes - afternoon.ChidaoMinutes - afternoon.ZaoTuiMinutes - afternoon.QueQinMinutes;
result.Add(afternoon);
}
#region 四次打卡
//中午下班时间
var NoonCloseTimeTemp = string.Format("{0} {1}", date, restrictionEntity?.NoonCloseTime).ToDate();
//中午上班时间
var NoonWorkTimeTemp = string.Format("{0} {1}", date, restrictionEntity?.NoonWorkTime).ToDate();
var MorningMinutes = (NoonCloseTimeTemp - WorkTimeTemp).TotalMinutes.ToInt();//上午应工作分钟数
var AfternoonMinutes = (CloseTimeTemp - NoonWorkTimeTemp).TotalMinutes.ToInt();//下午应工作分钟数

foreach (var item in data)
{
var adtype1 = item.Group.FirstOrDefault(x => x.ADType == "1");//上班
var adtype8 = item.Group.FirstOrDefault(x => x.ADType == "8");//中午下班
var adtype7 = item.Group.FirstOrDefault(x => x.ADType == "7");//中午上班
var adtype2 = item.Group.FirstOrDefault(x => x.ADType == "2");//下班
//上午
var morning = new ADR_RecordEntity()
{
UserNo = item.UserNo,
UserName = item.UserName,
Department = item.Department,
ClockDate = date,
BanCi = "上下班",
TimePeriodNo = 1,
TimePeriod = string.Format("上午上下班({0}-{1})", restrictionEntity.WorkTime, restrictionEntity.NoonCloseTime),
ADStatusWork = adtype1 != null ? adtype1.ClockStatus : "6",
ADStatusClose = adtype8 != null ? adtype8.ClockStatus : "6",
ClockTimeWork = adtype1 != null ? adtype1.ClockTime.ToTimeString() : "-",
ClockTimeClose = adtype8 != null ? adtype8.ClockTime.ToTimeString() : "-",
ChidaoMinutes = adtype1 != null ? adtype1.ClockStatus == "2" ? (adtype1.ClockTime.Value - WorkTimeTemp).TotalMinutes.ToInt() : 0 : 0,
ZaoTuiMinutes = adtype8 != null ? adtype8.ClockStatus == "3" ? (NoonCloseTimeTemp - adtype8.ClockTime.Value).TotalMinutes.ToInt() : 0 : 0,
ChuQinMinutes = adtype1 != null && adtype8 != null ? (adtype8.ClockTime.Value - adtype1.ClockTime.Value).TotalMinutes.ToInt() : 0,
QueQinMinutes = adtype1 != null && adtype8 != null ? 0 : MorningMinutes,
RestMinutes = 0
};
morning.WorkMinutes = MorningMinutes == morning.QueQinMinutes ? 0 : MorningMinutes - morning.ChidaoMinutes - morning.ZaoTuiMinutes - morning.QueQinMinutes;
result.Add(morning);
//下午
var afternoon = new ADR_RecordEntity()
{
UserNo = item.UserNo,
UserName = item.UserName,
Department = item.Department,
ClockDate = date,
BanCi = "上下班",
TimePeriodNo = 2,
TimePeriod = string.Format("下午上下班({0}-{1})", restrictionEntity.NoonWorkTime, restrictionEntity.CloseTime),
ADStatusWork = adtype7 != null ? adtype7.ClockStatus : "6",
ADStatusClose = adtype2 != null ? adtype2.ClockStatus : "6",
ClockTimeWork = adtype7 != null ? adtype7.ClockTime.ToTimeString() : "-",
ClockTimeClose = adtype2 != null ? adtype2.ClockTime.ToTimeString() : "-",
ChidaoMinutes = adtype7 != null ? adtype7.ClockStatus == "2" ? (adtype7.ClockTime.Value - NoonWorkTimeTemp).TotalMinutes.ToInt() : 0 : 0,
ZaoTuiMinutes = adtype2 != null ? adtype2.ClockStatus == "3" ? (CloseTimeTemp - adtype2.ClockTime.Value).TotalMinutes.ToInt() : 0 : 0,
ChuQinMinutes = adtype7 != null && adtype2 != null ? (adtype2.ClockTime.Value - adtype7.ClockTime.Value).TotalMinutes.ToInt() : 0,
QueQinMinutes = adtype7 != null && adtype2 != null ? 0 : AfternoonMinutes,
RestMinutes = 0
};
afternoon.WorkMinutes = AfternoonMinutes == afternoon.QueQinMinutes ? 0 : AfternoonMinutes - afternoon.ChidaoMinutes - afternoon.ZaoTuiMinutes - afternoon.QueQinMinutes;
result.Add(afternoon);
}
#endregion
}
}
return result.OrderBy(x => x.UserNo).ThenBy(x => x.UserName).ThenBy(x => x.TimePeriodNo);
}
catch (Exception ex)


Loading…
Cancel
Save