From 9300d77ab0d9337eb20d0280d8749b155a296498 Mon Sep 17 00:00:00 2001
From: "754998852@qq.com" <754998852@qq.com>
Date: Wed, 20 Nov 2024 09:08:00 +0800
Subject: [PATCH] 1
---
.gitignore | 1 +
DataBase/版本日志/SGGLDB_V2024-11-19.sql | 92 +++
SGGL/BLL/API/APIIndexService.cs | 339 ++++++++++
SGGL/BLL/API/APIPersonService.cs | 297 +++++++++
SGGL/BLL/API/HSSE/APITestPlanService.cs | 65 +-
SGGL/BLL/API/HSSE/APITestRecordService.cs | 70 +-
SGGL/BLL/API/HSSE/APITrainRecordService.cs | 3 +-
.../BLL/API/HSSE/APITrainTestRecordService.cs | 2 +-
SGGL/BLL/API/HSSE/APITrainingPlanService.cs | 46 +-
SGGL/BLL/API/HSSE/APITrainingTaskService.cs | 44 +-
SGGL/BLL/BLL.csproj | 1 +
SGGL/BLL/BaseInfo/WorkPostService.cs | 79 +++
SGGL/BLL/Common/Const.cs | 5 +
.../EduTrain/CompanyTrainingItemService.cs | 4 +
SGGL/BLL/HSSE/EduTrain/TrainingItemService.cs | 4 +-
SGGL/BLL/SQLHelper.cs | 24 +
SGGL/BLL/SysManage/SysConstSetService.cs | 14 +
SGGL/BLL/SysManage/UnitService.cs | 26 +
SGGL/FineUIPro.Web/ErrLog.txt | 198 ++++++
SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 360 +++++++++++
.../EduTrain/CompanyTrainingItemSave.aspx | 61 ++
.../EduTrain/CompanyTrainingItemSave.aspx.cs | 69 +-
.../CompanyTrainingItemSave.aspx.designer.cs | 67 +-
.../HSSE/EduTrain/TrainingItemSave.aspx | 5 +
.../HSSE/EduTrain/TrainingItemSave.aspx.cs | 12 +
.../TrainingItemSave.aspx.designer.cs | 49 +-
.../Person/EduTrain/AccidentCase.aspx | 154 +++++
.../Person/EduTrain/AccidentCase.aspx.cs | 506 +++++++++++++++
.../EduTrain/AccidentCase.aspx.designer.cs | 287 +++++++++
.../Person/EduTrain/AccidentCaseItemSave.aspx | 65 ++
.../EduTrain/AccidentCaseItemSave.aspx.cs | 171 +++++
.../AccidentCaseItemSave.aspx.designer.cs | 125 ++++
.../AccidentCaseItemSelectCloumn.aspx | 38 ++
.../AccidentCaseItemSelectCloumn.aspx.cs | 32 +
...identCaseItemSelectCloumn.aspx.designer.cs | 80 +++
.../Person/EduTrain/AccidentCaseSave.aspx | 49 ++
.../Person/EduTrain/AccidentCaseSave.aspx.cs | 147 +++++
.../AccidentCaseSave.aspx.designer.cs | 98 +++
.../Person/EduTrain/CompanyTraining.aspx | 160 +++++
.../Person/EduTrain/CompanyTraining.aspx.cs | 532 +++++++++++++++
.../EduTrain/CompanyTraining.aspx.designer.cs | 278 ++++++++
.../EduTrain/CompanyTrainingItemSave.aspx | 70 ++
.../EduTrain/CompanyTrainingItemSave.aspx.cs | 193 ++++++
.../CompanyTrainingItemSave.aspx.designer.cs | 152 +++++
.../Person/EduTrain/CompanyTrainingSave.aspx | 52 ++
.../EduTrain/CompanyTrainingSave.aspx.cs | 154 +++++
.../CompanyTrainingSave.aspx.designer.cs | 98 +++
SGGL/FineUIPro.Web/Person/EduTrain/Plan.aspx | 119 ++++
.../Person/EduTrain/Plan.aspx.cs | 337 ++++++++++
.../Person/EduTrain/Plan.aspx.designer.cs | 188 ++++++
.../Person/EduTrain/PlanEdit.aspx | 172 +++++
.../Person/EduTrain/PlanEdit.aspx.cs | 444 +++++++++++++
.../Person/EduTrain/PlanEdit.aspx.designer.cs | 233 +++++++
.../Person/EduTrain/PlanView.aspx | 71 ++
.../Person/EduTrain/PlanView.aspx.cs | 47 ++
.../Person/EduTrain/PlanView.aspx.designer.cs | 134 ++++
.../Person/EduTrain/ShowPerson.aspx | 87 +++
.../Person/EduTrain/ShowPerson.aspx.cs | 229 +++++++
.../EduTrain/ShowPerson.aspx.designer.cs | 125 ++++
SGGL/FineUIPro.Web/Person/EduTrain/Task.aspx | 88 +++
.../Person/EduTrain/Task.aspx.cs | 208 ++++++
.../Person/EduTrain/Task.aspx.designer.cs | 134 ++++
.../Person/EduTrain/TaskNotice.aspx | 138 ++++
.../Person/EduTrain/TaskNotice.aspx.cs | 404 ++++++++++++
.../EduTrain/TaskNotice.aspx.designer.cs | 197 ++++++
.../Person/EduTrain/TaskNoticeEdit.aspx | 139 ++++
.../Person/EduTrain/TaskNoticeEdit.aspx.cs | 243 +++++++
.../EduTrain/TaskNoticeEdit.aspx.designer.cs | 251 ++++++++
.../Person/EduTrain/TaskRecordView.aspx | 91 +++
.../Person/EduTrain/TaskRecordView.aspx.cs | 90 +++
.../EduTrain/TaskRecordView.aspx.designer.cs | 125 ++++
.../Person/EduTrain/TaskView.aspx | 79 +++
.../Person/EduTrain/TaskView.aspx.cs | 178 +++++
.../Person/EduTrain/TaskView.aspx.designer.cs | 107 +++
.../Person/EduTrain/TestPlan.aspx | 127 ++++
.../Person/EduTrain/TestPlan.aspx.cs | 286 ++++++++
.../Person/EduTrain/TestPlan.aspx.designer.cs | 170 +++++
.../Person/EduTrain/TestPlanView.aspx | 85 +++
.../Person/EduTrain/TestPlanView.aspx.cs | 84 +++
.../EduTrain/TestPlanView.aspx.designer.cs | 170 +++++
.../Person/EduTrain/TestRecord.aspx | 149 +++++
.../Person/EduTrain/TestRecord.aspx.cs | 335 ++++++++++
.../EduTrain/TestRecord.aspx.designer.cs | 224 +++++++
.../Person/EduTrain/TestRecordItem.aspx | 129 ++++
.../Person/EduTrain/TestRecordItem.aspx.cs | 288 +++++++++
.../EduTrain/TestRecordItem.aspx.designer.cs | 179 ++++++
.../Person/EduTrain/TestRecordPrint.aspx | 254 ++++++++
.../Person/EduTrain/TestRecordPrint.aspx.cs | 262 ++++++++
.../EduTrain/TestRecordPrint.aspx.designer.cs | 188 ++++++
.../Person/EduTrain/TestRecordView.aspx | 103 +++
.../Person/EduTrain/TestRecordView.aspx.cs | 185 ++++++
.../EduTrain/TestRecordView.aspx.designer.cs | 188 ++++++
.../Person/EduTrain/TestStatistics.aspx | 84 +++
.../Person/EduTrain/TestStatistics.aspx.cs | 114 ++++
.../EduTrain/TestStatistics.aspx.designer.cs | 107 +++
.../Person/EduTrain/TestTrainRecord.aspx | 90 +++
.../Person/EduTrain/TestTrainRecord.aspx.cs | 155 +++++
.../EduTrain/TestTrainRecord.aspx.designer.cs | 125 ++++
.../Person/EduTrain/TestTraining.aspx | 189 ++++++
.../Person/EduTrain/TestTraining.aspx.cs | 539 ++++++++++++++++
.../EduTrain/TestTraining.aspx.designer.cs | 287 +++++++++
.../Person/EduTrain/TestTrainingItemIn.aspx | 112 ++++
.../EduTrain/TestTrainingItemIn.aspx.cs | 473 ++++++++++++++
.../TestTrainingItemIn.aspx.designer.cs | 143 ++++
.../Person/EduTrain/TestTrainingItemSave.aspx | 162 +++++
.../EduTrain/TestTrainingItemSave.aspx.cs | 406 ++++++++++++
.../TestTrainingItemSave.aspx.designer.cs | 368 +++++++++++
.../Person/EduTrain/TestTrainingOut.aspx | 97 +++
.../Person/EduTrain/TestTrainingOut.aspx.cs | 120 ++++
.../EduTrain/TestTrainingOut.aspx.designer.cs | 98 +++
.../Person/EduTrain/TestTrainingSave.aspx | 53 ++
.../Person/EduTrain/TestTrainingSave.aspx.cs | 150 +++++
.../TestTrainingSave.aspx.designer.cs | 107 +++
.../Person/EduTrain/TrainDB.aspx | 151 +++++
.../Person/EduTrain/TrainDB.aspx.cs | 554 ++++++++++++++++
.../Person/EduTrain/TrainDB.aspx.designer.cs | 287 +++++++++
.../Person/EduTrain/TrainFind.aspx | 124 ++++
.../Person/EduTrain/TrainFind.aspx.cs | 288 +++++++++
.../EduTrain/TrainFind.aspx.designer.cs | 215 +++++++
.../Person/EduTrain/TrainRecord.aspx | 154 +++++
.../Person/EduTrain/TrainRecord.aspx.cs | 608 ++++++++++++++++++
.../EduTrain/TrainRecord.aspx.designer.cs | 269 ++++++++
.../Person/EduTrain/TrainRecordEdit.aspx | 224 +++++++
.../Person/EduTrain/TrainRecordEdit.aspx.cs | 535 +++++++++++++++
.../EduTrain/TrainRecordEdit.aspx.designer.cs | 368 +++++++++++
.../Person/EduTrain/TrainRecordIn.aspx | 100 +++
.../Person/EduTrain/TrainRecordIn.aspx.cs | 363 +++++++++++
.../EduTrain/TrainRecordIn.aspx.designer.cs | 143 ++++
.../Person/EduTrain/TrainRecordView.aspx | 200 ++++++
.../Person/EduTrain/TrainRecordView.aspx.cs | 296 +++++++++
.../EduTrain/TrainRecordView.aspx.designer.cs | 305 +++++++++
.../Person/EduTrain/TrainTest.aspx | 68 ++
.../Person/EduTrain/TrainTest.aspx.cs | 94 +++
.../EduTrain/TrainTest.aspx.designer.cs | 89 +++
.../Person/EduTrain/TrainTestDB.aspx | 143 ++++
.../Person/EduTrain/TrainTestDB.aspx.cs | 523 +++++++++++++++
.../EduTrain/TrainTestDB.aspx.designer.cs | 260 ++++++++
.../Person/EduTrain/TrainTestDBEdit.aspx | 51 ++
.../Person/EduTrain/TrainTestDBEdit.aspx.cs | 159 +++++
.../EduTrain/TrainTestDBEdit.aspx.designer.cs | 98 +++
.../EduTrain/TrainTestDBSelectCloumn.aspx | 34 +
.../EduTrain/TrainTestDBSelectCloumn.aspx.cs | 37 ++
.../TrainTestDBSelectCloumn.aspx.designer.cs | 80 +++
.../Person/EduTrain/TrainTestItemEdit.aspx | 54 ++
.../Person/EduTrain/TrainTestItemEdit.aspx.cs | 178 +++++
.../TrainTestItemEdit.aspx.designer.cs | 125 ++++
.../Person/EduTrain/TrainTestRecord.aspx | 139 ++++
.../Person/EduTrain/TrainTestRecord.aspx.cs | 270 ++++++++
.../EduTrain/TrainTestRecord.aspx.designer.cs | 206 ++++++
.../Person/EduTrain/TrainTestRecordEdit.aspx | 153 +++++
.../EduTrain/TrainTestRecordEdit.aspx.cs | 221 +++++++
.../TrainTestRecordEdit.aspx.designer.cs | 251 ++++++++
.../Person/EduTrain/TrainTestView.aspx | 68 ++
.../Person/EduTrain/TrainTestView.aspx.cs | 103 +++
.../EduTrain/TrainTestView.aspx.designer.cs | 80 +++
.../Person/EduTrain/TrainingItemSave.aspx | 68 ++
.../Person/EduTrain/TrainingItemSave.aspx.cs | 200 ++++++
.../TrainingItemSave.aspx.designer.cs | 152 +++++
.../Person/EduTrain/TrainingSave.aspx | 48 ++
.../Person/EduTrain/TrainingSave.aspx.cs | 153 +++++
.../EduTrain/TrainingSave.aspx.designer.cs | 98 +++
SGGL/FineUIPro.Web/index.aspx | 17 +
SGGL/Model/APIItem/CQMSItem.cs | 149 +++++
SGGL/Model/APIItem/DefectItem.cs | 41 ++
SGGL/Model/APIItem/HJGLItem.cs | 53 ++
SGGL/Model/APIItem/HSSE/PersonItem.cs | 4 +
SGGL/Model/APIItem/HSSE/TestPlanItem.cs | 18 +
SGGL/Model/APIItem/HSSE/TrainingPlanItem.cs | 17 +
SGGL/Model/APIItem/HSSE/TrainingTaskItem.cs | 13 +
SGGL/Model/APIItem/HSSEItem.cs | 313 +++++++++
SGGL/Model/APIItem/HiddenDangerItem.cs | 46 ++
SGGL/Model/APIItem/SYHSEItem.cs | 169 +++++
SGGL/Model/Model.cs | 300 +++++++++
SGGL/Model/Model.csproj | 6 +
.../Controllers/HJGL/ReportQueryController.cs | 92 +++
.../HSSE/ChartAnalysisController.cs | 79 +++
.../Controllers/HSSE/TestRecordController.cs | 59 +-
SGGL/WebAPI/Controllers/PersonController.cs | 26 +-
SGGL/WebAPI/Controllers/ShouYeController.cs | 144 +++++
.../PublishProfiles/FolderProfile.pubxml | 8 +-
SGGL/WebAPI/WebAPI.csproj | 1 +
181 files changed, 28244 insertions(+), 119 deletions(-)
create mode 100644 DataBase/版本日志/SGGLDB_V2024-11-19.sql
create mode 100644 SGGL/BLL/API/APIIndexService.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCase.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCase.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCase.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCaseItemSave.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCaseItemSave.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCaseItemSave.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCaseItemSelectCloumn.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCaseItemSelectCloumn.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCaseItemSelectCloumn.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCaseSave.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCaseSave.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/AccidentCaseSave.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/CompanyTraining.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/CompanyTraining.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/CompanyTraining.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/CompanyTrainingItemSave.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/CompanyTrainingItemSave.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/CompanyTrainingItemSave.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/CompanyTrainingSave.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/CompanyTrainingSave.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/CompanyTrainingSave.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/Plan.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/Plan.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/Plan.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/PlanEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/PlanEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/PlanEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/PlanView.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/PlanView.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/PlanView.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/ShowPerson.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/ShowPerson.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/ShowPerson.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/Task.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/Task.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/Task.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskNotice.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskNotice.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskNotice.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskNoticeEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskNoticeEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskNoticeEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskRecordView.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskRecordView.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskRecordView.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskView.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskView.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TaskView.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestPlan.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestPlan.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestPlan.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestPlanView.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestPlanView.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestPlanView.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecord.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecord.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecord.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecordItem.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecordItem.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecordItem.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecordPrint.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecordPrint.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecordPrint.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecordView.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecordView.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestRecordView.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestStatistics.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestStatistics.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestStatistics.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainRecord.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainRecord.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainRecord.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTraining.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTraining.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTraining.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingItemIn.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingItemIn.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingItemIn.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingItemSave.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingItemSave.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingItemSave.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingOut.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingOut.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingOut.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingSave.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingSave.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TestTrainingSave.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainDB.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainDB.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainDB.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainFind.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainFind.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainFind.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecord.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecord.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecord.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecordEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecordEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecordEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecordIn.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecordIn.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecordIn.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecordView.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecordView.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainRecordView.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTest.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTest.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTest.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestDB.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestDB.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestDB.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestDBEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestDBEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestDBEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestDBSelectCloumn.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestDBSelectCloumn.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestDBSelectCloumn.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestItemEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestItemEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestItemEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestRecord.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestRecord.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestRecord.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestRecordEdit.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestRecordEdit.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestRecordEdit.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestView.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestView.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainTestView.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainingItemSave.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainingItemSave.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainingItemSave.aspx.designer.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainingSave.aspx
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainingSave.aspx.cs
create mode 100644 SGGL/FineUIPro.Web/Person/EduTrain/TrainingSave.aspx.designer.cs
create mode 100644 SGGL/Model/APIItem/CQMSItem.cs
create mode 100644 SGGL/Model/APIItem/DefectItem.cs
create mode 100644 SGGL/Model/APIItem/HJGLItem.cs
create mode 100644 SGGL/Model/APIItem/HSSEItem.cs
create mode 100644 SGGL/Model/APIItem/HiddenDangerItem.cs
create mode 100644 SGGL/Model/APIItem/SYHSEItem.cs
create mode 100644 SGGL/WebAPI/Controllers/ShouYeController.cs
diff --git a/.gitignore b/.gitignore
index f32177d7..a01b8f9c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,6 +20,7 @@
/SUBQHSE/DataExchange/bin
/SUBQHSE/DataExchange/obj/Debug
/SUBQHSEPackFile
+/SGGLPackFile
*.user
/SUBQHSE/FineUIPro.Web/File/Excel/Temp
*.xml
diff --git a/DataBase/版本日志/SGGLDB_V2024-11-19.sql b/DataBase/版本日志/SGGLDB_V2024-11-19.sql
new file mode 100644
index 00000000..787ab65a
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_V2024-11-19.sql
@@ -0,0 +1,92 @@
+alter table Training_CompanyTrainingItem add LearningTime int
+go
+alter table Training_CompanyTrainingItem add TestTrainingIds nvarchar(max)
+go
+alter table Training_TestTrainingItem add DepartIds nvarchar(4000)
+go
+alter table Training_TestTrainingItem add DepartNames nvarchar(max)
+go
+alter table Training_TrainingItem add LearningTime int
+go
+alter table Training_TestRecord add Signature nvarchar(1000)
+go
+alter table Training_TestRecord add Fingerprint nvarchar(1000)
+go
+alter table Training_TaskItem add StartTime datetime
+go
+alter table Training_TaskItem add EndTime datetime
+go
+alter table Training_TaskItem add LearnTime int
+go
+alter table Training_TaskItem add VideoProgress int
+go
+alter table Training_TaskItem add CompanyTrainingItemId nvarchar(100)
+go
+alter table Training_Plan add DepartIds nvarchar(2000)
+go
+alter table Training_Plan add DepartNames nvarchar(2000)
+go
+
+alter table Training_TestPlan
+add TrainTypeId nvarchar(50) null;
+go
+
+select*From Training_TestPlan
+
+SELECT*fROM SYS_MENU WHERE MenuType='Menu_Person' ORDER BY SortIndex
+
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('6DE58F2F-8BB0-4273-99B5-29638AAECD1F','ѵ','',100,'0','Menu_Person',0,0,1)
+go
+
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('7680FF24-475A-4C8E-BD1A-CA0A90AE90DB','ѵƻ','Person/EduTrain/Plan.aspx',10,'6DE58F2F-8BB0-4273-99B5-29638AAECD1F','Menu_Person',0,1,1)
+go
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('0893D427-B55B-4569-AA77-8C1252FC7E8F','ѵ','Person/EduTrain/Task.aspx',20,'6DE58F2F-8BB0-4273-99B5-29638AAECD1F','Menu_Person',0,1,1)
+go
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('72907130-417B-48D0-87F8-F2753130CF96','ѵ','Person/EduTrain/TestTrainRecord.aspx',30,'6DE58F2F-8BB0-4273-99B5-29638AAECD1F','Menu_Person',0,1,1)
+go
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('B10594D1-06F6-4394-BC10-1AEA0C7704B1','Լƻ','Person/EduTrain/TestPlan.aspx',40,'6DE58F2F-8BB0-4273-99B5-29638AAECD1F','Menu_Person',0,1,1)
+go
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('88F3D9B7-5F08-441D-B2D7-9A152D2EAE11','Լ¼','Person/EduTrain/TestRecord.aspx',50,'6DE58F2F-8BB0-4273-99B5-29638AAECD1F','Menu_Person',0,1,1)
+go
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('809B6A68-952D-4906-BF72-997EB30F745A','ͳ','Person/EduTrain/TestStatistics.aspx',60,'6DE58F2F-8BB0-4273-99B5-29638AAECD1F','Menu_Person',0,1,1)
+go
+
+ALTER VIEW [dbo].[View_Training_TestTrainingItem] AS
+/*ѵϢͼ*/
+SELECT Training.TrainingId
+ ,Training.TrainingCode
+ ,Training.TrainingName
+ ,Item.TrainingItemId
+ ,Item.TrainingItemCode
+ ,Item.TrainingItemName
+ ,Item.Abstracts
+ ,Item.AbstractsEng
+ ,Item.AttachUrl
+ ,Item.VersionNum
+ ,Item.TestType
+ ,Item.WorkPostIds
+ ,Item.WorkPostNames
+ ,Item.AItem
+ ,Item.BItem
+ ,Item.CItem
+ ,Item.DItem
+ ,Item.EItem
+ ,Item.AItemEng
+ ,Item.BItemEng
+ ,Item.CItemEng
+ ,Item.DItemEng
+ ,Item.EItemEng
+ --,Item.Score
+ ,Item.AnswerItems
+ ,Item.DepartIds
+ ,Item.DepartNames
+ FROM dbo.Training_TestTrainingItem AS Item
+ LEFT JOIN Training_TestTraining AS Training ON Item.TrainingId = Training.TrainingId
+ go
\ No newline at end of file
diff --git a/SGGL/BLL/API/APIIndexService.cs b/SGGL/BLL/API/APIIndexService.cs
new file mode 100644
index 00000000..f566bc39
--- /dev/null
+++ b/SGGL/BLL/API/APIIndexService.cs
@@ -0,0 +1,339 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BLL.API
+{
+ public class APIIndexService
+ {
+ #region 获取HSSE首页数据
+ ///
+ /// 获取HSSE首页数据
+ ///
+ ///
+ ///
+ public static Model.HSSEItem hsse()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ Model.HSSEItem item = new Model.HSSEItem();
+ var hsse = db.HSSEData_HSSE.OrderByDescending(x => x.ReportDate).FirstOrDefault();
+ if (hsse != null)
+ {
+
+ item.Id = hsse.Id;
+ item.UnitId = hsse.UnitId;
+ item.CollCropCode = hsse.CollCropCode;
+ item.UnitName = hsse.UnitName;
+ item.ReportDate = hsse.ReportDate;
+ item.BeUnderConstructionNum = hsse.BeUnderConstructionNum;
+ item.ShutdownNum = hsse.ShutdownNum;
+ item.JoinConstructionPersonNum = hsse.JoinConstructionPersonNum;
+ item.MajorProjectsUnderConstructionNum = hsse.MajorProjectsUnderConstructionNum;
+ item.TotalWorkingHour = hsse.TotalWorkingHour;
+ item.TotalWorkingHour = hsse.TotalWorkingHour;
+ item.SafeWorkingHour = hsse.SafeWorkingHour;
+ item.SafeTrainNum = hsse.SafeTrainNum;
+ item.SpecialTrainNum = hsse.SpecialTrainNum;
+ item.SpecialOperationTrainNum = hsse.SpecialOperationTrainNum;
+ item.TotalEnergyConsumption = hsse.TotalEnergyConsumption;
+ item.IncomeComprehensiveEnergyConsumption = hsse.IncomeComprehensiveEnergyConsumption;
+ item.NewWaterConsumption = hsse.NewWaterConsumption;
+ item.HeadOfficeInspectorGeneralNum = hsse.HeadOfficeInspectorGeneralNum;
+ item.HeadOfficeFullTimeNum = hsse.HeadOfficeFullTimeNum;
+ item.BranchInspectorGeneralNum = hsse.BranchInspectorGeneralNum;
+ item.BranchFullTimeNum = hsse.BranchFullTimeNum;
+ item.ProjectInspectorGeneralNum = hsse.ProjectInspectorGeneralNum;
+ item.ProjectFullTimeNum = hsse.ProjectFullTimeNum;
+ item.ProjectSafetyMonitorNum = hsse.ProjectSafetyMonitorNum;
+ item.SafetyInjectionEngineer = hsse.SafetyInjectionEngineer;
+ item.CertificateANum = hsse.CertificateANum;
+ item.CertificateBNum = hsse.CertificateBNum;
+ item.CertificateCNum = hsse.CertificateCNum;
+ item.SafetyCommitteeMeetingNum = hsse.SafetyCommitteeMeetingNum;
+ item.EnterpriseTopicsMeetingNum = hsse.EnterpriseTopicsMeetingNum;
+ item.ProjectSafetyLeadingGroupMeetingNum = hsse.ProjectSafetyLeadingGroupMeetingNum;
+ item.ProjectSafetyMeetingNum = hsse.ProjectSafetyMeetingNum;
+ item.CompanyLeadShiftCheckNum = hsse.CompanyLeadShiftCheckNum;
+ item.CompanyComprehensiveCheckNum = hsse.CompanyComprehensiveCheckNum;
+ item.CompanySpecialCheckNum = hsse.CompanySpecialCheckNum;
+ item.ProjectLeadShiftCheckNum = hsse.ProjectLeadShiftCheckNum;
+ item.ProjectSpecialCheckNum = hsse.ProjectSpecialCheckNum;
+ item.ProjectMajorCheckNum = hsse.ProjectMajorCheckNum;
+ item.NearMissNum = hsse.NearMissNum;
+ item.RecordableEventNum = hsse.RecordableEventNum;
+ item.GeneralAccidentNum = hsse.GeneralAccidentNum;
+ item.MajorAccidentNum = hsse.MajorAccidentNum;
+ item.SeriousAccidentNum = hsse.SeriousAccidentNum;
+ item.SpecialSeriousAccidentNum = hsse.SpecialSeriousAccidentNum;
+ item.CompanyComprehensivePlanNum = hsse.CompanyComprehensivePlanNum;
+ item.CompanySpecialPlanNum = hsse.CompanySpecialPlanNum;
+ item.CompanyOnSiteDisposalPlan = hsse.CompanyOnSiteDisposalPlan;
+ item.CompanyDrillNum = hsse.CompanyDrillNum;
+ item.ProjectComprehensivePlanNum = hsse.ProjectComprehensivePlanNum;
+ item.ProjectSpecialPlanNum = hsse.ProjectSpecialPlanNum;
+ item.ProjectOnSiteDisposalPlan = hsse.ProjectOnSiteDisposalPlan;
+ item.ProjectDrillNum = hsse.ProjectDrillNum;
+ item.CostExtract = hsse.CostExtract;
+ item.CostUse = hsse.CostUse;
+ item.UseEquipmentNum = hsse.UseEquipmentNum;
+ item.SpecialEquipmentNum = hsse.SpecialEquipmentNum;
+ item.LicensesNum = hsse.LicensesNum;
+ item.LicensesCloseNum = hsse.LicensesCloseNum;
+ item.GeneralClosedNum = hsse.GeneralClosedNum;
+ item.GeneralNotClosedNum = hsse.GeneralNotClosedNum;
+ item.MajorClosedNum = hsse.MajorClosedNum;
+ item.MajorNotClosedNum = hsse.MajorNotClosedNum;
+ item.GeneralRiskNum = hsse.GeneralRiskNum;
+ item.LowRiskNum = hsse.LowRiskNum;
+ item.MediumRiskNum = hsse.MediumRiskNum;
+ item.HighRiskNum = hsse.HighRiskNum;
+ item.CompletedNum = hsse.CompletedNum;
+ item.TrainPersonNum = hsse.TrainPersonNum;
+ item.ConstructionNum = hsse.ConstructionNum;
+ item.FinishedNum = hsse.FinishedNum;
+ item.SuperCompletedNum = hsse.SuperCompletedNum;
+ item.SuperTrainPersonNum = hsse.SuperTrainPersonNum;
+ item.SuperConstructionNum = hsse.SuperConstructionNum;
+ item.SuperFinishedNum = hsse.SuperFinishedNum;
+ }
+ return item;
+ }
+ }
+ #endregion
+
+ #region 获取HSSE首页隐患排查治理数据明细
+ ///
+ /// 获取HSSE首页隐患排查治理数据明细
+ ///
+ ///
+ ///
+ public static List hiddenDanger()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ List res = new List();
+ var reportDate = Funs.DB.HSSEData_HiddenDangerDetail.Max(x => x.ReportDate);
+ if (reportDate.HasValue)
+ {
+ var details = Funs.DB.HSSEData_HiddenDangerDetail.Where(x => x.ReportDate == reportDate.Value).ToList();
+
+ if (details != null && details.Count > 0)
+ {
+ foreach (var d in details)
+ {
+ Model.HiddenDangerItem item = new Model.HiddenDangerItem();
+ item.Id = d.Id;
+ item.UnitId = d.UnitId;
+ item.CollCropCode = d.CollCropCode;
+ item.UnitName = d.UnitName;
+ item.ReportDate = d.ReportDate;
+ item.TypeName = d.TypeName;
+ item.TotalNum = d.TotalNum;
+ item.NeedRectifyNum = d.NeedRectifyNum;
+ res.Add(item);
+ }
+
+ }
+ }
+
+ return res;
+ }
+ }
+ #endregion
+
+ #region 获取CQMS首页
+ ///
+ /// 获取CQMS首页
+ ///
+ ///
+ ///
+ public static Model.CQMSItem cqms()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ Model.CQMSItem item = new Model.CQMSItem();
+ var cqms = db.CQMSData_CQMS.OrderByDescending(x => x.ReportDate).FirstOrDefault();
+ if (cqms != null)
+ {
+
+ item.Id = cqms.Id;
+ item.UnitId = cqms.UnitId;
+ item.CollCropCode = cqms.CollCropCode;
+ item.UnitName = cqms.UnitName;
+ item.ReportDate = cqms.ReportDate.Value.ToShortDateString();
+ item.TrainPersonNum = cqms.TrainPersonNum;
+ item.TechnicalDisclosePersonNum = cqms.TechnicalDisclosePersonNum;
+ item.UseNum = cqms.UseNum;
+ item.OKNum = cqms.OKNum;
+ item.CompanyPersonNum = cqms.CompanyPersonNum;
+ item.BranchPersonNum = cqms.BranchPersonNum;
+ item.ProjectPersonNum = cqms.ProjectPersonNum;
+ item.ProblemNum = cqms.ProblemNum;
+ item.ProblemCompletedNum = cqms.ProblemCompletedNum;
+ item.ProblemNotCompletedNum = cqms.ProblemNotCompletedNum;
+ item.SNum = cqms.SNum;
+ item.ANum = cqms.ANum;
+ item.BNum = cqms.BNum;
+ item.CNum = cqms.CNum;
+ item.KeyProcessNum = cqms.KeyProcessNum;
+ item.KeyProcessOKNum = cqms.KeyProcessOKNum;
+ item.SpecialProcessNum = cqms.SpecialProcessNum;
+ item.SpecialProcessOKNum = cqms.SpecialProcessOKNum;
+ item.ConcealedWorksNum = cqms.ConcealedWorksNum;
+ item.ConcealedWorksOKNum = cqms.ConcealedWorksOKNum;
+ item.UnitProjectOnesNum = cqms.UnitProjectOnesNum;
+ item.UnitProjectOnesOKNum = cqms.UnitProjectOnesOKNum;
+ item.MaterialInRecheckNum = cqms.MaterialInRecheckNum;
+ item.MaterialInRecheckOKNum = cqms.MaterialInRecheckOKNum;
+ item.SingleProjectNum = cqms.SingleProjectNum;
+ item.UnitProjectNum = cqms.UnitProjectNum;
+ item.SubProjectNum = cqms.SubProjectNum;
+ item.SubdivisionalWorksNum = cqms.SubdivisionalWorksNum;
+ item.InspectionLotNum = cqms.InspectionLotNum;
+ }
+ return item;
+
+
+ }
+
+
+ }
+ #endregion
+
+ #region 获取HJGL首页
+ ///
+ /// 获取HJGL首页
+ ///
+ ///
+ ///
+ public static Model.HJGLItem hjgl()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ Model.HJGLItem item = new Model.HJGLItem();
+ var hjgl = db.HJGLData_HJGL.OrderByDescending(x => x.ReportDate).FirstOrDefault();
+ if (hjgl != null)
+ {
+
+ item.Id = hjgl.Id;
+ item.UnitId = hjgl.UnitId;
+ item.CollCropCode = hjgl.CollCropCode;
+ item.UnitName = hjgl.UnitName;
+ item.ReportDate = hjgl.ReportDate;
+ item.WelderNum = hjgl.WelderNum;
+ item.TotalDineNum = hjgl.TotalDineNum;
+ item.CompleteDineNum = hjgl.CompleteDineNum;
+ item.TotalFilmNum = hjgl.TotalFilmNum;
+ item.OKFilmNum = hjgl.OKFilmNum;
+
+ }
+ return item;
+ }
+ }
+ #endregion
+
+ #region 获取焊接缺陷
+ ///
+ /// 获取焊接缺陷
+ ///
+ ///
+ ///
+ public static List defect()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ List res = new List();
+ var reportDate = Funs.DB.HJGLData_Defect.Max(x => x.ReportDate);
+ if (reportDate.HasValue)
+ {
+ var defects = Funs.DB.HJGLData_Defect.Where(x => x.ReportDate == reportDate.Value).ToList();
+
+ if (defects != null && defects.Count > 0)
+ {
+ foreach (var d in defects)
+ {
+ Model.DefectItem item = new Model.DefectItem();
+ item.Id = d.Id;
+ item.UnitId = d.UnitId;
+ item.CollCropCode = d.CollCropCode;
+ item.UnitName = d.UnitName;
+ item.ReportDate = d.ReportDate;
+ item.DefectName = d.DefectName;
+ item.DefectNum = d.DefectNum;
+ res.Add(item);
+ }
+
+ }
+ }
+ return res;
+ }
+ }
+ #endregion
+
+ #region 获取SHIYE首页
+ ///
+ /// 获取SHIYE首页
+ ///
+ ///
+ ///
+ public static Model.SYHSEItem shiye()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ Model.SYHSEItem item = new Model.SYHSEItem();
+ var shiye = db.SYHSEData_SYHSE.OrderByDescending(x => x.ReportDate).FirstOrDefault();
+ if (shiye != null)
+ {
+
+ item.Id = shiye.Id;
+ item.UnitId = shiye.UnitId;
+ item.CollCropCode = shiye.CollCropCode;
+ item.UnitName = shiye.UnitName;
+ item.ReportDate = shiye.ReportDate;
+ item.GeneralRiskNum = shiye.GeneralRiskNum;
+ item.LowRiskNum = shiye.LowRiskNum;
+ item.MediumRiskNum = shiye.MediumRiskNum;
+ item.HighRiskNum = shiye.HighRiskNum;
+ item.GradedResponsiblePersonNum = shiye.GradedResponsiblePersonNum;
+ item.ChargeInsurancePersonNum = shiye.ChargeInsurancePersonNum;
+ item.DesignQuantity = shiye.DesignQuantity;
+ item.RunningCapacity = shiye.DesignQuantity;
+ item.InterlockSettingValue = shiye.InterlockSettingValue;
+ item.VideoSurveillanceNum = shiye.VideoSurveillanceNum;
+ item.TotalWorkinghours = shiye.TotalWorkinghours;
+ item.SafeWorkinghours = shiye.SafeWorkinghours;
+ item.LostWorkinghours = shiye.LostWorkinghours;
+ item.TotalEnergyConsumption = shiye.TotalEnergyConsumption;
+ item.IncomeComprehensiveEnergyConsumption = shiye.IncomeComprehensiveEnergyConsumption;
+ item.NewWaterConsumption = shiye.NewWaterConsumption;
+ item.GeneralClosedNum = shiye.GeneralClosedNum;
+ item.GeneralNotClosedNum = shiye.GeneralNotClosedNum;
+ item.MajorClosedNum = shiye.MajorClosedNum;
+ item.MajorNotClosedNum = shiye.MajorNotClosedNum;
+ item.HotWorkPermitNum = shiye.HotWorkPermitNum;
+ item.HotWorkClosedNum = shiye.HotWorkClosedNum;
+ item.HighPermitNum = shiye.HighPermitNum;
+ item.HighClosedNum = shiye.HighPermitNum;
+ item.TemporaryElectricityPermitNum = shiye.TemporaryElectricityPermitNum;
+ item.TemporaryElectricityClosedNum = shiye.TemporaryElectricityClosedNum;
+ item.BlindPlatePermitNum = shiye.BlindPlatePermitNum;
+ item.BlindPlateClosedNum = shiye.BlindPlateClosedNum;
+ item.GroundbreakingPermitNum = shiye.GroundbreakingPermitNum;
+ item.GroundbreakingClosedNum = shiye.GroundbreakingClosedNum;
+ item.OpenCircuitPermitNum = shiye.OpenCircuitPermitNum;
+ item.OpenCircuitClosedNum = shiye.OpenCircuitClosedNum;
+ item.HoistingPermitNum = shiye.HoistingPermitNum;
+ item.HoistingClosedNum = shiye.HoistingClosedNum;
+
+ }
+ return item;
+ }
+ }
+ #endregion
+
+
+ }
+}
diff --git a/SGGL/BLL/API/APIPersonService.cs b/SGGL/BLL/API/APIPersonService.cs
index 6ad72c7a..c154f225 100644
--- a/SGGL/BLL/API/APIPersonService.cs
+++ b/SGGL/BLL/API/APIPersonService.cs
@@ -1660,5 +1660,302 @@ namespace BLL
}
}
}
+
+ #region 根据培训类型获取项目培训人员信息
+ ///
+ /// 根据培训类型获取项目培训人员信息
+ ///
+ /// 项目ID
+ /// 培训单位ID
+ /// 培训岗位ID
+ /// 培训类型ID
+ ///
+ public static List getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string departIds, string trainTypeId, string InTime, string strParam)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ DateTime inDateTime = DateTime.Now;
+ if (!string.IsNullOrEmpty(InTime) && !"null".Equals(InTime))
+ {
+ inDateTime = DateTime.Parse(InTime);
+ }
+
+ List unitIdList = Funs.GetStrListByStr(unitIds, ',');
+ var getPersons = (from x in db.View_SitePerson_Person
+ where x.ProjectId == projectId && unitIdList.Contains(x.UnitId) && x.IsUsed == true && (string.IsNullOrEmpty(strParam) || x.PersonName.Contains(strParam)) && (string.IsNullOrEmpty(InTime) || x.InTime < inDateTime)
+ && x.InTime <= DateTime.Now && (!x.OutTime.HasValue || x.OutTime >= DateTime.Now)
+ select new Model.PersonItem
+ {
+ PersonId = x.PersonId,
+ CardNo = x.CardNo,
+ PersonName = x.PersonName,
+ SexName = x.SexName,
+ IdentityCard = x.IdentityCard,
+ Address = x.Address,
+ ProjectId = x.ProjectId,
+ ProjectCode = x.ProjectCode,
+ ProjectName = x.ProjectName,
+ UnitId = x.UnitId,
+ UnitCode = x.UnitCode,
+ UnitName = x.UnitName,
+ TeamGroupId = x.TeamGroupId,
+ TeamGroupName = x.TeamGroupName,
+ WorkPostId = x.WorkPostId,
+ WorkPostName = x.WorkPostName,
+ InTime = string.Format("{0:yyyy-MM-dd}", x.InTime),
+ OutTime = string.Format("{0:yyyy-MM-dd}", x.OutTime),
+ OutResult = x.OutResult,
+ Telephone = x.Telephone,
+ PhotoUrl = x.PhotoUrl,
+ DepartName = x.DepartName,
+ }).ToList();
+
+
+
+
+ if (!string.IsNullOrEmpty(workPostIds))
+ {
+ List workPostIdList = Funs.GetStrListByStr(workPostIds, ',');
+ getPersons = getPersons.Where(x => workPostIdList.Contains(x.WorkPostId)).ToList();
+ }
+ if (!string.IsNullOrEmpty(trainTypeId) && trainTypeId == Const.SpecialSafeTrainId)//专项安全培训
+ {
+ var ids = db.Base_WorkPost.Where(x => x.PostType == "2").Select(x => x.WorkPostId).ToList();
+ getPersons = getPersons.Where(x => ids.Contains(x.WorkPostId)).ToList();
+ }
+ List getTrainPersonList = new List();
+ var getTrainType = TrainTypeService.GetTrainTypeById(trainTypeId);
+ if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat.Value == false))
+ {
+ int score = 80;
+ var sysTestRule = db.Sys_TestRule.FirstOrDefault();
+ if (sysTestRule != null)
+ {
+ if (sysTestRule.PassingScore > 0)
+ {
+ score = sysTestRule.PassingScore;
+ }
+ }
+ foreach (var item in getPersons)
+ {
+ var getTrainPersonIdList3 = (from x in db.Training_TestRecord
+ join y in db.Training_TestPlan on x.TestPlanId equals y.TestPlanId
+ where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && y.States != "3" && x.TestManId == item.PersonId
+ where x.TestScores > score
+ select x).FirstOrDefault();
+ if (getTrainPersonIdList3 != null)
+ {
+ continue;
+ }
+ var getTrainPersonIdList1 = (from x in db.EduTrain_TrainRecordDetail
+ join y in db.EduTrain_TrainRecord on x.TrainingId equals y.TrainingId
+ where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && x.CheckResult == true && x.PersonId == item.PersonId
+ select x).FirstOrDefault();
+ if (getTrainPersonIdList1 == null)
+ {
+ var getTrainPersonIdList2 = (from x in db.Training_Task
+ join y in db.Training_Plan on x.PlanId equals y.PlanId
+ where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && y.States != "3" && x.UserId == item.PersonId
+
+ select x).FirstOrDefault();
+ if (getTrainPersonIdList2 == null)
+ {
+ getTrainPersonList.Add(item);
+ }
+ }
+ }
+ return getTrainPersonList;
+ }
+ else if (getTrainType != null && getTrainType.IsRepeat.HasValue && getTrainType.IsRepeat.Value == true)//重复的 过滤人员
+ {
+ foreach (var item in getPersons)
+ {
+ //int score = 80;
+ //var sysTestRule = db.Sys_TestRule.FirstOrDefault();
+ //if (sysTestRule != null)
+ //{
+ // if (sysTestRule.PassingScore > 0)
+ // {
+ // score = sysTestRule.PassingScore;
+ // }
+ //}
+ //var getTrainPersonIdList2 = (from x in db.Training_TestRecord
+ // join y in db.Training_TestPlan on x.TestPlanId equals y.TestPlanId
+ // where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && y.States != "3" && x.TestManId == item.PersonId
+ // where x.TestScores > score
+ // select x).FirstOrDefault();
+ //if (getTrainPersonIdList2 != null)
+ //{
+ // continue;
+ //}
+ getTrainPersonList.Add(item);
+ }
+ return getTrainPersonList;
+ }
+ //else if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false))//重复的 过滤人员
+ //{
+ // int score = 80;
+ // var sysTestRule = db.Sys_TestRule.FirstOrDefault();
+ // if (sysTestRule != null)
+ // {
+ // if (sysTestRule.PassingScore > 0)
+ // {
+ // score = sysTestRule.PassingScore;
+ // }
+ // }
+ // foreach (var item in getPersons)
+ // {
+
+ // var getTrainPersonIdList2 = (from x in db.Training_TestRecord
+ // join y in db.Training_TestPlan on x.TestPlanId equals y.TestPlanId
+ // where y.ProjectId == projectId && y.TrainTypeId == trainTypeId && y.States != "3" && x.TestManId == item.PersonId
+ // where x.TestScores > score
+ // select x).FirstOrDefault();
+ // if (getTrainPersonIdList2 != null)
+ // {
+ // continue;
+ // }
+ // getTrainPersonList.Add(item);
+ // }
+ // return getTrainPersonList;
+ //}
+ else
+ {
+ return getPersons.ToList();
+ }
+ }
+ }
+
+
+
+
+
+ #endregion
+
+ #region 根据培训类型获取项目培训人员信息
+ ///
+ /// 根据培训类型获取项目培训人员信息
+ ///
+ /// 项目ID
+ /// 培训单位ID
+ /// 培训岗位ID
+ /// 培训类型ID
+ ///
+ public static List getTrainingPersonListByDepartAndTrainTypeId(string unitIds, string departIds, string trainTypeId)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ List unitIdList = Funs.GetStrListByStr(unitIds, ',');
+ var getPersons = from x in db.Sys_User
+ where unitIdList.Contains(x.UnitId)
+
+ select new Model.PersonItem
+ {
+ PersonId = x.UserId,
+ PersonName = x.UserName,
+ SexName = x.Sex,
+ IdentityCard = x.IdentityCard,
+ UnitId = x.UnitId,
+ WorkPostId = x.WorkPostId,
+ Telephone = x.Telephone,
+ PhotoUrl = x.PhotoUrl,
+ DepartId = x.DepartId
+ };
+ if (!string.IsNullOrEmpty(departIds))
+ {
+ List departIdList = Funs.GetStrListByStr(departIds, ',');
+ getPersons = getPersons.Where(x => departIdList.Contains(x.DepartId));
+ }
+ foreach (var item in getPersons)
+ {
+ Model.Base_Unit unit = db.Base_Unit.FirstOrDefault(x => x.UnitId == item.UnitId);
+ if (!string.IsNullOrEmpty(item.UnitId))
+ {
+ if (unit != null)
+ {
+ item.UnitCode = unit.UnitCode;
+ item.UnitName = unit.UnitName;
+ }
+ }
+ if (!string.IsNullOrEmpty(item.DepartId))
+ {
+ Model.Base_Depart depart = db.Base_Depart.FirstOrDefault(x => x.DepartId == item.DepartId);
+ if (depart != null)
+ {
+ item.DepartName = depart.DepartName;
+ }
+ }
+
+ }
+ if (!string.IsNullOrEmpty(trainTypeId) && trainTypeId == Const.SpecialSafeTrainId)//专项安全培训
+ {
+ var ids = db.Base_WorkPost.Where(x => x.PostType == "2").Select(x => x.WorkPostId).ToList();
+ getPersons = getPersons.Where(x => ids.Contains(x.WorkPostId));
+ }
+
+ List getTrainPersonList = new List();
+ var getTrainType = db.Base_TrainType.FirstOrDefault(e => e.TrainTypeId == trainTypeId);
+
+
+
+
+ if (getTrainType != null && (!getTrainType.IsRepeat.HasValue || getTrainType.IsRepeat == false))
+ {
+ int score = 80;
+ var sysTestRule = db.Sys_TestRule.FirstOrDefault();
+ if (sysTestRule != null)
+ {
+ if (sysTestRule.PassingScore > 0)
+ {
+ score = sysTestRule.PassingScore;
+ }
+ }
+
+
+ foreach (var item in getPersons)
+ {
+ var getTrainPersonIdList3 = (from x in db.Training_TestRecord
+ join y in db.Training_TestPlan on x.TestPlanId equals y.TestPlanId
+ where y.TrainTypeId == trainTypeId && y.States != "3" && x.TestManId == item.PersonId
+ where x.TestScores > score
+ select x).FirstOrDefault();
+ if (getTrainPersonIdList3 != null)
+ {
+ continue;
+ }
+
+ var getTrainPersonIdList1 = (from x in db.EduTrain_TrainRecordDetail
+ join y in db.EduTrain_TrainRecord on x.TrainingId equals y.TrainingId
+ where y.ProjectId == null && y.TrainTypeId == trainTypeId && x.CheckResult == true && x.PersonId == item.PersonId
+ select x).FirstOrDefault();
+ if (getTrainPersonIdList1 == null)
+ {
+ var getTrainPersonIdList2 = (from x in db.Training_Task
+ join y in db.Training_Plan on x.PlanId equals y.PlanId
+ where y.ProjectId == null && y.TrainTypeId == trainTypeId && y.States != "3" && x.UserId == item.PersonId
+ select x).FirstOrDefault();
+ if (getTrainPersonIdList2 == null)
+ {
+ getTrainPersonList.Add(item);
+ }
+ }
+ }
+ return getTrainPersonList;
+ }
+ else
+ {
+
+
+
+ return getPersons.ToList();
+ }
+ }
+ }
+
+
+
+
+
+ #endregion
}
}
diff --git a/SGGL/BLL/API/HSSE/APITestPlanService.cs b/SGGL/BLL/API/HSSE/APITestPlanService.cs
index 291f1f97..3b206c2c 100644
--- a/SGGL/BLL/API/HSSE/APITestPlanService.cs
+++ b/SGGL/BLL/API/HSSE/APITestPlanService.cs
@@ -24,24 +24,53 @@ namespace BLL
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
- var getDataLists = (from x in db.Training_TestPlan
- where x.ProjectId == projectId && (x.States == states || states == null)
- orderby x.TestStartTime descending
- select new Model.TestPlanItem
- {
- TestPlanId = x.TestPlanId,
- TestPlanCode = x.PlanCode,
- TestPlanName = x.PlanName,
- ProjectId = x.ProjectId,
- TestPlanManId = x.PlanManId,
- TestPlanManName = db.Sys_User.First(y => y.UserId == x.PlanManId).UserName,
- TestPalce = x.TestPalce,
- TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime),
- TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestEndTime),
- States = x.States,
- QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'),
- }).ToList();
- return getDataLists;
+ if (string.IsNullOrEmpty(projectId))
+ {
+ var getDataLists = (from x in db.Training_TestPlan
+ where (x.ProjectId == null || x.ProjectId=="") && (x.States == states || states == null)
+ orderby x.TestStartTime descending
+ select new Model.TestPlanItem
+ {
+ TestPlanId = x.TestPlanId,
+ TestPlanCode = x.PlanCode,
+ TestPlanName = x.PlanName,
+ ProjectId = x.ProjectId,
+ DepartIds = x.DepartIds,
+ DepartNames = WorkPostService.getDepartNamesByIdsForApi(x.DepartIds),
+ TestPlanManId = x.PlanManId,
+ TestPlanManName = db.Sys_User.First(y => y.UserId == x.PlanManId).UserName,
+ TestPalce = x.TestPalce,
+ TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime),
+ TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestEndTime),
+ States = x.States,
+ QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'),
+ }).ToList();
+ return getDataLists;
+ }
+ else
+ {
+ var getDataLists = (from x in db.Training_TestPlan
+ where x.ProjectId == projectId && (x.States == states || states == null)
+ orderby x.TestStartTime descending
+ select new Model.TestPlanItem
+ {
+ TestPlanId = x.TestPlanId,
+ TestPlanCode = x.PlanCode,
+ TestPlanName = x.PlanName,
+ ProjectId = x.ProjectId,
+ TestPlanManId = x.PlanManId,
+ DepartIds = x.DepartIds,
+ DepartNames = WorkPostService.getDepartNamesByIdsForApi(x.DepartIds),
+ TestPlanManName = db.Sys_User.First(y => y.UserId == x.PlanManId).UserName,
+ TestPalce = x.TestPalce,
+ TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime),
+ TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestEndTime),
+ States = x.States,
+ QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'),
+ }).ToList();
+ return getDataLists;
+
+ }
}
}
#endregion
diff --git a/SGGL/BLL/API/HSSE/APITestRecordService.cs b/SGGL/BLL/API/HSSE/APITestRecordService.cs
index 0f836821..84fc7bb4 100644
--- a/SGGL/BLL/API/HSSE/APITestRecordService.cs
+++ b/SGGL/BLL/API/HSSE/APITestRecordService.cs
@@ -389,7 +389,7 @@ namespace BLL
var getDataLists = (from x in db.Training_TestRecord
join y in db.Training_TestPlan on x.TestPlanId equals y.TestPlanId
join z in db.SitePerson_Person on x.TestManId equals z.PersonId
- where x.ProjectId == projectId && x.TestStartTime.HasValue && x.TestEndTime.HasValue
+ where ((string.IsNullOrEmpty(projectId) && x.ProjectId == null) || (!string.IsNullOrEmpty(projectId) && x.ProjectId == projectId)) && x.TestStartTime.HasValue && x.TestEndTime.HasValue
orderby x.TestStartTime descending
select new Model.TestRecordItem
{
@@ -697,5 +697,73 @@ namespace BLL
return newTestRecord.TestRecordId;
}
#endregion
+
+ public static List getTrainingTestRecordListByDepartId(string unitId, string departId, string strPass, string strParam)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var getDataLists = (from x in db.Training_TestRecord
+ join y in db.Training_TestPlan on x.TestPlanId equals y.TestPlanId
+ join z in db.Sys_User on x.TestManId equals z.UserId
+ where x.ProjectId == null && x.TestStartTime.HasValue && x.TestEndTime.HasValue
+ orderby x.TestStartTime descending
+ select new Model.TestRecordItem
+ {
+ TestRecordId = x.TestRecordId,
+ ProjectId = x.ProjectId,
+ TestPlanId = x.TestPlanId,
+ TestPlanName = y.PlanName,
+ UnitId = z.UnitId,
+ UnitName = getUnitName(z.UnitId),
+ WorkPostId = z.WorkPostId,
+ WorkPostName = db.Base_WorkPost.FirstOrDefault(p => p.WorkPostId == z.WorkPostId).WorkPostName,
+ DepartId = z.DepartId,
+ TestManId = x.TestManId,
+ TestManName = db.SitePerson_Person.FirstOrDefault(p => p.PersonId == x.TestManId).PersonName,
+ TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime),
+ TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestEndTime),
+ Duration = x.Duration,
+ TestPlanEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime.Value.AddMinutes(x.Duration)),
+ TotalScore = y.TotalScore ?? 0,
+ TestScores = x.TestScores ?? 0,
+ TestType = x.TestType,
+ TemporaryUser = x.TemporaryUser,
+ });
+ if (!string.IsNullOrEmpty(unitId))
+ {
+ getDataLists = getDataLists.Where(x => x.UnitId == unitId);
+ }
+ if (!string.IsNullOrEmpty(departId))
+ {
+ getDataLists = getDataLists.Where(x => x.DepartId == departId);
+ }
+ if (!string.IsNullOrEmpty(strParam))
+ {
+ getDataLists = getDataLists.Where(x => x.TestManName.Contains(strParam));
+ }
+ if (!string.IsNullOrEmpty(strPass))
+ {
+ int PassingScore = SysConstSetService.getPassScoreForApi();
+ if (strPass == "0")
+ {
+ getDataLists = getDataLists.Where(x => x.TestScores < PassingScore);
+ }
+ else
+ {
+ getDataLists = getDataLists.Where(x => x.TestScores >= PassingScore);
+ }
+ }
+ foreach (var item in getDataLists)
+ {
+ var depart = db.Base_Depart.FirstOrDefault(x => x.DepartId == item.DepartId);
+ if (depart != null)
+ {
+ item.DepartName = depart.DepartName;
+ }
+
+ }
+ return getDataLists.ToList();
+ }
+ }
}
}
\ No newline at end of file
diff --git a/SGGL/BLL/API/HSSE/APITrainRecordService.cs b/SGGL/BLL/API/HSSE/APITrainRecordService.cs
index 82a9ff42..9334889d 100644
--- a/SGGL/BLL/API/HSSE/APITrainRecordService.cs
+++ b/SGGL/BLL/API/HSSE/APITrainRecordService.cs
@@ -21,7 +21,8 @@ namespace BLL
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getDataLists = (from x in db.EduTrain_TrainRecord
- where x.ProjectId == projectId && x.TrainTypeId == trainTypeId
+ where ((string.IsNullOrEmpty(projectId) && x.ProjectId == null)
+ || (!string.IsNullOrEmpty(projectId) && (x.ProjectId == null || x.ProjectId == ""))) && x.TrainTypeId == trainTypeId
orderby x.TrainStartDate descending
select new Model.TrainRecordItem
{
diff --git a/SGGL/BLL/API/HSSE/APITrainTestRecordService.cs b/SGGL/BLL/API/HSSE/APITrainTestRecordService.cs
index d73e5d57..360f015f 100644
--- a/SGGL/BLL/API/HSSE/APITrainTestRecordService.cs
+++ b/SGGL/BLL/API/HSSE/APITrainTestRecordService.cs
@@ -22,7 +22,7 @@ namespace BLL
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getDataLists = (from x in db.Training_TrainTestRecord
- where x.ProjectId == projectId
+ where ((string.IsNullOrEmpty(projectId) && (x.ProjectId == null || x.ProjectId == "")) || (!string.IsNullOrEmpty(projectId) && x.ProjectId == projectId))
orderby x.DateA descending
select new Model.HSSE.TrainTestRecordItem
{
diff --git a/SGGL/BLL/API/HSSE/APITrainingPlanService.cs b/SGGL/BLL/API/HSSE/APITrainingPlanService.cs
index 8e55c7ee..cb198f1b 100644
--- a/SGGL/BLL/API/HSSE/APITrainingPlanService.cs
+++ b/SGGL/BLL/API/HSSE/APITrainingPlanService.cs
@@ -21,7 +21,15 @@ namespace BLL
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getDataLists = (from x in db.Training_Plan
- where x.ProjectId == projectId && (x.States == states || states == null) && x.TrainTypeId == trainTypeId
+ where
+ (
+ (string.IsNullOrEmpty(projectId) && (x.ProjectId == null || x.ProjectId == ""))
+ ||
+ (!string.IsNullOrEmpty(projectId) && x.ProjectId == projectId)
+ )
+
+ && (x.States == states || states == null)
+ && x.TrainTypeId == trainTypeId
orderby x.TrainStartDate descending
select new Model.TrainingPlanItem
{
@@ -76,14 +84,18 @@ namespace BLL
TeachMan = x.TeachMan,
UnitIds = x.UnitIds,
WorkPostId = x.WorkPostId,
+ DepartIds = x.DepartIds,
+ DepartNames = WorkPostService.getDepartNamesByIdsForApi(x.DepartIds),
TrainContent = x.TrainContent,
- UnitNames = UnitService.getUnitNamesUnitIds(x.UnitIds),
- WorkPostNames = WorkPostService.getWorkPostNamesWorkPostIds(x.WorkPostId),
+ UnitNames = UnitService.getUnitNamesUnitIdsForApi(x.UnitIds),
+ WorkPostNames = WorkPostService.getWorkPostNamesWorkPostIdsForApi(x.WorkPostId),
DesignerId = x.DesignerId,
DesignerName = db.Sys_User.First(y => y.UserId == x.DesignerId).UserName,
DesignerDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.TrainStartDate),
States = x.States,
QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'),
+
+ TrainingTasks = getTrainingTasks(x.PlanId)
};
return getDataLists.FirstOrDefault();
}
@@ -136,7 +148,7 @@ namespace BLL
{
PlanId = trainingPlan.PlanId,
PlanCode = trainingPlan.PlanCode,
- ProjectId = trainingPlan.ProjectId,
+
DesignerId = trainingPlan.DesignerId,
PlanName = trainingPlan.PlanName,
TrainContent = trainingPlan.TrainContent,
@@ -147,9 +159,15 @@ namespace BLL
TrainTypeId = trainingPlan.TrainTypeId,
UnitIds = trainingPlan.UnitIds,
WorkPostId = trainingPlan.WorkPostId,
+ DepartIds = trainingPlan.DepartIds,
+ DepartNames = trainingPlan.DepartNames,
States = trainingPlan.States,
};
+ if (!string.IsNullOrEmpty(trainingPlan.ProjectId))
+ {
+ newTrainingPlan.ProjectId = trainingPlan.ProjectId;
+ }
if (!string.IsNullOrEmpty(trainingPlan.TrainLevelId))
{
newTrainingPlan.TrainLevelId = trainingPlan.TrainLevelId;
@@ -200,6 +218,8 @@ namespace BLL
isUpdate.UnitIds = newTrainingPlan.UnitIds;
isUpdate.WorkPostId = newTrainingPlan.WorkPostId;
isUpdate.States = newTrainingPlan.States;
+ isUpdate.DepartIds = newTrainingPlan.DepartIds;
+ isUpdate.DepartNames = newTrainingPlan.DepartNames;
db.SubmitChanges();
}
////删除培训任务
@@ -275,6 +295,24 @@ namespace BLL
}
}
+ public static List getTrainingTasks(string planId) {
+ var list = new List();
+ var taskList = Funs.DB.Training_Task.Where(x => x.PlanId == planId);
+ if (taskList.Count()>0)
+ {
+ foreach (var item in taskList)
+ {
+ var model = new Model.TrainingTaskItem();
+ model.TaskId = item.TaskId;
+ model.PlanId = item.PlanId;
+ model.PersonId = item.UserId;
+ model.PersonName = UserService.GetUserNameByUserId(item.UserId);
+ list.Add(model);
+ }
+ }
+ return list;
+ }
+
///
/// 新增 培训人员明细
///
diff --git a/SGGL/BLL/API/HSSE/APITrainingTaskService.cs b/SGGL/BLL/API/HSSE/APITrainingTaskService.cs
index e7a2d97a..1d06cefc 100644
--- a/SGGL/BLL/API/HSSE/APITrainingTaskService.cs
+++ b/SGGL/BLL/API/HSSE/APITrainingTaskService.cs
@@ -21,7 +21,7 @@ namespace BLL
personId = PersonService.GetPersonIdByUserId(personId);
var getDataLists = (from x in db.Training_Task
join y in db.Training_Plan on x.PlanId equals y.PlanId
- where x.ProjectId == projectId && x.UserId == personId && y.States != "0"
+ where ((string.IsNullOrEmpty(projectId) && (x.ProjectId == null || x.ProjectId == "")) || (!string.IsNullOrEmpty(projectId) && x.ProjectId == projectId)) && x.UserId == personId && y.States != "0"
orderby x.TaskDate descending
select new Model.TrainingTaskItem
{
@@ -31,17 +31,30 @@ namespace BLL
PlanName = y.PlanName,
TrainStartDate = string.Format("{0:yyyy-MM-dd HH:mm}", y.TrainStartDate),
TeachAddress = y.TeachAddress,
- //PersonId = x.UserId,
+ PersonId = x.UserId,
PersonName = db.SitePerson_Person.FirstOrDefault(p => p.PersonId == x.UserId).PersonName,
TaskDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.TaskDate),
TrainTypeName = db.Base_TrainType.FirstOrDefault(b => b.TrainTypeId == y.TrainTypeId).TrainTypeName,
TrainLevelName = db.Base_TrainLevel.FirstOrDefault(b => b.TrainLevelId == y.TrainLevelId).TrainLevelName,
PlanStatesName = y.States == "3" ? "已完成" : "培训中",
-
- }).ToList();
+ TaskStatesName = x.States == "2" ? "已完成" : "培训中",
+ TrainingItemCode = getTrainingItemCode(y.PlanId)
+ }).ToList();
return getDataLists;
}
}
+
+ public static string getTrainingItemCode(string PlanId)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ var ids = db.Training_PlanItem.Where(xx => xx.PlanId == PlanId).Select(x => x.CompanyTrainingItemId).ToList();
+ var codes = db.Training_CompanyTrainingItem.Where(x => ids.Contains(x.CompanyTrainingItemId)).Select(x => x.CompanyTrainingItemCode);
+ string res = string.Join(",", codes);
+ return res;
+ }
+ return "";
+ }
#endregion
#region 根据TaskId获取培训任务教材明细列表
@@ -210,10 +223,29 @@ namespace BLL
TaskId = x.TaskId,
PlanId = x.PlanId,
PersonId = x.UserId,
- PersonName = db.SitePerson_Person.FirstOrDefault(p => p.PersonId == x.UserId).PersonName,
+
TaskDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.TaskDate),
- States = x.States,
+ States = x.States,
}).ToList();
+
+ foreach (var item in getDataLists)
+ {
+ var person = db.SitePerson_Person.FirstOrDefault(p => p.PersonId == item.PersonId);
+ if (person != null)
+ {
+ item.PersonName = person.PersonName;
+ }
+ else
+ {
+ var sysUser = db.Sys_User.FirstOrDefault(p => p.UserId == item.PersonId);
+ if (sysUser != null)
+ {
+ item.PersonName = sysUser.UserName;
+ }
+ }
+
+ }
+
return getDataLists;
}
}
diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj
index 54ba97a2..f14a9dce 100644
--- a/SGGL/BLL/BLL.csproj
+++ b/SGGL/BLL/BLL.csproj
@@ -170,6 +170,7 @@
+
diff --git a/SGGL/BLL/BaseInfo/WorkPostService.cs b/SGGL/BLL/BaseInfo/WorkPostService.cs
index 50cf13a4..000eb118 100644
--- a/SGGL/BLL/BaseInfo/WorkPostService.cs
+++ b/SGGL/BLL/BaseInfo/WorkPostService.cs
@@ -260,5 +260,84 @@ namespace BLL
return workPostName;
}
#endregion
+
+ public static string getDepartNamesByIds(object departIdsIds)
+ {
+ string departName = string.Empty;
+ if (departIdsIds != null)
+ {
+ string[] ids = departIdsIds.ToString().Split(',');
+ foreach (string id in ids)
+ {
+ var q = GetDepartById(id);
+ if (q != null)
+ {
+ departName += q.DepartName + ",";
+ }
+ }
+ if (departName != string.Empty)
+ {
+ departName = departName.Substring(0, departName.Length - 1); ;
+ }
+ }
+
+ return departName;
+ }
+ public static Model.Base_Depart GetDepartById(string departId)
+ {
+ return Funs.DB.Base_Depart.FirstOrDefault(e => e.DepartId == departId);
+ }
+
+ public static string getDepartNamesByIdsForApi(object departIdsIds)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ string departName = string.Empty;
+ if (departIdsIds != null)
+ {
+ string[] ids = departIdsIds.ToString().Split(',');
+ foreach (string id in ids)
+ {
+ var q = db.Base_Depart.FirstOrDefault(e => e.DepartId == id);
+ if (q != null)
+ {
+ departName += q.DepartName + ",";
+ }
+ }
+ if (departName != string.Empty)
+ {
+ departName = departName.Substring(0, departName.Length - 1); ;
+ }
+ }
+
+ return departName;
+ }
+ }
+
+ public static string getWorkPostNamesWorkPostIdsForApi(object workPostIds)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ string workPostName = string.Empty;
+ if (workPostIds != null)
+ {
+ string[] ids = workPostIds.ToString().Split(',');
+ foreach (string id in ids)
+ {
+ var q = db.Base_WorkPost.FirstOrDefault(e => e.WorkPostId == id);
+ if (q != null)
+ {
+ workPostName += q.WorkPostName + ",";
+ }
+ }
+ if (workPostName != string.Empty)
+ {
+ workPostName = workPostName.Substring(0, workPostName.Length - 1); ;
+ }
+ }
+
+ return workPostName;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs
index db2fcf13..31b762d9 100644
--- a/SGGL/BLL/Common/Const.cs
+++ b/SGGL/BLL/Common/Const.cs
@@ -6415,5 +6415,10 @@ namespace BLL
/// 施工作业风险
///
public const string ConstructionRiskMenuId = "F531D523-35BC-4D13-88D3-CB2554C4185C";
+
+ ///
+ /// 专项安全培训 id
+ ///
+ public static string SpecialSafeTrainId = "0e7fdf78-eaa0-4d00-a60b-490040bbea18";
}
}
\ No newline at end of file
diff --git a/SGGL/BLL/HSSE/EduTrain/CompanyTrainingItemService.cs b/SGGL/BLL/HSSE/EduTrain/CompanyTrainingItemService.cs
index 7b841525..9e6898bc 100644
--- a/SGGL/BLL/HSSE/EduTrain/CompanyTrainingItemService.cs
+++ b/SGGL/BLL/HSSE/EduTrain/CompanyTrainingItemService.cs
@@ -33,6 +33,8 @@ namespace BLL
newCompanyTrainingItem.AttachUrl = companyTrainingItem.AttachUrl;
newCompanyTrainingItem.CompileMan = companyTrainingItem.CompileMan;
newCompanyTrainingItem.CompileDate = companyTrainingItem.CompileDate;
+ newCompanyTrainingItem.LearningTime = companyTrainingItem.LearningTime;
+ newCompanyTrainingItem.TestTrainingIds = companyTrainingItem.TestTrainingIds;
db.Training_CompanyTrainingItem.InsertOnSubmit(newCompanyTrainingItem);
db.SubmitChanges();
}
@@ -51,6 +53,8 @@ namespace BLL
newCompanyTrainingItem.AttachUrl = companyTrainingItem.AttachUrl;
newCompanyTrainingItem.CompileMan = companyTrainingItem.CompileMan;
newCompanyTrainingItem.CompileDate = companyTrainingItem.CompileDate;
+ newCompanyTrainingItem.LearningTime = companyTrainingItem.LearningTime;
+ newCompanyTrainingItem.TestTrainingIds = companyTrainingItem.TestTrainingIds;
db.SubmitChanges();
}
}
diff --git a/SGGL/BLL/HSSE/EduTrain/TrainingItemService.cs b/SGGL/BLL/HSSE/EduTrain/TrainingItemService.cs
index fe33b8b7..27abd599 100644
--- a/SGGL/BLL/HSSE/EduTrain/TrainingItemService.cs
+++ b/SGGL/BLL/HSSE/EduTrain/TrainingItemService.cs
@@ -52,7 +52,8 @@ namespace BLL
ResourcesFromType = trainingItem.ResourcesFromType,
IsPass = trainingItem.IsPass,
UnitId = trainingItem.UnitId,
- UpState = trainingItem.UpState
+ UpState = trainingItem.UpState,
+ LearningTime = trainingItem.LearningTime
};
db.Training_TrainingItem.InsertOnSubmit(newTrainingItem);
@@ -80,6 +81,7 @@ namespace BLL
newTrainingItem.ResourcesFrom = trainingItem.ResourcesFrom;
newTrainingItem.ResourcesFromType = trainingItem.ResourcesFromType;
newTrainingItem.UpState = trainingItem.UpState;
+ newTrainingItem.LearningTime = trainingItem.LearningTime;
db.SubmitChanges();
}
diff --git a/SGGL/BLL/SQLHelper.cs b/SGGL/BLL/SQLHelper.cs
index 889cf6bc..a7db6592 100644
--- a/SGGL/BLL/SQLHelper.cs
+++ b/SGGL/BLL/SQLHelper.cs
@@ -972,5 +972,29 @@ namespace BLL
maxId = GetIntValue(str);
return maxId;
}
+
+ public static DataTable GetDataTableRunCommand(SqlCommand cmd)
+ {
+ try
+ {
+ using (SqlConnection conn = new SqlConnection(connectionString))
+ {
+ cmd.Connection = conn;
+ conn.Open();
+
+ using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
+ {
+ DataTable dataTable = new DataTable();
+ adapter.Fill(dataTable);
+ return dataTable;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine(ex.ToString());
+ return null;
+ }
+ }
}
}
diff --git a/SGGL/BLL/SysManage/SysConstSetService.cs b/SGGL/BLL/SysManage/SysConstSetService.cs
index e5fe8a1d..1b50eb2a 100644
--- a/SGGL/BLL/SysManage/SysConstSetService.cs
+++ b/SGGL/BLL/SysManage/SysConstSetService.cs
@@ -380,5 +380,19 @@
}
}
#endregion
+
+ public static int getPassScoreForApi()
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ int passScore = 80;
+ var testRule = db.Sys_TestRule.FirstOrDefault();
+ if (testRule != null)
+ {
+ passScore = testRule.PassingScore;
+ }
+ return passScore;
+ }
+ }
}
}
diff --git a/SGGL/BLL/SysManage/UnitService.cs b/SGGL/BLL/SysManage/UnitService.cs
index 8adebc22..86063351 100644
--- a/SGGL/BLL/SysManage/UnitService.cs
+++ b/SGGL/BLL/SysManage/UnitService.cs
@@ -927,5 +927,31 @@ namespace BLL
return q;
}
}
+
+ public static string getUnitNamesUnitIdsForApi(object unitIds)
+ {
+ using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
+ {
+ string unitName = string.Empty;
+ if (unitIds != null)
+ {
+ string[] ids = unitIds.ToString().Split(',');
+ foreach (string id in ids)
+ {
+ var q = db.Base_Unit.FirstOrDefault(x => x.UnitId == id);
+ if (q != null)
+ {
+ unitName += q.UnitName + ",";
+ }
+ }
+ if (unitName != string.Empty)
+ {
+ unitName = unitName.Substring(0, unitName.Length - 1); ;
+ }
+ }
+
+ return unitName;
+ }
+ }
}
}
diff --git a/SGGL/FineUIPro.Web/ErrLog.txt b/SGGL/FineUIPro.Web/ErrLog.txt
index c0528944..83f414ec 100644
--- a/SGGL/FineUIPro.Web/ErrLog.txt
+++ b/SGGL/FineUIPro.Web/ErrLog.txt
@@ -1020,3 +1020,201 @@ IP地址:::1
环境数据同步结束!
环境数据同步开始!
环境数据同步结束!
+通用定时器开启!
+启用环境定时器开始!
+启用环境定时器结束!
+通用定时器结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+通用定时器开启!
+启用环境定时器开始!
+启用环境定时器结束!
+通用定时器结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+环境数据同步开始!
+环境数据同步结束!
+通用定时器开启!
+启用环境定时器开始!
+启用环境定时器结束!
+通用定时器结束!
+通用定时器开启!
+启用环境定时器开始!
+启用环境定时器结束!
+通用定时器结束!
+
+错误信息开始=====>
+错误类型:SqlException
+错误信息:INSERT 语句与 FOREIGN KEY 约束"FK_Training_TrainingItem_Training_Training"冲突。该冲突发生于数据库"SGGLDB_XJYJ",表"dbo.Training_Training", column 'TrainingId'。
+语句已终止。
+错误堆栈:
+ 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
+ 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
+ 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
+ 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
+ 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
+ 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
+ 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
+ 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
+ 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
+ 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
+ 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
+ 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
+ 在 System.Data.Linq.ChangeDirector.StandardChangeDirector.DynamicInsert(TrackedObject item)
+ 在 System.Data.Linq.ChangeDirector.StandardChangeDirector.Insert(TrackedObject item)
+ 在 System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode)
+ 在 System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
+ 在 System.Data.Linq.DataContext.SubmitChanges()
+ 在 BLL.TrainingItemService.AddTrainingItem(Training_TrainingItem trainingItem) 位置 G:\公司项目\新疆油建\SGGL_TCC\SGGL\BLL\HSSE\EduTrain\TrainingItemService.cs:行号 60
+ 在 FineUIPro.Web.HSSE.EduTrain.TrainingItemSave.SaveData(Boolean isClose) 位置 G:\公司项目\新疆油建\SGGL_TCC\SGGL\FineUIPro.Web\HSSE\EduTrain\TrainingItemSave.aspx.cs:行号 121
+ 在 FineUIPro.Web.HSSE.EduTrain.TrainingItemSave.btnSave_Click(Object sender, EventArgs e) 位置 G:\公司项目\新疆油建\SGGL_TCC\SGGL\FineUIPro.Web\HSSE\EduTrain\TrainingItemSave.aspx.cs:行号 148
+ 在 FineUIPro.Button.OnClick(EventArgs e)
+ 在 (Button , EventArgs )
+ 在 FineUIPro.Button.RaisePostBackEvent(String eventArgument)
+ 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
+ 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
+ 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+出错时间:11/19/2024 14:30:27
+出错文件:http://localhost:4528/HSSE/EduTrain/TrainingItemSave.aspx?TrainingId=0
+IP地址:::1
+操作人员:JT
+
+出错时间:11/19/2024 14:30:27
+
+
+错误信息开始=====>
+错误类型:SqlException
+错误信息:INSERT 语句与 FOREIGN KEY 约束"FK_Training_TrainingItem_Training_Training"冲突。该冲突发生于数据库"SGGLDB_XJYJ",表"dbo.Training_Training", column 'TrainingId'。
+语句已终止。
+错误堆栈:
+ 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
+ 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
+ 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
+ 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
+ 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
+ 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
+ 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
+ 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
+ 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
+ 在 System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
+ 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
+ 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
+ 在 System.Data.Linq.ChangeDirector.StandardChangeDirector.DynamicInsert(TrackedObject item)
+ 在 System.Data.Linq.ChangeDirector.StandardChangeDirector.Insert(TrackedObject item)
+ 在 System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode)
+ 在 System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
+ 在 System.Data.Linq.DataContext.SubmitChanges()
+ 在 BLL.TrainingItemService.AddTrainingItem(Training_TrainingItem trainingItem) 位置 G:\公司项目\新疆油建\SGGL_TCC\SGGL\BLL\HSSE\EduTrain\TrainingItemService.cs:行号 60
+ 在 FineUIPro.Web.HSSE.EduTrain.TrainingItemSave.SaveData(Boolean isClose) 位置 G:\公司项目\新疆油建\SGGL_TCC\SGGL\FineUIPro.Web\HSSE\EduTrain\TrainingItemSave.aspx.cs:行号 121
+ 在 FineUIPro.Web.HSSE.EduTrain.TrainingItemSave.btnSave_Click(Object sender, EventArgs e) 位置 G:\公司项目\新疆油建\SGGL_TCC\SGGL\FineUIPro.Web\HSSE\EduTrain\TrainingItemSave.aspx.cs:行号 148
+ 在 FineUIPro.Button.OnClick(EventArgs e)
+ 在 (Button , EventArgs )
+ 在 FineUIPro.Button.RaisePostBackEvent(String eventArgument)
+ 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
+ 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
+ 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+出错时间:11/19/2024 14:31:31
+出错文件:http://localhost:4528/HSSE/EduTrain/TrainingItemSave.aspx?TrainingId=0
+IP地址:::1
+操作人员:JT
+
+出错时间:11/19/2024 14:31:31
+
+通用定时器开启!
+启用环境定时器开始!
+启用环境定时器结束!
+通用定时器结束!
+
+错误信息开始=====>
+错误类型:HttpParseException
+错误信息:未能加载类型“FineUIPro.Web.Person.EduTrain.Plan”。
+错误堆栈:
+ 在 System.Web.UI.TemplateParser.ProcessException(Exception ex)
+ 在 System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
+ 在 System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
+----错误类型:HttpException
+----错误信息:
+----未能加载类型“FineUIPro.Web.Person.EduTrain.Plan”。
+----错误堆栈:
+ 在 System.Web.UI.TemplateParser.GetType(String typeName, Boolean ignoreCase, Boolean throwOnError)
+ 在 System.Web.UI.TemplateParser.ProcessInheritsAttribute(String baseTypeName, String codeFileBaseTypeName, String src, Assembly assembly)
+ 在 System.Web.UI.TemplateParser.PostProcessMainDirectiveAttributes(IDictionary parseData)
+出错时间:11/19/2024 14:50:11
+出错文件:http://localhost:4528/Person/EduTrain/Plan.aspx
+IP地址:::1
+
+出错时间:11/19/2024 14:50:11
+
+
+错误信息开始=====>
+错误类型:HttpParseException
+错误信息:未能加载类型“FineUIPro.Web.Person.EduTrain.Task”。
+错误堆栈:
+ 在 System.Web.UI.TemplateParser.ProcessException(Exception ex)
+ 在 System.Web.UI.TemplateParser.ParseStringInternal(String text, Encoding fileEncoding)
+ 在 System.Web.UI.TemplateParser.ParseString(String text, VirtualPath virtualPath, Encoding fileEncoding)
+----错误类型:HttpException
+----错误信息:
+----未能加载类型“FineUIPro.Web.Person.EduTrain.Task”。
+----错误堆栈:
+ 在 System.Web.UI.TemplateParser.GetType(String typeName, Boolean ignoreCase, Boolean throwOnError)
+ 在 System.Web.UI.TemplateParser.ProcessInheritsAttribute(String baseTypeName, String codeFileBaseTypeName, String src, Assembly assembly)
+ 在 System.Web.UI.TemplateParser.PostProcessMainDirectiveAttributes(IDictionary parseData)
+出错时间:11/19/2024 14:50:21
+出错文件:http://localhost:4528/Person/EduTrain/Task.aspx
+IP地址:::1
+
+出错时间:11/19/2024 14:50:21
+
+通用定时器开启!
+启用环境定时器开始!
+启用环境定时器结束!
+通用定时器结束!
+通用定时器开启!
+启用环境定时器开始!
+启用环境定时器结束!
+通用定时器结束!
+通用定时器开启!
+启用环境定时器开始!
+启用环境定时器结束!
+通用定时器结束!
+通用定时器开启!
+启用环境定时器开始!
+启用环境定时器结束!
+通用定时器结束!
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index d3e573f5..d616a9cf 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -2378,6 +2378,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -15939,6 +15984,321 @@
PersonDuty.aspx
+
+ AccidentCase.aspx
+ ASPXCodeBehind
+
+
+ AccidentCase.aspx
+
+
+ AccidentCaseItemSave.aspx
+ ASPXCodeBehind
+
+
+ AccidentCaseItemSave.aspx
+
+
+ AccidentCaseItemSelectCloumn.aspx
+ ASPXCodeBehind
+
+
+ AccidentCaseItemSelectCloumn.aspx
+
+
+ AccidentCaseSave.aspx
+ ASPXCodeBehind
+
+
+ AccidentCaseSave.aspx
+
+
+ CompanyTraining.aspx
+ ASPXCodeBehind
+
+
+ CompanyTraining.aspx
+
+
+ CompanyTrainingItemSave.aspx
+ ASPXCodeBehind
+
+
+ CompanyTrainingItemSave.aspx
+
+
+ CompanyTrainingSave.aspx
+ ASPXCodeBehind
+
+
+ CompanyTrainingSave.aspx
+
+
+ Plan.aspx
+ ASPXCodeBehind
+
+
+ Plan.aspx
+
+
+ PlanEdit.aspx
+ ASPXCodeBehind
+
+
+ PlanEdit.aspx
+
+
+ PlanView.aspx
+ ASPXCodeBehind
+
+
+ PlanView.aspx
+
+
+ ShowPerson.aspx
+ ASPXCodeBehind
+
+
+ ShowPerson.aspx
+
+
+ Task.aspx
+ ASPXCodeBehind
+
+
+ Task.aspx
+
+
+ TaskNotice.aspx
+ ASPXCodeBehind
+
+
+ TaskNotice.aspx
+
+
+ TaskNoticeEdit.aspx
+ ASPXCodeBehind
+
+
+ TaskNoticeEdit.aspx
+
+
+ TaskRecordView.aspx
+ ASPXCodeBehind
+
+
+ TaskRecordView.aspx
+
+
+ TaskView.aspx
+ ASPXCodeBehind
+
+
+ TaskView.aspx
+
+
+ TestPlan.aspx
+ ASPXCodeBehind
+
+
+ TestPlan.aspx
+
+
+ TestPlanView.aspx
+ ASPXCodeBehind
+
+
+ TestPlanView.aspx
+
+
+ TestRecord.aspx
+ ASPXCodeBehind
+
+
+ TestRecord.aspx
+
+
+ TestRecordItem.aspx
+ ASPXCodeBehind
+
+
+ TestRecordItem.aspx
+
+
+ TestRecordPrint.aspx
+ ASPXCodeBehind
+
+
+ TestRecordPrint.aspx
+
+
+ TestRecordView.aspx
+ ASPXCodeBehind
+
+
+ TestRecordView.aspx
+
+
+ TestStatistics.aspx
+ ASPXCodeBehind
+
+
+ TestStatistics.aspx
+
+
+ TestTraining.aspx
+ ASPXCodeBehind
+
+
+ TestTraining.aspx
+
+
+ TestTrainingItemIn.aspx
+ ASPXCodeBehind
+
+
+ TestTrainingItemIn.aspx
+
+
+ TestTrainingItemSave.aspx
+ ASPXCodeBehind
+
+
+ TestTrainingItemSave.aspx
+
+
+ TestTrainingOut.aspx
+ ASPXCodeBehind
+
+
+ TestTrainingOut.aspx
+
+
+ TestTrainingSave.aspx
+ ASPXCodeBehind
+
+
+ TestTrainingSave.aspx
+
+
+ TestTrainRecord.aspx
+ ASPXCodeBehind
+
+
+ TestTrainRecord.aspx
+
+
+ TrainDB.aspx
+ ASPXCodeBehind
+
+
+ TrainDB.aspx
+
+
+ TrainFind.aspx
+ ASPXCodeBehind
+
+
+ TrainFind.aspx
+
+
+ TrainingItemSave.aspx
+ ASPXCodeBehind
+
+
+ TrainingItemSave.aspx
+
+
+ TrainingSave.aspx
+ ASPXCodeBehind
+
+
+ TrainingSave.aspx
+
+
+ TrainRecord.aspx
+ ASPXCodeBehind
+
+
+ TrainRecord.aspx
+
+
+ TrainRecordEdit.aspx
+ ASPXCodeBehind
+
+
+ TrainRecordEdit.aspx
+
+
+ TrainRecordIn.aspx
+ ASPXCodeBehind
+
+
+ TrainRecordIn.aspx
+
+
+ TrainRecordView.aspx
+ ASPXCodeBehind
+
+
+ TrainRecordView.aspx
+
+
+ TrainTest.aspx
+ ASPXCodeBehind
+
+
+ TrainTest.aspx
+
+
+ TrainTestDB.aspx
+ ASPXCodeBehind
+
+
+ TrainTestDB.aspx
+
+
+ TrainTestDBEdit.aspx
+ ASPXCodeBehind
+
+
+ TrainTestDBEdit.aspx
+
+
+ TrainTestDBSelectCloumn.aspx
+ ASPXCodeBehind
+
+
+ TrainTestDBSelectCloumn.aspx
+
+
+ TrainTestItemEdit.aspx
+ ASPXCodeBehind
+
+
+ TrainTestItemEdit.aspx
+
+
+ TrainTestRecord.aspx
+ ASPXCodeBehind
+
+
+ TrainTestRecord.aspx
+
+
+ TrainTestRecordEdit.aspx
+ ASPXCodeBehind
+
+
+ TrainTestRecordEdit.aspx
+
+
+ TrainTestView.aspx
+ ASPXCodeBehind
+
+
+ TrainTestView.aspx
+
PersonCheck.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/HSSE/EduTrain/CompanyTrainingItemSave.aspx b/SGGL/FineUIPro.Web/HSSE/EduTrain/CompanyTrainingItemSave.aspx
index f223b70c..c0e44ba4 100644
--- a/SGGL/FineUIPro.Web/HSSE/EduTrain/CompanyTrainingItemSave.aspx
+++ b/SGGL/FineUIPro.Web/HSSE/EduTrain/CompanyTrainingItemSave.aspx
@@ -39,6 +39,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -68,3 +87,45 @@