Просмотр исходного кода

考勤机对接功能

大厂分支
liangkun 4 лет назад
Родитель
Сommit
4ef62c3430
92 измененных файлов: 41051 добавлений и 1058 удалений
  1. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ADR_Device/Form.cshtml
  2. +28
    -19
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ADR_Device/Index.js
  3. +20
    -8
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ADR_DeviceLog/Index.js
  4. +3
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/ADR_RecordController.cs
  5. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/Form.cshtml
  6. +0
    -4
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/Index.cshtml
  7. +21
    -22
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/Index.js
  8. +0
    -111
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/ADR_RecordController.cs
  9. +0
    -39
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Record/Form.cshtml
  10. +0
    -56
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Record/Form.js
  11. +0
    -39
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Record/Index.cshtml
  12. +0
    -145
      Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Record/Index.js
  13. +0
    -5
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  14. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/LogisticsManagement/ADR_RecordApi.cs
  15. +139
    -85
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/DBModel/资产系统.PDM
  16. +38
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_Device/ADR_DeviceBLL.cs
  17. +5
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_Device/ADR_DeviceEntity.cs
  18. +2
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_Device/ADR_DeviceIBLL.cs
  19. +49
    -13
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_Device/ADR_DeviceService.cs
  20. +1
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_DeviceLog/ADR_DeviceLogEntity.cs
  21. +0
    -4
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj
  22. +20
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordBLL.cs
  23. +24
    -9
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordEntity.cs
  24. +3
    -1
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordIBLL.cs
  25. +33
    -37
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordService.cs
  26. +0
    -124
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Record/ADR_RecordBLL.cs
  27. +0
    -85
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Record/ADR_RecordEntity.cs
  28. +0
    -49
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Record/ADR_RecordIBLL.cs
  29. +0
    -163
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Record/ADR_RecordService.cs
  30. +19
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionBLL.cs
  31. +5
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionEntity.cs
  32. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionIBLL.cs
  33. +18
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionService.cs
  34. +30
    -29
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/App.config
  35. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCCore.dll
  36. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDK.dll
  37. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/AnalyzeData.dll
  38. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/AudioIntercom.dll
  39. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCAlarm.dll
  40. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCAlarm.lib
  41. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCCoreDevCfg.dll
  42. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCDisplay.dll
  43. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCGeneralCfgMgr.dll
  44. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCGeneralCfgMgr.lib
  45. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCIndustry.dll
  46. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCPlayBack.dll
  47. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCPreview.dll
  48. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCPreview.lib
  49. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCVoiceTalk.dll
  50. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/OpenAL32.dll
  51. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/StreamTransClient.dll
  52. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/SystemTransform.dll
  53. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/libiconv2.dll
  54. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/Newtonsoft.Json.dll
  55. +11262
    -0
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/Newtonsoft.Json.xml
  56. +31
    -1
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/Quanjiang.DigitalScholl.JobService.csproj
  57. +481
    -0
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/Service1.cs
  58. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/hlog.dll
  59. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/hpr.dll
  60. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/libeay32.dll
  61. +26
    -0
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/log4cxx.properties
  62. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/ssleay32.dll
  63. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/zlib1.dll
  64. +17496
    -0
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/CHCNetSDK.cs
  65. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCCore.dll
  66. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDK.dll
  67. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/AnalyzeData.dll
  68. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/AudioIntercom.dll
  69. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCAlarm.dll
  70. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCAlarm.lib
  71. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCCoreDevCfg.dll
  72. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCDisplay.dll
  73. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCGeneralCfgMgr.dll
  74. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCGeneralCfgMgr.lib
  75. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCIndustry.dll
  76. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCPlayBack.dll
  77. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCPreview.dll
  78. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCPreview.lib
  79. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCVoiceTalk.dll
  80. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/OpenAL32.dll
  81. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/StreamTransClient.dll
  82. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/SystemTransform.dll
  83. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/libiconv2.dll
  84. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/Newtonsoft.Json.dll
  85. +11262
    -0
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/Newtonsoft.Json.xml
  86. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/hlog.dll
  87. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/hpr.dll
  88. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/libeay32.dll
  89. +26
    -0
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/log4cxx.properties
  90. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/ssleay32.dll
  91. Двоичные данные
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/zlib1.dll
  92. +3
    -0
      Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/文件部署说明.txt

+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ADR_Device/Form.cshtml Просмотреть файл

@@ -28,8 +28,8 @@
<input id="AdminPwd" type="text" class="form-control" isvalid="yes" checkexpession="NotNull" />
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Device" >
<div class="lr-form-item-title">是否启用</div>
<div id="F_EnabledMark"></div>
<div class="lr-form-item-title">是否启用 <font face="宋体">*</font></div>
<div id="F_EnabledMark" isvalid="yes" checkexpession="NotNull" ></div>
</div>
</div>
@Html.AppendJsFile("/Areas/EducationalAdministration/Views/ADR_Device/Form.js")

+ 28
- 19
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ADR_Device/Index.js Просмотреть файл

@@ -52,7 +52,7 @@ var bootstrap = function ($, learun) {
if (learun.checkrow(keyValue)) {
learun.layerConfirm('是否确认删除该项!', function (res) {
if (res) {
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ADR_Device/DeleteForm', { keyValue: keyValue}, function () {
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ADR_Device/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
@@ -65,31 +65,40 @@ var bootstrap = function ($, learun) {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/EducationalAdministration/ADR_Device/GetPageList',
headData: [
{ label: "设备名称", name: "DName", width: 100, align: "left"},
{ label: "设备编号", name: "DCode", width: 100, align: "left"},
{ label: "Ip地址", name: "IpAddress", width: 200, align: "left"},
{ label: "端口号", name: "PortNumber", width: 50, align: "left"},
{ label: "管理员帐号", name: "AdminAccount", width: 100, align: "left"},
{ label: "管理员密码", name: "AdminPwd", width: 100, align: "left"},
{ label: "是否启用", name: "F_EnabledMark", width: 100, align: "left",
formatterAsync: function (callback, value, row, op,$cell) {
learun.clientdata.getAsync('dataItem', {
key: value,
code: 'YesOrNoInt',
callback: function (_data) {
callback(_data.text);
}
});
}},
{ label: "设备名称", name: "DName", width: 100, align: "left" },
{ label: "设备编号", name: "DCode", width: 100, align: "left" },
{ label: "Ip地址", name: "IpAddress", width: 200, align: "left" },
{ label: "端口号", name: "PortNumber", width: 50, align: "left" },
{ label: "管理员帐号", name: "AdminAccount", width: 100, align: "left" },
{ label: "管理员密码", name: "AdminPwd", width: 100, align: "left" },
{
label: "是否启用", name: "F_EnabledMark", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('dataItem', {
key: value,
code: 'YesOrNoInt',
callback: function (_data) {
callback(_data.text);
}
});
}
},
{
label: "是否布防", name: "DOnlineStatus", width: 100, align: "left",
formatter: function (cellvalue) {
return cellvalue == true ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
}
},
{ label: "最后通讯时间", name: "DConnectDate", width: 100, align: "left" }
],
mainId:'Id',
mainId: 'Id',
isPage: true
});
page.search();
},
search: function (param) {
param = param || {};
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) });
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {


+ 20
- 8
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/ADR_DeviceLog/Index.js Просмотреть файл

@@ -84,7 +84,7 @@ var bootstrap = function ($, learun) {
if (learun.checkrow(keyValue)) {
learun.layerConfirm('是否确认删除该项!', function (res) {
if (res) {
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ADR_DeviceLog/DeleteForm', { keyValue: keyValue}, function () {
learun.deleteForm(top.$.rootUrl + '/EducationalAdministration/ADR_DeviceLog/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
@@ -97,20 +97,32 @@ var bootstrap = function ($, learun) {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/EducationalAdministration/ADR_DeviceLog/GetPageList',
headData: [
{ label: "考勤设备", name: "DeviceId", width: 100, align: "left"},
{ label: "日志类型", name: "LogType", width: 100, align: "left"},
{ label: "日志内容", name: "LogData", width: 100, align: "left"},
{ label: "日志记录时间", name: "F_CreateDate", width: 100, align: "left"},
{
label: "考勤设备", name: "DeviceId", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('custmerData', {
url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'ADR_Device',
key: value,
keyId: 'id',
callback: function (_data) {
callback(_data['dname']);
}
});
}
},
{ label: "日志类型", name: "LogType", width: 100, align: "left" },
{ label: "日志内容", name: "LogData", width: 100, align: "left" },
{ label: "日志记录时间", name: "F_CreateDate", width: 100, align: "left" }
],
mainId:'LogId',
isPage: true
mainId: 'LogId',
isPage: true,
sidx: 'F_CreateDate desc'
});
},
search: function (param) {
param = param || {};
param.StartTime = startTime;
param.EndTime = endTime;
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) });
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {


+ 3
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Controllers/ADR_RecordController.cs Просмотреть файл

@@ -115,8 +115,9 @@ namespace Learun.Application.Web.Areas.LogisticsManagement.Controllers
[AjaxOnly]
public ActionResult SaveForm(string keyValue, string strEntity)
{
UserInfo userInfo = LoginUserInfo.Get(); ADR_RecordEntity entity = strEntity.ToObject<ADR_RecordEntity>();
aDR_RecordIBLL.SaveEntity(userInfo,keyValue,entity);
UserInfo userInfo = LoginUserInfo.Get();
ADR_RecordEntity entity = strEntity.ToObject<ADR_RecordEntity>();
aDR_RecordIBLL.SaveEntity(keyValue,entity);
return Success("保存成功!");
}
#endregion


+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/Form.cshtml Просмотреть файл

@@ -12,8 +12,8 @@
<div id="Department" ></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">考勤日期</div>
<input id="ADDate" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#ADDate').trigger('change'); } })" />
<div class="lr-form-item-title">考勤类型</div>
<div id="ADType"></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">考勤时间</div>


+ 0
- 4
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/Index.cshtml Просмотреть файл

@@ -21,9 +21,6 @@
<div class="lr-form-item-title">部门</div>
<div id="Department"></div>
</div>
<div class="col-xs-12 lr-form-item">
<div class="lr-form-item-title">考勤时间</div>
</div>
</div>
</div>
</div>
@@ -36,7 +33,6 @@
<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_print" class="btn btn-default"><i class="fa fa-print"></i>&nbsp;打印</a>
</div>
</div>
</div>


+ 21
- 22
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/LogisticsManagement/Views/ADR_Record/Index.js Просмотреть файл

@@ -85,40 +85,39 @@ var bootstrap = function ($, learun) {
if (learun.checkrow(keyValue)) {
learun.layerConfirm('是否确认删除该项!', function (res) {
if (res) {
learun.deleteForm(top.$.rootUrl + '/LogisticsManagement/ADR_Record/DeleteForm', { keyValue: keyValue}, function () {
learun.deleteForm(top.$.rootUrl + '/LogisticsManagement/ADR_Record/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
// 打印
$('#lr_print').on('click', function () {
$('#gridtable').jqprintTable();
});
},
// 初始化列表
initGird: function () {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/LogisticsManagement/ADR_Record/GetPageList',
headData: [
{ label: "员工名字", name: "UserName", width: 100, align: "left"},
{ label: "部门", name: "Department", width: 100, align: "left",
formatterAsync: function (callback, value, row, op,$cell) {
learun.clientdata.getAsync('department', {
key: value,
callback: function (_data) {
callback(_data.name);
}
});
}},
{ label: "考勤日期", name: "ADDate", width: 100, align: "left"},
{ label: "考勤时间", name: "ADTime", width: 100, align: "left"},
{ label: "打卡时间", name: "ClockTime", width: 100, align: "left"},
{ label: "打卡状态", name: "ClockStatus", width: 100, align: "left"},
{ label: "打卡地点", name: "ClockPlace", width: 100, align: "left"},
{ label: "员工名字", name: "UserName", width: 100, align: "left" },
{ label: "员工编号", name: "UserNo", width: 100, align: "left" },
{
label: "部门", name: "Department", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('department', {
key: value,
callback: function (_data) {
callback(_data.name);
}
});
}
},
{ label: "考勤类型", name: "ADType", width: 100, align: "left" },
{ label: "考勤时间", name: "ADTime", width: 100, align: "left" },
{ label: "打卡时间", name: "ClockTime", width: 100, align: "left" },
{ label: "打卡结果", name: "ClockStatus", width: 100, align: "left" },
{ label: "打卡地点", name: "ClockPlace", width: 100, align: "left" },
],
mainId:'ID',
mainId: 'ID',
isPage: true
});
},
@@ -126,7 +125,7 @@ var bootstrap = function ($, learun) {
param = param || {};
param.StartTime = startTime;
param.EndTime = endTime;
$('#gridtable').jfGridSet('reload',{ queryJson: JSON.stringify(param) });
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {


+ 0
- 111
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/ADR_RecordController.cs Просмотреть файл

@@ -1,111 +0,0 @@
using Learun.Util;
using System.Data;
using Learun.Application.TwoDevelopment.PersonnelManagement;
using System.Web.Mvc;
using System.Collections.Generic;

namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
{
/// <summary>
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2020-08-26 15:16
/// 描 述:考勤记录
/// </summary>
public class ADR_RecordController : MvcControllerBase
{
private ADR_RecordIBLL aDR_RecordIBLL = new ADR_RecordBLL();

#region 视图功能

/// <summary>
/// 主页面
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Index()
{
return View();
}
/// <summary>
/// 表单页
/// <summary>
/// <returns></returns>
[HttpGet]
public ActionResult Form()
{
return View();
}
#endregion

#region 获取数据

/// <summary>
/// 获取页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject<Pagination>();
var data = aDR_RecordIBLL.GetPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
/// <summary>
/// 获取表单数据
/// <summary>
/// <returns></returns>
[HttpGet]
[AjaxOnly]
public ActionResult GetFormData(string keyValue)
{
var ADR_RecordData = aDR_RecordIBLL.GetADR_RecordEntity( keyValue );
var jsonData = new {
ADR_Record = ADR_RecordData,
};
return Success(jsonData);
}
#endregion

#region 提交数据

/// <summary>
/// 删除实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
aDR_RecordIBLL.DeleteEntity(keyValue);
return Success("删除成功!");
}
/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue, string strEntity)
{
ADR_RecordEntity entity = strEntity.ToObject<ADR_RecordEntity>();
aDR_RecordIBLL.SaveEntity(keyValue,entity);
return Success("保存成功!");
}
#endregion

}
}

+ 0
- 39
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Record/Form.cshtml Просмотреть файл

@@ -1,39 +0,0 @@
@{
ViewBag.Title = "考勤记录";
Layout = "~/Views/Shared/_Form.cshtml";
}
<div class="lr-form-wrap">
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">员工名字</div>
<input id="UserName" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">员工编号</div>
<div id="UserNo" ></div>
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">部门</div>
<input id="Department" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">考勤日期</div>
<input id="ADDate" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#ADDate').trigger('change'); } })" />
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">考勤时间</div>
<input id="ADTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm',onpicked: function () { $('#ADTime').trigger('change'); } })" />
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">打卡时间</div>
<input id="ClockTime" type="text" class="form-control lr-input-wdatepicker" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd',onpicked: function () { $('#ClockTime').trigger('change'); } })" />
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">打卡状态</div>
<input id="ClockStatus" type="text" class="form-control" />
</div>
<div class="col-xs-12 lr-form-item" data-table="ADR_Record" >
<div class="lr-form-item-title">打卡地点</div>
<input id="ClockPlace" type="text" class="form-control" />
</div>
</div>
@Html.AppendJsFile("/Areas/PersonnelManagement/Views/ADR_Record/Form.js")

+ 0
- 56
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Record/Form.js Просмотреть файл

@@ -1,56 +0,0 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2020-08-26 15:16
* 描 述:考勤记录
*/
var acceptClick;
var keyValue = request('keyValue');
var bootstrap = function ($, learun) {
"use strict";
var page = {
init: function () {
$('.lr-form-wrap').lrscroll();
page.bind();
page.initData();
},
bind: function () {
$('#UserNo').lrformselect({
layerUrl: top.$.rootUrl + '/LR_OrganizationModule/User/SelectOnlyForm',
layerUrlW: 400,
layerUrlH: 300,
dataUrl: top.$.rootUrl + '/LR_OrganizationModule/User/GetListByUserIds'
});
},
initData: function () {
if (!!keyValue) {
$.lrSetForm(top.$.rootUrl + '/PersonnelManagement/ADR_Record/GetFormData?keyValue=' + keyValue, function (data) {
for (var id in data) {
if (!!data[id].length && data[id].length > 0) {
$('#' + id ).jfGridSet('refreshdata', data[id]);
}
else {
$('[data-table="' + id + '"]').lrSetFormData(data[id]);
}
}
});
}
}
};
// 保存数据
acceptClick = function (callBack) {
if (!$('body').lrValidform()) {
return false;
}
var postData = {
strEntity: JSON.stringify($('body').lrGetFormData())
};
$.lrSaveForm(top.$.rootUrl + '/PersonnelManagement/ADR_Record/SaveForm?keyValue=' + keyValue, postData, function (res) {
// 保存成功后才回调
if (!!callBack) {
callBack();
}
});
};
page.init();
}

+ 0
- 39
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Record/Index.cshtml Просмотреть файл

@@ -1,39 +0,0 @@
@{
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="datesearch"></div>
</div>
<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="UserNo"></div>
</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>
</div>
<div class=" btn-group btn-group-sm" learun-authorize="yes">
<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>
</div>
</div>
</div>
<div class="lr-layout-body" id="gridtable"></div>
</div>
</div>
</div>
@Html.AppendJsFile("/Areas/PersonnelManagement/Views/ADR_Record/Index.js")

+ 0
- 145
Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/ADR_Record/Index.js Просмотреть файл

@@ -1,145 +0,0 @@
/* * 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园(http://www.learun.cn)
* Copyright (c) 2013-2018 北京泉江科技有限公司
* 创建人:超级管理员
* 日 期:2020-08-26 15:16
* 描 述:考勤记录
*/
var refreshGirdData;
var bootstrap = function ($, learun) {
"use strict";
var startTime;
var endTime;
var page = {
init: function () {
page.initGird();
page.bind();
},
bind: function () {
// 时间搜索框
$('#datesearch').lrdate({
dfdata: [
{ name: '今天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00') }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
{ name: '近7天', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'd', -6) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
{ name: '近1个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -1) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } },
{ name: '近3个月', begin: function () { return learun.getDate('yyyy-MM-dd 00:00:00', 'm', -3) }, end: function () { return learun.getDate('yyyy-MM-dd 23:59:59') } }
],
// 月
mShow: false,
premShow: false,
// 季度
jShow: false,
prejShow: false,
// 年
ysShow: false,
yxShow: false,
preyShow: false,
yShow: false,
// 默认
dfvalue: '1',
selectfn: function (begin, end) {
startTime = begin;
endTime = end;
page.search();
}
});
$('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
page.search(queryJson);
}, 220, 400);
$('#UserNo').lrUserSelect(0);
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
});
// 新增
$('#lr_add').on('click', function () {
learun.layerForm({
id: 'form',
title: '新增',
url: top.$.rootUrl + '/PersonnelManagement/ADR_Record/Form',
width: 600,
height: 400,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
});
// 编辑
$('#lr_edit').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('ID');
if (learun.checkrow(keyValue)) {
learun.layerForm({
id: 'form',
title: '编辑',
url: top.$.rootUrl + '/PersonnelManagement/ADR_Record/Form?keyValue=' + keyValue,
width: 600,
height: 400,
callBack: function (id) {
return top[id].acceptClick(refreshGirdData);
}
});
}
});
// 删除
$('#lr_delete').on('click', function () {
var keyValue = $('#gridtable').jfGridValue('ID');
if (learun.checkrow(keyValue)) {
learun.layerConfirm('是否确认删除该项!', function (res) {
if (res) {
learun.deleteForm(top.$.rootUrl + '/PersonnelManagement/ADR_Record/DeleteForm', { keyValue: keyValue }, function () {
refreshGirdData();
});
}
});
}
});
},
// 初始化列表
initGird: function () {
$('#gridtable').lrAuthorizeJfGrid({
url: top.$.rootUrl + '/PersonnelManagement/ADR_Record/GetPageList',
headData: [
{ label: "员工名字", name: "UserName", width: 100, align: "left" },
{
label: "员工编号", name: "UserNo", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('user', {
key: value,
callback: function (_data) {
callback(_data.name);
}
});
}
},
{ label: "部门", name: "Department", width: 100, align: "left" },
{ label: "考勤日期", name: "ADDate", width: 100, align: "left" },
{ label: "考勤时间", name: "ADTime", width: 100, align: "left" },
{ label: "打卡时间", name: "ClockTime", width: 100, align: "left" },
{
label: "打卡状态", name: "ClockStatus", width: 100, align: "left", formatterAsync: function (callback, value, row, op, $cell) {
learun.clientdata.getAsync('dataItem', {
key: value,
code: 'ADR_Status',
callback: function (_data) {
callback(_data.text);
}
});
}
},
{ label: "打卡地点", name: "ClockPlace", width: 100, align: "left" },
],
mainId: 'ID',
isPage: true
});
},
search: function (param) {
param = param || {};
param.StartTime = startTime;
param.EndTime = endTime;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
refreshGirdData = function () {
page.search();
};
page.init();
}

+ 0
- 5
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj Просмотреть файл

@@ -797,7 +797,6 @@
<Compile Include="Areas\EducationalAdministration\Controllers\BC_SupplyAndDemandMettingController.cs" />
<Compile Include="Areas\EducationalAdministration\Controllers\BC_SpecialDestinationController.cs" />
<Compile Include="Areas\EducationalAdministration\Controllers\BC_EPIController.cs" />
<Compile Include="Areas\PersonnelManagement\Controllers\ADR_RecordController.cs" />
<Compile Include="Areas\LogisticsManagement\Controllers\ADR_RecordController.cs" />
<Compile Include="Startup1.cs" />
<Compile Include="Areas\EducationalAdministration\Controllers\ADR_DeviceController.cs" />
@@ -6045,10 +6044,6 @@
<Content Include="Areas\EducationalAdministration\Views\BC_EPI\Index.js" />
<Content Include="Areas\EducationalAdministration\Views\BC_EPI\Form.cshtml" />
<Content Include="Areas\EducationalAdministration\Views\BC_EPI\Form.js" />
<Content Include="Areas\PersonnelManagement\Views\ADR_Record\Index.cshtml" />
<Content Include="Areas\PersonnelManagement\Views\ADR_Record\Index.js" />
<Content Include="Areas\PersonnelManagement\Views\ADR_Record\Form.cshtml" />
<Content Include="Areas\PersonnelManagement\Views\ADR_Record\Form.js" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\Index.cshtml" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\Index.js" />
<Content Include="Areas\LogisticsManagement\Views\ADR_Record\Form.cshtml" />


+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/LogisticsManagement/ADR_RecordApi.cs Просмотреть файл

@@ -96,7 +96,7 @@ namespace Learun.Application.WebApi
{
ReqFormEntity parameter = this.GetReqData<ReqFormEntity>();
ADR_RecordEntity entity = parameter.strEntity.ToObject<ADR_RecordEntity>();
aDR_RecordIBLL.SaveEntity(this.userInfo,parameter.keyValue,entity);
aDR_RecordIBLL.SaveEntity(parameter.keyValue,entity);
return Success("保存成功!");
}
#endregion


+ 139
- 85
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/DBModel/资产系统.PDM Просмотреть файл

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?PowerDesigner AppLocale="UTF16" ID="{88086B01-C9E1-11D4-9552-0090277716A9}" Label="" LastModificationDate="1599115543" Name="Physical Data Model 1" Objects="3245" Symbols="380" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<?PowerDesigner AppLocale="UTF16" ID="{88086B01-C9E1-11D4-9552-0090277716A9}" Label="" LastModificationDate="1599202395" Name="Physical Data Model 1" Objects="3248" Symbols="378" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<!-- do not edit this file -->

<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@@ -11846,9 +11846,9 @@ LABL 0 新宋体,8,N</a:FontList>
</o:TableSymbol>
<o:TableSymbol Id="o619">
<a:CreationDate>1598423768</a:CreationDate>
<a:ModificationDate>1599114136</a:ModificationDate>
<a:ModificationDate>1599201856</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
<a:Rect>((-121671,194471), (-110755,203319))</a:Rect>
<a:Rect>((-140220,176396), (-109606,188544))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@@ -11925,9 +11925,9 @@ LABL 0 新宋体,8,N</a:FontList>
</o:TableSymbol>
<o:TableSymbol Id="o625">
<a:CreationDate>1599114139</a:CreationDate>
<a:ModificationDate>1599115543</a:ModificationDate>
<a:ModificationDate>1599193158</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
<a:Rect>((-109762,192885), (-97300,203383))</a:Rect>
<a:Rect>((-118462,192473), (-106000,203795))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@@ -47122,8 +47122,8 @@ B9AF
<a:Code>ADR_Record</a:Code>
<a:CreationDate>1598423768</a:CreationDate>
<a:Creator>edz</a:Creator>
<a:ModificationDate>1598424947</a:ModificationDate>
<a:Modifier>edz</a:Modifier>
<a:ModificationDate>1599193860</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>考情记录</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
@@ -47178,46 +47178,46 @@ B9AF
</o:Column>
<o:Column Id="o3131">
<a:ObjectID>6147E3D6-4E3F-4BA5-AF58-25F53CB8B8BD</a:ObjectID>
<a:Name>考勤日期</a:Name>
<a:Code>ADDate</a:Code>
<a:Name>考勤类型0-未定义,1-上班,2-下班,3-开始休息,4-结束休息,5-开始加班,6-结束加班</a:Name>
<a:Code>ADType</a:Code>
<a:CreationDate>1598424586</a:CreationDate>
<a:Creator>edz</a:Creator>
<a:ModificationDate>1598424947</a:ModificationDate>
<a:Modifier>edz</a:Modifier>
<a:ModificationDate>1599193151</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>考勤日期</a:Comment>
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3132">
<a:ObjectID>80AC9656-F8DC-4B99-8953-80912F185017</a:ObjectID>
<a:Name>考勤时间</a:Name>
<a:Name>考勤时间(服务器时间)</a:Name>
<a:Code>ADTime</a:Code>
<a:CreationDate>1598423771</a:CreationDate>
<a:Creator>edz</a:Creator>
<a:ModificationDate>1598424582</a:ModificationDate>
<a:Modifier>edz</a:Modifier>
<a:ModificationDate>1599193860</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>考勤时间</a:Comment>
<a:DataType>datetime</a:DataType>
</o:Column>
<o:Column Id="o3133">
<a:ObjectID>B34FD47D-8580-4F17-B8AF-E3703F691999</a:ObjectID>
<a:Name>打卡时间</a:Name>
<a:Name>打卡时间(考勤机时间)</a:Name>
<a:Code>ClockTime</a:Code>
<a:CreationDate>1598423771</a:CreationDate>
<a:Creator>edz</a:Creator>
<a:ModificationDate>1598424582</a:ModificationDate>
<a:Modifier>edz</a:Modifier>
<a:ModificationDate>1599193860</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>打卡时间</a:Comment>
<a:DataType>datetime</a:DataType>
</o:Column>
<o:Column Id="o3134">
<a:ObjectID>4BD51C76-BEFE-4830-861B-61AB5EDD796F</a:ObjectID>
<a:Name>打卡结果</a:Name>
<a:Name>打卡结果1正常,2迟到,3早退,4上班补签,5下班补签</a:Name>
<a:Code>ClockStatus</a:Code>
<a:CreationDate>1598423771</a:CreationDate>
<a:Creator>edz</a:Creator>
<a:ModificationDate>1598424582</a:ModificationDate>
<a:Modifier>edz</a:Modifier>
<a:ModificationDate>1599201781</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>打卡</a:Comment>
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
@@ -47234,9 +47234,42 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3136">
<a:ObjectID>0E425B78-ADDD-4476-89D5-0AF3652B2BB9</a:ObjectID>
<a:Name>考勤年</a:Name>
<a:Code>ADYear</a:Code>
<a:CreationDate>1599193179</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1599193860</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3137">
<a:ObjectID>A65C1C9A-E08C-433F-A2F5-5951E08C311F</a:ObjectID>
<a:Name>考勤月</a:Name>
<a:Code>ADMonth</a:Code>
<a:CreationDate>1599193179</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1599193860</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3138">
<a:ObjectID>E7E08171-0365-4AD0-85AA-FC6975A5F506</a:ObjectID>
<a:Name>考勤日</a:Name>
<a:Code>ADDay</a:Code>
<a:CreationDate>1599193179</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1599193860</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o3136">
<o:Key Id="o3139">
<a:ObjectID>99F727D3-CAB0-4E9A-A661-D3347EF8CD96</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@@ -47250,10 +47283,10 @@ B9AF
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o3136"/>
<o:Key Ref="o3139"/>
</c:PrimaryKey>
<c:ClusterObject>
<o:Key Ref="o3136"/>
<o:Key Ref="o3139"/>
</c:ClusterObject>
</o:Table>
<o:Table Id="o622">
@@ -47262,12 +47295,12 @@ B9AF
<a:Code>ADR_Device</a:Code>
<a:CreationDate>1599104676</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1599106965</a:ModificationDate>
<a:ModificationDate>1599128374</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>考勤设备管理</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
<o:Column Id="o3137">
<o:Column Id="o3140">
<a:ObjectID>9D249636-3C2D-4FC5-A874-DFE2F2155F8B</a:ObjectID>
<a:Name>Id</a:Name>
<a:Code>Id</a:Code>
@@ -47279,7 +47312,7 @@ B9AF
<a:Length>50</a:Length>
<a:Column.Mandatory>1</a:Column.Mandatory>
</o:Column>
<o:Column Id="o3138">
<o:Column Id="o3141">
<a:ObjectID>12FB6C42-EF4F-4AED-90C3-7B5E9929E9FD</a:ObjectID>
<a:Name>设备名称</a:Name>
<a:Code>DName</a:Code>
@@ -47290,7 +47323,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3139">
<o:Column Id="o3142">
<a:ObjectID>CFC854AC-7287-4EDA-AC5F-8D5E5B3B5338</a:ObjectID>
<a:Name>设备编号</a:Name>
<a:Code>DCode</a:Code>
@@ -47301,7 +47334,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3140">
<o:Column Id="o3143">
<a:ObjectID>925DAAC4-4C87-4D50-B506-2B84B5D762B2</a:ObjectID>
<a:Name>Ip地址</a:Name>
<a:Code>IpAddress</a:Code>
@@ -47312,7 +47345,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3141">
<o:Column Id="o3144">
<a:ObjectID>81D77744-A546-4C7C-87D2-1C6345B6C650</a:ObjectID>
<a:Name>端口号</a:Name>
<a:Code>PortNumber</a:Code>
@@ -47322,7 +47355,7 @@ B9AF
<a:Modifier>Administrator</a:Modifier>
<a:DataType>int</a:DataType>
</o:Column>
<o:Column Id="o3142">
<o:Column Id="o3145">
<a:ObjectID>D693475B-44DD-43B6-8417-16D6E6CB9752</a:ObjectID>
<a:Name>管理员帐号</a:Name>
<a:Code>AdminAccount</a:Code>
@@ -47333,7 +47366,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3143">
<o:Column Id="o3146">
<a:ObjectID>1C21FD25-CF5E-471F-BB1E-DAFFCB9622ED</a:ObjectID>
<a:Name>管理员密码</a:Name>
<a:Code>AdminPwd</a:Code>
@@ -47344,7 +47377,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3144">
<o:Column Id="o3147">
<a:ObjectID>F4CB8471-DA6E-4739-A65E-F0B273A35B71</a:ObjectID>
<a:Name>是否启用</a:Name>
<a:Code>F_EnabledMark</a:Code>
@@ -47354,7 +47387,7 @@ B9AF
<a:Modifier>Administrator</a:Modifier>
<a:DataType>int</a:DataType>
</o:Column>
<o:Column Id="o3145">
<o:Column Id="o3148">
<a:ObjectID>71354792-8DB0-44A7-98DC-D63D0DF97800</a:ObjectID>
<a:Name>设备布防状态</a:Name>
<a:Code>DOnlineStatus</a:Code>
@@ -47364,7 +47397,7 @@ B9AF
<a:Modifier>Administrator</a:Modifier>
<a:DataType>bit</a:DataType>
</o:Column>
<o:Column Id="o3146">
<o:Column Id="o3149">
<a:ObjectID>601184F9-95FC-4887-B9E4-1DCEDBE8A26E</a:ObjectID>
<a:Name>设备最后通讯时间</a:Name>
<a:Code>DConnectDate</a:Code>
@@ -47374,7 +47407,18 @@ B9AF
<a:Modifier>Administrator</a:Modifier>
<a:DataType>datetime</a:DataType>
</o:Column>
<o:Column Id="o3147">
<o:Column Id="o3150">
<a:ObjectID>9354AF58-F9F4-4B44-B43A-DAA0CCF27DF6</a:ObjectID>
<a:Name>设备lUserID</a:Name>
<a:Code>DlUserID</a:Code>
<a:CreationDate>1599128322</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1599128374</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3151">
<a:ObjectID>9FDC6101-5468-48DA-913E-0EDFA776E01E</a:ObjectID>
<a:Name>F_CreateDate</a:Name>
<a:Code>F_CreateDate</a:Code>
@@ -47384,7 +47428,7 @@ B9AF
<a:Modifier>Administrator</a:Modifier>
<a:DataType>datetime</a:DataType>
</o:Column>
<o:Column Id="o3148">
<o:Column Id="o3152">
<a:ObjectID>ADE41F7A-D721-457A-8B2B-4C1F186344C5</a:ObjectID>
<a:Name>F_CreateUserId</a:Name>
<a:Code>F_CreateUserId</a:Code>
@@ -47395,7 +47439,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3149">
<o:Column Id="o3153">
<a:ObjectID>9A968663-BAC9-4B8D-8F58-410E553E50B8</a:ObjectID>
<a:Name>F_CreateUserName</a:Name>
<a:Code>F_CreateUserName</a:Code>
@@ -47406,7 +47450,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3150">
<o:Column Id="o3154">
<a:ObjectID>2D7B4825-D319-4740-AD74-2F707908FEEA</a:ObjectID>
<a:Name>F_ModifyDate</a:Name>
<a:Code>F_ModifyDate</a:Code>
@@ -47416,7 +47460,7 @@ B9AF
<a:Modifier>Administrator</a:Modifier>
<a:DataType>datetime</a:DataType>
</o:Column>
<o:Column Id="o3151">
<o:Column Id="o3155">
<a:ObjectID>696D9EF8-31BB-47C5-8526-C322470A96AC</a:ObjectID>
<a:Name>F_ModifyUserId</a:Name>
<a:Code>F_ModifyUserId</a:Code>
@@ -47427,7 +47471,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3152">
<o:Column Id="o3156">
<a:ObjectID>BD0F8981-431B-42EC-A515-F1A2CA46FCA1</a:ObjectID>
<a:Name>F_ModifyUserName</a:Name>
<a:Code>F_ModifyUserName</a:Code>
@@ -47440,7 +47484,7 @@ B9AF
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o3153">
<o:Key Id="o3157">
<a:ObjectID>7D84A058-BAB4-4CA1-B262-896747D61705</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@@ -47449,15 +47493,15 @@ B9AF
<a:ModificationDate>1599104860</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<c:Key.Columns>
<o:Column Ref="o3137"/>
<o:Column Ref="o3140"/>
</c:Key.Columns>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o3153"/>
<o:Key Ref="o3157"/>
</c:PrimaryKey>
<c:ClusterObject>
<o:Key Ref="o3153"/>
<o:Key Ref="o3157"/>
</c:ClusterObject>
</o:Table>
<o:Table Id="o624">
@@ -47471,7 +47515,7 @@ B9AF
<a:Comment>考勤设备日志</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
<o:Column Id="o3154">
<o:Column Id="o3158">
<a:ObjectID>9CEE15F0-DD42-4FA4-B6E7-6D3561423F95</a:ObjectID>
<a:Name>LogId</a:Name>
<a:Code>LogId</a:Code>
@@ -47483,7 +47527,7 @@ B9AF
<a:Length>50</a:Length>
<a:Column.Mandatory>1</a:Column.Mandatory>
</o:Column>
<o:Column Id="o3155">
<o:Column Id="o3159">
<a:ObjectID>FF4B4905-5EB3-4B23-931D-CF2C781C50E7</a:ObjectID>
<a:Name>设备Id</a:Name>
<a:Code>DeviceId</a:Code>
@@ -47494,7 +47538,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3156">
<o:Column Id="o3160">
<a:ObjectID>18DA3B68-1424-4DAF-880F-B9FD2279728B</a:ObjectID>
<a:Name>日志类型</a:Name>
<a:Code>LogType</a:Code>
@@ -47505,7 +47549,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3157">
<o:Column Id="o3161">
<a:ObjectID>0A812357-6E40-46E8-8A20-94C121AF3285</a:ObjectID>
<a:Name>日志记录信息</a:Name>
<a:Code>LogData</a:Code>
@@ -47515,7 +47559,7 @@ B9AF
<a:Modifier>Administrator</a:Modifier>
<a:DataType>nvarchar(Max)</a:DataType>
</o:Column>
<o:Column Id="o3158">
<o:Column Id="o3162">
<a:ObjectID>2029F63E-0C33-4039-93BA-CBEA2E803082</a:ObjectID>
<a:Name>F_CreateDate</a:Name>
<a:Code>F_CreateDate</a:Code>
@@ -47525,7 +47569,7 @@ B9AF
<a:Modifier>Administrator</a:Modifier>
<a:DataType>datetime</a:DataType>
</o:Column>
<o:Column Id="o3159">
<o:Column Id="o3163">
<a:ObjectID>40533AFD-66A4-4F4D-8343-27E5F6A79B56</a:ObjectID>
<a:Name>F_CreateUserId</a:Name>
<a:Code>F_CreateUserId</a:Code>
@@ -47536,7 +47580,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3160">
<o:Column Id="o3164">
<a:ObjectID>7D493CA7-4AFD-4305-8681-6E9B382B9C07</a:ObjectID>
<a:Name>F_CreateUserName</a:Name>
<a:Code>F_CreateUserName</a:Code>
@@ -47547,7 +47591,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3161">
<o:Column Id="o3165">
<a:ObjectID>C195B8D4-14D5-4CDE-9F7A-5B4C2DA8E689</a:ObjectID>
<a:Name>F_ModifyDate</a:Name>
<a:Code>F_ModifyDate</a:Code>
@@ -47557,7 +47601,7 @@ B9AF
<a:Modifier>Administrator</a:Modifier>
<a:DataType>datetime</a:DataType>
</o:Column>
<o:Column Id="o3162">
<o:Column Id="o3166">
<a:ObjectID>1C8B2B07-C690-4888-A179-96F90198212E</a:ObjectID>
<a:Name>F_ModifyUserId</a:Name>
<a:Code>F_ModifyUserId</a:Code>
@@ -47568,7 +47612,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3163">
<o:Column Id="o3167">
<a:ObjectID>CA128145-50F6-4266-809E-34FCDE435CF0</a:ObjectID>
<a:Name>F_ModifyUserName</a:Name>
<a:Code>F_ModifyUserName</a:Code>
@@ -47581,7 +47625,7 @@ B9AF
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o3164">
<o:Key Id="o3168">
<a:ObjectID>C4CDBD69-2DFE-443B-B26A-CEB7655EEDEA</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@@ -47590,15 +47634,15 @@ B9AF
<a:ModificationDate>1599105066</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<c:Key.Columns>
<o:Column Ref="o3154"/>
<o:Column Ref="o3158"/>
</c:Key.Columns>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o3164"/>
<o:Key Ref="o3168"/>
</c:PrimaryKey>
<c:ClusterObject>
<o:Key Ref="o3164"/>
<o:Key Ref="o3168"/>
</c:ClusterObject>
</o:Table>
<o:Table Id="o626">
@@ -47607,12 +47651,12 @@ B9AF
<a:Code>ADR_Restriction</a:Code>
<a:CreationDate>1599114139</a:CreationDate>
<a:Creator>edz</a:Creator>
<a:ModificationDate>1599115046</a:ModificationDate>
<a:Modifier>edz</a:Modifier>
<a:ModificationDate>1599202395</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>考勤限制</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
<o:Column Id="o3165">
<o:Column Id="o3169">
<a:ObjectID>3BFFB929-C500-4FA2-9A09-AF9BF59854F8</a:ObjectID>
<a:Name>编号</a:Name>
<a:Code>ID</a:Code>
@@ -47625,7 +47669,7 @@ B9AF
<a:Length>50</a:Length>
<a:Column.Mandatory>1</a:Column.Mandatory>
</o:Column>
<o:Column Id="o3166">
<o:Column Id="o3170">
<a:ObjectID>93C88E0D-2759-4697-BE6C-43E0CAB2FE07</a:ObjectID>
<a:Name>上班时间</a:Name>
<a:Code>WorkTime</a:Code>
@@ -47637,7 +47681,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3167">
<o:Column Id="o3171">
<a:ObjectID>4078D2EB-E5FF-43D3-8D13-3D8587D2AC49</a:ObjectID>
<a:Name>下班时间</a:Name>
<a:Code>CloseTime</a:Code>
@@ -47649,7 +47693,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3168">
<o:Column Id="o3172">
<a:ObjectID>EE9B7C66-B13F-4559-ADDD-796DEDFCBB5B</a:ObjectID>
<a:Name>签到时间开始</a:Name>
<a:Code>SignInStartTime</a:Code>
@@ -47661,7 +47705,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3169">
<o:Column Id="o3173">
<a:ObjectID>737642C0-24B3-46F2-BE53-2FA629EF6A2B</a:ObjectID>
<a:Name>签到时间结束</a:Name>
<a:Code>SignInEndTime</a:Code>
@@ -47673,7 +47717,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3170">
<o:Column Id="o3174">
<a:ObjectID>C42C687A-FBB6-4D67-8EB6-04E112FC44AB</a:ObjectID>
<a:Name>签退时间开始</a:Name>
<a:Code>SignOutStartTime</a:Code>
@@ -47685,7 +47729,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3171">
<o:Column Id="o3175">
<a:ObjectID>370EEA06-C637-466E-880C-03AFC80DE145</a:ObjectID>
<a:Name>签退时间结束</a:Name>
<a:Code>SignOutEndTime</a:Code>
@@ -47697,7 +47741,7 @@ B9AF
<a:DataType>nvarchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o3172">
<o:Column Id="o3176">
<a:ObjectID>FDD05771-1B66-4DAC-B2B3-4330AC4F9036</a:ObjectID>
<a:Name>迟到超时</a:Name>
<a:Code>LateOvertime</a:Code>
@@ -47708,7 +47752,7 @@ B9AF
<a:Comment>迟到超时</a:Comment>
<a:DataType>int</a:DataType>
</o:Column>
<o:Column Id="o3173">
<o:Column Id="o3177">
<a:ObjectID>FA1B8722-054D-4003-8BBF-4140509E5C74</a:ObjectID>
<a:Name>早退超时</a:Name>
<a:Code>LeaveOverTime</a:Code>
@@ -47719,7 +47763,7 @@ B9AF
<a:Comment>早退超时</a:Comment>
<a:DataType>int</a:DataType>
</o:Column>
<o:Column Id="o3174">
<o:Column Id="o3178">
<a:ObjectID>A80CB89E-F4C9-476F-A175-314F31A11521</a:ObjectID>
<a:Name>未签到,记为</a:Name>
<a:Code>NoSignIn</a:Code>
@@ -47730,7 +47774,7 @@ B9AF
<a:Comment>未签到,记为</a:Comment>
<a:DataType>int</a:DataType>
</o:Column>
<o:Column Id="o3175">
<o:Column Id="o3179">
<a:ObjectID>E8CC0680-7B0A-4513-B2BC-4125BE20D4B0</a:ObjectID>
<a:Name>未签退,记为</a:Name>
<a:Code>NoSignOut</a:Code>
@@ -47741,9 +47785,19 @@ B9AF
<a:Comment>未签退,记为</a:Comment>
<a:DataType>int</a:DataType>
</o:Column>
<o:Column Id="o3180">
<a:ObjectID>6D306382-82C1-4B11-916A-759CED546B14</a:ObjectID>
<a:Name>是否启用</a:Name>
<a:Code>REnable</a:Code>
<a:CreationDate>1599202203</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1599202395</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:DataType>bit</a:DataType>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o3176">
<o:Key Id="o3181">
<a:ObjectID>8ADE1FCB-0EC0-4C87-833F-EF8E53656C24</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@@ -47752,15 +47806,15 @@ B9AF
<a:ModificationDate>1599115046</a:ModificationDate>
<a:Modifier>edz</a:Modifier>
<c:Key.Columns>
<o:Column Ref="o3165"/>
<o:Column Ref="o3169"/>
</c:Key.Columns>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o3176"/>
<o:Key Ref="o3181"/>
</c:PrimaryKey>
<c:ClusterObject>
<o:Key Ref="o3176"/>
<o:Key Ref="o3181"/>
</c:ClusterObject>
</o:Table>
</c:Tables>
@@ -47785,7 +47839,7 @@ B9AF
<o:Key Ref="o668"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o3177">
<o:ReferenceJoin Id="o3182">
<a:ObjectID>14D78C43-17A2-48F0-83B4-3DF757D5ABE8</a:ObjectID>
<a:CreationDate>1552635393</a:CreationDate>
<a:Creator>l</a:Creator>
@@ -47820,7 +47874,7 @@ B9AF
<o:Key Ref="o763"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o3178">
<o:ReferenceJoin Id="o3183">
<a:ObjectID>FEAECB7B-8E2A-4492-A530-B0062E1511B8</a:ObjectID>
<a:CreationDate>1552635777</a:CreationDate>
<a:Creator>l</a:Creator>
@@ -47855,7 +47909,7 @@ B9AF
<o:Key Ref="o791"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o3179">
<o:ReferenceJoin Id="o3184">
<a:ObjectID>81527A47-E565-49C2-AAA7-F0555E81CE72</a:ObjectID>
<a:CreationDate>1553245426</a:CreationDate>
<a:Creator>l</a:Creator>
@@ -47890,7 +47944,7 @@ B9AF
<o:Key Ref="o802"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o3180">
<o:ReferenceJoin Id="o3185">
<a:ObjectID>A3225D9D-069C-4A67-ABF0-43DC2FA55CF0</a:ObjectID>
<a:CreationDate>1553247802</a:CreationDate>
<a:Creator>l</a:Creator>
@@ -47924,7 +47978,7 @@ B9AF
<o:Key Ref="o700"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o3181">
<o:ReferenceJoin Id="o3186">
<a:ObjectID>B458081F-CEE1-4251-9E7A-5E9CC93519D5</a:ObjectID>
<a:CreationDate>1553248376</a:CreationDate>
<a:Creator>l</a:Creator>
@@ -47959,7 +48013,7 @@ B9AF
<o:Key Ref="o780"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o3182">
<o:ReferenceJoin Id="o3187">
<a:ObjectID>8397C4F6-A728-4D3F-B2F8-FAC56886462B</a:ObjectID>
<a:CreationDate>1553248622</a:CreationDate>
<a:Creator>l</a:Creator>
@@ -47993,7 +48047,7 @@ B9AF
<o:Key Ref="o840"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o3183">
<o:ReferenceJoin Id="o3188">
<a:ObjectID>2F8BC700-F31E-41CC-9DA8-9505EAC5DA85</a:ObjectID>
<a:CreationDate>1553483161</a:CreationDate>
<a:Creator>l</a:Creator>
@@ -48027,7 +48081,7 @@ B9AF
<o:Key Ref="o873"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o3184">
<o:ReferenceJoin Id="o3189">
<a:ObjectID>0E2D2049-564F-4247-9F5B-B0AA82F9BE96</a:ObjectID>
<a:CreationDate>1555404296</a:CreationDate>
<a:Creator>admin</a:Creator>
@@ -48044,7 +48098,7 @@ B9AF
</o:Reference>
</c:References>
<c:DefaultGroups>
<o:Group Id="o3185">
<o:Group Id="o3190">
<a:ObjectID>46EC3E2A-6CBF-421A-9DA8-6BCCEDEC7DF5</a:ObjectID>
<a:Name>PUBLIC</a:Name>
<a:Code>PUBLIC</a:Code>
@@ -48307,7 +48361,7 @@ B9AF
</o:ExtendedDependency>
</c:ChildTraceabilityLinks>
<c:TargetModels>
<o:TargetModel Id="o3186">
<o:TargetModel Id="o3191">
<a:ObjectID>B1BAD530-6C69-4A9D-BD41-F62F564CA348</a:ObjectID>
<a:Name>Microsoft SQL Server 2008</a:Name>
<a:Code>MSSQLSRV2008</a:Code>


+ 38
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_Device/ADR_DeviceBLL.cs Просмотреть файл

@@ -119,6 +119,44 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
}

public IEnumerable<ADR_DeviceEntity> GetAllUnconnectedList(bool isshowall)
{
try
{
return aDR_DeviceService.GetAllUnconnectedList(isshowall);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

public ADR_DeviceEntity GetADR_DeviceEntityBylUserID(string lUserId)
{
try
{
return aDR_DeviceService.GetADR_DeviceEntityBylUserID(lUserId);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

#endregion

}


+ 5
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_Device/ADR_DeviceEntity.cs Просмотреть файл

@@ -65,6 +65,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
[Column("DCONNECTDATE")]
public DateTime? DConnectDate { get; set; }
/// <summary>
/// 设备lUserID
/// </summary>
[Column("DLUSERID")]
public string DlUserID { get; set; }
/// <summary>
/// F_CreateDate
/// </summary>
[Column("F_CREATEDATE")]


+ 2
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_Device/ADR_DeviceIBLL.cs Просмотреть файл

@@ -44,5 +44,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
void SaveEntity(string keyValue, ADR_DeviceEntity entity);
#endregion

IEnumerable<ADR_DeviceEntity> GetAllUnconnectedList(bool isshowall);
ADR_DeviceEntity GetADR_DeviceEntityBylUserID(string lUserId);
}
}

+ 49
- 13
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_Device/ADR_DeviceService.cs Просмотреть файл

@@ -30,23 +30,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
try
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(@"
t.Id,
t.DName,
t.DCode,
t.IpAddress,
t.PortNumber,
t.AdminAccount,
t.AdminPwd,
t.F_EnabledMark
");
strSql.Append("SELECT * ");
strSql.Append(" FROM ADR_Device t ");
strSql.Append(" WHERE 1=1 ");
var queryParam = queryJson.ToJObject();
// 虚拟参数
var dp = new DynamicParameters(new { });
return this.BaseRepository("CollegeMIS").FindList<ADR_DeviceEntity>(strSql.ToString(),dp, pagination);
return this.BaseRepository("CollegeMIS").FindList<ADR_DeviceEntity>(strSql.ToString(), dp, pagination);
}
catch (Exception ex)
{
@@ -97,7 +87,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
try
{
this.BaseRepository("CollegeMIS").Delete<ADR_DeviceEntity>(t=>t.Id == keyValue);
this.BaseRepository("CollegeMIS").Delete<ADR_DeviceEntity>(t => t.Id == keyValue);
}
catch (Exception ex)
{
@@ -147,5 +137,51 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration

#endregion

/// <summary>
/// 获取离线设备
/// </summary>
/// <param name="isshowall">是否忽略离线标志</param>
/// <returns></returns>
public IEnumerable<ADR_DeviceEntity> GetAllUnconnectedList(bool isshowall)
{
try
{
if (isshowall)
{
return this.BaseRepository("CollegeMIS").FindList<ADR_DeviceEntity>(m => m.F_EnabledMark == 1);
}
return this.BaseRepository("CollegeMIS").FindList<ADR_DeviceEntity>(m => m.F_EnabledMark == 1 && m.DOnlineStatus == false);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

public ADR_DeviceEntity GetADR_DeviceEntityBylUserID(string lUserId)
{
try
{
return this.BaseRepository("CollegeMIS").FindEntity<ADR_DeviceEntity>(m => m.F_EnabledMark == 1 && m.DlUserID==lUserId);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
}
}

+ 1
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ADR_DeviceLog/ADR_DeviceLogEntity.cs Просмотреть файл

@@ -25,7 +25,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
[Column("DEVICEID")]
public string DeviceId { get; set; }
/// <summary>
/// LogType
/// 日志类型(0正常,1警告,2错误)
/// </summary>
[Column("LOGTYPE")]
public string LogType { get; set; }


+ 0
- 4
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/Learun.Application.TwoDevelopment.csproj Просмотреть файл

@@ -1560,10 +1560,6 @@
<Compile Include="EducationalAdministration\BC_EPI\BC_EPIService.cs" />
<Compile Include="EducationalAdministration\BC_EPI\BC_EPIBLL.cs" />
<Compile Include="EducationalAdministration\BC_EPI\BC_EPIIBLL.cs" />
<Compile Include="PersonnelManagement\ADR_Record\ADR_RecordEntity.cs" />
<Compile Include="PersonnelManagement\ADR_Record\ADR_RecordService.cs" />
<Compile Include="PersonnelManagement\ADR_Record\ADR_RecordBLL.cs" />
<Compile Include="PersonnelManagement\ADR_Record\ADR_RecordIBLL.cs" />
<Compile Include="LogisticsManagement\ADR_Record\ADR_RecordEntity.cs" />
<Compile Include="LogisticsManagement\ADR_Record\ADR_RecordService.cs" />
<Compile Include="LogisticsManagement\ADR_Record\ADR_RecordBLL.cs" />


+ 20
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordBLL.cs Просмотреть файл

@@ -91,6 +91,24 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

public IEnumerable<ADR_RecordEntity> GetADR_RecordEntityByEmpNo(string year, string month, string day, string empno)
{
try
{
return aDR_RecordService.GetADR_RecordEntityByEmpNo(year,month,day,empno);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}
#endregion

#region 提交数据
@@ -124,11 +142,11 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public void SaveEntity(UserInfo userInfo, string keyValue, ADR_RecordEntity entity)
public void SaveEntity(string keyValue, ADR_RecordEntity entity)
{
try
{
aDR_RecordService.SaveEntity(userInfo, keyValue, entity);
aDR_RecordService.SaveEntity(keyValue, entity);
}
catch (Exception ex)
{


+ 24
- 9
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordEntity.cs Просмотреть файл

@@ -35,37 +35,52 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
[Column("DEPARTMENT")]
public string Department { get; set; }
/// <summary>
/// 考勤日期
/// 考勤类型 0-未定义,1-上班,2-下班,3-开始休息,4-结束休息,5-开始加班,6-结束加班
/// </summary>
[Column("ADDATE")]
public string ADDate { get; set; }
[Column("ADTYPE")]
public string ADType { get; set; }
/// <summary>
/// 考勤时间
/// 考勤时间(服务器时间)
/// </summary>
[Column("ADTIME")]
public DateTime? ADTime { get; set; }
/// <summary>
/// 打卡时间
/// 打卡时间(考勤机时间)
/// </summary>
[Column("CLOCKTIME")]
public DateTime? ClockTime { get; set; }
/// <summary>
/// 打卡
/// 打卡结果 1正常,2迟到,3早退,4上班补签,5下班补签
/// </summary>
[Column("CLOCKSTATUS")]
public string ClockStatus { get; set; }
/// <summary>
/// 打卡地点
/// 打卡地点
/// </summary>
[Column("CLOCKPLACE")]
public string ClockPlace { get; set; }
/// <summary>
/// 考勤年
/// </summary>
[Column("ADYEAR")]
public string ADYear { get; set; }
/// <summary>
/// 考勤月
/// </summary>
[Column("ADMONTH")]
public string ADMonth { get; set; }
/// <summary>
/// 考勤日
/// </summary>
[Column("ADDAY")]
public string ADDay { get; set; }
#endregion

#region 扩展操作
/// <summary>
/// 新增调用
/// </summary>
public void Create(UserInfo userInfo)
public void Create()
{
this.ID = Guid.NewGuid().ToString();
}
@@ -73,7 +88,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// 编辑调用
/// </summary>
/// <param name="keyValue"></param>
public void Modify(string keyValue, UserInfo userInfo)
public void Modify(string keyValue)
{
this.ID = keyValue;
}


+ 3
- 1
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordIBLL.cs Просмотреть файл

@@ -34,6 +34,8 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// <summary>
/// <returns></returns>
ADR_RecordEntity GetADR_RecordEntity(string keyValue);

IEnumerable<ADR_RecordEntity> GetADR_RecordEntityByEmpNo(string year, string month, string day, string empno);
#endregion

#region 提交数据
@@ -49,7 +51,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
void SaveEntity(UserInfo userInfo, string keyValue, ADR_RecordEntity entity);
void SaveEntity(string keyValue, ADR_RecordEntity entity);
#endregion

}


+ 33
- 37
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/LogisticsManagement/ADR_Record/ADR_RecordService.cs Просмотреть файл

@@ -30,17 +30,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
try
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(@"
t.ID,
t.UserName,
t.Department,
t.ADDate,
t.ADTime,
t.ClockTime,
t.ClockStatus,
t.ClockPlace
");
strSql.Append("SELECT * ");
strSql.Append(" FROM ADR_Record t ");
strSql.Append(" WHERE 1=1 ");
var queryParam = queryJson.ToJObject();
@@ -50,7 +40,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime);
strSql.Append(" AND ( t.ADDate >= @startTime AND t.ADDate <= @endTime ) ");
strSql.Append(" AND ( t.ADTime >= @startTime AND t.ADTime <= @endTime ) ");
}
if (!queryParam["UserName"].IsEmpty())
{
@@ -62,11 +52,6 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
dp.Add("Department",queryParam["Department"].ToString(), DbType.String);
strSql.Append(" AND t.Department = @Department ");
}
if (!queryParam["ADTime"].IsEmpty())
{
dp.Add("ADTime",queryParam["ADTime"].ToString(), DbType.String);
strSql.Append(" AND t.ADTime = @ADTime ");
}
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp, pagination);
}
catch (Exception ex)
@@ -92,17 +77,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
try
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(@"
t.ID,
t.UserName,
t.Department,
t.ADDate,
t.ADTime,
t.ClockTime,
t.ClockStatus,
t.ClockPlace
");
strSql.Append("SELECT * ");
strSql.Append(" FROM ADR_Record t ");
strSql.Append(" WHERE 1=1 ");
var queryParam = queryJson.ToJObject();
@@ -112,7 +87,7 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
{
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime);
strSql.Append(" AND ( t.ADDate >= @startTime AND t.ADDate <= @endTime ) ");
strSql.Append(" AND ( t.ADTime >= @startTime AND t.ADTime <= @endTime ) ");
}
if (!queryParam["UserName"].IsEmpty())
{
@@ -124,11 +99,6 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
dp.Add("Department",queryParam["Department"].ToString(), DbType.String);
strSql.Append(" AND t.Department = @Department ");
}
if (!queryParam["ADTime"].IsEmpty())
{
dp.Add("ADTime",queryParam["ADTime"].ToString(), DbType.String);
strSql.Append(" AND t.ADTime = @ADTime ");
}
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp);
}
catch (Exception ex)
@@ -201,18 +171,18 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public void SaveEntity( UserInfo userInfo, string keyValue, ADR_RecordEntity entity)
public void SaveEntity(string keyValue, ADR_RecordEntity entity)
{
try
{
if (!string.IsNullOrEmpty(keyValue))
{
entity.Modify(keyValue,userInfo);
entity.Modify(keyValue);
this.BaseRepository("CollegeMIS").Update(entity);
}
else
{
entity.Create(userInfo);
entity.Create();
this.BaseRepository("CollegeMIS").Insert(entity);
}
}
@@ -229,6 +199,32 @@ namespace Learun.Application.TwoDevelopment.LogisticsManagement
}
}

/// <summary>
/// 获取当日用户考勤记录
/// </summary>
/// <param name="year"></param>
/// <param name="month"></param>
/// <param name="day"></param>
/// <param name="empno"></param>
/// <returns></returns>
public IEnumerable<ADR_RecordEntity> GetADR_RecordEntityByEmpNo(string year,string month,string day,string empno)
{
try
{
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(m=>m.ADYear==year&&m.ADMonth==month&&m.ADDay==day&&m.UserNo==empno);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
#endregion

}


+ 0
- 124
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Record/ADR_RecordBLL.cs Просмотреть файл

@@ -1,124 +0,0 @@
using Learun.Util;
using System;
using System.Data;
using System.Collections.Generic;

namespace Learun.Application.TwoDevelopment.PersonnelManagement
{
/// <summary>
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2020-08-26 15:16
/// 描 述:考勤记录
/// </summary>
public class ADR_RecordBLL : ADR_RecordIBLL
{
private ADR_RecordService aDR_RecordService = new ADR_RecordService();

#region 获取数据

/// <summary>
/// 获取页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<ADR_RecordEntity> GetPageList(Pagination pagination, string queryJson)
{
try
{
return aDR_RecordService.GetPageList(pagination, queryJson);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 获取ADR_Record表实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public ADR_RecordEntity GetADR_RecordEntity(string keyValue)
{
try
{
return aDR_RecordService.GetADR_RecordEntity(keyValue);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

#endregion

#region 提交数据

/// <summary>
/// 删除实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public void DeleteEntity(string keyValue)
{
try
{
aDR_RecordService.DeleteEntity(keyValue);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public void SaveEntity(string keyValue, ADR_RecordEntity entity)
{
try
{
aDR_RecordService.SaveEntity(keyValue, entity);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowBusinessException(ex);
}
}
}

#endregion

}
}

+ 0
- 85
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Record/ADR_RecordEntity.cs Просмотреть файл

@@ -1,85 +0,0 @@
using Learun.Util;
using System;
using System.ComponentModel.DataAnnotations.Schema;

namespace Learun.Application.TwoDevelopment.PersonnelManagement
{
/// <summary>
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2020-08-26 15:16
/// 描 述:考勤记录
/// </summary>
public class ADR_RecordEntity
{
#region 实体成员
/// <summary>
/// 编号
/// </summary>
[Column("ID")]
public string ID { get; set; }
/// <summary>
/// 员工名字
/// </summary>
[Column("USERNAME")]
public string UserName { get; set; }
/// <summary>
/// 员工编号
/// </summary>
[Column("USERNO")]
public string UserNo { get; set; }
/// <summary>
/// 部门
/// </summary>
[Column("DEPARTMENT")]
public string Department { get; set; }
/// <summary>
/// 考勤日期
/// </summary>
[Column("ADDATE")]
public string ADDate { get; set; }
/// <summary>
/// 考勤时间
/// </summary>
[Column("ADTIME")]
public DateTime? ADTime { get; set; }
/// <summary>
/// 打卡时间
/// </summary>
[Column("CLOCKTIME")]
public DateTime? ClockTime { get; set; }
/// <summary>
/// 打卡
/// </summary>
[Column("CLOCKSTATUS")]
public string ClockStatus { get; set; }
/// <summary>
/// 打卡地点
/// </summary>
[Column("CLOCKPLACE")]
public string ClockPlace { get; set; }
#endregion

#region 扩展操作
/// <summary>
/// 新增调用
/// </summary>
public void Create()
{
this.ID = Guid.NewGuid().ToString();
}
/// <summary>
/// 编辑调用
/// </summary>
/// <param name="keyValue"></param>
public void Modify(string keyValue)
{
this.ID = keyValue;
}
#endregion
#region 扩展字段
#endregion
}
}


+ 0
- 49
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Record/ADR_RecordIBLL.cs Просмотреть файл

@@ -1,49 +0,0 @@
using Learun.Util;
using System.Data;
using System.Collections.Generic;

namespace Learun.Application.TwoDevelopment.PersonnelManagement
{
/// <summary>
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2020-08-26 15:16
/// 描 述:考勤记录
/// </summary>
public interface ADR_RecordIBLL
{
#region 获取数据

/// <summary>
/// 获取页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
IEnumerable<ADR_RecordEntity> GetPageList(Pagination pagination, string queryJson);
/// <summary>
/// 获取ADR_Record表实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
ADR_RecordEntity GetADR_RecordEntity(string keyValue);
#endregion

#region 提交数据

/// <summary>
/// 删除实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
void DeleteEntity(string keyValue);
/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
void SaveEntity(string keyValue, ADR_RecordEntity entity);
#endregion

}
}

+ 0
- 163
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Record/ADR_RecordService.cs Просмотреть файл

@@ -1,163 +0,0 @@
using Dapper;
using Learun.DataBase.Repository;
using Learun.Util;
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;

namespace Learun.Application.TwoDevelopment.PersonnelManagement
{
/// <summary>
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2020-08-26 15:16
/// 描 述:考勤记录
/// </summary>
public class ADR_RecordService : RepositoryFactory
{
#region 获取数据

/// <summary>
/// 获取页面显示列表数据
/// <summary>
/// <param name="queryJson">查询参数</param>
/// <returns></returns>
public IEnumerable<ADR_RecordEntity> GetPageList(Pagination pagination, string queryJson)
{
try
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(@"
t.ID,
t.UserName,
t.UserNo,
t.Department,
t.ADDate,
t.ADTime,
t.ClockTime,
t.ClockStatus,
t.ClockPlace
");
strSql.Append(" FROM ADR_Record t ");
strSql.Append(" WHERE 1=1 ");
var queryParam = queryJson.ToJObject();
// 虚拟参数
var dp = new DynamicParameters(new { });
if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
{
dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime);
strSql.Append(" AND ( t.ADDate >= @startTime AND t.ADDate <= @endTime ) ");
}
if (!queryParam["UserNo"].IsEmpty())
{
dp.Add("UserNo",queryParam["UserNo"].ToString(), DbType.String);
strSql.Append(" AND t.UserNo = @UserNo ");
}
return this.BaseRepository("CollegeMIS").FindList<ADR_RecordEntity>(strSql.ToString(),dp, pagination);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 获取ADR_Record表实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public ADR_RecordEntity GetADR_RecordEntity(string keyValue)
{
try
{
return this.BaseRepository("CollegeMIS").FindEntity<ADR_RecordEntity>(keyValue);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

#endregion

#region 提交数据

/// <summary>
/// 删除实体数据
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public void DeleteEntity(string keyValue)
{
try
{
this.BaseRepository("CollegeMIS").Delete<ADR_RecordEntity>(t=>t.ID == keyValue);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

/// <summary>
/// 保存实体数据(新增、修改)
/// <param name="keyValue">主键</param>
/// <summary>
/// <returns></returns>
public void SaveEntity(string keyValue, ADR_RecordEntity entity)
{
try
{
if (!string.IsNullOrEmpty(keyValue))
{
entity.Modify(keyValue);
this.BaseRepository("CollegeMIS").Update(entity);
}
else
{
entity.Create();
this.BaseRepository("CollegeMIS").Insert(entity);
}
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}

#endregion

}
}

+ 19
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionBLL.cs Просмотреть файл

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

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

#endregion

}


+ 5
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionEntity.cs Просмотреть файл

@@ -69,6 +69,11 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
/// </summary>
[Column("NOSIGNOUT")]
public int? NoSignOut { get; set; }
/// <summary>
/// 是否启用
/// </summary>
[Column("RENABLE")]
public bool? REnable { get; set; }
#endregion

#region 扩展操作


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionIBLL.cs Просмотреть файл

@@ -44,5 +44,6 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement
void SaveEntity(string keyValue, ADR_RestrictionEntity entity);
#endregion

ADR_RestrictionEntity GetADR_RestrictionEntityEnabled();
}
}

+ 18
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/PersonnelManagement/ADR_Restriction/ADR_RestrictionService.cs Просмотреть файл

@@ -150,5 +150,23 @@ namespace Learun.Application.TwoDevelopment.PersonnelManagement

#endregion

public ADR_RestrictionEntity GetADR_RestrictionEntityEnabled()
{
try
{
return this.BaseRepository("CollegeMIS").FindEntity<ADR_RestrictionEntity>(m=>m.REnable==true);
}
catch (Exception ex)
{
if (ex is ExceptionEx)
{
throw;
}
else
{
throw ExceptionEx.ThrowServiceException(ex);
}
}
}
}
}

+ 30
- 29
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/App.config Просмотреть файл

@@ -1,53 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration" />
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration"/>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</configSections>
<connectionStrings>
<add name="ConnectionPfcMisDBString" connectionString="server=192.168.100.225;database=CollegeMIS;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient" />
<add name="ConnectionPfcMisDBString2" connectionString="server=192.168.100.225;database=CollegeMIS_金隅;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient" />
<add name="CoreDBString" connectionString="server=192.168.100.225;database=adms7ultimate2;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient" />
<add name="CoreDBString2" connectionString="server=192.168.100.225;database=adms7ultimate2_金隅;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient" />
<add name="HangfireConnString" connectionString="Server=192.168.100.225;Initial Catalog=Hangfire;User ID=sa;Password=Jykj@2019" providerName="System.Data.SqlClient" />
<add name="YKTDBString" connectionString="Data Source=xcykt;Persist Security Info=True;User ID=xcysdata;Password=xcysdata2019;Unicode=True" providerName="System.Data.OracleClient" />
<add name="mjDBString" connectionString="Server=112.45.152.8,17049;Initial Catalog=mjxtjh;User ID=mjxtjh;Password=s1RKFzJvIG7KfcNRtntZ" providerName="System.Data.SqlClient" />
<add name="tsDBString" connectionString="Server=112.45.152.8,17049;Initial Catalog=tsgxtjh;User ID=tsgxtjh;Password=Qs6cYOzFoQupbr12MFZm" providerName="System.Data.SqlClient" />
<add name="ConnectionPfcMisDBString" connectionString="server=192.168.100.225;database=CollegeMIS;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient"/>
<add name="ConnectionPfcMisDBString2" connectionString="server=192.168.100.225;database=CollegeMIS_金隅;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient"/>
<add name="CoreDBString" connectionString="server=192.168.100.225;database=adms7ultimate2;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient"/>
<add name="CoreDBString2" connectionString="server=192.168.100.225;database=adms7ultimate2_金隅;Max Pool Size=1000;Min Pool Size=5;UID=sa;Pwd=Jykj@2019;" providerName="System.Data.SqlClient"/>
<add name="HangfireConnString" connectionString="Server=192.168.100.225;Initial Catalog=Hangfire;User ID=sa;Password=Jykj@2019" providerName="System.Data.SqlClient"/>
<add name="YKTDBString" connectionString="Data Source=xcykt;Persist Security Info=True;User ID=xcysdata;Password=xcysdata2019;Unicode=True" providerName="System.Data.OracleClient"/>
<add name="mjDBString" connectionString="Server=112.45.152.8,17049;Initial Catalog=mjxtjh;User ID=mjxtjh;Password=s1RKFzJvIG7KfcNRtntZ" providerName="System.Data.SqlClient"/>
<add name="tsDBString" connectionString="Server=112.45.152.8,17049;Initial Catalog=tsgxtjh;User ID=tsgxtjh;Password=Qs6cYOzFoQupbr12MFZm" providerName="System.Data.SqlClient"/>
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>
<appSettings>
<add key="dbbackuppath" value="D:\数字化校园\lr7test\Publish\Resource\DataBaseBackup" />
<add key="dbbackuppath" value="D:\数字化校园\lr7test\Publish\Resource\DataBaseBackup"/>
<add key="AttendancePhotoPath" value="D:\数字化校园\lr7test\Publish\Resource\AttendancePhoto"/>
</appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0" />
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-11.0.0.0" newVersion="11.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<unity>
<typeAliases>
<typeAlias alias="IDatabase" type="Learun.DataBase.IDatabase,Learun.DataBase" />
<typeAlias alias="SqlServer" type="Learun.DataBase.SqlServer.Database,Learun.DataBase.SqlServer" />
<typeAlias alias="IDatabase" type="Learun.DataBase.IDatabase,Learun.DataBase"/>
<typeAlias alias="SqlServer" type="Learun.DataBase.SqlServer.Database,Learun.DataBase.SqlServer"/>
</typeAliases>
<containers>
<container name="IOCcontainer">
@@ -58,21 +59,21 @@
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v13.0" />
<parameter value="v13.0"/>
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="SynServiceSoap" />
<binding name="SynServiceSoap"/>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://192.168.100.27:801/SynService.asmx" binding="basicHttpBinding" bindingConfiguration="SynServiceSoap" contract="SynServiceReference.SynServiceSoap" name="SynServiceSoap" />
<endpoint address="http://192.168.100.27:801/SynService.asmx" binding="basicHttpBinding" bindingConfiguration="SynServiceSoap" contract="SynServiceReference.SynServiceSoap" name="SynServiceSoap"/>
</client>
</system.serviceModel>
</configuration>

Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCCore.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDK.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/AnalyzeData.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/AudioIntercom.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCAlarm.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCAlarm.lib Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCCoreDevCfg.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCDisplay.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCGeneralCfgMgr.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCGeneralCfgMgr.lib Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCIndustry.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCPlayBack.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCPreview.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCPreview.lib Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/HCVoiceTalk.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/OpenAL32.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/StreamTransClient.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/SystemTransform.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/HCNetSDKCom/libiconv2.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/Newtonsoft.Json.dll Просмотреть файл


+ 11262
- 0
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/Newtonsoft.Json.xml
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 31
- 1
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/Quanjiang.DigitalScholl.JobService.csproj Просмотреть файл

@@ -8,7 +8,7 @@
<OutputType>WinExe</OutputType>
<RootNamespace>Quanjiang.DigitalScholl.JobService</RootNamespace>
<AssemblyName>Quanjiang.DigitalScholl.JobService</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<SccProjectName>
@@ -75,6 +75,7 @@
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Data.OracleClient" />
@@ -104,12 +105,17 @@
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="海康考勤机必须文件\CHCNetSDK.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config">
<SubType>Designer</SubType>
</None>
<None Include="packages.config" />
<None Include="海康考勤机必须文件\HCNetSDKCom\HCAlarm.lib" />
<None Include="海康考勤机必须文件\HCNetSDKCom\HCGeneralCfgMgr.lib" />
<None Include="海康考勤机必须文件\HCNetSDKCom\HCPreview.lib" />
<None Include="海康考勤机必须文件\log4cxx.properties" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ProjectInstaller.resx">
@@ -121,6 +127,30 @@
</ItemGroup>
<ItemGroup>
<Content Include="installanduninstall.txt" />
<Content Include="海康考勤机必须文件\HCCore.dll" />
<Content Include="海康考勤机必须文件\HCNetSDK.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\AnalyzeData.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\AudioIntercom.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCAlarm.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCCoreDevCfg.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCDisplay.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCGeneralCfgMgr.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCIndustry.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCPlayBack.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCPreview.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\HCVoiceTalk.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\libiconv2.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\OpenAL32.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\StreamTransClient.dll" />
<Content Include="海康考勤机必须文件\HCNetSDKCom\SystemTransform.dll" />
<Content Include="海康考勤机必须文件\hlog.dll" />
<Content Include="海康考勤机必须文件\hpr.dll" />
<Content Include="海康考勤机必须文件\libeay32.dll" />
<Content Include="海康考勤机必须文件\Newtonsoft.Json.dll" />
<Content Include="海康考勤机必须文件\Newtonsoft.Json.xml" />
<Content Include="海康考勤机必须文件\ssleay32.dll" />
<Content Include="海康考勤机必须文件\zlib1.dll" />
<Content Include="海康考勤机必须文件\文件部署说明.txt" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Learun.Framework.Module\Learun.Application.Module\Learun.Application.AppMagager\Learun.Application.AppMagager.csproj">


+ 481
- 0
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/Service1.cs Просмотреть файл

@@ -1,19 +1,37 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using AlarmCSharpDemo;
using Hangfire;
using Learun.Application.Base.SystemModule;
using Learun.Application.TwoDevelopment.EducationalAdministration;
using Learun.Application.TwoDevelopment.LogisticsManagement;
using Learun.Application.TwoDevelopment.PersonnelManagement;

namespace Quanjiang.DigitalScholl.JobService
{
public partial class QuanjiangDigitalSchollJobService : ServiceBase
{
private BackgroundJobServer _server;
private ADR_DeviceIBLL adrDeviceIbll = new ADR_DeviceBLL();
private ADR_DeviceLogIBLL adrDeviceLogIbll = new ADR_DeviceLogBLL();
private ADR_RestrictionIBLL adrRestrictionIbll = new ADR_RestrictionBLL();
private ADR_RecordIBLL adrRecordIbll = new ADR_RecordBLL();

//海康考勤机回调
public CHCNetSDK.LOGINRESULTCALLBACK LoginCallBack = null;
private CHCNetSDK.EXCEPYIONCALLBACK m_fExceptionCB = null;
private CHCNetSDK.MSGCallBack_V31 m_falarmData_V31 = null;

public QuanjiangDigitalSchollJobService()
{
InitializeComponent();
@@ -27,6 +45,469 @@ namespace Quanjiang.DigitalScholl.JobService
ServerName = "QuanjiangDigitalSchollJobService"
};
_server = new BackgroundJobServer(options);
//海康考勤机对接
#region 海康考勤机对接
//初始化SDK
bool m_bInitSDK = CHCNetSDK.NET_DVR_Init();
if (m_bInitSDK)
{
//保存SDK日志 To save the SDK log
CHCNetSDK.NET_DVR_SetLogToFile(3, "C:\\HKSdkLog\\", true);

//设置透传报警信息类型
CHCNetSDK.NET_DVR_LOCAL_GENERAL_CFG struLocalCfg = new CHCNetSDK.NET_DVR_LOCAL_GENERAL_CFG();
struLocalCfg.byAlarmJsonPictureSeparate = 1;//控制JSON透传报警数据和图片是否分离,0-不分离(COMM_VCA_ALARM返回),1-分离(分离后走COMM_ISAPI_ALARM回调返回)

Int32 nSize = Marshal.SizeOf(struLocalCfg);
IntPtr ptrLocalCfg = Marshal.AllocHGlobal(nSize);
Marshal.StructureToPtr(struLocalCfg, ptrLocalCfg, false);

if (!CHCNetSDK.NET_DVR_SetSDKLocalCfg(17, ptrLocalCfg)) //NET_DVR_LOCAL_CFG_TYPE_GENERAL
{
string strErr = "海康NET_DVR_SetSDKLocalCfg 失败, error code= " + CHCNetSDK.NET_DVR_GetLastError();
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity();
adrDeviceLogEntity.Create();
adrDeviceLogEntity.LogData = strErr;
adrDeviceLogEntity.LogType = "2";
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity);
}
Marshal.FreeHGlobal(ptrLocalCfg);

//设置异常消息回调函数
if (m_fExceptionCB == null)
{
m_fExceptionCB = new CHCNetSDK.EXCEPYIONCALLBACK(cbExceptionCB);
}
CHCNetSDK.NET_DVR_SetExceptionCallBack_V30(0, IntPtr.Zero, m_fExceptionCB, IntPtr.Zero);

//设置报警回调函数
if (m_falarmData_V31 == null)
{
m_falarmData_V31 = new CHCNetSDK.MSGCallBack_V31(MsgCallback_V31);
}
CHCNetSDK.NET_DVR_SetDVRMessageCallBack_V31(m_falarmData_V31, IntPtr.Zero);

//获取设备
var devicelist = adrDeviceIbll.GetAllUnconnectedList(true);
//登录设备
foreach (var deviceEntity in devicelist)
{
CHCNetSDK.NET_DVR_USER_LOGIN_INFO struLogInfo = new CHCNetSDK.NET_DVR_USER_LOGIN_INFO();

//设备IP地址或者域名
byte[] byIP = System.Text.Encoding.Default.GetBytes(deviceEntity.IpAddress);
struLogInfo.sDeviceAddress = new byte[129];
byIP.CopyTo(struLogInfo.sDeviceAddress, 0);

//设备用户名
byte[] byUserName = System.Text.Encoding.Default.GetBytes(deviceEntity.AdminAccount);
struLogInfo.sUserName = new byte[64];
byUserName.CopyTo(struLogInfo.sUserName, 0);

//设备密码
byte[] byPassword = System.Text.Encoding.Default.GetBytes(deviceEntity.AdminPwd);
struLogInfo.sPassword = new byte[64];
byPassword.CopyTo(struLogInfo.sPassword, 0);

struLogInfo.wPort = ushort.Parse(deviceEntity.PortNumber.ToString());//设备服务端口号

struLogInfo.cbLoginResult = LoginCallBack;
struLogInfo.bUseAsynLogin = true; //是否异步登录:0- 否,1- 是
//用户数据,回调时可用
//获取大小
uint dwSize = (uint)Marshal.SizeOf(deviceEntity);
//分配内存
IntPtr ptrCond = Marshal.AllocHGlobal((int)dwSize);
//写入内存
Marshal.StructureToPtr(deviceEntity, ptrCond, false);
//用户数据,回调时可用
struLogInfo.pUser = ptrCond;
if ((struLogInfo.bUseAsynLogin == true) && (LoginCallBack == null))
{
LoginCallBack = new CHCNetSDK.LOGINRESULTCALLBACK(cbLoginCallBack);//注册回调函数
}

struLogInfo.byLoginMode = 0; //0-Private, 1-ISAPI, 2-自适应
struLogInfo.byHttps = 0; //0-不适用tls,1-使用tls 2-自适应

CHCNetSDK.NET_DVR_DEVICEINFO_V40 DeviceInfo = new CHCNetSDK.NET_DVR_DEVICEINFO_V40();

//登录设备 Login the device
CHCNetSDK.NET_DVR_Login_V40(ref struLogInfo, ref DeviceInfo);
//释放内存
Marshal.FreeHGlobal(ptrCond);
//同步登录方法
//if (m_lUserID < 0)
//{
// iLastErr = CHCNetSDK.NET_DVR_GetLastError();
// strErr = "NET_DVR_Login_V30 failed, error code= " + iLastErr; //登录失败,输出错误号 Failed to login and output the error code
// MessageBox.Show(strErr);
//}
//else
//{
// //登录成功
// iDeviceNumber++;
// string str1 = "" + m_lUserID;
// listViewDevice.Items.Add(new ListViewItem(new string[] { str1, textBoxIP.Text, "未布防" }));//将已注册设备添加进列表
//}
}
}
else//初始化失败
{
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity();
adrDeviceLogEntity.Create();
adrDeviceLogEntity.LogData = "海康SDK初始化失败";
adrDeviceLogEntity.LogType = "2";
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity);
}
#endregion
}
/// <summary>
/// 海康登录回调
/// </summary>
/// <param name="lUserID"></param>
/// <param name="dwResult"></param>
/// <param name="lpDeviceInfo"></param>
/// <param name="pUser"></param>
public void cbLoginCallBack(int lUserID, int dwResult, IntPtr lpDeviceInfo, IntPtr pUser)
{
try
{
ADR_DeviceEntity deviceEntity = new ADR_DeviceEntity();
deviceEntity = (ADR_DeviceEntity)Marshal.PtrToStructure(pUser, typeof(ADR_DeviceEntity));
string strLoginCallBack = "";
//登录失败
if (dwResult == 0)
{
uint iErrCode = CHCNetSDK.NET_DVR_GetLastError();
strLoginCallBack = "登录设备失败,lUserID:" + lUserID + ",错误号:" + iErrCode;
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity();
adrDeviceLogEntity.Create();
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id))
{
adrDeviceLogEntity.DeviceId = deviceEntity.Id;
strLoginCallBack += ",设备IP:" + deviceEntity.IpAddress;
}
adrDeviceLogEntity.LogData = strLoginCallBack;
adrDeviceLogEntity.LogType = "2";
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity);
}
else//登录成功
{
strLoginCallBack = "登录设备成功,lUserID:" + lUserID;
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity();
adrDeviceLogEntity.Create();
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id))
{
adrDeviceLogEntity.DeviceId = deviceEntity.Id;
strLoginCallBack += ",设备IP:" + deviceEntity.IpAddress;
}
adrDeviceLogEntity.LogData = strLoginCallBack;
adrDeviceLogEntity.LogType = "0";
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity);
//设备布防
CHCNetSDK.NET_DVR_SETUPALARM_PARAM struAlarmParam = new CHCNetSDK.NET_DVR_SETUPALARM_PARAM();
struAlarmParam.dwSize = (uint)Marshal.SizeOf(struAlarmParam);
struAlarmParam.byLevel = 1; //0- 一级布防,1- 二级布防
struAlarmParam.byAlarmInfoType = 1;//智能交通设备有效,新报警信息类型
struAlarmParam.byDeployType = 0;
struAlarmParam.byFaceAlarmDetection = 1;//1-人脸侦测
var m_lUserID = CHCNetSDK.NET_DVR_SetupAlarmChan_V41(lUserID, ref struAlarmParam);
if (m_lUserID < 0)
{
string strErr = "布防失败,错误号:" + CHCNetSDK.NET_DVR_GetLastError(); //布防失败,输出错误号
adrDeviceLogEntity = new ADR_DeviceLogEntity();
adrDeviceLogEntity.Create();
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id))
{
adrDeviceLogEntity.DeviceId = deviceEntity.Id;
strErr += ",设备IP:" + deviceEntity.IpAddress;
}
adrDeviceLogEntity.LogData = strErr;
adrDeviceLogEntity.LogType = "2";
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity);
}
else
{
adrDeviceLogEntity = new ADR_DeviceLogEntity();
adrDeviceLogEntity.Create();
string strNotice = "布防成功";
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id))
{
adrDeviceLogEntity.DeviceId = deviceEntity.Id;
strNotice += ",设备IP:" + deviceEntity.IpAddress;
}
adrDeviceLogEntity.LogData = strNotice;
adrDeviceLogEntity.LogType = "0";
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity);
}

}
}
catch (Exception e)
{
LogEntity lrBaseLogoEntity = new LogEntity();
lrBaseLogoEntity.F_LogId = Guid.NewGuid().ToString();
lrBaseLogoEntity.F_CategoryId = 4;
lrBaseLogoEntity.F_Module = "海康考勤机";
lrBaseLogoEntity.F_ExecuteResultJson = "操作海康考勤机异常" + e.Message + ",详细" + e.StackTrace;
lrBaseLogoEntity.WriteLog();
}
}
/// <summary>
/// 海康异常回调
/// </summary>
/// <param name="dwType"></param>
/// <param name="lUserID"></param>
/// <param name="lHandle"></param>
/// <param name="pUser"></param>
public void cbExceptionCB(uint dwType, int lUserID, int lHandle, IntPtr pUser)
{
//异常消息信息类型
string stringAlarm = "海康异常消息回调,信息类型:0x" + Convert.ToString(dwType, 16) + ", lUserID:" + lUserID + ", lHandle:" + lHandle;
var deviceEntity = adrDeviceIbll.GetADR_DeviceEntityBylUserID(lUserID.ToString());
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 = "2";
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity);
}

/// <summary>
/// 海康报警事件回调
/// </summary>
/// <param name="lCommand"></param>
/// <param name="pAlarmer"></param>
/// <param name="pAlarmInfo"></param>
/// <param name="dwBufLen"></param>
/// <param name="pUser"></param>
/// <returns></returns>
public bool MsgCallback_V31(int lCommand, ref CHCNetSDK.NET_DVR_ALARMER pAlarmer, IntPtr pAlarmInfo, uint dwBufLen, IntPtr pUser)
{
try
{
if (lCommand == 0x5002) //门禁主机报警上传
{
//通过lCommand来判断接收到的报警信息类型,不同的lCommand对应不同的pAlarmInfo内容
CHCNetSDK.NET_DVR_ACS_ALARM_INFO struAcsAlarm = new CHCNetSDK.NET_DVR_ACS_ALARM_INFO();
uint dwSize = (uint)Marshal.SizeOf(struAcsAlarm);
struAcsAlarm =
(CHCNetSDK.NET_DVR_ACS_ALARM_INFO)Marshal.PtrToStructure(pAlarmInfo,
typeof(CHCNetSDK.NET_DVR_ACS_ALARM_INFO));
//这里判断是为了只获取刷脸的信息
if (struAcsAlarm.dwMajor == 0x5 && struAcsAlarm.dwMinor == 0x4b)//主事件0x5 代表EVENT,次事件0x4b 代表MINOR_FACE_VERIFY_PASS人脸认证通过
{
//报警设备IP地址
string strIP = System.Text.Encoding.UTF8.GetString(pAlarmer.sDeviceIP).TrimEnd('\0');
//抓拍图片路径
string str = "";
//保存抓拍图片
if ((struAcsAlarm.dwPicDataLen != 0) && (struAcsAlarm.pPicData != IntPtr.Zero))
{
string path = ConfigurationManager.AppSettings["AttendancePhotoPath"];
string datepath = DateTime.Now.ToString("yyyy-MM-dd");
if (!Directory.Exists(path + "\\" + datepath))
{
Directory.CreateDirectory(path + "\\" + datepath);
}

str = path + "\\Device_Acs_CapturePic_[" + strIP + "]_lUerID_[" + pAlarmer.lUserID + "]_" +
Learun.Util.CommonHelper.CreateNo() + ".jpg";
FileStream fs = new FileStream(str, FileMode.Create);
int iLen = (int)struAcsAlarm.dwPicDataLen;
byte[] by = new byte[iLen];
Marshal.Copy(struAcsAlarm.pPicData, by, 0, iLen);
fs.Write(by, 0, iLen);
fs.Close();
}

//报警时间:年月日时分秒
string strTimeYear = (struAcsAlarm.struTime.dwYear).ToString();
string strTimeMonth = (struAcsAlarm.struTime.dwMonth).ToString("d2");
string strTimeDay = (struAcsAlarm.struTime.dwDay).ToString("d2");
string strTimeHour = (struAcsAlarm.struTime.dwHour).ToString("d2");
string strTimeMinute = (struAcsAlarm.struTime.dwMinute).ToString("d2");
string strTimeSecond = (struAcsAlarm.struTime.dwSecond).ToString("d2");
string strTime = strTimeYear + "-" + strTimeMonth + "-" + strTimeDay + " " + strTimeHour + ":" +
strTimeMinute + ":" + strTimeSecond;

string stringAlarm = "门禁主机报警信息,dwMajor:0x" + Convert.ToString(struAcsAlarm.dwMajor, 16) +
",dwMinor:0x" +
Convert.ToString(struAcsAlarm.dwMinor, 16) + ",卡号:" + System.Text.Encoding.UTF8
.GetString(struAcsAlarm.struAcsEventInfo.byCardNo).TrimEnd('\0')
+ ",读卡器编号:" + struAcsAlarm.struAcsEventInfo.dwCardReaderNo + ",报警触发时间:" +
strTime +
",事件流水号:" + struAcsAlarm.struAcsEventInfo.dwSerialNo;

//如果能取到详细信息
if (struAcsAlarm.byAcsEventInfoExtend == 1)
{
CHCNetSDK.NET_DVR_ACS_EVENT_INFO_EXTEND struInfoExtend =
new CHCNetSDK.NET_DVR_ACS_EVENT_INFO_EXTEND();
uint dwSizeEx = (uint)Marshal.SizeOf(struInfoExtend);
struInfoExtend = (CHCNetSDK.NET_DVR_ACS_EVENT_INFO_EXTEND)Marshal.PtrToStructure(
struAcsAlarm.pAcsEventInfoExtend, typeof(CHCNetSDK.NET_DVR_ACS_EVENT_INFO_EXTEND));
stringAlarm = stringAlarm + ", 人员类型:" + struInfoExtend.byUserType;
}

//记录日志
ADR_DeviceLogEntity adrDeviceLogEntity = new ADR_DeviceLogEntity();
adrDeviceLogEntity.Create();
var deviceEntity = adrDeviceIbll.GetADR_DeviceEntityBylUserID(pAlarmer.lUserID.ToString());
if (deviceEntity != null && !string.IsNullOrEmpty(deviceEntity.Id))
{
adrDeviceLogEntity.DeviceId = deviceEntity.Id;
stringAlarm += ",设备IP:" + deviceEntity.IpAddress;
}

adrDeviceLogEntity.LogData = stringAlarm;
adrDeviceLogEntity.LogType = "0";
adrDeviceLogIbll.SaveEntity(null, adrDeviceLogEntity);
//考勤记录
//首先获取考勤规则
var attendancerulEntity = adrRestrictionIbll.GetADR_RestrictionEntityEnabled();
if (attendancerulEntity != null)
{
//员工卡号
string EmpNo = System.Text.Encoding.UTF8.GetString(struAcsAlarm.struAcsEventInfo.byCardNo).TrimEnd('\0');
//考勤状态
string ADType = "0";
//考勤结果
string ClockStatus = "1";
//当前服务器日期
var datenow = DateTime.Now.ToString("yyyy-MM-dd");
var datetimenow = DateTime.Now;
//设备事件时间
DateTime devicetime = Convert.ToDateTime(strTime);
//上班时间
DateTime workDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.WorkTime);
//下班时间
DateTime offworkDateTime = Convert.ToDateTime(datenow + " " + attendancerulEntity.CloseTime);
//迟到判断
if (devicetime <= workDateTime)//正常
{
ADType = "1";//上班
ClockStatus = "1";//正常
}
else//迟到
{
//签到与签退判断
if (devicetime>= offworkDateTime)//如果签到时间大于下班时间则为签退状态
{
ADType = "2";//下班
ClockStatus = "1";//正常
}
else//小于下班时间
{
//首先判断是上班还是下班
//该用户当日有签到记录视为下班签退
var attendancerecord =adrRecordIbll.GetADR_RecordEntityByEmpNo(strTimeYear, strTimeMonth, strTimeDay,EmpNo).Where(m=>m.ADType=="1");
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";//迟到
}
}
}

}
ADR_RecordEntity adrRecordEntity = new ADR_RecordEntity();
adrRecordEntity.Create();
adrRecordEntity.UserNo = EmpNo;
adrRecordEntity.ADType = ADType;
adrRecordEntity.ADTime = datetimenow;
adrRecordEntity.ClockTime = devicetime;
adrRecordEntity.ClockStatus = ClockStatus;
if (deviceEntity!=null&&!string.IsNullOrEmpty(deviceEntity.DName))
{
adrRecordEntity.ClockPlace = deviceEntity.DName;
}
else
{
adrRecordEntity.ClockPlace = "未知";
}
adrRecordEntity.ADYear = datetimenow.Year.ToString();
adrRecordEntity.ADMonth = datetimenow.Month.ToString();
adrRecordEntity.ADDay = datetimenow.Day.ToString();
//去重
//获取当日考勤记录
var attendancerecordlist = adrRecordIbll.GetADR_RecordEntityByEmpNo(strTimeYear, strTimeMonth, strTimeDay, EmpNo);
//签到去重
if (adrRecordEntity.ADType == "1"&&attendancerecordlist.Count(m=>m.ADType=="1")==0)//签过到了
{
//每日保留第一次签到记录
return true;
}
//签退去重
if (adrRecordEntity.ADType == "2" && attendancerecordlist.Count(m => m.ADType == "2") > 0)//签过退了
{
//更新签退时间,签退状态
var firstoffworkentity = attendancerecordlist.FirstOrDefault(m => m.ADType == "2");
firstoffworkentity.ADTime = datetimenow;
firstoffworkentity.ClockTime = devicetime;
firstoffworkentity.ClockStatus = ClockStatus;
adrRecordIbll.SaveEntity(firstoffworkentity.ID,firstoffworkentity);
return true;
}
//考勤记录
adrRecordIbll.SaveEntity(null, adrRecordEntity);
}
}
}

return true; //回调函数需要有返回,表示正常接收到数据
}
catch (Exception e)
{
LogEntity lrBaseLogoEntity = new LogEntity();
lrBaseLogoEntity.F_LogId = Guid.NewGuid().ToString();
lrBaseLogoEntity.F_CategoryId = 4;
lrBaseLogoEntity.F_Module = "海康考勤机";
lrBaseLogoEntity.F_ExecuteResultJson = "海康考勤机报警事件回调异常" + e.Message + ",详细" + e.StackTrace;
lrBaseLogoEntity.WriteLog();
return true;
}
}

protected override void OnStop()


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/hlog.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/hpr.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/libeay32.dll Просмотреть файл


+ 26
- 0
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/log4cxx.properties Просмотреть файл

@@ -0,0 +1,26 @@
#缺省不输出日志到控制台
#FATAL、ERROR、WARN、INFO、DEBUG 优先级顺序 如果子模块和根模块都匹配,那么都会输出
log4j.rootLogger=DEBUG, stdout
#log4j.rootLogger=DEBUG
##hlog.async=false
##hlog.secret.show=true
##hlog.secret.encrypt=false
#log4j.logger用于控制日志采集级别及采集内容,Threshold用于控制日志输出级别

#应用于控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d][%t][%-5p]- %m%n

log4j.logger.NPQ=TRACE, NPQ
log4j.appender.NPQ=org.apache.log4j.RollingFileAppender
log4j.appender.NPQ.File=./NPQLog/NPQ.log
log4j.appender.NPQ.MaxFileSize=80MB
log4j.appender.NPQ.MaxBackupIndex=12
log4j.appender.NPQ.Append=false
log4j.appender.NPQ.Threshold=TRACE
log4j.appender.NPQ.layout=org.apache.log4j.PatternLayout
log4j.appender.NPQ.layout.ConversionPattern=[%d][%t][%-5p]- %m%n
log4j.additivity.NPQ = false
#最后一位修改为true 既可以控制台输出又可以文件输出


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/ssleay32.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/zlib1.dll Просмотреть файл


+ 17496
- 0
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/CHCNetSDK.cs
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCCore.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDK.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/AnalyzeData.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/AudioIntercom.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCAlarm.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCAlarm.lib Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCCoreDevCfg.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCDisplay.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCGeneralCfgMgr.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCGeneralCfgMgr.lib Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCIndustry.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCPlayBack.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCPreview.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCPreview.lib Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/HCVoiceTalk.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/OpenAL32.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/StreamTransClient.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/SystemTransform.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/HCNetSDKCom/libiconv2.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/Newtonsoft.Json.dll Просмотреть файл


+ 11262
- 0
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/Newtonsoft.Json.xml
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/hlog.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/hpr.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/libeay32.dll Просмотреть файл


+ 26
- 0
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/log4cxx.properties Просмотреть файл

@@ -0,0 +1,26 @@
#缺省不输出日志到控制台
#FATAL、ERROR、WARN、INFO、DEBUG 优先级顺序 如果子模块和根模块都匹配,那么都会输出
log4j.rootLogger=DEBUG, stdout
#log4j.rootLogger=DEBUG
##hlog.async=false
##hlog.secret.show=true
##hlog.secret.encrypt=false
#log4j.logger用于控制日志采集级别及采集内容,Threshold用于控制日志输出级别

#应用于控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d][%t][%-5p]- %m%n

log4j.logger.NPQ=TRACE, NPQ
log4j.appender.NPQ=org.apache.log4j.RollingFileAppender
log4j.appender.NPQ.File=./NPQLog/NPQ.log
log4j.appender.NPQ.MaxFileSize=80MB
log4j.appender.NPQ.MaxBackupIndex=12
log4j.appender.NPQ.Append=false
log4j.appender.NPQ.Threshold=TRACE
log4j.appender.NPQ.layout=org.apache.log4j.PatternLayout
log4j.appender.NPQ.layout.ConversionPattern=[%d][%t][%-5p]- %m%n
log4j.additivity.NPQ = false
#最后一位修改为true 既可以控制台输出又可以文件输出


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/ssleay32.dll Просмотреть файл


Двоичные данные
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/zlib1.dll Просмотреть файл


+ 3
- 0
Learun.Framework.Ultimate V7/Quanjiang.DigitalScholl.JobService/海康考勤机必须文件/文件部署说明.txt Просмотреть файл

@@ -0,0 +1,3 @@
1.部署海康考勤机时,将此文件夹内所有文件(包括HCNetSDKCom文件夹)复制到exe目录内
2.务必保证考勤机与exe所在机器网络互通
3.配置App.config文件下的appSettings节AttendancePhotoPath,存储考勤刷脸图片路径到数字化校园网站Resource\AttendancePhoto目录下

Загрузка…
Отмена
Сохранить