Ver código fonte

Merge branch '塔里木分支' of 123.57.209.16:bjquanjiang/DigitalScholl into 塔里木分支

新疆影视学院高职
liangkun 3 anos atrás
pai
commit
b13850219d
20 arquivos alterados com 666 adições e 271 exclusões
  1. +2
    -0
      .gitignore
  2. BIN
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/images/2.png
  3. BIN
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/images/dkred.png
  4. +0
    -42
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRClockIn/AttendanceCard/AttendanceCard.js
  5. +0
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRRecord/ADRRecord.css
  6. +0
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRRecord/ADRRecord.html
  7. +18
    -28
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRRecord/ADRRecord.js
  8. +0
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/AttendanceCard/AttendanceCard.css
  9. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/AttendanceCard/AttendanceCard.html
  10. +55
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/AttendanceCard/AttendanceCard.js
  11. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Restriction/Form.cshtml
  12. +4
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Restriction/Index.js
  13. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config
  14. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj
  15. +20
    -1
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/AttendanceApi.cs
  16. +3
    -3
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Base/SystemModule/Module/ModuleBLL.cs
  17. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordEntity.cs
  18. +19
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionBLL.cs
  19. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionIBLL.cs
  20. +533
    -185
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionService.cs

+ 2
- 0
.gitignore Ver arquivo

@@ -79,3 +79,5 @@ Learun.Framework.Ultimate V7/LearunApp-2.2.0/config.js
/Learun.Framework.Ultimate V7/Learun.Application.Mobile/platforms/android/assets/www
/Learun.Framework.Ultimate V7/Learun.Application.Mobile/www.7z
/Learun.Framework.Ultimate V7/Learun.Application.WebApi/bin.7z
/Learun.Framework.Ultimate V7/Learun.Application.Web/Properties/PublishProfiles
/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Properties/PublishProfiles

BIN
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/images/2.png Ver arquivo

Antes Depois
Largura: 750  |  Altura: 161  |  Tamanho: 13 KiB

BIN
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/images/dkred.png Ver arquivo

Antes Depois
Largura: 360  |  Altura: 360  |  Tamanho: 18 KiB

+ 0
- 42
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRClockIn/AttendanceCard/AttendanceCard.js Ver arquivo

@@ -1,42 +0,0 @@
(function() {
var page = {
isScroll: false,
init: function($page) {
$(document).ready(function() {
$('#attendContent').on('tap', function(ev) {
//ev.stopPropagation();
var account = learun.storage.get('logininfo').account;
learun.layer.loading(true);
learun.httppost(config.webapi + 'learun/adms/attendance/clockin', {}, (
data) => {
learun.layer.loading(false);
if (data) { // 表单数据保存成功
learun.layer.toast("打卡成功");
learun.nav.closeCurrent();
}else{
learun.layer.toast("打卡失败!");
}
});

});

function setTime() {
var date = new Date();
var HH = date.getHours(),
MM = date.getMinutes(),
SS = date.getSeconds(),
date = date.getDate();
if (SS < 10) {
SS = "0" + SS
}
$("#show").text(HH + ":" + MM + ":" + SS);
}
setInterval(setTime, 1000);

})
},

};

return page;
})();

Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRClockIn/ADRRecord/ADRRecord.css → Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRRecord/ADRRecord.css Ver arquivo


Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRClockIn/ADRRecord/ADRRecord.html → Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRRecord/ADRRecord.html Ver arquivo


Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRClockIn/ADRRecord/ADRRecord.js → Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRRecord/ADRRecord.js Ver arquivo

@@ -19,14 +19,14 @@
return page.rowRender(_index, _item, _$item, $page);
},
click: function (item, $item, $et) {// 列表行点击事件
if ($et.hasClass('lr-btn-danger')) {
page.btnClick(item, $item, $page);
}
else {
page.rowClick(item, $item, $page);
}
},
btns: page.rowBtns });
// if ($et.hasClass('lr-btn-danger')) {
// page.btnClick(item, $item, $page);
// }
// else {
// page.rowClick(item, $item, $page);
// }
}
});
},
lclass: 'lr-list',
@@ -84,6 +84,12 @@
}else if(ADType=='6')
{
type='结束加班';
}else if(ADType=='7')
{
type='中午上班';
}else if(ADType=='8')
{
type='中午下班';
}
var ClockStatus=_item.ClockStatus;
var status='';
@@ -106,30 +112,14 @@
{
status='缺勤';
}
//_$item.append($('<p class="lr-ellipsis"><span>姓名:</span></p>').dataFormatter({ value: _item.UserName }));
//_$item.append($('<p class="lr-ellipsis"><span>账号:</span></p>').dataFormatter({ value: _item.UserNo }));
//var name=_item.UserName+'('+_item.UserNo+')'
_$item.append($('<p class="lr-ellipsis"><span>打卡时间:</span></p>').dataFormatter({ value: _item.ClockTime }));
_$item.append($('<p class="lr-ellipsis"><span>考勤类型:</span></p>').dataFormatter({ value: type }));
_$item.append($('<p class="lr-ellipsis"><span>打卡结果:</span></p>').dataFormatter({ value: status }));
//_$item.append($('<p class="lr-ellipsis"><span>用户:</span></p>').dataFormatter({ value: name }));
return '';
},
rowClick: function (item, $item, $page) {// 列表行点击触发方法
learun.nav.go({ path: 'LR_Desktop/1/form', title: '详情', type: 'right', param: { keyValue: item.ID } });
},
btnClick: function (item, $item, $page) {// 左滑按钮点击事件
learun.layer.confirm('确定要删除该笔数据吗?', function (_index) {
if (_index === '1') {
learun.layer.loading(true, '正在删除该笔数据');
learun.httppost(config.webapi + 'learun/LR_Desktop/1/delete', item.ID , (data) => {
if (data) {// 删除数据成功
page.grid.reload();
}
learun.layer.loading(false);
});
}
}, 'Learun智慧校园提示', ['取消', '确定']);
},
rowBtns: ['<a class="lr-btn-danger">删除</a>'] // 列表行左滑按钮
}
};
return page;
})();

Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRClockIn/AttendanceCard/AttendanceCard.css → Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/AttendanceCard/AttendanceCard.css Ver arquivo


Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/ADRClockIn/AttendanceCard/AttendanceCard.html → Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/AttendanceCard/AttendanceCard.html Ver arquivo

@@ -7,11 +7,11 @@
打卡
</div>
</div> -->
<img src="/images/dk.png" alt="" width="100%">
<img id="attimg" src="" alt="" width="100%">
</div>
</div>
<div class="footer">
<img src="/images/2.png" alt="" width="100%">
<img src="images/2.png" alt="" width="100%">
</div>

</div>

+ 55
- 0
Learun.Framework.Ultimate V7/Learun.Application.Mobile/www/pages/AttendanceCard/AttendanceCard.js Ver arquivo

@@ -0,0 +1,55 @@
(function() {
var page = {
isScroll: false,
init: function($page) {
$(document).ready(function() {
learun.layer.loading(true);
//判断当前时间是否可以打卡
learun.httpget(config.webapi + 'learun/adms/attendance/IsAttendance', {}, (
data) => {
learun.layer.loading(false);
if (data.data == true) {
$('#attimg').attr('src', 'images/dk.png');
} else {
$('#attimg').attr('src', 'images/dkred.png');
}
});

$('#attendContent').on('tap', function(ev) {
if(($('#attimg')[0].src).indexOf('dk.png')>0){
var account = learun.storage.get('logininfo').account;
learun.layer.loading(true);
learun.httppost(config.webapi + 'learun/adms/attendance/clockin', {}, (
data) => {
learun.layer.loading(false);
if (data) {
learun.layer.toast("打卡成功");
learun.nav.closeCurrent();
} else {
learun.layer.toast("打卡失败!");
}
});
}

});

function setTime() {
var date = new Date();
var HH = date.getHours(),
MM = date.getMinutes(),
SS = date.getSeconds(),
date = date.getDate();
if (SS < 10) {
SS = "0" + SS
}
$("#show").text(HH + ":" + MM + ":" + SS);
}
setInterval(setTime, 1000);

})
},

};

return page;
})();

+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Restriction/Form.cshtml Ver arquivo

@@ -17,27 +17,27 @@
<div class="lr-form-item-title">上班时间<font face="宋体">*</font></div>
<input id="WorkTime" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</div>
@*<div class="col-xs-6 lr-form-item" data-table="ADR_Restriction">
<div class="col-xs-6 lr-form-item" data-table="ADR_Restriction">
<div class="lr-form-item-title">上午签到有效时间<font face="宋体">*</font></div>
<input id="SignInStartTime" type="text" class="form-control " isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-6 lr-form-item" data-table="ADR_Restriction">
<div class="lr-form-item-title">-<font face="宋体">*</font></div>
<input id="SignInEndTime" type="text" class="form-control " isvalid="yes" checkexpession="NotNull" />
</div>*@
</div>

<div class="col-xs-12 lr-form-item" data-table="ADR_Restriction">
<div class="lr-form-item-title">下班时间<font face="宋体">*</font></div>
<input id="CloseTime" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</div>
@*<div class="col-xs-6 lr-form-item" data-table="ADR_Restriction">
<div class="col-xs-6 lr-form-item" data-table="ADR_Restriction">
<div class="lr-form-item-title">下午签退有效时间<font face="宋体">*</font></div>
<input id="SignOutStartTime" type="text" class="form-control " isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-6 lr-form-item" data-table="ADR_Restriction">
<div class="lr-form-item-title">-<font face="宋体">*</font></div>
<input id="SignOutEndTime" type="text" class="form-control " isvalid="yes" checkexpession="NotNull" />
</div>*@
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Restriction">
<div class="lr-form-item-title">打卡次数<font face="宋体">*</font></div>
<div id="ClockTime" class="form-control" isvalid="yes" checkexpession="NotNull"></div>


+ 4
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Restriction/Index.js Ver arquivo

@@ -80,11 +80,11 @@ var bootstrap = function ($, learun) {
url: top.$.rootUrl + '/PersonnelManagement/ADR_Restriction/GetPageList',
headData: [
{ label: "上班时间", name: "WorkTime", width: 100, align: "left" },
//{ label: "签到开始时间", name: "SignInStartTime", width: 100, align: "left" },
//{ label: "签到结束时间", name: "SignInEndTime", width: 100, align: "left" },
{ label: "签到开始时间", name: "SignInStartTime", width: 100, align: "left" },
{ label: "签到结束时间", name: "SignInEndTime", width: 100, align: "left" },
{ label: "下班时间", name: "CloseTime", width: 100, align: "left" },
//{ label: "签退开始时间", name: "SignOutStartTime", width: 100, align: "left" },
//{ label: "签退结束时间", name: "SignOutEndTime", width: 100, align: "left" },
{ label: "签退开始时间", name: "SignOutStartTime", width: 100, align: "left" },
{ label: "签退结束时间", name: "SignOutEndTime", width: 100, align: "left" },
{ label: "打卡次数", name: "ClockTime", width: 100, align: "left" },
{ label: "中午签退时间", name: "NoonCloseTime", width: 100, align: "left" },
{ label: "中午签退开始时间", name: "SignOutStartTime2", width: 150, align: "left" },


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/system.config Ver arquivo

@@ -160,7 +160,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"/>


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj Ver arquivo

@@ -167,6 +167,8 @@
<Content Include="packages.config" />
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
<None Include="Properties\PublishProfiles\FolderProfile1.pubxml" />
<None Include="Properties\PublishProfiles\FolderProfile2.pubxml" />
<None Include="Properties\PublishProfiles\FolderProfile3.pubxml" />
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>


+ 20
- 1
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/AttendanceApi.cs Ver arquivo

@@ -17,12 +17,31 @@ namespace Learun.Application.WebApi.Modules
public AttendanceApi()
: base("/learun/adms/attendance")
{
Get["/getrecordpagelist"] = GetRecordPageList;
//判断当前时间是否可以打卡
Get["/IsAttendance"] = IsAttendance;
//打卡
Post["/clockin"] = ClockIn;
//获取考勤打卡记录
Get["/getrecordpagelist"] = GetRecordPageList;
}
private ADR_RestrictionIBLL adr_RestrictionBLL = new ADR_RestrictionBLL();
private ADR_RecordIBLL adr_RecordBLL = new ADR_RecordBLL();

/// <summary>
/// 判断当前时间是否可以打卡
/// </summary>
/// <param name="_"></param>
/// <returns></returns>
public Response IsAttendance(dynamic _)
{
var res = adr_RestrictionBLL.IsAttendance();
var jsondata =
new
{
data = res
};
return Success(jsondata);
}
/// <summary>
/// 打卡
/// </summary>


+ 3
- 3
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Base/SystemModule/Module/ModuleBLL.cs Ver arquivo

@@ -147,7 +147,7 @@ namespace Learun.Application.Base.SystemModule
node.value = item.F_EnCode;
node.showcheck = true;
node.checkstate = 0;
node.isexpand = true;
node.isexpand = false;//true;
node.icon = item.F_Icon;
node.parentId = item.F_ParentId;
treeList.Add(node);
@@ -346,7 +346,7 @@ namespace Learun.Application.Base.SystemModule
node.value = module.F_EnCode;
node.showcheck = true;
node.checkstate = 0;
node.isexpand = true;
node.isexpand = false; //true;
node.icon = module.F_Icon;
node.parentId = module.F_ParentId + "_learun_moduleId";
if (module.F_Target != "expand")
@@ -462,7 +462,7 @@ namespace Learun.Application.Base.SystemModule
node.value = module.F_EnCode;
node.showcheck = true;
node.checkstate = 0;
node.isexpand = true;
node.isexpand = false;// true;
node.icon = module.F_Icon;
node.parentId = module.F_ParentId + "_learun_moduleId";



+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordEntity.cs Ver arquivo

@@ -35,7 +35,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
[Column("DEPARTMENT")]
public string Department { get; set; }
/// <summary>
/// 考勤类型 0-未定义,1-上班,2-下班,3-开始休息,4-结束休息,5-开始加班,6-结束加班
/// 考勤类型 0-未定义,1-上班,2-下班,3-开始休息,4-结束休息,5-开始加班,6-结束加班,7-中午上班,8-中午下班
/// </summary>
[Column("ADTYPE")]
public string ADType { get; set; }


+ 19
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionBLL.cs Ver arquivo

@@ -166,6 +166,25 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
}
}

public bool IsAttendance()
{
try
{
return aDR_RestrictionService.IsAttendance();
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public ADR_RestrictionEntity GetADR_RestrictionEntityEnabled()
{
try


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionIBLL.cs Ver arquivo

@@ -54,6 +54,8 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
/// </summary>
/// <returns></returns>
bool ClockIn();

bool IsAttendance();
#endregion

ADR_RestrictionEntity GetADR_RestrictionEntityEnabled();


+ 533
- 185
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionService.cs Ver arquivo

@@ -213,17 +213,19 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
//当前服务器日期
var datenow = DateTime.Now.ToString("yyyy-MM-dd");

var datetimenow = DateTime.Now;

//当前时间年月日时分秒
string strTimeYear = (DateTime.Now.Year).ToString();
string strTimeMonth = (DateTime.Now.Month).ToString("d2");
string strTimeDay = (DateTime.Now.Day).ToString("d2");
string strTimeHour = (DateTime.Now.Hour).ToString("d2");
string strTimeMinute = (DateTime.Now.Minute).ToString("d2");
string strTimeSecond = (DateTime.Now.Second).ToString("d2");
string strTimeYear = (datetimenow.Year).ToString();
string strTimeMonth = (datetimenow.Month).ToString("d2");
string strTimeDay = (datetimenow.Day).ToString("d2");
string strTimeHour = (datetimenow.Hour).ToString("d2");
string strTimeMinute = (datetimenow.Minute).ToString("d2");
string strTimeSecond = (datetimenow.Second).ToString("d2");
string strTime = strTimeYear + "-" + strTimeMonth + "-" + strTimeDay + " " + strTimeHour + ":" +
strTimeMinute + ":" + strTimeSecond;

//设备事件时间
//设备事件时间(在这里,=当前时间)
DateTime devicetime = Convert.ToDateTime(strTime);
//掉线补传数据时间判断
//设备时间小于当前时间,判断为补传历史时间数据
@@ -233,77 +235,75 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
//}
//上班时间
DateTime workDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.WorkTime);
//上班考勤时间段
DateTime signInStartTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignInStartTime);
DateTime signInEndTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignInEndTime);

//下班时间
DateTime offworkDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.CloseTime);
//下班考勤时间段
DateTime signOutStartTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignOutStartTime);
DateTime signOutEndTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignOutEndTime);

var datetimenow = DateTime.Now;
//2021.12.30 上下班设置时间段打卡
#region 二次打卡
//判断打卡次数
if (attendancerulEntity.ClockTime == "二次打卡")
{
//迟到判断
if (devicetime <= workDateTime)//正常
//上下班正常打卡
if (devicetime >= signInStartTime && devicetime <= signInEndTime)
{
ADType = "1";//上班
ClockStatus = "1";//正常
}
else//迟到
else if (devicetime >= signOutStartTime && devicetime <= signOutEndTime)
{
//签到与签退判断
if (devicetime >= offworkDateTime)//如果签到时间大于下班时间则为签退状态
{
ADType = "2";//下班
ClockStatus = "1";//正常
}
else//小于下班时间
{
//首先判断是上班还是下班
//该用户当日有签到记录视为下班签退
var attendancerecord = this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(
"select * from ADR_Record where ADYear='" + strTimeYear + "' and ADMonth='" +
strTimeMonth + "' and ADDay='" + strTimeDay + "' and UserNo='" + EmpNo +
"' and ADType='1'").ToList();
ADType = "2";//下班
ClockStatus = "1";//正常
}
else if (devicetime <= signOutStartTime)//小于下班时间
{
//首先判断是上班还是下班
//该用户当日有签到记录视为下班签退
var attendancerecord = this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(
"select * from ADR_Record where ADYear='" + strTimeYear + "' and ADMonth='" +
strTimeMonth + "' and ADDay='" + strTimeDay + "' and UserNo='" + EmpNo +
"' and ADType='1'").ToList();

if (attendancerecord.Count() > 0)//如果存在上班考勤记录
if (attendancerecord.Count() > 0)//如果存在上班考勤记录
{
//判断为下班早退
if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)//如果允许早退,获取范围
{
//判断为下班早退
if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)//如果允许早退,获取范围
//最早签退时间
DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常
{
//最早签退时间
DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常
{
ADType = "2";//下班
ClockStatus = "1";//正常
}
else//超出早退范围视为早退
{
ADType = "2";//下班
ClockStatus = "3";//早退
}
ADType = "2";//下班
ClockStatus = "1";//正常
}
else//不允许早退直接视为早退
else//超出早退范围视为早退
{
ADType = "2";//下班
ClockStatus = "3";//早退
}
}
else//判断为上班迟到
else//不允许早退直接视为早退
{
if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)//如果允许迟到,获取范围
ADType = "2";//下班
ClockStatus = "3";//早退
}
}
else//判断为上班迟到
{
if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)//如果允许迟到,获取范围
{
//最晚签到时间
DateTime workDateTimeFree = workDateTime.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常
{
//最晚签到时间
DateTime workDateTimeFree = workDateTime.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常
{
ADType = "1";//上班
ClockStatus = "1";//正常
}
else
{
ADType = "1";//上班
ClockStatus = "2";//迟到
}
ADType = "1";//上班
ClockStatus = "1";//正常
}
else
{
@@ -311,9 +311,91 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
ClockStatus = "2";//迟到
}
}
else
{
ADType = "1";//上班
ClockStatus = "2";//迟到
}
}

}

#region old 上下班无打卡时间段

//if (devicetime <= workDateTime)//正常
//{
// ADType = "1";//上班
// ClockStatus = "1";//正常
//}
//else//迟到
//{
// //签到与签退判断
// if (devicetime >= offworkDateTime)//如果签到时间大于下班时间则为签退状态
// {
// ADType = "2";//下班
// ClockStatus = "1";//正常
// }
// else//小于下班时间
// {
// //首先判断是上班还是下班
// //该用户当日有签到记录视为下班签退
// var attendancerecord = this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(
// "select * from ADR_Record where ADYear='" + strTimeYear + "' and ADMonth='" +
// strTimeMonth + "' and ADDay='" + strTimeDay + "' and UserNo='" + EmpNo +
// "' and ADType='1'").ToList();

// if (attendancerecord.Count() > 0)//如果存在上班考勤记录
// {
// //判断为下班早退
// if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)//如果允许早退,获取范围
// {
// //最早签退时间
// DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
// if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常
// {
// ADType = "2";//下班
// ClockStatus = "1";//正常
// }
// else//超出早退范围视为早退
// {
// ADType = "2";//下班
// ClockStatus = "3";//早退
// }
// }
// else//不允许早退直接视为早退
// {
// ADType = "2";//下班
// ClockStatus = "3";//早退
// }
// }
// else//判断为上班迟到
// {
// if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)//如果允许迟到,获取范围
// {
// //最晚签到时间
// DateTime workDateTimeFree = workDateTime.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
// if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常
// {
// ADType = "1";//上班
// ClockStatus = "1";//正常
// }
// else
// {
// ADType = "1";//上班
// ClockStatus = "2";//迟到
// }
// }
// else
// {
// ADType = "1";//上班
// ClockStatus = "2";//迟到
// }
// }
// }

//}

#endregion

ADR_RecordEntity adrRecordEntity = new ADR_RecordEntity();
adrRecordEntity.Create();
adrRecordEntity.UserName = userinfo.realName;
@@ -571,162 +653,297 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
}
else//不在中午考勤时间段判断迟到早退
{
//迟到判断
if (devicetime <= workDateTime)//正常
//上下班正常打卡
if (devicetime >= signInStartTime && devicetime <= signInEndTime)
{
ADType = "1";//上班
ClockStatus = "1";//正常
}
else//迟到
else if (devicetime >= signOutStartTime && devicetime <= signOutEndTime)
{
//签到与签退判断
if (devicetime >= offworkDateTime)//如果签到时间大于下班时间则为签退状态
{
ADType = "2";//下班
ClockStatus = "1";//正常
}
//迟到状态
else
ADType = "2";//下班
ClockStatus = "1";//正常
}
else
{
//该用户当日有签到记录视为下班签退
var attendancerecord = this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>("select * from ADR_Record where ADYear='" + strTimeYear + "' and ADMonth='" + strTimeMonth + "' and ADDay='" + strTimeDay + "' and UserNo='" + EmpNo + "'");
//首先判断上午考勤还是下午考勤
//如果小于中午下班时间
if (devicetime < offworkDateTimelunch)
{
//首先判断是否中午时间段
if (devicetime > offworkDateTimelunch && devicetime < workDateTimelunch)
//迟到
//无上班记录视为迟到
if (attendancerecord.Count(m => m.ADType == "1") == 0)
{
//无效打卡
////记录日志
//ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity();
//adrDeviceLogEntity.Create();
//if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id))
//{
// adrDeviceLogEntity.DeviceId = deviceEntity.Id;
// stringAlarm += ",设备IP:" + deviceEntity.IpAddress + "不在考勤时间范围内,打卡无效";
//}

//adrDeviceLogEntity.LogData = stringAlarm;
//adrDeviceLogEntity.LogType = "1";
//connmis.Execute("insert into ADR_DeviceLog(LogId,DeviceId, LogType, LogData, F_CreateDate, F_CreateUserId, F_CreateUserName) values(" +
// "'" + adrDeviceLogEntity.LogId + "','" + adrDeviceLogEntity.DeviceId + "','" + adrDeviceLogEntity.LogType + "'," +
// "'" + adrDeviceLogEntity.LogData + "','" + adrDeviceLogEntity.F_CreateDate + "','system','自动化服务')");
return true;
//上班迟到
//获取迟到范围
if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)
{
DateTime workDateTimeFree = workDateTime.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常
{
ADType = "1";//上班
ClockStatus = "1";//正常
}
else
{
ADType = "1";//上班
ClockStatus = "2";//迟到
}
}
else
{
ADType = "1";//上班
ClockStatus = "2";//迟到
}
}
//早退
//有签到记录视为早退
else
{
//该用户当日有签到记录视为下班签退
var attendancerecord = this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>("select * from ADR_Record where ADYear='" + strTimeYear + "' and ADMonth='" + strTimeMonth + "' and ADDay='" + strTimeDay + "' and UserNo='" + EmpNo + "'");
//首先判断上午考勤还是下午考勤
//如果小于中午下班时间
if (devicetime < offworkDateTimelunch)
//获取早退范围
if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)
{
//迟到
//无上班记录视为迟到
if (attendancerecord.Count(m => m.ADType == "1") == 0)
//最早签退时间
DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常
{
//上班迟到
//获取迟到范围
if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)
{
DateTime workDateTimeFree = workDateTime.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常
{
ADType = "1";//上班
ClockStatus = "1";//正常
}
else
{
ADType = "1";//上班
ClockStatus = "2";//迟到
}
}
else
{
ADType = "1";//上班
ClockStatus = "2";//迟到
}
ADType = "8";//中午下班
ClockStatus = "1";//正常
}
//早退
//有签到记录视为早退
else
else//超出早退范围视为早退
{
//获取早退范围
if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)
{
//最早签退时间
DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常
{
ADType = "8";//中午下班
ClockStatus = "1";//正常
}
else//超出早退范围视为早退
{
ADType = "8";//中午下班
ClockStatus = "3";//早退
}
}
else
{
ADType = "8";//中午下班
ClockStatus = "3";//早退
}
ADType = "8";//中午下班
ClockStatus = "3";//早退
}
}
else
{
ADType = "8";//中午下班
ClockStatus = "3";//早退
}

}
}
else if (devicetime > workDateTimelunch)//如果大于中午上班时间,且上级if判断小于下班时间
//判断为下午上班打卡迟到或早退
{
//如果存在中午签到记录
//判断为下班早退
if (attendancerecord.Count(m => m.ADType == "7") > 0)
{
//早退判断
//获取早退范围
if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)
{
DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常
{
ADType = "2";//下班
ClockStatus = "1";//正常
}
else//超出早退范围视为早退
{
ADType = "2";//下班
ClockStatus = "3";//早退
}
}
else
{
ADType = "2";//下班
ClockStatus = "3";//早退
}
else if (devicetime > workDateTimelunch)//如果大于中午上班时间,且上级if判断小于下班时间
//判断为下午上班打卡迟到或早退
}
else
{
//获取迟到范围
if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)
{
//如果存在中午签到记录
//判断为下班早退
if (attendancerecord.Count(m => m.ADType == "7") > 0)
//最晚签到时间
DateTime workDateTimeFree = workDateTimelunch.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常
{
//早退判断
//获取早退范围
if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)
{
DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常
{
ADType = "2";//下班
ClockStatus = "1";//正常
}
else//超出早退范围视为早退
{
ADType = "2";//下班
ClockStatus = "3";//早退
}
}
else
{
ADType = "2";//下班
ClockStatus = "3";//早退
}
ADType = "7";//中午上班
ClockStatus = "1";//正常
}
else
{
//获取迟到范围
if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)
{
//最晚签到时间
DateTime workDateTimeFree = workDateTimelunch.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常
{
ADType = "7";//中午上班
ClockStatus = "1";//正常
}
else
{
ADType = "7";//中午上班
ClockStatus = "2";//迟到
}
}
else
{
ADType = "7";//中午上班
ClockStatus = "2";//迟到
}
ADType = "7";//中午上班
ClockStatus = "2";//迟到
}
}
else
{
ADType = "7";//中午上班
ClockStatus = "2";//迟到
}
}
}
}

#region old
////迟到判断
//if (devicetime <= workDateTime)//正常
//{
// ADType = "1";//上班
// ClockStatus = "1";//正常
//}
//else//迟到
//{
// //签到与签退判断
// if (devicetime >= offworkDateTime)//如果签到时间大于下班时间则为签退状态
// {
// ADType = "2";//下班
// ClockStatus = "1";//正常
// }
// //迟到状态
// else
// {
// //首先判断是否中午时间段
// if (devicetime > offworkDateTimelunch && devicetime < workDateTimelunch)
// {
// //无效打卡
// ////记录日志
// //ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity();
// //adrDeviceLogEntity.Create();
// //if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id))
// //{
// // adrDeviceLogEntity.DeviceId = deviceEntity.Id;
// // stringAlarm += ",设备IP:" + deviceEntity.IpAddress + "不在考勤时间范围内,打卡无效";
// //}

// //adrDeviceLogEntity.LogData = stringAlarm;
// //adrDeviceLogEntity.LogType = "1";
// //connmis.Execute("insert into ADR_DeviceLog(LogId,DeviceId, LogType, LogData, F_CreateDate, F_CreateUserId, F_CreateUserName) values(" +
// // "'" + adrDeviceLogEntity.LogId + "','" + adrDeviceLogEntity.DeviceId + "','" + adrDeviceLogEntity.LogType + "'," +
// // "'" + adrDeviceLogEntity.LogData + "','" + adrDeviceLogEntity.F_CreateDate + "','system','自动化服务')");
// return true;
// }
// else
// {
// //该用户当日有签到记录视为下班签退
// var attendancerecord = this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>("select * from ADR_Record where ADYear='" + strTimeYear + "' and ADMonth='" + strTimeMonth + "' and ADDay='" + strTimeDay + "' and UserNo='" + EmpNo + "'");
// //首先判断上午考勤还是下午考勤
// //如果小于中午下班时间
// if (devicetime < offworkDateTimelunch)
// {
// //迟到
// //无上班记录视为迟到
// if (attendancerecord.Count(m => m.ADType == "1") == 0)
// {
// //上班迟到
// //获取迟到范围
// if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)
// {
// DateTime workDateTimeFree = workDateTime.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
// if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常
// {
// ADType = "1";//上班
// ClockStatus = "1";//正常
// }
// else
// {
// ADType = "1";//上班
// ClockStatus = "2";//迟到
// }
// }
// else
// {
// ADType = "1";//上班
// ClockStatus = "2";//迟到
// }
// }
// //早退
// //有签到记录视为早退
// else
// {
// //获取早退范围
// if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)
// {
// //最早签退时间
// DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
// if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常
// {
// ADType = "8";//中午下班
// ClockStatus = "1";//正常
// }
// else//超出早退范围视为早退
// {
// ADType = "8";//中午下班
// ClockStatus = "3";//早退
// }
// }
// else
// {
// ADType = "8";//中午下班
// ClockStatus = "3";//早退
// }

// }
// }
// else if (devicetime > workDateTimelunch)//如果大于中午上班时间,且上级if判断小于下班时间
// //判断为下午上班打卡迟到或早退
// {
// //如果存在中午签到记录
// //判断为下班早退
// if (attendancerecord.Count(m => m.ADType == "7") > 0)
// {
// //早退判断
// //获取早退范围
// if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0)
// {
// DateTime offworkDateTimeFree = offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
// if (devicetime >= offworkDateTimeFree)//在允许早退范围内记为正常
// {
// ADType = "2";//下班
// ClockStatus = "1";//正常
// }
// else//超出早退范围视为早退
// {
// ADType = "2";//下班
// ClockStatus = "3";//早退
// }
// }
// else
// {
// ADType = "2";//下班
// ClockStatus = "3";//早退
// }
// }
// else
// {
// //获取迟到范围
// if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)
// {
// //最晚签到时间
// DateTime workDateTimeFree = workDateTimelunch.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
// if (devicetime <= workDateTimeFree)//在允许迟到范围内记为正常
// {
// ADType = "7";//中午上班
// ClockStatus = "1";//正常
// }
// else
// {
// ADType = "7";//中午上班
// ClockStatus = "2";//迟到
// }
// }
// else
// {
// ADType = "7";//中午上班
// ClockStatus = "2";//迟到
// }
// }
// }
// }
// }
//}

#endregion



ADR_RecordEntity adrRecordEntity = new ADR_RecordEntity();
adrRecordEntity.Create();
adrRecordEntity.UserNo = EmpNo;
@@ -830,6 +1047,137 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
}
}

/// <summary>
/// 判断当前时间是否可以打卡
/// </summary>
/// <returns></returns>
public bool IsAttendance()
{
try
{
//当前服务器日期
var datenow = DateTime.Now.ToString("yyyy-MM-dd");

var datetimenow = DateTime.Now;
var EmpNo = LoginUserInfo.Get().account;

//首先获取考勤规则
var attendancerulEntity = this.BaseRepository("CollegeMIS").FindEntity<ADR_RestrictionEntity>(m => m.REnable == true);
//上班时间
DateTime workDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.WorkTime);
//上班考勤时间段
DateTime signInStartTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignInStartTime);
DateTime signInEndTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignInEndTime);

//下班时间
DateTime offworkDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.CloseTime);
//下班考勤时间段
DateTime signOutStartTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignOutStartTime);
DateTime signOutEndTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignOutEndTime);

//小于上班考勤开始时间或大于下班考勤结束时间,不允许打卡
if (datetimenow < signInStartTime || datetimenow > signOutEndTime)
{
return false;
}
string strTimeYear = (datetimenow.Year).ToString();
string strTimeMonth = (datetimenow.Month).ToString("d2");
string strTimeDay = (datetimenow.Day).ToString("d2");
//该用户当日签到记录
var attendancerecordList = this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(
"select * from ADR_Record where ADYear='" + strTimeYear + "' and ADMonth='" +
strTimeMonth + "' and ADDay='" + strTimeDay + "' and UserNo='" + EmpNo + "'").ToList();

//下班最早签退时间
DateTime offworkDateTimeFree = signOutStartTime;
if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0
) //如果允许早退,获取范围
{
offworkDateTimeFree =
offworkDateTime.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
}
if (attendancerulEntity.ClockTime == "二次打卡")
{
//上班
if (datetimenow > signInStartTime && datetimenow < offworkDateTimeFree && attendancerecordList.Count(x => x.ADType == "1") > 0)
{
return false;
}
//下班
else if (datetimenow > offworkDateTimeFree && datetimenow < signOutEndTime && attendancerecordList.Count(x => x.ADType == "2") > 0)
{
return false;
}
}
else//四次打卡
{
//中午下班时间
DateTime offworkDateTimelunch = Convert.ToDateTime(datenow + " " + attendancerulEntity.NoonCloseTime);
//中午下班考勤时间段
DateTime offworkstartlunch = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignOutStartTime2);
DateTime offworkendlunch = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignOutEndTime2);

//中午上班时间
DateTime workDateTimelunch = Convert.ToDateTime(datenow + " " + attendancerulEntity.NoonWorkTime);
//中午上班考勤时间段
DateTime workstartlunch = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignInStartTime2);
DateTime workendlunch = Convert.ToDateTime(datenow + " " + attendancerulEntity.SignInEndTime2);

//中午最早签退时间,默认中午下班开始时间。
DateTime offworkDateTimelunchFree = offworkstartlunch;
if (attendancerulEntity.LeaveOverTime.HasValue && attendancerulEntity.LeaveOverTime != 0) //如果允许早退,获取范围
{
offworkDateTimelunchFree =
offworkDateTimelunch.AddMinutes(-Convert.ToDouble(attendancerulEntity.LeaveOverTime));
}
////中午最晚签到时间
//DateTime workDateTimelunchFree = workendlunch;
////获取迟到范围
//if (attendancerulEntity.LateOvertime.HasValue && attendancerulEntity.LateOvertime != 0)
//{
// workDateTimelunchFree = workDateTimelunch.AddMinutes(Convert.ToDouble(attendancerulEntity.LateOvertime));
//}

//上班 大于上班开始时间 ,小于中午最早签退时间
if (datetimenow > signInStartTime && datetimenow < offworkDateTimelunchFree && attendancerecordList.Count(x => x.ADType == "1") > 0)
{
return false;
}
//中午下班 大于中午最早签退时间,小于 中午下班结束时间
else if (datetimenow > offworkDateTimelunchFree && datetimenow < offworkendlunch && attendancerecordList.Count(x => x.ADType == "8") > 0)
{
return false;
}
//中午上班 大于中午上班开始时间,小于下班最早签退时间
else if (datetimenow > workstartlunch && datetimenow < offworkDateTimeFree &&
attendancerecordList.Count(x => x.ADType == "7") > 0)
{
return false;
}
//下班 大于下班最早签退时间,小于 下班结束时间
else if (datetimenow > offworkDateTimeFree && datetimenow < signOutEndTime && attendancerecordList.Count(x => x.ADType == "2") > 0)
{
return false;
}

}


return true;
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

#endregion

public ADR_RestrictionEntity GetADR_RestrictionEntityEnabled()


Carregando…
Cancelar
Salvar