From e7cb8046840813e3354d7fe63c0e06f8227d12ae Mon Sep 17 00:00:00 2001 From: Frane Date: Thu, 20 May 2021 17:16:01 +0800 Subject: [PATCH] 20210520 --- .../已更新脚本/SGGLDB_V2021-04-19-001.sql | 613 ++ .../已更新脚本/SGGLDB_V2021-04-21-001.sql | 232 + .../已更新脚本/SGGLDB_V2021-04-24-001.sql | 60 + .../0-8综合管理(Menu_ZHGL).sql | 8 +- .../1-3安全管理(Menu_HSSE).sql | 10 - .../1-4进度管理(Menu_JDGL).sql | 195 +- SGGL/BLL/API/APIBaseInfoService.cs | 2 +- SGGL/BLL/API/APIPersonService.cs | 45 +- SGGL/BLL/API/APIUserService.cs | 63 + SGGL/BLL/BLL.csproj | 7 + SGGL/BLL/BaseInfo/SteelService.cs | 2 +- SGGL/BLL/Common/Const.cs | 260 +- SGGL/BLL/Common/Funs.cs | 47 +- .../HSSE_Hazard_HazardRegisterService.cs | 2 + .../JDGL/Check/ElectricalCompletionService.cs | 83 + .../JDGL/Check/EquipmentCompletionService.cs | 83 + SGGL/BLL/JDGL/Check/MeterCompletionService.cs | 83 + .../JDGL/Check/PipelineCompletionService.cs | 81 + .../JDGL/Check/ProgressCompletionService.cs | 90 + .../JDGL/Check/QuantityCompletionService.cs | 4 +- .../Check/SteelStructureCompletionService.cs | 83 + .../Check/UndergroundPipeCompletionService.cs | 81 + SGGL/BLL/ProjectData/ProjectService.cs | 2 +- .../SuperviseCheckRectifyItemService.cs | 5 +- .../CQMS/Comprehensive/DataDistribution.aspx | 9 +- .../Comprehensive/DataDistribution.aspx.cs | 20 + .../DataDistribution.aspx.designer.cs | 13 +- .../CQMS/Comprehensive/DataReceiving.aspx | 9 +- .../CQMS/Comprehensive/DataReceiving.aspx.cs | 21 +- .../DataReceiving.aspx.designer.cs | 13 +- .../CQMS/Comprehensive/DesignChangeOrder.aspx | 13 +- .../Comprehensive/DesignChangeOrder.aspx.cs | 21 + .../DesignChangeOrder.aspx.designer.cs | 17 +- .../CQMS/Comprehensive/DesignDetails.aspx | 9 +- .../CQMS/Comprehensive/DesignDetails.aspx.cs | 21 + .../DesignDetails.aspx.designer.cs | 17 +- .../CQMS/Comprehensive/DesignDrawings.aspx | 13 +- .../CQMS/Comprehensive/DesignDrawings.aspx.cs | 22 +- .../DesignDrawings.aspx.designer.cs | 17 +- .../Comprehensive/GeneralPlanApproval.aspx | 7 +- .../Comprehensive/GeneralPlanApproval.aspx.cs | 20 + .../GeneralPlanApproval.aspx.designer.cs | 13 +- .../Comprehensive/InspectionEquipment.aspx | 7 +- .../Comprehensive/InspectionEquipment.aspx.cs | 21 + .../InspectionEquipment.aspx.designer.cs | 9 + .../CQMS/Comprehensive/InspectionMachine.aspx | 11 +- .../Comprehensive/InspectionMachine.aspx.cs | 21 + .../InspectionMachine.aspx.designer.cs | 9 + .../CQMS/Comprehensive/InspectionPerson.aspx | 11 +- .../Comprehensive/InspectionPerson.aspx.cs | 21 + .../InspectionPerson.aspx.designer.cs | 13 +- .../CQMS/Comprehensive/MajorPlanApproval.aspx | 7 +- .../Comprehensive/MajorPlanApproval.aspx.cs | 20 + .../MajorPlanApproval.aspx.designer.cs | 13 +- .../CQMS/Comprehensive/NCRManagement.aspx | 15 +- .../CQMS/Comprehensive/NCRManagement.aspx.cs | 21 +- .../NCRManagement.aspx.designer.cs | 17 +- .../CQMS/Comprehensive/PressurePipe.aspx | 5 +- .../CQMS/Comprehensive/PressurePipe.aspx.cs | 20 + .../PressurePipe.aspx.designer.cs | 9 + .../CQMS/Comprehensive/QualityAccident.aspx | 9 +- .../Comprehensive/QualityAccident.aspx.cs | 20 + .../QualityAccident.aspx.designer.cs | 13 +- .../Comprehensive/SiteVisaManagement.aspx | 5 +- .../Comprehensive/SiteVisaManagement.aspx.cs | 21 + .../SiteVisaManagement.aspx.designer.cs | 9 + .../SiteVisaManagementDataIn.aspx.cs | 68 +- .../CQMS/Comprehensive/SpecialEquipment.aspx | 3 + .../Comprehensive/SpecialEquipment.aspx.cs | 20 + .../SpecialEquipment.aspx.designer.cs | 9 + .../CQMS/ManageReport/MonthReport.aspx | 2 +- .../CQMS/ManageReport/MonthReportEdit.aspx.cs | 4 +- .../CQMS/ManageReport/MonthReportPrint.aspx | 10 +- .../CQMS/ManageReport/WeekReport.aspx | 2 +- .../CQMS/ManageReport/WeekReportEdit.aspx.cs | 4 +- .../CQMS/ManageReport/WeekReportPrint.aspx | 10 +- .../ProcessControl/CheckManStatistics.aspx.cs | 27 +- .../CQMS/ProcessControl/HotProessManage.aspx | 3 + .../ProcessControl/HotProessManage.aspx.cs | 20 + .../HotProessManage.aspx.designer.cs | 9 + .../ProcessControl/InspectionManagement.aspx | 7 +- .../InspectionManagement.aspx.cs | 20 + .../InspectionManagement.aspx.designer.cs | 9 + .../InspectionManagementStatistics.aspx | 22 +- .../InspectionManagementStatistics.aspx.cs | 33 +- .../CQMS/ProcessControl/InspectionNotice.aspx | 5 +- .../ProcessControl/InspectionNotice.aspx.cs | 20 + .../InspectionNotice.aspx.designer.cs | 9 + .../ProcessControl/NondestructiveTest.aspx | 5 +- .../ProcessControl/NondestructiveTest.aspx.cs | 21 + .../NondestructiveTest.aspx.designer.cs | 9 + .../ProcessControl/TestPackageManagement.aspx | 7 +- .../TestPackageManagement.aspx.cs | 20 + .../TestPackageManagement.aspx.designer.cs | 9 + SGGL/FineUIPro.Web/Door/InOutList.aspx | 2 +- SGGL/FineUIPro.Web/Door/InOutList.aspx.cs | 2 +- SGGL/FineUIPro.Web/ErrLog.txt | 579 +- .../Excel/DataIn/仪表完成情况导入模板.xls | Bin 0 -> 18432 bytes .../DataIn/全厂地下管网完成情况导入模板.xls | Bin 0 -> 18432 bytes .../Excel/DataIn/电气完成情况导入模板.xls | Bin 0 -> 18432 bytes .../Excel/DataIn/管道完成情况导入模板.xls | Bin 0 -> 18432 bytes .../Excel/DataIn/设备完成情况导入模板.xls | Bin 0 -> 18432 bytes .../Excel/DataIn/钢结构完成情况导入模板.xls | Bin 0 -> 18432 bytes .../File/Excel/Temp/202104190843396760.xls | Bin 0 -> 18432 bytes .../File/Excel/Temp/202104200419393042.xls | Bin 0 -> 18944 bytes .../File/Excel/Temp/202104200421267933.xls | Bin 0 -> 18944 bytes .../File/Excel/Temp/202104200422528798.xls | Bin 0 -> 18432 bytes .../File/Excel/Temp/202104221125066241.xls | Bin 0 -> 18432 bytes .../File/Excel/Temp/202104270145024513.xls | Bin 0 -> 19456 bytes .../File/Excel/Temp/202104270228076631.xls | Bin 0 -> 20480 bytes .../File/Excel/Temp/202104270228461033.xls | Bin 0 -> 20480 bytes .../File/Excel/Temp/202105010610145196.xls | Bin 0 -> 23552 bytes .../File/Excel/Temp/202105010617373624.xls | Bin 0 -> 23552 bytes .../File/Excel/Temp/202105010628301166.xls | Bin 0 -> 23552 bytes .../QRCodeFile/20212920112922885.jpg | Bin 0 -> 38063 bytes .../QRCodeFile/20212920112923329.jpg | Bin 0 -> 37820 bytes .../QRCodeFile/20212920112923399.jpg | Bin 0 -> 38128 bytes .../QRCodeFile/20212920112923479.jpg | Bin 0 -> 37777 bytes .../QRCodeFile/20212920112923528.jpg | Bin 0 -> 39045 bytes ...04200228347273~微信图片_20210416093321.jpg | Bin 177889 -> 0 bytes ...04200238232079~微信图片_20210416093321.jpg | Bin 177889 -> 0 bytes ...04200426019004~微信图片_20210416093321.jpg | Bin 177889 -> 0 bytes SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 128 + .../HJGL/TestPackage/TestPackageAudit.aspx | 2 +- .../HSSE/Check/RectifyNotices.aspx | 2 +- .../Check/RectifyNotices.aspx.designer.cs | 4 +- .../HiddenRectificationAdd.aspx | 6 + .../HiddenRectificationAdd.aspx.cs | 2 + .../HiddenRectificationAdd.aspx.designer.cs | 9 + .../HiddenRectificationConfirm.aspx | 6 + .../HiddenRectificationConfirm.aspx.cs | 1 + ...iddenRectificationConfirm.aspx.designer.cs | 9 + .../HiddenRectificationList.aspx | 5 +- .../HiddenRectificationRectify.aspx | 6 + .../HiddenRectificationRectify.aspx.cs | 1 + ...iddenRectificationRectify.aspx.designer.cs | 9 + .../HiddenRectificationView.aspx | 6 + .../HiddenRectificationView.aspx.cs | 1 + .../HiddenRectificationView.aspx.designer.cs | 9 + SGGL/FineUIPro.Web/Images/Export.gif | Bin 0 -> 678 bytes .../JDGL/Check/ElectricalCompletion.aspx | 87 + .../JDGL/Check/ElectricalCompletion.aspx.cs | 100 + .../ElectricalCompletion.aspx.designer.cs | 87 + .../JDGL/Check/ElectricalCompletionIn.aspx | 98 + .../JDGL/Check/ElectricalCompletionIn.aspx.cs | 553 ++ .../ElectricalCompletionIn.aspx.designer.cs | 150 + .../JDGL/Check/EquipmentCompletion.aspx | 73 + .../JDGL/Check/EquipmentCompletion.aspx.cs | 100 + .../EquipmentCompletion.aspx.designer.cs | 87 + .../JDGL/Check/EquipmentCompletionIn.aspx | 95 + .../JDGL/Check/EquipmentCompletionIn.aspx.cs | 559 ++ .../EquipmentCompletionIn.aspx.designer.cs | 150 + .../JDGL/Check/MeterCompletion.aspx | 87 + .../JDGL/Check/MeterCompletion.aspx.cs | 100 + .../Check/MeterCompletion.aspx.designer.cs | 87 + .../JDGL/Check/MeterCompletionIn.aspx | 98 + .../JDGL/Check/MeterCompletionIn.aspx.cs | 553 ++ .../Check/MeterCompletionIn.aspx.designer.cs | 150 + .../JDGL/Check/PipelineCompletion.aspx | 71 + .../JDGL/Check/PipelineCompletion.aspx.cs | 100 + .../Check/PipelineCompletion.aspx.designer.cs | 87 + .../JDGL/Check/PipelineCompletionIn.aspx | 92 + .../JDGL/Check/PipelineCompletionIn.aspx.cs | 535 ++ .../PipelineCompletionIn.aspx.designer.cs | 150 + .../JDGL/Check/ProgressCompletion.aspx | 106 + .../JDGL/Check/ProgressCompletion.aspx.cs | 159 + .../Check/ProgressCompletion.aspx.designer.cs | 150 + .../JDGL/Check/ProgressCompletionEdit.aspx | 50 + .../JDGL/Check/ProgressCompletionEdit.aspx.cs | 118 + .../ProgressCompletionEdit.aspx.designer.cs | 105 + .../JDGL/Check/ProgressCompletionView.aspx | 48 + .../JDGL/Check/ProgressCompletionView.aspx.cs | 72 + .../ProgressCompletionView.aspx.designer.cs | 96 + .../JDGL/Check/QuantityCompletion.aspx | 16 +- .../JDGL/Check/QuantityCompletion.aspx.cs | 34 +- .../Check/QuantityCompletion.aspx.designer.cs | 18 - .../JDGL/Check/QuantityCompletionIn.aspx | 10 +- .../JDGL/Check/QuantityCompletionIn.aspx.cs | 139 +- .../QuantityCompletionIn.aspx.designer.cs | 18 + .../JDGL/Check/QuantityList.aspx | 2 +- .../JDGL/Check/QuantityListEdit.aspx | 4 +- .../JDGL/Check/QuantityListEdit.aspx.cs | 28 +- .../Check/QuantityListEdit.aspx.designer.cs | 9 - .../JDGL/Check/QuantityListView.aspx | 4 +- .../JDGL/Check/QuantityListView.aspx.cs | 10 +- .../Check/QuantityListView.aspx.designer.cs | 9 - .../JDGL/Check/SteelStructureCompletion.aspx | 70 + .../Check/SteelStructureCompletion.aspx.cs | 100 + .../SteelStructureCompletion.aspx.designer.cs | 87 + .../Check/SteelStructureCompletionIn.aspx | 95 + .../Check/SteelStructureCompletionIn.aspx.cs | 559 ++ ...teelStructureCompletionIn.aspx.designer.cs | 150 + .../JDGL/Check/TotalCompletion.aspx | 433 ++ .../JDGL/Check/TotalCompletion.aspx.cs | 324 ++ .../Check/TotalCompletion.aspx.designer.cs | 366 ++ .../JDGL/Check/UndergroundPipeCompletion.aspx | 71 + .../Check/UndergroundPipeCompletion.aspx.cs | 100 + ...UndergroundPipeCompletion.aspx.designer.cs | 87 + .../Check/UndergroundPipeCompletionIn.aspx | 92 + .../Check/UndergroundPipeCompletionIn.aspx.cs | 535 ++ ...dergroundPipeCompletionIn.aspx.designer.cs | 150 + SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXFind.aspx | 16 +- SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx | 5 + .../FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx.cs | 14 + .../PZHGL/GJSX/GJSXList.aspx.designer.cs | 9 + .../PZHGL/GJSX/GJSXListEdit.aspx.cs | 2 +- SGGL/FineUIPro.Web/Person/PersonPlan.aspx | 95 +- SGGL/FineUIPro.Web/Person/PersonPlan.aspx.cs | 301 +- .../Person/PersonPlan.aspx.designer.cs | 9 + SGGL/FineUIPro.Web/common/Menu_JDGL.xml | 23 +- SGGL/FineUIPro.Web/common/Menu_Person.xml | 1 - SGGL/FineUIPro.Web/common/PageBase.cs | 97 + .../common/mainMenu_JDGL.aspx.cs | 235 +- SGGL/FineUIPro.Web/common/mainProject.aspx | 82 +- SGGL/FineUIPro.Web/common/mainProject.aspx.cs | 148 +- SGGL/Model/Model.cs | 5177 ++++++++++++++++- .../Controllers/DoorServerController.cs | 32 +- SGGL/WebAPI/Controllers/PersonController.cs | 24 + SGGL/WebAPI/Controllers/UserController.cs | 24 + 219 files changed, 17315 insertions(+), 1571 deletions(-) create mode 100644 DataBase/版本日志/已更新脚本/SGGLDB_V2021-04-19-001.sql create mode 100644 DataBase/版本日志/已更新脚本/SGGLDB_V2021-04-21-001.sql create mode 100644 DataBase/版本日志/已更新脚本/SGGLDB_V2021-04-24-001.sql create mode 100644 SGGL/BLL/JDGL/Check/ElectricalCompletionService.cs create mode 100644 SGGL/BLL/JDGL/Check/EquipmentCompletionService.cs create mode 100644 SGGL/BLL/JDGL/Check/MeterCompletionService.cs create mode 100644 SGGL/BLL/JDGL/Check/PipelineCompletionService.cs create mode 100644 SGGL/BLL/JDGL/Check/ProgressCompletionService.cs create mode 100644 SGGL/BLL/JDGL/Check/SteelStructureCompletionService.cs create mode 100644 SGGL/BLL/JDGL/Check/UndergroundPipeCompletionService.cs create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/仪表完成情况导入模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/全厂地下管网完成情况导入模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/电气完成情况导入模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/管道完成情况导入模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/设备完成情况导入模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/钢结构完成情况导入模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202104190843396760.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202104200419393042.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202104200421267933.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202104200422528798.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202104221125066241.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202104270145024513.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202104270228076631.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202104270228461033.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202105010610145196.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202105010617373624.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/Temp/202105010628301166.xls create mode 100644 SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112922885.jpg create mode 100644 SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923329.jpg create mode 100644 SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923399.jpg create mode 100644 SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923479.jpg create mode 100644 SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923528.jpg delete mode 100644 SGGL/FineUIPro.Web/FileUpload/SuperviseCheckReport/202104200228347273~微信图片_20210416093321.jpg delete mode 100644 SGGL/FineUIPro.Web/FileUpload/SuperviseCheckReport/202104200238232079~微信图片_20210416093321.jpg delete mode 100644 SGGL/FineUIPro.Web/FileUpload/SuperviseCheckReport/202104200426019004~微信图片_20210416093321.jpg create mode 100644 SGGL/FineUIPro.Web/Images/Export.gif create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx.designer.cs diff --git a/DataBase/版本日志/已更新脚本/SGGLDB_V2021-04-19-001.sql b/DataBase/版本日志/已更新脚本/SGGLDB_V2021-04-19-001.sql new file mode 100644 index 00000000..f8c1f088 --- /dev/null +++ b/DataBase/版本日志/已更新脚本/SGGLDB_V2021-04-19-001.sql @@ -0,0 +1,613 @@ +alter table JDGL_QuantityCompletion add StartDate datetime null +alter table JDGL_QuantityCompletion add EndDate datetime null +GO + + +ALTER VIEW [dbo].[View_JDGL_QuantityCompletion] +AS +select qc.*,ql.DesignNum,ql.Name,ql.Unit, + CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where QuantityListId=qc.QuantityListId and EndDate<=getdate())) as TotalPlanNum, + CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where QuantityListId=qc.QuantityListId and EndDate<=getdate())) as TotalRealNum, + CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(qc.PlanNum,0) WHEN 0 THEN 0 + ELSE 100*ISNULL(qc.RealNum,0) / (1.0 *qc.PlanNum) END AS DECIMAL(9,2)))))+'%' + AS Rate, + CONVERT(NVARCHAR(10),((CAST(CASE (select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where QuantityListId=qc.QuantityListId and EndDate<=getdate()) WHEN 0 THEN 0 + ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where QuantityListId=qc.QuantityListId and EndDate<=getdate()) / (1.0 *(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where QuantityListId=qc.QuantityListId and EndDate<=getdate())) END AS DECIMAL(9,2)))))+'%' + AS TotalRate, + CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ql.DesignNum,0) WHEN 0 THEN 0 + ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where QuantityListId=qc.QuantityListId and EndDate<=getdate()) / (1.0 *ql.DesignNum) END AS DECIMAL(9,2)))))+'%' + AS SumRate, + CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where QuantityListId=qc.QuantityListId and Months 1 +LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId +LEFT JOIN Sys_User AS Users ON CheckDay.CompileMan=Users.UserId +LEFT JOIN Sys_User AS CheckPersonUsers ON CheckDay.CheckPerson=CheckPersonUsers.UserId +LEFT JOIN dbo.SitePerson_Person AS person ON person.PersonId = CheckDayDetail.PersonId +WHERE (@StartTime IS NULL OR CheckDay.CheckTime>=@StartTime) + AND (@EndTime IS NULL OR CheckDay.CheckTime <=@EndTime ) + AND CheckDay.ProjectId=@ProjectId + AND (@States IS NULL OR CheckDay.States=@States) + AND (@UnitName IS NULL OR Unit.UnitName LIKE '%'+@UnitName+'%' ) + AND (@WorkAreaName IS NULL OR CheckDayDetail.WorkArea LIKE '%'+@WorkAreaName+'%' ) +ORDER BY CheckDayCode DESC + +END + + +GO + + diff --git a/DataBase/菜单初始化脚本/0-8综合管理(Menu_ZHGL).sql b/DataBase/菜单初始化脚本/0-8综合管理(Menu_ZHGL).sql index a222b28f..cc7b3165 100644 --- a/DataBase/菜单初始化脚本/0-8综合管理(Menu_ZHGL).sql +++ b/DataBase/菜单初始化脚本/0-8综合管理(Menu_ZHGL).sql @@ -1,7 +1,7 @@ ---delete from Sys_ButtonToMenu where MenuId in (select MenuId from Sys_Menu where MenuType='Menu_ZHGL') ---go ---delete from Sys_Menu where MenuType='Menu_ZHGL' ---go +delete from Sys_ButtonToMenu where MenuId in (select MenuId from Sys_Menu where MenuType='Menu_ZHGL') +go +delete from Sys_Menu where MenuType='Menu_ZHGL' +go INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES('2572CDC8-BA26-4C74-B6F7-CB3D63E91E72','安全体系','',10,'0','Menu_ZHGL',1,0,1) GO diff --git a/DataBase/菜单初始化脚本/1-3安全管理(Menu_HSSE).sql b/DataBase/菜单初始化脚本/1-3安全管理(Menu_HSSE).sql index 3bfb4532..81451279 100644 --- a/DataBase/菜单初始化脚本/1-3安全管理(Menu_HSSE).sql +++ b/DataBase/菜单初始化脚本/1-3安全管理(Menu_HSSE).sql @@ -616,16 +616,6 @@ GO INSERT INTO Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('D4220548-0C59-42DE-8B1C-17FF237A4DF2','F910062E-98B0-486F-A8BD-D5B0035F808F','',4) GO - - INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) - VALUES('29F27641-06ED-435A-9F9B-FCE6366801BE','ҵල','Hazard/ProjectSuperviseCheckRectify.aspx',65,'467A0CB9-737D-4451-965E-869EBC3A4BD6','Menu_HSSE',0,1,1) - GO - --ҵල - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('B6BC2531-A381-4843-9E08-C49EFB3B541B','29F27641-06ED-435A-9F9B-FCE6366801BE','޸',2) - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('FBBC83E5-DF22-4995-8086-CB7A970CE2D3','29F27641-06ED-435A-9F9B-FCE6366801BE','',4) - GO INSERT INTO Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES('F057C207-4549-48AE-B838-A1920E5709D8','ϵ','HSSE/Check/ContactList.aspx',70,'467A0CB9-737D-4451-965E-869EBC3A4BD6','Menu_HSSE',0,1,1) GO diff --git a/DataBase/菜单初始化脚本/1-4进度管理(Menu_JDGL).sql b/DataBase/菜单初始化脚本/1-4进度管理(Menu_JDGL).sql index d1e06c1c..1b391f62 100644 --- a/DataBase/菜单初始化脚本/1-4进度管理(Menu_JDGL).sql +++ b/DataBase/菜单初始化脚本/1-4进度管理(Menu_JDGL).sql @@ -3,87 +3,142 @@ go delete from Sys_Menu where MenuType='Menu_JDGL' go -INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) -VALUES('B707B4E0-EF73-4010-A13B-59263A5029C7','单位、分部、分项工程设置','',10,'0','Menu_JDGL',0,0,1) -GO - INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) - VALUES('858E83E9-ADE5-452E-BD65-82D8DFF872C0','单位、分部、分项工程设置','JDGL/WBS/WBSSetAudit.aspx',10,'B707B4E0-EF73-4010-A13B-59263A5029C7','Menu_JDGL',0,1,1) - GO - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('004CD808-1E02-4AD8-8C4B-7F805C12CCDC','858E83E9-ADE5-452E-BD65-82D8DFF872C0','增加',1) - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('B7FBE5AB-C02A-4FE7-9D6D-D8C4B5EAE146','858E83E9-ADE5-452E-BD65-82D8DFF872C0','修改',2) - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('04075797-5B97-41D0-B596-B8CF18B27A35','858E83E9-ADE5-452E-BD65-82D8DFF872C0','删除',3) - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('6E53397A-00FB-425B-B884-7AC9710D0924','858E83E9-ADE5-452E-BD65-82D8DFF872C0','保存',4) - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('D448EC81-6C97-4B30-A715-D82D1535C58B','858E83E9-ADE5-452E-BD65-82D8DFF872C0','审核',5) - GO +--INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +--VALUES('B707B4E0-EF73-4010-A13B-59263A5029C7','单位、分部、分项工程设置','',10,'0','Menu_JDGL',0,0,1) +--GO +-- INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +-- VALUES('858E83E9-ADE5-452E-BD65-82D8DFF872C0','单位、分部、分项工程设置','JDGL/WBS/WBSSetAudit.aspx',10,'B707B4E0-EF73-4010-A13B-59263A5029C7','Menu_JDGL',0,1,1) +-- GO +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('004CD808-1E02-4AD8-8C4B-7F805C12CCDC','858E83E9-ADE5-452E-BD65-82D8DFF872C0','增加',1) +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('B7FBE5AB-C02A-4FE7-9D6D-D8C4B5EAE146','858E83E9-ADE5-452E-BD65-82D8DFF872C0','修改',2) +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('04075797-5B97-41D0-B596-B8CF18B27A35','858E83E9-ADE5-452E-BD65-82D8DFF872C0','删除',3) +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('6E53397A-00FB-425B-B884-7AC9710D0924','858E83E9-ADE5-452E-BD65-82D8DFF872C0','保存',4) +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('D448EC81-6C97-4B30-A715-D82D1535C58B','858E83E9-ADE5-452E-BD65-82D8DFF872C0','审核',5) +-- GO + +--INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +--VALUES('27C1D718-2DC0-42A5-96C0-F7A2D0DBC5F6','进度测量标志(权重)设置','',20,'0','Menu_JDGL',0,0,1) +--GO +-- INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +-- VALUES('6844F671-8545-4DD9-B9A0-AA36CB5F1D6F','进度测量标志(权重)设置','JDGL/WBSWeights/WeightsAudit.aspx',10,'27C1D718-2DC0-42A5-96C0-F7A2D0DBC5F6','Menu_JDGL',0,1,1) +-- GO +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('DCC4B8BA-9B20-47B8-9067-DD1DC3D55415','6844F671-8545-4DD9-B9A0-AA36CB5F1D6F','保存',1) +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('170A1EB4-5102-4A86-B57E-5F61B13A3236','6844F671-8545-4DD9-B9A0-AA36CB5F1D6F','审核',2) +-- GO + +--INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +--VALUES('BE150D8E-9BAB-4207-9CDD-5B05E847D906','进度计划及计划值设置','',30,'0','Menu_JDGL',0,0,1) +--GO +-- INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +-- VALUES('9FEB264F-4124-48E8-A43C-5663BBFB55F0','进度计划及计划值设置','JDGL/WBSPlan/WBSPlanAudit.aspx',10,'BE150D8E-9BAB-4207-9CDD-5B05E847D906','Menu_JDGL',0,1,1) +-- GO +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('0B90094F-1428-47F9-8939-F997B0E50AC7','9FEB264F-4124-48E8-A43C-5663BBFB55F0','保存',1) +-- GO + +--INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +--VALUES('0B9BFD3F-AD3A-41D0-9144-9BABCB8E8422','实际进度(完成值/实耗值)测量','',40,'0','Menu_JDGL',0,0,1) +--GO +-- INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +-- VALUES('6CFA0EE1-F075-417E-9D96-05B31122BB95','实际进度(完成值/实耗值)测量录入','JDGL/WBSCompleteAndReal/WBSCompleteAudit.aspx',10,'0B9BFD3F-AD3A-41D0-9144-9BABCB8E8422','Menu_JDGL',0,1,1) +-- GO +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('C9801907-F716-47CF-ACDA-CCE884123AE9','6CFA0EE1-F075-417E-9D96-05B31122BB95','保存',1) +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('F3FFB663-83F8-463D-9643-99D564B79BDF','6CFA0EE1-F075-417E-9D96-05B31122BB95','提交',2) +-- GO +-- INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +-- VALUES('4FB962B3-905B-4560-9957-46A11392BB0B','进度(完成值)测量报告','JDGL/WBSCompleteAndReal/WBSReport.aspx',20,'0B9BFD3F-AD3A-41D0-9144-9BABCB8E8422','Menu_JDGL',0,1,1) +-- GO + +--INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +--VALUES('3478449A-681A-4DB1-8E79-598BB24DD0C4','进度/费用偏差分析与纠偏','',50,'0','Menu_JDGL',0,0,1) +--GO +-- INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +-- VALUES('64197BF4-2622-4588-B49B-815188184CE2','赢得值曲线','JDGL/CostAnalysis/EarnedValueCurve.aspx',10,'3478449A-681A-4DB1-8E79-598BB24DD0C4','Menu_JDGL',0,1,1) +-- GO +-- INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +-- VALUES('AA5C8AB2-CE89-41BC-B7B5-C689ED368B98','计划调整及纠偏措施设置','JDGL/CostAnalysis/PlanAdjust.aspx',20,'3478449A-681A-4DB1-8E79-598BB24DD0C4','Menu_JDGL',0,1,1) +-- GO + +--INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +--VALUES('2344465A-F43E-495E-98E7-9AC1C6484F5C','工程量清单设置','JDGL/Check/QuantityList.aspx',60,'0','Menu_JDGL',0,1,1) +--GO +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('35BBBD54-29F1-4D46-9745-3500B6B00267','2344465A-F43E-495E-98E7-9AC1C6484F5C','增加',1) +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('52B28F04-AECA-4FDD-B5FA-45EC22CAC50B','2344465A-F43E-495E-98E7-9AC1C6484F5C','修改',2) +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('FC4DAA4C-7E3A-4627-A2A8-1286018C4B30','2344465A-F43E-495E-98E7-9AC1C6484F5C','删除',3) +-- INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) +-- VALUES('4705582D-0389-4226-9D44-D906691F3310','2344465A-F43E-495E-98E7-9AC1C6484F5C','保存',4) +-- GO INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) -VALUES('27C1D718-2DC0-42A5-96C0-F7A2D0DBC5F6','进度测量标志(权重)设置','',20,'0','Menu_JDGL',0,0,1) +VALUES('F3AA42B3-5776-4992-A625-1216C579FEDE','项目进度情况','JDGL/Check/ProgressCompletion.aspx',60,'0','Menu_JDGL',0,1,1) GO - INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) - VALUES('6844F671-8545-4DD9-B9A0-AA36CB5F1D6F','进度测量标志(权重)设置','JDGL/WBSWeights/WeightsAudit.aspx',10,'27C1D718-2DC0-42A5-96C0-F7A2D0DBC5F6','Menu_JDGL',0,1,1) - GO INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('DCC4B8BA-9B20-47B8-9067-DD1DC3D55415','6844F671-8545-4DD9-B9A0-AA36CB5F1D6F','保存',1) + VALUES('8232DE3C-307C-49ED-9A37-6C29A94AABDF','F3AA42B3-5776-4992-A625-1216C579FEDE','增加',1) INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('170A1EB4-5102-4A86-B57E-5F61B13A3236','6844F671-8545-4DD9-B9A0-AA36CB5F1D6F','审核',2) - GO - -INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) -VALUES('BE150D8E-9BAB-4207-9CDD-5B05E847D906','进度计划及计划值设置','',30,'0','Menu_JDGL',0,0,1) -GO - INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) - VALUES('9FEB264F-4124-48E8-A43C-5663BBFB55F0','进度计划及计划值设置','JDGL/WBSPlan/WBSPlanAudit.aspx',10,'BE150D8E-9BAB-4207-9CDD-5B05E847D906','Menu_JDGL',0,1,1) - GO + VALUES('BFF4796D-734B-49C3-BAEA-D15437D72BA4','F3AA42B3-5776-4992-A625-1216C579FEDE','修改',2) INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('0B90094F-1428-47F9-8939-F997B0E50AC7','9FEB264F-4124-48E8-A43C-5663BBFB55F0','保存',1) - GO - -INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) -VALUES('0B9BFD3F-AD3A-41D0-9144-9BABCB8E8422','实际进度(完成值/实耗值)测量','',40,'0','Menu_JDGL',0,0,1) -GO - INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) - VALUES('6CFA0EE1-F075-417E-9D96-05B31122BB95','实际进度(完成值/实耗值)测量录入','JDGL/WBSCompleteAndReal/WBSCompleteAudit.aspx',10,'0B9BFD3F-AD3A-41D0-9144-9BABCB8E8422','Menu_JDGL',0,1,1) - GO + VALUES('9884E883-9C71-4F76-A7E0-BBC030911548','F3AA42B3-5776-4992-A625-1216C579FEDE','删除',3) INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('C9801907-F716-47CF-ACDA-CCE884123AE9','6CFA0EE1-F075-417E-9D96-05B31122BB95','保存',1) - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('F3FFB663-83F8-463D-9643-99D564B79BDF','6CFA0EE1-F075-417E-9D96-05B31122BB95','提交',2) - GO - INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) - VALUES('4FB962B3-905B-4560-9957-46A11392BB0B','进度(完成值)测量报告','JDGL/WBSCompleteAndReal/WBSReport.aspx',20,'0B9BFD3F-AD3A-41D0-9144-9BABCB8E8422','Menu_JDGL',0,1,1) - GO - -INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) -VALUES('3478449A-681A-4DB1-8E79-598BB24DD0C4','进度/费用偏差分析与纠偏','',50,'0','Menu_JDGL',0,0,1) -GO - INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) - VALUES('64197BF4-2622-4588-B49B-815188184CE2','赢得值曲线','JDGL/CostAnalysis/EarnedValueCurve.aspx',10,'3478449A-681A-4DB1-8E79-598BB24DD0C4','Menu_JDGL',0,1,1) - GO - INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) - VALUES('AA5C8AB2-CE89-41BC-B7B5-C689ED368B98','计划调整及纠偏措施设置','JDGL/CostAnalysis/PlanAdjust.aspx',20,'3478449A-681A-4DB1-8E79-598BB24DD0C4','Menu_JDGL',0,1,1) - GO - -INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) -VALUES('2344465A-F43E-495E-98E7-9AC1C6484F5C','工程量清单设置','JDGL/Check/QuantityList.aspx',60,'0','Menu_JDGL',0,1,1) -GO - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('35BBBD54-29F1-4D46-9745-3500B6B00267','2344465A-F43E-495E-98E7-9AC1C6484F5C','增加',1) - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('52B28F04-AECA-4FDD-B5FA-45EC22CAC50B','2344465A-F43E-495E-98E7-9AC1C6484F5C','修改',2) - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('FC4DAA4C-7E3A-4627-A2A8-1286018C4B30','2344465A-F43E-495E-98E7-9AC1C6484F5C','删除',3) - INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) - VALUES('4705582D-0389-4226-9D44-D906691F3310','2344465A-F43E-495E-98E7-9AC1C6484F5C','保存',4) - GO + VALUES('08C87DB8-494D-47F3-B271-7548CCE72E7A','F3AA42B3-5776-4992-A625-1216C579FEDE','保存',4) + GO INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) VALUES('2AE9D982-A499-497F-8F54-ADDA5856887E','工程量完成情况','JDGL/Check/QuantityCompletion.aspx',70,'0','Menu_JDGL',0,1,1) GO INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) VALUES('BDBABEE5-DE52-47BA-9799-ACB7EE76F3FA','2AE9D982-A499-497F-8F54-ADDA5856887E','保存',1) + GO + +INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +VALUES('4ACA0647-4D44-462E-8277-1EF9F100566A','钢结构完成情况','JDGL/Check/SteelStructureCompletion.aspx',80,'0','Menu_JDGL',0,1,1) +GO + INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) + VALUES('9EACCE68-163F-4E47-B1AF-179E813B3A12','4ACA0647-4D44-462E-8277-1EF9F100566A','保存',1) + GO + +INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +VALUES('92FD1845-F56C-4111-8BA0-91838A18B750','设备完成情况','JDGL/Check/EquipmentCompletion.aspx',90,'0','Menu_JDGL',0,1,1) +GO + INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) + VALUES('B69B59B4-E58D-40F6-8097-D6782FE3ED68','92FD1845-F56C-4111-8BA0-91838A18B750','保存',1) + GO + +INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +VALUES('9AE07A76-3A54-4414-BC8C-C86A18C737BA','管道完成情况','JDGL/Check/PipelineCompletion.aspx',100,'0','Menu_JDGL',0,1,1) +GO + INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) + VALUES('EB18C5C6-3303-410B-ACA9-A82B3239CDA4','9AE07A76-3A54-4414-BC8C-C86A18C737BA','保存',1) + GO + +INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +VALUES('8A8A1050-F227-42ED-9456-8CB5ECA36512','电气完成情况','JDGL/Check/ElectricalCompletion.aspx',110,'0','Menu_JDGL',0,1,1) +GO + INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) + VALUES('5EDC2141-3218-4C80-9A69-AD1FBD5BCEF5','8A8A1050-F227-42ED-9456-8CB5ECA36512','保存',1) + GO + +INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +VALUES('7EC1FBAF-BEC9-46CD-9E3B-0D0093B4E1C2','仪表完成情况','JDGL/Check/MeterCompletion.aspx',120,'0','Menu_JDGL',0,1,1) +GO + INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) + VALUES('10527FF2-975E-49DA-B4C7-3FE69FCBA7B3','7EC1FBAF-BEC9-46CD-9E3B-0D0093B4E1C2','保存',1) + GO + +INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed) +VALUES('C7037A5D-D8A6-4C1C-A5B8-2083C31C0A7B','全厂地下管网完成情况','JDGL/Check/UndergroundPipeCompletion.aspx',130,'0','Menu_JDGL',0,1,1) +GO + INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex) + VALUES('BECB2F6E-90D5-432C-A56C-9F8AAF62C511','C7037A5D-D8A6-4C1C-A5B8-2083C31C0A7B','保存',1) GO \ No newline at end of file diff --git a/SGGL/BLL/API/APIBaseInfoService.cs b/SGGL/BLL/API/APIBaseInfoService.cs index f6b5350f..46d006b8 100644 --- a/SGGL/BLL/API/APIBaseInfoService.cs +++ b/SGGL/BLL/API/APIBaseInfoService.cs @@ -39,7 +39,7 @@ namespace BLL { BaseInfoId = x.ProjectId, BaseInfoCode = x.ProjectCode, - BaseInfoName = x.ProjectName + BaseInfoName = x.ProjectName } ).ToList(); return getDataLists; diff --git a/SGGL/BLL/API/APIPersonService.cs b/SGGL/BLL/API/APIPersonService.cs index 1fdf9123..68cecde5 100644 --- a/SGGL/BLL/API/APIPersonService.cs +++ b/SGGL/BLL/API/APIPersonService.cs @@ -1551,29 +1551,32 @@ namespace BLL /// public static List getPersonInOutLists(string projectId, string unitId, DateTime startTimeD, DateTime endTimeD) { - var personInOuts = from x in Funs.DB.SitePerson_PersonInOut - join y in Funs.DB.SitePerson_Person on x.PersonId equals y.PersonId - where x.ProjectId == projectId && x.ChangeTime >= startTimeD && x.ChangeTime <= endTimeD - select new Model.PersonInOutItem - { - PersonId = x.PersonId, - PersonName = y.PersonName, - ProjectId = x.ProjectId, - UnitId = y.UnitId, - UnitName = Funs.DB.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName, - WorkPostId = y.WorkPostId, - WorkPostName = Funs.DB.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName, - IsIn = x.IsIn, - IsInName = x.IsIn == true ? "进场" : "出场", - ChangeTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ChangeTime), - ChangeTimeD = x.ChangeTime, - }; - if (!string.IsNullOrEmpty(unitId)) + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - personInOuts = personInOuts.Where(x => x.UnitId == unitId); - } + var personInOuts = from x in db.SitePerson_PersonInOut + join y in db.SitePerson_Person on x.PersonId equals y.PersonId + where x.ProjectId == projectId && x.ChangeTime >= startTimeD && x.ChangeTime <= endTimeD + select new Model.PersonInOutItem + { + PersonId = x.PersonId, + PersonName = y.PersonName, + ProjectId = x.ProjectId, + UnitId = y.UnitId, + UnitName = db.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName, + WorkPostId = y.WorkPostId, + WorkPostName = db.Base_WorkPost.First(z => z.WorkPostId == y.WorkPostId).WorkPostName, + IsIn = x.IsIn, + IsInName = x.IsIn == true ? "进场" : "出场", + ChangeTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.ChangeTime), + ChangeTimeD = x.ChangeTime, + }; + if (!string.IsNullOrEmpty(unitId)) + { + personInOuts = personInOuts.Where(x => x.UnitId == unitId); + } - return personInOuts.ToList(); + return personInOuts.ToList(); + } } #endregion diff --git a/SGGL/BLL/API/APIUserService.cs b/SGGL/BLL/API/APIUserService.cs index d529f3c0..3554ebbd 100644 --- a/SGGL/BLL/API/APIUserService.cs +++ b/SGGL/BLL/API/APIUserService.cs @@ -265,5 +265,68 @@ namespace BLL } } } + + /// + /// 根据单位类型获取用户信息 + /// + /// + /// + /// + /// + public static List getUserByProjectIdUserIdsQuery(string projectId, string userIds, string strParam) + { + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) + { + List getDataList = new List(); + List userList = Funs.GetStrListByStr(userIds, ','); + if (userList.Count() > 0) + { + var getDataLists = (from x in db.Sys_User + join y in db.Project_ProjectUser on x.UserId equals y.UserId + where y.ProjectId == projectId + select new Model.UserItem + { + UserId = x.UserId, + Account = x.Account, + UserCode = x.UserCode, + Password = x.Password, + UserName = x.UserName, + RoleId = y.RoleId, + RoleName = RoleService.getRoleNamesRoleIds(y.RoleId), + UnitId = y.UnitId, + UnitName = db.Base_Unit.First(z => z.UnitId == y.UnitId).UnitName, + LoginProjectId = y.ProjectId, + LoginProjectName = db.Base_Project.First(z => z.ProjectId == y.ProjectId).ProjectName, + IdentityCard = x.IdentityCard, + Email = x.Email, + Telephone = x.Telephone, + IsOffice = x.IsOffice, + SignatureUrl = x.SignatureUrl.Replace('\\', '/'), + }); + if (!string.IsNullOrEmpty(strParam)) + { + getDataLists = getDataLists.Where(x => x.UserName.Contains(strParam)); + } + + string unitId = Const.UnitId_CWCEC; + var unitList = (from x in db.Sys_User where userList.Contains(x.UserId) select x.UnitId).Distinct().ToList(); + if (unitList.Count() == 1) + { + unitId = unitList.FirstOrDefault(); + getDataList = getDataLists.Where(x => x.UnitId == unitId).ToList(); + + } + else if (!unitList.Contains(unitId)) + { + getDataList = getDataLists.Where(x => unitList.Contains(x.UnitId)).ToList(); + } + else + { + getDataList = getDataLists.Where(x => x.UnitId == unitId).ToList(); + } + } + return getDataList.OrderBy(x => x.UnitName).ThenBy(x => x.UserName).ToList(); + } + } } } diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj index 2308c44a..2416c215 100644 --- a/SGGL/BLL/BLL.csproj +++ b/SGGL/BLL/BLL.csproj @@ -515,8 +515,15 @@ + + + + + + + diff --git a/SGGL/BLL/BaseInfo/SteelService.cs b/SGGL/BLL/BaseInfo/SteelService.cs index 9c9cff4b..c9bfdfda 100644 --- a/SGGL/BLL/BaseInfo/SteelService.cs +++ b/SGGL/BLL/BaseInfo/SteelService.cs @@ -271,7 +271,7 @@ namespace BLL /// public static void InitSteel(FineUIPro.DropDownList dropName, bool isShowPlease) { - dropName.DataValueField = "Text"; + dropName.DataValueField = "Value"; dropName.DataTextField = "Text"; dropName.DataSource = GetSteelList(); dropName.DataBind(); diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs index 294a0a4a..ae52b960 100644 --- a/SGGL/BLL/Common/Const.cs +++ b/SGGL/BLL/Common/Const.cs @@ -6,7 +6,7 @@ using System.Text; namespace BLL { public static class Const - { + { #region 查询字段:系统设置 /// /// 系统管理员ID @@ -57,7 +57,7 @@ namespace BLL /// 入场培训类型ID /// public const string EntryTrainTypeId = "dfb6a37e-4412-4ba9-ad59-3bc505bc21f7"; - + /// /// 微信订阅模板ID /// @@ -217,7 +217,7 @@ namespace BLL /// public const string ProjectState_3 = "3"; #endregion - + #region 项目单位类型 /// /// 总包 @@ -230,11 +230,11 @@ namespace BLL /// /// 监理 /// - public const string ProjectUnitType_3 = "3"; + public const string ProjectUnitType_3 = "3"; /// /// 业主 /// - public const string ProjectUnitType_4 = "4"; + public const string ProjectUnitType_4 = "4"; /// /// 检测单位 /// @@ -272,22 +272,117 @@ namespace BLL /// /// HSE工程师岗位Id /// - public static string WorkPost_HSSEEngineer = "9b15af2e-6131-462c-9f8a-71533957ca0e"; + public static string WorkPost_HSSEEngineer = "9b15af2e-6131-462c-9f8a-71533957ca0e"; /// /// HSE经理岗位Id /// public static string WorkPost_SafetyManager = "e426e560-9906-4aba-843e-2daef9ebeb05"; - /// - /// 焊工岗位Id - /// - public static string WorkPost_Welder = "19B8F2A9-28D3-4F20-867A-1B2237C2E228"; - /// /// 无损检测工岗位Id /// public static string WorkPost_Checker = "595999E9-75A8-4064-9BD1-9EE02F236297"; + + /// + /// 木工岗位Id + /// + public static string WorkPost_Carpentry = "4ACC633F-BD81-4CBB-9058-A4E4DFFE7881"; + + /// + /// 钢筋工岗位Id + /// + public static string WorkPost_SteelWorker = "E735CF61-096B-4134-B6D4-766B4B8EF790"; + + /// + /// 瓦工岗位Id + /// + public static string WorkPost_Bricklayer = "5E07B570-2E2C-470E-8379-7FEAECF8F62A"; + + /// + /// 混凝土工岗位Id + /// + public static string WorkPost_ConcreteWorker = "14f1fa16-965e-427d-a342-edbb3230ae3c"; + + /// + /// 钳工岗位Id + /// + public static string WorkPost_Fitter1 = "c7431c69-fb64-4960-a9da-2c7b8d380097"; + + /// + /// 钳工岗位Id + /// + public static string WorkPost_Fitter2 = "F49B8430-AC71-40B2-86A3-6825C73F59E5"; + + /// + /// 焊工岗位Id + /// + public static string WorkPost_Welder = "97afac2d-7ffb-49de-bf15-4b49ef24df63"; + + /// + /// 焊工岗位Id + /// + public static string WorkPost_Welder1 = "16c736b6-7ee1-4069-8b57-1a658e6a615f"; + + /// + /// 焊工岗位Id + /// + public static string WorkPost_Welder2 = "36644e8c-0593-4ca7-880f-6a55510c51a1"; + + /// + /// 焊工岗位Id + /// + public static string WorkPost_Welder3 = "5383f797-da4a-4547-b2aa-905a99c1bcfa"; + + /// + /// 焊工岗位Id + /// + public static string WorkPost_Welder4 = "97afac2d-7ffb-49de-bf15-4b49ef24df63"; + + /// + /// 焊工岗位Id + /// + public static string WorkPost_Welder5 = "F8CD2EB0-1D46-422B-A21C-331669B2CF6C"; + + /// + /// 铆工岗位Id + /// + public static string WorkPost_Riveter = "338A8CB9-FB41-4E09-A2BD-ADD27BDBE9DE"; + + /// + /// 管工岗位Id + /// + public static string WorkPost_Foreman = "edc167d9-e2ed-4ed9-8c4d-9c179ff0286f"; + + /// + /// 电工岗位Id + /// + public static string WorkPost_Electrician1 = "29999836-fcdd-43f5-ab6c-77c5e0d6ce0d"; + + /// + /// 电工岗位Id + /// + public static string WorkPost_Electrician2 = "5CBA1BD0-B66B-4362-8CF3-CEA9D3F425DB"; + + /// + /// 电工岗位Id + /// + public static string WorkPost_Electrician3 = "bb71b5f6-d6c6-49d8-83aa-577c6f0808a0"; + + /// + /// 仪表工岗位Id + /// + public static string WorkPost_Instrumentalist = "EFBA9A9A-FF98-47B4-949E-951A8F4E42E5"; + + /// + /// 防腐保温工岗位Id + /// + public static string WorkPost_AnticorrosionWorker = "010CBFD3-51B9-4C48-A6F8-15326D810AA5"; + + /// + /// 其他岗位Id + /// + public static string WorkPost_Other = "71D6437A-6EE4-434A-A68C-BBB2B00FB6C6"; #endregion #region 系统环境设置常量 @@ -585,7 +680,7 @@ namespace BLL /// 党建群团 /// public const string Menu_Party = "Menu_Party"; - + /*项目*/ /// /// 项目设置 @@ -674,6 +769,8 @@ namespace BLL /// public const string ActionPlan_ProjectManagerRuleMenuId = "ec0942af-b1ae-4676-8442-4be3a5e22ea0"; + + #region 本部检查 /// /// 检查通知单 @@ -970,7 +1067,7 @@ namespace BLL /// /// 安全组织体系 /// - public const string HSSEOrganizeMenuId = "8IDKGJE2-09B1-6UIO-3EFM-5TGED48F0001"; + public const string HSSEOrganizeMenuId = "8IDKGJE2-09B1-6UIO-3EFM-5TGED48F0001"; /// /// 安全管理机构 /// @@ -1212,7 +1309,7 @@ namespace BLL public const string ServerSafeUnitReportMenuId = "2C673125-AAA4-4F41-A827-0F04DFE55DED"; #endregion - + #region 企业安全大检查 /// /// 安全监督检查报告 @@ -1441,15 +1538,15 @@ namespace BLL /// /// 安全组织机构 /// - public const string ProjectSafetyOrganizationMenuId = "1EDD072E-473A-4CDB-A2D3-E401C146B2B2"; + public const string ProjectSafetyOrganizationMenuId = "1EDD072E-473A-4CDB-A2D3-E401C146B2B2"; /// /// 安全体系 /// - public const string ProjectSafetySystemMenuId = "21C779D6-269B-4CB7-AFFB-F59958AC0EF0"; + public const string ProjectSafetySystemMenuId = "21C779D6-269B-4CB7-AFFB-F59958AC0EF0"; /// /// 安全制度 /// - public const string ProjectSafetyInstitutionMenuId = "9D04CD8B-575C-4854-B8B0-F90CEEB75815"; + public const string ProjectSafetyInstitutionMenuId = "9D04CD8B-575C-4854-B8B0-F90CEEB75815"; /// /// 安全管理组织机构 /// @@ -1654,8 +1751,8 @@ namespace BLL /// /// 现场人员统计 /// - public const string PersonStatisticMenuId = "7D36E853-CC79-48B9-9E7F-E34797B4E87E"; - + public const string PersonStatisticMenuId = "7D36E853-CC79-48B9-9E7F-E34797B4E87E"; + /// /// 人员变化 /// @@ -1772,7 +1869,7 @@ namespace BLL /// /// HSSE专项检查 /// - public const string ProjectCheckSpecialMenuId = "1B08048F-93ED-4E84-AE65-DB7917EA2DFB"; + public const string ProjectCheckSpecialMenuId = "1B08048F-93ED-4E84-AE65-DB7917EA2DFB"; /// /// HSSE综合检查 /// @@ -1784,11 +1881,11 @@ namespace BLL /// /// 开工前HSSE检查 /// - public const string ProjectCheckWorkMenuId = "9212291A-FBC5-4F6D-A5F6-60BFF4E30F6F"; + public const string ProjectCheckWorkMenuId = "9212291A-FBC5-4F6D-A5F6-60BFF4E30F6F"; /// /// 季节性/节假日HSSE检查 /// - public const string ProjectCheckHolidayMenuId = "0D23A707-ADA0-4C2B-9665-611134243529"; + public const string ProjectCheckHolidayMenuId = "0D23A707-ADA0-4C2B-9665-611134243529"; /// /// 危险因素统计分析 /// @@ -1898,11 +1995,11 @@ namespace BLL /// /// HSSE月例会 /// - public const string ProjectMonthMeetingMenuId = "D5DD5EBD-A5F2-4A43-BA4C-E9A242B43684"; + public const string ProjectMonthMeetingMenuId = "D5DD5EBD-A5F2-4A43-BA4C-E9A242B43684"; /// /// HSSE专题会议 /// - public const string ProjectSpecialMeetingMenuId = "BB6CEC48-283B-46AD-BEDD-F964D261698F"; + public const string ProjectSpecialMeetingMenuId = "BB6CEC48-283B-46AD-BEDD-F964D261698F"; /// /// 其他会议记录 /// @@ -1994,11 +2091,11 @@ namespace BLL /// /// 合同HSE费用及支付台账 /// - public const string ProjectCostLedgerMenuId = "19C1370F-92C0-4E31-87B4-8BADA74113E4"; + public const string ProjectCostLedgerMenuId = "19C1370F-92C0-4E31-87B4-8BADA74113E4"; /// /// HSSE费用统计表 /// - public const string TC_CostMenuId = "89B42B7B-8AEE-4199-923E-81A602FC77E0"; + public const string TC_CostMenuId = "89B42B7B-8AEE-4199-923E-81A602FC77E0"; /// /// HSSE物资管理 /// @@ -2006,11 +2103,11 @@ namespace BLL /// /// 物资入库管理 /// - public const string GoodsIn2MenuId = "FDA02FCA-4E23-469E-AB26-2D625D0E579A"; + public const string GoodsIn2MenuId = "FDA02FCA-4E23-469E-AB26-2D625D0E579A"; /// /// 物资出库管理 /// - public const string GoodsOut2MenuId = "881D6FE5-C281-4DA8-80CD-D7C6624796FC"; + public const string GoodsOut2MenuId = "881D6FE5-C281-4DA8-80CD-D7C6624796FC"; /// /// 物资库存管理 /// @@ -2037,19 +2134,19 @@ namespace BLL /// /// HSSE检查类别设置 /// - public const string CheckTypeSetMenuId = "7353F3C1-0EAF-4DB7-86B4-93E3B96805F8"; + public const string CheckTypeSetMenuId = "7353F3C1-0EAF-4DB7-86B4-93E3B96805F8"; /// /// HSSE行政管理检查记录 /// - public const string ManageCheckMenuId = "A25EB19A-F06E-4AAF-A589-E2B8F7FA7857"; + public const string ManageCheckMenuId = "A25EB19A-F06E-4AAF-A589-E2B8F7FA7857"; /// /// 现场车辆管理 /// - public const string CarManagerMenuId = "CF82805A-84BE-400A-B939-83F7612D76F5"; + public const string CarManagerMenuId = "CF82805A-84BE-400A-B939-83F7612D76F5"; /// /// 现场驾驶员管理 /// - public const string DriverManagerMenuId = "754C23CA-F1BC-4F44-9D34-B185099EDCA0"; + public const string DriverManagerMenuId = "754C23CA-F1BC-4F44-9D34-B185099EDCA0"; /// /// 职业健康管理 /// @@ -2064,7 +2161,7 @@ namespace BLL /// /// 月度安全评比 /// - public const string ProjectMonthlyRatingMenuId = "293FD782-7B39-4F0F-A826-CA790A70CCC7"; + public const string ProjectMonthlyRatingMenuId = "293FD782-7B39-4F0F-A826-CA790A70CCC7"; /// /// 全国安全月 /// @@ -2078,7 +2175,7 @@ namespace BLL /// public const string ProjectOtherActivitiesMenuId = "446D702B-F0C1-4D12-A862-0B8317D95928"; #endregion - + #region 职业健康 /// /// 危害检测 @@ -2124,7 +2221,7 @@ namespace BLL /// HSSE管理周报 /// public const string ProjectManagerWeekMenuId = "AE118E9C-C309-43B7-A198-8CA90A8D98EB"; - + /// /// 月报(赛鼎) /// @@ -2172,7 +2269,7 @@ namespace BLL /// /// 企业安全管理资料 /// - public const string ProjectSafetyDataMenuId = "54A3E23A-DAC7-484B-8C97-40AD785688FC"; + public const string ProjectSafetyDataMenuId = "54A3E23A-DAC7-484B-8C97-40AD785688FC"; /// /// HSSE日志暨管理数据收集 /// @@ -2206,7 +2303,7 @@ namespace BLL /// public const string ProjectHSEDiaryMenuId = "8E5B4A8E-B06E-4C8A-A2C8-1091A9BCAF72"; #endregion - + #region HSSE绩效评价管理 /// /// HSSE分包方绩效评价 @@ -2287,27 +2384,27 @@ namespace BLL /// /// HSSE宣传活动 /// - public const string ProjectPromotionalActivitiesMenuId = "16092FE7-938B-4713-8084-4FBFA030F386"; + public const string ProjectPromotionalActivitiesMenuId = "16092FE7-938B-4713-8084-4FBFA030F386"; /// /// 项目图片 /// - public const string ProjectPictureMenuId = "B58179BE-FE6E-4E91-84FC-D211E4692354"; + public const string ProjectPictureMenuId = "B58179BE-FE6E-4E91-84FC-D211E4692354"; /// /// 一般来文管理 /// - public const string ReceiveFileManagerMenuId = "4F5C00F3-DA7D-4B2D-B1EF-310DFFCA77DD"; + public const string ReceiveFileManagerMenuId = "4F5C00F3-DA7D-4B2D-B1EF-310DFFCA77DD"; /// /// 项目文件夹 /// - public const string ProjectFolderMenuId = "05C6C2AF-3B0B-4BF0-A8CE-1FC15DAC3C54"; + public const string ProjectFolderMenuId = "05C6C2AF-3B0B-4BF0-A8CE-1FC15DAC3C54"; /// /// 文件柜1 /// - public const string ProjectFileCabinetAMenuId = "C69B7409-BE1E-4754-AC90-57B56EEE198B"; + public const string ProjectFileCabinetAMenuId = "C69B7409-BE1E-4754-AC90-57B56EEE198B"; /// /// 文件柜2 /// - public const string ProjectFileCabinetBMenuId = "200019A4-E24F-4C87-8C52-9970F78DBF73"; + public const string ProjectFileCabinetBMenuId = "200019A4-E24F-4C87-8C52-9970F78DBF73"; /// /// 信息统计 /// @@ -2824,6 +2921,34 @@ namespace BLL /// 人员初步规划导入模板 /// public const string PersonPlanTemplateUrl = "File\\Excel\\DataIn\\人员初步规划导入模板.xls"; + /// + /// 项目进度完成情况导入模版文件原始的虚拟路径 + /// + public const string QuantityCompletionTemplateUrl = "File\\Excel\\DataIn\\项目进度完成情况导入模板.xls"; + /// + /// 钢结构完成情况导入模版文件原始的虚拟路径 + /// + public const string SteelStructureCompletionTemplateUrl = "File\\Excel\\DataIn\\钢结构完成情况导入模板.xls"; + /// + /// 设备完成情况导入模版文件原始的虚拟路径 + /// + public const string EquipmentCompletionTemplateUrl = "File\\Excel\\DataIn\\设备完成情况导入模板.xls"; + /// + /// 管道完成情况导入模版文件原始的虚拟路径 + /// + public const string PipelineCompletionTemplateUrl = "File\\Excel\\DataIn\\管道完成情况导入模板.xls"; + /// + /// 电气完成情况导入模版文件原始的虚拟路径 + /// + public const string ElectricalCompletionTemplateUrl = "File\\Excel\\DataIn\\电气完成情况导入模板.xls"; + /// + /// 仪表完成情况导入模版文件原始的虚拟路径 + /// + public const string MeterCompletionTemplateUrl = "File\\Excel\\DataIn\\仪表完成情况导入模板.xls"; + /// + /// 全厂地下管网完成情况导入模版文件原始的虚拟路径 + /// + public const string UndergroundPipeCompletionTemplateUrl = "File\\Excel\\DataIn\\全厂地下管网完成情况导入模板.xls"; #endregion #region 绩效考核模板文件路径 @@ -2881,19 +3006,19 @@ namespace BLL /// /// 职工伤亡事故原因分析报表 /// - public const string Information_AccidentCauseReportId = "2"; + public const string Information_AccidentCauseReportId = "2"; /// /// 安全生产数据季报 /// - public const string Information_SafetyQuarterlyReportId = "3"; + public const string Information_SafetyQuarterlyReportId = "3"; /// /// 应急演练开展情况季报表 /// - public const string Information_DrillConductedQuarterlyReportId = "4"; + public const string Information_DrillConductedQuarterlyReportId = "4"; /// /// 应急演练工作计划半年报表 /// - public const string Information_DrillPlanHalfYearReportId = "5"; + public const string Information_DrillPlanHalfYearReportId = "5"; /// /// 培训记录 /// @@ -2901,7 +3026,7 @@ namespace BLL /// /// 环境危险源辨识与评价打印报表 /// - public const string EnvironmentalRiskReportId = "12"; + public const string EnvironmentalRiskReportId = "12"; /// /// 环境危险源辨识与评价(重要环境因素)打印报表 /// @@ -2909,7 +3034,7 @@ namespace BLL /// /// 职业健康安全危险源辨识与评价打印报表 /// - public const string HazardListReportId = "14"; + public const string HazardListReportId = "14"; /// /// 职业健康安全危险源辨识与评价(重大危险源)打印报表 /// @@ -4016,7 +4141,7 @@ namespace BLL /// /// 审批完成 /// - public const string ConstructionPlan_Complete= "5"; + public const string ConstructionPlan_Complete = "5"; #endregion #region 总承包商施工报告 @@ -4512,6 +4637,11 @@ namespace BLL /// public const string RectificationMeasureMenuId = "0629BAB1-DB1C-42CE-A333-49F3813617D7"; + /// + /// 进度完成情况 + /// + public const string ProgressCompletionMenuId = "F3AA42B3-5776-4992-A625-1216C579FEDE"; + /// /// 工程量清单设置 /// @@ -4521,6 +4651,36 @@ namespace BLL /// 工程量完成情况 /// public const string QuantityCompletionMenuId = "2AE9D982-A499-497F-8F54-ADDA5856887E"; + + /// + /// 钢结构完成情况 + /// + public const string SteelStructureCompletionMenuId = "4ACA0647-4D44-462E-8277-1EF9F100566A"; + + /// + /// 设备完成情况 + /// + public const string EquipmentCompletionMenuId = "92FD1845-F56C-4111-8BA0-91838A18B750"; + + /// + /// 管道完成情况 + /// + public const string PipelineCompletionMenuId = "9AE07A76-3A54-4414-BC8C-C86A18C737BA"; + + /// + /// 电气完成情况 + /// + public const string ElectricalCompletionMenuId = "8A8A1050-F227-42ED-9456-8CB5ECA36512"; + + /// + /// 仪表完成情况 + /// + public const string MeterCompletionMenuId = "7EC1FBAF-BEC9-46CD-9E3B-0D0093B4E1C2"; + + /// + /// 全厂地下管网完成情况 + /// + public const string UndergroundPipeCompletionMenuId = "C7037A5D-D8A6-4C1C-A5B8-2083C31C0A7B"; #endregion /// diff --git a/SGGL/BLL/Common/Funs.cs b/SGGL/BLL/Common/Funs.cs index a3cee196..c07baebc 100644 --- a/SGGL/BLL/Common/Funs.cs +++ b/SGGL/BLL/Common/Funs.cs @@ -120,6 +120,24 @@ namespace BLL set; } = 15; + ///// + ///// ݿġ + ///// + //public static SGGLDB DB + //{ + // get + // { + // if (!DBList.ContainsKey(System.Threading.Thread.CurrentThread.ManagedThreadId)) + // { + // DBList.Add(System.Threading.Thread.CurrentThread.ManagedThreadId, new SGGLDB(connString)); + // } + + // // DBList[System.Threading.Thread.CurrentThread.ManagedThreadId].CommandTimeout = 1200; + // return DBList[System.Threading.Thread.CurrentThread.ManagedThreadId]; + // } + //} + + private static object locker = new object(); /// /// ݿġ /// @@ -127,13 +145,32 @@ namespace BLL { get { - if (!DBList.ContainsKey(System.Threading.Thread.CurrentThread.ManagedThreadId)) + lock (locker) { - DBList.Add(System.Threading.Thread.CurrentThread.ManagedThreadId, new SGGLDB(connString)); - } + try + { + if (!DBList.ContainsKey(System.Threading.Thread.CurrentThread.ManagedThreadId)) + { + DBList.Add(System.Threading.Thread.CurrentThread.ManagedThreadId, new SGGLDB(connString)); + } - // DBList[System.Threading.Thread.CurrentThread.ManagedThreadId].CommandTimeout = 1200; - return DBList[System.Threading.Thread.CurrentThread.ManagedThreadId]; + // DBList[System.Threading.Thread.CurrentThread.ManagedThreadId].CommandTimeout = 1200; + return DBList[System.Threading.Thread.CurrentThread.ManagedThreadId]; + } + catch + { + var db = new SGGLDB(connString); + if (DBList.ContainsKey(System.Threading.Thread.CurrentThread.ManagedThreadId)) + { + DBList[System.Threading.Thread.CurrentThread.ManagedThreadId] = db; + } + else + { + DBList.Add(System.Threading.Thread.CurrentThread.ManagedThreadId, db); + } + return db; + } + } } } diff --git a/SGGL/BLL/HSSE/HiddenInspection/HSSE_Hazard_HazardRegisterService.cs b/SGGL/BLL/HSSE/HiddenInspection/HSSE_Hazard_HazardRegisterService.cs index 696dadf2..99343de6 100644 --- a/SGGL/BLL/HSSE/HiddenInspection/HSSE_Hazard_HazardRegisterService.cs +++ b/SGGL/BLL/HSSE/HiddenInspection/HSSE_Hazard_HazardRegisterService.cs @@ -57,6 +57,7 @@ namespace BLL newHazardRegister.ResponsibleMan = hazardRegister.ResponsibleMan; newHazardRegister.CheckManId = hazardRegister.CheckManId; newHazardRegister.CheckTime = hazardRegister.CheckTime; + newHazardRegister.Requirements = hazardRegister.Requirements; newHazardRegister.RectificationPeriod = hazardRegister.RectificationPeriod; newHazardRegister.ImageUrl = hazardRegister.ImageUrl; newHazardRegister.RectificationImageUrl = hazardRegister.RectificationImageUrl; @@ -91,6 +92,7 @@ namespace BLL newHazardRegister.AttachUrl = hazardRegister.AttachUrl; newHazardRegister.ProjectId = hazardRegister.ProjectId; newHazardRegister.States = hazardRegister.States; + newHazardRegister.Requirements = hazardRegister.Requirements; newHazardRegister.IsEffective = hazardRegister.IsEffective; newHazardRegister.ResponsibleMan = hazardRegister.ResponsibleMan; newHazardRegister.CheckManId = hazardRegister.CheckManId; diff --git a/SGGL/BLL/JDGL/Check/ElectricalCompletionService.cs b/SGGL/BLL/JDGL/Check/ElectricalCompletionService.cs new file mode 100644 index 00000000..76a1eeef --- /dev/null +++ b/SGGL/BLL/JDGL/Check/ElectricalCompletionService.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace BLL +{ + /// + /// 电气完成情况 + /// + public class ElectricalCompletionService + { + public static Model.SGGLDB db = Funs.DB; + + /// + /// 根据主键获取电气完成情况 + /// + /// + /// + public static Model.JDGL_ElectricalCompletion GetElectricalCompletionById(string electricalCompletionId) + { + return Funs.DB.JDGL_ElectricalCompletion.FirstOrDefault(e => e.ElectricalCompletionId == electricalCompletionId); + } + + /// + /// 添加电气完成情况 + /// + /// + public static void AddElectricalCompletion(Model.JDGL_ElectricalCompletion electricalCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_ElectricalCompletion newElectricalCompletion = new Model.JDGL_ElectricalCompletion + { + ElectricalCompletionId = electricalCompletion.ElectricalCompletionId, + ProjectId = electricalCompletion.ProjectId, + UnitId = electricalCompletion.UnitId, + Name = electricalCompletion.Name, + Unit = electricalCompletion.Unit, + TotalNum = electricalCompletion.TotalNum, + ThisNum = electricalCompletion.ThisNum, + CompileMan = electricalCompletion.CompileMan, + CompileDate = electricalCompletion.CompileDate, + StartDate = electricalCompletion.StartDate, + EndDate = electricalCompletion.EndDate + }; + db.JDGL_ElectricalCompletion.InsertOnSubmit(newElectricalCompletion); + db.SubmitChanges(); + } + + /// + /// 修改电气完成情况 + /// + /// + public static void UpdateElectricalCompletion(Model.JDGL_ElectricalCompletion electricalCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_ElectricalCompletion newElectricalCompletion = db.JDGL_ElectricalCompletion.FirstOrDefault(e => e.ElectricalCompletionId == electricalCompletion.ElectricalCompletionId); + if (newElectricalCompletion != null) + { + newElectricalCompletion.TotalNum = electricalCompletion.TotalNum; + newElectricalCompletion.ThisNum = electricalCompletion.ThisNum; + newElectricalCompletion.CompileMan = electricalCompletion.CompileMan; + newElectricalCompletion.CompileDate = electricalCompletion.CompileDate; + db.SubmitChanges(); + } + } + + /// + /// 根据主键删除电气完成情况 + /// + /// + public static void DeleteElectricalCompletionById(string electricalCompletionId) + { + Model.SGGLDB db = Funs.DB; + var electricalCompletion = (from x in db.JDGL_ElectricalCompletion where x.ElectricalCompletionId == electricalCompletionId select x).FirstOrDefault(); + if (electricalCompletion != null) + { + db.JDGL_ElectricalCompletion.DeleteOnSubmit(electricalCompletion); + db.SubmitChanges(); + } + } + } +} diff --git a/SGGL/BLL/JDGL/Check/EquipmentCompletionService.cs b/SGGL/BLL/JDGL/Check/EquipmentCompletionService.cs new file mode 100644 index 00000000..7b2b8eec --- /dev/null +++ b/SGGL/BLL/JDGL/Check/EquipmentCompletionService.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace BLL +{ + /// + /// 设备完成情况 + /// + public class EquipmentCompletionService + { + public static Model.SGGLDB db = Funs.DB; + + /// + /// 根据主键获取设备完成情况 + /// + /// + /// + public static Model.JDGL_EquipmentCompletion GetEquipmentCompletionById(string equipmentCompletionId) + { + return Funs.DB.JDGL_EquipmentCompletion.FirstOrDefault(e => e.EquipmentCompletionId == equipmentCompletionId); + } + + /// + /// 添加设备完成情况 + /// + /// + public static void AddEquipmentCompletion(Model.JDGL_EquipmentCompletion equipmentCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_EquipmentCompletion newEquipmentCompletion = new Model.JDGL_EquipmentCompletion + { + EquipmentCompletionId = equipmentCompletion.EquipmentCompletionId, + ProjectId = equipmentCompletion.ProjectId, + UnitId = equipmentCompletion.UnitId, + TotalNum = equipmentCompletion.TotalNum, + ArrivalNum = equipmentCompletion.ArrivalNum, + ThisNum = equipmentCompletion.ThisNum, + CompileMan = equipmentCompletion.CompileMan, + CompileDate = equipmentCompletion.CompileDate, + StartDate = equipmentCompletion.StartDate, + EndDate = equipmentCompletion.EndDate + }; + db.JDGL_EquipmentCompletion.InsertOnSubmit(newEquipmentCompletion); + db.SubmitChanges(); + } + + /// + /// 修改设备完成情况 + /// + /// + public static void UpdateEquipmentCompletion(Model.JDGL_EquipmentCompletion equipmentCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_EquipmentCompletion newEquipmentCompletion = db.JDGL_EquipmentCompletion.FirstOrDefault(e => e.EquipmentCompletionId == equipmentCompletion.EquipmentCompletionId); + if (newEquipmentCompletion != null) + { + newEquipmentCompletion.TotalNum = equipmentCompletion.TotalNum; + newEquipmentCompletion.ArrivalNum = equipmentCompletion.ArrivalNum; + newEquipmentCompletion.ThisNum = equipmentCompletion.ThisNum; + newEquipmentCompletion.CompileMan = equipmentCompletion.CompileMan; + newEquipmentCompletion.CompileDate = equipmentCompletion.CompileDate; + db.SubmitChanges(); + } + } + + /// + /// 根据主键删除设备完成情况 + /// + /// + public static void DeleteEquipmentCompletionById(string equipmentCompletionId) + { + Model.SGGLDB db = Funs.DB; + var equipmentCompletion = (from x in db.JDGL_EquipmentCompletion where x.EquipmentCompletionId == equipmentCompletionId select x).FirstOrDefault(); + if (equipmentCompletion != null) + { + db.JDGL_EquipmentCompletion.DeleteOnSubmit(equipmentCompletion); + db.SubmitChanges(); + } + } + } +} diff --git a/SGGL/BLL/JDGL/Check/MeterCompletionService.cs b/SGGL/BLL/JDGL/Check/MeterCompletionService.cs new file mode 100644 index 00000000..d4e5919d --- /dev/null +++ b/SGGL/BLL/JDGL/Check/MeterCompletionService.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace BLL +{ + /// + /// 仪表完成情况 + /// + public class MeterCompletionService + { + public static Model.SGGLDB db = Funs.DB; + + /// + /// 根据主键获取仪表完成情况 + /// + /// + /// + public static Model.JDGL_MeterCompletion GetMeterCompletionById(string meterCompletionId) + { + return Funs.DB.JDGL_MeterCompletion.FirstOrDefault(e => e.MeterCompletionId == meterCompletionId); + } + + /// + /// 添加仪表完成情况 + /// + /// + public static void AddMeterCompletion(Model.JDGL_MeterCompletion meterCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_MeterCompletion newMeterCompletion = new Model.JDGL_MeterCompletion + { + MeterCompletionId = meterCompletion.MeterCompletionId, + ProjectId = meterCompletion.ProjectId, + UnitId = meterCompletion.UnitId, + Name = meterCompletion.Name, + Unit = meterCompletion.Unit, + TotalNum = meterCompletion.TotalNum, + ThisNum = meterCompletion.ThisNum, + CompileMan = meterCompletion.CompileMan, + CompileDate = meterCompletion.CompileDate, + StartDate = meterCompletion.StartDate, + EndDate = meterCompletion.EndDate + }; + db.JDGL_MeterCompletion.InsertOnSubmit(newMeterCompletion); + db.SubmitChanges(); + } + + /// + /// 修改仪表完成情况 + /// + /// + public static void UpdateMeterCompletion(Model.JDGL_MeterCompletion meterCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_MeterCompletion newMeterCompletion = db.JDGL_MeterCompletion.FirstOrDefault(e => e.MeterCompletionId == meterCompletion.MeterCompletionId); + if (newMeterCompletion != null) + { + newMeterCompletion.TotalNum = meterCompletion.TotalNum; + newMeterCompletion.ThisNum = meterCompletion.ThisNum; + newMeterCompletion.CompileMan = meterCompletion.CompileMan; + newMeterCompletion.CompileDate = meterCompletion.CompileDate; + db.SubmitChanges(); + } + } + + /// + /// 根据主键删除仪表完成情况 + /// + /// + public static void DeleteMeterCompletionById(string meterCompletionId) + { + Model.SGGLDB db = Funs.DB; + var meterCompletion = (from x in db.JDGL_MeterCompletion where x.MeterCompletionId == meterCompletionId select x).FirstOrDefault(); + if (meterCompletion != null) + { + db.JDGL_MeterCompletion.DeleteOnSubmit(meterCompletion); + db.SubmitChanges(); + } + } + } +} diff --git a/SGGL/BLL/JDGL/Check/PipelineCompletionService.cs b/SGGL/BLL/JDGL/Check/PipelineCompletionService.cs new file mode 100644 index 00000000..d9a6a8e8 --- /dev/null +++ b/SGGL/BLL/JDGL/Check/PipelineCompletionService.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace BLL +{ + /// + /// 管道完成情况 + /// + public class PipelineCompletionService + { + public static Model.SGGLDB db = Funs.DB; + + /// + /// 根据主键获取管道完成情况 + /// + /// + /// + public static Model.JDGL_PipelineCompletion GetPipelineCompletionById(string pipelineCompletionId) + { + return Funs.DB.JDGL_PipelineCompletion.FirstOrDefault(e => e.PipelineCompletionId == pipelineCompletionId); + } + + /// + /// 添加管道完成情况 + /// + /// + public static void AddPipelineCompletion(Model.JDGL_PipelineCompletion pipelineCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_PipelineCompletion newPipelineCompletion = new Model.JDGL_PipelineCompletion + { + PipelineCompletionId = pipelineCompletion.PipelineCompletionId, + ProjectId = pipelineCompletion.ProjectId, + UnitId = pipelineCompletion.UnitId, + TotalNum = pipelineCompletion.TotalNum, + ThisNum = pipelineCompletion.ThisNum, + CompileMan = pipelineCompletion.CompileMan, + CompileDate = pipelineCompletion.CompileDate, + StartDate = pipelineCompletion.StartDate, + EndDate = pipelineCompletion.EndDate + }; + db.JDGL_PipelineCompletion.InsertOnSubmit(newPipelineCompletion); + db.SubmitChanges(); + } + + /// + /// 修改管道完成情况 + /// + /// + public static void UpdatePipelineCompletion(Model.JDGL_PipelineCompletion pipelineCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_PipelineCompletion newPipelineCompletion = db.JDGL_PipelineCompletion.FirstOrDefault(e => e.PipelineCompletionId == pipelineCompletion.PipelineCompletionId); + if (newPipelineCompletion != null) + { + newPipelineCompletion.TotalNum = pipelineCompletion.TotalNum; + newPipelineCompletion.ThisNum = pipelineCompletion.ThisNum; + newPipelineCompletion.CompileMan = pipelineCompletion.CompileMan; + newPipelineCompletion.CompileDate = pipelineCompletion.CompileDate; + db.SubmitChanges(); + } + } + + /// + /// 根据主键删除管道完成情况 + /// + /// + public static void DeletePipelineCompletionById(string pipelineCompletionId) + { + Model.SGGLDB db = Funs.DB; + var pipelineCompletion = (from x in db.JDGL_PipelineCompletion where x.PipelineCompletionId == pipelineCompletionId select x).FirstOrDefault(); + if (pipelineCompletion != null) + { + db.JDGL_PipelineCompletion.DeleteOnSubmit(pipelineCompletion); + db.SubmitChanges(); + } + } + } +} diff --git a/SGGL/BLL/JDGL/Check/ProgressCompletionService.cs b/SGGL/BLL/JDGL/Check/ProgressCompletionService.cs new file mode 100644 index 00000000..25a29434 --- /dev/null +++ b/SGGL/BLL/JDGL/Check/ProgressCompletionService.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace BLL +{ + /// + /// 进度完成情况 + /// + public class ProgressCompletionService + { + public static Model.SGGLDB db = Funs.DB; + + /// + /// 根据主键获取进度完成情况 + /// + /// + /// + public static Model.JDGL_ProgressCompletion GetProgressCompletionById(string progressCompletionId) + { + return Funs.DB.JDGL_ProgressCompletion.FirstOrDefault(e => e.ProgressCompletionId == progressCompletionId); + } + + /// + /// 根据项目id和月份获取进度完成情况 + /// + /// + /// + /// + public static Model.JDGL_ProgressCompletion GetProgressCompletionByProjectIdAndMonths(string projectId, string months) + { + return Funs.DB.JDGL_ProgressCompletion.FirstOrDefault(e => e.ProjectId == projectId && e.Months == Convert.ToDateTime(months)); + } + + /// + /// 添加进度完成情况 + /// + /// + public static void AddProgressCompletion(Model.JDGL_ProgressCompletion progressCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_ProgressCompletion newProgressCompletion = new Model.JDGL_ProgressCompletion + { + ProgressCompletionId = progressCompletion.ProgressCompletionId, + ProjectId = progressCompletion.ProjectId, + Months = progressCompletion.Months, + PlanNum = progressCompletion.PlanNum, + RealNum = progressCompletion.RealNum, + CompileMan = progressCompletion.CompileMan, + CompileDate = progressCompletion.CompileDate, + }; + db.JDGL_ProgressCompletion.InsertOnSubmit(newProgressCompletion); + db.SubmitChanges(); + } + + /// + /// 修改进度完成情况 + /// + /// + public static void UpdateProgressCompletion(Model.JDGL_ProgressCompletion progressCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_ProgressCompletion newProgressCompletion = db.JDGL_ProgressCompletion.FirstOrDefault(e => e.ProgressCompletionId == progressCompletion.ProgressCompletionId); + if (newProgressCompletion != null) + { + newProgressCompletion.PlanNum = progressCompletion.PlanNum; + newProgressCompletion.RealNum = progressCompletion.RealNum; + newProgressCompletion.CompileMan = progressCompletion.CompileMan; + newProgressCompletion.CompileDate = progressCompletion.CompileDate; + db.SubmitChanges(); + } + } + + /// + /// 根据主键删除进度完成情况 + /// + /// + public static void DeleteProgressCompletionById(string progressCompletionId) + { + Model.SGGLDB db = Funs.DB; + var progressCompletion = (from x in db.JDGL_ProgressCompletion where x.ProgressCompletionId == progressCompletionId select x).FirstOrDefault(); + if (progressCompletion != null) + { + db.JDGL_ProgressCompletion.DeleteOnSubmit(progressCompletion); + db.SubmitChanges(); + } + } + } +} diff --git a/SGGL/BLL/JDGL/Check/QuantityCompletionService.cs b/SGGL/BLL/JDGL/Check/QuantityCompletionService.cs index 2d4b013e..401eb7c0 100644 --- a/SGGL/BLL/JDGL/Check/QuantityCompletionService.cs +++ b/SGGL/BLL/JDGL/Check/QuantityCompletionService.cs @@ -38,7 +38,9 @@ namespace BLL PlanNum = quantityCompletion.PlanNum, RealNum = quantityCompletion.RealNum, CompileMan = quantityCompletion.CompileMan, - CompileDate = quantityCompletion.CompileDate + CompileDate = quantityCompletion.CompileDate, + StartDate=quantityCompletion.StartDate, + EndDate=quantityCompletion.EndDate }; db.JDGL_QuantityCompletion.InsertOnSubmit(newQuantityCompletion); db.SubmitChanges(); diff --git a/SGGL/BLL/JDGL/Check/SteelStructureCompletionService.cs b/SGGL/BLL/JDGL/Check/SteelStructureCompletionService.cs new file mode 100644 index 00000000..362df03c --- /dev/null +++ b/SGGL/BLL/JDGL/Check/SteelStructureCompletionService.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace BLL +{ + /// + /// 钢结构完成情况 + /// + public class SteelStructureCompletionService + { + public static Model.SGGLDB db = Funs.DB; + + /// + /// 根据主键获取钢结构完成情况 + /// + /// + /// + public static Model.JDGL_SteelStructureCompletion GetSteelStructureCompletionById(string steelStructureCompletionId) + { + return Funs.DB.JDGL_SteelStructureCompletion.FirstOrDefault(e => e.SteelStructureCompletionId == steelStructureCompletionId); + } + + /// + /// 添加钢结构完成情况 + /// + /// + public static void AddSteelStructureCompletion(Model.JDGL_SteelStructureCompletion steelStructureCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_SteelStructureCompletion newSteelStructureCompletion = new Model.JDGL_SteelStructureCompletion + { + SteelStructureCompletionId = steelStructureCompletion.SteelStructureCompletionId, + ProjectId = steelStructureCompletion.ProjectId, + UnitId = steelStructureCompletion.UnitId, + TotalNum = steelStructureCompletion.TotalNum, + ArrivalNum = steelStructureCompletion.ArrivalNum, + ThisNum = steelStructureCompletion.ThisNum, + CompileMan = steelStructureCompletion.CompileMan, + CompileDate = steelStructureCompletion.CompileDate, + StartDate = steelStructureCompletion.StartDate, + EndDate = steelStructureCompletion.EndDate + }; + db.JDGL_SteelStructureCompletion.InsertOnSubmit(newSteelStructureCompletion); + db.SubmitChanges(); + } + + /// + /// 修改钢结构完成情况 + /// + /// + public static void UpdateSteelStructureCompletion(Model.JDGL_SteelStructureCompletion steelStructureCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_SteelStructureCompletion newSteelStructureCompletion = db.JDGL_SteelStructureCompletion.FirstOrDefault(e => e.SteelStructureCompletionId == steelStructureCompletion.SteelStructureCompletionId); + if (newSteelStructureCompletion != null) + { + newSteelStructureCompletion.TotalNum = steelStructureCompletion.TotalNum; + newSteelStructureCompletion.ArrivalNum = steelStructureCompletion.ArrivalNum; + newSteelStructureCompletion.ThisNum = steelStructureCompletion.ThisNum; + newSteelStructureCompletion.CompileMan = steelStructureCompletion.CompileMan; + newSteelStructureCompletion.CompileDate = steelStructureCompletion.CompileDate; + db.SubmitChanges(); + } + } + + /// + /// 根据主键删除钢结构完成情况 + /// + /// + public static void DeleteSteelStructureCompletionById(string steelStructureCompletionId) + { + Model.SGGLDB db = Funs.DB; + var steelStructureCompletion = (from x in db.JDGL_SteelStructureCompletion where x.SteelStructureCompletionId == steelStructureCompletionId select x).FirstOrDefault(); + if (steelStructureCompletion != null) + { + db.JDGL_SteelStructureCompletion.DeleteOnSubmit(steelStructureCompletion); + db.SubmitChanges(); + } + } + } +} diff --git a/SGGL/BLL/JDGL/Check/UndergroundPipeCompletionService.cs b/SGGL/BLL/JDGL/Check/UndergroundPipeCompletionService.cs new file mode 100644 index 00000000..66d2406b --- /dev/null +++ b/SGGL/BLL/JDGL/Check/UndergroundPipeCompletionService.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace BLL +{ + /// + /// 全厂地下管网完成情况 + /// + public class UndergroundPipeCompletionService + { + public static Model.SGGLDB db = Funs.DB; + + /// + /// 根据主键获取全厂地下管网完成情况 + /// + /// + /// + public static Model.JDGL_UndergroundPipeCompletion GetUndergroundPipeCompletionById(string pipelineCompletionId) + { + return Funs.DB.JDGL_UndergroundPipeCompletion.FirstOrDefault(e => e.UndergroundPipeCompletionId == pipelineCompletionId); + } + + /// + /// 添加全厂地下管网完成情况 + /// + /// + public static void AddUndergroundPipeCompletion(Model.JDGL_UndergroundPipeCompletion pipelineCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_UndergroundPipeCompletion newUndergroundPipeCompletion = new Model.JDGL_UndergroundPipeCompletion + { + UndergroundPipeCompletionId = pipelineCompletion.UndergroundPipeCompletionId, + ProjectId = pipelineCompletion.ProjectId, + UnitId = pipelineCompletion.UnitId, + TotalNum = pipelineCompletion.TotalNum, + ThisNum = pipelineCompletion.ThisNum, + CompileMan = pipelineCompletion.CompileMan, + CompileDate = pipelineCompletion.CompileDate, + StartDate = pipelineCompletion.StartDate, + EndDate = pipelineCompletion.EndDate + }; + db.JDGL_UndergroundPipeCompletion.InsertOnSubmit(newUndergroundPipeCompletion); + db.SubmitChanges(); + } + + /// + /// 修改全厂地下管网完成情况 + /// + /// + public static void UpdateUndergroundPipeCompletion(Model.JDGL_UndergroundPipeCompletion pipelineCompletion) + { + Model.SGGLDB db = Funs.DB; + Model.JDGL_UndergroundPipeCompletion newUndergroundPipeCompletion = db.JDGL_UndergroundPipeCompletion.FirstOrDefault(e => e.UndergroundPipeCompletionId == pipelineCompletion.UndergroundPipeCompletionId); + if (newUndergroundPipeCompletion != null) + { + newUndergroundPipeCompletion.TotalNum = pipelineCompletion.TotalNum; + newUndergroundPipeCompletion.ThisNum = pipelineCompletion.ThisNum; + newUndergroundPipeCompletion.CompileMan = pipelineCompletion.CompileMan; + newUndergroundPipeCompletion.CompileDate = pipelineCompletion.CompileDate; + db.SubmitChanges(); + } + } + + /// + /// 根据主键删除全厂地下管网完成情况 + /// + /// + public static void DeleteUndergroundPipeCompletionById(string pipelineCompletionId) + { + Model.SGGLDB db = Funs.DB; + var pipelineCompletion = (from x in db.JDGL_UndergroundPipeCompletion where x.UndergroundPipeCompletionId == pipelineCompletionId select x).FirstOrDefault(); + if (pipelineCompletion != null) + { + db.JDGL_UndergroundPipeCompletion.DeleteOnSubmit(pipelineCompletion); + db.SubmitChanges(); + } + } + } +} diff --git a/SGGL/BLL/ProjectData/ProjectService.cs b/SGGL/BLL/ProjectData/ProjectService.cs index e84649ba..67769044 100644 --- a/SGGL/BLL/ProjectData/ProjectService.cs +++ b/SGGL/BLL/ProjectData/ProjectService.cs @@ -265,7 +265,7 @@ { return (from x in Funs.DB.Base_Project join y in Funs.DB.Project_ProjectUser on x.ProjectId equals y.ProjectId - where y.UserId == userId + where y.UserId == userId && y.IsPost == true orderby x.ProjectCode descending select x).Distinct().ToList(); } diff --git a/SGGL/BLL/ZHGL/Supervise/SuperviseCheckRectifyItemService.cs b/SGGL/BLL/ZHGL/Supervise/SuperviseCheckRectifyItemService.cs index 1fc58ca0..9adcd197 100644 --- a/SGGL/BLL/ZHGL/Supervise/SuperviseCheckRectifyItemService.cs +++ b/SGGL/BLL/ZHGL/Supervise/SuperviseCheckRectifyItemService.cs @@ -47,11 +47,8 @@ namespace BLL OrderEndDate = superviseCheckRectifyItem.OrderEndDate, OrderEndPerson = superviseCheckRectifyItem.OrderEndPerson, RealEndDate = superviseCheckRectifyItem.RealEndDate, - AttachUrl = superviseCheckRectifyItem.AttachUrl, - VerifierDate = superviseCheckRectifyItem.VerifierDate, - VerifierName = superviseCheckRectifyItem.VerifierName, + AttachUrl = superviseCheckRectifyItem.AttachUrl }; - Funs.DB.Supervise_SuperviseCheckRectifyItem.InsertOnSubmit(newSuperviseCheckRectifyItem); Funs.DB.SubmitChanges(); } diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx index 987098c7..b2bf2a51 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx @@ -33,6 +33,9 @@ + + @@ -43,7 +46,7 @@ - - + - diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx.cs index d5196500..bec41610 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; +using System.Text; namespace FineUIPro.Web.Comprehensive { @@ -249,5 +250,24 @@ namespace FineUIPro.Web.Comprehensive } } #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("资料发放登记" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx.designer.cs index 9289db2c..61f8e0ef 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataDistribution.aspx.designer.cs @@ -102,6 +102,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnImport; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -112,13 +121,13 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label3 控件。 + /// lbUnitWorkName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label3; + protected global::System.Web.UI.WebControls.Label lbUnitWorkName; /// /// lbtnFileUrl 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx index ad07f1da..0c3bf09a 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx @@ -34,6 +34,9 @@ + + @@ -44,7 +47,7 @@ - - + - diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx.cs index d7523390..d02c60ea 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; - +using System.Text; namespace FineUIPro.Web.Comprehensive { @@ -253,5 +253,24 @@ namespace FineUIPro.Web.Comprehensive } } #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("资料接收登记" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx.designer.cs index e2d5b2e6..8b164818 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DataReceiving.aspx.designer.cs @@ -102,6 +102,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnImport; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -112,13 +121,13 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label3 控件。 + /// lbUnitNames 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label3; + protected global::System.Web.UI.WebControls.Label lbUnitNames; /// /// lbtnFileUrl 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx index f616fcf0..19eb2027 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx @@ -39,6 +39,9 @@ + + @@ -53,7 +56,7 @@ - + - - - + - diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx.cs index 8497d524..c674232b 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx.cs @@ -4,6 +4,8 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; +using System.Text; + namespace FineUIPro.Web.Comprehensive { public partial class DesignChangeOrder : PageBase @@ -315,5 +317,24 @@ namespace FineUIPro.Web.Comprehensive } } #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("设计变更单管理" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx.designer.cs index 1ae185ec..bbd2e020 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignChangeOrder.aspx.designer.cs @@ -129,6 +129,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnImport; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -139,22 +148,22 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label2 控件。 + /// lbUnitWorkName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label2; + protected global::System.Web.UI.WebControls.Label lbUnitWorkName; /// - /// Label3 控件。 + /// lbUnitName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label3; + protected global::System.Web.UI.WebControls.Label lbUnitName; /// /// lbtnFileUrl 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx index 4860f811..56eb37e0 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx @@ -27,6 +27,9 @@ + + @@ -45,17 +48,17 @@ - - + - + diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx.cs index 14f39513..faa1c877 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx.cs @@ -4,6 +4,8 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; +using System.Text; + namespace FineUIPro.Web.Comprehensive { public partial class DesignDetails : PageBase @@ -267,5 +269,24 @@ namespace FineUIPro.Web.Comprehensive } } #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("设计交底管理" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx.designer.cs index 1c981e4f..43aa169d 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDetails.aspx.designer.cs @@ -84,6 +84,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -94,22 +103,22 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label2 控件。 + /// lbUnitWorkName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label2; + protected global::System.Web.UI.WebControls.Label lbUnitWorkName; /// - /// Label1 控件。 + /// lbUnitName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label1; + protected global::System.Web.UI.WebControls.Label lbUnitName; /// /// lbtnFileUrl 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDrawings.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDrawings.aspx index 88232af6..0a82a214 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDrawings.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDrawings.aspx @@ -35,6 +35,9 @@ + + @@ -50,7 +53,7 @@ - + - - - - + + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("图纸收发记录" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDrawings.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDrawings.aspx.designer.cs index f2155f5a..42448249 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDrawings.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/DesignDrawings.aspx.designer.cs @@ -111,6 +111,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnImport; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -121,22 +130,22 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label2 控件。 + /// lbUnitWorkName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label2; + protected global::System.Web.UI.WebControls.Label lbUnitWorkName; /// - /// Label3 控件。 + /// lbUnitName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label3; + protected global::System.Web.UI.WebControls.Label lbUnitName; /// /// lbtnFileUrl 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApproval.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApproval.aspx index ad5daf82..3d484cb1 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApproval.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApproval.aspx @@ -32,6 +32,9 @@ + + @@ -49,7 +52,7 @@ - + - + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("施工组织设计及施工方案" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApproval.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApproval.aspx.designer.cs index bd3bbbb2..7a426f68 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApproval.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/GeneralPlanApproval.aspx.designer.cs @@ -102,6 +102,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -112,13 +121,13 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label2 控件。 + /// lbUnitWorkName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label2; + protected global::System.Web.UI.WebControls.Label lbUnitWorkName; /// /// LinkButton1 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipment.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipment.aspx index cb4aa5af..51d0e3b7 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipment.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipment.aspx @@ -16,7 +16,7 @@ @@ -39,6 +39,9 @@ + + @@ -79,7 +82,7 @@ - + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("设备材料报验" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipment.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipment.aspx.designer.cs index 7997512e..f81afb0d 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipment.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionEquipment.aspx.designer.cs @@ -129,6 +129,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnImport; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx index f4d8f385..f1f60b8a 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx @@ -16,7 +16,7 @@ + EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True" OnPageIndexChange="Grid1_PageIndexChange"> @@ -37,6 +37,9 @@ + + @@ -64,7 +67,7 @@ - - - diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx.cs index 2d691b0d..03e3cdb7 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx.cs @@ -4,6 +4,8 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; +using System.Text; + namespace FineUIPro.Web.Comprehensive { public partial class InspectionMachine : PageBase @@ -239,5 +241,24 @@ namespace FineUIPro.Web.Comprehensive } } #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("机具报验" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx.designer.cs index fda4bb78..d1af5708 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionMachine.aspx.designer.cs @@ -111,6 +111,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnImport; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx index a2f460a6..2f0ab856 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx @@ -34,6 +34,9 @@ + + @@ -54,7 +57,7 @@ - + - - - diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx.cs index 1658af5c..f506a0f5 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx.cs @@ -4,6 +4,8 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; +using System.Text; + namespace FineUIPro.Web.Comprehensive { public partial class InspectionPerson : PageBase @@ -308,5 +310,24 @@ namespace FineUIPro.Web.Comprehensive PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("PersonItem.aspx?InspectionPersonId={0}", Grid1.SelectedRowID, "编辑 - "))); } } + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("人员报验" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx.designer.cs index 737128cb..d308202d 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/InspectionPerson.aspx.designer.cs @@ -111,6 +111,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnImport; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -121,13 +130,13 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label2 控件。 + /// lbUnitWorkName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label2; + protected global::System.Web.UI.WebControls.Label lbUnitWorkName; /// /// lbtnFileUrl 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApproval.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApproval.aspx index e1db6186..96415a82 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApproval.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApproval.aspx @@ -32,6 +32,9 @@ + + @@ -50,7 +53,7 @@ - + - + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("超过一定规模的危大施工方案" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApproval.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApproval.aspx.designer.cs index 37440826..c374e8d4 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApproval.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/MajorPlanApproval.aspx.designer.cs @@ -102,6 +102,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -112,13 +121,13 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label2 控件。 + /// lbUnitWorkName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label2; + protected global::System.Web.UI.WebControls.Label lbUnitWorkName; /// /// LinkButton1 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagement.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagement.aspx index 3d62c276..091a1861 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagement.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagement.aspx @@ -34,6 +34,9 @@ + + @@ -44,7 +47,7 @@ - - + - - + - - + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("NCR管理" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagement.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagement.aspx.designer.cs index 292af1ed..af765984 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagement.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/NCRManagement.aspx.designer.cs @@ -111,6 +111,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnImport; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -121,22 +130,22 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label2 控件。 + /// lbUnitWorkName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label2; + protected global::System.Web.UI.WebControls.Label lbUnitWorkName; /// - /// Label3 控件。 + /// lbUnitNames 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label3; + protected global::System.Web.UI.WebControls.Label lbUnitNames; /// /// lbtnFileUrl 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/PressurePipe.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/PressurePipe.aspx index f6eece10..35e9194a 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/PressurePipe.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/PressurePipe.aspx @@ -30,6 +30,9 @@ + + @@ -40,7 +43,7 @@ - + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("压力管道管理" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/PressurePipe.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/PressurePipe.aspx.designer.cs index d1c1a29d..a0c12997 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/PressurePipe.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/PressurePipe.aspx.designer.cs @@ -84,6 +84,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/QualityAccident.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/QualityAccident.aspx index c5ac3d63..e5c4bda1 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/QualityAccident.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/QualityAccident.aspx @@ -25,6 +25,9 @@ + + @@ -35,15 +38,15 @@ - - - + + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("质量事故处理记录" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/QualityAccident.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/QualityAccident.aspx.designer.cs index ba2ca68a..8dffecce 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/QualityAccident.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/QualityAccident.aspx.designer.cs @@ -66,6 +66,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// @@ -76,13 +85,13 @@ namespace FineUIPro.Web.Comprehensive { protected global::System.Web.UI.WebControls.Label lblPageIndex; /// - /// Label2 控件。 + /// lbUnitWorkName 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label2; + protected global::System.Web.UI.WebControls.Label lbUnitWorkName; /// /// lbtnFileUrl 控件。 diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagement.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagement.aspx index 7754d69c..dcfd07f0 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagement.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagement.aspx @@ -40,6 +40,9 @@ + + @@ -67,7 +70,7 @@ - + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("现场签证管理" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagement.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagement.aspx.designer.cs index f1268b4a..5dde7fee 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagement.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagement.aspx.designer.cs @@ -129,6 +129,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnImport; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx.cs index 1aa71454..2aee6d30 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx.cs @@ -374,68 +374,52 @@ namespace FineUIPro.Web.CQMS.Comprehensive var cns = from x in Funs.DB.Base_CNProfessional select x; var installations = from x in Funs.DB.WBS_UnitWork where x.ProjectId == this.CurrUser.LoginProjectId select x; - var oldViewInfos = from x in Funs.DB.Comprehensive_DesignChangeOrder + var oldViewInfos = from x in Funs.DB.Comprehensive_SiteVisaManagement where x.ProjectId == this.CurrUser.LoginProjectId select x; for (int i = 0; i < ir; i++) { - var oldViewInfo = oldViewInfos.Where(x => x.ChangeOrderCode == pds.Rows[i][2].ToString().Trim()).FirstOrDefault(); + var oldViewInfo = oldViewInfos.Where(x => x.VisaCode == pds.Rows[i][1].ToString().Trim()).FirstOrDefault(); if (oldViewInfo == null) { - Model.Comprehensive_DesignChangeOrder Ins = new Model.Comprehensive_DesignChangeOrder(); + Model.Comprehensive_SiteVisaManagement Ins = new Model.Comprehensive_SiteVisaManagement(); Ins.ProjectId = this.CurrUser.LoginProjectId; + if (!string.IsNullOrEmpty(pds.Rows[i][0].ToString().Trim())) { - Ins.CNProfessionalId = Funs.DB.Base_CNProfessional.First(e => e.ProfessionalName == pds.Rows[i][0].ToString().Trim()).CNProfessionalId; + Ins.UnitId = Funs.DB.Base_Unit.First(e => e.UnitName == pds.Rows[i][0].ToString().Trim()).UnitId; } - if (!string.IsNullOrEmpty(pds.Rows[i][1].ToString().Trim())) + Ins.VisaCode = pds.Rows[i][1].ToString().Trim(); + Ins.VisaContent = pds.Rows[i][2].ToString().Trim(); + string row3 = pds.Rows[i][3].ToString().Trim(); + if (!string.IsNullOrEmpty(row3)) { - Ins.UnitWorkId = Funs.DB.WBS_UnitWork.First(e => e.UnitWorkName == pds.Rows[i][1].ToString().Trim()).UnitWorkId; + Ins.ProcessingState = row3; + } + else + { + Ins.ProcessingState = "未实施"; + } + if (!string.IsNullOrEmpty(pds.Rows[i][4].ToString().Trim())) + { + Ins.UnitWorkId = installations.First(e => e.UnitWorkName == pds.Rows[i][4].ToString().Trim()).UnitWorkId; } - - Ins.ChangeOrderCode = pds.Rows[i][2].ToString().Trim(); - Ins.ChangeReason = pds.Rows[i][3].ToString().Trim(); - Ins.Contents = pds.Rows[i][4].ToString().Trim(); - if (!string.IsNullOrEmpty(pds.Rows[i][5].ToString().Trim())) { - Ins.IssuedDate = Convert.ToDateTime(pds.Rows[i][5].ToString().Trim()); + Ins.CNProfessionalId = Funs.DB.Base_CNProfessional.First(e => e.ProfessionalName == pds.Rows[i][5].ToString().Trim()).CNProfessionalId; } - if (!string.IsNullOrEmpty(pds.Rows[i][6].ToString().Trim())) { - Ins.ApprovalDate = Convert.ToDateTime(pds.Rows[i][6].ToString().Trim()); + Ins.VisaDate = Convert.ToDateTime(pds.Rows[i][6].ToString().Trim()); } - - if (!string.IsNullOrEmpty(pds.Rows[i][7].ToString().Trim())) - { - Ins.UnitId = BLL.UnitService.GetUnitByUnitId(pds.Rows[i][7].ToString().Trim()).UnitId; - } - - Ins.ImplementationFrontState = pds.Rows[i][8].ToString().Trim(); - - string row9 = pds.Rows[i][9].ToString().Trim(); - if (!string.IsNullOrEmpty(row9)) - { - if (row9 == "未实施") - { - Ins.HandleState = "1"; - } - if (row9 == "进行中") - { - Ins.HandleState = "2"; - } - if (row9 == "已完成") - { - Ins.HandleState = "3"; - } - } - - Ins.DesignChangeOrderId = SQLHelper.GetNewID(typeof(Model.Comprehensive_DesignChangeOrder)); + Ins.SignMan = pds.Rows[i][7].ToString().Trim(); + Ins.AuditMan = pds.Rows[i][8].ToString().Trim(); + Ins.Remark = pds.Rows[i][9].ToString().Trim(); + Ins.VisaId = SQLHelper.GetNewID(typeof(Model.Comprehensive_SiteVisaManagement)); Ins.CompileMan = this.CurrUser.UserId; - Ins.CompileDate = DateTime.Now.Date; - BLL.DesignChangeOrderService.AddDesignChangeOrder(Ins); + + BLL.SiteVisaManagementService.AddSiteVisaManagement(Ins); } } diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx index dc9d5257..462dff7a 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx @@ -32,6 +32,9 @@ + + diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx.cs index dd4a4d48..cf872437 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; +using System.Text; namespace FineUIPro.Web.Comprehensive { @@ -217,5 +218,24 @@ namespace FineUIPro.Web.Comprehensive } } #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("特种设备管理" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx.designer.cs index d1877051..ec6ca567 100644 --- a/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/Comprehensive/SpecialEquipment.aspx.designer.cs @@ -93,6 +93,15 @@ namespace FineUIPro.Web.Comprehensive { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReport.aspx b/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReport.aspx index 16e500c8..5fd5b2f2 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReport.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReport.aspx @@ -13,7 +13,7 @@ - diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReportEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReportEdit.aspx.cs index 80ad4195..f7602b79 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReportEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReportEdit.aspx.cs @@ -85,8 +85,8 @@ namespace FineUIPro.Web.CQMS.ManageReport } } this.txtPeriod.ReadOnly = true; - this.txtStartDate.Enabled = false; - this.txtEndDate.Enabled = false; + //this.txtStartDate.Enabled = false; + //this.txtEndDate.Enabled = false; GetThisWeekOrMonthContentList(this.ReportId);//本月主要工作内容 GetRowMaterialProblemList(this.ReportId);//原材料问题 GetConstructionProblemsList(this.ReportId);//施工过程问题 diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReportPrint.aspx b/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReportPrint.aspx index 78b42a58..2407d111 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReportPrint.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/MonthReportPrint.aspx @@ -48,7 +48,7 @@ var WebBrowser = ''; document.body.insertAdjacentHTML('beforeEnd', WebBrowser); //在body标签内加入html(WebBrowser activeX控件) - WebBrowser1.ExecWB(6, 6); //打印 + WebBrowser1.ExecWB(6, 1); //打印 WebBrowser1.outerHTML = ""; //从代码中清除插入的html代码 pagesetup_default(); //打印结束后页眉页脚恢复默认值 document.getElementById("div1").style.display = "block"; @@ -71,13 +71,13 @@ - 页面设置 - 打印设置 - 打印预览 - 打印 diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReport.aspx b/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReport.aspx index af48e62b..febd418c 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReport.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReport.aspx @@ -13,7 +13,7 @@ - diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReportEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReportEdit.aspx.cs index 1ecbbdde..ce810c24 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReportEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReportEdit.aspx.cs @@ -85,8 +85,8 @@ namespace FineUIPro.Web.CQMS.ManageReport } } this.txtPeriod.ReadOnly = true; - this.txtStartDate.Enabled = false; - this.txtEndDate.Enabled = false; + //this.txtStartDate.Enabled = false; + //this.txtEndDate.Enabled = false; GetThisWeekOrMonthContentList(this.ReportId);//本周主要工作内容 GetRowMaterialProblemList(this.ReportId);//原材料问题 GetConstructionProblemsList(this.ReportId);//施工过程问题 diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReportPrint.aspx b/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReportPrint.aspx index fc17b240..df4c291a 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReportPrint.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/WeekReportPrint.aspx @@ -48,7 +48,7 @@ var WebBrowser = ''; document.body.insertAdjacentHTML('beforeEnd', WebBrowser); //在body标签内加入html(WebBrowser activeX控件) - WebBrowser1.ExecWB(6, 6); //打印 + WebBrowser1.ExecWB(6, 1); //打印 WebBrowser1.outerHTML = ""; //从代码中清除插入的html代码 pagesetup_default(); //打印结束后页眉页脚恢复默认值 document.getElementById("div1").style.display = "block"; @@ -71,13 +71,13 @@ - 页面设置 - 打印设置 - 打印预览 - 打印 diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/CheckManStatistics.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/CheckManStatistics.aspx.cs index 8928cc27..3ee04b53 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/CheckManStatistics.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/CheckManStatistics.aspx.cs @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Text; using System.Web.UI.WebControls; +using BLL; namespace FineUIPro.Web.CQMS.ProcessControl { public partial class CheckManStatistics : PageBase @@ -83,23 +85,14 @@ namespace FineUIPro.Web.CQMS.ProcessControl /// protected void btnOut_Click(object sender, EventArgs e) { - DateTime dt = DateTime.Now; - string filename = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString(); - - Response.Clear(); - Response.Buffer = true; - Response.Charset = "GB2312"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - Response.Write(""); - - Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("检查人检查次数统计" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/ms-excel"; - this.EnableViewState = false; - System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); - System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); - this.gvCheckManStatistics.RenderControl(oHtmlTextWriter); - Response.Write(oStringWriter.ToString()); - Response.Flush(); + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("检查人检查次数统计" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.gvCheckManStatistics.PageSize = gvCheckManStatistics.RecordCount; + BindGvInspectionManagement(); + Response.Write(GetGridTableHtml2(gvCheckManStatistics)); Response.End(); } } diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx b/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx index d9d8094a..f20bd3c4 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx @@ -32,6 +32,9 @@ + + diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.cs index defd975c..36a990c5 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; +using System.Text; namespace FineUIPro.Web.CQMS.ProcessControl { @@ -232,5 +233,24 @@ namespace FineUIPro.Web.CQMS.ProcessControl } } #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("热处理检测" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.designer.cs index 9cabde96..7321d0a7 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.designer.cs @@ -111,6 +111,15 @@ namespace FineUIPro.Web.CQMS.ProcessControl { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx index 2f46674e..18567721 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx @@ -38,6 +38,9 @@ EnablePostBack="true" runat="server" ToolTip="查询" OnClick="btnSearch_Click"> + + <%-- --%> @@ -50,7 +53,7 @@ - - diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.cs index 6e05f83b..4a248423 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; +using System.Text; namespace FineUIPro.Web.CQMS.ProcessControl { @@ -231,5 +232,24 @@ namespace FineUIPro.Web.CQMS.ProcessControl } } #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("控制点检查检测" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.designer.cs index 305b4a10..5a5b5b2d 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.designer.cs @@ -111,6 +111,15 @@ namespace FineUIPro.Web.CQMS.ProcessControl { /// protected global::FineUIPro.Button btnSearch; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx index 67c1145b..639be792 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx @@ -15,7 +15,7 @@ @@ -38,14 +38,18 @@ - - - - - - - - + + + + + + + + diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx.cs index 256b76ed..c89b3391 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; @@ -229,23 +230,21 @@ namespace FineUIPro.Web.CQMS.ProcessControl protected void btnOut_Click(object sender, EventArgs e) { - DateTime dt = DateTime.Now; - string filename = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString(); - - Response.Clear(); - Response.Buffer = true; - Response.Charset = "GB2312"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - Response.Write(""); - - Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("控制点检查检测合格率统计" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/ms-excel"; - this.EnableViewState = false; - System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); - System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); - this.Grid1.RenderControl(oHtmlTextWriter); - Response.Write(oStringWriter.ToString()); - Response.Flush(); + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("控制点检查检测合格率统计" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + if (this.drpCNProfessional.SelectedValue != BLL.Const._Null) + { + BindGvInspectionManagement(this.drpCNProfessional.SelectedValue); + } + else + { + BindGvInspectionManagement(null); + } + Response.Write(GetGridTableHtml2(Grid1)); Response.End(); } } diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx index be17ba44..0d339bc8 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx @@ -40,6 +40,9 @@ + + @@ -49,7 +52,7 @@ - + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("共检通知单" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx.designer.cs index bc4c4435..3354cdb8 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx.designer.cs @@ -120,6 +120,15 @@ namespace FineUIPro.Web.CQMS.ProcessControl { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx b/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx index c597f646..87cd2486 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx @@ -41,6 +41,9 @@ + + @@ -72,7 +75,7 @@ - diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx.cs index bdcbc518..03b017b8 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx.cs @@ -4,6 +4,8 @@ using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; +using System.Text; + namespace FineUIPro.Web.CQMS.ProcessControl { public partial class NondestructiveTest : PageBase @@ -248,5 +250,24 @@ namespace FineUIPro.Web.CQMS.ProcessControl } } #endregion + + #region 导出按钮 + /// 导出按钮 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("无损检测管理" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx.designer.cs index 6dbf1019..4e6773cb 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest.aspx.designer.cs @@ -129,6 +129,15 @@ namespace FineUIPro.Web.CQMS.ProcessControl { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx b/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx index ce0701e8..a862f219 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx @@ -35,6 +35,9 @@ + + @@ -54,10 +57,10 @@ - - + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + Response.ClearContent(); + string filename = Funs.GetNewFileName(); + Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("管道试压包管理" + filename, System.Text.Encoding.UTF8) + ".xls"); + Response.ContentType = "application/excel"; + Response.ContentEncoding = Encoding.UTF8; + this.Grid1.PageSize = Grid1.RecordCount; + this.BindGrid(); + Response.Write(GetGridTableHtml2(Grid1)); + Response.End(); + } + #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx.designer.cs index 97ff998a..a7a0352c 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx.designer.cs @@ -93,6 +93,15 @@ namespace FineUIPro.Web.CQMS.ProcessControl { /// protected global::FineUIPro.Button btnNew; + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + /// /// lblPageIndex 控件。 /// diff --git a/SGGL/FineUIPro.Web/Door/InOutList.aspx b/SGGL/FineUIPro.Web/Door/InOutList.aspx index dd767aa6..1593e413 100644 --- a/SGGL/FineUIPro.Web/Door/InOutList.aspx +++ b/SGGL/FineUIPro.Web/Door/InOutList.aspx @@ -65,7 +65,7 @@ SortField="DepartName" FieldType="String" HeaderText="组织" HeaderTextAlign="Center" TextAlign="Left"> - diff --git a/SGGL/FineUIPro.Web/Door/InOutList.aspx.cs b/SGGL/FineUIPro.Web/Door/InOutList.aspx.cs index 140f1b75..88a6eb44 100644 --- a/SGGL/FineUIPro.Web/Door/InOutList.aspx.cs +++ b/SGGL/FineUIPro.Web/Door/InOutList.aspx.cs @@ -76,7 +76,7 @@ namespace FineUIPro.Web.Door } } else - { + { strSql = @"SELECT NewID,ID,V.ProjectId,EmployName,DepartmentID,DepartName,AreaID,AreaName,EmployNO,CardID,RoleID ,DateTimeRecord,RecordDes, InOrOut ,P.UnitId,P.TeamGroupId FROM dbo.t_d_facerecord V diff --git a/SGGL/FineUIPro.Web/ErrLog.txt b/SGGL/FineUIPro.Web/ErrLog.txt index 2b350569..f89bdc87 100644 --- a/SGGL/FineUIPro.Web/ErrLog.txt +++ b/SGGL/FineUIPro.Web/ErrLog.txt @@ -1,10 +1,9 @@  错误信息开始=====> 错误类型:SqlException -错误信息:执行超时已过期。完成操作之前已超时或服务器未响应。 +错误信息:对象名 'dbo.View_JDGL_ProgressCompletion' 无效。 错误堆栈: 在 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.SqlDataReader.TryConsumeMetaData() @@ -14,542 +13,56 @@ 在 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.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) - 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) - 在 System.Data.Common.DbCommand.ExecuteReader() - 在 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.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) - 在 System.Linq.Queryable.Count[TSource](IQueryable`1 source) - 在 BLL.GetDataService.CorrectingPersonInOutNumber(String projectId) 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\GetDataService.cs:行号 139 - 在 BLL.MonitorService.DoSynchData() 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\MonitorService.cs:行号 2180 - 在 BLL.MonitorService.ColligateFormConfirmProcessEve(Object sender, ElapsedEventArgs e) 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\MonitorService.cs:行号 112 -----错误类型:Win32Exception -----错误信息: -----等待的操作过时。 -----错误堆栈: - 出错时间:04/16/2021 11:26:57 -出错时间:04/16/2021 11:26:58 - - -错误信息开始=====> -错误类型:ChangeConflictException -错误信息:找不到行或行已更改。 -错误堆栈: - 在 System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode) - 在 System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode) - 在 System.Data.Linq.DataContext.SubmitChanges() - 在 BLL.ComprehensiveService.DeleteComprehensiveByReportId(String reportId) 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\CQMS\ManageReport\ComprehensiveService.cs:行号 63 - 在 FineUIPro.Web.CQMS.ManageReport.WeekReport.btnMenuDel_Click(Object sender, EventArgs e) 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\CQMS\ManageReport\WeekReport.aspx.cs:行号 74 - 在 FineUIPro.MenuButton.OnClick(EventArgs e) - 在 (MenuButton , EventArgs ) - 在 FineUIPro.MenuButton.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) -出错时间:04/18/2021 10:55:35 -出错文件:http://localhost:8118/CQMS/ManageReport/WeekReport.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/18/2021 10:55:35 - - -错误信息开始=====> -错误类型:InvalidCastException -错误信息:无法将类型为“System.Web.UI.WebControls.TextBox”的对象强制转换为类型“FineUIPro.TextBox”。 -错误堆栈: - 在 FineUIPro.Web.CQMS.ManageReport.WeekReportEdit.saveThisWeekAndMonthContent() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\CQMS\ManageReport\WeekReportEdit.aspx.cs:行号 275 - 在 FineUIPro.Web.CQMS.ManageReport.WeekReportEdit.btnAddThisWeekAndMonthContent_Click(Object sender, ImageClickEventArgs e) 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\CQMS\ManageReport\WeekReportEdit.aspx.cs:行号 257 - 在 System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) - 在 System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) - 在 System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.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) -出错时间:04/18/2021 10:56:04 -出错文件:http://localhost:8118/CQMS/ManageReport/WeekReportEdit.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/18/2021 10:56:04 - - -错误信息开始=====> -错误类型:NullReferenceException -错误信息:未将对象引用设置到对象的实例。 -错误堆栈: - 在 (PageManager ) - 在 FineUIPro.ControlBase.OnFirstPreRender() - 在 (ControlBase ) - 在 FineUIPro.Component.OnFirstPreRender() - 在 (Component ) - 在 FineUIPro.BoxComponent.OnFirstPreRender() - 在 (BoxComponent ) - 在 FineUIPro.Container.OnFirstPreRender() - 在 (Container ) - 在 FineUIPro.PanelBase.OnFirstPreRender() - 在 (PanelBase ) - 在 FineUIPro.CollapsablePanel.OnFirstPreRender() - 在 (CollapsablePanel ) - 在 FineUIPro.ContentPanel.OnFirstPreRender() - 在 (ControlBase ) - 在 FineUIPro.ControlBase.jcLvABeDsHQyyAbZhsfaLCMRNprM() - 在 (ControlBase ) - 在 xCmAQBtUiwmKoGvxhPONMYvYbMln.jcLvABeDsHQyyAbZhsfaLCMRNprM(Object , EventArgs ) - 在 System.Web.UI.Page.OnPreRenderComplete(EventArgs e) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/18/2021 11:13:01 -出错文件:http://localhost:8118/CQMS/ManageReport/MonthReportEdit.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/18/2021 11:13:01 - - -错误信息开始=====> -错误类型:NullReferenceException -错误信息:未将对象引用设置到对象的实例。 -错误堆栈: - 在 (PageManager ) - 在 FineUIPro.ControlBase.OnFirstPreRender() - 在 (ControlBase ) - 在 FineUIPro.Component.OnFirstPreRender() - 在 (Component ) - 在 FineUIPro.BoxComponent.OnFirstPreRender() - 在 (BoxComponent ) - 在 FineUIPro.Container.OnFirstPreRender() - 在 (Container ) - 在 FineUIPro.PanelBase.OnFirstPreRender() - 在 (PanelBase ) - 在 FineUIPro.CollapsablePanel.OnFirstPreRender() - 在 (CollapsablePanel ) - 在 FineUIPro.ContentPanel.OnFirstPreRender() - 在 (ControlBase ) - 在 FineUIPro.ControlBase.jcLvABeDsHQyyAbZhsfaLCMRNprM() - 在 (ControlBase ) - 在 xCmAQBtUiwmKoGvxhPONMYvYbMln.jcLvABeDsHQyyAbZhsfaLCMRNprM(Object , EventArgs ) - 在 System.Web.UI.Page.OnPreRenderComplete(EventArgs e) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/18/2021 11:14:45 -出错文件:http://localhost:8118/CQMS/ManageReport/MonthReportEdit.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/18/2021 11:14:45 - - -错误信息开始=====> -错误类型:NullReferenceException -错误信息:未将对象引用设置到对象的实例。 -错误堆栈: - 在 (PageManager ) - 在 FineUIPro.ControlBase.OnFirstPreRender() - 在 (ControlBase ) - 在 FineUIPro.Component.OnFirstPreRender() - 在 (Component ) - 在 FineUIPro.BoxComponent.OnFirstPreRender() - 在 (BoxComponent ) - 在 FineUIPro.Container.OnFirstPreRender() - 在 (Container ) - 在 FineUIPro.PanelBase.OnFirstPreRender() - 在 (PanelBase ) - 在 FineUIPro.CollapsablePanel.OnFirstPreRender() - 在 (CollapsablePanel ) - 在 FineUIPro.ContentPanel.OnFirstPreRender() - 在 (ControlBase ) - 在 FineUIPro.ControlBase.jcLvABeDsHQyyAbZhsfaLCMRNprM() - 在 (ControlBase ) - 在 xCmAQBtUiwmKoGvxhPONMYvYbMln.jcLvABeDsHQyyAbZhsfaLCMRNprM(Object , EventArgs ) - 在 System.Web.UI.Page.OnPreRenderComplete(EventArgs e) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/18/2021 11:16:11 -出错文件:http://localhost:8118/CQMS/ManageReport/MonthReportEdit.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/18/2021 11:16:11 - - -错误信息开始=====> -错误类型:SqlException -错误信息:执行超时已过期。完成操作之前已超时或服务器未响应。 -错误堆栈: - 在 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.SqlDataReader.TryConsumeMetaData() - 在 System.Data.SqlClient.SqlDataReader.get_MetaData() - 在 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.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) - 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) - 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) - 在 System.Data.Common.DbCommand.ExecuteReader() - 在 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.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) - 在 System.Linq.Queryable.Count[TSource](IQueryable`1 source) - 在 BLL.GetDataService.CorrectingPersonInOutNumber(String projectId) 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\GetDataService.cs:行号 139 - 在 BLL.MonitorService.DoSynchData() 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\MonitorService.cs:行号 2180 - 在 BLL.MonitorService.ColligateFormConfirmProcessEve(Object sender, ElapsedEventArgs e) 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\MonitorService.cs:行号 112 -----错误类型:Win32Exception -----错误信息: -----等待的操作过时。 -----错误堆栈: - 出错时间:04/18/2021 11:24:11 -出错时间:04/18/2021 11:24:12 - - -错误信息开始=====> -错误类型:SqlException -错误信息:执行超时已过期。完成操作之前已超时或服务器未响应。 -错误堆栈: - 在 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.SqlDataReader.TryConsumeMetaData() - 在 System.Data.SqlClient.SqlDataReader.get_MetaData() - 在 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.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) - 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) - 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) - 在 System.Data.Common.DbCommand.ExecuteReader() - 在 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.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) - 在 System.Linq.Queryable.Count[TSource](IQueryable`1 source) - 在 BLL.GetDataService.CorrectingPersonInOutNumber(String projectId) 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\GetDataService.cs:行号 139 - 在 BLL.MonitorService.DoSynchData() 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\MonitorService.cs:行号 2180 - 在 BLL.MonitorService.ColligateFormConfirmProcessEve(Object sender, ElapsedEventArgs e) 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\MonitorService.cs:行号 112 -----错误类型:Win32Exception -----错误信息: -----等待的操作过时。 -----错误堆栈: - 出错时间:04/18/2021 11:27:39 -出错时间:04/18/2021 11:27:40 - - -错误信息开始=====> -错误类型:ThreadAbortException -错误信息:正在中止线程。 -错误堆栈: - 在 SNIReadSyncOverAsync(SNI_ConnWrapper* , SNI_Packet** , Int32 ) - 在 SNINativeMethodWrapper.SNIReadSyncOverAsync(SafeHandle pConn, IntPtr& packet, Int32 timeout) - 在 System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync() - 在 System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket() - 在 System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer() - 在 System.Data.SqlClient.TdsParserStateObject.TryReadByte(Byte& value) - 在 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) - 在 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() - 在 System.Data.SqlClient.SqlDataReader.get_MetaData() - 在 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.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) - 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) - 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) - 在 System.Data.Common.DbCommand.ExecuteReader() - 在 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.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) - 在 System.Linq.Queryable.Count[TSource](IQueryable`1 source) - 在 BLL.GetDataService.CorrectingPersonInOutNumber(String projectId) 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\GetDataService.cs:行号 139 - 在 BLL.MonitorService.DoSynchData() 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\MonitorService.cs:行号 2180 - 在 BLL.MonitorService.ColligateFormConfirmProcessEve(Object sender, ElapsedEventArgs e) 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\OpenService\MonitorService.cs:行号 112 -出错时间:04/18/2021 11:29:24 -出错时间:04/18/2021 11:29:25 - - -错误信息开始=====> -错误类型:KeyNotFoundException -错误信息:给定关键字不在字典中。 -错误堆栈: - 在 System.Collections.Generic.Dictionary`2.get_Item(TKey key) - 在 BLL.Funs.get_DB() 位置 E:\工作\五环施工平台\SGGL\SGGL\BLL\Common\Funs.cs:行号 132 - 在 FineUIPro.Web.PageBase.get_CurrUser() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\PageBase.cs:行号 38 - 在 FineUIPro.Web.indexProject.Page_Load(Object sender, EventArgs e) 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\indexProject.aspx.cs:行号 293 - 在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) - 在 System.EventHandler.Invoke(Object sender, EventArgs e) - 在 System.Web.UI.Control.OnLoad(EventArgs e) - 在 System.Web.UI.Control.LoadRecursive() - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 11:19:12 -出错文件:http://localhost:8118/indexProject.aspx?projectId=310e790e-5ede-4345-98a4-8bd0866e69ef -IP地址:::1 - -出错时间:04/19/2021 11:19:12 - - -错误信息开始=====> -错误类型:ArgumentNullException -错误信息:值不能为 null。 -参数名: source -错误堆栈: - 在 System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate) - 在 FineUIPro.Web.common.main.get_Project() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\main.aspx.cs:行号 60 - 在 ASP.common_main_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) - 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) - 在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) - 在 System.Web.UI.Page.Render(HtmlTextWriter writer) - 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 13:51:33 -出错文件:http://localhost:8118/common/main.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/19/2021 13:51:33 - - -错误信息开始=====> -错误类型:ArgumentNullException -错误信息:值不能为 null。 -参数名: source -错误堆栈: - 在 System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate) - 在 FineUIPro.Web.common.main.get_Project() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\main.aspx.cs:行号 60 - 在 ASP.common_main_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) - 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) - 在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) - 在 System.Web.UI.Page.Render(HtmlTextWriter writer) - 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 14:14:55 -出错文件:http://localhost:8118/common/main.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/19/2021 14:14:55 - - -错误信息开始=====> -错误类型:ArgumentNullException -错误信息:值不能为 null。 -参数名: source -错误堆栈: - 在 System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate) - 在 FineUIPro.Web.common.main.get_Project() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\main.aspx.cs:行号 60 - 在 ASP.common_main_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) - 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) - 在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) - 在 System.Web.UI.Page.Render(HtmlTextWriter writer) - 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 14:15:44 -出错文件:http://localhost:8118/common/main.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/19/2021 14:15:44 - - -错误信息开始=====> -错误类型:ArgumentNullException -错误信息:值不能为 null。 -参数名: source -错误堆栈: - 在 System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate) - 在 FineUIPro.Web.common.main.get_Project() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\main.aspx.cs:行号 60 - 在 ASP.common_main_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) - 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) - 在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) - 在 System.Web.UI.Page.Render(HtmlTextWriter writer) - 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 14:16:00 -出错文件:http://localhost:8118/common/main.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/19/2021 14:16:00 - - -错误信息开始=====> -错误类型:ArgumentNullException -错误信息:值不能为 null。 -参数名: source -错误堆栈: - 在 System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate) - 在 FineUIPro.Web.common.main.get_Project() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\main.aspx.cs:行号 60 - 在 ASP.common_main_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) - 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) - 在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) - 在 System.Web.UI.Page.Render(HtmlTextWriter writer) - 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 14:16:09 -出错文件:http://localhost:8118/common/main.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/19/2021 14:16:09 - - -错误信息开始=====> -错误类型:ArgumentNullException -错误信息:值不能为 null。 -参数名: source -错误堆栈: - 在 System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate) - 在 FineUIPro.Web.common.main.get_Project() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\main.aspx.cs:行号 60 - 在 ASP.common_main_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) - 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) - 在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) - 在 System.Web.UI.Page.Render(HtmlTextWriter writer) - 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 14:20:05 -出错文件:http://localhost:8118/common/main.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/19/2021 14:20:06 - - -错误信息开始=====> -错误类型:ArgumentNullException -错误信息:值不能为 null。 -参数名: source -错误堆栈: - 在 System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate) - 在 FineUIPro.Web.common.main.get_Project() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\main.aspx.cs:行号 60 - 在 ASP.common_main_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) - 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) - 在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) - 在 System.Web.UI.Page.Render(HtmlTextWriter writer) - 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 14:20:19 -出错文件:http://localhost:8118/common/main.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/19/2021 14:20:19 - - -错误信息开始=====> -错误类型:ArgumentNullException -错误信息:值不能为 null。 -参数名: source -错误堆栈: - 在 System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate) - 在 FineUIPro.Web.common.main.get_Project() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\main.aspx.cs:行号 60 - 在 ASP.common_main_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) - 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) - 在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) - 在 System.Web.UI.Page.Render(HtmlTextWriter writer) - 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 15:09:48 -出错文件:http://localhost:8118/common/main.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/19/2021 15:09:48 - - -错误信息开始=====> -错误类型:ArgumentNullException -错误信息:值不能为 null。 -参数名: source -错误堆栈: - 在 System.Linq.Enumerable.Where[TSource](IEnumerable`1 source, Func`2 predicate) - 在 FineUIPro.Web.common.main.get_Project() 位置 E:\工作\五环施工平台\SGGL\SGGL\FineUIPro.Web\common\main.aspx.cs:行号 60 - 在 ASP.common_main_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) - 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) - 在 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) - 在 System.Web.UI.Page.Render(HtmlTextWriter writer) - 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) - 在 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/19/2021 15:10:05 -出错文件:http://localhost:8118/common/main.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/19/2021 15:10:06 - - -错误信息开始=====> -错误类型:HttpException -错误信息:文件“/HSSE/Hazard/ProjectSuperviseCheckRectify.aspx”不存在。 -错误堆栈: - 在 System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath) - 在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) - 在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) - 在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) - 在 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) - 在 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) - 在 System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) - 在 System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() - 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) - 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) -出错时间:04/20/2021 17:39:11 -出错文件:http://localhost:8118/HSSE/Hazard/ProjectSuperviseCheckRectify.aspx -IP地址:::1 - -出错时间:04/20/2021 17:39:11 - - -错误信息开始=====> -错误类型:SqlException -错误信息:列名 'ProfessionalName' 无效。 -列名 'SortIndex' 无效。 -列名 'SortIndex' 无效。 -错误堆栈: - 在 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.SqlDataReader.TryConsumeMetaData() - 在 System.Data.SqlClient.SqlDataReader.get_MetaData() - 在 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.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) - 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) - 在 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) - 在 System.Data.Common.DbCommand.ExecuteReader() 在 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.DataQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator() - 在 FineUIPro.Web.common.mainProject.Page_Load(Object sender, EventArgs e) 位置 D:\WuHuan\SGGL\SGGL\FineUIPro.Web\common\mainProject.aspx.cs:行号 58 - 在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) - 在 System.EventHandler.Invoke(Object sender, EventArgs e) - 在 System.Web.UI.Control.OnLoad(EventArgs e) - 在 System.Web.UI.Control.LoadRecursive() + 在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) + 在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) + 在 FineUIPro.Web.common.mainProject.get_Two() 位置 D:\WuHuan\SGGL\SGGL\FineUIPro.Web\common\mainProject.aspx.cs:行号 86 + 在 ASP.common_mainproject_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) + 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) + 在 System.Web.UI.Page.Render(HtmlTextWriter writer) + 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/24/2021 16:26:18 -出错文件:http://localhost:8118/common/mainProject.aspx +出错时间:05/20/2021 11:28:56 +出错文件:http://localhost/sggl_wh/common/mainProject.aspx IP地址:::1 -操作人员:JT +操作人员:系统管理员 -出错时间:04/24/2021 16:26:18 +出错时间:05/20/2021 11:28:56 + + +错误信息开始=====> +错误类型:SqlException +错误信息:对象名 'dbo.View_JDGL_ProgressCompletion' 无效。 +错误堆栈: + 在 System.Data.SqlClient.SqlConnection.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.SqlDataReader.TryConsumeMetaData() + 在 System.Data.SqlClient.SqlDataReader.get_MetaData() + 在 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.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) + 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) + 在 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.DataQuery`1.System.Collections.Generic.IEnumerable.GetEnumerator() + 在 System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) + 在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) + 在 FineUIPro.Web.common.mainProject.get_Two() 位置 D:\WuHuan\SGGL\SGGL\FineUIPro.Web\common\mainProject.aspx.cs:行号 86 + 在 ASP.common_mainproject_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) + 在 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) + 在 System.Web.UI.Page.Render(HtmlTextWriter writer) + 在 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) + 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +出错时间:05/20/2021 11:29:14 +出错文件:http://localhost/sggl_wh/common/mainProject.aspx +IP地址:::1 +操作人员:系统管理员 + +出错时间:05/20/2021 11:29:14 diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/仪表完成情况导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/仪表完成情况导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..1b2266b2961acfa63cd2417b0b9cdc4746b091b2 GIT binary patch literal 18432 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/全厂地下管网完成情况导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/全厂地下管网完成情况导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..5f8833fc7f2c1559cf27a627235c63b21c7eec77 GIT binary patch literal 18432 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 W>P+D}LaH0|irxUj*CGGe?tcIymn?Pw literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/电气完成情况导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/电气完成情况导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..1b2266b2961acfa63cd2417b0b9cdc4746b091b2 GIT binary patch literal 18432 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/管道完成情况导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/管道完成情况导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..ebccc66cc58093d4b23952a1a2a5bb61cee091cb GIT binary patch literal 18432 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/钢结构完成情况导入模板.xls b/SGGL/FineUIPro.Web/File/Excel/DataIn/钢结构完成情况导入模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..81835bac0983c46347164906f00a7c9fe6fbea5b GIT binary patch literal 18432 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%0AUwH2Z!#y>E+c@WJ$e$vnXZ$FiI^s)cI|yX#&^ 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 L@aK^K+2MZx6;(5C literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/Temp/202104190843396760.xls b/SGGL/FineUIPro.Web/File/Excel/Temp/202104190843396760.xls new file mode 100644 index 0000000000000000000000000000000000000000..9d691fbf0d219d193c460b256ef9e25142505343 GIT binary patch literal 18432 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/Temp/202104270145024513.xls b/SGGL/FineUIPro.Web/File/Excel/Temp/202104270145024513.xls new file mode 100644 index 0000000000000000000000000000000000000000..80026692c2e8764f54594a6dee923c4fb1a654c6 GIT binary patch literal 19456 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/Temp/202104270228076631.xls b/SGGL/FineUIPro.Web/File/Excel/Temp/202104270228076631.xls new file mode 100644 index 0000000000000000000000000000000000000000..558067e66d2d7100dc85fa962b310a27aac95882 GIT binary patch literal 20480 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 b2wP8B^74h3zcBkydmngFHxN+&yVL&wnWywm literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/Temp/202104270228461033.xls b/SGGL/FineUIPro.Web/File/Excel/Temp/202104270228461033.xls new file mode 100644 index 0000000000000000000000000000000000000000..558067e66d2d7100dc85fa962b310a27aac95882 GIT binary patch literal 20480 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 b2wP8B^74h3zcBkydmngFHxN+&yVL&wnWywm literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/Temp/202105010610145196.xls b/SGGL/FineUIPro.Web/File/Excel/Temp/202105010610145196.xls new file mode 100644 index 0000000000000000000000000000000000000000..eedafd3c9b1d7664c638fd7adf20fea6cc442712 GIT binary patch literal 23552 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%0Dbt;(VT=)qI(K060lr*9I0y~oe@+I(B2#2w) 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923329.jpg b/SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923329.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a05fdb309288bec5af2ea3e13ba486dcb61eab3f GIT binary patch literal 37820 zcmeHw30#bO+yC8WD2yniWkM7or-dj@9Y=}dRFI9XDZC@rdqPD&>tOUKr3|Io8f;5zY1B3j2tn7FhXi1fj}5FYNYgNxiO<eI=b5EO~gix8Z}yG^yD#PCTmYs znyUTH|MBl3vLnU!itm*Wn}&$Xib=?d@$Vxf1QC;hr$rz5<9}k}5|UCQ2qQ;H%fJPx z;}CH%2?=pY2`MQ_Nx0e%eve4XN{yfToymv^R$B#%j(_8pEpo%XqV z?DzEY_6htY=x}hzkxl+@d4ckZU=<==l$P*_y_ z@X6C>&tEVqURKuCH@trHwy~+Xh4sFxyQlX9yRRR8FEK=7@U=d@8ScGg;l0EqB_$*Y z=zEEYd%{OTR#Ix}cO%A|SP{0kO_-*AaHQP#Ct{LwM@`pR-6{X`-g4=QYPxkZSm>(> z-fVa;cIa=t*{2u#{9cvFXbCZxJPBEZjP&tBHKN6b^GPR)Q;U~&mU4r3Q@foQsO-@oYXq570njLkB-}I&T!UcxqWrdjlUaE2gO0F!+dM z&g-V!Sfcq>$Bd}MP1AL-te+R)QRO7Y~JT0-XKTJe#lm(GPv z2tAs-ozi!X+WwS}INOx=bQ9Vh@ev&hZaTHy3Hg9Nf+4l{7$1r7j^`s4)?}{yT;E)Z z1+Sd>-a?m;3`iI9k=V=h-!u@qF?$9dnQ`EIK9UyBm7U?u^&#YH^=Vd4;$~8tj%Y}< z3SJ0(Dfk!(UWlH?8O2A`y7I}r(y4r;d?jU^O%+cP{d0A+0V!K}%*)YZ55aH}j~gxE zBgOU%YCDsU{9tBJwLi#8 z)}l{6N`a5uSV!lD+Gn53dmekE#?_RH51D@UHa7`DP( zEy-Lx3-R?{=9j}qMydzG!>%pkBb}Rwd}M+dM>Pt*#;jS&M{?cCoK=Xg$^X_1Em+h% zf5oRp6I&OaQ6W9KJ}>V5f>lzd+|u8A<>rf>IKG_Y{3aC9jP6wDoFb1#ml-T+)9d?s z%Dg7576xBXNwD#kzk(s`ABUfCqh|17@&8VP~|-lXyqZWcp`EvS)4C(Lfqe<7A|f61Xut+|p}& zSWg-RZhNTyC#nIO2$Xh05x$>;WK*OE&iF9QzpPGjI>3@{1yjrDpqL`|wdG)l3 zpDDk$OkiYWUqq z%^OtGk!FDxogzYL1+cow~D8fc9 zw|F-GI$sltD;slZz~VuJJLntm-y8Cg23OeMp1f+e}8 zpsjERE1MfO;k**^dka0{fOIjuQY?M*r+-BxiEKI>FcsioPd+B|@{-{XUUhye{mCEU zACKb7xQ}~2dYWM82s|Td=+IsCns_wly-g}}z!RQGmO*1g`|gI9%1YuRRXMznW0|}F z>3(Xj8|pF>s1?>0TzPqcgT_2}G;#CC8w%h2)Azy_^&g*Aqdn})td#}!O6>5&or{0E z)q7yFA#I-4&Ab86@58*es=YUV%>WZ2lU7gSjwbibaOEQfP53R1_z*brm?6||Fi@{g zgTGab<4tnCPwt;geZPXqM~*UREJwuAImn57XP~u;U%MqoVlH@Av~p>i*H|#^Na1L8vGI2zGi0o zt;NUW?lWvfujviQi!G!kcT zmUt*q*x4AA;ySYV$$H2A)UBxzYjo7lz28=ZT)3+q8~*V2$4Cy{t;3BGlk)3aj>LO~ z*BhO@)bfIlI409dx~A0>XY87ne_HjJvEh`4)-ofAZ|w);+aJu0Rrm-WkzQHX$dzIC z8NfO()PPx?(b>fd>fl_w1G9R%NzRfG*_tEct5`=PI{ENU#QB|H^K|ZvtXs79HRMQL z$4!dPi`E>r++#ve3bcnw#jLf~Wbkz@?g0 z-a>ooGQ1q)2^Dch2eU09!GgPKJmWW?k4bA@bc2O~49K>q1w^HCq4d z*#iH4f%-biiPS5967IOnSS1&3NeJicW2J>;Dsuz5feC)$?G(qZoPA2?Z}%PW@4w*S z*4%1uf`64V@=ki+>6~_W07ph?_ZL?2mtN!FxVI`gX%Ap{Tl}@l+O+hT+Amry4=J2% zJ3gl9iN==WXB8y7>FP;=5RF@Mboj^?I|_G73WOPQR>o4kViYRlo*ZJeOirwqk3e!1 z<+X#CYn{_S%P|fczgrUSqp^`Z?lNc5*g~ufz1@3UfBw4=p(YLS^d4l zmxYjC#Xt&imE65+tynku&?+K+DLV(h^NpqOeksWxyYtHkRo&?8bV|VjvnTVB(G6%o zG|HLwfk)!$8I$H)Q7rgKzCN4GJ7n9)z#+sVOgMrM({ z%d7Y0{88emL*3(E=!5ipi#-y}S$BEa-H(itWhq~|yG3dICfkmRlUFr7r%x@CR0%s! zMtIe2^9QN3yawD*vip4rmQP=DbU&m8B}PQJ{h7Obgjxr;Un|xn zh1v~{PIw>~pczS2CY#EBP7=MY4c!GpA77FDxEmKsl!-wikBJlLziEOsgq3an7FPC_ z4dm{%YsCb2^&+(E@e%DbZWbgUQ~G$>0o*G&Z>=Hb&f&&U$Yn!DQ1BHCWjNFRZ-;+* zhYw8^`c)ohlv?}yBp~WN-98xg{@^aw*!^*KpZ_=GPlBbcD0JPenQndCOot#E+g zmhy5}Q=2Lh3tKD5kaB4F1al8vf&f3+lJFFrWp9XqnSE-D2UA#f>uYJiIB+=-B9DVd z?)Kwz3}cdOIr=&Q)cjS{XK{Swv=;BVJs*M5Ae50hpHg}tmU^?2kEDY07z6uzbvSQr z&cHetYY1+bF;3Jff0d_tuIj}D9+zy4tlO&=M(@6RuS6%T);ee(4yQ|ktdIqPxi2Jy zzZ5?B04Wzojp{I96FCrmqwoCwf~y}gb1$@){?yY30|$?!%}1V9^N~|bUX>X~M~l0P z*|!ReOKL~AC82;M%aMV&57Pey{T999Rh-skce{MUH5EKJ-Fd})RkE+<4)|a^#MzD5 zl#y;}aUPRzs3Kr2eSVZx>YI1KXasYMGO4R#QaXylFud^rnBsZ>?IJ4cwmpT1$ zi7dlqq1K143%ztO?}y=^UCrPlvvRn%vv{FMCy~9K(tkeZJ$SS#$8Y~VYm7{<7w-Z(L30J9VS1VMWpFI^uJyE|{)(O9A@8~k2Ig9?Ox$$7W@Ma(=d?Sy+7ji# zPDppCW+5M`i_0W|b+6vXL-X)LbaNd8kWj*-bbtkskaF}`2|)=W82m=XY%*7It{3+} zVF+iDH;ZW%{y=3?gp7gW`omGImR%0Vi!K!{mkm~Qo85KcwaOAVxVz{pw_=dkQb8y! zJoz>zbu@NiM=CYXhIgKucB_r~l9KuIbt434I@@*LCVdwb9KVN1jm@O;rWoXcCmjP} z@_jOAe>mH*g8-nx!i{_c%@$deNU!v;UJ(Eqk-ObCoXeu;`_F@5GAtDN|ldSarlVfv+SNks$vpHjLssZ~r~Ii1$p!bieLWA(yANEOVN z3m44i2A6gjy?A$*`KCc}UCte!hE(rh+^$2sxbkgi#ERW|_+1A{Z@E1TC}tajbHME2 z;opm40)-t7f3&c3oz6RI+f8KeAWf#0t%PNk(?wm1`gp4VPKaxuAJ>GE0f2$a zJqE!*7NZDUJMIk|Tk%yC#4iWGNGPgU3^6;0j;pRgB8#pfoEu53K$kKOB85tWupi0d zWn#iM1dSy=Vk9CZiEiQ{%6pp>tpP8Hea2f77()@RaLj~$|Ig+!_`47N|G|X&8$-os zyb0`_+EqHa>B>QGGu~9&Hg_)7_KVn;`a*BC_5^~Y%IWtHTehDaX7oWgkvDXLb+BnpHs?QDn;Q2=uz zbr8Qa{D@yBk=fP02O)T)qRg+c)|L!r<+;Pn7R{|`LXRMyJ+$UtAS z&Iaoz?iY8oPkP#Cw2`vy?84n=C%-R3Y9|!a&o@C403XQyIhGH`8{k{v*Y|e zdeP7rlUJ{6Lj!XmyGo@aLMgQ|iHzPUxvo^k*=XLgtvAZrcnl9E)9n^|)APi|7VRZi zlP-FopzT!fH;|N{ybViiZ#ov1TG!2my@TSX0Is9>sVn$bD70D}@?F;1_@LKFlVwli z(qh+p({`qJ#YJvsSL*dm-|i6Up(MdrqS@Tvg*7>4V#8Thy-R`t^b>dTIhq<2mGO4d zrWH5xXj?D1>{rz&{&94~Vul-K9JaEX%@jnRL^5ubx}#XV&{FRMR2niNfc}NIj@zHl zB1KXpm-_}jfo6@7wC@j{^j|U+y|*Me(YB_awDdl0R66JEQl-sGu_vBeys;<#x7}?2 zaT5TuHCV*@dS;Lm$Qx$?p80ALwKm%J|fWp z2{;J(z(Lpt9E7J-mfqdk(h*+2GYaih?%e4txiwnWX@99&#QGJ#ht61SJ_Bm*O%iR3 z(ZbIlFDV4d`HX|d@<{M?CL1c8h&mclSu??3vGGew;3Q&T@{YSdiq zmuknB%`VEDAvw-lQswzwh`(@PWfD89sIQ?ir-J^CUYi(XMbQ5;$PPPE*vuNyoKD8zgIB($UD1?iuXjcm7Wf3 zS69ewZE}>zM@!YXDg&5v->aQO>!x=YlSWjk&V?*BQ?qjX%@%v%XY_!ac(S zQ~I@d6LJXP6&NuVvtSW~_zzN9~rE zdDto2thw{v_q?XeFHt)e{1H}VHOe7q^-lz3LS=xFokYW4*37RNz*3L7(^ z(IyUhAH4qK_wQCu^z!tDX z0)lBY0Jw?<0O_Q`a2kS?&os;?*z*_2j(##`<>Wd=Uh$J_y9_&0`e<9zmZvp5EZBeW z!q%Q1y*l87W6Qn)(mfUdK0lqm#%}3nu6^3B6}?H@Z2h~K4Qm&kA6GPbWXY(;SB%q) z8~#vMw(KDeNSVWu`8k>hxd@IB8;5_!blAtV|M{0SgirJW@-ZbW^|8TEtPzPj9Gnv@ zq_R@8+D;UXcAh>vcJ^_3V+7GhtjT!3t%?C`pWu4e0qJUL(~BhkfW<@zF1Mh;C8R-t z3OVfG$#n)0Z;$b5Q76N!Tn&HJ!SJl78{ljpA22A9blFTpZ7Ay_8uJ;D~&QKAqq8O&os z5#*N+s3+*P(%9cYbtN>(KNR_35#T?AkxEmh*tMLix$Gz29I?32!~K1N>w>ArC!e@5 zq4X|2w)L$jpfTjnwy;aQulvf>EB@-e^{`jUqsU{+D-x%V{O!=l*W(T_3TfD#xeg#W z)OkdCo#*A+Q2J*j)=MKzxbghrgZ{0H632SKO}}%dzJ9~ZC>t%ci0`)VS67ShR*ULU z9;7tE<3M+W+G0U>M4x8apF1!WVSF{43N0HLk{4ow+ii3beKT4SjAgb(n4WY( z^k#&Bh*gG005e!T6vc7mA_2#ll=FUn15Az;p64g=S{lW?*{dmlfkN53xGJ2t$c!^f z3vg5|>g#q`XG+i*qCtlg>#y02KoXD5Acoq`yjWKn(trEpr7CVz0a5+YuLq2(%i>hl z!^FII4*wTQsX6tol5Ecc@-`mxDeq$(yd|SzqTn6A+rV;<-}$ies`dQr&J=mD5UuP2i{Mw zsH}$wpj5+HintoPeJ(}c*X%_P>6fUfX=R2)H}2^x8*S&d-PpC^!;d9RcJ491`6fr- z({G5M31~ZRa3E4*2qV8_+&p-cvd>^fzi= zCQ4gJt4bu2N&=QlLu=~77(0c`sN&7+vKU2o)|VY17LIwby2;gd3eqbS49j+V$+Dms?g{XdKqwpuQf+rip!Y^OXn~;6y8AmaOSz`{Rft{VJblN5Mr8upx-J@;ZybRej z&%_1oOLQ1NBj>-*kfW&Wg8R3tiXl(dww0rU&xKN@)^Rchz zVFL6*zAOHSzmZp>Da)FExvIHe$7I_9z0BQe+Gl1TTRY(hQbLG^P_do}a7^(h&w+M& z{522R9+I1l$7hXP5F33@Eh^OD#S%1)A2vr;FlxD+4XmWg zwHDHqE$22)JZUkv#qMVHbnPIG_7kb68Z`|18Q%6}G}SkJ3gNaUi5Ge%K%WS_5vYDF zTnfB|2~<`k87MIj_ZwFec^rT-3!zmvnz*OjXnHGYVo!)6k#4uXYUjDAj>UE(t7lT? z{+O7Op&fp1{@Ash7C)uJp2ktbZI1h*nR%8VGY^T#&WR?HP|gpKY$Q`l2lxoUzf-Q2 zj^{{pCLOKYL|L2mOz%w8!-vixFU(_SZy0xjAR8DKZe`yHkU7Q&Bn)-RLPY?o0!!AI zv-|3=E1D)hY47GLMBhw1Rs=~4Fsc1V=1E5*Gi3jm=C{M$OB1RzLrB;3gZ zEP(8l=_I&!AaHFUhZqBRb;o_?AlF8C%+On1V$qL!XeqbOZ#j2q;_*`X^s3)0<7S^8 z{rKeF-x}u~=(kyj(jgOkNo=<`j(|jdH+zsoZnmrh$UTc*UFYULRc?KRVF*1FgCGLS ztw%X2fkI^L15$Egxopk41%b7zw(nlEGUM5mD7*b>+tN=ce1FEes4{flDP^v6CIFF| zqz6Vyw^*LR^STZC)Q`Pr-TvWVfLrSGf>DwlR+YEGMTt%gO2^6-V&i8W3Po5DR_q`V zAj@9~vy#&ZWFyE9FZja0HkrE*=w12XGZHI?eLslE(O$hUlo2D{Y9udU#BA8mu`32; z#Hhwxlo+R@pkLgh*LBe^2iq@=KyhK1&k|}h&1-LIo{_<`6oXOf5ib}IE4psX^Zeo1 zUSo+wmFJKC<@Po@zAeu_S7f^xeQJio5z|vk@r)s40BzqA&qnAut+j*AeE4=%k>+uf zzKDomWYF&y;+%7)xt;Z$~%imq;PL%w>LJu-G2) zku{#YHPnIKq|QHbdKOaOz&^NLMkwtDf~(L^AQ~6C7A4!@&DAv=Z}pe+JcR+?EQ@5| zefrUPGbv78{*P`^-}UawZ&b0~N2@Q;e=Wgmq9d>g&jAJ2jE~HwaDNYH@1*yiqQ1Wj z+|h)u|Gu>lI*^1t#R~#Qm%&{@?pqBM-*tr?Gd3(}83_oHEP5wZ7@kkP+vU%A+c>f{ zO>xpdU&#UJ=qd*{-9!Ru1G=L?+8|bqP6s0|3Fz;*j!6}*OoxFTFMUg2d1u?Vm*4bj zQ*zkvvtK}F6ngG}B|N}RP{;7Ozw5X#9eP85M>~<5R@ZI;P}MJXDAW0Njcf1W_VZ;) zZQc(0C2l8-RY(}Odf;%-fFX4^`@oOSbLwWj_pjb5UwWEL%h=vMCe3KGfE^9|w@-xT z6tONYQ1*p>lG?yq&{@ivTBDU+X7sYR^kyG5=Y3{YRh-ShUHyVKkM_X`UrN4(G#2dz zL8;0G*SQ%eRrz`*{igTbyy-3_Jv`ob$DUVUh}1wEVF)vz0niX8GKcpqB=`SDO#{7$ zqW9#Ex9v5aw-1*s>IO{pEq;N;DbBQo?fx!% znljvysW}%KQ+ zV_q=A;0t%NgMWNNt(yo#>?xmio*R>~{ew(~%K8$W3tMf{1mP3mp4?Y=1P<)Y4CE<9 z@~(7npkmz%t`?HPJbB2W<2lo5yLtDaS>LrXyZTLEjm5hUZSPB7wU=nSUDyguJ>~YW zHHB#M7zVv1fhOqa6za@PCn^HiG=VgU=?rU?RGFCrYjt~d^6!3aqZ?g(JOSbRw%*+@ z7`KgIC9_8p!!!Uhsyj<T%knaTOPOMi2_;GnN7*4~Wg+ws3Ccn1(KuU} zXirD5Q@*boMSVEBo@l762z`ekRCfE`Da`z%4)rz3J&9*vCL+cXU_`?Y>+e&T_x(uqHR0rg-HOhwyDebE9#N;LX}-B} zI!$i-miGn5c~Q%oUu3)D`%%&Q;@3Fyf+2f6ktAhkUfXV3^C4OWeh3?GRFopk@PYUk zqDD+}z$UX`L$e*7(|*_*i_ zk`n`MVZGAfV9y>ILr{o&FSN54!mVf*2pRpS0!tbiBn52Vzj>W|lr;NRG`nNN`IS%F z^)z;bRwpSW#VuPMb9&E$45c@PuD0y=f5t-)!f?=r>Mv{)Xha^)+8FVdjXGAgr*K3I zw|?dWtr6^f>uKiCQ)#!DCTV~C+IGvR`r+ig2`06Hxz_}Ewh${FbT>qZC3Fgo$?H)^ zn!;HV2kIHtp8d*=mF*5spG>6AYREsLrncqYlF9z=Vs8ch1?|0&WdB+~cH-p()s%5yr37Un>R_1&1 zhM@H(=1{#!h!?GaUbXYK*!$`SNb+pD1+TPxj$vs^wRicWTfV!ea8BI% z?os+NvDT>5CDKh)?5&`6H%nwPm=M-GRUXNc3-r! zhDuqOis#vR1%4SZ9!eT&?~Q9M2`{^cG0^UUO1(E!>ZLYOo3222a0_*!FQs#4d~NmK zywXiw^O92f>Vk}l^@=GNg(918&=#Kv|4~IEf;bo zG`NoCEb0sj4>Gh#pzdhhud<_Zx9`~*FSAWg_F=lVp0|r zN5B8g*Q{KR^sE2WGzN$0%1yjtS2_38t&a5z{z!Ufv+MGD&dsSslN;$H0t}6YwNKND z6TH;#+m9X4>g}cVl2cvZQ~f~pq`~u*Lzs)QpEE659B(wCACQ1j7es`21fW*v>@03i z_SyK2P;z)vS$Y5Ij|1kFp`#oQ7T+UWM%Kq>;yVfeRrzr_{s4^Gg*ITD1u9V=F9eH$Yb5_?#k4^11mm=QQK=&o zeIDY4p_UO)NgTP25e}pwEIE-*`b*Lya2ADlo&S}6(%-iFMBpcrjem`ze_esA31zct zj-^iVvVKu-cOZOxQ(5VRQxS`_>a9%)lH=@D11r-sMam&)t?wd8#vIOq7-z(MupMiG zt%gRkpPA|Rp$jd+cXe56_yk|G=c#^#71__-ABC$IXWdBit~yip^msf8lLRu07((_7`^%SFZ1wW0TF&`Zhqax5VUS=uQ!_$a z0&zR;-K+QEBHr8t7@`O)5u;O@1LgBSa=LV(6F;8!f)1_gS6ggvpO3S&TP`1V2;J0GcD$Thv*~P! zPKweF0zKv$sy(vpvup$qew@-ewrDtveMM2YbO-||CQ z#*uj9F<0?k+Kc`xG*1Tur@cTml=``2YUp*rje1grdH+pm8P1- z*>|4n$*i2L_~VI*E3clJG578LJu>5T0=#8pLrr~+uCKTSAM645Y*1G>#<@UXcOmGTB4w5{0qalkqb%x zx8b+Lg%xpWM>pE91ij(Q-3NQa-`hk(As*koKu2j3SP7UE5c2?(5~NKq(GT>bf8Ndq zxZlEUz=&9DqN+?lU^?9{&>H^XbPwFC6f5?XF5SrSMA_s(kC#pdmc*(dRUs7cgb@@1 zT}8Xv@Rkp>C_hryvF{|{fqs_mwuI`$mwN-mIx)m|Y%KP#arB3t4E_3VQDYjc0sNC| z2vf%!gjhb-ZG@CKL1KLY6bz>hYK@x}QdBL)hAC+#JS1P}S^VPclJEqR%~0pTDEipv z8cSgX*go_N8!BC>Fbe>BBdJdg(`s)lL_y zeTXIoYtYjm=f|o*i_rd~$5OF8LHmNd(jRXfE6IBzvvPgc&B@bcV_!$?i8~l!&T)Dm zs7j!f3E_{o2xo4fra!NA&8>(M-V>RO4c}!eG>o6V`H*&e;2|*%5OHul69Go5czOVE zw!y=r@zp0;cXL9Zp{BE&{DYjs?v6W-l9jpR8GGYxIdhBICcfI0II+>Hsdlh?pOczu zhX!Rvl*)H1o6Z)v-MO$sB0f5LwBY;z&F4m9&5K=bH6*tBt+7bSKImSo?2sO`&9Y|K zQq}p>_0?(nD9a!~!D@&@WGnY2MteSo(n&kqT^f}B_)TzdcjC$f&e4-5+mu}HM$O-I zZ|m0aeq29`E~^gKKpv-hXd4qF=i;{O4f>l}m9p7+5~9eQVc;e8ZoA*kv+RVNGr>!jtbIw0_rvB}enPZUlGT5CBUkqAKAmm%g~a3mr%PT_0*s@~c3C8-gsL3b|J zCE8{BCEdHB%dzTXiGs4I8`@Sh)aU3&HkQJhMzr|^uUf)Gad?B-AlCEB3J*gWyin|H@A(F3^R~@ZuVvqYD?^K>e7NNNmvoA zj8KH`j$K|q6)@KTq_oAGbk^A;!DMvtoujDW_KBh*^~-)1xSj^hw|JdblpT*H{NvgJ z>_KA6SFq8C-Q-Nt_g&4t+@LiUaK)61>KoAFi$x^#EI{?e^kc6_IIa=K9jj9YXB{lT zH6AcBIC89?Zq+kK)KFR@Y0l|zBFj3?C8z_19sC9HaOh(ce?jLCO2B}I8)AgYd?B?p z7LsG4LH%esdsf|U#RoOonKu}7cnoKisIJ-GbQLA@$pj6Prot}zLVOdKu?k>q*p3l+ zClR%JQmiis_6O^Q=2b=qHDwix|dWt38A+effo0NUd_uow)KI5Qk$ zMB2yxslQ=Or%N!^Tm7tuM|`esY08+A@~aL9?-i?GmZxAe9a8|=8#JyIQ!nRQQjiA? z)EzGu#9X`f;kM*w1eFff>lk4rc2POBtEGa4(C{a_d`sKfkcYrn^h*Fs^TNr zd!H`7ar4Qg)Kq42W9avd`)*x0p{l&TH=2082~-4d%>*L!`e;#kO+VSX(y<#jo=-2a z%tF=g~m5wL#+b^G`-O2s&H7J6Ue# z0|k-8*!~YF$%%@;qr?;8Lk4WTYw1!uvn9)~Jn6ps?(HGF!*{l)du$)Q&PKv1pb3TUoa;H^gwRc9%$V+1v+K^(&K3S&70@y^^T9fd_o4vhb}bnLz9X3;y*& z-v5^eBw+iFE$vX)w0Kz)|Q4T8oRe=4xG{CnHq`*mg9UW7lPL6|)cXNN$pFrqtHN;?Vq z^H1z(n)|B<#@&8Z+n`^t$N4_F?n+JzRKXuc@)0LG1*pI$OM(488{&>-dcG#cBxB*G z5Hq1yUk8IB019mGI8su`z3Ra!kJWjyt_E!jPS||%M!jReL-R0Twl9$(@xTGJB5&MiHe-)OH zrzJJh;E050-86&2#vzyLs)aF|DvHn!73(1MNQ*yh)`GJL{>5L@Vs_FhqEw#h(hN!l z#$2+lajDMeRozrkTmbzl<+hO0-b3Sgyukkd7sn!fEJF^0O@cspR=vd}uf0z<-pG0q zmzvImxZAkF`KHoA1?9C+c32n-UK%TEk7g^vV&Dj?UlSTg52b2}JI`d8o4N=?^qcegR+ryD0@zmk->}YPr5T!tx%{>b3W{x zP`)-{+r}|Tg^S#(USvG{q^f`~G=k5l_Mh=|`wL&q#OD3&Q%VnPgEr}@QE z%X>=Wbpl%)qltlnEE9$hqs=<(^Etk7Fr_exfmh8ykE6yMlmVeM3d;OXq$d(_dP@`w z#vhoM104R-rbR~?{}~2*aVVht3K1?7e_HneDPS+*x>Qh91~_#%dNlCeRq;9j;&{@T z&A-lG{Klk5G`aoK`M!bxevn#?n+$uhJx(bHMGb&mi>rAIo}`XFazSJGXpJ$7^MPOv zdMYIpxEp{Pg6fxmT9r^6LL9aO0advqJ^*VYJ)AW`qJ`jmb?RX=^ymQl zbgZU@4HR#1RGB_;JmVJeK?7To2wMh~1;e($*u(AIRTMfcLNXnC>21oW0?x}u|9<`6 zcO}ehP{8r=0sSRoA+9ByWQu#wQ+Pf)XhtD@`E>3LL zrf+xOlkxMM{5MBSmKQ2}%L9~xrTfEr14a+-j53ka3|g1|z`k6|lx-a+I8pZ3<`3R( zerL8;r><1lfGCN3>#>3`Ci>&y^O{ViUGq7Q$K2OZo33A51z_mKgy=K+N*53x8zPSL z-5M<#07HcR*DV-=qZbAnqdpe@2qh%B?1}70_o=cypw3mEUG6|W`Q}k?!kYaRRu-dc zkC`ZiLTG^J@cTiz2`zA8g!?scLqF^#7T^mx#;=RGSAhrG!C660^`$3M9~GW|r7cG}PLyts|J=lCj>=8KVg7me1wHnIrxBg+U0sFVQ* zN2f+9I~WE%q;S|qsFo#4P$??ElzJ8=sKiTNovuGU+|AzR3t7Y- zZj@d%=?6&SPY&3vOTN*S{rC+xscsrGe4+j;Q@0aOpIH*hyHQ25uQH+0^8;}%9~!hH z*$nEA2GWR^%{7xU0yk!dTbkEY{djz1QF6%Z)o&b%rDZfqf4tE{ABm^+N00T#LUpBJ z2eIUFx6Z&kf3>GZvm6R3eo{A!U=HCac)dE@XKK!T?f=xWaqs1fBM!hqWaBCnx;bKSe-yd z83PtCb`1YXarj*nFN^!TnjW23n|Oo7YwS{2LT%sZ_@q^ zk_yA)u6_(fhTi<|AA$-w!#4}Xi*RXCL~6Jvms%}D&vK%cQxFJfspVjhh0m09js|5W z9Hmx}#O#K7`lQ2xwg(UK_cVnM{(FY%^1xI9#R}Iu*bgm7kV^mu9m}qWwh}yuE0*w` z4FLX-!GbCU*e$$t#=h>4J=Qqy)GZA{xcK8c?V-6|u;ehOL(!U0k^5TE$o}{RP+8%J zV-(3_%O_B*kf@c`#7ph7#lNXE^=agWM(_(?vE2oK=crHynpFNvGm9xXgRUn=0}14+ zKF$!H=VpHpJ>V88H=@G~ME*W6~0ZIy<}97^kjx!Hel(CV-f@S&&q76~#0_29W6 z7&qII%ANSZr(d`>fVt{ znm(RNqDd2(1X!tXUJ|IXNS`C|WPqMf4}1;WY{E6K4vpNsyFM)~RDbgkaWf?+c`M_4 z$XG-o6_}}r^^y<2a28&zG54m{ac944`O)><0gc!D?;+bliti!*fDVA()iD0Za2^DA zjq}nU%ToL%JRUq!pv`;mL;?MhGM%uf>?@FteLu9I6Pdsv-oJMPv(m)VdFDa^gLs_j z+Ri=3RYPyW6xqWL-V)mZS(R*I+`@P@qd(ZjJZ<1}#?B`j}de-`{|9?H=5^)7G zaN&H*`G}mH9I^raN5o~wT%=F$-o)MteTYP2-@bhmm6ZD{_3NjkI(P_4SyPRyrKzT& zp{+YXPkZDz9Ssfr8DqvxnmldVG_u~TIWwmiPnbGw3VIW{zJ2>D^-~(&zyI(lBQ!=# z`G@}#-$MrV>9xDpZi3uMq}L!h!XP>E1B8qqatiQm(J%b8;K)bm8a}G8rMhXm!vF}Wd%*TQ-9qZ z*jI7ru;Hp|qekoLj~P47aQcjyvu4koXFlIzf#t&GD^{+uUA< zWIcPZz`ylm-yZDybCn`W1UZ;I!XSi#w2MOZV|(@Fl}hSGdpx%(Pk3Mlt#uoVvYxn) z@;;8|D7t@}*k=E_W)ou0UTb_dBb10%L8!^Iu?VQW* zx+|fC;z(}S_X!aOo)aSlNw$S;EyQ~GfKeoCF>-wcy<_^=4*vkf7BO;|*}TBLobL&j zaaggobiocW5;-?fjFd4&5#a$Qk`Iq<(i0q~D2b7hRq*ZRC-^a`1HFcb7LtQ$^#;!H zEmvih%Zw7~h{<#@^4Ok5YbX~Z^DOLX_WL*~qJ`WvF|t#Pbc~$c(t+ro4eim3PrFBN zwlbaykAIaaRK8_XVb!h|qY4kRk|7FRt52v>M2AcH!2R zk2Q+`lXBG1836{39lTyJKj<96t3!-bL<=G{`-$FBT79FM6}GSD-F$Fr^B*1_TH3`s z#yh-tv>_vM+PcW4${I?MR@J6tw*u-w+I`PzQiobwo?!TMG4c?szHfOLh3(9uG&#%= zBPym^`}h{H2n)qXy$V@$_(ZyYW;AciM#pM$?|0iw^lt^N%Z#x08eF?PY~7=zgVh`M zoqMd&KJF8l zt9T5S(L<_LzMMS`)`aDNuWQ0&b}N2S<`W+&!|nEH$-}}7sigB2OTlc587XyDSdUZI zirAPdOTXlri8A0V`K!8bvS+R>^|`*;Qmp9%%F5D>0+QdLWq< zIj$IiEg{CsQIxfc*)hf`9_!Mqi4V|;R>587T&0M2escM^iN;KNtr$_Ky+2aNMoJ)3S;l_IjgVTHJi&8-u-do1G)X$bm8rNfb;LM1o(d-s6kz^%Io3Hg*t4*|G{IQR?Q1Tn&UOKwW@A0bBav*9yWi4nohbWteMO5&|&4g}}4 z5p2nTCYoV?v}t*jUTC^qwZYT=ZY%ifulekKcA4uHpM6LNsZrJnqs?xAmk}hfv=Feg zu~tHL6~vDMgGI!}E}5nfTcHuih|UPaBA2RdEr$)uoau={unMgO5Lj%qqYBk-$#I1+ zKMLOP4aZCjp|?(?y>G}BBN`0TvjN6pM5G*@o!2pp+3Zm*M#5nSQe0G7E9_U^ZUnZU zYml!WOQOK|jB08T9cUDsxdX#|oOVBw2lxBsi)iT^8s|x?qCO!HwiQcXxL@2}F`~DV z!mA-Soy*jsvL_j*Ig&Ce&#Oyv1O*|E`&y2We@Bp z^Cxn-aooHcjmCukJi+d9d{^GonV2J(w!i^goIbP1NCWW(WflnXSuhA1HS-S`m1A zrkNvtVgy~wUth#WWN^<6XNh}0tHYo$OnGGxneSaMMp9_PL7Lt|M5PrX7%(v17BpPH zM(-FqwmmSDjz$kL+sIrMh#t(%O|`O6tB(-4aZ(PZYYKyeL6`g@8mLY!OgD|wx7+vn zcl_bt`mxU54F4$kQf`=)*WILd_ZU7z!G!XIwAM*t-)A^!{X_`pQvhtb6~84Yp^| z6Zi_$U!X6Uh>z33CB4pttSt`GmdljZ?JMM3QSYLKi}~7nWinA4&<*Ld0kWp=K2rsJ z#FyxgO)>L{W#|T~Y(t$y%eL^!7VS$V3wfu(E#(snTWz0_n+o2+T*dAL7wkV89MP@+ zh|A<;LiB@8wISm~Mju~##XlTu<>==;rtsyQ$@^V@FX}5d(zMoN^G>%gx!gpiU}{7V zY!#ytY2`c`uNd*oGWP>#t5l6fTYa7BUqob)p~c_6YOmfy`uaoOh7J3p%{S-zvt<@*aP-w5HLQHUQ6U6zz; zCM2jZ?AKSaM4{Vwftlr;a>22@A+TpbJZ5g_Yt|VF&>?4#wdtlX16_Amg`9 z?#%cHvFQ17R4dU7O0$(AiLdw=Vv)0q-wnXmf!$hu0K46|hSIuXg7~^!;SX;{rXjDQh*JDihSE3x<-*$C`N8Z z2#!6UE4qJ!#=dm5!~g;jOvGt>{oB7HMu-Z^o2{ma5xyc^cJ_SdGy-U3`GF48xEfO1 z70E3SlmBD`mbgAYCKiuD%^fhKV|gfMG?oSSJ|5YFn$Uj@@<-|T|N4dkNn6u1X4?!} z%?vSeo5h4cO%A;5Q!%pKQ?#7M-|=t#YYkdqy;T}fFO@-7p2oh@+iIHRo1$#yO;Gz4@5KJQpmeCzVS$sXg z;>_X?!mIvyZ|h(0&+&azOUVv%%fgI|n`FfvpEFmKwT#9tx%#mKX(I8qP&-aDn_*)v zbEaic2$aeJ9KUb~p!$-_OrC!5udX+-Zz#Co*Ep$K{bphEUWLwJCXd$$8R8*ky^1?5 z=Tnl*&l3#^ACz+yQz1!QLLDes{lt9f34y&sYO3}MmF2M0nZjP{$khwE^<3{oOJ?>~ zm6X#dJB0^_c}#Kr!%@{Rt~1I1?<$pErR<1w!LcIQ( zXo%Olj{c>JEHbh`TIn))4KFSG#HpJ7Zn@6x%wLzr&Md7D(H=bea-*p_y3e35Jo@xh zG|6}7D-&&+18virl58%S@{DhnT1$%#+p$ViSr=X;*L*;wp4{}p1Pz-{z!#u_6RBQ- zA4Y3A3G_7=pf43Y(c#ccIwQt-R^`*YeQIGb`kZ-3>{q{?x2H8?v4d{l{E?;$j%b%1 zJpD(luIoqG(R=cMc3MMutV-rEukgaT*KZU%q^6c9)rL+A+BWr%qa)@hb7M&h(2@`x zA5c==dC^NwuW3qToG-iOJg4FKE6%O`2b9<=h6F5~;@967!aAjDh%5U#(Y}aWM24nX z6!X1A2$%sx9~CD?%G;T|V%g`1q(udiQAj69XgUFa01D)ErV~G&tjp&q!qe78POuDi~0guTA%n3wqhhU;oRMlw%lzkq<`_k?CC1U<+#a!#^8)`<>g97fdANn z^pz0ys|APUud&Z|9hp1rd}w^I_LfOg_kGeQuv77sMnZ!af$F3&R3`%yXsyc%EHFSc zTIql~oB{4C)&o2i?L>$L!|SRt;@=5*c(@I%Wn!^teFXoEc`O_hjqv@Y>aC=M#<1&+ zBEhbwg6?_=>x6r>jL=d@l?z|-Esgyu5ek_d_x`8g9|FzYH5C8bt;HQ`T6 zsU7tDv|)n27rbW7y`IkUO}o0@q|X+s8%sS>bK-)3*-#PmGIRCW027E~4wM1fiGs=~ z+PMeCb^z@}(cpD7PHH;zGjI&o#dO;KDKfXSS?_kf8)Rt(@7z@4xg zJ~oID&9DHx2@qIt#_ywY!H^h7U~w}5IrR{r$SL?|-9$oDs#&=nh%R!OGw$i1?t_ja}(Da`ER)2GJ!%ZEnHHbzpZ^ITpzyN!g6vO!8pWPHl z13erfYnJ~|-qQ!~MijLPb>{Pzp1l0_>0U=lX`Iy*RgKi?uXbgRy;l)1-@DgM2?`C- zhy;b+0pnleN5Lj?Y<@Ux_wuaF+ds~COjX8QKE>{Oi%FsL z`^OWWH&6SmCFj~j{ZC$ciL+VPZLwfyEQ!_wbK%poW5yJu+g-Gz#l7=Od^KzFIMMRl z5M=PA3av28>=FhU3xwKdnJT!6Msrd^d^Ne$2I1U#+P3odq7RlccH}hPxj6jI><*Th zy&QiD?O6i&0~&vR0635y*xET0ojM=ShfI%a{fErmh$R1|xLItf|_fI3O8L99%n7hqpN_+j6aK>W91f_JBq^e$nlXEphs)u3YUK1Svpj9?&2f7P5e5Yd5JLKr<}YRSC}1nKbg0@;V{$0* zr8bSec&Tjln!3!*#YI<@#&9ijYJcq&cKqIBodi!64u+!Q+|WtK;7L4(O#bd`hA&11 z%toE6i41)0gR45T5r!9U3}?vw%)w1NYJ%@x@r(Sl#O%WgzVVICO0EIBLoHTPqP*rP z%eBdvJqj^P`3=@1h)rQn`SG*Ej9~o`T91P83hoiuzpu3WF1Y z{@;s!;t=2>np?E{eIdwJG0YPTTLL7BSG7ULs#RC1nqEFt)!DP3O)|e+W*lj`aqJcS zC`;X_dx&Q&={g&YzbX{@qD-Xwsa_8*4jVxv1_mg$6RKSVQ4OA=w*c?Wb8i#kGj{}v zv0xRr(vf|Zy=oKbLF$0R6?S!g%k2ucJMLI&vHEjj4W)luGn6|5iN^|H@2rQES;D`9Pl;Q;4&`5! z1OLjW8w$-H9iTh8UP+g44Qesbiv=v9otCt7};sSu!g&v>s|$As>fZ6uEW z{g&lCyKApY)>?VG>m9u@TxW{WuU?Puhc89+nqo=e`iViJfmV>9UrwY|q`HVkN8lF{ zf|lt=k)TYkk_@rvRjLasH%6(+F*L!~y|V7N2&KA7Swk;wZ?+t@|H`GaD|I7n5xIAn z*_|^Q(1ZKe*5PAt*fs*8wsT+!U`q;xG>##c9Hf1UbuUvZ@8hDp23$Om?T zTg80RG`YNj^+X`WVI~Flb^d!1=VuN9?0}fe?6R?{{HsibrnZa+%jO!d-F(ARBXs4_ z{R{hOH}{!yDYpNUuXzVPyZO^UOY=|hSs}{|R-W|7JIBWM%EWE&el)5!mNyb${EZ_E z1)-C)4_l!iWF<_XQds%qn-c}kDO`wck}na;Q74Bcnm_dgad9k($p(rcZt3I`%_Jpv zyh{YuDPI%{QI6DG6X|udXbYXcM~svfH?{(w$_q+dnkd|Ag;wBc9b?xbTt)EE`h>=g zZr|XBd{F=-fSCZ-2F$`H+${Ji2rd|AFzVi8igEcwdcju$pRM%BU9IitAaFMWc70Lw zmcmU&0M(VM5}-e;$e_iYV;vCFBw`tLpNA)60AzK8g$PrO|o|T1&RN5$bV!Uq_e(J#8L99eZla3Hb zIv^Z8mCd0C0hOYHI`EAh&vAaR*R7|~;S1_Vu9`n+vi!ii@>*^0Y;hzBgcpbcSdhRh z6+i+r*B(4ckSddRrIsB#AV@TX39%UqVzV3<(b$M?t|8qKs2a2EVY__z;KmZ;)Xg^^ z>xQk75dWJk=hW?n+exFKEMQL zl*u7Wa+Z+_?D^-evp3`9iS!xuWS%*tYA%;~%kLuJKsfBh>zao0nre?3)29}?wlQc7 zX=EF~dp!T$LZIi525Ss7f(|PetaNL&CZ_rlI1@6i@ji8wuXxpFz#g{v=qsbE7o+BS zCn*Iy2&;(kd+s-kI>{e6Al7XpzJeu?hJR&TWFv{>DxvVh$)=Pw>DSX@UVftJY|3BY z;Qovg6s!>zXi>fXp*KKxMBt`z14lhsh7?BQ2)w7R{Ccx&ytmSw)hNlmfvoWFQLpkbxLB z%Rm;jc!s`{%yLc)?2I`Ks`FHNg%4L{&gS&bU>h4P~#T9Lm(#Iy*Dt{OV7sXL8Tf+LxD|Yq7lTxbn^Cei~x~rg$L( zic26lL~B{!DD;s1NCVZaiipeuIWJ%Ga?e|}w+XEoCNFb(`!#4@GZ=j0p6Uow)q5Iz z#k=2$*)qP@S;85?Y-#z#XJ~N@gJQ$J-Hvn52tK4pm2uA~)gKLO%4DaBgK}C-H2}}S zX=>2)0W+cbHl~BJS$Pu3N%{k81QtMveV7{N z*-=wl`Z@mKFN_*pFH=iGALLVRORSO)Y>Ot+Au}MXfKyHpBhMfl+ezoI&469;pV?za zoOSkz2r)cpxMOs6{g?cm%{3*Al-*IrleC)_ytf4(i{ZGU50Br2ft-e;cjxD4j`2d_ z<-%$GscR(g^25#E#Mc{9cv&a0#x#5EgG~eHdyNb*&J0DN|G%V61HPWryNZ(qL&RSCP*Cx$PtKcaalRzY>lu>j&)2svb)sYesa?x~@r zmsea2b*B&IO>Y(>>(cq_i+qCaqZ4bUu}MjraFzTbV`PA06RFf$wAqEf7a}CX#>pK1yUWRInfnRh)t&i6h>!h{#>q0AHgf z#(sCziLG-c)<-X!x6zS5@5bi7@?l1UiY;o^Lm?bo3Z@KaDg!42916pYtHkmBGqq)u zf1O-ci2HGC0>=iKZV+1cr_NcLfx~=%hzr5Is9DsJ_hjVglT!V z`oDN^VkStwe5@5DtAmMF-*iJd$(7_$J}5CC%5S=}CFQqvAlzfBkWdc2a$!6WI(=oKyY#xvy!$F*A>+VhFo%4n4m%f64mS|bpk zZ~;#`E$3a|rp9b~AF3DQ{wW&QKV@T$@KoK4$n~e+uP%Fk^yE^TlHH_rZ47PPGw+dW z6XK#;#_uv7&dG_YoW8lrW#GqCy&2bp7Z(?OuDX#PRDb>ANu}^XtlhC2qkf&zN5^=O zsTS27g|RU*1Yk8`6$o<8s6V#HUnezs1juZ$1=6lR|5OJhxhWfmqM;RC6x#eQZi^+Q zpfRpAASzwXBwfU(DQKF8C9!V!o{XU}Wjd55T|jWyiIn=fv+-*JSO{oZf&XrR@IAnN zIYx>^XNw&%lYh`q&vus4|0N}Jbf`!H=+hXm^ZNS|ni6kTuGd*{r^qlWhWkYQ(9l_D z6;<;m6DFfPVd^Xv-pNWNEWxgzdX!JjbvdDt|^YuH&t8gX62a`GATF`^?Dq6IbcqZNX-c7S^XifY7VeQz&b z51-qwsyuUb*4Tw%0cN?b_60E9sArAwIxWhwrFM+DM7T$(j8BLC-1IF;B!H?zE=0k> z;ShQg_E7j7fY&t{WXQqskDLxv3)F!UerzafX~0DRQ;0nQX%wvz*3(KhuKWZQ31b@0 zP||g(^g_l7bgDBJ&AlG!J${F8LWEJT+C2+ub&=Ug4OC|qzC=txzYidW7zX-E39cZG zP=R3~jETG~4tX_?COj-Ww!>jY87%Xu4X$Ypj=<^KENZWdDgK0EfkEjDKQ8e&D}W(E zxFnuaBP5$Mpf=7NLgSR;M;EmAv7`<7TP5@#Qe~3FaakR7ucIyb@a>bAKewE}e)#3) z=AtKQi*D+-$0IdX@~w6DWP2?5fdKB?!=+^K(qE2eJO9;o_eFkl*KDm%)VXtb)2Wf? zj|L&G!)HEfQ~7kf6B{H;M4`3?F=|jTS?_p1b^c}7OU?$s3Y#%_oZCF*sjhSiAx@ z-*z$LY_}Tdd^%70x;yWde{eK9$-Fb$A;af@489k{yIH+{(Y+Xz}#*dD%D@xg% zI)AgGO_`4Km>1TbZHdjYVCSwMDrr~|K$1RMML+DX%kd1E&}zgVKi0@D;q<#c=LSqq zy^}Qs0I+boxz)D|Xj*00Gi-(6xZ5abd#=fdi(@F<;)z3XQ;7A_v5k zz!}9ZcIS_vu9pTNzq)@MA`XPE&uYUONWw#v4O1b{-*5MV-~ZgIcP`xExBP(<>b)IR zb6k&^k}V4C!yly`g~i{lZ*=+WFuW0srXUQC^&Jf1NJbp3ELU_eGLy+TXgs9Kg*P{y>c9Yn9er~P z#q~q`-jw-|zg%}c{Q6^Q2KZHH(Rs4qGL3r$`6818?Z4Ajpi*&lY4sa<^6BC!S(bihtW0fwiJxZuOLL`r4uK3XM}=TmJd zD&W)3c(6=dj@CHn|CXYD8nqkNMsP2fJ^f3Ebka3VuH{>q1PgYcZ4fZxQ8Klw?t&Ii zp|Am-tH+8KW!nf|Sv6fS;@!l|d|IUj-|@9Cvs{?=^lhpkEv@Dc2anm@Yb4%QM#phl z^LfYyp%5ku9^})qm(Ysh#YogdQL#OhL(Zi(T?bL`Rhpw;(BoTnE(UomZXq6T&s-G> z95gQxA|#tOrfSvJOw68mh}o1#OQuxW2;)F1VIZ>iO*jp^|Mk}|08oemKB<)G0Twa~ zU){idQ*aTdMQTLR7%NDtHwcf3MpL)7_!l!BKXbR=cQD!MMz747Rq;b311rr4$|*;c z4^0QS%&*Fa8j(c#@N#UI^1(~^t;2vsDNi+(9u!pKYwkr9Ok)WbQree6c@Bu#-^Wby z*N*J9bZ$9_8|)r8`@h|)k{6Zc@tm!`bJx_c>Y1>x?{`td(RUn0RML1OklMUp&qO{H z{|cIIW3A-?7X?bFHKgo(1q%R1H#08E%-t=y>Q?l2IN%24Ca_Y!mhAR|rWaoq`EzUz z{dOw2PAYdh@Tmzj5s)%l=@t;3JHIqj0|y81W#l zQCkMW>nhvmt&JQe15IICU{ac zGodT5z*K$Fb{Si!?WbrB00uhSGV|rukss0(w%HpsB_u|l&)cfRu|J<}Sa{>Ib@(0i zmEpUqQxZInTN6R}izAK8C>U%DTmPBsR{ok@aq*C`=A|;Pc$!0Y%`ExdG)X zp`rCpx~k=+yT1DwwcHgcYlikK^ZKl_22oNennaWjtLQj&7a|!vB4AH+K!(M2sI${1MPE>Bc&20w72bl9AE;%T0v#z39xpq@RHCJ0!vY zT>Q=JoS&IY^0g=sNz^N4)VUJ%$~vdJP#;oX!@T2Do$T$`DI9z0WstQtI=t=Vt&9nK z7dVE#O;k-h6SXjS<-O8tZqb?<&JcVAW7SIW*nS#*6jL&2%5mZ$NP5v(hfHq9I%dYp zbIGtG&JBLF?(?Di4a4t!%FfuE(fI|eRu#n++;VPMR=LS(T*CW1M;(x)70Vtd9RYQM z!4sJgaLz{={+NO`EOgn`C6TX7=}lPAz@uNse@z>l#)WEC(A~p;c)D;)LAt@Yt)BhW ztu}A&pMF?%)S{6Jx|;}L5oT*U%e*~tU@Gst3_w#=ouRg4`J%MKje!QikWw5i{!L-k zqtdX+A(}$xpl&+FKzxmn;-Ip1X%!B1G(mhfRx?7>a^}H;KVhQW-Qm41 zDl|{&Q)j9%2c*q-jx~zp4wT}qLuPC4t&lu*!t84_wd6FC~P!Do_yO^805L4e8zG|NGo!IXD3 zgOMVEqfKz6{WmMX7b-iy%@SUQ0H_f}s>!~LB-+#5(={&TqKp1-ybrNd^Hj4E@nVU5 zVyq1c-Toz0d5;`h*%rL!Uz45@9|aWm{7d>Yv}FOGh=G@`!i_N^5BG?wyx&CfMFRE2 zPHy=ty78ooul3Z=#BYcnHEGI%I#cpEh^4!N5`60`=U9fGq~%Aitug&2Ek7oFVp*Xr zKaQPAOuDr3$nP_?TN7}ccKBj=>RASUtXN09%CbyG@(x$=8&!DAtwi|+69vqh>%9ve zGB-J^`$kT=o*h5H^kd9%2-<9+4@o4dGekS{KoOJk1g*D#^ZqV}K)i)2NmZ17&L)G3 z9Ims*i5|P_{<7K1Q1{7T(^(nhMLw*zsT;iP6?xn4X1C`Fc(*ARF6c*7~=;(Jhuk&CJc`G8Z$ftUeUE0#xL7PP5P)19QBTr=PT9tO-`|{1EShj@WklbSH=Rpd zr}=Zj9^QzPGYHAA43(zLgar<9-f*zCpUw5_&O~~q6wR0JR#*Gu=A>xd8j~?TQUM@W zsyqo>09uA=50daFLm>Jq8A}nWkM|PpC8F%oQ6wwa+*i;#rmy7y`;aZ2&!hGyO$7*; zgDw^lzQ9SHgi<##ggfUCiiiOg;y`<^VoI3UrH3xRu2+wiA^KG4>*ul1T1haHwzoQS z@4>b#Kr^IdmMF2*0OytV;2A2Y_ysj5ROtv*+;0U;ZIloMg`Tm_bl!y1(Ag7Z0ZP&Q zGs{udDgGkHWr1E*UjL8&{qtKJEFP$>Jkyp)mmfBiH7qGtcgnbJ*TS!vt&$&T_I}X% zhrVXe?MEMNvUELxB|5xKqIev_BtmJ76$ebi9C9aNjf|4ozyk&ir}3@;*$w$@GO_$M zaPN{&Kkau1xOdQHRX$Kc%HNokCGW42T>wZxtK&V&VD{`8`&<&*mbffQI+Hw06Exuq zerH4te57QSV^&+jda(z{60o!51RKyXwE{qVwN{E?IK+_;p=p^l@s59f$LELy2o`1t zk6kG#Z>MZ+F?qZzvOX^=tU*sTtB&oQ&Hi2t9=E#0ew*jfPT9n0kGb+&EVlPrs=Rxb z9Ob}voYsY9hOsgrb;=HGk4FDL@ghdNXlPw3CD z>sy)o_B<*$mwa-w^}FpCAEZv3`k+QP zd=W3|=)NrZp^vn=2~T)Ixiskd2o;Qtb_}6fkwki^=MQ*990LNttT2jTB^kGvRsujI z_r{mXyjdg~<2>WUuwCm*AHUyzs;~UPlE6v3vV#Kq2n<5LI>w$j$0s6S|DL#6VTZDR z(=yMv&qUe3=b`N`uz&Sbb?C14m(fO`KNLzqr&h!_sVV5bziy$)7$+8RSTE zGAbz0=gVA_$prt2)q(+63jrbrL|qs=za(=Z(A8r}nH4eWSG^L)*MvKbGUYs0?`^vb z2rhwr8qGK2TBRavbZ`x-NNDUb7uqo%*vV{lwk^ZcjV^)Av9r33p$L8b9Ra&RQmIgf z#x!Mnb$u+uPTwKDsb|mc93&^HHg``#@=ArfKh%sO8_g>mI~c^N&k$;ebAT_ zcLV^^0rU^BSFE($cOR9CJp~}s^jmb;d3*r~UcT80s(Yg0^$w`d0KflT4S-Vn|F2)x zEFGRVw$U#*tu;CHL5ytrxN5qVhjHEwyK{D&KOCJ@bF8S#p;G!40FkT3u`iDpH14hI zH)rXKMV*3+9G+v?g2RD*p2Q63Lu|T6>t^h*oj+LsH{*HKx>`z22?-Buhl*4S;$rkj z8b?d!T?-pvCO^T9m?2Sx{$&H|R7KuylA6~QRP{m|3^LZi^5HWZYgU>Q5JVlQ*ym8M z4KcJ~9i2BBV(3ut>^S)vi-Ol9tp39KathT}d~tjG*79(R)rg~Ih};QdR9RuFg8HTo znV#WLdc$?T#(M7KNV3{LcIvfbH#^3?8zte9PK5=B_T| zj^qsq313ihRfllIOe2uw^QM~zWHS!p^b3;B3o{G@&?VF>)S#Zy+iU9m6p8pGH+aw1 zi_wd3d+SEtAMNNcIMUJ}(z4N%to47UGroN#e=ZxW8$yqA?$RiSjkSIkpYcbfnlrUl zO}(X5t;e{`AjS5Q^)c%T-FGaSf5#cZ*R-TF#~du3r_Ou0dqCf11EvtQ?gyB(oXtct zEsQC}V+9sa{lPmV`?#i*^{2A>6>6*Wd&vgP`R}{G$4yJgHTVQzIb)pv^f^wL0#s38=pI;6w_zYPG*oj5DJb z&!?(t&FIeKNal}wkuyp+(pxvC)w;LjQ>3b_X!-FkUs5eoyL=4#j#eIJmJX~K9FOk1 zU#gbH4PZS2@{8$;)ctqCms9_=;b&L<6@ACjHU7MRtSkZN2!^mhr9v$fk5R`a(jca{ zGKQFb!&Qb*xd>a(?Lo)=EWC68N8RqeceM<6+Z%c=LLmaz?f&1~QTzY&x4Lbt$D!r= z(8F#S^?UC5EIGAEJ9racm#}+U=iTaRYhyZGqyegeO3m4e`VYvf zKXGH>mQ5}8i|-;sqIFws+E+d7tZkw7t=^P_g7NWQX-mVi*WHBk40a!iGG;{#kV9(v z%o#3ne~Q<9{M6$Cj3wZ-)OUySC`KyK;}Z)y^#M4=Z8GS*aGifUv$OW>s_2IkRlVG* zOcGE)`gQ$=X5TxRPy02zRh(RNnU_W07Um&*|L+P82jLa^$A1ZvAp{`E#$Pss;CE{X&{gIpdun z8$zSZ-5(v&VEnh$BJPd&*s;5#HEfxvB+6>(U9?f#Q@cy2I(z5e3s&uW^oZ5MO7{2g z9gX+#()w<@2uYH-j;YyHU`$@)*)AxaVAy}NW5$i(D)Vrsz~DVfrq4E2>lNh_U+h5v zXgoJuLOG#8@6lSJ7y-odFz`*3|DRr%?mLe+rjpr*H)I)W+(h>^6B2wA4jCsMH#$FW zRlW^(infDP>Fffp7JTF8yVrBkc93RhANVa(T#tQnw!#te157sH z+#PJCxTg6&76;O2IaZPftab7jY&9w&QHXN(-ERJI1cZyp$aYC)V?TrASoH$!CcE~d z&-x2!H`!6yhDAG{4Npt#&9Vv8Zm3(Q2UIAaHK@mlk@7=KUIThki!bc6nD+Me^d=h0 zng`g_o^&KYs|c z3%;`@)qRW7N?XFVOF08Q+F}PpqN`C_(=BP4B6VUC)S#esDE2772$p39L+z8j{HrZr zIqV*t9QHMKUpeftq}yy%Q-7U1}H} zz4PU?p{qD$IWGsUzM^lv6j8m`3gwcl<0u^y*t8g)*niHcT=*TBZ9vC8;hyg?e~WD0 zkt=%)P)`aB-K8l1AVCxjkGft&X}T)Cj*TtFf1`6^ncUsT)}`}}uAial415s2ec_*; zrKLrwb_u67g?MH1A?@4m284f5`qH?K6Fu0)qQ(=hhfC^8uTv^7Fh4;!^(0!1Z0pq1 zV$SeE`^RHA|5D6r+q_n5v~9c8ui#EnS3^94GKw+3!(86Y9c-yh)zw77IMTp3TPY>f z4b3~$YM=9|r~jBe;mvkxW9_U4s=h6bm;j7K6o$bA(2_c~bZZCT*!}~jJtDB?rBn(T zaL^Z~4L<6MWdGit)^vdOa11~WwPmyc&|d5oXIH@=x-ZeIlzU|TW zAyQS>S~g(J(nNds7>MyMTZoadRN<9O8kBhhu)m9tx*Xap=@YK=BB~j@)mkG`ikUYv zv)-4EPl>8+znh)5^F^^pG&#ID7p=&$$x4|}?7e?iR0QQ@3vNi6fYI*Ve0zJjDBICU zm}(2BTahvBbqgup`brQc$hE<_24Q5BYnW&#@!-yB^ak>E@9Br#KD28|#^kPKOkCmATWON`B|ftnXAc#5Mq9W0Ip;dazc@ z8YA??#kxfK~@&ly^U;%@rCPbrU%J zI~M=hP=K63vql8&!wiTlnZUl}l%l=Uav?bQ0Y@65A?Rs;oC1d=tpaY%{A9PbhGEe9 z#n`f1bAIhZHTTa^D&aQ`whiUHSv2xd(zC^(8sj$gmJ2r3b-a5;l7vh`1*#$7tpS&> zUV)PQe#j8+X%~FBmt{2-`1kU!Hok1LYykD3`<+$E9-9@{L=$&keqqgRP2BmdhBF6u zMxh_2yB<4dLvuM+hd>@%`7~pgwL)LqvRcTUdT%H zNO7!l{fO46jb+p|eliEx1t{X>Nj>W7AcIA8-{$sfUDRX)+T9}#xHMeF2yhQi?J2-_ z$DR26?Gbyn0`Z+tBppViLmxIYsQLQ&=(`DYcl=)9{@)#PsjnsZYWO3!l;JRL=|g6} z_E-Cjt}_Rjlj?OI&+pD zt}0huQ_l9JJ10k2Em$MC7%@Qi$k7m_bz?j0G(?bHnF$IxDzo1W2FOu#*PFX&&9pBE zs8777d|2>kxT%#nC2B7dN9+ERLlE3V)1m*pzmC^0{QEJ=MU-2HX<}qz{j1EyM_pcz zd{k~6dS%kV+{oDu3BFl)DyR(WT}DNb$ppin$>f=#jhF5+)AQ4z@zSZS^oCu~cI+6gi0dAUDh_eLFY-hAMO}0^DDROUviad;MxawwxybW= z%PQY2dRHjQq)#axH@wwH2R^YJlqA2QGN6;43IR2y)pTOBj z#FCQOpq2O$a~hEm4BD3XPvu-Zurs}1l{)ZO*o9UTPVPRMt0`FgB4;!(Sagq-W*SR! zXJ{2IMRLRS&#!G`;|^zr2H3dX`9QcYpd*4svFvvWnJLAF8Pjt-ir%}2fBHD`*US}j zwI>r*iF5~3ty*)pAM>%TiASXR>7%e$IE}LwD%h~H00|k=c*8Hgf%2OA(S9ko^PTWA za!XE%NwYc+JQ>;f#l>$|^H4T~^wAH_#U^q*XZwP5cR$xFPN$;6`d?V^+o zSwR=&2MP8-+;yz7)-GbhKirK0u-dN8RrBb1#Q)a0jQ!V|c~Id7uvaDszM) z8N}8<`!rYSXGDL7;gkkdvAvbLJ!`z{4p_BGh6vxkpzFGS$w*4#ggF7Q+qV5r z|0LTG0A`_whc7AH-jj4TM;n~ydo_v{lHm|e19#~Du=Z{Tz5t$YO}wXUTMlX!tRNiF ztbZN54JYnFHLd8pBY<=JG4bb4OY)(=pSAqB{hz)}(?#@TdP$>qnKThHC){Z%$$0>k zq8;cVWWm1yd?a0SafqFCKT%&gxM)H5JLD9i)jqrOiKIek6P*F{2ReAPo z5Y<#xM;i43QOzUm1CO-7fZe@8Clum0+|a`>(HIxX{;gx3XuJsk&q^eCn9m1PV0WJp z$te&@=vM~nLMU-bLOz}eO|wUV^IrYs-H@ht7rjT-0H37wYTD(=nOp1QC46EXJw%QN zd!KEOKIKQvw7=I%t(HOC?JaM2v@J1t*`eT9r&(k$HaJUFZl7wFG5-`0w{Xt{BLJ~I zXu1?nkwyLDK-0DDVFa8LaKYZfdn23^@bZ&!{i%NX)$Wh9D+3-q()FKa(|K5}h4H|* zc28YgmEFw7Do4&zo|1Yru#fRTi)|p;`{8FmF-`UwiA1K$N9JZW(SzHJ9#5PopqyVX zA!2XV2rogDl2m6Rr2ALVEUrSjCpiEV_&(j!AVm8+*EnrGH8kR^H}m!Em4`#lL`oHc*s{=5xE852EEqS%$Rr!j-hKaGZ?~>mBa^uqWK}UuU`eR7mT^Li@ afkwrFIOFM&h5aX9^ru!|1Qtybzy2R_oqh%Y literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923479.jpg b/SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923479.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c77e6fef35f9c31a1f3f4baeef5e71c27b950438 GIT binary patch literal 37777 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923528.jpg b/SGGL/FineUIPro.Web/FileUpload/QRCodeFile/20212920112923528.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2d08f27328d16feb8d02658c51be35b3145967a5 GIT binary patch literal 39045 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 YQ4$G1BY$y4`m(Zv{&-^L2!gl&ALN%zU;qFB literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/FileUpload/SuperviseCheckReport/202104200228347273~微信图片_20210416093321.jpg b/SGGL/FineUIPro.Web/FileUpload/SuperviseCheckReport/202104200228347273~微信图片_20210416093321.jpg deleted file mode 100644 index 347674a039ea34e6186c19de55ccdf1a7a3373f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177889 zcmbTcWl&sA)HOP|1PK;~K=2>~!QCZjaJLYGLvX_2nh@Mw2Or!uIKee&fWd-I@Su}{ z0Y0AhyHa(3-Fy4g`E_=6^{U;c_v*FR zPv5}M$k@cn+Q!z--oerHvlrOg$Jg)6*YIxuvT&n;A478`@VUPf%0oPkl4Du}~6a7m? zR`f*V3Q{h6TT*tW^Yrx4eM%g-lU+Mtm&k6TKkOkkZ$8;sdslI@bNa3Co;@nwrY*8< zg1~8g8r#uE`N05qBM4}0)$9g(9->loD$4Qk7KRPt0XI$i{v1C0mAt_vqhj3XJ^NYALb)mHWSWU{1G#VxR;6pMq#? zHuT;!PdLBCXgxd}12PR=?L84*_~}bHR}@=&^B$JvOHaFi#sY9|f0pf-z{YpVNnFEm zz2)I&o8my9MZ8||jHH>)-U7C(B^@p@vy{XX&7N?2eyAx@@#{6VFu*@sNsCAkkHWIv zhWSGVzNEYI4kvGh&8a$Cq6ICqp~QPy`H$2!mQhfU=IPz%vM&#F9Cf(H~?R7N&s8a%5yQa(dbz*C9m!~G2HNH7?m`E8|fW5`- zK@K*F%a^hRVtZxouCA!v>B_0;2he;IbhGqkIa^W6 zk?(sOZR*5u2EL&*2R7>~rBcz_)*@8p+UHk)0Kq9P>r*2bt67Z(He1(IihFsNopi_W ztBN-Dh9DcWT!L)Chm1Gfz1V`(uA9S@2M0P%?@VSU>qE=7xEp*yTP*MhNKJ5G4Ix2b^aBwk z4t*GCO(z;Uyz|l~6brO60)4gIc$Qrp7zw%CC1Ve7djGyOjobm>MH^BfLj-~9<-8Z= zCo;tJUI*%2eirlI&&8r~XfD_Z%;qau-t?9~JBW8c-`S^zu@<|r0eto8T=s0OV)blb z`!Eth7!!ri3?yiDv0Kkm6`cRU8!q#Fz-HjSNPVg^JfVR0s%S-frN@CPKFBjSko{0` zGlkl7H5dCS(YzP;C%qaVfoMTn=bBDQl__4=HyfV#qc0T>3obxbqe#zafRBV1ovN*m zC@jH`oNQiTE86cul2;i!;$WV3;jio=`Mm?CJu!f|ltJRw|0hNW^SK5H0I!29m+UZM zXYpmpP}w{JJTfC*X!(9ry9{A zmsGQ77+wL+m!$q7!NwK1R144|0+Z}Oa|_J06!Lr+_)yMD?z9h>1H0kGwXe7u6Wy;!C71#`ab&`M4 zxEoOFex&YFu-AT7CUDWfzyPM*AqV^$5%43k92DootbkIBV#9`2yakwX z%rleE1KFu~R>lxR5|4oHtI|ImB8UQP!u9&Viq5i)O#zZx@f65#Zi)3ZO!ZueYctI> z7qw0Z01e(Dd_!tQ&=WGeH=Gw)$0_%&4i2>cJ8*;x|EM#mw3WLKlwg7}fA;r&4f>2m znQQ7Y^jh;y66CzBu=xl$EK_{_z(U)H?=3B4>c(2QtA&p0-7q+VsD2VL-<_Y;MgtB! z0vbVh^ikF-#(ASOI1)j6Xkrc4qX#u+&o)-3frJ(-SJRk5q#PHY`^<=6UO z0njGVnxK5kf3fE4iKYMN0;^P_Nq*VblYWs$0Qjqj>v!pwa=X?%Gk49{Kh#ut_)PD2 zbhs3;(YK2XSj$%)t|cg#I)(tsZbme<4%88MGYKxKkvx3p_k`jEhNnN#!&VN39sxTG zctM_*0nJ$K3&aB%39{EP8Dhc?_x5Nr8ZVq9?Hx#Wv>P*R!M&qQGZpUE=`GD19<@X) zF`{C_WY`d>s|t?I=tBs0q=y?OP3BmxPMwX=nX~}K0V0GOabH0FhTe583T_vS`)sJ; z8P8CesOZ~l%{TlA%>^9}W!-%>;X(=Bhk#(*CqyCbBv+^=E#%R|%*KfJl**oqdQG~) zQMO$gxg@$`&lZ{tE(@y!$uyvUN||rR!BQ$$Pu&|QYp*J7ePHpc+fko%WC1pA>m#7K z_ayfxqj``%oosaM^w2V=W`|}_#716M;tIz+@Rb5OW`N5B*QP4?_*PHo@A1s!ooB8s zWZ>Q&Z9mcd5%8;wn77TQHGZWqRY-qkT&V`Y(QdvKBwB_{BJS*H`om62p%Fr&Ax>5W zf`Eq@zxl>`M#6rQseLtLO2hD@9J+L!n>46_eqncf@8|B_^9 zj+pNE*uA4AKXZfyR*++v=IuG+v=|QGq_`GHI{KD6 zM~k?4c&h8p*SgD~m*d3}78eL?53>HfT+J-bml>&mlEw304H*$wa|T)BNu@dgJdB8z zOAdWSPKF53Lx2q<5_*6v=Pp{wgYwzIZhQPx-BpBMxpq9TOx#ifGU-rrKQD3oYE3-Ujg+TP3QTrmH* z9!C5M98U-kKMVHXJkah`LFl_lR?J+K{jE7=&j~t0JpyF>wJ;NH+CGBAAN~!Af4W|4 zztUZ*YF0bz1h3JV7p1Zp+OC~6drJnT5_nR{3=~}iC(NZ3@l$+oVJ}mkmhOgm%gP`N zq(R8oWpO{t(2xYUG5%%lg6xFqR-NdS(c9PLS$yuwmT`2R9{)-(KHQsQ2W1vMe}P$d zAnT@xMrT40T{S^m%MQ2`H0JufGonTbq-Odpj`F$yCn48O=-%NU43V&> zvbRM*s@bhf9^WoNZeVW5jIOxx2rx+vQyBGN9LJ2^r?)r2{h?a1&Ez_8HYE&4c z!XpaG|59kok>^jzppO!Si?EV+yotRkUr7_4nM(Lwq5VS|xyy(-Tp$QgyUm_%LC)GmZu11EKqH?`q|Bb$b z2|-ir_f z-K~b>CC#rj2!?OujNB<9b;?I~q5*2#Vb8oo$xm{-k(?)Y2YTFh7?7o8Mu`Gh@m|%OCyM!P zi+;5k|5u6PdxIFrN||b7-kZ7>-C8FOY671h=(ZTrWrf!sc|! zaaHI6JUuv5F5Z{0(Bc{1$s3H;@k}fU5`ZTZoXN)W^y|t*j!Mo*R*dD+T%Tzgf&V^j z94oHjwGxO4z=wRRxQ1=dPX}ooFZL4ycR!x^+*A2{e3NUdxZ{;W(mP7pu? zD!dB0)dGj=_y%~Y!%k#K$S&@eP*^;^KTbiHD>H)j3|CMz8S+-M^ahPbP7H3+kkmV3^AH(VkzV&cg{h~{&qhHLbIbQ{6+o4@E7{yn5XPc;6LJqJhH zo4n{bCBi+N84h=}q*>vVvMH0$*aYiP_EPW-y7y6cv;WqV`**8_#oWAlY~s6lpX^gb zQi(Zy?Ej+Ts|7}<_qIbP6Ek6D;H3_RWQd87`&@qTvi^t~y!&kxcr&obJopQ1w1osZ z+b9&EG9+n*ok)(F=Qxq&9`^<12HBQq-HDB_UD4w=gqxv$oR`O-?sP<{7s|IoXhJXe z3IZL5l!AZiluHCa&jndFOL-VU?iaE5j&Gpele|||=4KIv=$UWEqZdgH$l7B4bi$tvYe?ddlN#nr3o8B&cPT7i`Kr|^L!0(7)fqD^sF@_R9X&9l zfXg5_mictaCp?ZG5c^3I0=gsD0$ zCQdkoT#Ue$Qg)D(i`HK=N~R#Aai2mbo3z;hmb}i%oxkW-nORC4hn^;khrGlfd6#a0 zY4_?}#zPb1vQ+naqy^myVOLHU2THr53m0%Z&cm!O|O7m*1N4h*`&dHVt3#4AY zO>lG)(yBv1T)m}t^$XE4LMYE`VzEog0jmI$gsGf;q@~TwM2Lq{Z@1BEaXqTM0RInH z!baZ>dI`Gb8F3j%CvX%|YUT&u2w}|T`7=KB?RS`dz2oa|8_ZgjlQ=ROj6M;VAOR3 zM)~s!v>Obm6Lzvcy_d@>XqPwWQgyhP;C zrx+stPlp$uPx=dfpsEN zd@{RmR)}Mq&*<<|{aVpK(vBPYZtXY6<~F`#k2?6uyK7m(iQ}2zmjJp4+9t`n;Z5+n z+>{dL3%z&*_~kMI&c~o9J4s*kI7rg^sQPZ8PG^b5N9r652cg#`Jm@Q&$AM_uB~~n} zTd2uSe`u+YaQs^&hH|BQXN@{Vv-|1l7f+hp-1#==gJvCczS59B{6K!y=kYZv@LJRT z+wFo+%kd|Ld8rrAtshcPvEqu$HV1WyClEQ18evMZkqfq1|J;`r%@&5!nW(N@qMijb zcAsd^M?fIB`~k79vvz$AZDy2@gW5|}>5Zei6+in^l=%EXe%VvqCNZEK$Ze9foN}Qs z--)j^=w)+@4}k88i`y!G$SGijmKsG9M(lgG&Bigc&UYsBALx9HngYnPGekZMzm_Cq za{D6EPrfpy2>6y{^njkkGj-UL_8LtyLxh@lE{8__G6mrmo%H2QM;6xy%16XMEUtt8 zrdpX=mQHQHLbXPfDdO>R*>0GhAe=EZ7vWC`EH2njzQM*AMOyH+X z2V+Fb?Sq`aPGK@PWfFX(Yu0{CVOylnv0japzm5$jpdr@u!-I3sg8(>$Crc%LlKc?A zPlc{o8Z_WjM}e8wF=VKNR1Iv=zM1+GCaI1>qP?5jg&eo69oqfSbrJzPSCCZ8Gh>dY zd$8r9U)Z9j4@YdgG_W1=9V_k+8^44IJ#i@=`xQ!r$4=Y0Jsn@Y#b08aW!<1@ zjcp@Hjk0auOa@C(8eUg|2(Oyy{i-EguG$oh>WwO8K_AV0*ZK;bT}J4#uJ_i?D1`Ms zoAXB=E{YcBAiX6WCopl@b}P`!wwp%&4;B#c_IDr=zs977z5I1K^vg7mu+6Q%!u!>o zMA?j4GVi+%#L2QWDOm+63#!DA$4v1tR(TuB!}isUAbt826N}+-6coHkI2>Yv*;fIw-tnACcEtu^{%Op z05QE7Dx}#1dHGq(7ocvg3p`pWeP?gk!e$g}JU>lUm^F_SX#K+(!`t!-_kHWBRfpfn zmYz4C8Ozc-p7}rQBLA`AZ_2mU1YS4AsR4i5XL&%D+WC8N4AF{SmOq}sC?W+3jmw;d zUdk0qV2{-RYgw$T zXldR@z|v^dFEk`{YLA0^MraM;Cn~>MmEKjC5vsgDJ^+HgSp5Ld^>#QqmjZ=DDTLiId!ZZK-S73 z!OaR<-AUOpmdcCzt&~huw5ey!V-1$k6l=vPD8`H?R#-On;j+v9v7IX`PAU5B`ggH= z@FH7M^s8g2q}-LD`Jr)a<*~9{$l`JQseDB-V!vcuc%LVIQbTC3L?Ebxgw8n0*Ojk>N4d+cRK|#SW{l40xKNX!4wvmf?M;cs_ z1}oS3A(+dWuQ=7=T=UEOl7de~NelRIaB9n+zu zVM3qGOX6!KBx8}tT??tB_+a~UqZ%$E)uNiJlFkxHXyoET4Su6-*f683nf<9n(Md)q zb}M^QxKwe&29b~`)qFv#k8Ow!5y7a+!7Bv}gXc%_Kve7^c}_`6;V-wYP&h-j@Qi?KXz>R!qKsw=vfW zmTjG6vtu_I*ZJ>oqOt7fodQjyM%OaLB~z?AS-vBpOtjP=Y3Nwpie#n9uJHS5%O3~J zC888aQ6a7Tjo#RP5*-i;ah2MSfN??YwW1o3;9j zF-?G|`7VRjA&qiBVc&v3I^~`Tn)CA3J;nG!btq9;2({*?zu>0lnb%$J_O4KBHE<|! zmhr3|Y#TtFir-El4X@6Vtm0EyJS7Rzhh2K=`i=+35zkg!aP^8O%yf1@Z{j)z#7tR<1;&qiogNQ2tc+q%&?1S~%>C^`RUh0nzejgG@TX`- zrVhJ#9vJ1xv8Q18YR6A#>eIm85ry@*{WwyoBknU;_Q3l;kif76&uE7%W0kmUHL$ru zbb|^CH0XC}K#ut#_3MlcumHb8a-q}M8I`8{2zcYex=G=>mnIdsa&)0Xp#y82+<*&k zX8zF&WCLhl)($=UGUn2JAS`{(J+Z8d8Inr`ttjig6Hg`HE?It=d(}Tv1C)ZqaS@5- z`s-}no|^*kM$4q{9sy|*4+3bA-{ffMnw@cV*Nl;64&F|2za08DcnFQ8|Gu=Wa$QG> z^Z|ZiY5vO&fEoPs?0+36A|E7mJ@`Rby9qj<-K_@S-;qiMtj8+iG2hOeFx4nd3IDCc zzG7Z*B^)eFgFZE;jxs(>{=~csf`rp?2QO7IYp+81-c@MQT`b8)r;BIW(tS^Q@42YV z7(#a?q2=dQisDy^^&%%%V%tPCR-L+MhrJW$zZ)xTlR8Fw@cM{&wdoC|+W)H0J~O#~ z!H$MM8Z)R0Q&JLH7E{o-+Z0*kbrDGk(yoKgaGT zLlVW-)*+G=Ff@qvSo-G`#EVU8hK@`s4@B>qLB#So=+h1MxJw{TE}p zU|jr7K(aD)TDNkmxvCBw+a(hv}++)g;9DK!d-=LxBBscBhv5}CziqI#FP6~*5K}^l2zG= z*9cpcPWu`S7!|oLsbC?dV0JA0n*Z8>&TM{Jp`qug$rQ3cvNjVk$gU#-TT1GYTm7N>mGLJ_EvgeHP1t^4LDs|SziMfq#wcYcmwUm`*-?R(3&O&XQ81iF9u z+*+vG^|dBk`3dYeTXgnK)1v;4AGOg56Kc2o_4k?0nXp7ZagSZR6VP0;wlABXSt-R= z0x8j@DRMD=vrRbWS1hsfE5LP-&-Iep6cp)T${Sf;XlLy1ia>s4eJ*mv9Pg08)P%HU zS&xOsW9i$k7zyYA7l_EDx%c!^v`E%?GM$~UHXuB-56x_58Rp9K`Tmh$q(Qz%!?0Qb z%|ftqmlDj~KB<1f1>wQ+k#2b#in znA)Tt2Ry;VptIfQ-yLWyQHWPC!xfk`)%S*)cUW(SF^etjl!7mQT=>lF8|vVWncG2X zKS$k@`T=o#XBx7V4`Q2|$-66S^+~l(V}=Y=`erES*gR`K@3Kym98xD2XCgJ}UBp9b z_AVvZep%J*D5<>w5X`dE4X8{hw0gO2s=QeHyG4uBt;dxN+4vSZ0?6mTl04Y9OYoQ; z*Lnm1uMp+Cij~#b%pGKP>9b~UH+g`=9+CgCEbWNKMYisDB0pYm0hN6 zz5C&_ZpKG|fBRFA?w;%n<8I_D%83rCf>_IfHjfLTyDTzS06I_LkP-(fykjDO0d-KhjOo z;lr-aFYk%mUGVMPp1h7z`W9zSa3G)177w#%McShDQgy_Af##9^IOi$R@lM{47OFJq zCBhvE3cBeC(vB=k#mKM2C#9W&!cL#K{w(Ii%ZoBrtOeBOoA1L@M<_VCFM1K*6a97e zWaoBIBoq~B4c2Jy4{~SoFg5{dJCz5zT?k$Zg!>jQs z5(UQS;itTs@-5O|^~EdNob(Q-X6mntM$0#L8{WHmjXsMX^b)k6)^u}B|8sNlaCT1e zE~z2Mt?$Z(t&t{eg*inc892P1xqCyto2&<5{#tp%QlOA>eA0xEO1egrU}iy zw`J-lxc%fHX%m4ULX=Ibj0KI`m zpn~9vjYiGciOh)Wlcyn0{nESaiBE1_UfQ8RbixT7ds^LQkAVD^XJuwWYqf6P-iQKn z{}d`SR4lcNsMnchTj~jKxTtw}d-*Kb`6&G4;Hm;rId<~ps?@^y&DYN`#?h(veBu_4 z;SN$OE^Mjh?aHI@KMEulU38f=+Lof<%4OLs_!3ZuD!hA*p&`C>CQ-dh0zQ4xJh$^Z zDW9!kllm*E+snP<9Xr&+ecq2h0{$I9eJgV!CY2?z1W_|-5BdhkAgd!~im}@=sf+F6 z*jC&Jk|D(mYQEY|BO0q;2QmhBHm+%=@Kxd|g|I1t4*P|wZy!=W-|A<+HUtzBUzIb5 z<3Mp(vU9~bL4_ILuNc2cP9%@D(fNBLuw)s<6=7pEG>i+0a64(AYt|a#Cr%LIsTP-o zN&S|g=X8UQkZFAG>Gp1`po5Db4}C{dk3<`uU5#nXH$Sd>1*TnydBZRy?|HYd3i0<5 zkNCS_a7i@}I5G3^UwAT3CBt|x(VvQ#`Zu}5oVHVg5zhNVjt=jk$i>WxwOTQ2{buB> zN4HWb5rr-Rr86(dNZSON$|Wz=Z6JGu*Ra(4sz2+8&4d^A&Ko8T_<18s`M4Bg%6HD+EvGea>GBUO02kuaV(e)F?WU8Ro1tV8if zz;$I*19>vC_j?o=yykxo@_ElFn_TF>And_*KdD;B>I@lhtmY+QanabvNz@!CG+`NP z>ok_PXdLb~BkH|(bV|l6x~PGHy3US?+q$Lga{7=~7AVXGfe-3=)nWrI5?1#Hs1pBGPBEfYaZ ztmNj<;LacK7Z0@F^hL=$Pl24a8dsb*Y32=9J_0^_p&XXEgf`xn7DsUQNA?{=XIWgL zBX=P;3UYHw&fKRmPO%>Y9qk8GJSIs1cf~af@nGfY1*{o_LDH6Q#95^N1H5htav>+O z<%bZM=S_(;gq#VhTD*Pp)pyxM@QMyxkT5|se$i`=4*6T9_e9p`96@{_chm58;aXKPO%&P_3TDPEfa4g zN;R{-#FM3H`jkREep?xArSHyfV47z3VR&zDSMy9!lP-?GC@)-PU&$&KmnZ9gRk`%% z3*)y~F3&#lB)Kvb;vQ*L$AO~DB2)t$+O3srUvH=OTjTOivEchX2N!*?@Hqd>guz9{ zZ1C&yZRD;UVpS^jn{H3E?N`*qMcyNTeoEaAm_!lV=+Y;GgAPs07)!Z>smmla3-uSd z=Gdyzndw@#gttaL8x5!raxSQ^Vgc$)FLF=(iVj;aOQkZ(=$Ll+ie$9pdQ1 zC-99YftjIrJsGg2d)#9`n*sLxHdDh}n8es0oM9^zI;G&)PEe#GvbD8n{)endfHmkq?at41vx;u#QkWKv?S?{&GcJ0!KO zzS7*QuTyW$goj7t$vd%;lhExkWt^Wzb;)Sa`Kvquqg&4TA#jRm><|Y%uUA_C-eFkr zGg7Hd!oW_Jw5V_(u46x6Wdtpbp%2KKq)w!_<0%}V1$YEFJjrk7dY_uY;L_vS^x~A$ zc`F&ogQfh7 z%ZD;W^ITo;C!4}Xvvyr^zCFgrl>&8G&H^%`pt>r~Pvyhdd;y;_vB6#M2Q!1AIgUbI zsucHw)x!Ao-;aQVPd>U$Wc~M8+M$^lFJY(+J(UslGU&TFtG&xNmNui))Huk+Uu~T( z8F-{S|HxRSb+v=7pCroK&hLo`7PX)+6!Ps7t1&KmFYGr5m~Cfv*)0;ZHYAYFtq7xH zQPdc8sKmIqDpOwMf%SF5z9W47PxGJvftS@4c{2YF!lC^xTZv2av~Q;S?YY_-vXJ^G zKHxLsURKvu%nX26kX;wjrL?0@JGXDBd$U5;$^;;;0U1@I=H4;a98Sp)<qz2(5Kyqad=mn5;y9)q-_d+ca(tN6 z4t9S70DO9jaleSsip8}G`0^QgR>>^^@KojRbx(QKI-eyS0Skaww_<>)o5pAKpfFo+?TxS+qp=A$fi(1e%$#{bcFC@ZK|y18uE9$5L&d3Ni% zHnZPkBu}*Y)M#Kh^ARvo;rZkflpye1GzI5d%&ELQ8CINA+IQEyC`D2{=ue-eMM>94 znPTK5&r;~`QM&Zhb$a427;-P5I>Af&L(nrbX!e>lf4*jm#+%7Ps@GXT=5lSC(@`X3 za*DeBcf%DE7w@^Bwe)DP&nk#AS%B>;N36+ zm%WW`3@BfBH&DOrRX)YPLRw8}w`B`2m^cW(t?bm2rrFQcPs+_(Rru{0;AhJI;Vew~ zK`+kl;Gu)}N_r={?OB8xy3oz)N+~Y};s#P){&SI>PP>h59O$wdWKizR{BEGfHKRpQ zNQzH$t~svxBQ=|tpI7CJ*3xu23Z-d98aJu@)Sp@Q3YVzlG2p{tZaIqm!Ff=AUmJ8= zhh5Q@=i*D+@IYHzd>frCe%ZVK;U8(h50t{Yg;GZGs$VN@V_7fd>)mh9wMEM?_&(@T$7L6VZK%2fu}*5k_}lnRx_-HM=qyTm3kJ?@>|coDMM2 zXkT=NhD+Dzy&a!&xtXPZ7uE9zX$JpGe#BlYyqj1(QXEU;|MGi!7(pP?&GV9`{`RG> zeVKUht5_b-tHMqKWhmB6HbKzIY|poh3A8p?eO!WwBq47RTc>uq!Ygg$c171dJGj3C z?}QbE(^jgn)8Rj*h-7_ogKq|xvMg!eWvunC2L+qd;I(Ee8sBub0l_#B$9U_D_2gHR zQU}XHHi#0F*Y}4mK9t^@a3>#Fn-dnna@aLAngYrE9^i= z;FQ^1TVF{{NYoJe^?6u-l;){lAp83cm{?sC_=)W-aK4+Y+&sk55qpqYh$gXCaWQfs zy!h)m3PlDVfI3TIdvMY1?4;U#pK<4D-h|Zonyyx`^MbiEh^n z|0!MhRax@@Gctp4UNWi-w=Liiz}N7K61pRk_y|C{qNKeAnV#y~_l@EjJ@p>XfGO(F zG^n!Dv>VoGw@Eje&!v`$Ke)#7a_-vKx)L4%?^Un{oYsaia^rqbmEW91{Q?=c-{$J3 zlO~1KT!h9&lrnx>Q!`6bi;Z_b(1>yy$*YPb&{s5;wJZ#}nG6np9~Bl-67Zv;K=Uo% z=S{}Esy{)g|Dt4v_svqy4BcS!$H)@Of8lYX_{tIFFwwsO2UO>*K*pT)aiV(ZtqelpYtQY z^amQmN*jh6Y+dh={DXO{(Fov~*bHN5O>qq9{348=*I*i5t!RrhI?+uS&fLC@4`bwq zbeS^eUt7`VFO(xSrlP~FI`2&be%$pgg}q;1`G!==xTrsh-TNjgNq5eosA=&~;0%k;!$D ztLu`)CN6KG-=lala9N3x-(5-HU~Ns0099M0#7rWn4gp)rZ0H1~+zpMeuLVby+Q%r4 zBv!7NWn+E(#e0I5HG|_u|3qx8H@jSxl~}ut_11Dxeeuw2CSZ&m70pZR{UkJN0|Ov+ zJda;?vW_wXd7>!1pycym3APP&Xob9scK#03?5C1o^ps2W3+=r7iVcsvS}V~%eR?s& ze^;o9uoPI(Y|vVF+-`pw3XYJ2i4!S^pGA8NWiC`XgLto@Bj1!KypK-Q44-vSrmxS1 zzIn20`gf-wf`w<+w#yVwgU^b!MVueZR;;4ZXO!x#9j5tD2VL;>>3h9n-G$qG&`-U$TjknX?>NDSrSq5pg_Oygvg#`4 zwgj{F+OwvyfetB*I(2Mg#IGevLt7Pt!0(gh&&z2)z8X2z6aCm`|A$aOp6&|?YH0mc>3`1@ z_=C#7P(u=(^r;_+NnDU+@g_+;4=pQxG=){p!3aw3(O&FV$$% zPP+JhGEyf%;dT-82&h|!oPx^;!;az#FyWV_m%Gx3i(&9H5_O~0^#HiP)B5EV&Ag2A zTzpcM@LjQ>e*OnO&6Lx+I>C}+SLknjsrvo}Uqz`a#imT4{M?;a(c@SVDT zsfPafCeDHC3%y5xE<*bIRevX`LQ5^M$s?LvZ>T|!;c_hH)a~DnpulXT>? z2chat&AMC@KlkL|jzGWrL*77BK<@LN>o+xB4le_W!Q%5JU%c61#(qx~Ba~)-e71GD z2Lb3fQ=!UZ(0AnqyKm%3l$Pl6Hr6|j>}_qATowV5roTef8C~Rg^T00J$-c|}x*O_; z=%>_~tda_E?Fii_8&tYWS20J-!g=WA9v- zQ^DWb4qDM|uq6Lnx8h`c9e)Zf)fkTazR5=xub|t8&CB`4WngfpTgBbIf!Z%ADMU$a z9*@pehDScJgRX{Ga$wwAJgdjRcACa2IzFVXJWBY+29=BEdq$Fh2H$ug(mxm3~~0%%trq0c1}TOcBF4N??u7dbK3 zGch|J=oETy>=E?V)-q5`uM_ewGl)E?VMc_4H5u;?_9^p<%g_N|6exjUerct=c8tT? zj=4DRl!HWTK)uynaHiY9xGM_vBxi^Ygtgv1{Jlnjewa{c*rrzbDfLx!{Ta_YX>*kh z*A)vJJ=t4(n^dO*r%S_ZeQ)|%rWo_7n-s@nA~$DUqR@cI@~{uvp?90ZKpFK_crw5p zcSN?Vw^JCViWW2)1DDoe(HY>u2PUJNUu5rEg-px;^?QXp>AWU+&H;5fUVFdpxYmMI zi>ghN_q5;f7ZC(gmBFUxX{wX>ZrRI9+ktqWa51kw&OzUsGyG{T z(c-#AU+d0=TX%G$b!SWf7JU+-*)+AH5_3;K7>I9E7+@R1WQX4uX7toc`I38naRbxt zoaA{+J=5f_#_#?b4AQ)kng^!0?vX<@ac!ruY!9HV=A((YcOR0KEYGV;tz=V%eMD*peg*I~ z>r^p9viNxa8LBZA?(3z0&sG~&a^j+>tZfn>`Gg;~CbAau)Q5fA9V&5KhK%49l|MTykj>f`H>gTo7EQW{7Ms-xzDha$AR8h)$tQkwHos@o=KY#F zI*YO3_?s$4uisrSc%|=5Th{G`T_ncLH18jWIn{sku%!l+F)IJ-`yi{ zFq-!V?Q%x{L3NcOStZ6 zkdo7-!Q37-_&Qq}5n9<6M@_+~FRm#fiB>%?;QZnRZstCZrBpe1K1}1wUZOJpEK>UE z?uY-T)F70H{5*Ccr&ISOgKr7(-KaI)3FEFF*kgFuIxaPDH<3`?9aL=-zaidY$98E{ zyNnt$>Vdy{5!$5nyw@jW5%aGC*G_}%urN2yWqHq!`rwhh8OcUmI<@%Jk$0s)m85^j zfWb!q#yeT#)YFt>56&pil{9~d=dp4H=UMB3@WAo%nmN6ZzUh9(R2!u#9h^$war> z*RD0|2-r2AB7;H6qh{~0m2Ur>_dPr%G2Qvqc-L2(&|xZHj03H8Gu2A%J_76~BVaUR zlS-25R3d3_pa#3qvv1RQO#947c`)BHB`0SL;FFv|wOe$5_RuXSHSbDyI}d_KFiH3? zme=ZNUPriAeMu{|kVj{(=)tzOIaI==bJx~5jk?=&x=8{Jj#7V8JnFogK*`@mS1|96 z*H5+hPNV+XzoFPmR*dlKH!yQ=tA7N1+9-*~iU$0cv>8^$Jin@d#tSFX1DYf9^7F4M zY#H%KPsei8JV$j?kzyZI^T;PK*CzI$^U_SGSbIU$>Eh zP%AFqdZ{U!qS9oi;B-ADOX?KyS*@3Myenv7Mm5K4LyWT)9RHs5|-o`jg(TwjT6#v1({4B*e3}@E)9&W{8V1Q9xBHkIx-eI_ZH)owNoX4_ux2Tv0<`zL9Dm+u)*HR@M zC__IJUWksI2`h!>7qe6|RS|G-1V8hf(uxrlCd`9bF^Qff92jyQaTrAh z#*aw(?vEj*8V!u$1C@7{6{g=Pse3MV{(avO^q(Z9`>(@Ypee^*e825J|4PzR=j`*t ztBoyB?UBoASUkAF_25BJ5U@Uedc-}}9z+K}(q)rHiTmT%M!r;X^6q1*b#$&f6uBu- zkL?hZrCnSbp_4s&_tJ@uo#SLRtHa_AWP=|(BT%@<5WkuF8Q@hwM!T&Zm!Z{r9IG=l zK!mffKiRgHAN(%>@jwp0O&g;A68wJ;S_atJ5ObfIfXJpKzG&LJw|DlbKYDq_(f-$3 zhz}xCcKof^1HZimDJ8fqyjdXbCA!n$R2(PD7q7ia6+j0I&wTZyWGZ(852*H_o_0BY zR@z1jbCF5@t@2J(`ufrmepvzFe=2mKJV%U?%>vvJz>ug7o}ZFSZ?D2ohmaaCw9dd08lN6Qg=sa*OlG( zk7~0LsyVDPIQaxw}$t7aSLiGnfN|rPL25c51^QSC$ z2LN&^E!k1!;IKIQP)M96?d|+qm+4j#RU@cj?Ny|RADP>B?5WQ|^r(?Tk1a;PzbR$l zzyAPQfN{AyxqFY@@HXJL_*25hk>GUBOB$^th_Q$6je??{Sj+eLLO5UXpcx#WzLWTt zJbf~0q{ta!h1b(8I(>cUxn^LZ9)Z4R^c67M3Vroo{g}`NSz%a@n{{RYh zcZJ@qu}2#RU#&iW-z&46C?6m_GfM~hM1OUoj~|PF^{4{7yH4Ne%0q*@a}EIX_ou-e zY70JOlR3k6`UUmwn+;yFQt z2i@|!cF(!1kfM>gPnnyXw{N9U0|m-lCl0Z%e4I5ax@^obN%EcBv4DRXZQPK@i4$uw z^$NKpQk$~Lksigyeq)NH1kjT*FPPY0?jwIXmD(s1=GvZ$y-jDVv-zL7UoBg%{)GE` z)ab5y#l8OkyvL<8JB6v1M{=fN@1Y>4DT9Y3kB!C4}f@FDImm7G^Nj%Z9RNe;jgHKSpB)3o9WTEHgsIHVe z$h|g=;;f{IFu5FjwF=?pk-Y}NNFK#`XJYFVqZw=vdyiVYj~?C_5Wa`4R*g$e%)k&n zTpnsxR6+8n3Zo~AG#<7aITJ{z%)cXVI6tLDy%POn{t~6vo`#)mZ64DpkC!?8DjSFt z>Iw4viymr|L^Ds#;Fe_}YA8Nn(z=d%W743VBW?q>6k4asTo5UNuzHo3r z$tUSjTeO#HxFnJD_h02dl}{YuS1OT5j=*zFl2XSd+v%PukCm0Kv{>hnjJH=vtT{v= zez>Wj)9me|Rf-fWqwkTDex{Voj-RC`n8b0K2gq2CbwPlm^34x)M=U~*ZYrx}bDC6g zcwi6EP(DOY40A~ScgqO7VhxqmvTDYGAbMdO}G#%WQ|kX2NTylovS)`Y!F zTZ3bq(9QnIG{tN$N>w|X_^Ux!X=VfsrG2USkc>9aDce9f>S;5QcoYE4q)YQS{Aq${ znZ^T?>IW4sLCWXcibC5kK|h@UK{=T*_IP(Q9(NoJR9kfhJ#FJ(V#JTetmheQ<9DlI zQhly7oI0Jna5G2fsecg%z1tWt*-mvYysFdfmw&h?`zzW>!1*;ACg8K9ww1$f@#u>~cxwq0?m(T92t8 zPinX$5vMGtcfU%hI}r_vMFL3QGkm9V`jJ+={uPruO;@?=y%#=M=iF3KN|`D1ZExNT z_8ydqPQ~5*>oZf|v&~PN%LJdLXp)QfH-0rr`c(_$?p@N4yPRMi^r5)s)r7De z^L&G8KT00rBBXh%&&$@STgV`p&|F8zATIIvP)}1#BKL2as@__~DivWK=LByn%{eY% zQ^R8%DmdC?xg>>?2r;zdkH)Y3 zyBp?T!m7J}rYZSj=KDoYW^EW_pe=n@~fqg}JArg_is(^}mnUIa9Ht)3dQ}=%=g36aGJT9wjV<*#~$Em0xe=dCB1^pTtRIfVaZdS>vA1tOeFg{PN{P9Az{OiR1XKLn{IaMS z{EZ+&8H%CY30|Sc-8ERRnjOhyCki&6l_cx)s-qPhO0Q4KptnbjnYR`jj#vCC7i3I? zz!frjU>>9Y0If{8xx#G9h9jn;VL47!eE`R5 zY|wq?MrCciQL$L-;yo%CX#W7TZKQ0JAk4dg^y^x%T*q?)m|RGNkDXg0iw8BytkA@c zNhM45@A%cS<7VJj*L7Bd@9zE<=V|Ml)8+pFQu{Wq7~9&Ap5v{%ox89A{=e3xlV_Ls zbzTUn_U=?R^()SEvx-}Zvm1FkPaL;lNPSSYVnCVB?DsutM|LVkLSw0FWKAZ)wStUb z0oI_oX%P<6tXqN&0N$mTwyG~9lboLP^Cv&fxqlLPp5H>VON*6})ua)s#s+iGzqL@) z{ClQqdlfDPyO-f+0S0W_Fu?(n)1)+4+8gq(s>G+|AsVHB!?0Dea?{+^feThF4S6 z8e{5EiHtsCdCZ^c@-u_q9+a$CJ>8k13Ev|f&9#0|4^ORF9Q3UC*Jjp>cijLfJXNgA zj!0jaV;+Ui^2i4)fwxn`L(` zthV=Mp>{`fMI#{K{{R(h_G01vbQTSpsCGxk?- z?npgJ?Z@(}UIy3oX*FAWKRDdRalg+bm0XPA(^0rzTOPp#=IQq3l=nWBB4R!24hDG7 zdavcHC~(Y-2RnKinlPeOU^fCdCXr;5C!H81>{UC$_di-CAyg{>Sn@r83MP>9sxr(l z1u_gQ1h*~FliHAq(!|BfO2Rc^kC5~Dn#t64+Y1-+F7BeYY-Bshf=98fTh|iCpd2c; zeqN{l0IgnU@nKZUWiTBwxb*K$E0H4WKB3!&|kShN!=$fjYDjOUv6h~>9fm5$J; zx!&XegX>h#l&)>0ikw7MW)Y43%HCY_9y7SK<4?$V+m3Z?V!u;Pdvh{!Qs}MQz z`P#q2UB+6b#TEhcx%pB)%lt;1^5ATT8^6BY1yvUEzUN6~jacUo-~1|usdsq~?ycbS zBw_MxV3Cih>-bY5<)@kpcV#(uZb9nVtW9^t7TRQO_PNIH*6@&A{YGmORENb^skP^^ zvrOkP7v28=ePX=(ShkuCLE*TWrIR^#+<88{)g^K+c6NUd&ze%^+hw^wA&c)1P2B$g zD(!T=Ml0wRc5{s-UMy#D~h-VloR#u@G&Mc;?OkYI!OR^0kzUL4YHzq90# zBm>MFn;_$_9=uQ^wo9C**j0bt#}vy{{{H6LYC6h!n74*5H|}|P2Om#b61a|{d16T0dn&iy}r6q$=JUfsvxUaR4W<hW~Q8S7gy{_WKV+#{#GQ`h4Y>Gu&Hl19n-gGg39+r!>B)SmV$ zS#9B(Nr*tq#YsNqyBRLE*c`jK0R{Fd_Fa#?ujNv4&= zV|XK9)nnA{?I4ictdF#$2onq4#lZuAz@`#<;fT=^V2bLltQiEy2;0~0?OjBGli3eSy2CT~F zINgf=2CGA4trE5{Pb7{iiLo^J^4x_}h2xHD7=v0OmOGKTIqC_elG`$*X)K*Gd8S?3 zpRPv4YnABU|;Iz;Wv z3eAomW`A08rc{DgZ@)AO#`4-l8gc>Wt0<`gsOSgaDg$#NA0%aY$Ir*|rCA?mJ9Fp` zK&?)DGHikA_=;n)@$)Wop0!M++>FHWA73-EuPJhF`Zz~}qC;;YKh7aN*f{v6N* zi!5q>{{Y~|k*+bEI{qChJ>2||H`ESkOnb+fDnlD~Ey}<^8#lLmWXh1db6FSH5&199`3O89%`L>@ckfzI=T^fcJ*w~RjAe|2~j z*%{uP~lY^d?g zmHAu;2m7^rKhmjRAG9(=8NT*k*j90NWl3B^ADM7tgak!jnSjUPQblVBKXqK=0i0%_ zv1W=%B9NXAS0@=Bw3k|x7P&#Wr97-@$u%>n%5Or0pF%BO1Qy}KNBg!9_eUUg6$H2X zdPb5*wVFi)Bwc?>g6S_WN}Go;M92M9Ck{vZN3}y~X$_J*VWU-uovuIDF!ay(Rt~FY zqfZAIzj%DJUAwDWF}95V02RZW{#8Qe8;RLwmi}hLa*8&tez^cvp>#W&<#zr89Zu2s zp0!pP{TjYwY3`tiG`eQQaW{t z{{X9Nh`Xu zFf9K7fv3*Ur3CsJ@M&P!O1TRV9euu~hi zC6MiJ%yp`_Vrx`q6Bl3Zup6`ORvl!EXo#6cc?@~S)~MWFeWL9k+R?WSw2W~>7+YJU zil%ww^9kh~f!EruEE7Y!?9#VhlD6Uh0M@AlX#GO`zP-MblNlk$mx&kA&p&~r0~YPn z?YfMv4mYUE{c2Y+%e1E6Ix-$bBy&d~C|3+RtBfDYt6$rwPxNu*$ayS>X~hL50^wqn z-g0(~syIK--mJp8Oz_IpO48C85F3bAR&Gnb&H3l0Sr)nZt>p5+A1bN&O$8=N^F{Y} zNWa|bN79ro;LjUika+A*xTwVK83`~WoB{`0UErTG77MrXKU$lWa=fxj6D(*Lah6r( zN7K;KBCM#sQpvdT%yJLV(~?lZ!Bgf)e@|~}wj$h$+lsP`1Dm%A*Xtr)vA281i zS;kh2a>x`ZZ0`r}cCIH-@w^sVtoD~MOA@4o1IBa4diCS{@lt`E{LBt~tScVB-8G#w zzq@5Bs?7Op_s9PLs^Cu0VnYkSTAGBwU_es zoBsf7sR#Z%Yt=jt1a{sXwRjo7dIYj>IR&v^QLQkSSiO;UvOLUHpSaIcUH<@tb+{8t zvW8fuEgXF9iI_G&rCf-M)bvO%qX-uxr{3Mxmg40aJ`U~72guzko14UN1aI^^**k4p zMmhRd8F%CDLJehvcH%ooq}pL{Rqzjfcr`Y;e9Niq5vlUPcmDu@r%G(@*i`vgGk{ke zs{_KGB(~S>9(!RlZ5!-llwgB_(**I&ZK>aKqx++EO^Q-12FFj8zq)$WYp3OZi=6&d zJewTzmHz;1(z(wT>al576WuhcxlpV@{{W5fa6iwz2@!oyJou%owa%`VD9T~CUF@sf z&VP{pbk70!b}dd(d3rZn$M+*{j=+w-)y?XW-ZaMU`3P&g$_uaF$<9W5S9|caQav7d zF@`q;F(=t;Ng3YfYcAn$uqpx51F-b35s>WH*?3W?bLvRP^RClF(X6!C z$JwppiMz{>oxZI}p{Ta5YIrkJ)NbsD_N}>wc+ZwHF}PrS*z9`OQjPxYaZ%sn#PQfe zg^g`Y(lYhV>{}Oi9)=5$JVm-PrHCH&BZYu4dOGMe^J`I zLAj9s0OQ8HkA!|t*{5ezS^Vs8Aa2`*;2%ua3F18e0B>Js{(fJl`^LJjhwmM>vlXFs z3wLU>FFjj7;kvEtXLHwcy*9=aws_n#Q^g|@wa6uX1yHn<wVy-hYT5zgqBvxpfks-IqBXzH0T`O$nv7L;b6%D|QKR0RI5cYe^Wz*ytxX z7@Pb2uWEI}#!(n;``m-+TrZ3)?re0AKFd+RX52E;TocDR>G)SY;XA9nQ&jsk_NAz@ z>@HPq8?{{S8}JZP;R#9h)M z+qsG36%C`as_b37a?HHr+O9-AwsrY`yjhJzjYv~`KfCgpLfsv?&*N0}JF%xkWV{nP zhT$SY{2yFajn?N)$+cEKcX#|MmBe0bYvgV$e~gp)REXy;yj^K8?xM24`IM<~Y}ggW zcS8L zUWL(fm}t|l$9>c}^LtCSr70Klu*wDrtOEGzsYEaL=^YHip_T;;qaW#U~P{bOr* zq_&Wa>d%scj#tz9SD_;9VI-wPbSsVl>}m^li2xh2->In?y!UO*yNm=*e-l#Kc4)fu zZ%^GX{0+K(6_=>Iai;UN*-zecz^kzNu7PH4xZ`4RP-?bzw^1}V5TuKog~oZHO&N1u z*)HEU@*T`F0dN5NSC{zo#V3dz?dA@yic2eJpTfNY{{TwUB33h6+a}DA3_!LqUPXG# zCG@gIg-z#bj>9}vMG<4Rwed7se}--Rrb#Y>`9XIBw1L!&=Nwc~c%DsLPrS6gK^(>x zDBy71cK7R6{0nbsHk5)(Xc|q#7i0w2L8;qYMQI?0IF+zhw;RaazMQDC+ znfC5pqc!V~2wyHzSg%8qpT@jco*)*xc>lwQX!r-tpf(F zcgAr$<$XClE7$xdaMNk9vMYSihTM1^E6My#7uog8!LhcPS+d>oYt%dq`|S$JzHhj{ zAUtp}RKiC<^FNy(%^Ns8g$AIyl37&7>aph}ma8$wi#mwVDuvv5_o($HR#hXWNI3dZ zAs!oWJe_&h+ma>;@RbV-#-Gpi^Si!@eS`EcHx`#uS&GkE|Sj5OM5oE zSBM{wfI%Q0{i&2c#xXRS74MqM^2S?gk4|gN{2beL#T$N88v(~pf6}}E01(~kH#$u4 zoiU;>5!}W_$rwGW&GboSx700+TUui47)Ce;Bxf`M?KVaddpe1{{TkSXO4IRmW->Gbvz7Y_UlbM z39Fucrm(lxAZ(4%%%qd-)$STf$vhjRU<`vGt$1dr3_7Ic0NWglKO#KQDS{PeR4Zld)9bk_pPx zrwWCzc<<7v$LAM`jEZtQigfL8WLVUp#u$QoQDRh!R=}b(j85h`8T6*ykn=|#;8=Xr zjWZxVVtk-|<>)CbN=RB$pPQk_YAjo5g5hM3$>o@2)g_H&n1Y}p9x>e1?xqpuBNfNY za&js(DkCq|ol-PXA3MJauRMu8v%<}=Djo^yX;x;-w7K(T;xN93u0?8%7RNwxxXwAE zdld_}a~n^QcHkV5*qYOfxj;b2;aRq88nbPURD+HyQZhmSSl1IhxaC$j+0Xp*jdT1*CY>BbK__f^9S~st zG`}y*+k5{2A2a~)Gr@Lm_fHfY4!JbL^M7~n7^9Wy0Q%4)P};L1tIXS1(DnM#{firR z&nQ(n+6c$;t6p01)7q0}KZxzEOq;mF0u;e_$ENI4;zdQmt_3FL7&*ZA=8{{O6FcMz zKC}x_>;V{Uxc3yms0iAC4&_BgZUZi24y0~8!! z{&f$S;jyq|u>&+n^B?sgPp;#N0>sCl`M)Y*Whb0|BC8Q8+nFIBLTMdtT2GQ#{JebM zyCnV`;()Pa$&L^l{V`C>6Tc=!QhjO24j3_JC!suIgAfHsUp+U8Im52mP_Ise zlTC`sG;#3x5i8IbN4{vfGWJIp1psEfGRh+iHeUmcH__*)AD0o*-^E-6%>Nr z5%&=X;3xvJ`9TiA$3NW}r$oCxXV1}wKT5QtXR!7Z-N^6s?rB(eD$d}Kls4S;0-%v{ zn}57;H+8Ge^ZnIbzux=R8AZtZtl#d{M9zN;GB<3ybaiEAlW8aTfvsrb^lHo2OlvDi zyKYw>DdZl;ooA{SL|-CiZJ;(6jMrqfJUC00w9N?@F|zyBHDI!tUAD4t!~4V5tfb7@ z#11{!fmCk9tV_ib?p~m`QRz~VPDYBbWeg5;^9q9I;yA(1-kcyjpI|FG3Fc-I7g3YO z!N?uz{1&kx$X)H-nB~7ZT()-$xvdQQSz6ZQx0fJUzGqe#!9QBk-#L%ui9g^?{sNhK z0g*BX%)F0!ZKcQq%0GEVN7K@&>NrKA`)>aLyB_R)-N*bZHt8;HXIXc~s?US89xGtU z-{#F$yG3~1KHa->^Lo_9qU9Tj<-b;T{{Vn-PXl1i(!Q*F)E1Y5NCxHG<@~2Up0$yA zs5R`56cYJ%(fqF>@woagtzlN8j>mQv3+)}=#CoowESE|4ESx`=B*c8E3GI&cJXX*` z;x?3)BYVv4^EvbesggXQ8pf)flOOo;_xGum;&ni=D()w4>}39R#^&VpJ*7vHS~?bF zlm(E9l0Cx%U?qU2#AcU>T{f@r6v6(qj1SA^iDYgwpP6&(fk|^TNzz#ZbvQdf_M+ve z-(lWdO*?PjyZ)H~f6wDg-4I=(4V$0)fHplr^{O{ov?|0~rrZvw*va>-xvyoI=2yV< zT8UIh>4p+=__Q}=x(e#RnAf3YY`5c1ZF0^Y51S`BV}MDnTY2BfW>!7w&7?kM(x4gK zMsw-uS^G!O)>t@3H=8;sHOnc~0+ImT3BbqeP}|(V@`4DJc7QzArHA@aAgFHayI8RQJwcPo)T-}X3Xp%nOZrTRbzszdKv-q6_Mgt+XaK} zAOY)D?XTgMMo|*Uxbm!{BmV%cR%hMv{L0G5jlVtz_*RMB?Q{7S$Ahu_kyg}V8?o;IJmzdy`ZHwC=@bKF}yM|m0hqhD^Ui5Y>$27n4)x5v<**N_3ij91&(mVe2 zaG{)opJ7&#Sfu-`xb)3YjwF`uKrtG|-^0f>x_3Alu{dcX-Q*<2v%qnY{PRlp%D?O2 zk~8$i&#-t92iRDT#;86Dl9>w??SE zh^1Vl({Jb*4?mqh7cpa%m2uyO{{RE}Qvg?1`6T%XJsZE%+Nj+|2_oH$P0--*NvZBG zQd@Qg8F#NZBLq}-(afl<``MLb)7}+AsA3oe;cG1o&#XNGGJWX?kZw;nVko?eyJV zf$;q|=vMy#-shiAfBMzH_^INX#21o5B1(+>Ivj(=c0K^sEbTO570t|XGP%OLcB*=r zDQb4oZbbR_bm70oyko_wv&2{Io4J^`=U%fWyQeyQvxffwa1;G2$$V1k{vx`T7Hy@s z4mSO1A-8kV{u?Y!;j3f{s&d&XG2f~8_pZj=H=fP%$f~=2{cDK$V>2HPs-pCfm#-ba z#=Dy=sy11fw|vzs(knsk&4aNU{su5BkiXC-)b%lStEdp$wr%Z{3%%buC#j_X>B~9%{J4KoQ!%`7hojuUa~&ZXB=&}_m6M# z5IYl`=Bgrkns#11jypKvn%Yk>R4FLHgMrUlns0~+*Y+HrE#D8=B$6hyVB3!xw`uAQU3t4(#c$^akwjf6`YMDEd_RLZ2QW@ z4d2qA#@K%ttf%QSOgBKe|7qXWsnDyOwWr z&{dg~thg*2j=hxn4|>JdrCUut=3VT*Tx}q1`UAyM30lXBYwy2X)Fs^8e$gWhzwa8^ zyfbOBXgZn=hByP{qw3M>Hc(waK@6e3nH>#umhuKrQ>ho9fY%Z96o<_<$H%H@- zrFzYj+lf^?pPd=Efw$U5M!KPjX_(TgJn zBNdOTrbhn&_ORbd(ccjHcdq5&^UYMfWO(0Z*IZ!XsiCvyja3AC)!-k)JB9ojy<<$* zEJdmruOQ_H7kJKbURmM<^87=n0knUlNy~q{Yt=Lhc%Mzv<#mm}bewGCp#5uE5fYDy zZ>_GhyU3OEz7{FLB%Y%mTHt&uesukADVZ6vb`YZ{n)X+>jpKCMHnHc5@qKC;biHn5 zUy#KqWbM%88c_?}^*cRY+ynlPc>VV!yB@u|R!i%;%Ikl*(XJ%0QU=$7w~?M$e@fl( z-k>!L7$s7;kpmT0>FZmBh}lo~zFbtYlPA+A{{Ti(#e*{BBa9FaIK^1Q8CF@FZspns zZ(eG&aB>~nZr{7?D#pch<=Ojz*wRLkB$M~te9FDb_xe*3SmIrg=W_ASZ>=j!xB(B$ z-TkX8QMQ(2<=I|K47<0pAPf&;4rvxmd9_eHm}bsEt~bZ<@9^}myXM{)dv&e(w0ZV^ z`&hdzoNiT6euIj_)I2{O&8(4M>KD>3e&+T601Bk+Wi3u0!9Tk33Vr3wWllPdMS5(J zE2q!O`Z47FYlhP_{Q%yyQEC@f^G4+n+CZfC;NzOx2W|vgd8GpQICaLIVv^>W6 z2z5!)K8r73qgStKx0`h6&&sMI49>^pQI2z5qv`$^Ylh9kBNLZtq$+o$AB# zKK0B&;ms|d{yZXY;@G2s>}#gdG>dyXe=QzI{d<$*%%`Wy4(TR-x z8AUQL1KmS(vfW(5A&l=|Eso=k+>R-T=SS|frT+kC<0ogP>h^s&`Id@(zVmgj7}eA4 z`n}QlwyexY=bH4*Gh4HLJ`(qk$CVk&<*1MxPmhzz*QZ~X=1{|Rc7G1;{JjF-q+*36a@Da%GjDbV<>EbI7XK zw=%1)z$IO!zEEpI(k1!+Mf=C*#YSV?Wo&oa57L`{;`4d?~DpJqq0gt<1^>&|!~$F-3|tuj2Do zaK>@_vWEvEypd1Yb$f7|zjr#4G2eB1pZ5CsZ~p)iy-jx$%fZ8bwddD57O{1xPjL>N za0AL+cdidy(8QIE-x)N~*+Zz=NpTG7!5kx%7{TQK04mV%uBCZ>rNce!XK>6x^Y`(L z8lD@ApRh?E_C?c4=_;<%_2;H*or=fA@LaXng_TPdF|+)b&rD~5NM}3Z1lg_LChxs7 zH_O-)n)TlaTr8R$gnxH@XuF(pMg@64iXxUBP_*AHj~ctKbAo!;pnN`Q?zC86<-~c3 zH#glQy;E0WZpWnC9H7Nm9XM`%D>BAQlL9j&eEJhsp5fv~caMNG!Kkq}9{&KnnPVSu zeqw$7D7u&TSoQg88(FrYGOI?+a(Ay4C(Cg+-d(BB9SN%^aF8j4{NH!x80${8!hFMYqQW+O%k3D)G zm1ZObe8%OQrh5vnbqYM?u)9=^{Cm?gXtf-Ou_!LQFZZb;k!6_4#s|u)?dwrZ6iikS ztCPv&wMq6!l?KhxupLpcQq2?6#MceAIQdz)6;62Nh#`aTF~J|!nvyr#cTKp&4iS&7 zT(>@Jw7ZxuMaOYSOHvTw5q?(Be2R`sh|GdL%eSj@`c=D!^3Z(0G2uokG>d8y>ZG5U zxams6Gv4ASxlklkRA2`+r}n5~M*Z+_ZNjtRf+=Mr2=>NueqQxv7}8l4o+R46IO|S9 z7Wx?*%U!ueeq6BZ2R+Sb#IneXx>$#<&`GM(!lO}qC>`*1d;|0F;HkRl27AhkLlFXKKwGp8?$4A+zKU{ zIAmSt<|pMHN&G3vB=R}^(?-3W&Oc7H3?qu^jb9wUK8F+;kg>zB9)^%Q?;N)twW)vz(FWWT{_!S;iZ=ulPs*go zVVslnq$DUO2l1*H!geR!82Gh!Vz+sjdJ@w_RseRN~tBdAG~I|b4jj>A3cN;0pv?((~a+M%dP9FaUn_w2`LMO=V=>MKdE07$%`nC|Rw52ZeaYFx5* z*w%N-b=%sgOoACVtnj;FD}!ToA%YV{?GZ#fY9_4cY- zwft7lI&NLWVDtBV&!DQYsfOk4<(5vKVqoAJ%hbZ%U8Hiyn8@4^e;zsm>seH4I-R&$ ze%f5DuQsD4(xO-_!BhQff%lWXKDBZd+^T-g@hYE@SOK4N?rD%W&ADS`jZm-5yF(Gs zQm^mXBEpUVD(#$mW3_QkcRl)al{N06@WRjY{JVPR_(%EuDtAw_d2QzTpWoVYpnCEA z>F5zRtNDK~%7~o_tesN*)lIr=PJVVz_C9-f5bw+RDI~OLgKFv4$@SErm*Lffv4PxsWvRf&N7Fj0gjN}im_*1C_ zwH6ZE^$ zTC}wNMU{u1&AXs**a!XZ@vOu5SLXdF{3-KT&Qzl{syfSg1MZmy=HgJW*xr~}DJ`=Y>T*B&)w>3)OU~patgb{a_N?2INrU9_o<%}$i7bHjGXRqjGs*UQcWM3BL`x; zVr6v^f!u(~sbhG>DiMc5s9%Jyv4`#5BR;H+h3%8c)C%;vG}CtGb+6ScO= zf<544YjAn3EhJe1i}gOh_p8uL8(@6V zk@AIckIJff?faiLHjTIE+vTgtwbf45W$lqvAb3Ly9gmMk;Oh(a-eQ)zr%w; zNUeDrBxR!<4HU(rZ@<%!IhBc7p&Rjmj-#hq>F3fk*Mt5%pkMZqH3WW@vkYq* z;DC*v%+wcf92QaaUdEO626(59?TxRACx~DuKtKQi`d4G{!X=wPZ@SxMVbeW@a-R{A zzu_p8{isy*`qxwNtNuW8?Qfgy2aNE3RjoQ0^*du`3ScuQ8QKm2t|!Dl52n?%ce}T` zjwqN6hEh&@*L{#+Wg&Neb?Vi;3L_sX;QRjoFKW+YX0$MTFX6a!O*~q}#n=+YM)f^$ z`Bvq-{hbdCc`RS?t0gwaj@ZejqNzpuy)(6`f_4U+JPg40&lQPlTRatmAFWiv$?tLo}Q+>+eFay9~SD(dwd=!8TUIJfJSq* zGwgWmD&wJu&xhI}zP&nx@b9;`I8awR++*#3X^UPt*KK*MptXg+8e&nAf-K;akXI`eok-vx^%vO_uvv~d< zzT&A}fbMv0teK$~x;!7n@&5qDOMZ7R%`-RVb6%6-yVZxowk+AiS^80n)h?mg2@{@)~#~#@8T~HC9YEJ!8gxA{N?j*QBbz-IPZ^I@LBF|E*V;RWR=GX?!@EhO?yYf%|=`8 z5*a59uA^fenB9zX_|&yx)Q*eyaBWYU=Kd`8`qEFcE3<01R2Zk+9m%x@=|1q|IQOW0 z<%ZRzlX8%`E#IbT8eE1?HGXrqckv#0`d0(-2gEC89>&f>*AlKB!(=Eq81^-L#U3iT zpLLgq;+E=iFw#V&l|j#Ndi3`9tX(6(7dJ8+t$yQaf8G>U%d!6eXyU0OIXmc%Q$o>i zHH)2=s=G<~ne(-4)x15SjT+N4T*)s&>my}XkKrAv?v-n8Wdd7R+pJ)80dNn${{UXJ zQWu&vX`@}E_(dz+YBt=!*0hT~U^tf0s~$YXjBfgaUTLlAxBeT{aFa-ibFtBg$j^U% zE8RS`QO3}_dsjW;%>gxyK1hm>Fnsa2?ASQ`J!!28k~rT8_|k8+#c8Sl>f|C!2RpbQ zH$SarJdh8jYoGX>iT#ZXgYS9Zar8goUW)L_d?XP z{ZdP-+jq8y$|`qoN!&5V;a-Ag20TK$x!I67s<<9k;-3y`GHRC+L2UBHA>J7VK=wYB z-)I^{R{B+<%Wof=Azj}uImKwTtjY*1tsdMJ&q7aXvGzGPD@P+^vi3AKCUD+4@U`Zl zEH^eVqwP;Eka66c{i35u9^Y?=98J41C*%*A)%jqP`;xaK{)XnFo`6N`;1_ zY}ol;EPgpPbHKW+c6w_-ZLXyvM&>9>h2VFtr(W=NzO!+eWtKlHTxCG|_dV5e&mUY!IC|y5LCxif7@=v!lIM%S7Xxg)J*X;Pu>sqO17U<$N zWnQ`MQp%+nQV6APa^Q@Nds8Er$%9p&$o~M49-+Iqc+`JdW!?4Mfkb*W;*xn16&!c( zT`V#yrtdC6$M`r~c{{Z#te^Su2{cd$Pk))nb+POHb4Kqo#)733(AdV#6xxx;<=hlH<=G}-Q-Z0;d zK3q*Gh;G_Ga(f?YRb8=7vwCnEFled{FL_Xm8oBSz* zBDaQQ%dXbXKR@0c)RRvse=o{n-A*~;tjy*Zi9bZg@fu_(RZBkY@5%P|q#}jo#x0c^ z-Tq<_VQSYo8*&qt zKVFo8a=6a`6YoGPf-*BqDliWu`%)GFo(^h8Z6&?DKXx@!^rVvEQ|~Jg>?%x?&OrLp zgPw(y{VQ_2R z&cnyIU!@?MCknCvf4l${TWh~rkKx*wH1#BxxVduOw_tvh4#=I1+m7=Zr?KXd@Kte^ zKA7T&;*Jv80|TLBnn#l=a>NeXX#mD7IKf;~!>~|G04h9WXD1%?*En1bht`F(rwkAhGg5u4?_vqP_yhTxtP)t{VYR%-_+WpCdez8$xntemxb8l+ z*6q;p61h^~HujPzA8QOqq>g?5wOJ&&mQ=RhsG)c6&RDOdYaf%ROjafOeU|MfRgeZd zSPtF)04k`N$~H7@?IMlymVSST^!id=#MxO#;=bO$TAmWDp#J~~83vwLKJ_J}tV3&Y zxjdosGXDS@D5S)?7xy0j(XGXe8Q z^9sPQm98W=9g+N$9^H3UzYyv{?V8@qG_pv1o$Jv__w}ePtz@5`<7l$mM}|h+5#dTPr3G~V~GM~Pn67lL`-CTd*Y!&BXT2z2*CT;`H#M7 zw@#>%O6w#nqvQjOisfkZ({1virm1oELdn1PjF{ZLLG}99DRpGY+(|v?xs~Uf$k{nP zO-BC!Eptj&XSGI}gi;;%`h6yC%%Q#zdcj}L@+dEIJ?Bz){h?^4E$-!|56G4hPmK4#woM$}tHtv;4c3Fz49>}fn4Uba1uidHt~(T7b-KK zYT8gq9)2GYDb1#gwEpvd^{ZP-z1mU|aHp94kN19tv3|RcttiOH-p}x|_N>;7?x__u zW_8A0&E>-u*qrhlU@Lt^F;J#$UuNRpc1G%d*);{F(YdvQEX8+$BNoBWdY0`171_Aq zgYILVJN`AfjD7#s?Bo6+y zHvt@(WGalx7nWhvdkT5C+@$Z2oORrJsutqn6=xs3+~t(_#aoW#GJwkQw(X;E#^XUl zO|eim5D7fsVANCjP7G5@>ywbJfuHfKQ_CEG>liLOXPTt{0Kb<2HV*(W>Fy{g6DxTN z1Z8kJDo#Htl_p6}2i`pGJ!%gnqW}UV82O9x)gwV1m?QUW2SqqEiX{kgP6Icf6<$O< zh_Hlw#DPv4oa?1Qr&1Ii7@H}<70z>4}YaqxQ;=PK4t#^Z1efm z`J!3ZCAcGkpW{`f4Y%gP$IxzUlT88QzZ19r0K!mr?f(Feb}yx1i1&|nTK z`L1PcO_@<%4iE$DjAEyW-Xu`#yZ{DJR8Fr53l`FHepWQ-Q+nm4ZTZH~af-;>p*t~r zC|3MON|i|%z`z_-Ajud%#DmxGQYjMhS+o7ncpq8-S&2J9JQoKvjUWq<8HhMLM@oj^ zIsvqjcW@Zgu`+;(fUVy>>6Oc{&onT{Mn8cS6!EIY;Fe>I^~FeuzGu%kJRDL^ju+)S zyO4U|P*st@d`X3ehZ+86+af2;^*`3QzW_cwOCQSIqbSE>d)Kqv*}-)Wm2qq&Q-D># zWpAxku+Vh-3DDbETR_Jy?HoZ#_Rcz0^J!xzAA05cZL0=8Svv$A=AIyCk$z?k_lWF0 z1y2lWxWLC5=~BRXbGNDE=qgIRi2Sz;`^H_p@U*Cde&qRf{JU|Hnw7ptBA@e>}9Q?diMynpBELhW4*<{bk_ZbMQ>IZhM$XeOX4%C`iTZyL>S!f< zr3oU9NSDh$KL?>X^{oA8!`52Wx081mk$;8948KELO&-$O+`+!j)JL#(1HE32P)68pbCu?&{nz`={n1sP7W2OMmaV`*Y1|_c zed~@@zGdN8y;iz{Q{0Ws)6jitdwBe!%6l9u_xx&EGE)R(_TrNp_gTkygTc0%zNrki zF2`bW6Zo)r2iuy}v(l}tp^iIfBZ)x!sJIoc{44i*;QeYdvN`_%ht`XOk5n=Uqlb4n z=e;GtG6EBB)#^`i?dwt)zSD>1Jahx8`qSfs4fC;XF^<@(6_))>(_+(Y*&+FTdJ~^o zt#P5)T^!G4Zz((-(SmdNR^SN}HUj+LFjfAP&5h^$-zu=&HhR#4TAZ=)UXACg4Kx+c z+zZBjo|VyASu7UfD|nU^PKX9DJ%wA@G)NJ zEa7pKUd6i9;t)YI6Cpj1MfwV4kL0%21Ssf7S_!*kF~hQA31O;`)}xasLgS1Jx^h@){Sg#59YKiw5x zb(VKkBg<8O2<|;ARg*nMQ^)#NK5hXt$*|P2jYihXbDp(fAxOpm3OevAOsFI(=iY+K z#I9JJbTkrGxB#v|>h&+(Ko_+vu?AKLB;)WE6TGn@EQ1O^gOX{3Ld4&_Vy?~p$Dyk` zM^Z6anp(|3UL}nOnx(Olaw)fN76-vz zhrhK*(H*2}LoogYxoIY2g&?Zag8>>w4=e}ePn?8Bhz5<_-2I2Wkp4bB{M`x1C|4TX)RHVnq%)lT2c=SWZ#!zU zG%9l2j&Og%u1h!WINQCr7^h(-M6rFQLg#X6{N*vN3ND z@oiE0nrsSAWo6~MZt4f6NLWNkQ599AJn~39)DW%61%pM)xV$l^-DGlbqaQ6l&xsQOh8O$Bpjl&)+F6=1 zy$~_zKgO9aLCuAQReot4eBad5?d?`L@RBw-c^~zlWvVy?jsC-HFxb054|dT@+xJh zB95o#{gyrcQ2Ft>LC;EcpWI#Kza6R_MrF9SV;iYeZWkPyTPeWUyl%%qT$9}PFz)a* zVH|zklr$>G<|NZ2kde-6Lf^kg50UV}agvJI( z@R~r+@|GN)qMy5-Mro%wI9<8#Qc2MTQP_SorE~m4@DxYL>yb$-BKKl_t78GbD*V65 zQak?u3T>)s=1T46x5}-Q3JBx2dFG~n_Sv@e;A8cra_kKu1cQz`(;DFee7v7bb*NCq zIms`8bDZL)^8h?yy$4fLSbd?SC3b}!>DgePE3eUwG?&XVuFU%JQL-`T4#OSI0s`B4 zc4O?c-lwA+bQ$DRmNp~rM!(LLQB?e=JGzo-0Dv9i2W>v)?P5+9*!?N26b@9MsHh|? zc-k@QX^c~M<|r&e=d*UD3|%?Ing0NuV>Mk`Q7V|g9@re!t?r}d`F@;J7!kArsUSb? z98_{J0J4=+`O?Vc$j;rq{L&TP2-(N`D^emQV#J0dXZVy;wuR0-$M+_K2n(3oZaS`M zjAYuwXxZ%8G{z~wV0ipZOB?a>;~mJTV;NP+9Cl$=Q);N?N4DOy0b1%Aq}#G&MfL=m zTT66~c%>6NvXQ~SAC*fyn|mqu0;?Bgo*ye?HsQmzF;@-Ds{ADP(e85UcE}F}d;1@1 ztLB~FWL=IWjCJ~op5)$_I1qLIBFFkwNujw7=BJXZM__P%wb>m{9(rtBdzh6vg1F;7 z{*_ARQ#=ibw(*afkH}R!UGFu#tfcU z+PW23qTTJh_p2H6AACh$2sZ{D8y#yZ%HwiKkGITePC4qMfsb0cH-}%n?X=enw?3Yn zeZ^wZO|jXXe9m*V2Rps%Ct15PpCpyt&UW=4)voh>*G=110ARzP{{UTb`h@;%?9RR1 zj8-)rk=KNeG_J@;$_VR^T0xBExzD8voMfJzb4USW!2GL_^~-iLq*sdV_f&4iI-0d6 zzjCsWij2KBFzx;|mA@Pwlx^=?b2PLul?X}RM3)nZt{AGaD|H9fqxpwLqjvYf`sTE) zbpHUgru%tU(b2k!R_1mI%~Flt##rCwpS`ztKUy>C^sW6vPBH1BAV!t9hkc9fSbGY8 zt_-jJ)?5))DDsMxc+^)zPS2Ou-kia*u`H~;A1vH{8Ln>3`BxF2 zR^-;^Wr{W5x=3Vk`_$yGW4q9M*0E=siKl5?co=p;x;>49wBtDM>C^uJL8!0f@}h=7 z#I!Oi?%ms={YUFk$cU4&!?o3b`L|_x{{Z#XX_L%J5=LCKXAAgeKbSS4%+auyP{nf` zi{=!SLHS3@p!dya8?|7*LnE_v`MP~;BTrAZ=@1gjl)~pY=~^*BqDYkKs2-W1 z2SYGO6iN!HQOO*BbtsU?Rz*c%23K}JN`hk9jyWSLrLagD7!@jrng0NA`y0_n=jtgG zHN-CD%^4o;(v~I?OS&zjDBG1hQb{a`51SvEo(Gry6&k8X8W@QV=lFVO-hrat7jjbL*xQU zTst=>Jc0D3c@F)ujjE$_XOWt5J6CiBE0LTZyFo&1S1c45+o@IHpMQE}@39y;3$Er`Y?@R8T<|+5Z5$w;3wupP;J=C?H^Am}hUG zq!8_lbZ=EZPSoKN1Z2#=vQ?(?o=UI4o}}S z2(L7ora(r(Dt8%Eocn!gfM9?^GZ0D5N~nv;>V9F|P*d3vLXM@#D%|vHbAtQ20@zR~ z&f;81JKS+lxyL@Z6v2-@n*#$2)`1`{M$$_4Ij9p~HsvC0c=PohN z<5L-tK*0xZU7(y*S8w6i?dBhuk2n+*VUI6&mQT;SjQuH;;)^gG?thfz@ZN%leX0CD zi|%TxzTw8`$3nd`Ne}nFZN87xA6i7Xmt*;38T#kc(t-4vh<^V{{XqSZZpGE zf7cJYwN&w*^uZ>cqyh2s1#g#z+ki3ZD$H-ZaZGskDQvFppHWb!n;FU|UAz&V2=$cNK{0A0ZM?S`$X3TA z9OjkKaz`wA9@NDu9I}#I8;(b6n{t&MhB}%>G7*<^pWfI=VbW*>VRk{1?+dkc>FO@ZMv!gmQe9^DpVcWNE-N&Ev^r@pEG79|NOM25Gtwhr$WG zAUm?8bGz>!dSufNl_6GUUb{KK^rc9=&zakD`yBps2TP6K-PTPkKDJ)xzXNt5A!O$q}K?Nah z`?D;vsp@u|DW@VJcGv(UXD6C`t|S0OlFE51YNpGFxs!8<{(~lhi}6fEe>vK@!RNgx zm_PcoX8H~)otRV#CI#CigR#wDf4RjnEJwCkI>;B$Emk(+nnKSee(vnm#a=Nj03LdEf>ZRK;0WkBpuu5ooyURj#>4*}LBzN79_r zN84}x^;M#hSubDsV*>-w`_MzwwQm;1P)8tjsTuje9MizUe8;bPYo-*Cc%&k&$t9K} zxBJ{wGeWlyGd_DCFnlh2%aU(Xn6FdJ-kKE z=#Z!w=~iQHkf;EBqM(?O7*NA>hM4*kVuT|!gU-fqn>oV!igXuCEbM1(yEstXWO~)9 zzjqqMr{-@?!`6`?Rk&4E&eZ<3Mm8lE5dd)_pQ-CrqPSH?IZ{daK<;YG#}+ZQMthN2 z;UZbsGT{_q7z_ewBsN}&L~)mqh-1qfQ?0=u$jW|mz&@2v&OTx${pe0xC#SV&nHTt2 z00v0S4H8E%63Qc18%Hhl^rqY@1tAn~ZWMYSS|E7RCwF0%JBj|3=&;UZbr~b&9)hT4 zX>8+)-vUPt$Dnib6G|;YO&ED)!mdV7da$R>m`Da=jB%drOuSD$mJ&!}a#(g0?k-V+ z-KLX1Yx!t+&pAKgR!5%~@T zn}x@%5Jj;uyKy|R^);Dl^SrPAuWIF&ImcSC^IbRY;z)~Qk_q5b%uydNB zu*CjSvq-FWIb)oCD#}44{{7@{n}9LUe~nfs{#y|wtn$f%C?(v|3a0=jMmXZ2l?2RV zKsEvMHs8{sXq14!(DyUd%CO+bwr;c8CQ`BQEto;2JoZX{psD&(2~ znc5)R0`QFx(t<92#4PmBNCu{XpwgByuK?bjudgk+}EwtB1snYVOc91gh-AYO4dv z{{Ua5Hb&1%&APpShLL1MxkJi=K7Vharp0(}^P7#Ee}Xg5It&owm4yf z>7RPDX{bds3BG8RzUwJq4n;Od(o|(w3%&~Zl8@?ns4cAwC*_Si{{Zi8;l(pFwYjJE zsC!DM*=mj31_g%hMjcfN4nHonaw&r!l~8|qLi9d{rX$-GI~v=V$BR%@438A;*?v#V zA9{xQXSuhPnO@#4r2L2G#wy0C56bTdUCMVd=Yx;yP|tL;=+5i7DUAMj=~>Tfo8hB+ zsWUFt&KRP%F~^n&K4LlMr?-4gq4w`novl;F{{S9v{EXkbR6Bbfpw#g|k&WyXn{Ucb zU-yl1J#{{nPRhv)xqJqdzY zADwelcW0x5i%GTsN-0J;h|dPIl8{+DZ9-l+&}hg-U+Wa=nhK z?@(2-6Tm}s`@^UI0A9Jf*={ahGBY-L9@No0Dzs_4Yjs}VT5eBFnsT2pG-yVOvLv>Y zz~gCM-|YZvb4Ju&V&Y;xRo|Vsu5v}%REl_-MMA1b-NR$Jr5SRCY6_<2weGENa*Y(Q zxm^5?xX;$H+%A4x?avt$)Av66eiY&Ij^~OcBI(mq)sWZcujx%3fA#6ZpZ>iyzs@R6 zKxa73FFCv532!n$7HcehIFr|_OmDnGmgD)FPQN_V$vhTQp1@ch5tRrJj) z((L~Ld5!@0tqvhAhb)Dawz0?3q$9Oc&C1ZOrnWskE-U*qb3Dh7#y!l9WF6}oUL z6!N8??<(zIzNZ8n;-b#o-gJ^g*xjAOXW>f<$j;9Tqx4P3zv4c$6j|9SebTPK?eJ-? zj{g92YBucWcVDQ-G(Ezj`9)b<8OviIoi6_X-TmF)?wrsvH!??vq+ITQyrVcCq;{ah zfPUnwe+kbyp&!hYo!d5zn;V0k^&_GW?;~e9UNinQhC+6$uFzs{PMQ2WieYcwDowZL z`Le6WB(3WUVodcVGQXN)hUPVXD@yUTCL ziU!gc%+X3&mv_m=-o0t)SdH$-@ElYn^5C}JySRSD5B|MNKg$!ce5^(Q>`A0kLw7gI zyS`S-lAfOQI>*1{1LacT)|(Dfa=z``LVeykQ2zik?)jr)LSxitxS*DYjqt&@?=x}p zb;+bh{{W^^Hs6zOKdnk5+(-EWkw5lge_9A`#BUDd`ND>fftBr3#~P}E^Bf*G9O93c zdamx-rE~Ib6a#k~5e*|B?)9@w9e6^wxwBcZFuhR_7l|NK`;rf_CrRcXRmF zhxt=KEh2j8R_O;DeqR3oN=auYZ<3(4alO4g>12n_eb2d990fSf*WRNt#SD8}YBx`t zy#|S{o04+Bf95QH_i_IK)}<~oVng#0$vvv1ay`#NSC5yrYF+W7FU#}$4s%Q#Z@Fq1 zQW%I(pm%CN)~Bq0&;J0eRpEK%{{UNs#~U%6{c1yYv7MOtzqr58=|L?P07#S^DyivE z`Ce;=+Q_|drv&|Igzx#j^Jng!i&DJ1Jz2lHC>7cmAdMGvYO#^das28T8hHlT#6^F< z&OZvW6{J7DDo6Kw5Ammvh^$Ege;_C!$-T;6R`2!A?X#dig(9Ly8*;I-IUQs<#Gz#P~O^+-0 za(&NAx`uK;fq3ZIII1y(7eU6~?rr`W(A`XlY7Y#Af@LE=-Qud;T8EG;yO0L%PHORd z4B+(isuwepCeRL8ZRu1i4YE{X{{SMByN_{J&AN5+)p5out)UAu^ME+|RnsU6dCpH- zM3K!BMwxYt4#j}MsBNGzN4^{eJbY6G;oDck-H=2_cf|yG)E=WN)!iO*~d{)JA*#<`>31hNiCu;mR0`%cWA0ta0zA} zSZ|bKO{WS)8V3}L*zfATOme&W)SYON$1IswiKAEd6sKXNF zX5wrwmKAqD${6 z-fgz~f!eCP=A^e=29dt|9FzSkG2%tHTy9~!7gi^ydYCLo2ba^?s#w;hmT*Be4b-^- z6L#j~=sjy3YL-%5%WoCpywMyyX)aiP8LJlaNgD^0r|&vB>b}$E( z{&e_c^4FMUFPxI2Iik>siJ8YO_d|M9=YO4IO{~m6?~&_P#6tH%MkyLfGJbQjr?pnP zfAwh$Qf^W=WMJdcwIfZ5v+-v2HBRL>-zy^SSjW$U??Ob#nQlC^A0)v*?g#kPX(W?L z=Cl%RU$_{4wBNJ|+ZaAtoE^aOf5NSch=2gFm#T`s0CF`}fGr4%Thh z2>s8sTbk-Q7@&TqF3bF?4e2S!M*ZK*!XC5EiCK2-QJ$IaRINB9eB2y;D_!Ig zL_-&zNkmEXe?)7GZNHbSZa`J0d688pcPqdkwH#}wrudkFac z5ILxl;hhf1nlQcO8-FTld7pdbZQSIZlmRJVzyL|-ts9j_bAmnU4=@HfIVAr82&RR} zBP4rvrUcC7(Sh6 zFE!r zCf$oE$^HONXePwF+xTOVzuINT^Q1?dyMFB#{kL(S(xT18t;&UE?#wAtDURY>wQZO;$*;v7Xf2A0%8(`%muN5ws6;itmZx%X6TN@yAMz;udrKU*6r^RV!p6geGa# zld*mq+*QA_gVt-0U-gEi=vvf(yDQ{zF#F5d$G5#a-^9t0xtsf|)E`f3ihVUCIrAhZ z_)hc1QHdgs<;=>3w_vU~BiEW~TrXnH&C8MU2u6Q}n{$3bu=OaWvbCEm5oAK!Re0yO z`_4Ffd~5_RWA`i=IK)mD(yo50C&=|sO=N82@BLt2)^3Lv|z#o^^xqFEAOyyO+@xXfKsE<k<)0X$-r zNnDM*deUqg#|PAAti7>RQbz5|o+;`?q@%klZ`?Wc?Mu&UvbHk6+)x*zvfLoPP$k9&sCQaXMW zx#me-p)@D*uP-(YkhHi8c-r6os_0~!YP09%+nVPzxaDhh`@U_%83)V2_xfhFL~}`P zv7JMG*4i=8<6U(A6U)U(I)mm$l%%gKDbCUq;{ekpx7bkm(i}J&nX`=jX~`Lq({Z?% z{_mf=*Yc>^(n+n=1kxSKH*z}uRc9L=GD==Gj#Xw?{x!}Atu4fJ$F;E(n_oMDBA;gz zamAdS-5r^-b5gWhl&SC5fe|V^=lAOwP;vmL+&~ORW4aajwy#4^x5B0|mQFskHx8Kt zZ(=A8qzt8%SjrV!+ngGBhB(v+%SZm<>-DC>1`a=jk6P5g`IOmVekSl^uJf3P{Cpm1K`cONKAG?nd#$TM5Rml39VsDe@Nm;i) z+}?N;>172-=at(^3_yL=^vd<1ZHvGDnzA?dS+YM`Vml<8=2rApPMD-9jDLxjt{mhF zZ1OZp1Z*2|;ai#tOqJd~%%lCR;-Zl^{{YKg-Bfc`BzU6hwl>El#|`zW<5#n1@}ato zW{>476Ar$Z{{SX}u3!7k%IY@s-P<(i*Js{QxBKhCs3Ex8o?Bycbt%Z^tS6S+w#nO+ z$TS+JDU`(^EK4e;GwJpGsCR;Gr)skHaxy4(rn&;AsxS zfnP8HK~SfFIH!%FR|>f7aZsrY?D6CkTx~0l&YYRtGb1Yo#p6cJ=}DKZyk?l=^Z%1bC!k-5p(IK^e8(Xwq- z+qmu^mvE*Cw|Bvoc&?hM6UdWFv)T4TyG z*mwGGIH1k4!%exd^6XRhm-$qwE>r!k^^td}LvJ1fC~nFKzO>T0C#i=NyK<+|tC8@>jI1?;0cH?SxQ`}A!yl)w;ayZR7jC(ss}XWUI5})? z>`#CGy*$XP{7btX7v?n90f)>LzN0kdSis6{{07)r4H?_oDiJx^rt|w%NbdUs;TOo>F*L@ zf+-mtaY1X{BDMg5yq0A+8@qlTs>`8h-Fq*muHn!rt;+q5i0MBjPvw?%a$4|zkoi;|HKZNJp{{Z#sgWoRpiFY%7@2A(&f!#fe z(_C#Ezl*Zwsx87uca~Ou*yk0Os$4qRO!IBs<+scmrv|)PH7mP!ZzAq!n>|)SzsS`n z+{wOE--GUbskhXz=s)`O_~QFHXUj{ws}s&^gYX5;wCE+&ZVZ;Jo1;g`k&hT4`h9D+ z5@EMYRC*xjKl=2g5|r6AhG{mi%qYX=2k#mrk{E)BO70(c^)LQ4T08is+_v*YGbzIr zU_d^cclN8c%7mP@=Jh?PSZY@zK6Jl4U`D-i-A}g_YB?DKyoGSxO7Z#B42hB=FP!tR z@t=BUkW+V@%*x$1bBYVmmptA3ys)|TVZ}T}{72?*e$`qDghPzU&fIk(r_7T70Mj+c zZcPSKM2yO#mJ99cRp&Cl+>B#AWa;@-+ZB2Z=N(&;C}u!DXA8%A1dPN+UAe~9a!()U z*0i>9+Z9TEk3Y#S-Z6zEoSL*CVuSas^vyBLQa5CW_?3M*0;p>@@muNB%jRcdGl9F% z8oMkisN2zgy-ji6Ilfzc4(kW!Vdbejb@co*L6bSFFNjwW&OX-)$g2MUd3Zf~oSNZh(5_Y4EV{3-wr?EJ!``l6P*75-&Njt1H%~d^-Hrd$gSo=if{_?f_VDYwj}j6 zo?+L^`V8Wz-OVANbL~}(ef9OKdY-jwq{kCpNFrGu%MM3>dWJnl+Wy#^X`+xhE=n*a zm4L0{4R&n@PD`&S&K^y!IuHma`c-ca`1UPU0*^vd!gFIaxg|mk8{V>fSD?YH+7xop%)fF(IKk(ywQs8z`?(O{vGifzcdawxR*xcGL3spQ zkfz7lyn+ej)(?gB>zmzf*UE}TNaPIdwBP_nd7!R`ugR|2+QfqHMS)})Pcwm4)5Tg! z$jg)S7jz)uJWr5Xy;y71R(t`K;8?wC($sO|ocIoGV1RE%|aNCFom+ z#QH3b(#fh>pPS`hG;lp}QP1M-72hA)knK^E^Jgc}Qb}QCpCo!^y0d?B6c`oH_`6Sn zEfV9%vkp+pV{yEU1kDJ)=zrqxgSz6bOt!1*8`zjgbnnXJtBPyegq}P{Q zoX-!Os>{81t8^nZ?HX;rpKh^51Zf0#7zYD^^yxuu*z#46ST{!Q-W$xP1 z2#Hi|!ODdLJ^qz6R){w~W4gYDp3=Em$;*&+xhCnIcSrF|a&} z%y6Mes?X-zBB%P#F#OElcn;>LhRZ)Z+qXB}`Hupk)M1JfoxgkJ_3Pe+A|$R{h2u!V zhFzp*twnJv2HLEJ$mIGDT8#acIMq}{NgpWVtw{`UC?^q?VadShQc)rZkv6B7{?lY+ z)mh!Gk+7SVM&oZ>ny~3_{n&p>q~_d*k+7kbP^OqR{QbKYYIi3JhlzI3tii%~Z8RwRgFG2TqlB zK?LPO`-(id?%p%=oKj@}02HI>Ps>q! z&UYQ#yJC)i*;Ak6IG_n%=ljf0`=hNjfeV1G^u;uj{{TIs3_rR}AtmfZaRDWu5z!Bu_e5=Da8_oP=jB(r`s2I&R?$sY8j`hdAVS_-ivNs=&gO*!?&G_!HS zEjZ`7{HO~IWh8aL_cYvrw+5vD01ovH%cMik`HwjwopS8*mHBq}HC4sLtf^{PGUOgUTvfy3M?NL~?9=-^Cu@0V++-FRG))(p zn|K)I3XX=V+r}RXmlp$X%0@>YrAzigI$Yd;-$VQ>u^vX_2=jhPK3P|zdi^R$?-C$m zl>Yd1UhF+Us`nOWXPNekjp>r5TcNDzEtIdAWVkm2ocX6LJwBe*R=Jati_qIQZ1Mj9 zsVVNqy3z5Ni>U5zO9*- zO>`nioWt8|VBm~>Y1gpa%LI{^i|1T7%1@axty{RI%pNeLm`e=3M35=Q;b;=TAm`EjP{YB7N$y?O&Okh8^+mT=uaWL3sPVZN!m^--$fcaK9@? zy9VLG9<@tVweu{NKw0Eoq4^;CR#R6;UK(7Jv+8r~LZ7`#9a|mE3CJvPXk{1;xGi!X z$T0S%$DHtRCs#F(f3vY``$E^TX8J85)FJF7{HhC)JPyC~iIzs0Zv$8%fHE_SuLH_3qMjC`Z6 zYNnkB*=^G63|U`er(6Ty>zchkn-Y0!sJ?M5*gW%H5LQQ-UVQSk#uK*$_}vamT$`joog(=GAEWF$3oR0QFSUZV0SC^7D^T=}e5R!y!|ZUP&E3mE5*G z3bIm_#>SHGWS8ZSJN{mT`Wnzg{{Smd$f3vae7`WoNgUggkE4%6Ovq>4pYAT%IO+UV zFUl%8)EG|Z+kueYhM`H`Wc!SE@L9M7`+HDOPcVw$Fj7N|5Tm^lTsp*0lPEar^8Wyh zR(G2ce6i(Uxj*4j$>%b#%uBdn^)v>AG0Iv;Q|E3d2`!)LT*r@|So9l)x4fD*QJ<1b z91qsIm=vr;^~FifVZ&mk?k>`vk63v@qDwdnEfL{{3NarYmBK9%Ob z3Fg9H54^jS?H}P@mkUJ6)O{MFM(|_fVhD6?>yC$$QwNRz0Eq*AaA_t?BD7o{0Nc?2 z0QISxb{(t+>~h3qTkBbyrYy;pPb=j4yHlJyDN?Ea_IdvR_0(~*88Vw!AHaGarAm{l z4vppx3Wd%-v<~l~0|t&jxH2eC-A~q{nHft;fs}3G8m==g_A0@Mz`z|U8^Mr4&Pc}< zLgr_i{80`4k!a8SGX*T(>VLw#{?2Jq;S4g%8rv!czu-W=`ukz0?T zKi0PsVC(o)+;Tbp0Qf|$zmHJWW&Z$v?9zY29jE^Q&wIvR;jT~RT_>0aQYtCrR88B3 zO@y^Mi98{rhG5o=0Uqa6*l;h z{{Xzvss43v2`d%6A!53Yw+w!3L?iv~bkpWj2zM&l)aRu=F5)WKW@Yt7%^BYToVCQZ2GM*OqjNcDfY#*OF>mb|egq zj4(>nb4M$J3o5ARBehYDa8%7CkI7xY9DXL5X>%fb>GyrZx3PcluNt}WKCz~2H?bwd zPO;AD65}n5H?DJD!FUkHK*Fv#$A6`GXNx{h5b6UAxtW^>+~%q)TO9IsI+#39d8}#I zP%fWz(mFCTz%sjv_b0bKI@dL4;muFaStZltl~jh>c*q@%YcMCG$pMGmcrid21m2CA5N(*tfNWoF}jH&{A0aW$fQ(k>C z;nv;=6vlVBn=S`@eifztv!$c%n^Cr5*JzMqHIu69_IK9$g{861+jeluyg0{WP*bzm z;jFbw>lZRwUQZKeCu@)!>O0r0_!CvsbzL+|sKU_T{EncHFko}f*1UHCSMPkLy=%bN z4EhzCuI>;iFYQ$&p_+P~ymBh1I0M_YJssQw8j!!u1j@(%w1;ZnspbYI=J?_6M1Z}x^=#ZzkYhR#ho%6R;|5}}VI6VTE$ zwbjXjO5^8zdo4F&gUYYe^`|w)4i-5Z-A5FK+o_EG382qXjpzJ*$M<@Jzwzl;y!1r- z>$~e!mAvWOApEE9w`y_6n0KoFRKbzYD!4y7{WD%;@lN$iTiYr7%jOaJf&FXI?!pu& z3f`6CUNOJ>X1_iPm5Gc=j+g}1#SqHg9n+go)sif3h+;_>Z%_#T02=lCHApSdQCSs6 z6?TvXdC$Y!SnhQvm(7_xfEfau1D{`N^xwH3TB#6u{{Y1s!uM8|sB)^lYY%cr{*}n- z_cu^XqS|?(V!&oLBX_nt){l)Zp8LcX3<{Njj48LF3z1qL2GG9P8v0TGt-_)=LU<(8 zCP!JOUEdu%e`#CBT&N_W{uAmweQSZgnq42nZ*aeQIXu9N!7HAhm3nQ=8zqon58Uvp z^{yM@1&c#*1=tI*kRyG0$LUL8JDn?Ej{eFCtw?op2@KfU*yw%5YFl5-VDk#BZ6lBr zw*!v<0F`*Ai>pniT%nAXjaWOx%y9nz{d)9m8(Oo}S~(VCTg-3Vvj9ioOikG9?C;#l zBbdd4o5t2W)`S^s$Z$(^_O50JN4!9)K=O8v&bMQftX^6&ZrVcR_n<<$`Paby@EH2w z{HCu1v}co!r_!Lah%e094F3Q#4AbsqF{ug3Z-^?U6SA z?ZSdbG93P*u6_NmMfX?lzx1X1&ZwJq$JDQ=?M%+(doH$o{#PD=)^*ggTij%{e{Sp30sVs3QUD2d0#ScAs?@{T>DmPM5g(oQk#YhmIGiHhz!akF=SYT^DQL7h4Y*%&dK z2P1$8KjA>PB-8#O{{W>3t~B{eNa21)%VeKJT@Je^+cay*ery|eP_6#yHRe7ZkS?`p zxWCT(OLZig^xKx-V{r$R+{D2?PH;vj3m!d;e-hWc_+i!byGedstr9Wx=qtgbj}x%n z+^Mf#@P*%*qS>z58CE1xLFz(*iVBml*eCi+?)iMB`>X1Gew6J;h-2CJyuiONQoZX6 z=f%2yoqHXf>-kbhymY|y$o6yySsEc;s%k}9*BYXLe z!v6pY{{UL5@WnLS0_{~B-It7?O0c%-1{PUA*~6NaN@dLaoqrmpTh5mx6t2 zDIoJ(%2$(b@xJrT_fP^0H~>&D3_p&ao387!{q+}%O;U? z!5o@_Qv3VthKm$E6K0{Qssa3p|P2F+GBQ;_>xZOVFqu1m-8mX(?E5RIL zWL6Fs?j5je3X4OsgqJeZp3#m0=sha(^xSJc(SZO8x-*Y@<2{5pHtg+EJu^*?HLN;ZwL<$28BwDn$i z@7>OSDpxokG_ClG1Fqh!)2#v+z~_Vb5l#ec$iP0hru8}MKD3T|@P8TrUEp@lzG-BU zO7eeNfXnJh_5zWKW#AF`RFz>144h_{2ZAs@rkZ#o<_q}JoOfn#rBDo}MLmCr=7ZFHi};F)H<`m5 zKbJQF-jhJ(Q2F3_hEwfFpDBezey(;eR?(jg0i9 zF`Vc06(p6U$;jLFB9hW!1mJ~jxFMW;*r}vJgY$kA*j6IMGOK*2sK~8pd`C7X_-u;u z?l_oBY(bFou{kWiN|A32h^zolX&VRf=BP&$Htb~)E32H7fJ*-W^{Pmg*xa&+?b%s; z#W)q{TSLTBWX5-AC~hqm{hh^)Q$A57MyVhFkz$NNJ9mUoI++kD7> zy1H)F0ul8u7NM_b@dRg}Re0s*X1X+nf)V z9QswSDnFT*=8ta*$3HVvQY3p8C(8WC?~j`}t6(C940i2bHS=8d(C>4;$1|x}tT!e# z=XMDLpwDW)o*q|4>a4+ki~j(zr<+f-$jl|fHf4`JI`N+Mp=GHC0xN;GWjH$lA+hOM zC`S67b!*gdN)J`Jp8gyoqpAFV`qUo}HpO3;^EIpesRA;oSKQqW!UZ|?7a{vx!r z4p&r;=(Zzz>!1TQ0l>(-!K^^!G> zn=C$k?pK~YbJmmP=u|zdz3CRA)1&fHv9mwIz=A(om}$`iki$K5REDLxVK14rc7@nw zAImj7`hq+xyVK@Esj<2obu{BBt;H&JZdo=_vB`EP7$mSY8(2a+x%>zCRX8;mtyLo3 z7TtkMgT`^x@lf7sk)`pWV4y8A%EG$asW5(5yHthqWe~WbR+LG34lPkM{nh+upl~&!! z^gopYLrOT8_rPs#IQ6SRKnH*gI#k?*XXt(EBy5g&WcgSg{`3fAhK^D{g@+$n!|^)r z((eiX0G=)}{{R6syL7waEBs5yHG!_WwS?bydm}Cjcfp|vo($s)itjuZb*x9DM-_#P zGef-o@#We{<2AxcFz!7G73rT2etivBY>oTYJAuIMTD4>}u3t;<6o1Pb8y(B?<)>mZ z_zHCQo-OiN6wzWEPIpNrYkJntY=3${+m3MA=kccMP^q^e*!;ZhY=4DChhu^N0EF9D zit0!vpGl3OI|*?%GAlyY#2Uryim>XQ9%hq-MUl%K`)0U55`V~lP{;93PwQJg0@9$q zxoPEAEdzjqusw77RXB+341On(A2%9eF`S@R(F9*ll8?)m5Nch$b2%jyZcSlj|{03C{%I?1+&n4*QZ5j z-^3BP`}p~@S=v3!H;Uh42v#$&qOdz#-v@*3TS$`Z?S`p(n!(s=!pgw7*^j%k?&sd7 z^MBpx_lHA3f=)kr*vD#XSt!peMn35|U&@t@l)H&5MX=^X4UPaf=9q;e2Xn6D$#rgj z8eg&iL1@=!9HGe{{c4;+41<6_Dw4U;MBK*`xg~>S{K_&7R=dAqpfqi{j|EeM{{Yvm zS)v~zssr<58)_-7RP`NC@ph^ov|Ud>_=R!yjRsYCnQ+S6h~uq!p7^$Z7f+Q`cduOW z<+uD(w_|t8sk@$j?RgLPt61!DPgx$9p=!FEdS$qaOC>@Lj?M<*frHn*YbL3$x_r81 zG4uR#=a0^h4sCr0PWjhw+2aRs{{UoG@*qWAZN@7$^&QSTTk(FWq`Lj0#uf83u^R$|An>sntF;KrYAF7A`<{{X&}{{V$?8Y6jn-Gl!C3fw8( z{{R9M>}Sk+W6R>%AYIL)#mC%LlRrw~yj=IuYKV0>t)#eU1{qO+11I(C?Ov~HsNtX6 z1L;&XUk_Mn@}pfuU85US!NJCQQ%=mQT=PE)O(5|FlxV7^M+nS{0m18D%>*PbFC#JN zGg#Vgjbo?EhT75)$}l8h^Zhej4Vb{j?6B)fT9l(?H7#Qjfh#vWsVBdsS{8A)-d*dR z!iSH{Pp3oZYIr3i07{l#A03TI?WM$;)HG)yeMbKP>rb~tSk!!*vB*wEJ>3^}_C?*t z&T1QJAy;V7g~vTdKJ*o4;!Z-cumYLpsOj@Jbscl`r}?P6cQ?}~twk-|Na_l=%s|dK zpp=^st2kdXXb1R3Lva(Xe6R={kXx--lkfb!PfCr3K`nwusOw0+Zc{Q(;@;mkE);YF z+Pr7Sk?rv<*2Z13VAr$XTkRq6{W(u>@UI~FiO+}$Pr70qvE0?eR%cP%f5W?Yu5a!k zxq=zCMhb60*yrB88rMbBl0IxLn{n#UulQG(cp)yO)#OVXm9}Pt<;;7s0UzUDfew|c zH(hR3>^8(I<++-7HBOgf{{TLA+fOCbx~0_eY-HIZ4p-9@hIv^SV!nr^cm5dGBeC$xNhn~k<7JYbB&Tn zJBK2Z?Nc?f!REJ;8*ohVpIWC!Tsq_`Khw4l?d<^(PoO=W^E9i*BdXwFvaRIi-^W ze3)&(9)~|l9^}O4w2LRzwG>HRwiev&{KwSSuIW~BTR@RSffYai1;zz%_7^r9To(4} zZ+GTK;p9F+$!`5VoC?%m9qEx}Hr)cJ1Q@vo)2%TxroR}vKJbxPy37!2c7_>IpL|#x z1GM_p2l17?-2VXR*7s932-v6#e>25Vy4U572J$Q}qmff)`9=c%v<1#TQm~s(xG~O! zLvp8XH~al61i6|SM3J$Lko=CVj8&)9=DBel@iWJqZsT%~V?_1@Aez~{=&`tzd(P}Uy*xcS=$lNeTwR!J@ygw4hWqEL+ zr?0|a%iSF(*!R|=ya-CBn1N+g09l|Jd~P~Jce)raL~`G)R;-le>l+uO+~ z1-2<|sxnRoKq|Go`Gif9WS0aZbs6pL?@laaY?8t9M6Kty_gs3?W7q3c-N?1dH_bAr3m9H--1e$731?PC2vK^F-D^_l zmtCPU&Bq>|wN7}Th61||PebZy0p@=b;@Y;4^DprI{taMwCT}CeR>wFp61@A0>i#8L zZPKBU_ippKW7uHuD~ZrwX1QheTQh~{+~S!?_ITbmf1THCe*XZ)T(88RDqRUq@0n%? z;Lg!-=MF7tv)zitU1?9_G6rhSIv|(;_V?3ZFld^BvzQIikZv zi!3YmeqE!1w2H3pZdkaN%VXD&0s7UC-{+X2+x6%9R5uMKLM^)f^NtTe>r5V`5z98o z7#P_@6NPSRv&SoG&d(4H_qzU+`Cxa4XtYquI3VJqGt4byP(D!^$~$s6tm-WdXlXPS zOhOH#EZ)_iA}pUfH_&h@hM)H%KSRZ8A>aHg-HmV_>IkA()Z;w*oSJc5AHDc`(3xGp zVTWo2fse`vBd+1k;Xy)Y?|i?VXX>)wTiLAEaU`r5We^r6bI;T3R~^Z7{nN)ZZ)8uC zb9VVTphlZ8C!C+HHOT{j7xAQgXNF_=Q%j=tD!*Do9g^APk6KJ;7&xZ9@gY#sFW`FA zfQbe`=i9XaFrXMY$@H04s+$s-=3g+}Ujf$nGlyHg4TVu;F}%3R@}pYPZZ1?au`kHA+RQt>BNvj#yFcpqzpS(XX zRa|u^iUu=ec=^h={yk1r1C<9J^nBm!{&dsR{bKa~4wMXeU`0gCGuIT-M&1dgI~;ID z10>vib4_U*C$=gTGT`K5pNy&8)Ch)WC#!tk)QRS_-y(+HA3NNrsLt%S@pH%0rLgmS zggf!l#DD-ovbMnA@pk1gZM^Rf+uR zkb?q}4+noE^r|NA;hXG+C>_A(bDS0RJXfHd&k>}xG^4k-Xx9+Hf7-z2o%UEi=ahf< z$gG$W^n(|j5;F2UvPTtZE$&Y)(fWMFkM*gse8Y7pt;AUdIQizK2mR0o{{UW@9h@FpKq1=7a;<@r_|rsL+_m~OwfkG;33^{I-leZQ4v^fpp6?qz~E^I>>OjN-;|ImMKXei z%#Fbr1a>vN<|O_o*XnUty3Ek10tQJpKhCN_AEgqClCw9ZRnwKwSl=zsLK&rId>%4a z*C(*4wK>dIr|#~X_i4{+%4dqs>19@oLopkQ^;7TdPrkcbxtD2U8elISPyYa_yy}{0 zeFX*1`T7^5oXKqzYO5T|07vbQtv-8r*;QU9^M8qu9DQoDruBh7ZBow9$-MvT|5`O-8Mb3lsR$o;eiY#>XC=Dj=Ji84L95S?YCr zqnGDD#rMBDkV5Y!&ztV`+tRgc^liH(^OtS|d)A?r7nOXAcAb~_l>q>b*{xM8?sC+| zD7z(dnV!-}8B#`?rPJgnRLeu^2N7u;10d( zNW|l-iPM%NEiHsG?g3(Nx*Hki{3&jwR8N(6zH-gCr_z_qc~{Dava-f<-GJ%FKb=Ff z{RM&C`=l$oze?K2BD>Z@q913yNn>`{@#V64$E`nBmN91P@~@Z=nHf{gdt>pcI*r7z zy8V$? zobQ;p>yWacDA>*qe`8a@BFPyb5PPZW54|LKD3TTo2*|3_u!r}-u-WB*yg$a7&N}yU zBAC8uv+_4#_4cTC$#WQXb}t#|hZsJBnrD{f7FeU$v7C_S1pXB0%)WZc%@B@8+RC7x z#)5~&keh{d$IPTQ?nooo-mJbuZ;Yz?AF5esPyqjuRo`yaeL{*`Ar`--R0r~p3fi8+w{-JvKM9QOh;r0v_=J?oy-96H>A5&8FE z;~&nn;g%sAZp4yfAyjT)Ju5R-ZGu@}bZXI@D;|d({{YWwq*bi0c!Z<(^5^^K`PZX( zA5*l_d^>FSkL4_qva4+*52@|ayxvzr?0#dGHR_%Xfe(l6;+_PRSp=aSHv^uPOw80C zF45LbFQQ~&^KDXj6;}JkIy&^YGJL!p?$Q-+ytq&>XBYPT~*_g+Jd#Ps@Bzk~HytUUek+%|TytP$k#>r{Me7>~qPAa@}Cm8k#^rny0WMt%Jny{{YY*Sbz4u&7bR8-X_;|E87pV=~_;y8%Wz-q_rdD$79bu zIj+72%t)AE%AnR~nxly@~Mr?6a;+a7Uw60DDN9$GxGAP28UP*uHL2y@bn-w9M6&G}YIL_8MH35K=B(B{5013|kdr*PLxy*Rm_nsfr ze)sx@A9ubh#qomG?cOj&{=&ZgKlEq9_WP&xuMw?cbIBf;;mvzbgG1BOYx{I$jBi(Q zk&kNLlf`;2f8-$nH9tPcfST1}-}yV+XH^00RDLohk+arCaKEG$><{?Y1|Q3j9C5Q7eronzTE^aMS)dCT4;v|ARtbf8+8b;eRonA-VyX3Sy zpU$Xw3i0nWb&5mHyX@P$u)!RDKc#jNo&NwPSKpr1EZQ+V%v^Y$U0CW1YkV?tBJ$s0 zUc(jXz8$)|y3^8In^O(J7-V%L2iF~OQ}D6zx8~pl9qHa%#uh=jw*BCJJ*qA^qUwfW zhH|`fgMm#dB9In4)wt`(KU$4t&)#HDW<1lnjyEs+csQhJk#04QvMB!mcxIrwK<9Y* zS$HhIl(0X^^DA!0ETE8SvO5@@c}=$&KD5S`q_M-C`K4X556#XhNfb#L+4vo`91por z?Aw(Frr-1w6KzPKebN2a`FK0UL8#x`SU_aDnmA+Wx!5SF9(bbNx?SGcs<%+bei}KV z4GRJay5ul43Q)Q+ue?R2$@0ak*p=Io-g^H4jd`EM3#&_=S}AO2idg)CmW8(r?ryc~ zAMlOo5vJABYzG+JZPcI76$5B`aNXr;wx91T3xWDmPR30>$CG#_<|`dz&YD$)Ohj&T z#&S5XLWjlLLVz0Nu_qZsEn3N=*v0c0Al;s(HRJT5t>9jk;CBp>3U|1aS(7)5^yV8w zOw3LJ5Vk*+X59Fi#xyyG@su82;5>dNwslQf%EHN~os|~^ZNSSPKs{^B{6pd!onl?2 zm@QQNv4hllpHozVPR32std~-{?%L89A57HxPMdM6-J}+YxSp)b!jDr_`~LvIYq$7g zBuHmh3&VW7vF%jdh)U;W;hzp$X*R$_GbzE6LcFo#^!Bcz6$k+1>s4)o zL0KGewYz+^i)E;dn{1NAnfXE8yWjkpw3~n0`qe1Mm{@_|1MsOBK!J z#WroooD%$G?)0QXG4-g?6XYK=K2OW_uQ&LWZM7{X^aX3v6a6pu$CdsSt_$Lv7}M?B z=Kla&x9?;Q5BOG*32brR6W<=W8P3LZWgk*FuSC*xxU|8B{q4lRypm?yxSy}5wRxw9 zrt-CWC;6NAiU96&#w*nc9KKRcV+qB?&)Z1! zQ~os-waR&npEt^O?k&NmEb_en03_DibGvTtarx6Eg6$`UPdM#$+qIQf-l;n~o$?t0 z9Iv)JTXM7sT)MUK)C$q6VUQ}f3@_lU()Y)={CQ*ljez8zFhHvUPB`JQW5A#`d6#? zL?h@Hl0VMgQjU9ZK$*dK-Xw>_Q!pRv6h1!+={^>`L2l!Hyf|guj)Z^ps~_SjAl9R8 zn|DMH-S;&w!%v%7o-^7l!2KA1jR7r>TZr0-`bYlP0-XXwBl)FcU+$^LPgGkPWCX#lMV%R=m&JRIS z26)v}#NRJqMkpofS9mUZAPRo=+?}WNr(51TXMAfLgN?4(t3PSl`%E$q_JZVol>{=y zG?E{b_QQXLFlnuc9^zH`jAL#I;i|L}N@Qtfftz>T>A>`aU z1oAKAnoJUGZ`vEY6Ay4RRi~B@DpN1Y#Bdy7nz-=I+H!uPsYsJtPqeg7vGQ4g%(kr95YxPy`UgvD?kvBDX(3A%2x0$IXQ-KiQ{qx3OPCNXzm!@}OnpwuUud z^^Dyz#-7O#{{WUzA96Bjt{Aty8+zrr_U}kyw1jjkyY&?xnEc=!-n8)$&UpMqJ8pV1 zjC#-nJ7i;n!T$hjrAnh13`fvY#sC={`kIZUOp%o=J9nT%-ZgE#Tc28u#vFXVl{Q?ybj=|L(1Yz!haI}oGjYIU z^q^pT&Fzw^J8wKw)Q{qnbp8e7^UX)Gh$V{wjyF*njiCIe=|B<9<$roz-+;;g01Ap7 zMjLCdFUxP4G6??w>zaJ33I3HWnnGnIf^Jm)I?|uSb7H@SL@$K7*#kB{ho8eWL;Wt| zNrYC*8(m!E#nW(=gDJ`o2U@Y`PU-SSQL+4OkL8+!{V?@0FZ+r~sZPZi?={5Js-#zM9L z=jbZbns=Px<-EHjb`oHIf}oDu7ZNbs(|z=2J-sUY7Xnd$+gxzK`qfF1822DuDiO}o z{=3d;UdAyW?&DQGw$;+xI0T=q zGKXTDa&iX(wl&EX8+m8ms=*J+e~+&pTEMd|_V5s@6=NSM#z8g3TU}3}%dcjcvLAiA zf6qu;mB%KWd7p3HSrhn<0Vb$NGw*M@+d+RFacRez&`X_L9_T({$ISmcRx}w{OY^Qy*9a(*Z5V3 z1pajBMkDg`kM>yf`U;1sx=lvK$mGJRCRw+D+gm@GrDCcjXWf@>6?$X()pe98`CH}N zmOtJe!k;1Y-}|vg{9jJP-mO~3T%&Ey*d>&0S99gBVpsnF*G#!#8pRjOxks4eJm>!a z*HN38&MN9@VA(& zf;N@SI$fY`3Nui{wloWzfSekRTd22{-V0}?cAqxLu4VE*VYkaC<^<>Q6&&{nijpd{ ziW@9d2>??>%O%5kiz|S+Qez~398_{i<+&m$niu=Pp#Xc;5>4ixG)){X5x(#^ACFpH zlB@jNe$Tiu+Sw!g1vO-Htbrs&Z@6EKXV==Vz?))N&&~4wd{D+esQwZ^+NhO{tKqZd zvH4H;J-(E4Y;ba8J^ui^{sNyXWiZRU75dT`TsYXu#GX1Rtmv@p{{U#ie7pxdVx))6 zE*4j1R^>JvWM`p0b5RizT`K&o$RUR~_WDp#L!wZ#;1DC)aC!`r&{kK8_9m5h+kWg$ z`@8U_w`Wc1{oh0B^sZONw`&iF@0LOp%q2&;BLn%>A|$*);_+b^IyzGBNF@$1fUUO2pN&-@0xOT*e0oi>SQG@5m^ zj$%g3N1g4D=4mxzjvL0W9Gd&IQY4B|eq?aK{#AS7<;}gOuW;8g#}c#~Lpy~T+&yd2 zm&3XN3H}uMgl9j9beMkjr*HRu=#&sYD&wxcAnGyd zbA6Q{lG$9ME2+sD>zwudE4;hV^zj>cc2=t1(5T1hUOnPCe2s4H2Gv!NfQ#CaiB~;S z!#**w)>$B8Ai2Q#Wgu=p?40vma(QLfdWPfbGhRjT&rY|wyO!eNS>%L|FM0V?`u%Iw z;TQ^i#b+gA;i-ShjfYLY?r}^WVmkr0MaMhN4JdpOQNrIl{J+KD@T6*x{{XaYPnlXV z(DBFTO!MNA8)K}E*aMSOAD^vO@^W_pv#=?_B7)LgMKCK9xpK#;{**LeC=j;R=n>Bp zn{H5ir6gSQzwgjz`F53MX6d+76V$=+AJ3*<#q#bkFkRjFHQ|mh!|!yjch}-WYcPKC zu-x5y*M!N}Cw6yMkvXNg>K_fixjla`i`^V*0+<#2cV5Drx1Tt>QA=|**pyc}3lX&Y&YYkcFML%b_ZNTHBcNNs1 zA8D#tZQ#1NefS&z57Q?2gS$qY91#dIDP@m$(E zt-Z$i?Fq>l%b?(Vx$W&vO8TKGTSM9H_MExfyBNkXidLWI`4@Nhk8h=OdOp2vslt<5 z+$4pDS}<_xJqXWVYPqTEkXY%>J2={daO4c})9Pw0Up0yCHOS}j1e#(*xrQGwx2MgG zzgpiz$MCoNHRWFq=4<^|Qoognl1Bx(`+%I{y&@wo7%8`=PHIM(YA@YN@%-CQ?-XbB zsU-gZfbOc#zxQ8tTYn6-F^qRC-p8lqL8ILafw*n#yR-5sJ*nkP-l)EZf@&N^6uEGr zSa45c?NS*F;{}y^7U`eV4DgOX{womRH=N{bF4!`2- zEjd{Y!pi)qiXt79`}2WRV>5bIiZEG--Rjum>0FPAJZWWNx+`F3ok77*x`&^=&*@yo zqp#~a<9SvQ%N!;CPbfC>KiXm2^s5?YfUYEOGgi4&QZf=2%M$Ke)PST@9w?%;M8D(r1`kwV_ zMu!*&KkaVKH7gL)d!9eyNLJTcxP~(=o{$I1qOolL{Z1sC}L0H3u-0LT~zf!?Ns zv(L^xQQos?)-09)3a;L&K5Cym>L-gob8`CQy$tf8A1K@3*Xu~8u0^Q3BwIivxyA)0 zo1{poxMXonjf}SsE>6YySKr=?h__(i2K5xiyB3cosOpoIh{UJnm4dhXB9dtg2-uL3 zw?8vv8m$2`r=2#{Q~mCMP(E8~N~2^*h<}G}?cHmJ_?`1t5SqIyIunwNB*@zm-`XN**b@7J4Pw6EGz*;7^@x)@Z_+>_w#N0Q9>eD=!dZ*s6Wz> z+B#bsU$WR*TmJwA0Ww?L6%UEH(ytH7+Zmm<_8Wit^^dFTny!}~%|}n(p@uFYEwhf< zJ@_?+t@x#{qLK(A@|HpivvNrO?F888i{?fnp|3>nd+gI~RU%)R4(FHdgXx;{=0J$0 zK5fgp3(w(Rt)XeoG&@*+RLlc*<>=THz}C4}n%$WUd?(Mdn$Wko{oH#uH^>g^9!?^`M4|_c;!!5DVFv)rL>8 zt2Q#mUuwj@Z}BpKDl(34IoS?pU@(4cJAgOi~@C5zpN%v>m?H zO=AWtE}6^hfj{%%Kk4nWP|utc9G%D zTTi}<;xTTF8v}f&X&;3)#ig}9JV|rEdUIF{l_^RU3qK&kOm5{FGmQBMWsIFlAI@Xz9M!B*fdxvwo{{S4IT6aAoM%QB0R9#0T zGOPXFugY=L9gS|sbX)#exBLNtAI`k%!d?>9^o>F}-tNtJ(>Vzi&H`WMYe4NwvBx zPcFcyzj=-YJuT2i0ovFfc(2V_u+J%Wnr(~N2Fl=mHEnK43%WAn9b-GGTEL~;Y^car z4g7yAIp}}Fr;c)jEa6R9Qf zig?<+)xMcET<+iguHn9slls&Az21xL%rjClZR!s!--S2K1BD0cP1_o-3nqKvvrgX{ z{Hi$h>p%$70gcK(;7yuPK^RyNpY~&`AEcSt?CyPGrm4) zv-sx~5hr&bQ&@t2U+|y>c2oD|C2_{VOlc4Sf=||?Xy13wwU>9xig1sUzw*TZF|Iae zXdg-zSxaOR7Zk*R2V=OlPZ{k~vS29tzO(@hjP13!Jn|2vOTBjGHnSo&q56d zpE<}UJZCfjt0wNCkN6HL$8Y;B^)#bu^dFxz*KGDt_)sD{sl-aXU61gfq=~%5`=vkL zrC%@R`=s?Wir$Ltxb|KJ1138{f=J+YsL_5>a!))8awBfbFyo-jC~dCWx%vtKtvjkW zAS*R3lu^9zz7>=Ad~O-Ajbr2m$KZloUVmDu(9Z?vc+xUX(p=Xw7Uo>Zt?^sjbJo2!D zBPQnIQ*ms2;Mbc~+1UD=3=)OSNBPcuM^1RAI&A5?Ki=v5>I*_}%J4}O^!dgB{ORfP zKl@o7G5s@GGt)(@dx!HEkiDG0L-qdv8n*7Lo1%3)jxeXE(Dtn0`ESRLYf9UN-MLwI z;m=%uhvQ8g^)zE7f4j5H{{U-d4Mioy3RmW3`LGIg&;9jQBzPnL09+$K#u>oD{-o78 zZ+GL%h%&J&mr!thfa&0@BXWI-rbxJ?^W1r;6-NgMZzDt%AuS5{VJud zps5x6QUcx`XNIS4-`W{U+um?YMxa^{TgbKW5t%s;jduOFL(Bj`TA)b2p(%<9b|d zO|tRxe5V8Id8r91+hl}w`Bbqv{3@H=%q~pD(KCf*94q}n>-p86wtU1-5##t_<$ohc z>uO04M7T01?&BQttgHbaPg-UD&+j~xX4#G1hB?MDQ#H(Tlp;_U?y8~x0LO57{Hs3m zXWHB6{t%^deqMh%7@*Xip}%4({NFYkZ*S#JkM~G+1`JUB;(7f3l*R*%#g$ZnxVIP; z0G<-fYcruC+k}k5MvZ-UmHz+`X_l7@YpCzH{or`9gc-|zA4;n)*`<_6 z1akA!b7YhB6}_hDf+mh*E;e!z7Xv=^wKUt%<;6}Brqg-o_eNjkCw+a}BqmtsWa}X+jDv7;e@~@RB%%-_2wQd+9QURp8)n-7 z0CPVhp5Dfxg8n%R0?Hh93fa%N_NGa4lSs(kVISQ&;ML)fF^BHmc03Yl8tI;)S5-VvXn1zZpF3wH@f!{UdcGj03F7Z3xT_mrkMBZFZ zR~}+1;AHX6Nk3X>dzOA1>1GI|)UJaoOgyO3mmenwKacdS&k^J7H((^2Obk9@fx8Eq z*=r|(Vt5ib;*ECg?2GNk7^*%ch0c$Ayzl+fZ42LnRx4QXgVjg1dq0BTJ{++lk|I!l zD)D%}@`LGKk>PvIVKk^ko}CPl1UpMjjokIcHV1rzVEOj#W5?E~K9$Rf{9QDEEryn< z)mf%v{HWjK41L`fRC?de`w z@Spxdw~O-++-INnhxpg3K+7AeHt(2Xvzetmi%%3_FUmPM`FPDFkbs}NGA`fYQ~fGQ z7jj^AA26pQovW2!a6M`b(N{B+UO@HvPHJB{Q)<8N*BAx+{xvcu-&X0=4{C(Pwq;}e z(mromV`IdrxA$dTy)&AIXtJNZ+RS;u?ewWODBOS5wmEg;p>~j;mu!lCTbcyUXT{d{ zM@GCBQnup}`CBC89D(nSE5)QeKRWsfmqh``rD}(xH;oHhJ5m`Iqj4+tRbS(HNwT8^%5s{?m}$*nqbY zug<59`*ZEqyz1`SSR`bgCymtLqb?3>-i@kk{vW;BdHs9VZmr?lJxU^zT1LcKHhj&bogZbC9+1(b8<~ao5 zeJjrNKLTAxdkw|=M#&S05ve$G4@1XF^qX)Cfw6E#2qL0QGgzigFU=VvsvZ4%)ShL- z{HmdQ5=}Npu^a3IHJeS&D0`)hplGo_ZOD%D_YuIUAr7ABW((O zSoRgFhb@?ab|deR$LIbOk|*8sw)$-+jQuGR&IaR0@g}UwE^qB@V>}q3kd{8j)c!SR zPw)@yHkexyJPXWAPL$Nxgi}z5eb9s=1tu+kG^> zenZN#pJFS|{7d1R-6|KGPQ1Bj<6OG5gpfOsMlvhbk3Ze~>n~QcTcvAY7_5p>!0WV( z8fl5f=Yk)Y?rp`7QhK#@zYMLVZFX7qHR{nq{818Ly@0QKuZ z4i_AXo0istoyzc_lT_}RorF0hkKX5{Pc-HfEEE>(J!&g-OmAWfza-KK_hPGv&?lE6 z#utUipt_bh$Ooqwsfz_%E&$C@y17_BSLK@_RcV!S8^Dr-zwWR1zl{2O)I0p><96nlY;Qygxp+5Hl?&Ge8Cgu=OeEe73j+piEKQ!zzKo5d(<#O zV*dbNBvF5{8uY8sZ)7n?wXg@w%RonS82snVtmzWm-Y^hpv5S zotc=b$zw1$P^@_a)~;MYFD%z^%MrRYW6=B68H`{mJa%!F;e>+(A7kl3l!=`lXwzre z+5Z5EOPmj;DslFphB+ceOl@ti{xzEZ-`SsgcHsTL#+?o4lP5^!Z@c@s@(5>_tT z&*VPuDn{M%{or={b*b*xJ7)d!boo*FABJj%VtCozB;3q#^J1mbPB%-wf0rw@rN}=@ z21sOi!HZ?YOZSzTaDJJnQT(|SeV*g)?N-^5^{3q4?)f%cF5Y)VjQtNaEtH;QW9OTG z@4GhKie(LvHapAa&E0nG;C(3}2`p&a+C8V{`Ej4mwKj6^cDXkSzs0pi5B~sKu3XF` zhXEyT;r-g=ie!+<*3ZFx$7VIqOz!ZMP8bB#p=2kw!l(b*W~J zCU%HI%gz~$SqJf{0u;B1bP9iqa9q?;+QlU0-ZU%FZeP}<)NGX_jbfH~ix7ZDPCqJG z?QdYhML3g=H!U=-X5Ginr$MuLMMqJ)fG|g)sS?g38W_`J{{XT`sN|mMBl2aAIT@G! zSvNR6cr|Jpq$(3^sk7xO%TCOa2GYSlx_M*%E)GF86meXw$CT1Es=qeiy-%fSeX1_f zsQQ|0P9vGONwp-#*6dHEH0&}Had01)oG*N#AImheYDf{csZHM|bNbce{{Vdd0JT-( zj9kiOC<>^+48N@j_Y{-p$*rYHV_lLfuHC!0W{cy9TztEG{VEyk;Z^ejENqrS;?!lj#nH&k~Dm?v+| zj4O@~ezh7s%@&0nMs$|(83|`q+IJ3|)yreM9eQ@E7xsT=jshlj48*V}tzWemMD@jU z&euI`J8lTIv;`i%^za5YiZRelHh{yXtdr$z`Zn*-GoDc~hWh*p&+i_rK&W$ z^O0H@rjc{^_K-h1w6bmE0RaB$;)x|E?*=}U0LAlh@~<9^+K?$6u_x);kcMNN?LLIk zm0~#{eGLF6z;|WOwkbefxZTD%r-8!$wA`*q#(AIy{DCm22R*4qdvGW`WFQ5-=>8v> zSzF(w0u+vYX%FR2?deEI<3P%HIP*JhH6@htB#x^JNx3nXIKlR)FtaSH zwU~7$rE3k&Tu;JDi^Kl_KJkxilaJDo;F3gb_cE{jbHM(Fn=SZP`D2x^I)uReY7>7u zf2&yA)F>{)`d3=e@>@jTXNo_XS>-;yWQP?@;M{)Z1%5D@ANcpurC4T@=2-V0zrQ)h z&<-f_WqX`WDMHcX_e+lc`Ku+8CAJRd{o=6sm-s>YQ-j;X^1P9!pvV-W(j-y|mS0`Y zPwCQ@IAM?eS)zIz3Wn@ZpJeXjLT-9 zyMHlTuHTr0>sGBK&fyKT%=>>Ao+fyYr2 zY*YDnu7$qP-@_7nF(m&0Dg;v>yz!4^U-8XhQVK_X3i73@JofrKoi6o!>&uPI26jl; zG`};Rw^`^eBDNUBKm;Kl!-A)y~zx`D2?0d9-BF=b@-dWj*P=5i| zw5)V*BHmGVGQXLf${Pv+`~_sGvuWdK+edRQE2WMx_S>kQW6t&`k6}T)hssbKmS=2n zob>gpvglSP{YA>7V*>;=W?yM{kk4-|y~L;H!1-B!oj+$FSjsl|i?(O|dHx-ZjjEvj zl`ct*oT+x%_nRz7r*0~=8eXe5=|s!(XLjjG&*Tj}czaQk@7zNVr%!E!axG$M zKA`i-BuPB(uecHOV*~T=OJ-E=`PXwq-+6&OI(4f9!x9+R&$?-L^jA!PeT79XfpR+B zMvMGAatZt?dpQTzsQ&;l5^PW2myLd2S9U)<8iIX7HBJeaqbjQm6OYH5m9$vokNqNY zK5eeK#(tHrXQ0_b8s!>A+qGI_ykqIotx}PMvGkVOob8>(-PYx`w2hUr-#8~}^#o%E zh~7l=*5hi)zn$EZ{cEohT1WCDugbqHabTawRW#Azxw|(q#OSU*>l|nOtO~bH*yoNq z9M`eS$vo^-A%#_29L5RT_|=;oKU2MpnJ0~7-bQjjBj^Qn$)#Au($*vX@&i($MHk%y zB~kZPa0N_gx4Ct51edsD+Uc(bo~Yhh%osNObob6PPqeqWaLGN(mQ$UoPb1WORq14T z0TITizu$9={RKq(LT?vwqsPeGfzz?)rFOz9D#wdfw5PdZJ6IK5zFRH4vmDclET~mt zmQKp*02%cJ{{Tv=>l~1IsdXdg48d4%JM2dXiBLwT8NtaosV#&Ad4W|&UYvvIYRuBd9AU}ZyY7$gdkRG%kT03C zSzB{@DClZwQz^F{`qc-SqklFfj05+T-ye<#dXig-e70{k*nGLkV?kFYNrDZx47vXE z90EVal1sP*4fCTe3C7@aRFwI!D=S;d*y@0@1N|!MB>rE{V)>VxA^!jx14B0Q-YeU8 zwY-sD-gMf*PdN0=MHZh8q;bV+k}N6$s;b~e=zTF-(M7e=DVy$}ljXqw0QJ>^JAAu) z&{0Y&WikHs+C}c9k}965r-^Omwk*n$qabhYWMZ_G7z+1B{{Y8LK2I!?ByK(GHWODo zfxa4QYUNhy&tU1xXCL>?cm5jEmrT>G?HreAR}4pU+>dJ0d7_42EIe)U?p&}K_B6-e z^KA0>^&41|PUBG|%y#X8w`(3(JrDR&NP)`i``_N%#y+(?7T#iWwN5@|3xl5dHDDrb z1EnGCXT*xpls&#*yMg#uHR2Bf*y}g{0Be$4h-BInh=?Jv-=6i@OKbD1#y)RfYI5xu zUzc`1Wvab}xyyKS!WMoXou{^WrFj=?nMgk`Tnqu}T@V4|00rcAt2F*@L%JkWZmLAP@6p0Xbcu zALmGX!t1?PuK<5jLHT4x`>Tz#{{Z1u{^`%wn8wb|QTSb?5%QX2I*feFA8(vvKb=^8 zvM2k)tu;crE?W(ZAFTx3sd1Ld5T_kTIjV1Ehw~zAK01&H$E96#Dy-bcu`<0bI+ra)W%A)ewHu(_zi2IMq2jjlNXRaKak;Z$-x>MLuN&yzHADOJg71_AtO4&oqNk|g!0lj|##Q+Is1?iP{`p*yw59b4=lmM-W*kE80 z$Q1&{Ji#j#Iqm6BFTPQbLgRz$Qz3e&~N25B7IZ?!Pb0-rqGbIb51TiZ~&E-aYFZ%Uipb znrUQJhFlHZ03E6KrRAMn-Bn|56C~&V0IyQPEL;BohY#onKjLT$mg6`ewh9rI+O)IG zkgo6_3;YN&O+zK@5d5t1sT=@U41TqnaeEs`585Va3t?6!P%4SI>#6+gzm)K=WsvPt z^%WbZ-SRglA2Qo8lE=7=x0c^?{{XK{Xt!k^ zAt0=QiO=s_kx48?AZ0Qz`LpsjKgz7zLnLU+<`?59a}sk*xsF4`F9NHtCj^|(fX;V$ zl%cot0(5zs8Tb0s5;UZ{Eb{GMHo`Od`qlZBaJ#{uXxMhHMt+?sUI|dfAc#b{%!)W8 z@TLZRs?8i_p^3LM;k@krbtL=4ubp+Vzq=b?{#3FwQ(bIFnfo%T@IJV!F~Sq(ju?FX zyH%NS`O^@{QpI)llpT(Bjpmf4C8u(^7qG~tm*#H<>pPOv7G#*huS)UTFT}%NaT38vD&H^ zAE(x#ytUp}EYU79%%>R?0LvM70lq7(vJthJ!Tz*rYBx2^5tZ67>dBv!cgL+#xBEO3 zvPST_1DM)bNc=wv*@90#K1^=M<=Y!?poZ>Yv4w{0GW@%PEw%^psi2w?Ld>h}x*|Us zQwNuEEHCzk!7iI00avv}@_CKt#i;Mwx8}w_ItgXT=Y;M3? z3|}`Y!vpDxqvbdHp!bpPZMk3%=6h73LVoI5q%G5HMjM}QCUd4oT#T(C`%H_Inq`D**WTFH~-m0i-?dHc*)<;T~qYhKv9+l}iV_gBkf z(wNZ6B72!Z{{TpX%0Dm6p!KY4J{JWRhX)GWMWpCW7`ZOytj81=?_Q$@Dm!+eovJ9f50ilScT z2@wkYrX_w|NytBmJt>g%HKSy>-R49_*89x4%|2^58b9?bxA=DPiiRojKh;W`hu&4l z{KZJuNeo!tWo^7GFx-DSjf>HhZf)lhd3N)V8m+KhL|iKRhcU`o-7vsTO5< zGF6e80Re_T3YFzlk8%7Lx%RCtjG7>QPA5+-)#7G5cDUGT>`XSGA2t^Nj%u`UhYa(o zmTmy*0Q9EA1aVE}0?4epl%r#9LmIl=wp#(4am_<+f#WR1HcvUHG*5uZGd2ey`KT06 zZRRs7yjad7JpNP^O)at&!h(eNQ;N=#$h+;fk(FaPa!*tJYGHj9!Sdmd$Nlzkw2yDC zT0jB?O`%OTnkLFcQ9Q7PiggUf?v&~I9`v(ZmI&TcN4E}lj-sTxjAlHy%vfXFny`_# z@nb%fC8YWkwMiCRB#{|ds{@SZwJnPsgXU1af}N;X!Y$;LK~_O2{`XgXBZ=o_eC*J%AlXhk(6%?2R^lt);v4oD!Vx2G{OlPVqLweP)i&( zPu7~l11di%KwBhr1y8Oizb1ZFC*GaEo)BZ$aY`KHfZ6rO6aXk4q6GSy8L{XOprqV$ z$jPK(^v}|O6ut-EBk4$6BfC;$WA2(?;pva107gN_E)6Et=OCJYK9mFMXaXnl{$1G0 z^yi8^)W^z8a)h z%Q9~N0A`R50adU@ev}?$JRE%}C6x5dF6@E9%>W0EltVaVN{w zBW43tShwnVVnEy$*zOUO5{tau4H8ogf1aWR<%na!=t)blyy!ZspyNxKAuTp0y2y z&zfD57ItIHa02^e)ox};i9Q(vED6{u{NLeI#cF{3$ISl#u8p74n(^H^Y_u`+_l8OS zl+=p{_mjwbZO#Gr;-^Ba7qLSe4I3Dv+&hpezMrTDgeZzxS~Iug8U1Q@@|66sM=YH= z86)a@QzM0-{orlv+`5jRg;mMxa&s-iu3?D>{d8};_zGmPg^gN!mfii;J3;=Z^Qk7E zY-;Egw>H&khcGGJ@8?LrHV4jE=m$zg+(eLPY!JGi?-kk`^W@cAn`@aL%qBEw`CW=h zKaFTC(n?2{3yXd+&I=p_EM1Juv3w)2yDd9to|4f}cgD&Lo7(oZjU zZOyp;wG4KCNAFqWWpBK>Cm!SqypTeLUNnt&54;p}NuZ0d0FW_cw}7rciPviX0FUWP zmcKunDGx3>FWnzOPnuG)2%%8&fzb3{tu@mj8sgxm9TetczLZ{{UNYx6xx5{Z49V?W2r>RF)hDep~aV zk|oKRGwJVkj`B2%xbT}m$G$OA>GtFyj_N0OPvVm#5$&Jwt8!eVXKHzpxA#zFkF8d_ zHwR;F!v~iYPedc_Ee_C|#KJ{g{wN+D+<#YJ-tKk4# z40PZMhF4WmFwOG)#pIvDiwt7e$0~x$AFs-QW~W$U3xKJE=%T4Zbjq$iRKeg%e(0s1 z=4DdJvAD=8g#Q3qfs-*ycJl$*8*t;M53NcrU}WN6-7{I{DJ6&k-+S+uP)|OUXj)@# z>16x33QteUn9%8_jQqT}83jS(-!&97%Kd_<<03XW_oq!C*}}=TNjSr&UOjPEV<1K_ z6@3);rf5}~Y0t~aT;R8sKqKl+Ngc7-^N5+h-3N-W7UHna5nRg zWA8u@Yh~Uh#^zqBv~>Rf8k8t?7+h0U>nDUiL67mKqsV4vSes|%%|*o6=U*r0`J0|s z`u%D}a8vIuu3NPm=GuCw?@vcrhdaJgv6aR@pK1XxB!XQz>_@2f_ob5(ARy(3Dt$eTBYy42_fJFV z?M#&Ud2#;$0w30qpytEI0SD0gQpbRdJCE;osFLF#up@@YP;xzZr4oa=g1*%UB#*p3 zs2U`ViiQVn?%RDSj+@d&+{?~)A;GAOhDcgblxAK70x&+FwAcxIR#h@_!#fS7y~nKr zdIP$Kf8GJuZg0GOed;)FBAP~D-Lq`iP#@*(L?e7H7w-jrlB=MiS zl2t(cXbX?o7j3HEjBs)8Jt%q8%lXR3#|M4^K7ym(^Fq$;ZzQYo?$}C?!>veRUm82I1L!*n2BaZh+@rtV+rQ*&^X*TGyu;@6yBOHR6p=;)05aG)OyeS*GweqBy?|c1 z_V=bH?lB+!TKxOBk%k!0)7qe(Cq^>F5gEFc&J9Q{Q5SJ^d%+`MB0-ktmryEi$;#*vzcXNA8IP@x@>JyO;eVyKiB~;aR$pe(ulrvN!KG ze8&fxw2b6tLN1*bd)<7*;54V4RCA@vN9LnWzFEWVbK17;tW|K$Dft+H&EAX1QVR*d zEy!o4X5(W9NhDAC>AN`GSoNu7yp~NqC1T%y8D{>q1kbiM`@idlPI`)i_piA=WncB1 zSaJ2LMs3)!8mocIx6V`VXPPbMadQJAs^P-?yi`&Ag%jpq^o;K5)KhY7Vjg02&7Qc zQb%R?W$96gp`S4YXU<9aPSgI*YFC>oLPfpy{Jn?cR7agR$u+{n`1`S75&6;`$s&q4 zBMdgCe(JCCs?Bh1We9Ip{Tn|bLGc`9rkS~{(Rsotwn5U;Etk}weLH__Aqj%l%RDxTzL2)PA9abI9 zZa|kPq?Pm-{*_|Yr1KYSk`9HINHO}*XJRdOFD%76xsN!A{QG$1^{nF)NxyBvKUT-u zk0P`@M80$}N4G4E=9N5*4l;eYs_s>z@|sOFe|1V@AFTpqR1NayVz;%yt1$V}I5HdM zUYn4EpU2Xpk_HH=_DgU2=sxa0!lbu_$0Nx+4W=uW&(oTsO(Qng(%)^v?gMLp0Tp5f zbOgzl$IY~_Kc!SYe9ERWZVDKcZe;!av<@;+6P z90B>$ZX4{j>&{y{cPx1yi1ekqiQYZ%+)BH1@*`tD-&$>?=4kwx;<;Wv^NuJPQq?^7 zZ$Hj`&BJ+E0M*EzXrIX!3fmuU)`*S=p{XH>V7fpa<(0p@ps(fyGf-w()PZ@^?!gdY z_|p*ir;|>v$Rkwkdz9m*(jM1(S{{UW_B+!M7Q0731^PiMA1KONnLUXWf`^&qUhDUUd$%n}; zjmolf`cv)Yd=$87{N7H`yLk2M(vZ;&^|V_**0gNDJ{0mtu&7er@ncp;M(M<(oPUj3 zmPofoZY7V*X89Q#86CQs9pQ#x&2Y-wc8GV5euJ$zupTcXK;LOrjepzVAEBpOy2{>v z-aQ8TBO*Tr3Wk_b0HxGQQvbO-IEA*?;+(jb- z7&Cef)eXque(vqSf&FS@0GKHuc<+vCWvOv?A9gocOg>&wzm;TIoS@>gCr>IT3o8ZM zRBt=0D#Z5uMRQG9^svt6ykr17Qsl7y=+6eDjoTpOJaTE|Zv#DhR!35;4a{EOF3wpd^1Q zd6JXpNXPP~n44+f2JBj-{o0~~mTYo+XWD=eV>rj+Xdr{tvHr~p!yFv_XeY1)pGBYs zgdDc%KOAC@29tI=DE6nE<2cJya&R{m3cdZQ0F1-? z*w5!o-6r*4E=S`asHs=xMfP|a zdU;^B2fa>7JxTh~hQK`IwFKC$7M`ftdx;!@>OaDsAd7AW=K7jfZblDIw2J&=r$5C& z>@LuF+tQniDZr&CIp&%U7n4i{PC3RXW5DM>T59w?sax@&Wh;VroPFN)HKYP-c?l}4 z2g*q4P|5=yhp#ne%4pIVHs@D)&0^HI0Zz!nJO2Q)(0xrIStS1eUn4I$3lm^| zbrcscLW;1fNyj?|?4NT=?L4lYTBJ+gc1irHSUIjeVTn%li9!DJ4o~A*FDh7H95R)g z?<(>^C(^ZrnP%MYEAAYjIA6-DO$0MY(88;?cH+t~KA&2oOpzd-Nn`!QZS2zU5A~!l zJC*ZfKPelPK2UwVX~TW6#JgER`~II=ZPeryP{3{*i>q`V)ixSqq?Rahh?#HhAjzZ) zJhCs`jR^0{e}y$Cfm8P?W#^&|--$G{y!+Q;#Teu7@_$NWDqdRsmQ-xCu?FQ>=N|a! zS`o=>9BLzF8CJcy=Ysl=_UAg1yf!eGHe!}F!i{&4@sJw&gRdi;r7vxRn z%H!mVXFqxP{XhLwoOS^Ahm~Pw`ilaXFl2r4iShsC1tT!R{J%IJ3 zX>xn3*pW(ktGRyi?Ie-(6-pb4f~bxrSfu;De;7W)(t_~XqQeAtS1il4&lnOP#i|WW zCi3ER^ZPE)bCc>o;(}z$cBs-u=1Gp?=W@sLkMXA;vM*FwS$~8L@A%bcf>^w{ThEtx z0n`u&<;V4_i6kKlLm4^y$bbS5y(Y>`a7iZH=7oyi8@8|BKF76M*^UO>e=1~0a2W)8 z3aP8g5)Hm{M9tk;DgA0}QKQsLBUou%fV4*~x>kqiaNb+6X zN1clkE97qUq?LiQSO{QEpDO!zWBqE4)U7OwZiy$}`PmLO3T?b5NYl)AHxZM&=I1|O zO0yix&ds~kzJ83P8 zTuUU#WWbIw$amnM@Tn-!-?RS!W@f6NZxYDK1N^I%W>LAb><9CzuXO?hb0pUuXYj6B zN9Dy9er$W$P&&s<0AVk1cA=G ze5<>+H7Y@}<8@wS&k8JVlR-HW8 zUCPRf^Q)|dLHq?pIRuAn2 zKV`+@wZyWrtckTF2N)fX)~rEbZS4vfCYL`kStjZK0M?`f+U=*GZL&;TZq3|mUs8Fe zExhC9l4mQo?~;F}DOuJuj&bFu@HW=~0rjgniYOViVC@Q58lR-znaav1swGE#Y;LM22Uw>FFQad zHB=*qRNHa#u6)qnDf;tPBR{zP^Z9)L01+R~fVdc<$C_=afsfh}G^3omO-Y1F*xS%oxKv=7P7pMOKTA0&)nRaF6Rz8{A`F5vB03W$_ zT%Egt&M9_An|HeW+~JQ}1R_P{Zr{1L9yc7|pXpDJe)ie9xi7WPL+CvPB1W&dnTY3s zzbp7se4=H4nVF8jRCM<~)Pz5N$<=nq+lF$Wl^;_~E&JDwG;Egp%NZ;9ns1n6ow8?@ ze(u#?pF>i?7v03S1LqDm5uTkslo4U+5~f49LCM{LQMTNCo134!uhOg^;zPB!bG5nR zpr7|B-bzNC=V=@dbLl}yjoo2So>gtfjl^!xp!cYxc$fEUwV8(eGhp*hx{$mnv>;-0 zy_0YpcE?YxDk1q;v~H|AZRCD5#t}$FTkyC81Qy7qkY;lug%WMTfO09shd4quq4|Ln zLcka0M&Z#8O#&l#{p4{z?>8W`C?p!0{G%t_WpD3o2Oi>)%G}06E62Nn%nF~vqDc}t zg}&B&Cg9BZFaH47rUaJJgq8RF-|cP3;hJ{g2|I(0+ zlik(dyM5XW>^WEzLd(yibpJ2YP$Bi3Ef@0D3PbgG5Z+ zC*k*Mqo>aw%&pE&@^MS{kcsBvc3u4yIRpGENe)vxm!{+L=7Et*A`sGfv3>oZm%z`V z_oqYi{{XI7+vUnKF~OvZ4(I-PG0xq+>dGKUz`}+dC;}hdKIoOcY<$@5L=VF!&AA5E zBz5{&ktGJM6bIG&`qD=_#mcR={lCE| z$v)ZdMSz~)dQaBkRo%lg5WkmtzjLuwNobY-0EwA%#b-NBa04iKyKNGIpVF;)5=Mwp zC3oBNG>&-o%>pW2q&xWY8M^M2l|xcRyg|H62#rU~u#Ml&mgAkieZ{10jQsdGKH2S1 z$M$$WVQ^eG%Gp0AKA6P-J{ghoaV!IB{nl&}YNYoi+)H94l5#$EjdFw3A9_$_o!&UE z?WI=!6PyoWihZ4fKu?*7xBmbX4!~0zb`3r$hu=3)vmNZpfDHasu=2+RukRS0tM{33 z#-g_{+m0tMyZg>t^36kY{+%1T?I|05-KQ=`@Skc0a;?OY%9F_PDye{!X8Xg~)fr^W z3S?V2)s$@w8R~t_XzFp{!zSg-47+<~vDV^Nw?Qkgh#;k-y!34La40^|;E<4?B2mq@Q9tQ)DxU_D+z-jnR>?N9Wd{i)#rIHQL<$*4w^; z+`n%plQ6ecna5Jaw-3)W+qjrGKk059@F9McN(hX5a}=%FvnFtVI?zjz6ksYy&Zip? zf@mm;(NcMP+^O?k3mNh)Ta($_-Go(yr z8Qs8j6%DQIESnI9WjNZrllV|8k9!z`9gNYk02+<%=eOK4C-h|;sQ0T4 z9MgUC<)qg#e+tIEi*?7+w6<-He|fpP)i~c9 ze|Ni{q*UP>aV4_7a4Q4RBmn0e{Yj*CBw#y_q2h(cax#6Jr9H4lPCkO9VxmbM+e`9s z@-EEh9`z)Wm3_uVQU1}VWBr}f#q!JTK33-AXc<4_K|IJtx{IDxO{0*!(xm1aekXg@S#gi zu_4FiYDbA#ap%sw=P2NRN&}kYE{v`BkS~5RX&xnW{{SCMykq4cQ_OI0JzpGr#GKF; zG5)SN)7e)P0wYMEjDjR~Vb`3~zCsV~$p_SbjXTUFoPa)+8$QwV8byvIB7mV+(=;@g z1A78}1u(c|;Aha{qcZl|OM8j{n{Z*A?Wo-3@Y(uPInFvBy*Qwj=jC6*fE>t7{3v|(KZPL# zb>LDnal+(K1v#5(9eFsb7E21iW_3;3;orB?pt=75R?WuhT^==-2_|)wikt<0gKuy@ zt!qznlM?;XSC)BL`4I$M^70O&*i<(fd{e6#*vd%$Cg2}oR^_^hK?)jI?1*xIA4-oC z%0b%{Du2DpeqAf9^5tTkozb<$wbLqpary!(_u4@t$w!y{wI46%Rj%z|7VKpvSqI!_ zIXU(e=w_DMHCeu8z~l}`)Khws9T{WFdH!kS+P`^LE&=+U^f-zH`I%F&UYYh3*SJ9g z$O^M#v8bUj2*k6pmi`xJ;eM4Ur>HlXGJuG&#&{*iBz-@|v+is~vn=C$@#p79=L6V! zR*1L~21rrgZ}FZN^QKJ%(#Cw|+y2UN$GNJ#h@3(Th>Cvbs9ap+>hn!SDo%8Y^tnkMpe=aJOwXl(=R!4Nt1;`^lz;vw)`Acmw z%b0D|vdTbp8&!LC{{RYXcFhE6_Y*X%gCBb%{QJ_Y%WuF|k|F;9eJ9t}t$FHx=gst~ zxoD0;B35wU!^*d6%!QIW!0&eM}M5FF9mywNz7JD8lrAs z-zuu*$o8g!!&YhT=WI@~D*UB7H{t#?_OgX!j7p6=X91l9?H|+YRUNab0g#)}23XfJ z53iuBk<6lfj%Aj7{n%KQPxrf2^FD(oOE@9hna$6f zpKATwOZOXi`P;TnPM+0f1p8D>3|;oK$lJ0#s#9eQmhGLc&HPh**#7_z!kudy*`fzj zX#W7c8uR&g9`umYC4vN1NZ^ximBCfV>%}eHes{>14I3%X$L=uf;~a$PmXfCRTfGA0NP$a{A!%LuAo`(*U3D|=|8jTa3gMxzfW z%xW3OmnZrYLM8qviNGW1JJ2-+m^HdIX?6E}r_K-fidF*2iWc3#O~>YCP!4@*uOwi! zGj;wJJseX%efzI5AoA66%Bpy8YR}ZJp~zSvX=RbNtH!xddvojUNuip_cLTw@d`iD} zhU4j3vg!&0BoT&ZZHTMDKJ=DWg*cQfeuXjD>)NeHVlkI0RQ=Y#$oI`F46ZG3s3n#_ z*&CfYk8GUaepNIn=Ob*2K-{5b%CR1x(Fg8cVCy?KKRX<&4{mrhBo02{ibdR;-I=ln zw|WMdPh_#blK%ke<3B8(anI2E)~p-mjlAWH{p4(dKM_yvSLkv5 zX=8S6@f(=F&^qlHTR7wJpk>$!tGCZ2o4#+HukqZW?lb zPSs*n^NN|GW!ipInsY-F$@6S>#~XkN`f4>`83&)e$D=>F4z|X zBR@}CbP}UXzCfv{qmpps;X;+laq|zY0djxcC&>Q*Gcn2e zX{ouSXO<}AR{O2a@5{9!DwNEMtbX$|9`wi@T<+Y_?Tzr8A2>e#{{Z7bE!>=L5(NfR z-+OfWW~Tlhn|IMFDW_Q22jPFd)hC(qZw0z`paq-f{{Ur_{p{2xRWG#dcG>d)I*N=) z)6LYXuhRymWL1ALcJ9Xq6o6bExC^r%!h2O|lXKx6<8Hf`jQdp5Ji9j)+H=#cMKVb9 zC*G6h9Du+5Y6OG+S?vBVPyyV1=<(7F~8s6+MZTVnufpWE<`q=6)Fl2p*k3TCr~` zu=2SKKfF5o&`QvTXc?nlC5GU4eEbi`6kGkqV6b_a$#vvs-mX8~-SYgsSkxj&ihQM6 ze~9&sB9)!~3uw(9{~2`aaiv(s_tL+;g`gnFW14q=o#c$z_pt9P^CUqW~kAM%#deNXN13 zSvJ!v&ldf?P<}P3FV8FCe82QV@)7S;B0WgvC(rS^x1el}^_vRiRxg)vk&|!XS{jF& zq_*QaWCQrNEcc$juqqZrv z*`)-pQ<5noNAu$U0G>%BlFQrM=}569NS!Rs#q(LVGVK^69Z%&_Tg7c5g!vH$M`UcM z=N`WGGsENv56jHh{0?cD<=hXMZoeSk{<;8|#|xCe+&tqK2kwq((h1rLK)7WQIUg%y ziiD=YDEYs2IB?#e{{Z^x#D{E`Y4c%|dat=1X$WE_+s&ogW%9R;&EGW~w=?+>>}d8g z1Upmi_4lVMW=lDLg`@KR_kO(lQvumzqx-Uees24y0tFJPPEEmu{^sJ_xyc%J5>k(dwpujmf@QoT)}V$@8c{F`&=HiJ+hG&>whX$#u;Le zgP){TpLHstTU194u49P zJE#Zx`vpy-Pwl27#BPH)3o<<(To%wn-ks zpj#|RvnxAIoa{0%7^&`()D<)N0ztwF4k`M27E#Pfs!lw!xDoZB1%@V(!xJPe(Un^O z;L_fiWE(uG_U`-9I0XK+E!(h7uq=DOg-dPxsu*ILXvfr{se_D?28C)-spO+1_r7CCw295Om zGMT4WZe6fSpL53*W-}?5a!V)8&e!E}?MzsjctD?gdt}JjE_-yR&SWu&g2>!`^&k;J zESsg;sPj=-H!~`Yr|N23mk2n0zwKhGIhxW0+GLq>GMuwjX)hoXEVEA{u0Pc<{x798 zt_|3;3(ImDCfpHEP&SiNwWK5Wk>WWQ=G?qz>*^_Eou=j$+mqGT9DOPO0B2YK09`9d z>`w#mr(s;Em+rs1*}atYPE#Jat70Id+TrAG{6S@9V8RSJ?*u@2~^8sC=m>e9U&IU5ek%t9kLQ=lVjJ+i%OefKGc=kF+zK!wawb zZ@{UsN>>tVI9b#H6_=cjwV5J$I)ENx$fa|T+59V2ZQ0#kX-PeHjs;WJQ4;PVFsfIe z>DIHUvDJn6i#GY+_izPHq<3H{tOV>kTPN16f;hMf-ER95Y731l`2WFU;;l%tg>eZ2S1%Z%sVhhCW1K$yu;5Qtut}RCAY-;EtZ|GG3H7M_+~;On*A#%`?tqZVcW9vu(?gcJDILM#` z3_52&g%5&0@gGV;PI??tIp>`IGyzUkLJsZQLFXr}QV$|rHdaGx{lqvQQ|njcA3Epm z=QOtS{E{j{^7D*=^8E?vTT1~K)a?hroMl*+{5?B@sE_N@7= zBpaql8Ya$mDZ&xxd)12@xRNjoK3bmm`F}d=(DPHa<)nb`^ClpX{43CZ_5JB2Xq2ce zxBcpQm01f147kpBW~*-O;ZzRgX;HshOiPVpCK^E)Oc)W@<3mf^FIRZXOrv#Q@ z44@(@&duDPtx>kK7S7_>gaG6MIQmu5bL9c&M9bW|@+wCk?-qhC0A4?(R=aqDw0=`a z#C^pX$GP;U$#AU$G-X+UIM{PgEYU{*D%+%Sk`tCrl!illQR(jL4h0;9$~ypK=BT(oW31{=T%-yNT42-q^RxnVa{{KApb5rAU8sDJWp>8>V}c$oT>91zE&aphtsVEqHXiXDKVrr@CMEmerGzmFhIN>io>o;Ps;&yF{WI3Gu4FHF8-|i;OBGd&a2G##59&=^jKLMklPt5&6JUT4 zLVKS|b`{GKK`0~aspWQMZa01d`POB{w6Q$$Ft*y#ee0$nhp;2Jpss@}CgnR@vo7rI z{{UvF+{P}FTWg5+rtgu;f!nvKpiLRzl#6sG!BxISU>Sk->sFF-Vnnu{81}Euq9gd= zRS7NH-cK$Ii|h`ryGoDDR4+8sNW9<2(ON{umyhopP$K2@o5tuaKFzgvJ8k>t*mpmL zGS+u6G})F`&emyS%l-o$KPrarmkDh5Gcx?faO<}|=hmHWt26%b?qD&d=4H45IrYdi z$|Q{*8*wZ$-OIS(t3(T^_Tzz9R&|*b585DLySF-kexF~ZLOyuXE$*Xk2OS=O1X@pRcV+M8*8*GyC;*{w<>~KzRJ0Fz4kT#lZ*sYNE_BB%{drRPEbw zxkuN~Qu+BCH>_;`0LQ#=J-ulRjLR&c**3o4m6mx*s9$h8pRErHM;bg2ZS!zUkAa`| zNUKm;Y~S*!SNwOMRuwXaNHHWaVKcNMaK4-x0D@&PK^i%Qn`jZEw*>oo)sb+|6hHut zyd!P|1MDaby##J!^D($>Tw~uAT$hNf61(NjcdU6Ik6}Q|H&JhlkCSrpH=Z-^?OEi= z9a06hR*`>r~@pfdSK_s#Q>kUX=;^Q$6Fs5b^rnGvx<`1k;4uEz@$$!IvK}`M>(q z4J($nshx8JNZ8^`3@^8+rMi`^lXNJueB7ow{xwewNF8ldjbmpknhq(3IsId8AG(xtk%+Y%4lChRFPx5{(a9`y~= zZCi5+!?bcgc26Jd;(|vG3aiU+6P66Yc-%b&UfH~_-Q%@ZxsZs^sE?c+Iu<{Grw8(* zU!F$fWmR%d;nWHMo`2!{%j&y92CKYV=T=E)U86rC{n_WCsgg!`+Ez&$gMcp$P^@!x~pVv zkoEWWrI&DjHaLSeLO0FZ){q1Q+ivq=LFOC}FDE}+Mw!!x3B^fa;)CL%4m zLGvJSxDRnqNYTuav1t7G(B+Om1J~MsG?HlDIoztpVP;%pR3LdvAc_7~gyR)1*#%n$XnN&o= z=ZD@MoHj?HHDVWzV$Nb^eC!zmc0a<969q3foARd^XGY|o@T)uj0C(AW+A`fuMy{$C z?ylDV0CyDGIiL87<9^Rm>p%@*AV0il-_ds9{{Z#s6n+{l+a%8!OmX=C07|fr=8*W3 zE^&qcW|?@yY2J_1jhH9!rXh|CMYxyaoys{sg$$l>Q~TZ9vI6uxclM}6MI-XJ+6KB3~?bE)O2HG?K>} z`Gr)d#^QM6>p?^lBQD>wd4Dr}?EMe_0A8k!M2vYy8?a8*>7Qzk&P7FWxrZNg7W{ao zw5&H4Wb3pylxPMjN$0$S<=c!EVbYRsH6Z!-H$N)EHn8-mqx+vXt~YJPLi@M>0IFTA zaQn~nph#ubT@_tU-n+wX=Cd_tZ?ea^Sy^35{QT9aKvq-{L*=t>+UJ_9tH#d*Y!Ljo z9JX9@(y0?;W*5vzeSxI9Y$5xq+j#!~8q9)w*%i>P)!DtP~bu&&iw$ zVlX7iyqR75l0^A_w9>i%09g{cotVhZ0phINE@zot7l$kPoDo($uwMZ>ApZczO)?C% zgeAaH8js&JVU=)tRm&u4C4jrO;~Pd>K8B~-gtP2lm6^JK5T+s7cL>|^i3s^eT=Pu< z1@*7`2G{co58W#5<99eerDFLH9EuVtl2{vit9{%G>I^c>pTA~{Z2OmYa1R2j-&v&d zI8EMokId`$*ZaRpV9c9YH%77)>pp$HVNX%=F@3)@EQ9I|B!kO!Yh+;nVdkqTAsADn zXPOU_%U$ltxfcZSpVpX-Ya_c)vu`O`hQqsWBi^Jjyk(E?Il2wEZv{x^u%)IJL5Y3xl}`j%&TE{{SrH0mePWAsPaB zq}{RMDzRbM9Ju!SRTjIoPa|#0?o1M@diJCdWr9r@%Zn)RyEj#x zf#cYU1l^0V-FZ?=vergN`IVGzB#!-hRB}kN$CbE_S7Y+UGJ&_-*wR|6$O<}3@(ik^ zzb-psnvu%`v4$I#Z1j)`as6>jmhLg5kr#4{wCDa=&5%Bznwrw-M2hB1XxNN5n1Lks z@69)SQU%<$=_&immWx0AdQY+v%&e~&+IH_@BA;QNe+mgLE3lECHxn;ARw;A%kZCew zjeO6vOs)JZp@N@$Ral?O;9JHwAy#L$C^N@WJ5=^+UH<%kFU+fHa7z6)nqw@#oA-pa z>2A%@)T#XQ)|xHjll@iO4nA)tY~$Sj0F6Fdhnh`+Cy8wRpKAH5Y zbHgGKBs!C?KvU-g&>~w~nGB{jl;HJNw=0^l9MVT4B9w$4ieMu@jZ}gq^8k`fMHPny zqyD0_E+jBKXeX2I=M52T{vv^s%M?!0i>8gwP#Jistwffgx3miY z+qPvYe=2RcmE+hJH6MF)ZIDN?^{Z3Amk{|p-P~;${;^t;Ix zF%vAT>UM@>kWbdM#BCwnGcf-EVOx*Js#@Fc-79VzzUpUyJ;$w08@w*t_cUwYxD?1r z+m|=R40sz;(MNw^Dm7`Q`=CaQI=9}apm>k(W_8@(cX8woK~nvv_)<9;x^7{CQnW0N z;>H;x!>D+_1AtK0eH?A3U@5{HngWZp&{I!gt6Y1?43ERXCNc5rm&Me(V1LjYq0Siv*R~ zw-*HS(0f*OHae(F-$7)~VjKLu#B+tKh(jg_#syHca1?)dk6OH^Dh4sfdgMJ(TadlJ zl-Asiyp5#y>q^}-^L`Z1`E0ATn>>TqRFqos?iX+Rjji{On18~XvQ7U0ERi6`Am=qN z?%U;NWnP(HwIA7HAM@3QbC+X4$-Yn*t9qI^1dssq`DhzLfUDMlklm>OC>i-c$@Zrg zKXi-_VNGDC=3b+(G|&Tck}>Zru+vU3#|e2?~0BYDGSZxX&h< zbGw!-rkI5aGs!gO0~`=)H)0P2icRMnkbabacsS{SN(nt!VxkMqc|O$b!_elK1e_6! zk?l#67dr>k(vo;NZ>1fH+mETB1Ur}>N8l-~A5dNMj-sAV7*c-CWiSElz#w&fw-5JL~ zKEA%yVhBROv8c|`gPLRpBBD5ol?R+3=kHH<5u-5Oz%|ixg2|$_)KMa27KyX>W9r|B zdZ)JX82s<%<6R7h&irW|BC*^Dm%I$Xi z7VM)Rc@GReqMt3!@0K6lH%#_ltyhxQ?N7Pa%E;l9i9b4Q0(c+F3XHu*;evlI^qDD_ zp@^#Eu3K}l^{I|O*~L{8k^Z?PjC%DHw-*tcR`TRl;|F7MDoSp}X^>pXO}1iHKRd4s zexKt}h-a~2_Tgnw^EhGiAI7bTqevHK8Ft|mbw0wHsMC+$mX1HYus0{z{{V$EHm+8O zRulZOD@NPCV=n;@)~-O2ee{1d`tIGI@;$1(#Bjz{fM2{5Zr%v=sbsbRa}Hx4!cgNs zQB0(o7Gn|p@80sy4e3>-=0Dyd%e}CRx4*qi4dM<2Qht?AYllEu=WI@rWffH5k4)#S zLLJAX5iH?0IAAw4>bq4vf&P@q=9L(=y0qCFR#zk__xJkKQg^*zCzWDQ-zqOx`kwy) zO0|83w-HABH;|)@pTe%z5*-?OHvVMm=Sst!gFk@wr=*AMtk+Qn9ixmKj#c}u6kA8* zO#2n=fAY%3KfK#prD#ce3~+g_R4-;$+z->%hP#SQsPY8dHwAtUK9q)GNYb>1A0*nu zqxX(r0VHAXo}S%l@tHncNELzmqA%h0&0dxa@B7M|_mu~df5Y0DB+{e}y_a_LwN*(a zdvWVQL{Z&N?%dscxyvj-1MN zs(DbOGVO1hYh&7hmZsk|x*y-8=jH)`W9)lVZ*rE6wIy%wD1L+M>GY^!j7M5SJU4;ssVE>av~2gkgna)sKR#Qk!Fj`h<<&m{5z_x z*Y6z`K4kmYcO#F(twTKcn%#eS_m9lq#sH`;t!I`&BzH_09F=pmK>P&&TJq!$?Xf;( z+q=vsci~f8p@P_ty}S5SKEMc1`+a{#`(h^3#O{}r2DcipaI3CBP z09|-|xAS+*+rNchq52cjo&LWY(5mjv?byX@`Izv9)tr2zFPp&bX)#eNpM#cW? zZg1hB1(V8ullOl&Q0;9J$b_ld~t-`v72r> zmnZS21b0N3+oCUaeB&MJw8eMZ`E3za9A$`a!}Q{>rV3BoXQX=xO^lLVom&<0p1AkM7j7%MyIAENd>@fX5XPRz^u* zcII4cR?45CJ?H{QR7g;NsZop`n5Eg~p1)qJn)3WRJwtq@7!C(y}kA^#-fR6*m009de{8 zKZO8RnPx;iSU3IE^D*hkratLier4OgA0asgkql3?k1umB#cn!Pl#gLwm3sZ` zP%Hj8yZYG(*i*e18iJimP^u_GJJ&bX~EWVuFWT2^Cm0aU$o1k0+0&DN=2p z^3``Y-Bw&SK9vCuZWD=9YK3Mk!5`yJxOVecyIZdtQJb!Qv<#Y8h@1kAFWv!-RJfI{ zBV_%-lpK|2$i+(p@Vo71iRMwYw)QlV;X<(jH)FIFOqLV~t}!%7SM2gl85m)b0IK?! z0@hX`IRlkkAI7b>$vOGv+QT0rjjB(4)jd>yp-h>O?N7aq8~*^WREccRvfN-pkKh$M zmOSIPtwpB)0LPqIKl02}`8#uw`O+6dn~(Q*x1aB`aqE#%79rg7K;A!*sN^7C-t@_4 zBOdsvHjs>Pa#;8ETC*kq{Eh|=T#=FLwH*Cz@PCa-$GEAo*o+)=xA|3Tw#0Df0Ob!K zTvI?@@?PidF>n6>mcJ*k;;pTyONEr2zm_9y-(Iy%j_tQl5YXF-Hzl0fRqk}!C{uH47IJatdvtP8C= zDCa3Gl5KS+Ce8vkwIs!2o{10do8*)46lPWVM2~@s zbw7uC>Sg`XGBzyq0a54XNZ?UpYzRF9DU`qld`lg<&pKKO~iBN=gcub zRogsRrH^PIGsd6n$8msv13~BgWVcQHTcVUm1u2*zRr6KX7{%OJ&(QkNGRi!^^4i{M zQ*ZG`Bp;ZjnW8^_+TW)}Qy=rE!RAI%NG-_49wnD^r`>_1cArpPBCpQJR%5}2bp8qN7V6( zvJTw9t2zJ+267MNd8kF~O9>BftbJw}$JhL6h@RbGG48i$-IYFNj$E#4oOVkiG?T5< zZF2irmDHYkanstJZT5+OdvEq8+Sq1BAh7&1nz40kW{=JDZWCzxw$4GIXsvep+FXk6Vuo0NQxKKc4)oYyg1+<8iE!sKp1odw4p0<+ufK18kew)IT= zdsKID?1fhrUQZlOIL#%Hh74hCl6L#62OGrzS`&Se-2jFF$lS(_fsbw~Xzm_J(~X|0 zdBtWKqMk?lR5ttfZB5w89kZTjv=iID!3+t`cE>3^XWURLnrD}7>c@}0o zXf7j-n&IGiyA~&4{5w>)U%7#UdD~cW=-jWr(yL`;wEqB0nUBlzW$=Ic=9vyeut_+N z>dlY1yr0UmuI;jlvP#b7hB3efu3GtUN##6I#^i9o zV|V`mUWsZb?_yf5RxZN zx#RV$+qpK`81T%Xf&S_A`c{m$QLb>}OmtIHKA~Jl4N#{ zjEGlbar`xXcQC+FpHgckz>yH>yyN9Hrx9!sw=3#vk)FaPAc2y4_7sO8kgLTod7R~j z)6fcV9)yf_%}C2d8s`z9OKYbj2&_?S%n|~5J4yF zPQfJL75@Nwkb(y!eiQ)Q633B(ItoGl%Ad~^s-ti%Av}L~6lVt;atCuj0ZtA`A4)kJ zc@&0BFAN9PfOig}fEPb8=8>D8bNEsmW09Z6n8yP-1L|l2Sb#Xd{;$I8xq zdg7hsMoHV#zZAe2=L8X-V@*FccqG%vP(D=@(8P7c06Q21<^5?Gs13PD9<+|!6O)fh zW42d;_%#4kB@6TSbKb7lrrTG>)f=<&)d?qE>-)%;cNibitXbW}%F%Dy!MZ;L{XJ_) zZgS#UNnDlfp=M?=C~xnM4M6Zn5tbnFK=G^c>XG_2=i_lbN2w+p8oZcA-~_4BrR@__a$OCkMOJMe!@hCNaTx;;2B@S zrJ|EBx}WaVE7;--{;hW&2F?jJWL-jk<+5)6={P@?MI!~fjGw!+<^KSBvq`2oS(R<{ z_O~KLl$P#|%KjB2T$_Gpj~PFGPC%eDETmeE zk)Xm76$TlYWAVxB^{NnC$0YLH1D>d?&5@5$=~G-RlgJ}JM7ZUmB!Wlxh~}zlKj_Jq ziORDD+O7A`U@<~LCMCtKv}N3GY2^O^SI;^09@QPCw9vSgOM@(<yP1s17&2dkH#Z3%u06$Hy=Y;N{ypAIwm)(*NBdPv?9BG<=SwRlK2=VHdLMeL6DMKT5UeiQ zGC5`QWSITZeW}tzozq)Cn#|jGIV_-iVx1S7EwOWN8z=C_qa+T%gG!1dlM&o)`7p3> zy9cRX@+puq8#q{q<%pI;xuw__pZ0M{aU8Hn!ULYoXx!#r6V!9^>U10Q-%dJ9EM^t)78%K4D-gA(qM{-p3KIo)kU43NBxFcDjg zzW$l_tNNA9kju8;mJ628+*S2H{?x=_cPJ`ic#v*vo~PJTh=yB4@r|+W6HW8UGcHQ! zvXSZAwJ+|Y-EQ(n92x%q0M8@$&!|1>)x6If`x!p=b}F`Zf$K%wTgGt@Uzw#`gdNQ% zpo$j&Z&8Gm&;^PWUy=|yI}htnb0K1{lHcpD+pzAaeX4mZl49#Ph zoF~7vR=jJ7<=*i&^naD4hkE1G5zSxOck>;w?^pQ>vE+8mEy5d^mA5wK`GYHW?gn~_ z24~yO?sr2KlU#25%g7_&zG^#(m(ANdT17IkZN+dty>nIPjiR{W7(V_y)xaayDbw+& znr|{ybxWfAvAK{)pPyO))UoqkH=Y-^b_C&-P7l=Pr-JH9CM$C-n`5HF*=+tb4ZMYd z`7*$t-r753xZ?(dyG)qAZT|qo(Z!y9JM%!xS2IeoZjthvwV;$;)_P5>B_kSvWG>SscEOMgE9zaz>gz~UY z`&^9vROp|~jV1m60Lu8LKVC6Sv5rY&l%>S74c~c} zZ$8{oESBzPZ9*TBzC>o)xFmo(d(-^%G5nrx;+yuBS5j`LKK@8~H+S=%xq zrN-U6isX-Kjn~W`QZbE{vd7Ed{&W$05(M7Wl!>|IlkV;3<_9Di3b>07)Mbz~>(qIG6ZEB$D5dhhb+Sdk&M;ID;i5Tr zLnrR!k8VfKIr@xJs_&P21>3iW^&XVQPqfA|7bhH4S7Jwii2Sy0g=7S+F%Oj?3+GAZ z9l(>79^TbCIZTyo_n-C_r6j80N1FJ8DGp73Gy!F!lscG*Dn9se*Xi#~b#oi!x6BC)i-JG;^%_kp$GHKE zZ{PDrU!_@D)a~CQ?#BZ-Bz-6)nC=)Nsx999pO^*b*wR4qjidL2%ze0Mz$4c+u_Av9 z1!ZCUU&^!R(?dwFY&LU~mLmh(-hm=mPw$LKvM$b~$H6|i^{aNy;ygLslb^eTOpZ9v zmn4={#y4JX$vZCX^7@(oAak55K+{(O{#~%FCP1U|ve37o@`B|89DUQBi`6XqD zrZ+3~{{ZXOab|L{c~>f^}!jt}4@%Jz`VUYVKZh^{C*rWZ&oc42;FTM91@_B6$EiSLGuayb_=`?qNl+B9#t%fMmV zIjZ*`>fwVSS%@W9rosM20nK87)FtzC7T~Y_*n?y1gG`$K;xV_(k-5ju3ElM=sZz;= zulA2E6Oyc_1dn>nk1oWIl5t z$`{B7&{cPe;3v#3nRCE~eBk~yn|OpUD;&wWxoI$Y`ig9mxYCLnI0y%nAIh$_!gW&Y9T{`^Vv_O4_M523RX?c| zzBX!9BNw`2$S|wE<1c z>A9y7XKM5#u@x|p{HtkC?wzn1TYz#sDh)c_{OIQSf8*RH+~eF;-kl<2Dv%uVaDjB3%}`#CfpH3!s&VIAm1K7l&t6)HG4~N#ASTJ zv^e(nrCEq#v8C)}a#Lt^{5k1Nkp0@n#M*iOCE7~=03*StT9x^;C_Q$pbCQ1}P@9sH zeD4>xn+XT=#Y@e{Sgl!h?Pe{(`cMShrH^jUw~yjgXvCkWry1nxB#6qZz?MCwy^pm( z6FZ24?Qn3uOof#FIq6ctENdIa;@~%3(;+za&L{%Z5+OqJn{g_Q!C}BT{Cm^pyNY~f z*Hhhq+mk=g)jL4bP35E6OUCW2hnmuhc#p~Qu&hVVZ1@ZPMFJfk`dTW&F74him1j-4 z{Kqw75R;)vC5C5F&|~I4;-Z%8%G++bxrqHg@nGQ~`eXY(Q|0Sv+|kDqf)Rwary zwwE7bfNuF&pdb=G#Yc9D9R6>cem6FDz}u92kxO?ZGpd*h%l+nxeXsg;{A%60c^0kn z%G?w4oy2iK5R0RAyX?fS-WW1*pL%p*rT+k4w(@n{pmh8yymMSUit+7Dt@A|iva=6v zc{J;VfeOs9LK)j7v$3=3Ko(KtiIEyISNrRX4{TIdHppZ%Jhwa_x}>uHR8J?`t=DIn z7fr=m2k^xQL5Zj6Qx+!}-(NGdeF2O3A|zGlT6>PaNHM zrqD6L!vpP7*~1D#uBy9<`Pg?p^Z^-ze2ypbUM3$ZvD|+mF;0d%SKA|7L>Ujt%An&N zFnd#=dqkC@N0FO%@hKzd52Z2fSj_SX?o<1#zYF<#Pz;4*5?s5zkJon7k9wL&Q$A;q zoAdIrsNIk8r^yP4${8e$k1SQNYOdi7o>$u%U-nu}%nzjm7bEiKjho7mo9>lt6Z#%0 zuQS_z;wx!dJY*F4i2O4^0v)onvc$c1F;!oo%{k1oe)bvTSoY(y4c}S@L|_+?i3pZF zj1a`B{6$lRV}@Z2(a6mi+^(beeb1$6d2^~anQ}c#AOjVaZQ5&>cyB(@g)8%r!#SwHYK`<$Axn3kGmfy@)UweUO(KcM!QEc_57-xq`QC+Adj3oZN?9AR+271ieB8d zN99u0icCOakLKKEVckI_dwnQzJ=%WiFo&~A!5>UisPLd6*eLYK7^aJeVp7rN$8v`? z03<0qp_1ZVj~U0vF_G)dOl{)Im)$QP#M!EMGf2`Tu)=pR+w*b7D@!kS%YSwuoPH*( zq^w>o97A^1jej9bd1SfVu_+6T7bBDOs>uYdK74xRzGnP8RjYd?z!J2Q`fn!`o`#8B z%CHzx7Y&B3Fi9Cbt1bkVE7{j{OB%TxXE@DiA>X%;lzz3zBiVzxCQfibr{tWBQYiza z1%U5a6kLrKA^WX~lbkBjvlbm#(?h8k?}{<<=Pk#jAQ78r`?<{_lYT}BJt$>k-xRIT z0#`j~0i2IsDF-LMO)DIZ_%soO<1_%%wZ2`XbK8nl`5X^lT4$Q8%P?GV)`YkcDZx8) zjlglAtpH3Ja=`VbvW#~8DTj7=T%Y!v6w&73VB-HXXaV!W@^RJnal%#(yef=um`R2N|Jj)eE zrEIa~%&qc~NfUjr`Hsx7AGn#${{VCC?NMD@#dmXuA1p&9m)Fvf>}8B*4Y(Zq z`562~JCdBXFYUnxcj4_&UGr)(J=Njhq<02yil^m zBFP%?i#Jp6^{1u$$^QT!Hj*OxpvbGRjnOFicv1LLTu7=gimc4o3;lkS$+e0`{yUkL z7$qBi^DpsMjBkO$ulv3jc#lt|SeEp-RGJA>kX=&@K8F;N zUPUY$5>Wx+Ps@UX@##SqC%2S|nPku1`FZ(&{dFR@nY}K2zndXd81laU^+Ej9@)F3# z`&=`~>{#RcO?b=IuZ(c-( zMt!GokCOi1N|N^71GUiH(kc}NoPeX({{XL5V?#VmGF-C$=%<*cl>B|Fh%O0k*dlBO zR{6ITJ5hhBr%C4`E@f3!Z=Pr1GVAR>t-8KHj*X3wG(xogCkI?NZI0k8f&8nqsmU{J$vl zR#Hp)WK}e6>a8MxzzCJ1`>1_^^!2IZ)D<6LigUN*+{2s?<2n8xdT&t#{{STD(>~^9 z3XrRDpIm=hhvky}v$|H<$qkf;+u6TbykX3~bUeE*42|;;zKczeLJ5f>R?8M(ssLv1 zpL&s)^20h@H;}R_zu#$a&i??B>FG-)%lT^=vQ|KWkg^aI`+6K!jPdL(bMlr`^6ng> zpW!uDTfOs09UID6kKJ7S-lNn|G3j+Njx585-?h7qzP)J$>%2*`Z{8@(s(O!4#;Qkk zZ-_9h_gHP+$okU#t7Q8l@>}@4vI?;G0)Q)OGEU~$ub=mJvabZ6aC+4k`jvMH`tCO~W4bPfXi$0LnD0xct%pSx>R{tt(i(l*Dl_ zyEAhB=7Nw*=AHg#*Wbc$Fh0KYu_J+j#?kz1)cfL}EZGGx6Z_4(psH6_th;d7W?{9w zyp&&mN)0R~`Bz*Ycm6%e`@OO~{i@Z+F}8oYe}=HGFD?YlalSF~1z8nN&6&;zc5l+2 znyE22m^QA`s;j?_i`!!;igXInqYc|vIUUqieVm)7 zw2iF-?>D;WdJ$EOCYce!3QM@C(Y8$UBX0XuuvWyEP6!DdgDxZLZs zd6?m|>F-(-`BB_2$^NtNY>Akk$I`R)gyForu#MG;la*W?V;-E;u@b=Y01>x1W(Raq zWq-!5DJ<-)#1Jy7t;-KXn#{B)B^inbV8G_yOnzY1@3d~XXv{1ZZq|297C&B?sSa~a z+D|?r$eTIF#vJCNMsGe;c3zu?6pRl{^s4dk9}%!<-*`x$f_)8Ij&0znHVLEk ztEdr7vi|@9Dnb7MCW4UU-TmFWPB$>lMO1lqT}i!_wx`O9{YMm?Wk8c}8^u9T6i@_d z5RmSckQm+FDcvzbhct+Q2ov zqNs>Fog@fKTb7VBr$3K%hZpBt-M{3HpxNE*L>KPMPzx0D<0Qle;QRoYxfgiy=LS4{ zG!kkQR;jH<)C~WJwHKQ?{lJ!}a+PNjHbXxoGpjOWGO71*HH$qDI{LBF=2JS=x}k%9 z)9d-iM8E4fx76ZC@OI&Ofd+!%~32_-gUgV`sF+p2>ysd(~m(EECt#Mw(G-#%;BOw?>dT?r3cM9CSD5RDCR z5ow2-WlrAToTyUlVEjZUE^ZdpSyRNWRJuakpErAMuQvqcV~TL?pvOR%wCwxh2i2z# zud%KZ-unTv$BW}EKN4MREP_TW8c+|U!;3adJJwb$9&GfwGSL>JjPYEI%|x4qdvw6) zsfrR*Ie~eG9P(p~Ve>d`sxGXalr!G6^=nV&p3>!ARTj%+`dF*1jIG*Y*)7kqe!V0p zmZ%jNqq2B}?jnF{Ec$)ss*zd^Stjit{}KZb^NH_b?LsCL2~K6$ph)A*wvJ&riCwgx)GU`YYof8jC^Zs6_9D1N(^EaPIpI1ufxn}(FGt1a7e;>9O2_4Bs%>Oy%nP(3 z|5ib2_yTzi04+4;cXroh@7OA~3h!OLQGoC2JoIfjQw@6g0Qn(5y290#cVB&1(MjYX z8P{PA8QXLVcSc_KoxuZIME|DFRhls|!oM;bIp>`if;a!e6074vnYH)vEjQ|jYg+T&u}n6*ptfcsS6LYnie{~sOVL;B}gaJ)}Q zzV}^98h=-puu$Y~Vu?o>?oYP?ur`*?R<+*bO;bYG(t>b~e37eNq=wf1##SeuQx5C< zn|uD$mW`wcLny-LPJXU3Dn5Un?TL$l$1Th|gFatS?7VZrCBFAgf6fK4NF6VTAX6uC z+!}13v!z*H|IBeuD9qvu9ast{B#e6~X4TGea7Vn`>mzdu3E8B+Hl8YRIMDTmb+IgIG% ziq;#l>C8nD0&UwEAc~W#{l-C{sqJN-vw79U5SB$kxxm-3d@AFU7Mw23ZZ_!|b3JRv z7ghwl03>C-Agi+8K$+Dx>R8x&BxMI$&xz2ZD&f?rDcQh`%`D8Sq?$43I(}YXRaooH zHhC0E3ltBXQ1>^W-oKujBS%bNK9ZSCao$B~N|nIdG9QO(EY>&|U_o7bZJT|Hrx7<{ z&X0mY-tkHE&3ow`7J?z^MjJ8tL48dV6xrkah=B8di;+UpXEvoUn=`b%-m^$iWol;lfu)Yrz@-K5u~qBnI|<7=YhMmJl&Al$~c(T*k6Ne|wV^B~<^|-GOr9HOZDrm~eLN zOlyu$j?yQj;L?-3Iy$D*&;a$wOZ(rf=ICCw2!@BWcICFqEBZgIIvqJ`Q84d1yXki{ zv|;wtXl`#3(dU>A^d|}w7MDAoguYZpZHMhW&vA)RB#jvuh3ER*U&w|j*EyTXlY=00 zqLOE>ZNFFZseVty%yatfJd%KxiH!U2XeOn0Do^%XxlD>anFSVX`Rqn)jzU1lx50SRSyx&y zy#tj5fG6pu8T*)B>k6K}-oH94segfT5c3LlDM{KC5IeIDMxsx(UF zd|&i$>2#7_gL}kw^+i$dJMR-coV+l9sV-`_yzPPox`=Sy&L4j!gJ0Uu;zR^%fjEtl zDXpu(?%r~!u>1L{|FE2G6B3E=JER0;2t5+!Rv8A0*@d*m7@puckGu{qL!ZM!H%X5x ziuTt(hqX)nxkZ{uzn>Th&@l|4bH<{=Ar++(j==r8)P+?TsYV89x{a2e4ZS3h$kxO9!Fx8>%axTKBsf&ZWy|CtLggpdMv zQ|dD`FQmeXxMk*>Zj;pduZKAmoR}zAgN3x2o8yxLgAX(q@CpKSRC2YBQV?_ER3pN| zU!PjkYujn2$YB4F30A~13P!GZbRIm`0l3*sgN-fZpm!ux%AGZ=78CK}*ALV!P9&w8 zO-7(~l3Qgq#L_~3_E1cmo4hngWRx$hxlw=ArVEr{8m$xSv2N{b5{g^MaVJ&1I|)=^ zT^<_NZ_CZvhf>lSo3%*p=8!CInL5O)cg7vxu58tx#QVW7t558}d?s?hGf%UI4p&;h zRV=MlE$RjT!xF~>SCkRxnLB^iM+^F%4N#2-^?kaz=d`07+aEnK*m8NJliji5-Q!0z zm;ZJl4)!4fd7Roh&+dYZ9Tm;xxL)&g*^Io*|Bh zGjn+W#qIRP(#+b7hJMdz`*$+tg{=ew6;g;HE-j!(8}4?JSSS^7>v9nKdHEV0X9yOJ z(P|8oBFG*~!aBW9@bxm^zx47P@83KKghpK3{cfqPa~{y*v0{rVTtA)zIoe3v<|A_5mvfEI*=cBpjj+(VM;sn~ zs4f3YkjNe`bgnq|V0+x-S7=L@%e2e;OB*=xCC%RzKFnpw??;Q@E%VoXM}DI$?Cp?C zd54nTuqjfvR`hD5mrGnQ)!Obj<7#MJI6D5aENRF~q*E`~FZh@;aIQ&F9Owb8$Z6&* zNv($R zR3!kov;jl=qI+J*>;3qKmTR}$`aU1N4SF=F$0U(LS^2DcB=w~I2u&A!Hn3ha z%5x3IwkM4NejsFqShLy?uT~$n`5q=-5IPL367jHRh;{d6+u5~xtG}IU8HPJXDUDo* zQ|`~S87?Ze!ql9SVVsXBngG@o_4sn3voU$9kn&k|HOC9=X#lVCtm`$QLYy^Dsphq@ zo3#P>)7L$qrhd{8as>aL^Ld@r&5n-HeI>Z|32G)Fd3}9ddH1bHglqH0tIJE_X9O&h zT#~&`h@hY~dFqK&9lR+X^6hahbJ`@LApQD^4-W3?uRI?FzH|SFC5tiCPTuibraFys zW7|6=B^A21`oYsPeuSu=#0|S1Y14*0s3}zbI$6n|Nf9_2D3fN_EphbTtDi}C)Zo8K z;YbQ4WKU6;nx^t&o0l$3$9j{zoya)P{R@rh{?TWBi8ohr%U>9%WT=G9M$bGUQN|OFIS5j#2!YN$+G68OIl%yj;#dPVftr$6YMy(pkjVKEBpCW z>FH<*<&L#?uM(#kk;;gy!3nFnxT*1EeB`b_#Rurae%0f3%$#}5WOYMlR+EWxBmLld z+MoC0aozF5tUmCHO|>iHSX^V6W%LV&!GGS=BKtH_JD|0zx;0Ms;nB~?Ydad^7F1!t zuoL#6S7|aAaD#*fGTdC5EzGfg^>4yeF?x&8^#}cBl(_v^&QkpLqFgoQv8Xy9;S^37 z)}?godj+F$1D3>>cQa!fAIryvi;zr$Xk&~PzkgM|of2+94VPyo77%C^PMt0GgrhTD z;)A7)J}mnL?q(>$*^bTrROtL_1U{6*(S{zDk>5vp-7Ch`u?|PTuFcZm?KVenSBg%_ z4UXEdQvUa9Ms!SC$3#08Q{tttHR!mB{|vLfMss>%aHO{FxI&gLcLEt@I@IgEIHw8v z4@<=O#R?9>py&B3daqiPCDGcSXN<*|lHkaS%t8lWyC1#!zRbLpZ0gZ7xSmInZ*fE3@mw z!`gvdt0k)Q{?F5iA8=Ns;32FD3gjEppp|W_?>|{KpaI;Hjp%4->K#|qNL3ZDKL2)5 zZ-bQC9nn z;}T@;7*20A{dJ~Ng?l@$f!mY_-W@UT6@!-Qs(BV01h~*x4xM;((LF}|B`4ZK;4IO| zJbRq|`HD6z5}k4E1Y3A(b;|!u6BF{iGcPgi0OLd#t+Re?#na@q23jnLKp1v(LM-b# zLle3dpB3|cLiSi$Fy#Rm-i$irJ#)i}GS%_`!9VJ>wLwcm`P)l z*><&V__te@48ZX=6>3Gl2?rAuGk&H_X^fTM6FyUp&nrjWIMxvId(=5!-A<^Gsc@WJ z4w-h^+Q>{FOhkSR_nnyszS!yv|NdO?7gQMk|NOw5-YO+e9;5h3Oq!23 z^ZjT3Eq0QneH%^^Q6eZ9m^IL_CGYEXUTFqedlG{WoU|_#jAL2%XkKo5qh)dQ80CSU z85Fh?f z1B(2pd8*-=ZXfT(sw%#lg!ru{z$8pN@2V-zHWICP*dM?DXYN-uD$LoXb{%O1iHEn{KE07(xT$2){{H6Jp4nbI+53LKV(YMw5CfdvlYO&?p%d zrUhedp4J8~TXwC*)r5|{(^?Os3G|Eeajiew@OIW2riM*}FXMlwx0IF{4M%uLnRja? z^$U5veJVQ#MX7wE&r~a~VgGQpZjbRtGEk9~VHsgR%l7iI(EdM)NuT)n&(=V@$@H*`xA(mX+(KR{(BAJ1*h^~}F61aEvJ z+}l^lcGZ2D&PV>s4nP;kDWhUP11nSw0*Ma~ubZk^dj6r!^)>YWz1JM;$2y+reP`qx zA4zB1;pp-0I$G@R4++zJY1R{Oup2?cL`Rf9G}LvW{W~96GLBi=S?TqxJJa4J39I7;sC@swmAEAPUeS(M|Zn~uUY&G9$xD2*VXx3Cq}g2o6$DV zoYf@8w%VQ_9*v z>LaF)2$Lsw9B)95$?x6HnV+9OaeA-)PoFGaeS)t=#U^+147T-*$iQy-)*z4yEj4F}~qAwI1U zpy@3ZoZK}^3>W(MJ5+l@sZG)Z8_CZGPw(oJCR+FIS2c!7pL(=CRS`qB?i7Z2DeB@D zSo5_xbi5y!ibLIfD$O>N9h=|rzEe??68*4)c00%45b%Fx2blHT;o6MQj5)MHLhS$# zW+N6WN`Tq3nOjt?X3;hk67sFbId?G`#xtR?b5|w&X}6Lm@2hOa>rVFw+^mr{QyA{x z?Cy?l2i35Obl5NJPUd8-`rg15khsTy8?kmS*UOj8D9GLi?k7^cZI)j%6xWyZJuxDq zFHV*k;_TZL`TLcxGsycv`CO03bKE!_xp;1Y=0dMEsRM`H5Ao8!9cy-jCK75v@7v7W zD3*V}M7$s17=trC!n+k4GHJ_MN0F)5Al!ebeiFZA4C6(}Jy==2rGlWHMlLEh!ry3k zB$MSr=2n)2@!C{rap9zSbjEI+snE)5(Dy`0^mq>@(-S>ncYAs7Ekho~;`mbI*LWRZ zfV$hN^%t-UI_Nr2ngrUz)5q1pRMrD~Ba@R}pcOIni6$(HAWss-Vy%7Cl3Zx^*k=*p zh+17UQbd4$*H~jC@s^T)>|k^#^dsTlHJtXfzeYl233%tvdS&tUHPactw$1@4u;o?$ zXm~6xvFcMf>oXYPU44jIhBl`PnY~vZyQ4D_H<+l*2=*Zv1W9foK7&=(keCjh@?~Ld zA0O|_%r*!<4Y8P*7qgjPDmGHdigLuC8b8L!R_PXp`OBtfhlb^~OXs_C)p&c6d!4b) zKAC*zC}P`DzxoPP>vSA#y!v;~Nz`hYGR}Zlk)TcZMxX0g8WC-ko}ppaFus22sP1vx z?BC3b+%)b7f`aMe^iB(VO1H{My|J}2BYkAgyN#2MSKAL!DUnaKHV;HyU%e)5#YcTsI@ zv~Cf@3A`q`Y;DYjF+6Wt4KOx(1D{O@BlgXno-$es)&wS-65%>;S*u!Y>-piF7?+Um zfsbvk#HI)<|HPWLC||X4PA~~>N1W)H`5*HSk%ca^f$~|uk5S9Xz%xch+jt8OP8-HW zE-^J3&X<)EKgiQX5^n>cW}m2z4ImXB`qRp0F8CFMHb=P}7lR$GuemvysO*S;F8 zidM;ZziIWi)|E_%2Fe&{pS(*_WVe1tsP9L3)=@!ZlkS|3eyKKnK;%#}VN#mtwT~CXuh7jm_W)AIsiG=U`!P=eGt!=A3?ex(FS@ zNU=)f-q|MQUG|q##Qj^byB?hq##mj z>qT01+T3*E3ixd6>0`Wyo4tz~fe}=^QpVqSk3m-i6a{7*`N-=pB0GZ=EFL<(fqN2hViScyDxKn75|jV{u*p zGlbC5{F-jqNq*81N=#b&MLDUO5>g4*fe~WmTh2IO`qD+r%N+^GS`$b9HDVP#L9<|7 zGbGq^1d-hqz1vNrQ!+pXhfe7J*J?ey7w+(I<>nfg_bH!*E7$ZDWFiKTEn54bD8mi) zY{zr8!F@U%FQwqy-HPml!CsBP&vcfz!P0Fuc2A2*tzU#0>&>2<;v>EUy_2-q<`n}a zygU*mR9ctex~O7CiSM<~o9@%!$a4zu0=eOWMU@QKkJWxZAk`(@DWcerz0(_gvt4K6 z9Ot_qiB%6za^2qL&#QOZgS)zk8w2zjt;}(a1ekFI!q!%dtE#A{IYjc~sRAQn(=27= zLvBEm24FvYrAcO^hvOwYwzUm4q6<#S=Q;|J%!Xsw*Tq(UVoXZ1Ke-JbJ0{@#GwnedHdEV|;xu;A&g{)Lr)C zu>zaMC|gNZLb!$Cz)HSq#&rM zop>KLt`;pqTZZ2LOcLST<|HL7ls6hG>;3~TI=hJ!qv`!NS6Ws%#!JG`C+R*HR2jC% zcE@r0yt*?*1VUw(d=qGBf_}su1(!$_r~!#xmNR9DX)M|A3^KX!;4bDOYbD8nw9Q*Mn(_n zq$^k$C*QoAP@GyeTss#*P!W~f2kH%Gz?Z*nt=(|~B)2kCI&;QhO3!DV#?Bbf&&r`0yB6xIgtsV^$Un-nHF30j=lAryhZRW^C;W7hXS6 zHFw-KL2cqy(X|!CT)B{&1dZutJ#UtNg!4yi$kYXu=w*}mM6YZm9SV4&*<+1k&8N!e zoFJ>UlUW8-hcgv*R-H`|W0Y~etPbyornyAKPhMv@e}29VUSqH=Rj(OLW?ZAeB!+l; z$A36fp$2NCS-xxB+6G}{b*KH0eAl!5G0dSnrhbBJ@x?c^rx)eO?8n`NOJjiVht7_( zUX1EcH}&hoY+uJ}1YQs-9lip`6BX}kk(ZcKNcep;wU*G5I%v=3 z8hcmB46L3hRuXjzuc9w2M$gtQ{N>#^dnfw`1qrWeh$9z;hcn^ z>HeVCo&O3_Jva!Tan!oMp-wu_1p1^XL)`@f}0s)k_pMYo7b_MLVws5mZ$j%#%N`;7nN|nN8ktY zO5D!Jdznd4&2ikd5!}vy*F+w@$f_fFvxANZGFKx?3%&|DTY1fPW<2He5}L`4 zeerqy5na(;?=*KTLU?fL{@FCT`I1& zX6?Q8%2IhpxV`n9BwTCJ^vTnapoLw*>u21$N(V^)q`Q^MBlSnhCy)Y>N&Zlf8VuF^ zE#j#n6Mj=+*8ex5G9UEt{Aj2FebXISE-jL@?tge=^b?vL7at$sSo0G&vV5km+5Bi& zEe8SjqpBkVCPmJ7P_4rA^d#pIYD;I^?s+GwWvONy9v9^_N;!TLsAoZ9%`~AmDFl<@sN)ib^naQ?aHCK5Z`JSi7){aF@b+iSBA>YC9$ha~BF@ z6XNseiz_QKlsg<+$sdlz__9E)Icy}z-AbpSQ> zvJAO%$z<5(=XNa8NEVm}s@x&%tjy1Y4WpwFsb#-@LUa0)$*|A&N9dsNX ztqV=GV3|OzT!R}7cmYvMI)q7#llGlon?3K{#N{RrY zWM!b>(pHvQ-K~Lhvm!}2+D7jwQ+x3J!AUMk2FV+0ji2u!B*iSV4N5bz3EFvMW zxRjLZcJ&}bESPHooO|7DUwk!X_NbfuSj+zWIyKXqRs5=^iZCU3FGFnm&-e}rXtl}? zHYWZ4_tP%F)G_z#ie{{$naH2_mmnU-#VE2YEd)u&!PIZM#kgwb8Un5%S`Vh}0NRj` z)l{Bdje;Z8V=1LC&8l6=;U}bG&|OLzJGN7)N|us>LTlL5aRs(tTkeH}3j!_h(bNC1 zO6rFM+EL7XzYonJB|tgaFY)ncj8@O zp?^7&q&EThk-H|A3Zgdcc`d?gAsvTCCrM+@#}1vA-Dt&~z+f(Ny!)R=s|{UloaU$& zne3tl(%)QcS)xs7KBm7@@3#F`MKqFbm;}#fmTKTrF%*I3O>6f99ifr#j3U1nAi)E^ zFRG=}!e7eMkIs(mjQ=7^57<65{1z!Q7~1K6x-+i)hx6#gPvw|7&4ZEa_-}*~Muvkv z_Z1-%Wfx~#xFHPsRCCK3_FoA^&gADY&@k%P{Mclp_ZV(UlP($AR% zc~5|T)i5G&jg*ae;i;=Q@A$t%*pyerMsGhtkIIsKI`NIqN|=&nseC4d#%MC(q>M+C zBx_A<$LZGi52S=G;5#ekn2x*R=}_!_T`SpLCSmRxUNP{W;HoN=(soF>(sXedj`VQd zC6sATPWr6fS!UW!=aGW>MlBVkvLGM5U&DOC#fSjKe^^<00O3V22_7wdx0G<5>Gnb3 zTpo11ro4s-ZCI~eUUf5d3ik|Z6L((HO;Wzr?whNfDp4@{gy2qEQ(P$BBb4sD53pC* zJaxh0{iI?~Rau~k6pk9%^~fDo3Mns75_%$pPr#`iNc!Sk3sGIQzBnJW_~jI?7yW61yWJh~A(pqz}G z91l!vjf3{@f;8-JJGm~ugV$CNU5TfiAnAq7B<($(Ns5=8+cgz9y}lZ^-ZokFBv0rE z_&1;xWNtI2c$~23jdwNIGz0V{ITV{UT_Iu(>m+p}+ zqa#!*js#@Z3PfmwIsJFNZ!-mfQN1AcOMGy!GZky`3+vs@%w5FLcj7<6)pcK9Dv2uC z!mnW?(22xF2yWKkXXS+X+mU}goZm)1Qh6oyPmE!-Ubv8`w*y%1y zf&!GOe64mU29(J8Y_iwtM%Fo~6(s1iC-xtfq(MgD-q)Hb&ISYu0{hMUu}FSZ%xc0d zxOV$rk8*JpgJKTEpX4n@?rvr52C5xk9bQrx^RvI7Z*ov1q_aZXfpoMlu-*_xf4jFY z^J;uFzF{YW`$vcYZbj!+#Td1UI2`bNJGJ#{b1FK+|G^tNuBs&4&qXnHFz{qgC3^#d zipV!KCU?jE{Gy@;4);WgAai#ScR1)A`Pbe10EiJ~RWDQ98Y}WW7wuL1m+$E`4lXD` zxLzSYF4PT10yd9fMu?z|#({*65A)Zrj2-*=KfE}9F2iX(qTbx8N8(UceMWhA`TU0! zQ1GKhpiUun-RI|RW|U3`C7_DTMfoxYHHyJU)@kVjOpEP9Md*9`24+Qp)KHOIEA0NJ zxyTXDNY`goCtArv0OjuEJ2plVtrz9ZL=0L$w|pN+7kcCGXOVjSI2wVOGoxQ02Dn4j zQWcK%&pksNtT^n}KC3YE{olt^VXkHxvF6~TGz+@9_{Fo4oo*Y$lvZFuSJ9^KMz&bK z$jVUbo1y>X?#3wp(bhqG-1Ba5%E%;bo?(rkp%}jJdTvz=-N4=lYswFRO-=aN4vXyW zFt+Nzrf%F)S&SC@Mt_{E*90~%%x?LuPONv*+6fUmc)+6d#UUKDUOa(?YoktdLdSuy zf8-O=TC~~u+KvCsGl?Vz=Y;^k3>&F}=|%)pF=6y)q{c|Au_G^&`ZX<@e11zcv8@X-PMDIKufhf6v9er7DM4rKyJl}8)KLe_1cI+tZF-&4;_X4+# zzRUaGiw*gTwI^xe!%ykeupTJ`Z=2oocuxlX=y8#n@QbYy;6(j?E!?qoC`06g?W4W5 zFu>21+zPdmk)gq5r`!E(!_!8y`*5%o_9h2a0*~`A-=k;T33h?JZ(n-E{`-W?Ruu=3 ze(d`ol+2F%ozVao;|cnEtKDy`94ze?@&B;Qg@BF2N3G|eiLj3{d-TJCATxXKzR5Gy z&hH*LSoojtd$J$$E3xaRlbc|%Z{35wQR2?q_)8}5VX+)j6jcE_Nb+jdaTgIwZyL6i z+|Wvh1Mq2Cz*(HF*u~2GD|=MFV*?<4^NQkxAroXA;Xq5AY8y5t4ad^Js3Je!u5O7^ z`7UI%7SVo9~VJ=*2n0hmETTS~&mD8&z)S$BjGPgWaf*ro+7 zyrFd#+o;W&Xf?ojQGHVGd0s&T&FTtbC`p$9y*j(54kjy~?yi z*>{p`I3T|d935e8xFaja${UL;&qVTH=nmSLi%tKEEpJchMmJf1)bIBW?`l(*JX4@l zm=}1Uf2$>QV?gew=;Y!M8!E&CLH{f$tP`Z+Qv|nWxH(5pWN^VRDrZXz4{R-0*l9&% zuFEJU*xAOCcG3vKXAbq@AqQ{of6#TuW1}^QaUq(XoyIqU>e@V6O` zcS|#Ni^|O?7HJnabKUjYwD$qW*M@RLqYSpmZ%1`C zMC!ql002h?lx5s3;~!&kD?wVWTw_btHet+hQ0|)gM??)5Rk0%;?&PnF7v&-qH)#Ea z1WMcjmkX4vvLSoBt6ttZYwwk>f3`HAg(!`hdE~wNx-!9gZ0JXB4U%?Mm24;kmKV*T z_+ciYk&mgoUCaGheo8h8JN%Nnn!!0cR7?F9TD`LEhE<8HS9yEfi^Jh0pmUEG5 z3d4%lNG{dMPuGmCC9H0aC}Xfhu}A-QJ3FOPykwZjrcaq=quk9_K9jtw5ud1=(8*4s z@3P^uGV?^~$>xbWP3q0rfQ@tgo<@a4N%P6Nc$R*eht5)g%=30+3l8HQJTAG@`%f@u zL(1O-xF?f#w+5~ty-#m?$cDclH~R$1(ZOLy@U!w#u*Z2biY8$;#o%5M%Q%XEBdn?; zzecKKWu&jK&N57v)Q7~zfA-~M5f|}^Zf_yeH^~q)K0{|!Bk2XC_zK1S>#|P|rjkEC z4=jZ##;G)h%$~5WRe*C4(2==X{{qb-j9>HJEinvC_qlrHT@f(TW`VnCyV1h^)8_*{ z@#d-!LpIzOc>xB9(t69bB#i8?L86{$qvGYms}r@_;SJ%~afufLfa^~tS#re13M8WR zj>uO#yX93@d&(1eA#Xhss^Vb462;lD?r4>HUhS}IAH>AF`?E=rif(;lhS17X95dk z7@hM^J|Xahuhxx(O=>BLu}RMA>f3!q4exjiMVUkE@m!}gudRAG61s&1cfub=FR$yE zx$QFXn=U1Ccfr@tf4UBIa2dbm6E-)&jRyl9nw`?6PB^m_@7!bugl@Nyg+#bs7LYfM zpLhO*$^-BX`<217jzP zK9Qk*_3pm&Woi6jTlN+$T>!o7d~TY-^@Qhs?5GtIVG(@N7wM4cLizBqBsOR!DW$sD z-%jNl=bo>n1?6DAf)yv8?ufVU;1|M>6EINPrE{-#RoQ?uCd%>4Hsw{VO0y*)OLk}% z!LjT~#9YC7RBDDnCQafc`|?e!(d((JMB8ya1qrNa)Xer}S%(6Uwt@Lp17KUg;^y|2 zkL5e`8yVh-4C1qt%bA9Td!(7vH^OL{m+$Hnw zMJ|h=UcC@77<#Z#95Y~ee7`|h0mOZBBLhDGy(M|%UQb7Q7+&N1CkdCCW{*4)nU)&q zF@@;=_2lLfy`|4OUb;J;I;noJU#N%94`1`0+S2;$5DUEFQQ%~g+9so`4h_>Rwnk^K;pdEG6u`Y z6c(|Ap4>wtlpG5ZRW5Q@cW0=rtpg;OquM%7k0)Lbcf#68YONyY?O4`#vqs1)ThqBuv6JWiawD z8Mh5J-=wM|B}2V98DSZ7+egA*)%VBZL+ZRCvo*JiI^vvSGo6*ZYN~uI^OIu?E#duF z!h}38$sSR?PWK;xKC~$?yEK?|ktXs=8=ah(y)0k%(GnCo)G5WUz1{vQ)Fl2|1@QL{ zS}10VpuRV{pBjoprSE7Y&pO2$7JaD>kHmpt(1vdbmg}~}mkGSOa;ZR@DvqRHWZ$zw z%R+0J@0Opmc`S%)_*YM)bmg*vHcgX+Ca2HUJvwiyk~?cYD?=U0$((OKk1zyM+gr3T zRlnQi5EVpY{B=!!KQg&|W`ylEah(g+Tu50zUVvZ!`at6|f^|!*L6Y)Qo~6kN;NRV) z{syU8n@4_`F8-EJP&nwZ1`}@MNGdK$%3YfnbIof#eeIWcw3Z_P+ho;3NJ=XpidJ{#5AJR$~LI<5f*} zdvSU@+Oq$8H!d*yZYZ?X6q>txzx~J=r@kG;$S(oah}>5jYlAym(1lV*jcfjbgvwRK z8=U1;;n9UHWZ1h_S~BVR-l7ntklKk#yEwx)QKJ3c@Vuq=`de$OuFia=lc3959yRR8 zYh6^#*`=V5i895n81?Qr{q;WH)~-<2EJZ&0x{ELRM#;(38z_rbfbiZ1Dqj8oXu2?` z7S!2M3AixR6c6Y3p+;PeF1NZ@7qAHWVhgkd9RM@9gpJ+<-<5&xw)D)N(-L-n%V%h{+rjP4 z4U`U<_^#!n1)(X&;I~?aMp{pA0s?g?xHTVPjow~iA_-L}?dGSe-tBNHf zFL6DZ^!!?Byrpur^j%o0ov^+&=dhRj&4VFr3gx$SQ3P{sm)vyMu#}R7zEH%=CpyN1dStn##)|!}Bk{v0otXufHICQ59JK>-azmPiBt4%H&=;m`q7l8cR zwTHtxT`9=NbGCfbG!xLJ%3Vg6qh`1m>o2q6O0u5lE z&{ubLUHR3~EOQL2!9bo@2XOTm=t=VCkm8*lQAou$)0xyLjErQsOYYoMaNTht}avE9lSpK(M+ni z)`v3MMin`ynUU&|!B2uF@^B7y#ymO|3N*eJy&OjlOMN_1evE-+^d z&e??V`f=J5RZZ!UmN*S&{FM-z_|8F(LfpN%s7Zz^6dr6DYO4%$w*3@Y0y7#Ji94*~ zp-yyG)--)+s0gl&2}OxdPK@1>1F3-)z<)HSZ?jpt8U6E^L)m%S(t-eNeOV*;;F&N6lIIz82dK?L{RM53JtRJ*Z=3&!WPgA0#6%J4@+DpHz;5 zcydj%D{%`xb`;o4^z)XX-Lc1a&EWPCyU|a?TL%m;IGp}?r{BET?rrbc^(eix@9@(_ z;y0Coy*2F2*(%xgHN{7WqpldsxMgq0gPSy&3s&gTu&JYti$T=B5o;qGoX_aT3&H73 zp7cR4@V52YH*CYGcB&wN7I2uimHy^g7k=o5M!4W8D?}mXRa%syd^PiHyT_rZ$ zxOde(6%OB?&Jg>t-yJ!#ryE>AFXTHTswEF1BbX{3I9FSWKk$l2spA}J3uD`=|G7?! zaYzrFIo{?5y<^C6dAjBy%uoQ#t2?f57m4$@iM2&SW5rA}&-aaqC&H8TSH92Uyq1~v z3n5+m_gdzmwVC~#;6%bZp>U~M(`9!u#s6HX+DDF#W;rnp+a9#lca+!)WeDw{^tkFT zKN(RRy*SZDSa90q33*X;0{S8YoeN|p6DDO+;L1^}8t$N;Z3rWIaSpARD?MKZv2Q1; z^SpDkaZT|@A7#-N%32D;BoUsY(+PxrAn{JCOz!c)*d`{0<0c+N+}ea{q7-`~L78&; z3RRX9VFlDRxYb7~w=B~B{Kb|1&V$nT8TK^Urz4qxtP*^=dj4F{e>bTQ54yA>lb=2_ z!FOecxDOu%)qrV)yyC(!g|6JXW(r`5arNvtQQo1bN7o}g>QP^UQXX~mBk(S&-Za7D zIRu8$3r#qM4{c&UfLlazYwaF^uPwvAy7t)dm84teG?j_nzOh0RUCIb%w?^GH;T^`# zjbj~>D6nq?3Z~oy;MHr>E&_vTGjy{!0)Work{~P-b-#ZD+$s1z+N?hbdHzu+9MdYP ze*F&%DOXyPw66K8qyQ@_*MP75_?#?&NPvOD0^>Q4TkkzM;T>nW`VG&Ll| zeW7n(^u@2tcs^wZi-*@PX)!^Ct)6u5@X#++#}ZIiod?s~<WcFx~gm)nyw1&yVst8fp4mYLz&jw9p>I}mODQtXV`jMah{2SpT8XacB5Z02=0Ll=EAt(qF`@?VS4lZ>I7N0 zVwSu0MA+dWG(f$}!GyG@5>fHb>*?!A94_;jv*1#0pK)!IOgwOpnjtfnFtD*`u`yB@ zcyj?nI&zSpckoCI5VaOK5*QQybHwME9JCwfDW)ez z$Th_Te~k1~3ePuR;UI>qw}P^Q@UQm4cXv~L$@{bVRFWMDy^EPsx8sxMY^P}5j#0ke zPY-@pT#&_ND?%EK{;L0b5uqE$qHu(5n_*_n}}8jg+Oxq~tGhCOAz&N`$rnkF%uT zkdNAeJtl{ZiG|{`c3+#y&Wu;m_m(g}a^Dd^`u=MAe4-}H@#o)BKhcF8$x4(gw@n0- z*CZrN$`z|%l^f4cs0MH6dsts|8y9!8deZ1<>7zt}f3diNpSxJ~5KauqP}gYPjE^yc z_BKj_HL3ps=cq`?g+^n6$sj5Sur=jL{_rdzBlPpoCB`UsKD4FcqWkP;I2nF;B*5># z0sh|Hz{<#R0tjDcV=UgN)IR`!OJ%!x-kH5am{jd46+==@!p8o+zLASoQ8OR;Szr8|dxEroy z^E`>q-r5@jIO>0uFf}yj5X+J+U6M4I z1FyA7B-yl2CDU|=X75AXeQ6BHy;u80%=z-SpPOKCJ&&bBZ*2EN$xYG8lJC?m&!??j zwA0pSaVMCnqhVEDp^vY>*0q)>(NqAtvGSrB6&n=tA^?Wz!*2>QL>Q5 z#UMHex{{ZWnEDA=Pjf;K$X*j_JM&fA^;t{Wy%NscAM%>gfT_n+k2_#=2 zJvx8&{i*S*c}>rn`?xN&6eq}nN7*LjJ4*H6^r#AXo7A-1nSNg}bGPgM6)cEEoU}-+ zFwN2b06J762HFI&t9{npxDWodB8uKd=`nNV`JsMIyc$W6&aWK%m&+upD}C|r?^4M7 zWn%tYKGU(8PwHtS+IKvkE3o;txA33hpqC=4o8(EK?#0?==C8`%>-l|3d&Q^?&oY;yQ3pT?cUO=u)B0@0Gi{{W3Z zVOGQL-JRQgsnvqyd128N1kKG%;3S}j6skvRG+qru#;&MKe%Oy`S zrbL}Q!dZ*s2Bq1;x6Qk#UV!~YHIyWcBuG<{#!Po6c0W!zg^@1qaa znHD2*uxxlf$c-ZM&f7EeG}TS=HgSRfe}KCdO$d`7)*A1ws1y)^rbz z;7eqmz{>Gs@Zy-wJ9}(T!^zj>+bKK6NQ$yZ-#yG-Q)>=Bql&F>aEo&vmTY!~3(i%C z(zQO(45u$3+QVUD+ym*KS^&?~nGtrFt~V|*GN^2iOw}Z1`{k!jKJ=F0gY~UFLd2C( z5SXujE>bc70M@D(7G^m-p!esDsY!pIwE%7DQsxleX6>i=Mg~8+MQHUN)q$bN@iRj4 z+$#S73rT`A^{th4Pm_P}?%TVZRI;O~ov$WV2ma)NpZ(r@S3RrTtoKlum78M*ed~_> z>u%yfCan1Ts}|j@>T4B|1owY>Pb}?KX3jbORY?%li!sE^!1)$f#yOK9ewe8vfc%Z+ zSdMT)$$)=KY*yuCAVa6)t{J)fg-;no04nL3>%(#>h|+-sp%B3fd3+Qvou5j&*^M_W zU@&YdFH${fg^}`(zR+XX&GLC_bNJ?y{X~wR!rwOT-~PG)%$_Hf%2?!9-5aq- zZl@n~=Ca_qQ{_q~xQw^n^9EDgb6Z-JjRozz`C_u4v$F2vCy;Sj203B8dv87ki~VY= zuTp=8nVVXVGQxk>UqbA73$S97WbL>88ro0pvEgy(ayrnTYBDk`HZv) z8{t6x2&!V+95ubW5BgxmbMK0Dh<^J`brgSfb`zC9ujfp5A9-fUDjZxk8*;M9SP##= zHEt)kjge&t+qQ!$6OUv5)mpJ_?nHO3GUJtT$Uj;nc6nV9A(eBM2;efGS_IJ;`$Vz} zd&upkRKaFko_`*OrT+j|vLKgRLys+$K_1+W)eE9QCi#=o44qH=C)Cxru0-L|F)U06 z%FPxi1TrPLTb5Za%H@a3SMQHw{VHkKdYECFH*DpVNe8j|Rax5RNrW;>8lmTCQVXB1dV5n!@P=+iKti4*;Uf;}pM zxspd|g2@`^4vM%q^)e z*QjT-dAh>{V>}QEH7$kgO#&|D4bX$v{{Yoi8sZ{9)`64!B9ppikX*}Bm7Sy@ymt_* zNII8ZzT%>?0y!B#zzlFI{O=KrkXcv`90OTaQtr5UH!EfPbgp{3qrVMg&B)Gr{Gz1X zPXni|K^uC8BBmS+jo9?AW4N%RsKDt=GGLyfowY*nSR8kze)XGZ+xXUHkKH3KK;o3E zZO%sTdT%4XanuS$aU*18W7dI-6jE|!kYoF(Dd1q71Bz4_J$R&IN$bG$rUIzrzC8^n zIR60kQl6c7sM+}7as223C2XFIPqC<#+_nTnd%IK1WbuGMI%_%3FaY%w0I%nN3rDxy z6H3;`;STxbkN&xQx%_#fe%StYU#l87ub0N=~iS10@lb4-zM7al@e1^)nVIsGUC(oDpVU5~Le#ylLH`&4m@ zjQ;q>r`0q4Y5OuhXJ-EZfY1XOvYGi;-MFa4k+4vbEB^qv*{Pi(bi~mti~ZJIieXew zm10;|_(G@@0R+tZ)nd1rMq|}5tB+Di6$paxd5`766KCXRlXGM02kBP)(w`|O>zY%M z*|y^&iV3k!L^~gIlG{#ptw9c*B+9Z&EX$9$oBDg6D$(3`{K^>gp)FmJcU{gu*#rUn ztEP*!&J0?*5v+1KxSan0+e~7swX@m=Z!&4)+s4ToD^|^^{{WwxkNfCrF6xfTUHqZ!4wSA%6?`nh|WPd>A|V(VYS=6+9q?!+(E~%rpIq1&VP6r zVi*f5_xvh&l^vNRgl=EFrFcH#u1rXjEuK2V`c-M7H=z$Ei=Go&u>#xmfG7D z=KbOC(SDTPfRgG$B9-o$e(K}1oa6jzSZ!7WE6&~7C7Z2H1PKG>LpwLj&Uq*Cr^ws) zB7MwdkM#P~wpEPfgiUcP`AfI%hGhqLy+d^$+1bUkF|^Vr-0zQERo9yqtif6hs7_p9 zpdIQ67tV$$t;##L1IYZHz5f6jcOjyu%jLo6?zdgp3y`JHq4oMv8XJknn`z}l3EGOI zE`7ylPaIQRFZw?A2k)|uJ-Mj6bWdUJOhtJg9ByEdzskG-c>A4s`cm4; z!f*KXWM41LR%ORO<5nhxS~b|YXwKzkZZrMkQ52r*XO$q^fULtfKDecOmC9O&ADA~*`g>GTtfDfuvIjZk-SP+d^r&{+mygSM$Rn34g&*TUjbWVU z7z@zVX-dm6W^f~qxBFhS*yfpXk~3{o$!(*P?Nrus*=F7seid+eKi)X)NTR`ryNM)b zF|R1O>Hh%NtCo6duW@=riWSu&QMsgV;`S7i-pPhRw93o5I6Qi0k`;@je*B%k zF5lu_r~E1JBB$RU@FQ7&?QYN~)jbCQ< zkGnIRU{o?6GIsI~c=#M{lx)USD^H)ONj)J3LV@y+_5+A)1LnI zyd=QkS9kZ1Y6&DNN?@)sam8lhX`eRysB*2I*sWjnkfvk`z=Cn!t3-<&jkF&vvfO*r zlu?R1&|7k&f(gOr9@Q$Nw0>OCs00SW3=gGVMhv6^Rk78EGfre713QK|?b3iM`Np?awo2ZWe0J|b!?38`II=R4LVE|P6lz^FnqnXq>J@(s=JRD{NPFOQLaMRm&HqP z)u^GCUn|So66{6XNzVuW079u^xL8%j)_wyr?e^&Q(}rzTm2j>a^LDc`1i#&-fi*y$kS@&S>icAi0w{CQozV!RsQLisXu|B%EpQy z+49?YQtkWP;QcYp7oY0mW4rEd`BQMuzIm##lOvBU?zZRURhVP&r2f;lhjcsV-IBYc z87bR?>p(3_Q^RoSpf4@OzwdeZzFngPoOB@dsH4AzOGb^QBj)*8mjEBF zBHroTdAfuXara(ONIujInk%BKHOza)-qE*i5-yHt{cj;VoUNX}bL*`3yBI6ra?q9DpWKNVyxK!`&Sbm zj;z{E>1}r0AD97*esr(ns6XY7pMHK{ybug~(PFudno;N8JCyksg>DGQ_M?8wkKe~? ztGn+7JF)9oUK`b7)$JPM&Mlabqj}BFa1U>-Y!}{~%V@Ia>+Rx@OJ$7R$RKud%jQT1;(7|VJlWd*YN*@~$TN{%TdnH1TCJ&5 zp-!=ny6A@}eRGO5eP_g0cF7EOQ%(@%G^)n~)9F`Wx$26@`?;5PFv_cdXy4_>_lf@i zd9rKI$BT8?ZXip`6@_M$Cgw&RPeILY&n?~8$qdnL``dsjexFJO%sy>ZEbfcU>lRq< z-L!A#ttH2Zbcjw(#4P^+dn)Qk{cDZ!j9ApP@3igmoMD+|IL3WXPPGr%bTpSHSRHo# z*0}GVYC^f($Ks74#_zSFHb05SKd)M`VXtZ0mgth@CSnUJD}2};>w^CPif%aDdY_`c z?0qS^RMu(Yi%;yVqO@gCZh7nYVwfg+V@xEsQ5>`UueEjp8|m*=ZVYR3N{J)M2Z({* z-O2Z*w76+-KQ=mq?r0h+O?4y^ zJc2cKb@Nr25OMw7)oAVZ!1MgW%!J6z?s>&u)Y(6AW}8&VK>RAK4B{q@--btwZEW=Z zwP=RLjZBELf5g1;lEm|mdX^-Q%}~QkWIT|+dYJ{f;eJ~T6#g&0_|Ox}XIW#@j!0!B zphPrKwcb}!S`s$1aPFP9yF`Mzz9hO2ha zB3+T>+9vcZ^7Z^jy#QW_H`(14r8!TPw*iCfMLIYpFl=k74^7NSEuXKYF&Ze_69f~g zuN!}<+q>s& z!}X`dw3TV5k3*;GVX{rUXsa`xS& zgn;Lty`GrvE1wY;v7X)4F%*Q4V!Vug6-bsw=;l@}7nlO$HlV2o-N}NNX{8DGw+%RE?c|`G4}a}2l1#MtvX;yz<8vE zhd3A~{AvcgVGc#joS7V}j-RbX8*frf5kDMxOb`D6s-(0$JVz{+(k{`Ap{cF!1V8}t zsyN0a1mdVkAKA!}49dC707=DIfy11o#tAtKBL4s?3ME<&>;azXz93SwM{Lc$^}!0lC49Is=JIHy~fo_{yZm_B}J z+Czl;j?@76QsM{w>Mlpz$2s+@Nbxz@y%&U&G_AQ#4rR;_|T9V*w}BL^9-Q`9UoFCZTMX&4_ck+ft} zj4D&^;e88a(i9z;g8Q6SVPK36P_h==yN>j`NdrG9K8K|P z9LH+or`DokdM{6EkSWF~!9ZLdvrTru6wsdPC;?Sek~XUm?M^&#gU_WP#xb0qQ9)$`8Tr1nzy{zuW8Rdp^dx&zcX7~> zNL>1WKiZ%NGh?cpQwef7BW(kBVlny9TrXxnK|p~)?$pmFB`n`Fcf%b1LYL<4yVuf~ zt8pj%@>S3AG0g)d;GP1GJt?y{?%U?3EM|O;aZ;^B9(DtAV=-=m-Ex&i> zM)v;z8o3vmU{Cad+;rF~o$!(OeV^}hhUh9d&F|UbflOQW4b9KX@Aa;lD(9PudZKxR z_YPu?W*GkfSilYkp!cW8Xd_Ljb2qol2lS-2x44N)hJ-2PutSsj)Uqu5Ki0;p?45sF z>Dcqy?ottbncK~tZLIm+ALR$%6hX0-rg^1dovF4%^A6qUkV`)3m7^%Xe3dvS)2&4W zDqnoDDxf=5#lX+4S~0PH*2PcnX8D`9%uWZTO!m+?`Jz_G_qnEhpK#s2Y;_xCH5~CT z`lzLur2hb}hX8t-hRe9w;*FcihA8rW`v5Qp*VdVJZjnTyFwvIz1A~lv)tKy}h@HN3 z=kJzt$@Mi;Q;Aw75vuutzEOIwvC(5d;+uorT*6_kh`9X&}vOYuXdr&fK)P-SOqPv6gZeO~6eZI6u zY+NV$M4NbK+T1_&#Z}WM`&Q|0ri`{qA_n6gy!AD1d(R`L**6fIRAlG90GO*ZlE~3U zth-Ol%$y%#Qh%s*A85m};45RF{=GUUh@$M64_3&@`qZQ+o4>0l#_r%$GSN!n8J!qN z+m!GZZgM^Ns0{}10zT|L>vL=1xIr6M{g8CSp#5sYI#xbj@4S}9vfsfd6Gtc zvN><%P5I8)#I5H2_jV@%dx8EG6p1cmju0YHthoK$D7?S99+e}+VGw-M7Hk0$HU@o9 zwL-G~{H$Zmx!L#FaI5wHm1Vrxo;X65!f$z>`44&kuXaq=Dv^|BU!C3C+eej z>9;Mm?X3BEWd84>L)VeTu8*5}22%vR z(|Mjpw)QSb&tP#YT4A%bu z>ty+UR%L7q_oPx|Cv-PVHb&nmRW5lyhoxZN>pEmNNvF)wB=QfstDdI-eN8{b7s;eq zz2t?QsPfTN0!ilppGxwZ(W#aG*|={lrF^O9Jn{$!x1~}U>Xz+nWM>e`2g|pf0Uw=X z$F5r6-Zho9suB#4U5E@p#|F5mHQiPi{F8oXYlyz;l6Gz%p{OowZ#0nuy~3khazZir zKBkx+r*Au_-}9H|*uGnDA6kO{08{%KPc+|kQ}20PFz!9gbNVHeurHe~r}mA>fUPMj zlhg66pBUZV7fS_M9e8%y%;cU%DFM{#J|eOjLta|CuuK$-7#YrasdV2Km(X8QyR|5w z{Hp-ukMA6xt$E(7sNS`Nc9Pngcs7I?jEs@>?^+hxrneTJwvg#dBnuwjn%wd|`Jtju zO3^$)4zp$@iSeJlg}!7yhx}_nCD{1S%lB7rwRtvycdOV={{Upu)e=|vn8t8Dvz`Ta zT8+ih=-}JTsdUE(TyUoqHYiK~02Rw=;%GG8v9uB(W_HLZNh8-7;;w7{CWA?{S=}U% zJA?|DKU9_c<_O8RXwQQda z>DG=Wa%0%T%fy%j_6I%b*erG%+jQj>c!L|e1I;)&cS!Rde2nhyfBMx;r(MiE;J#!Z zA!gv3Q!9v&lyf4+Bl!SuN4U?oT0$27+=LpM9$%Y@9!Kb<$o+Ki?vQQWX3Vwe$Kf>ZZW4Zq%Kwvq3^t}jm0hNRbKdx-~^J15I7 z59%wjxRgRv39deG;aNfF{EFf%t)A-k@TJAfO1BKmtI&*|PrWp*PQ##bnii!F`9F6n z5A~f#)4xiBZ9WCj7V@H_NXIS zCD`D89R9TIGtl6KM{lqdcE;knx%$^JF;dyxnUL z$BVx~x%<2?H7pKl*H+X8v_c&ro8$_tM-DO8k?-}Xe&(1Fe(v0n{c63Mc!TUV;tQK~ ziQ`?I9EHaj!1Sb(Pw^xF0Ia$r=0CoKDn#M-QOI(5qp-fV!P zE-{uM^XtV|@THq+dUx8d8*cIExhELN>V4}z&rZ~}omua-h^0$wcPkuZ5Ka#V(2suR zv^-}hw$Rqr9mZRi2#Q-RjDPxv<3R7JYgw_j@g9`M+T=5#FB_{47!ERjEYw~T*IwWy zjre%)Ao*Ap!#*%G&tH0zM~rDYHMwVsETZmLI1Whd?^U(`01vLEi_JN_i|D{1!ybE% zoP+OFRo_FcxR}Yk3X_HYB;kc|R&YaStKHtscWjVcebkJMrcQYWrF2>l)IYO4omq*W z1O`Fd807la4yEAzHW(V=+U@p&?!m#p>Q7FTB3`9080v6&aM@}1C>lvd_KrXR9XTW1 z=C$Buq)OU_v_4FNRcK`gIQ~YqE%gXm%_UiU&A2Mae);sQYdr%` zg2E59TKSB~yW4K=amcG8)GpPA-J^{&wH6bCJ@G&oo-k*)`z*IB@`-lsOmyqC4_c`j zS`VFci_*KkRyO@bX!xBn_7OZ$#hZoQw;=w#sXRvameN^AWpm^$#Je{uaqXHw%8J&D z_q;tO@8I7E1pWk5*HddL8dcC>i)#Jip-NLOH2qjw&2svjtk9u-rQ4i(9M-M1$+__3 zHOoX;+O`>o%t!~E_cRb{XnKVDgb>WI*(+=fw{{!p*18*c8e_gV;4`Tz%jSZEAuZSn(N|sB`(wQW9`?(<82O)fa}{&J{{RZS3ggYp ztL3jr8v%!|D!c#?-)9VqoU-k~KTbMPDT?ikeq^cTkGs&5>V2p!1=P^IonU6q%FYM? zcB+k&y@|1Yqj4DL`qZ*AKG2fM^8BpGqo1!82K}EW?>2uA`acw`1)DV>9QiHi(Xl^; zLFaiog!4}mGX2G6T;Y1tVtHkqZQ$V-4($r^eZR(=tu#<5Fe@#=e6lNY3=UO0Pw^vKJA67`mRCa)1_$X zUTT34*~;xddv<>>Y6NH)f*EBH$GeiBFJG-#MiQiQ7{foe@KkEYdm)SE?Ahx~xAUW& zl5Z>{a*m*nz|aKFiMt;f2$BsacTvqTXkFWwdzVGK)-XuF<+Q`{<-3=s4hI&IA2a4xw|r)n z-WQX0ZM69yg&EFD}>kwvtFg@5f58@Xc`)TUyrRpOmtk9zR1!cOB%v$acdi@4c{p z3brmC0z>vW8|4eRTreM6spSR2UqKo(9jNHXpFx_RNpNGH+(k4Exct%#AI$frG0~;m zGJnUyqREz3WXKKu(N<%MDZ&Y+N0onv<<5ScXmp7qc&E81dCK{Y0UnsBq5EP=(6U?2 zx8_FV5<7l05>0;w6Yg9};kT~V$xr^bwKq&a7)cV{VVk%U@O}{DK z>-9i`$z_>(GBE*%^{YO1$5@?P=IB7<@ikiR2+XN4 zb~0xJYaA2keW}0NJZ&&dyQA^)inOjK>`QwGnY#D&Q!UVoY;vh)Z@9_)LY7}WqIPo|SC&sgc?5rrXH#QrEUhaV zHfKJ#BZ|1Ha0$kJ>psXf#3wk%8LQb~y|Y|w_K|eAA9YoJwI9v?&$Tj1e5m(%63x4S zB2v_zUEHw!(GRBM%KiefD3rE(^`+g$11^2)DD3toCA*cF^(aD&)7A*$MZqu5a?O)K zhn&(jd(whQ;*wnAfFqHEFUS<1tuiTx-8l#8Pry~l0H11VjGT}t7~7J~4i|E>0yi%> zrr5%;!XgbkylyWs$z$(Qem{jjI85~VP$3;<-|~P5xuj$PvPcAu!j7aIlgFhjj~>Ce zs{Ktd5iPR`1GUV|J18Iudt0a@b2Df7Nywy06pSf39kE9CB<(^zqJfW9QTK2$N*pQS zmnYJpXMTV&C(u(`H*SO}9@GIjeE$F{P1yeTrYa!>@*{b(1@tPIAbuvQ{h4>N$tBE- z*K*3=%cTHbF00pS{aT=&<^+*r^P=2(0K+HnrHazkHsTL6cX?R3AD(eiOAG<`M+|7# z!El2(^vwWfPjb5?^8D#IBYH$w562j(EaWL}rC^p#$_uz4l70E9-*86__b`53@l~dH zA)4KzmNaHjy-NTwU35C0W-oM4_Od_a+JF1xe~m>Y)6DG@R`TPdj=*3J_~)%Md+6Fv zDhrs;_up{BkMXJFcp*+DjOXTKxO~Ud*FnI@s9ZjXJm`Zlx{iuy=Y3|dlxODSrw&~ z5uQ#|xcj5hmQ=Te0~k=q+$c~oO-CKimlz&aalp$CeT6zDmw9K2OLheP(MrV#mT?eE z#HHJ>%g}lXuW|>$&H4cYmAb>_5BhQ^jl+ zNgiO0yY8;hz^Qr^mBoz=o42BE?cADz04@H}_J1#oyJfSry$_{W2?IvVBPrE3xW;~- z)mq-sBZ5Toc5ZFOm=1I4?NU97EoThC$+OS$_wX_D{{V$RVe{@5;zn(;@QTNRf4xyb zZEf=>8{9UYAUX9PfwtxA>v7QG*azV&Rq5h_4TQyNTq>T zJ4XVI#gyO?@9j{eK*!}>ZOLF;o(c3mze;TKx7t=P(XGDF2+t?m=}ZP93ysYl=+gxQ zhvnX1oN?-E$_7)jE4ObSH#z?R3Wju*=ZzQ3Wl|mYclN2d zRw!q0@8wyUFm^9c2e>^c_L3P&+z&0A?u2&ezvEY&ZafR9=Vh zsuhb2#JFwICP2u>Nj{XaZSxvmHciUEbzFsG>5labmXLXw`y%iA#!aAe{PR*2PnptI zRge44z#^vQ7SQdBGJMWQ%&XB&R=554%N(l`u6Ha<4?kLpIsEzawn=lqWp9%nyqdEV zQ+bjnmkKK6CzcL#?@6E^C;H8sbH?r6zx{PaSz^gw^o_;IDu{XQgI6{e+vmT|zrvgY z_*E%4B(LX6%<9FF6yOydGg1V0?iI<6ULC(HC{RiKs`LH86F)fn#dC_MVZAw-+Udin)ZWcB_Ix4saBQ@t5t*Fragcg?bK*TJ~w=7P2XVVo$7_pll zA%xPiPT$2E{m=2MHafG!6YWqNm?D3cLb)mQCxKS=2aPq0BODPWyojKx#xc)R!0U>1 zqHE1;Sn14sn8(hz9E|h*2Q;UwuAmSh9?eQT%FpZ+A;d;F{Wg;LGa8*3BA_Hwq3 z9>|+)Zo9TN@BjpK{A#v|s$JbrV`mQKfg)JuRvd77Kb9#B)z!4i{YLFSv+oQlw!j^( za86I9WNJDc-IbiT6Y9Tpe(vV^&N_APTmC21?ewsyA(kg)+^-t#SL1=2=aWv>d`!sl ztgza}$j(Od?VhKev{-1z(9EXm%98GTC7f{KiiS1QN#V#JYg}sc&(mfIVh_{OwJ-c2 zmpWt+TIE_C0PK2k)9ISU`zF7l4=BKH;2(97OM&h^DGcj$`)KW~R5Z5&FoO>%1QEdL zQpag1Nu>(DRtuwJ1pZZTMM>w=ZT{S`CgcZVXQn+3YNAG~K7UqVo2QsNPuTfzLI#@W`%<3M$6g%C~Pyf0J++3`fdv zyztrnR2Rx**y)mg%YVCq0)v5^{{V#~`alzTsLQkvb~hm7J%2jgTYa-O=?32~?s^|l zRnDHz_obM|psvDXtMi8GmIXdy?C!WwX)PE)b$k8B@rUZ$mUG; zKEU%{tAB4Dq)#IS+Z<%>+sFdAj|)1jo#vr&wkU2c7?y55Kl=2^lCg)TEb%6}1jl@U zICK5ugOl|C02tY?P6tTY3)Dlfu@P@N#Wnm?q z^r9JKVlez-m_+EH(e&iow$dTD?y!s;{y3}eXBOScakK%qK9$evUMS%*`V=C0`46WU*0 z-CoKio^p1wo{CO;_o_PPnR_>knKb)`fuw*sw>ZXnRPp$4UVrtv%-`;#H~7*gly8Xq zJ$ZMii=95~z{W8f?qW0eiq6z5?sWeE>~*}lGdQ{oT#|Z`!1m&{4~2CzCpxXyPw%y4 z>Yg6Fvo`k+admUHEa44z+=CVp%lINxW55ecCxR^53YS^xEWechv2%mH%qBHvtxF~10C>v>$&jmkdRxamvcOdr=88$ z+v!~8pM`I<+2ET>x!&0uc;snEwEYmAI-`IGi}^ z2+z)paroBP*>}gY1va-2-yW69>s}STzrGLsp>Z9v{H0W!1MTfV9RC1`Akat#Bu_jN z6>YE>w>?1Pt!3KjTFg%jP=DFJxK5Mq-$|C%j^>``z)hwDG23l z{6BLfepH&ouB@AOq?uANjAE(Z-rMO`6X^c{=?^Bth*<#~jA#6c?qak>*y1@6knKBA zZv1iDqtx_!W^|dOwJp(FXtF{2_Mj|acskzV-$qF0hHgnAe5{-w>s_UbnJt`clx_YN zU8kpSde64A5GfvXXu}&+NI)mwn!9fxA9YKy;gwjhAB_Nzf`2FPCGXwayBmP_s_P`G z80PTgleok)gHliSg8u;V?>5DKt^3{x`g(iRbECX_(p%L29je*q>FGep7D%Am^SrrW z+e}%$%x$*>1W^(VhoO;%5u5T{Z;frx7jR!%r`q3QjY@}HvX!pBFfyY2Ugqn1mv21JsIC> zt0JAT@KB0qWf!)$S>JW7(>CIFD)G-?b3nJZhDP%A*^kYY&)y%cCz&72i7uxv`=Ier zdEBY{PNALQSsY=2^rj-#BkKBn*PvzO{{T9-7RK_NL#PeT6|zVv_2;EijsF07^W17* z?(O6GR)$gbzuKq%5w%A{?lF)k15(|GnIu7GUN>%Gkba)D=^kIR{F|Cg{H?dAxfM)A zUfrU5nRn!$k+4V8+O5Y2+MrbPBp>Z76(rCCB-e&N-UV&n#6}3H<7@Wl(JOBGnW8;C zI@8(}LH2*NxcP$y5@Cq?)4s|)wTtaj{q5Vl&zZj;N&uCNu96l|Sw=&21l23V^K{#v zy}QeAmAZz<^37^R9@N|Of4$zS+^9w>f7Q4k?c{_06w#A8%~$8sZ07yv$W@Cc-cUzT z@6xFmMZAqTykf2JK06x@!LwIt0yQmyD%dylReGj!?wzQH(RJ*r@6m(cg12rAEV{*~mt*G3ag2s6V zKJ`5AX8qLG_dA#Fv`z*`uUY_Bjuby<`#r|jKY2z%pHOqfRev_icluiG-TweB04M5A zUbA#&NI7%qnu_`_Il@~{Yq@?_Nf#uM*wPrObrswSVp#4aRsJOy{{ZV% zmr0&9eVZL{S$BS7q0{Zt?}+0`e(R}RbM01crXodzq|Lc@?p5G^J*WaGKhmfD=bWt> z#?@k|{{V+W^{d8IMI+3OIO@%crEd?}k-vK@ZDaFD*}(MrRM0##+Z{{Y0e{Y5;Z#^@svhydr32>N!%N`iZB@-4zkBD($H zjez6Oj`W0yqJdzH`C-4{XE^-ooxoo+eY^hfjgE>iNcaB$8oXqUV+=v(&=XO~vSOtf zcB#qR#s{IHXenwo##fP0DM21E>e=21tE3O_cIjBtUHzJMmI#(e_k8iXr~-&1Bq1J&U}H zCL?|vAp57+=~S&P33raGV)fP1LK#f=V6}q>h zM2y35W6tc=r-ynK$4;Kq-kLB`=J$&5%XKVj*@ZHCbCvcq_xo9F6CdPGN9Rx=cwhaj zehfeOs<{lYx`)r<+X~-FK5@4-M^1JT zhB#k()qwAfx%!IaJyc)agPfi?;-ZpXFi++vk#>R!>&IGS1O<6K@&5qUtc^!++%bYZ zd8U^kHh?z!j%uCmp$(kL6uXehc*x`NJ*v=buwqo998ds~tGQHh?gwgk$8E>!P2Ci1 zN6MM?<22@!Y~e}t+B(o6KXJMWXit-z)eDV6NS&0~$?WAg{OR!CTuuN{6nu_ICV`hi z=RG;^Om*5iowZhYZoJjmco9mF`%|C7nf4TAZ#L%UZ};TK^2GuywahT5%``*Zh!t72 zD-i1tWobI)21n=XO4@y+DuZtuh3Ds8)jhqHv>!B3M4sUQGzEsG<;1SuMU=Zh#^(V6 z`egG_xAwEm`;liF_YTZY=s&G!Z=~;#v;kdh=H%QTPrX~bjLB-@S(UaNGM@OTEMSl-D4Ihy(8tXH z{$ADHK=UzAR9dpKjui?}4E1fJB-Ot!X!(ZJ>P=RY?P#BR5$eTFKn?BJ{PGZ~``ACc z{dpCk!pBJ*Qn`?*Sk#gMAA8=Tfi_OFkC)ATfjcUnZ(5e|ZUjgRMYOO}wFu+$sNz{= zeco=^;v5_S%~_i?e&RDe)&Br!)GDTS61c)I++Xi|nt~g7XKyk~iA+n(YsV+or%JFb zCz~*h zMlh;z$GP{U-OI5W%LyiFrH^|LmunA@dR0qFU^2WSO|dH(PtEtw^{aORJeW}dW*>D| zkUeU?e#~-^ulp>^ftq&`iFPTWx8Ep~K6yKzCmw>I4d(cZOCl*JDxmTQq4%gWD2p=y z`R58c`wE4v(&rKFDmt?fjC*I+q@sNJ^Y8hV2>$By-hF+=B-e~)`#cESTkkiZ{{TJd z)=nNG1X4z^5{hIP$Q}Na*ksJkzEq33H#CKC0Q3feg}7`$>YiTp?A-J3?^L5h2v0ra zXOX^bt;!Dn06;15Zu>%|wYzOr+|1_zx#hFny()R9M!ZW{n{=daYz*L16^gdHa>!rL zxt3Ply%4|M9gnVk>b>2XL2>5F(n+|4Kt64!JRBd?)~A!PWOQX|Se&!`+kL)+(vsQ< znpBod6=9AukULd#TuloM2HgwpX8CeempP&XwIsN7W^S8QWP#`@kF_1XX%;>GQ0L~S z*(}V`$R-|Mz_ySpq*3|v6StA9r@C%f-23Z{XS2 zZ@=eO@8{Vb$62~=W{4gKxvKgh-@0(Js0pRD8Q!f}`64ql3a)&AV?G@I=yNmh)H^73ud7My-M!HYnf`^Zf-Xz_)XZ!75=o zNSqJCoy1^xV@JKQvSE93_Llp}mLvgz>qe`hCZdiV8VSPe6GjG9dgrbyt7|3-qi}9U zRo8$$fTci#dLw+w$8zVV;Y*ljo>=%IAG9OhO)Ss-$K&z;0QJ{MJUwcWBtp^`i$5~5 z3=hKK+fVH%4v{L)_gw= z-O}7${gASZrsItLM|zSCF51ZXkXhNqaknnpK*;qKw{qyF4EYbZ4DMcjzQUr^Em}ga z{)M+_`JHKjfh-V_LvHt)Xg~O7g13ehkf=L@jG2BvQ1UUkj$dLeSGKK_gr-BOL z0=sw>9FK)U25{KG?@%=4v1U?-7zyi4L^_?CUPB~v{mB6vdmM_$pGCKQG+8aWh%y0R z_I-Y}t@eoz`rj!R8DF3EsJ2Ta`~LvZ_U+xfpU~42)X&qj3mXtctPv(Uka<5^OOFrf z*AhIES=+fiPn17iD^sMNZLgQPhS$jN_;;sIDDw78EKy7Darzo!vN7#64LTjt!)FSz z{M*tn53gKS)KSKfg$$#2@ijs|Nd9@3=3Tq7QN@1_0x|Pfa9#NuML-fwZkvNfps?d{ zUf$IYPxiiTjH`}4>clfCosuG3cg?uU59LX4$nZYK{qDoLQGq$dQYPdOAoF+amANW@ zeh1-D%ViODujMT&MHf)J=M z7A0@Gql{IAkIQ^zpZ%3@)|=(|vVe}cQ@PbwBp*!nsl1zXlg)Wmf8Lh^G%&ebBO8Mo zBt|tk8B@Bac!t*bR45tXQ3`AgAaKEsOK#u_jhW=-HqSEwNfkZ zHbiNyrAFP4nj_QeQ^9c@yPSNCzbRH+55lNLE6KKg=@FT@X4}CF{pw_h-)C1(JLmr3 z1&1Bar9mV+q?%Enx)dA%3Xt_ZeUx00GU+vtW}hl${7+?=-Y~CBkSu< zc%ylcF`c)3%ln{IeBBQfEO3^CrNi!S7tF~6)EbliJ!AW~GpjE4=vfb?GAu=L8+pGc zm;0s9%!ezFL+SLY@?NYvc04TmM(!IK{{RZNBr7CpQ_W?6Nl0YRVk!%Wn3A};`F>Sk z*aTAqPYuL(1~RUQ!{%mIDK6%77Bd>Q>}_L!mr`}@{(Bt+Q|5WBurXgN-M z5m$uK7$5#wGO2HwFdzJB1;)!U^3~^!<8BpMB>+F;S(g%V=DtSnn5s+3_Q!flyUd`2 z{Tfy{`D0SxpK7CV5AWj7mlo#QRS5+@1JZ#uU(@Xk#NK_tk>ek68MBY5HDgq}F~-o_ ze58y!^$IGwUCSM}lLHrRgsXSk)AOe6D;xP=I=#4-P0gL$^50qnLjM3IlEs|-@f_J;DAayINF92yYF z0Z*8Vi`L5g!BpjsN5U6sC8BxmrbA~D5k@(fRt&z8LY zRLO5v+sfT;O39DA87vRD?LZdfYb%+-d z?ovd@B}{v2LmEl@#wD2Y0q7_o=hdDYd+5*bNX)xiuYQ$Q&KJ2z+@+j|Ix8GAj=1#A zTzJv7E0A{Va21uiXN-!eXf2E$T(*)((0=KfG|9;C#aM*9mLVo1v$%!7jK%=S{P1ec zmGdGGHtsFC`Bq>R$oA*0H4@Py`_t^(pWh)Mek5d6iYK~7dseWPF5#4(J^lXx`t$(y zgw1l&i#sWIeczY{`kpG=p@Q9|`#i<}0EuJynSPX(mQlJNKF-uPW{q+wh1!2E(`EIp z*B?I8IOJnLptre+r%=&dz@X(>*J?TRJmP|OF2?H)*km$0GXDUq z@{TfllhUfrCAXDj8)RNL2vd?f_p29|Abf%1i*X+`qk=s%p0#y;;(Va-&~$1;+=yJr z>a83GMd0ov43BCjONqWjWsBzF)s9w+ca{m+E_|^RgzR-=^7|3ninRX#IyN_S{uaR> zN(NDbA=(o(hd(QB80Wqz-z2m7Nw;baRS$gkrSiVb7JS#6Yi>rBvcjLZdC4SOTX@;> z`qQyCBuH2x^HMeWxY^u$)g@-r?l!WYv&eWomb75=b~l~n{qv2Uov6BsIihIWzfLGl z`U+7T8>fFtY^t(G+msbQ!bMZFn5@5Mm04JQ!heWVmse{NZTVVH;6cehg%-0HIa|(Y4J*oG1Y$m0D6SWl5bR2 zOOH5iC8XWaW9SFHFxd2)3FZUP4hs5G=~8VkZ0gFRi-!`aaguT1()UE@LILvIRkrp9jA)rXRfw1Gr!a2^{5XoyXE;$ zezg73{L8p;=~3<9{7k&?akn+jYG!Mftqf>aO`83Q2V`;YEALh`>#NJF7MA+LTSh1M zXu}PT#E#W$~epG6%}4 zt3Zaxg_Gvb(wJfja=U(ppTRtuLN<`upk-+m=gt`rEPkY%)W$g6bp?BnaZ$;637^T@ z@-P`YBhD$&6Eu5(A#t2C;(#2XQz1ykJJVh8q@3cNxR7!HZ>3PUvbvm{Ubq?is_9BLk^XPGELrKs3O` zvI5`=V-(}J-TG5@lgI~cFU|es{OP58lHZ*J7D-V@-c<|KyJEBMwFpQ0o%8yb0de#s zRmFxQyD=%_(xILx;si1Bm2>hTz&}tr&<1e3l4fD#%M#-`WdLLIt7~-!+EDq?{_Y^B z=N)RXxQ^=G#4fwJUzqeX_^o5uutcg*0p>nBp5RwyEsrk~x+FI++{uqU1ZsX}+&*Jh z7UtPPs?8QXGB~LGghi=&}^Z3cN`XY zfHzHnNTym!E#O?VoDNFHPd@xqw|J6h{zYivalam-pZ@?KFY-3%huvA=FIm3G4}@20r#iNEwn>&<9GKn$u)BURF(s1ACRhT3S8!Q=WpEq02-SWu;hW- zHehy1AsKJ(k3mvQphJMZYxK)^`qY-Mx&;K}k)N$MQJ7oCH!k*O3V?c=gHt~3JedCb zMI&}rJ6GT7O^Hl4Z7-Q3uP^gpAFm>>Br37_v$F5omS*Ul-%5fBlTqOnjl5@;EB>(m z08#${)~ZBUiQ<|~JwMW4=R29V4vpJBl+WJI9vf-$szh$gGBMl=yClfbv~UHGGkI8E zS2Yii@ka34%ZB&<15_qN_b(f?Ay;A`+{&kqZ?Cl)d=}<8ypqM;iFpC%C#cW0Gkn_@ zY)s`w)%yPcc+%QkMdeEjamXAJ8)EVa^z^A3E>8{-ZDHLTH!R59?eF;1t;BvzB-DdvTNK51^|SyQE*Vc~QqZe4Ct;wS6hb%=@LCz*PiipyR2ev<8Mn3qv4LCiXG> z#fMYsX%Z>qk&A>Oc-+g+;q6b2_q#eeFPOU%e}4JJUV%?Sf8bP`uq0>S#Xpg?C69YI z%G-UagqI~c!M)cJhGG4G!nI^pl6Lw2RO4^IdV!PeQhbBujk3+RjQe}gI}_Q+3_e_p zp}I1oW~TG88z9@YTWYUk`BZjk@{{uJNBY zSOMeQ`&NanBUFzBZ25OG<39CH#KdPY#SAe(SMK8uPrv!iXtE4^!CQ3$9-B)kEx^qq zJY~GHeqyB45apEs8&qJQdXT8(al6)_q5~UA8;Sh48;bqjHu`(kZXsO9ZiXx$8Ew=ppN`()642*o40a3wjhv`Wt z+*7f)pS|UtN7kRZG?G?%m+t(^%rPBNoi;(fKeSyVKJVSWcs`u;pjHEFj~)s(<$c3( z>chVj?S*aM%oy5E<&V83s88(%*tZ3?50%HrpH6r+B(TZ$qSMQ+;<$ z)3bB7K_mF8kqlYckp_H)V1J2DF;HrgZCE1{LlbS@+xZ8MfK zArY%|AY>Y`hGtd{0x$6T)RZ!5!!yL5a`S-u2_NB#lGVbvLKwC=c22+jYNvEr=53o~ zRq7H_IsQVWiOjI=QX**i3MJ3yiU)GUmoXJ%zivKKABv1z$06cq_bK1AaOvw+mut_y zf3v?B!gW5K>ODb(OiX6k8y|7UKa~SgFPp{=zDQSJ?-%DaB=>N)?u_y7=oMIGpF!_g zP-b1NZ}xVRA3Co=`FEhA!hG3}QvSN!uqMW+TYn{2PRV;*iX`S+!CiZ)4*xNk;s zbDBh1Zc#ktftS+<`qURP`6$su(YDdIYpKuSj?@!zG9{f%(Av2?e9h10in@db^4G~! zA9YlW{#Bc93&^q)3T-^*A}dDWl_K*a8=J9J%`#Ze+`+%g^3j>MGOF{A-;Y{~_U0Ih zlAGR7n+0+}sgaAuvJiJ|{w449tczG4Ngm+&-fFQbnd&;=3S%zZxVg2EK)V~eHbw`v zX7527#|%-raIgE4-#4vU`!mn~06pQt?*9N=)}xX)X#AM|jL$9!{HjSvvls3l-VsCp z01J6rPCk`Ax$_aE@|hfP+hW0gr>#dG`0enj&cOW2(r4?BYP(}kGn8$YAqb*EU z3s{$pvhUgbqyEcea&oDqi>bjdY@`*#AR6Ic_fIhERnWH<4>CCf`TEuvtY14bb8bXOMVgG z$y9yCh+Jj9w1yNgKba4gxsTq*C)S>WVRPm*yZ?fXvK?Ira9Wkv3d0h2eMP zv6P*_9>dyz8q7S#z`0N1+>MXZHDm1G>Yr@CGk<&aHC9Bo^B3ohpZL@59E0ueS0ab( zvA35rpLhOR$+#%>say*~_7zH4Ww`z9 z^FrvYjiZ%e{xxs?6ue|4QZUBeRFU+dq4Qj9Y!-G%8XqCLuJ4;Y@G95tp^cMzuO)KN z)A6bo7O4UILPF9zH!H9bndXp%aAiX(e)H#9BF_BKge>tSajS{qNq@ZZk-U2m-j+C4 zLHos6*}m`Z4jk2M$-_9@E%t`mtkIkgL7vo0KJbX*&uV?uleJKb3O2{&O#mR?8F ztH_(=Z=T{+Rry&Z;5A1wDtzp0N6WQWI3#-3ZPbkNc~+4|tFv=7Icy&E$!^8AyIX12 zDcz~J^Nq4F;O|sPat+f9D zx(({J!_9UiHsw@GgYNv;%^SYgB&{>NpXlZA-@-?w zS=qnmKf)qq_Y@3{J(Ctt%8j~YR$ehvM&+YXo&II7myO-}bNSSf*l(1&1!Y@;%-wJg zP-roT5aM?nDTSds@S!_h)bRO zpmj-J#NVI+V@0-5G0+eakxpIW7JKE`kKsU-t|7BElp zsivJ;U83Xx)0pyUvq~Mq{jxO!ugTBrK&(X-*kv1~y#Nex7ykfStRqL9i<{izBQf#( zsj|pkA&c1Gj(11?6v%EQiCDGQQS$!p1NESi%y$HT%geX@vHt+;Rp{*+kRF!TpG5l(uLaa$s(y>!FX>&K#Ne#FlA4({J8mUp)ZiytQeD9l)^5^oPZ5h)S z8ndVF{&JK6NrwX?)Q%}_-_5sVdwHVrm#W}r z9+))+y~I(--@lz#Zr|TAIX<8oVjT8yd2`Ahc$;Z;+bP_ifIX_#nIe=ME@YqOA1s|m z=}qdU9;Pekn%lWDk3%N%e@mF`ty>SxxS=y|v$okbiM$$>*^9WXG*CAA7oOY)~Ox8^= z`b{ZPmuYxdo57J*oGTff@2* zo@{h60C0VCNTkk@M%WvZdu=}{_WE;It&yW#GkXoA98zLUm2EC(xrj2TMgt5a$Rp}1 z$clZ9xzT(4p#K0`WYGB%iPP>k%FF5RR>7rkMqT!tZWJFjZ!rc?=L0^UN-WH6a2P6v zNcK1#n>_wCtNw6n8bS7Jxo)HRuyW(r^*`_$r0$I86q;z&@_*W2qg5-&a6_o?mqh;n z(1*QRhEXc1U8P9e8#N|5?^Cg^jTPf`nL z)|yEhr^+$w?0qTTQj_1%`_wjTxy@;#dHbukc0QG?BLrjH85NuqMXAn<_e1Ast!M_| zFf}@v)n>BO8e|EEg?t0Fo%(bJ>>^`*Rd=;uxciPi0(G#N%&a?LZZn-Z$Jxm4Dh} zpUS6+T_gSGH#br`P)1*N?0b6CpP%9aferb7w2ppd`A_tuO}pC}`FfMmk=*lx!2M_d zd<7>MKEj3NI+5#9ti}HT<(4_)6sJ9M0M9uT0QdPu@0EG#O*Fb^{a`-8( zKPk;qYpkE$+f3cJd3`7X{{Z~7%6e3R&M~&A!*Oursf4E=BlbU9v*gUl`{_3S0J=ZM zfe-%xzN#0RH2dBIaP?=jPeCAGUopPgobUt zTUc9<;@qsyRIaprYVFtU+N!KXkCqi8wp&q)%-RI9ar`Ts)Kgqt&uZUgws_?1vyi{b zG!WH{_;d>^G?2z+mCwu?M{jT4d-9+1?>_E`r8=L^s-x}QG?7ft-0UA9^!ioE zqh^0LZ@<}px;-f`KjYeLx9}R>Gm2L-(qimDf=$vk;>@G&)%Ut6Jg9Bu^B8wg@(*6M z1*`dS2l-lK@&w0EYP$jzRwcJPedeof=5bB+8v~>&6{3@#S(ts}>TyqNpx?TMm(0gT z>Z8{b>E+mi`^<2IJxx=R9hU7j@7}Ioc7H)qGI@z1AdLLXK4b0NpL$iXjT11*Bwo8) zueqn$L{=j!?cVq&<>|*tbkgn~L_2pk-*4`Z@u9Fv_s^%eq`DJ` z@%ypA1&GfE;;gzDvbANFZqY-yHVioJHyD6Kut(6LDqD>nf3TD5NiMQ`Qs z+;Y2m=Bp}s=+_VYNJ0-q{{R}1-NmZ&_pkx_&@mu|Buqv;rBmgm-Y`8yH5ws5*wc3X zo7jPz4|D3(CC|xf(R|9xn-H&1eZA_nypdblxsb|tHr8g&=^Gsfucc6!>A%sDgE!3Y z<;JPddT~=MDQ_BswR6Ya#^$7sF(j&5F}6MsFu@1^0M$;Kc)W+7%w4EY&%2C@fGb@` z=3E3r+vmalUi8P73uskk^EVHbS@~jpja-3MVQD^9Q}eqXF`s&^DnmT+%QHq-ffnL0 z&FUy9eYBA)5ys-YHhp^jG@oeLlFKv4-(W`19;e=(V-0Z44mT(ZwDhNW2YY5Hg5%`C z=7CtF9QlqnNm-g2FBc557nvW5+joxpnasct;sAMQ&0&yG()-k`Ib7*GhLkNuFi z0~Fh*mTkKhX!f1i1PuLZS*5|E5!)G0n58LH8Rjs-9x zt92hPD!lJ=i9GpXSa$rIN!_^mliI9h%USlotua{Gjm39oAN^{R&SL)nGPdGQHu`$i z2=wUQ<{AFeDe}Pi75+y2Ju6CQNXXoFXMjn?NXimC^D!U1jaV`qe+c!e_R;;EyjC&^ zS-xV9PJhHzn^|M~wwFma&zIi&h#kPE^td+=k1(&u`&W_Ptf9(_ux?PCbF^`u^%6!F z;U$hezb?(&aB-jIQweti@;4m(!xaU~$YVrp(e61eoxd8+z&7q(s5b4|TP~Y2?mm?i z(KMnwM8HPj)llso*{gqZZpGiY?Jb^ynF4t;$@4Ud**ub4KjBOZF-AxPg$!3N6V{t^ z6105_aoeptOY$F+W#cgB# z+;U0g3>Dw{{e9_gB=a_`_KUyQeJpN{g5P9`-B}wLH9!F(k90r1PcburfQZ5mDRkM!DZuf3=P7Mvpli4+5}#1@0C}T_RR_0xQ>Jp8A08f+lC=+uzE|CD=a4F`RY>}kQf;So530{9X zeVhV3znEnwuH(S>q*$Z#nnk&CLvGq6$R60ByAg<5GJLjF`LmF@r^p0p{*x?d%y@Hv z)H+2ho7d)L7}}?&zCCFzf@G>L#{3ldr>0fe#_UfIV=YeFWFoE2V$w(@@u zN|qGF?Y)<$3a6!6QIFxEPeVB^LI;(Zx_#F_D5l+~3-_5e{pD^&T670=G6rD7@W;JH zzjSOJ6%iM2UNAqU12d#q(G$s8oUq0kP5}P^8X$;5%JC^I%e9rC?$q8~Yy)k;1BMU5 zs4kI1sevG7Q}=`NezeFYOJJ@FC~UVpk&mT9_D#lJaxzmv?D=Gw}Q=BdZNIT!Bvf5zX$$NS$(x4$vB z%C0ulkx;#NQi4xL*gieUjE9$I|EkQc5heWZ5{+W>T^8Ji>Q`*IE# zKc}@I1lzf0kTQI~GUt!S-mAjm@BMT;Q+Dr}LF2VK^Ki<>;k>0dWmfrL9?&A?z?^OHZ8~V6?$euhkNba!nW*ww2AwhfB9)I@qO-S zCgn#A3T4CI7`l;aGm=X|a}O`M~mg&7&>*sc>`YP+h(@`Rj8JW!k{+A5QfkS*~Q; zyX@+}duw31^sC7Qx^Puw$M?F@5sNpN%(2`3tEVj|%0HD(ntbl6Zl!Iw`>XwZYeM2! zQcsz(O`+N$K`kVLHc^rMc5kF-Wc}?;X7CFFd3|y_qIZ&(HKt~ z1}z%!J&6^1=|ck3&du|PnImi{B=@KU5yNSB5Zb%glwI9&2kBHxGi8ZQz>ufTZWX@* zIUk)j4V75O{I!u+<;kh_AmU)(H_0S_j}>0n=0JXCc+F_99I!=JiwRqS7EK3XE~CBm|=LzuSTVY~aMoQkI%tHMDNG5N;to3=TrkcP>s( z^q{z*(H4$0SPHuNUn@61Fz6|dI>I(AtrN)GpL=pXp4?Lf&dHc;3kR0Ln{F3&eKSu< zywb6Gw$HcaATK!d>p?;Z3d!=`#(3v&1b&p+E@U6;F7)udH!Ab|>9-PyWPdJOZ}<|7 zgYWHCT+4AMFJ@JKW@Q_>q$1R}4uj1zLRW9gg#$mWBs09}pY(5(bG=U=tuZEL7+b4n z0Q8UyFVd`wg3*vCwG3D8xckG~o<#()BN0Ey?O`f6-Bn&m`ev-dY6aRf7cUx>$yF<~ zkkwdu426ZFks>P1^eo#IAs1%9h zwv64$FH_d~Orxi4I)8W6>v#cS!;F={r* zEiX%<0gQ_vEKjCrB;K<}iZHTD(;Vu<(x#y zrA}9pM`{K#>Sl&j0e)5|dBtN~xqVoc^J9!e3+y{`cX6I-wzuLH(qoQWg=V*md1X4Y zH*9`JrLw<{{^f41z$-1PuvR<(dFS4$))wX2F3#m^Yl6Qf!_k*Nhk8ppiO-kjJ+sER zPr5^A+niPxiZ#a4Y!RNsP3KA?R7UDZC;C@5z9iNQ{{W--dQ|5-JhvG91p=|^MWT=9 zj@&5{*XrB!X#x1S`UIOXJT9B$7d ztbL+V{M$&&{3>zB>s2)=o=8S*CM<+HH_C9sry1!-TN2H9&PQI=4Z?3QuJ4J?e+p%U*Am83M~PlDvBo=(#*@@Z*wK*g(x0|h`}4>@ z-2hd2tT(AXbdTI`JrChia_mnv#A)}N%zs4Z^QwusqwR^L-cK#}aqUfmYi)~a#@WM# z?~2gcHi7efDeOay%&S+P+1e>uG*WWB5?9|om7wuCfB5)s%nFX~A2K#76f*w+v-gLk zC8VBb$Z_(HKiVGt^jspjN1H`Ie{=r;yvDOqG_chGWceo>75($m>szVm{OX3U0Giad z&6v-atU7`yjDm2|<({9z{{VdsX_LlfPFudA`J;)9Z)~;KYESLj7-ZjTi_9(l-8t$!}kj9lj z#z+I}O=-&<08imT4#NN_`ikc|MoAX;A2X`2J5b{^d8@z6RqfuB?C&Am^SbufoC8PM zBWK-=@zk{g9rwB1xL!KbWs_uV+gZEeMrej8p+@Mc&yqR;RixCc;@yW5eBNHg8?b*0 z0C<{4wlhSS$lyN}5-rcmx#J4Qkh!R))tAd*6}8g^?vNaPJt`>YyL*_M?C%sFUm@2G zpIlG{**wtev7_72@$*%CsN>%pPr0`+Cvo?uq*J_^`Bhl(2Q?Y9iSF5_yq|dJh;X8S zEyl6H{#0>C9^ap67^RYUfcfOv$9LkZL1}MoBU~YA4#Epa`Qoh~DnwoB8RK@{pyGiL zMRFzs$c9&3<9PrNtxp+{zwZQldhl{;DCP5bff%Ck(*WX}4CX(SBDecQk|-wSf=6cj zs)f~zw-3ARmut_;k+@JkzO^zW-!Gj!TeHpwZ^n{%ZRAac=2ZE!wI3P$s3@rxog5b% zo=Ih9`~GJjRfz?ZN6vM(QoqHt6N;rRt*@Dr71=q)NhBYywOz7k%4~|jMyj8DqKwc@ zhTUqA#-3z0w=%9Ws{|zH{{XE}r1!T>B>Nz@PTq5T*!KgyU5-gd-dNFlbK0xl+x?|K zMW^lfUJDPUe$u?X~5_AO>iTOSHb*L?D?PHKW8c6`g`CEDY zd)C~C1P+zgN!atTD(s;5Ge(~@1;5-mKdvgWT&>HqzU7TM3fvNXewAwE`OacZyMK-I z`c)~%n{{r9wPKCNc6au!n4A(Pg4JbVDcu~5c-h!{`_!-J!j1FAx1YQSCa!c$H|JH4 z`b?g0%p+66`u_m6Ma0tRSAlLF+F7HIa||d(KOpp|?@Z4mP^@teoICvIpsg>J6L9p& z+G?5kWLu}*w;1{@1hhTpnIm7_rsgKHcSw7_>}S^5h)TU{;yZ;r99_IsyJQ zVo6maEuOsxa(yVVNfqRu&i%xBM{XE51T9!+5W*u*nElipd8%?I)$_MEo5Pm$_Nm}z zl4B`m+Ys2Hy?dHX2{K5KLl6qNJPh^|>tRTuc%VEkyhLXk!XNSi0=La3JKa{b8uRrYEwTXbGp{pUMK^d7Z9 zRe6KRCuM0P`=}IWE$j66`qi1`REb8_40uIh{9UOM*usQB?6@2$Ei+3Y`+&BSzb}#Gfw%iq2mtytkSqC?61v zgP(tM?^8X>2~`5RG|~0B-4ER`4Nv{?NU)=_h}h}V+^MDINrb<{SYyE2n~p-` z7#)QdUq018#q%;RQYgCl`c%r%n8+DCXX`;h45jVSfj=*0;GbhwA}4lsfxDAbqM9h< z;g~M$1jm1+GE4CrvZ8MJcx>^SU|zd_k@s!egOEpGYR8&nmJgfHwi(!*6(`e*S#Hum zxt*hCI3F+>K7fCdQAi~bpPnaFlrl4e$R4NGf!@TnwuVJblgd|jK4&EReQQ~eZO9+@ z&sxOObvUM;OLV!nX=9M?Sl>GadE?f!p_|P6jlXXjo4qljSp3$J_wCup8(W{okB}$N zxBI)Xipjs%?6k|Zisn^Ek#`1W>PHx=+LwtfG~pDtt{2UJEf*Qbxui2^d%XVub(IwT z=4@x*=}nP5$=BtRYV>X0e!kU>HoF8)f@`={q~%swLLH~4Ueu9zhQVZ5qSS5KnfA8% zgA?p2fxqW|@Ap45XKyROKJ{AR`BhE3_KnQH)~VlWk=n&Gh6+(7O0Bw2-f=~5}x9gt3)S@H&Zq5GjrXjK`kjysZ zHtpRqJq=a+o7wk#%eQM_um1q5t!&us{pS3uA79k1?4W18c33c3n{WX8b>yE)VS5t6 z=J|5@-d~l^%B$3MsP|b$oBqVeyT13920pdO&Ep$CFZVXr=>~t+qKqHMHNBy07MhKr zF-p?og0J_7)}6_2=FDphk@-)xlW)qc*i%vW{r>9|(A!hmk%>|;{+({#< z5~|8_?YDv|ef)6$0Pe3!^B?VfYs42*e`823Z6k7`M#yLS157{lpEaOC8OW zt`(hBl0TO?27+XdOA;N2C71Yit97U(3WUs%zUCoYj((@ws@h)ts3ftnyjunU9FpAs z04kDsJeOzrnRb2N*`y|kWszf73G4FHW4ihF{J(eRZ+}Yjd&}KJ#JcqHLp+xDHmp^e zHY>je`O@kdUZJBSY8qAa(s@5StdbTEqm$FE78&TRIz}9Ps=KzUZL0I?Hjqe?&2+JR zyI1$11Nod+H*Mlny3&&Hs&N^WzHW>MD_pjf3v2Spd46sgca%t!5~HF1v;pbxYS#CG zmO0X7&NnNDs}Wspk92OTnc7*#GxRm(I@OGx9+oXbOcTIS*UVOLl>1}w>6-4ed!wk? zLf27&9O$xTcwR{bnfEEj9&x@owJ0?g#NbdQeNy(t_hon^l(7-2I|>({mv?1E2oA zYZnnNPyhn-0|LCK!!ljkc%tCl?)yW+#zvQul0nUS2x7Lw_tLvD4Y~S#1u{%)?;PpN zJkhLIFCsCIR3dv-bcei)4MH;=!;iVvR z*S~t~bo;$Jc5ky>K_~+*5tQJ1ng*SVmZBz{N3=d-5_yNK5__6#OZ&SfPvMl0m#0Hg zTR4X3d0QAV?;qejDsQ!HNWR6jm&^eCyrAbauVS8~CAKQ<^DoaJnVYu+d;XOSy9vDW z{&kP%RPF{lQ*|eEB;)4VQApj;9Fxc8M8nLPhwzv}yDuaTe@bX<&fMgU$pL#FnT6)QFxL| zcy!y6cJiKC=r^+u)|n=jov1|>kK1>~&`QQsZMY~HX9v*M6guX&uG~1W@@=Aw9jw6Q z&grZJbY`*-D|KeVJxc)YAx+BG+|o7WybP zt&+oVR0)$LAt#|H+nU$$F0PthnAa$~(6x>N_*#?IP3oRBC@T#Ep;`zO80Xt@AGc+Fg?2;=UpbDVP&fM zPT^%}M&;UZwY?2bcX1AtWUlh6A^;BN9N>2Mpl3DVoBN$NR&66xjyXvAl2+ufR&4xWW{Hw2rPJ$^nE0G}|bUFT1 zo3T8mH;rzm({wTvAoECva<3qedVW=#;qMJu%W39aubpus24N#-1cA_0zY$~3pKc#= z=H)>v2Cd5x9X0YG!|F(dx~t@s+d z<2kObrm)hWGOQCwrQHF~TylR}i{c7P9gV#Em6{ucE41=BKjB>_pL^$6Le~+#;+wu^ z?~i(7W_i#wq_Qx5mLu|Gb0FW-u6pLNycio!@g?4s=E?SVLnLJz1vwn&>HR9_iM6O~ zqzM6*TZTADgYLt21P-50wHJjniA&F^Ud&^;m52i*Y+UCD(C4?(f^BosEEUq-KX_&B z^R`QVH4dXJzh{$X=%m_qJB+Sz$4=R(ZEsd3Q2Sqx;9zNPFNDQVB%hWj1ry5rO{D8@ z4EI;}u}vIgw$RP`3}d}@o(`5PzYg0YvqR;DP5Hqj0Z;KQi$0Zl`2eZG}m=^Y_wR+W$U5a%CCO)_hV zZO4?$@{+6=5J42kxu%=^yd9_e%sZN)Ci_iIW%)u%JhBHs-H-I96l;&(=2+V~V+^Hp z^#`pX}Hcm4%g_Bx1?1l=6lx;7KNS@QrYLDjw` zlkNi=w*Ol7upiE?*x-WTWw)Nahha#NgBg!#+l{&QsI>KDSs*wr ztZ;o-v7w5_fFCw`oPJfCcm9odw=4dxPu;rud)9(BcmqB2P~Ai(jgaygaY+M-W;2o1 zXk*r>X_GNS4268ijt{sU>c^O>pD|VXp0yh?qp@1(2yPbZ=ECsfwmoY?DFdh~ROg|r z_hT}+jwktn2YO&tOBwFtW`X>yAv;TF@~hm=_Gb6}^I11aZR8U}z%8Gb*Zd7w4RS)| z<6okhZNv{C#FIH(bF=|M({i4umK(6~i4M`mPtDS*OLZmTDQvB@pPk%rN4KqKZ1OHv z-d)TY_a@_Az#Q=UG!obg=7P1!jZS3^{t;Y6yWFD zsa@OeC+2ULk@f9LGHY_ItWda@&Xxy7Q-#{>eQQG8s6mWw_pD|`NB!R1Gv$VU>mHzf zRjF!<=%0IbbJDr0?s~XsdxpU~m+qg!oT$YP=BVRF@^;TKR_tT+sT1XlfLZ?l+GEXg zonmea9yr`R`qXbAWc!cv4yrnSG{1+<-Kp;X0Cje-+z)z!Cym{k%vo4}0vzIj z3ZLsF#^9^!I{hjW{7&t=usG>U=fBOe-d5*f$OHP-d-*T-MwXC77Xh5UNgtH}O^@9X zpY@0Msn9mh-EQ+6`>V+Ut3AEO^pwh~xB<6=k@TxV9B%pkb{{eCKodK#P8m_L#^Y33 zZp;4q>fIy%0Hz?9KaE(DA26=X!~5lcB-0wgDPR3;=Z%DK$MT??6pC3~PP>|O<-YyQ z{1aC^$V2|(68`Elik=HANE7!lMboe!oj4T(ujD8LI_WMZezM0NItB0e)NU@BKXr6s zT;nnxKT6P)d4uk@-_oEh5+*)hUf7@p+E}Sv$#Fcpj(Ip!^d6OBNR~Cg&fk9Y+iS5h zkTdf7jwzQ8%r|X+_fJ}A2!7%Fi~h*_wLQh%!Tr+2rcI;f-M}8TTlb|ubrDtWIA2NAyDHx?vvYB(ixaEfi%ENjbTa^|MhjxEpk zw+)N$OoZ%(VvlP{Csy>&Q(Y;Zb(rZcOy|k+q}r$FBOLp6s|j%$t_n*Z@UG#3PJ$5{ zZC|`PlhmJDZRF%eu_~{a+;Tb(T30T^ep`q6Hu-9Pc2oC{q4uXprg^-j+7WqjJD*Cd z>GnOoPabjE^<&J0B$v%wi8tIy zFWuYwwH>|9SCDL<$$iTPcb5yt(A8e#G&&J6e>zB%$lVAh_u}h2$ zpL((;i|+?qf4nN9nC@hGn{LJV6lXt;Nmpg4R7Vg{d0wa1p^R^t<~y7oYau~v8P|T%_8nP=0d?zJ=^8ukKrB7NU;P(+CkbdDz&oA(zNfl=HWQ#wJg^D zZ{L-d<_G0C&$rT(b{bb9NMcOKxwkPgV}B=_t*gNRRaOIZ&KGlctM6)zOFreu+rM`p zdSinV63V(B9r$=u*X_r%F7gz-Y4FWq+tg^+a9K_ zUV@A;>J|P>W2dVh!lo$~kg{#aQMq@Hp8o(^(2^T?q-~RgUCNs_w48l#JJU8^Bs<-s zk@ps0pqwwDsqIoW0veHxBPj_mszen&zG?v{+v_gA)tRX+o{6Beqt&m6I_%dba3M(pYP_T z!xrx1DCLD-+DB#~w<3eL>r%xjlg(k6*OBvNH`D`APYmfJOT9|(2LRyXJ?iGj(KnsH z-YnjfSY|!d)K-zs&n%3wp_KW@Er1S4ABPpmN#ng8cXM+l=G+~TM$_%hcRGNEQhdM) zJY;NT>ODXD)x!9aEgHhcOPH+e!*US}N%J;17^Vk3ta#4i`t}iNH1OL-L2Zq-o1d-^ z7_H^_ivW#R?6bReC5Jy+;k2pR-gzbd&s(OGI8zot=dcy2{j++XKlUVFFFTF9U}L>2 z4C#lCq`Hzgqtk8|bAi8ZNcvXxx2#)f8gRI|5A%=}0OYX*{{TwF@TLC%_RWJ$JW(u> zxx&UUILFqc@m=+_Rz7XmhGit|iN@f~gMrucG^|m}Yknny{{9QdrI{v%Kz0BE;2iPJ zb6X4JTPuWcVx4grW4Mel1ExLe0>Z{is|%ZnR^A1Wl7yfEJLGx~N}yVK)9f2#9$W5t zRd{6_XCt*BHM}9J+St!?eSJTdJ2n+LTtnDYDM{U4QtMULTld-Nxnr0Cd-z*{nbCk3a6CmRTk+ zt1^PafO!7^J?qi0$C;#DF7KL1m@eLXcCS0IuzQ^bYp7dmS^!LqNxWCk-wUI`Z6f3ZTe4;iCbKbLc3ENVaPL?vuBPd2~+=tI< zSmC^D+p9b6N?5$4F6E^^F!bxs6<~J%01Kx70EsKFq|Nf@{gtl#JbqvCGkxF{zt0ut ze+=3tvYs1tn`m;zNkGO}6aLgKSDMf5ANzG&O!#?Uwhq>GeB{EGho zo|Ob)VpZJC`}p106*@QyQ-$P!cG4Z}CCWuKYx1)ykl-P~r^o)UZsI;)m*%2AH!r0{ z0_-fmH_Z7`$2?FL8FRf5eeai_b6$Dk+dJ)3Td_p8o$OSGecyDDPJOz6I`j*WdU7n$31~w>m+|K_kL<%a^DZ+bdK{*CwJLyNl%-QI)6{rwLC@P$Tg|b;(6v>suya%%ip#= z>j%Og@;B=({61qTU#oSl>9Mx~SEtMMrZdkx8*3h&<4fCEx+Fzc=E?iZUGAlA_WKF# zOPJPFD9k$Gj8_u}?tUU%Y}(4`cWwF(p7q_M{_Sy}_gQ%~iAGM3qs60GED;jxlFZGF zl6%)PC>2I#1Xx|C)suEjn1_c5+KLJ|BExp~esIn|`6vT_3 zG5-M8uC*<#tYFM36|_n>94J*D_^wyLjkX)hgS74 z-pj$02Orje6JFGR;Um6HD^3NJ$@|$E1(f;=#SxWTv zq|>gTyt%k&CRy|HmW_eI^fhK?bhCGTud|c4(t>1n4xTVRu&<;uGa~-%KNS?@%9?sLM5WlRx}Rq-cNE`DYuu9B@zLOgT;_!@)#K@?OZY z=3kX^cH{hMn&*c`lLWWgOtQr^KQk_VQk_rN{3}z#J|tPZ%S}+nZ*vy7g{Eszz!M0y!(4vXr^8|=wW!uQz+O$_pvX9K$Xspb|_Pk??lSKy3Zf_pLF6`J$ zeOHc~YoqYyp&qMh*Kxxn3$w~8C-GyP{W+=aw75)d=0=`unO)m@3=TSb)6+@&AWyT% zQ9^BHCxU%xppr5CO{rPwmfmP@nq)B~3Pwmh@%?L&G+6KU*8OH0No0syg$C?1^E6Jt+Xjv=C4+ai3v zSy+mWI&o0=D*YS7s*kmNvSL&$soif9&^~CH=v- zwtI^!i8m~2q?q~i{XZ%P6m*^>M13Cce7jcF#^vXn8piOo{8~nV1lOCqi6q*sw~$Y- zw-s9IZC6;2?3S8+#1S{&l2BCRxc40^b@V8t(MF#uF3}i3>c8sP4hbH##%RrLW2xJu zl17t8!{u-WSbv3aUM|w$(rzv9Y#c)%aJyq0aydW!YPSRUi$jQ8i#5B62E}E`$nE^9 zGhwQ0ckx~7inh=~-|9B7@EoWikVQ~}9acYXJH!61-`c>}|>GztA zgjSKvh}*;N4URBJIQrBwlDQ9#ExzBSIDwh`vF9qO&T*gDlTvs_>MNZZ*`a-|h$E3z zzlaQT_3KwO%{oMl73F4@G!eGZ^1cV&=CLolF+H`z&tY{nlSsvz%Ooe|+L~mvNAUts z_ApxIe$gcALXP8+Ry;wdohL&>7|gD#6lc)mujx~1UKok467uro-rNM}=Q#QUQ|ta1 zT}IqQ(@7T3nQ%DIDFd<3jj`{bli%Ph*+(ge4Gn2P0 z2+ea+_%_`(Z@RrdF#FCn{v1}uk>HyfTZpa$T$e`v`w^;Jz zaDkL(oMx?B#T>}8!65&%ZYF0_?BX=$Sv&s$n<20@Z8KPTFt$3n4=u%;C zY&S;p4i7wZ`jcLZXC%ujB=7}ax{jGO1-x)A?#POPkYCZek_lq+xUAVxbVYz56y0ji!54ylE&qM3|D@8xs zU&K{Mb$Ho!O}qF@A;3MVSg#^z#$6S<6=RNQV6-i5DXJaq8?^n*!pT+OZ zL%qRD=6&EXT%@VD4!&ED$27LTympu6`A!vErxaYUlIzMFS#Wd4e-EuQPm^qtTb28) zSbZwlJ2OxJ0EwzM(d}_6{qFw&(yl88P8ypkB#}5fSx6x66qBb{jL z^!;l(%0Ue66K>nn=I(#`;;za;P0V(8JC8~l)KO-BqQOGTh2E?_^405Gfg%S7j{CbB z&byL1B~*+&tM`kb$UluX+Ibd60SH~&O6MH*HCE6sX_t zuhy1ExW~yHL+ZwZ_P0-*LcD);nwV(HmZ*v;)&*rHN`aLt-D(N$S^5@V?jj7i{{RZF zdlZQAWscq3_b&q-$M{y15k?R&Q^@%x^o~N&d(l$0vELee>70y5_#W{9hlBe2&fGg#@ zepSkL4&xkmr7!EZ(x6A%@{haNpHE7YH%Vu>ORYNvUUf8ImnsYpAH*M;3LdAFGqD>@8 zmBV=;j2~?FsH4*3^EaEDmw)!8;(?F2l37`Yn{KNgRWJPNou;V=?-{3xWsXCG5|$bC zsglml6qm}1IU8|i4THL@*{o4O!rBO;9Jy6c27d|wj^9=LK;0Fk(Nb}^$ASFnWNFzq ztYkO)TvV~Um=uwYKPs<$C7a9g7^wD;n0@7MygiKqHDpplWbj8yr#F*r12nNl6pr0%L5R;Q znyGe?%@|kmz|TX9083eik>*7djHG9$Z(&sKuiQ?tHMw6#kbpj)TF@;SLmX^4U%IBS zwaBj~Ra;9@xM956Pd|XBgj`##vc>0Z`J4h1o;|Bku3%?uNVTz3=}30;WN0BL4I; zhLG;s{S09h^MPE|0-WYyqZKV6Zd3nu6Yj9bfXWo@00|G* zwOMI4u6O`^#+VuRmdNa=BVEjS>_F~m<4=Y-@E$}8KZVGtZGm@bU#oJy%h*(xO@s-z z=9KJT#(^2@Vpi4IJcn^C0BT2wND?TelXRbWZ|J@2NT5YfTWW>HQi9ubvQDhg<*>Nu zSKL#$k{q^87z6DSE;=skihr8$@iE;Ve)cd&)}->UJ3J@-@MMP`c{;%N^9ktyb?$e-z4&opZq{H)KP znZC5dnWZSoBE_{-5D(MS>rmf3U%QLVRm)_I@&~W~0A8zFT}KRU5k6}vIb_Rj{{ZXK zUG9=Kcx{SvxRzWK?ZqUEawnPMhS%iVx2EN8r1#A>$s$OAh1r*;OXLcrBdyCv3(B$W z8{Jdo_Qy3~eU=E@Z|?><3G*MwQ?R+mLnKn($bQg#$j-o?W-h*{EW8k`FQGX%&zinaBcylOB+D-L*QJ9b=Y1zawtPN5IdfMFDZeB{F>Tw%_7L z0C7%xkKj$rI}$pNYK|LEC0*allW)(lnS6yZ#ElQB}8eO zJh)PR_XmMqRjkXT7*q&90n^~;3?-X(Kg2x9m`>TCjU}l>BJ&dR25}e~5I#!Q|d@!1}lqd6L zkN1RZRsdiRr7pGM+YKh%$#*@$Qokk`9KSt%xS(d2!%Y7GW=w@t13uEnzsf6XTG8!w z6j*NU$XK$->Hz#JBjKJuv*%#Ed8Zlgz^z{tYBTBf-)OdtrkR^)Kr)IwPC2AAg4JZc z(i(j{vosR}<(BL{y*(>?K(dXzI?Vy}z`Er6_WuAH^@~uDS|W$}5kML3 z#c&VdE9fCNK5IUrAI#XKoR4lg=e=+ES5Vb%%UfzzWjvJo>#QYT}1++%e+8xZUjH`nExjvQI>v|5MtZO6fO}9^v?yO|x z@$Ku+TEDG$X5RZuNTP_Ov8V2_!A>~I$4t;G90S{3-|Em>PDbTGt>t{!UcaBcXzQ9B zdQaHpifLqNB^#PT4i8={bHbh&ywk2^yu9+&nE6;{C*}3e;Zf?^9=WRP08N8tl6i>7 zfww=;6a|imE;RO3`P*hUH%>))&W&fOU0B`0VJfP$%^Ry6WD(ctUa%o65-Y0iDdo1& z{&=i^4)|E<|+PNtgJT_URyumQOUc{{m-roH$hAHCtsEF%e4EN3veX; z>&~Zgs{a6Y*Xv0w>zeT|hOKp5l$PW%*@f$YjGytK z&9~6N(H}$8E!HUR?RO5cd5f3#C)TzswJRy^8YphznV5X4tPNNH0E8n+Pq}K(wYM^s zCnB`8{{RfwS&=LjvBc$e?p5Rp3Do5EN1LNUsf;MFMnJ*KRi#htpg?Bpo_017S^F+2sQ%(2~HUPfb< z@>3{QTo4Z<`I_o3t;C7@ztW|(j27}^+!1=6y=v!?v|w>UWi1aln#;=gg>LB+1(FY$ zw(t)<{cEb$5>(Odnhdm}7bq9+77B5X#}%n9uGs{hUr&{`uRmIpq+JdV`!vOCv&eiq zb*O1jNE=7HmT4p`@-$~BJ-Sx3ej(R?<(`Kr=kGE#cg?4)yzSamzCn-YPm0k%eQT7o@OHgq8DPDRH9s>l zmLJl+Sz;_dhNG4Nl}>$I9q0=lb8q3l5lQ~HSd@Rb&C?A zu~18Z< z24f#7>a|IYq+s0XHu6fu+r~@3Tncd0C&g z;d9xSq5AvMJ+Lpp3+hE)P>zIdP^X|33#-M^cSq~#{{YseNt!L2?F`7O%ZwB!`Fqo0 zwDb2#v@BYbDj{{TvY;@pHJ9D&*TkEH-pkwh-OVI@hxJ?Zhu2KQ{K>@m)1qkK!cRW77% z2d*d^Z9qva19X>UE`8n9-7irHGqaWPa{?}^AwuKVv;Ws>cn7Al$ zS|M%_e&x~s0N(3V(4xx@oEoZOPqmeFU)~Mla`*33EyE$i(3Rts9EyT_g%1%7yM%#A z&mbC+w{pm|gf9xJGyFV%DrvOiD?F+*_j8};Qz^*%!H2aun`-qK^)v|0Rq`*2B(1hl zzc?LwQsQYHluakOeiYJ9eD^XTUzR_S{{V+QYJE3smdMM=+6l+4H>n6jw{;2>h4tD6 zRl0^qZcA&Fd%`1ozRc;Hl?T%YsRm}C2* znP=aHJ$&G<*5I7%&Nd#*+X>I-lam zHI}H}P`bJ*+Q}hP9LJP69^=-no)_?}@ga@=ZM&1@JpJYES_>!c!5dpEPQ*p`C~6S- zv40QB`TBd)bm!j_1Gjn-je}FqaRSEsSZ!Ao+Mwa(h;Fh*KK!PTtw8lRHUiDDt|Y9Y;bcjgu-x^Rlje@m#Z3JxnaFjrdoN zpdOuRT{oVj5B6!m05V1mDjb{VrpIj>v6C!G9F{x}!h%TdB#mQcC+@94ml3_U?zgir$H)&AV5VPg z+-*FNDoz6N!Soaj8IwkUi1r2D%P~BYR-lMQ8UR3Ae6cGYN6^%}7t80;fD!SG1IM7F z1Asp&RaElEI{JzU>;`?!08qKntuHPXSwpOmxNuP8ky48%Tca?LmFjcWq?+T(P0Xy@ zjshU${uLmXBj#K$ziI$R<@hXnU{zwt_N|*5Njm)FAXT--cq>VT$&>iHWC{SOCG-~Z zEOL#FyOYpe}yNTGy{>ki(9n*$UG&wFKp z^)8`S6S)bF-1^p|=F%BH>pv%Vs~X6L_TJ+BKqg0J!hY?ulUf>;tV$J~kKW1o&N0@z z=xliyzlbd&Wwr~^nSYT;oc`(P!!nynfO>Ja(nn@&MQ1QP@_^9BJ6S0-_;RJqATVa`_7sOuxK5Z}?$#8z|PX21Wq_S>jnC)o> zQM+yb02-SX-N`Qyx0eiimA>dJ*m~5_iDOV5Rh32;XJ5vW%}YBL2^L)Hg z{i+UzSoe1M#Z|bI&Xzb*V18_!t=LeJQe)y>w(&3bR0^+hkz8CPZTur~9{nos{06E+ z{{SBozsr?r>{5`W7^+T;D6^<;kU zj>Fc0=v6=k@m;vvAN8v{GyM6eBY5SzmG{TM3yl6XWPzSG{uJ3!*rfz&_Y=85NMNHP zpK<~~QBZGlv#+frF0nMBm@4njCmpIAtAjMLBq+?te9g=-ym}t=h%R|y5EUJ|RU3QqZIUnv>^VJZSB`d1-bz<*WNZ)ds%OgkTV^jmIZ?ww0mCh8Os6g2hIbFTP2V_Py!Ya)2bNv}vZr$We*sLA6pBdSYjxOIo^WUw-JAaNY>yl&p1)eB zso6t4tHU4#7!?XSk&c+F&ilXA{NL@7#R{nss}s5Z0KDD(g++=nbnPZ6Et&`-`#fL} z>)$=<3+*1#{ZiUkM2LhOzaV0^_A}1Q^G6#E+k2XK?uOsG-0c8%`ukF0Ynb-hOd4z< zZP&^{$yLAv`eLmMK{DgZ3XVDBlUfUH&glpw^2Br>N{M{U{#<0LgPivwk!e`XZ9QUd zD%n)=^X?e~@%5&qh_`Wth;AH(8DZ~RAu+jQ8E;(hKD88)7}47}Vm@X)s2z$w+4yXp z9Y;`lk8@2(BWYV=n2?N;2P}W6tr#;hp>S0(h6B0(018(-oGeR_I4zC^B8r?!n*spK z-yDzd6!_yS7DmC2OA>Qdqlsc>0|$4_xSpni3$YBOZ9J9tpk-B2GIBQHRj9#!gsc3EH0smNhG|aq{H#q*b&N$N(WYELZ|XJ&+b*7#SRH>?vMPJ8~$- zIbu6vr%@OS&&qk+XbWgk5GR^*^L)FxsMGgSos7FlIrIbkYTTt-buogg$`{99r8%QQ zg*J?198(%0ib#@D0bWLU<%!Ko=1B*5<5thPrU=5cWNqD@j%ry0JZ=5b4h1Gq_Ka*Q z3Y?4#Qy)H3Fh4S|&V2`3cgV4+B!PfIG{fbt^d*QVsPr_2sWgZ84oS;_){W~VU2~P> z{uLTJlwpua;FC!dprKU3=Wb6(*q~QFu1aruxlOXQr=}!c= z%A8}lpq@}0e6`$o93NU`yP`8D)(Q_9^ruG{iJ3{*-L)giDwCzE9?A zaSlFYV6Exc)K1&(S9-GTBlx(fVHh{6CJDI$u=zzrbly*whAkfP*Qnstmwq^^cPGub ziao%pkjy_iK@{((=zN#etqX=M{jzXXhz-OD>oSa^;Uad-!GKR z-^a1f%S^2sBZWN48Md0DkFU4AFl>%RV!4n2 z!=o?tsQlbuNw=Tk4aHsHs{x!7-m6?i9@ff&0PH9sGO~_>-MC}AMLjX-J?hfSxDkRo z>|uteZB)REh5gw8=N%8fwNCLX?LR8|GWEqV$=#68w65lFyWDpARXJssVOBs@xDLnp z)v3cK)OA)}`O1#N)KoW58!CXx*>S-?(t#n4>-Qa6Jp6+_DnSrJ3|QJYDcFzkrYaEX z#Tnu3j=YMOZ}CLR%brs|%ls%R;TTJW$xs-73E_n)w~+T%^xS@7^fZcrzGWp`bUg_6 zG=}U%aVTv60C+FTeukL@FFb^_Y_bH-3#jIy5qbAN=)P+4jo|n9tJZTzCqfIcELZDE zY>XaBA#84Q@*ad!v72@yiaBi%?gaMUMnU&Jm1!pgfZ>#5hU&kaNfWD#9m?6|U(@_4 zB#A$O6+hh_3Hnncf0P+_jmUb3L)Yt3y~D;aBIQRrfc|w3%b1mls5m&-r;or>Wxd8$ zNTf!_Fu)3A4TzaGg(}SJ3vVR+j6rWZYwR0Obc2ab8GC6Dv6B zloS9MC5tT-ryZ5K6svRz3o^84xo)3@JtR|&tN}fb29iJyL#QLTY6&Y|1rp>O{D&KA z(kikq$~Ye|BC+m6OL!x(`@mr2{Fu#X#U<2ReAon^-Z3#a{0&EMlzgkZ_+Nup2PIE#-t|IJPjaEPVH+=)N3#G%Dy5g&pkoRwY`mW1zAIW@N&Zzv zf0BR7P0Q)fkLyBWlx*}Y38X>uz|FYwRA!GpKIPN>;6+ZSDi5#mQn1MC2&gNR$rmv} zdbpWN$-riAIjc=~3a2xN@3l^9En3-H)V>#Vf4oNeb4g_qm=;~Dx=tFm6%HCXH!MVV`CG53tx+C3{&fw?0E)vqm4U*K&Y?2gZK$x%y%TIM zdyHbA=O6j^o349*jW*5JDVbFKtUT0a_w84I&q^98Jq)|K2`ewzW#fn7bo}Z&X)Z29 zBx<5K{$HH(Yg%>8f5ngDtc^UFujP!d%5qnade%P)oVP7UW)J$;4aW$h3JomL?QteI zE-=-32m8G{)K@F!E-|%nf(1p*c@srgK1XO9b1uWP>FHTEag3jv=H1EL&*xgv{K>cF z^PxW`?*4@P8qBlK=iQv=m8>cqm_Dabxryi~$@HlAMq7szvXU1g6~uaD_5k~f9-R## z{W{cX=ga>9Je7YEX=FfCmOh^;#RDUn>ID1JA|G>09P8!e2at9uGfxo1_l3GMbq-Kx z^QZ1@i^yMLKoGMN_ffh2^(4>bNAvAodm0Q*U9&SP_5&1>MI5f6sF9R(bCLN_0lqcc z^L^}Kb;+h&OR%r*C3a(vkaVe(0k`DDm=6bwdCSU<|l1~W;! z=h$O^T;qzAF7Iz@XZ`i*ngj#`*;nzXE{v%c?wwV;XQdZVv+Y%$SbluFAQ>amo|O@b zD1X-6m&ZT6lQaxI!yM?XaWk`H?y1@{?Nl`@TPs*xG8r3b+2*$VpP{Wd{MY$mRaM8| zao6cl%Vz;Uy~Dp?2LqNt^^8ndmFJi?Td?X7&~d7VhLH@Fq7Y)xqjQ(V$al*ejty{UulS@(8E$2Ghp}`+Chp-->jX|lfTXX<*kSN>Qh!W{RJCJYr zoG?6lReeBA%@P)kvfOc0iDsNf0WsNeifoVP%8_pQN6!0CQR!9YdxVX?c=zq$R31;~ zOKS|t9$H1*+@3Smm4=N(BrZlUDyyF|>>tbY*Sqk(!7bBbsl39GH8Obev{f{Q31pI1 z+Kanl_UYVI)7v7WKc7EL1@liPh-{-slobrv=XX5NgwX=tEPJ9X(($+y`Hnp*1fF8@ zBvC3E36Xrmjt{k5^1!=Q01w@si|~BS1*c zPo+ve)R#L01%>)<<%h8CS8X9kkyobB1_d_n??C?m?T?gEa*}ASY!s5m=3&lTnyng7 z{h-_Yy}LNr4to7-UAhswsHzR}Ua!mYvh4hGLSt&et+Iy9uOy)MW5?x5XBvrT*Z{*0 zgA_}2sMre9x&9OxBm6479&CbEnolWw!}6iz@!ZlRw=D51GXDUqZs?qvtsBqwrcs1e zP2Vud9Mkv33EG=kyP^!A#-Nd9d(x12&M{Kzx> z>M^G*d!$BnkbJwdkMb!K%W?9nO8ps~vH_rDMoC0F~0`qWHV$~>hTe(N~sze<^;X?{R< zuXgpO%;_5WF%9q7FGctIQW+xocG33d*Qumc^B;4N6mk>}pIU+_8d2uWBD42U*i@&q zCD;g%TsJq%WBY<$LQn4)MWBGackEj0tUaLsun`Q!#eqs+#rCU&ur~nW#kWB*_BtBSH zR>m8Wd($M#$b7O`^e3^Ra?>e97+&qxtXpl^oDaGU1zyOea~psmIB-ykmfA8<7dZ>Y z-qm7d`3vnoDb8v*)Fh=(-DThGC=1;Lz->*0Dy!tvB$O7!Kr{6sn{m1KD9V62H1&uL zraY*|NuUbbT=|)8t)1f)Do%X8jvLJM9qGHa&Q(5b%lT08GHsPvcV{e5aY1R4Tdw~A zzwHR0^zqV^T7ZQI74~$0yLxF|t5Q835X?#@}D9Dl;Ku z+PjFz=Z{LT$9QhO*s9Lob-rEOuxK6bDnYT8nB<-a?Nhewl9(HNQwTd4=Ol6kN`$(n z%lF4LiELztDzY!H=~6P~J=jxY8$(9QF`g)ikIfl8j)c%d901rdNzYM92r3FO1P(P$Mhds49Q3vdXx30gO>TQDkt*>F|>~O%{R^=m_9*KngpWBS%;gnDypde z06*53dXxM;DhOlWx>wxF-2wS{?NS&M)AHhinzn*VD2hM5^AZ(Dsiu@tob6`n$NcuH z@^1S|?fv4$+lX&p^R}nnulHN#?!76E!$LMpM#X^nxEQEmMuBpQ%)5^V`c$_qvNid; zp$ z-W4dMw7GNm56jZ3BDD7n^M375mVI;Hq?Se~-@QfS0H2~ln6OsTpd^B$Q6I*N^_blv8aA1*_l2jfye z%27UL+z=1FP+Tx~WIuIRCyuAmfa_vEJ$#sWbXIlABLLOEzqju6s*0p}Km#g;^9nyv z$3gxTVl(n)+^RM?SKtq*ra3EYBfOD5+jUk|8E*LYAK_8V&d7GijI1``3^r-@uB;@^ zRzl?9^gmB(Yo_U!Z{A;(qt+~p%;qCQX@kjzv|t8b~_RWaq2TnqVZKcwh#2G@>{OscJ9yshF&6HihHm z?@X2}d!4cDUB&W4t_~@om6HZ?B zrPr8$df9*-s#Br&H6povCP@$9LcOqQmxFvISy$%Z1L|r&vRk}{ng-kksbe>1!R-%+L;2bgPr-CX7U7`TYxyj+vky6XDble?D zBZpJXGD#$gHXprE=lNAjxIj=BE9MY5Y;jTvW`Pd!9x%N}-v0pW)F$!?r%~r7-Guzj zji)%KgvlU=DDG4utbZZsK9zkFZ+fE#&ve+^wNoE^Jm$0&{{Y?H??Yh{Ibe;C%oV<) zHClTJ7;y@(x(ph>oOPz0Kd7NHWMFx6Mt25QRg-Vc*NW1L<$6oGA0NlS{OTz~c`y7s zWjWlvd8>vcbp99PkkwMugiR5`1{ffY^hk0DUIsf=b+!wJjz)~*?*9M}&lvB;MQ=PyEQ5NX-@j{cdGeF(QeZX(@`5Y5l!Piy;s`RVwo@l^DPVtZwFMP}T0Gp%TSmJi{EFTn*VG?_7T zXr+00CxzojQmnWx{0x7M8f?gjArb?X44*eoYQE7ZPC|~@3t6V!5s471d2(~|{{Rgu zrWR@3(+o~>8}Kx3&Nn6psWk|-2LwEe^m=-vry@C`QS*SLWOu68BJy~{W)Qi+R%6rNtw!k0PR_=}v&24Dl?T+0D;`;+ z`)f3FWl?;=wDmp3U278K<}s)Df{cE(9M-7{qsJQjr)%-rnsywuEyZ^Ph`%~?=)_Z= z;xn8${KZ#}DAIOT3d;WgFeOF-^rs7{eFxQ*A$8B_BPNB;n? z6+=&KDzuxK!OtztLE;sGfBq6C@s|Ki#NgQrYE`*Z~46{nb>=Gmb~s zG{U=c$v*j@L>pBT=9Ri*<}`-pA30-SuId*CJ4b4k71HQPsH$i@6-x_j=ZPx?&ihiQ&3Ngv;+C%uj|;&{t9 z$N^#0)YkGt8X_5^W+QVlu;lkOqedLbmVbk{TvlzsX1WZY^2vQV`+ik@!3VH*(nP+M7Mha!jbQXCE=!)9F<#k|79IL@bMwkULcN$?})N z4b72(+JbMgCi{1^yT9Bt(R8nJ2R|U)^Ks2f_jf^NWE6H>ReX4-wG zc_fp1$H`BSXMyf&&)CQD$s@O`8nQ!rz2kk~mOOp_`K7pgLf`J1uW4@)XFgK(IBa(H zrI`dQF}urem4lq)+*1{c7Rj4<{{Y<>_o%LZX<(1;?rq2Lq=w_m8znwo&Jdmf6<%AI zn(zZWTqZ|3??|hfYH^YZ)K^_?@%`{lYN)%+pCU@zN8bYr`P6d#qG{1)WmVr825kMFd zdJwF69@G-_F2;!$7z^Kp#X)m$sXBjon}i)rLYjhH{nqkTephEWZ^Qg)vb+(Zw0osw zV0RChkJQpi!@bK&vPsO$(XU;K-+Sv)yongbJ8-Hws^HB&++ry32*LUP0Kio7!x|ic z^M4bwWS_>AibYFwce-yib}1PM8?V-{2~r+Aw+f+p{VI(2B+VIz1pU(A!nJZZ@JT0g z9<2Spz*O0cVOb~2zR;tP1vetq%8;Ns=ViP1V1YGb>r|9?pkAAF_eW%V0S+%{{Z#s#BeGo3x)1U zH01$P>4wSkxdHVfmk}11sLLL=*z5nZt9*rH)B%RYDD@2p>Ng{{ZV$&uFDx-v=WBansZB zrlWaS9BtYLedsSs4^|4H7z77_kL6R_fw2mJamTer*eG&0W08+qZM6Pc9oSr*-8$#B zAbS>NIEBM>BL=Dr%Biy>0~_&D$liG$c~Ei(uhyitIFAF26U74PK>q-9%JN%wG4cu^ z-z0e3wN*BsT-5ISe}{8tqAwz%P08kN{`q_l_NW-XTE@zDg+FxA;4(5(B{|yLzEyB@ zPu|b>7i#q0M_;7_E5n6g`Cmi+e+sbtqkS?ex~4qNPUUUGp7gOyNcr35#@&Ox1zP2Z zzUXh4X&I`_A`c?&Rc1b;jML%WDj(rhINCq04HQVoeqNh76bT@Ve5;)9UJiTH(e@*5 zZu}>5J*ulK2i*=?bAyw>r$**E0ov`6jFrtI`AOuFi=>K}&m7W8HVz8m`(l<>d6AMF zCVQ}{5;39mx&l7ZR7^&QlvrKa}eN;NAT2`ZJpTX= z2SG?p=p-PIl&Az80qsBr7bS7Ejx*?K@?tj)$tUIFiN0lF$0L$^P)_4^u6ONRii$^= zrqos3%tz6EX%^>WV+`0h$Q&P~J~M{QpsP3chaW&`j?D{gX}9L%ckv%ul&;A#qmK0W zfaDI8t}wic4Eft)N=h%t<0p@)s8w1Fo(ONhib%-w56*VxoP zjJKfc>r-vYb~)pkr+6iWL`#-dZU<5YF)w+GYNUsD?s4^}OgDeLyaydcIw=5+K|6Tp z++w1dbY6#ZXQFdbC(Pwyq?_95bGd|I6Su!T>e!WgZvOyxZ#50J=G;+OvmQz5Qx;@j zo-N*mfBN(qOL7Z`l150ADy+aA+!8;+t|UsTPQ~5*>~d-J%ll$A%3e^~mc_kmR@B+_9hcf6o;7c#VCNAB|Bh=rU&y z1Dxe>N9ju%e*XZs5rO*DR}p^f?PgXd9CzlH*_>|kRkB;E42~!o_-x)+y^UMZKfFNv=>nIKS+DLF=FZ?b9-fsn>b^^#;#D|r z!kHQv)e8Rr2pLY_{<`uEI~97k<`W*%eCOCWuL~m9pgRZ*j_N1BiZD_XcZUP^;Pp|&~UYRo0kDa7gm@p+&U^z)$!j&#Ov)z%nKVSa6P>C&O^E}4D3%ingU ztjN*^X58iW6T^LK%x$M4jul1O(3-0_c;KXv-lW?w0l?TWTWHV%#NQ=+yx z+I@3XmKhMV(K7BQgzbuCv?Q0z@wynwumo%;pURyITeKixD*=oVgHcbm;Ghk){J=Wx zBBpV({c7=_yaz$==|LmD#DMOJjz8y{l2ra4wKOdg{F^+s#tM=Asx=J|Q*PdB=c63p zdm58`Q|?zATn^(5zT^C8S`y+lp)k2<8Gt-&>ZYMAQ10@cBD}Ll%Ac)2?IzdcnYX9# zzwv%PwFK93?Qjbn=NV<=^Qt6@JGiEDE(-1Kf-rr}I#q%0GK#F;SVh^6Ijd1eZqfe$ z42zCB8jjl7ZkgaJoZu$j4k?+~A-6FpESt0Uits_H(staKlr}o7+%`R_%OdcSmWli4 zqkRoaBylhSuYqe+E%47ckf1&ysNoSC{#R~k`-I6#J9JYzD{_)oXB}oK+ zwO$KJ(HWq*AH3%Ta6XhHHrRn4M<^vbjHR4*03NlVt2}>k)&BtBAK_GNSi)rUm6i9M z&Upv%ttie$e)rJks!ruZV_eA}6T;u`C(NRpCyj$(gS2OkxT$}S@TyvjYEbd>F&{GU zYC(~CDLvk9cE}k%KE%6F`@*S6Khgr0`D9R^jVQJNsft-+3)^?g`Bh8faU5*#lSRmq-(%Vq^O zmid(IHDz0#pLBDIz=q;yEKG7Lx!g7k^%ZPL*!%Yx{{XIZ`9&FAxv019h#R^2c&hqN z(dR~fVju4NR1?W{ENqae`@EN2RCfM!9$dRohuqw(a(=Y>SXS2N*aM6O+euor zJ8FwxFpu|;%sKuQr!DkZ{p)O8e;See>Mdhsu$V0isolB;!S~z#H8RQ`GDph0a#@@1 zk9whVbsTbe=4jRv@<`;3p!FY(a=MnSE~pyDz{?$`a?Y7oVdG2( zNa#*DqDdkSJjFmq9Ev>DVnj?B4xms0umW%gKK*DQZSVL{PBHtUey625w;qb4=|G6_ z&jTEHq;3Ob{#4=)7bm_b7zd_)lnj8U&ZBdB?Oy)?TA2^;HsiN?c@RB{r>>> zR1Zo3nZ9H{k*L^i{wg|yietC?O1yEC)X*Vhh#sIa`c-S0E#X|s>k|5s1xN^V<;u51 zwW18&ib(;8mB zcHO<#xu%C}NH(_M(?7`T+dj43N8vntUXv_aK@`^yCz3X&?$_lVM|!#Tcyr84^}whs z-6FSCjzxW^2cBxn$~H4|@{FE)RkH=l)T4J0X;v6nqy9J8amT$g&6n*l+rAFsAAatj zcB!qxv~4up8FItfeJY*Qu&wH`m3Jo99Q)Hs%M#UOKw;=lUsn!{zj3{z((TJoB8sSJe2)X=f(Iaoo zz#gX**pgPcN^d^_8QAW9oD6Z^rH4-&KX~%UxajAKRQc|i{{V(DuzhOINf`NQf<;qr z9CxTy6@Efa!Bfn^B49TC(~ZZyLBBeO`?2Hk%_ZL`tNrH#^q@tXU{cvvz9_notWMqW zfliEqpbD>dAZJAETc4n$TO@^ixD|ic8QW3bf#f%TmX)p{jB&a~&fSUg8n1ry$pb0` ziCKCv$sf|G6UvC4a*$=06If%<CM}}*d%GzMk8fI0X_oV3CRWbuzd`tRrDEkte65cC57v_!0FsOkH9*J9uyC~9{{ZsJZ%hX4X$ww~?q!Q_Vi?tT zw7R-Y@ZBe9RTX647XwKXoHi9E0}+4&I%YImC@$nxz_ zqW#xqUf$mI6}_Ohb}Bcro~O7pjSCS%_Xrx`?NRq*UOzutR}MJ0Bq$kUpU_gY-hL7S zanYNmJ*o0d6iKor61FfEPfx8#$rEBhlkz83=db?&UYOEJa)<2bQ9;3G>PNLhX#+?} zn4GUcoR6hmXV{wpla2xb)BgaiKossBVOZnF96tbet2XP)J95PGeLaOmbqgDJlY=7i zFgkk=YD-&<$eRIn##;h`msoCIPDrYVfuq448273C#zfr606dePl>mP&$Uv>Q?osKU z{{Tt=S6L&BfX5_oxa5kbZ*L=9Hc3zk3!2c6X$;Ix_T-b>*n3oRj7Y(=!iE_3>qw;Z z6p0~RvxyhD&mxjGGBbrEX*u2P?Mkd}1_F^787J5O0Ify77G{imsuu&&g0G=z5q5lw zkLy*go63+&^KB<#{{Vqh@=Q2Ta^8#Do3lSOtR26)ItmF|6lDx#VAxe*l^*qSB3VH_ z#Y1rk3JN!T;L_Tz@0)kZzab0LiVNJ0+snBMtGKfD?bp3I?MzMPk-AU5LFtN;aj>H* z{{R*+DpL9WFJcV=%vOp`jKL%3PoEvAk~1ogF^Jpq?d?wlE;zte+xS$x5J2Z}=|Hb$ z1{4wCebTi8A=t`3^75ejbg7ZJ$MBDqmHt;&UAunipnSq01}<_q{b{L`W{l+LnotU{ zQ<4wNDO~a&kU{6^K_g}vD#LKu&IfuM=RqW7tByeal;a=-4W*p*$8W7hn~=D63cq-J z3PVwBluE9Q7zJ+r)eLehp@vBd#@||MhMGWRP^sJB>sA&x;$?A-r-OA7V{}c8%hTyhhVDrlY}~BhcaTq~_|q;X`3KGp?g#kPbMl3L zRbkFwx4lKCuJrRCYd78Nng*h+c3oJ(Km!7xesvG;6~DfK@H^9Q|`WB?%hqa&PDg`^LIg1E;6nhSea zcIWwX8w2`O3d-{{yDsm$w0}x;*B^8%Zl^&QiaedWm}SrL5@;uFz_d&T2?Yj^(p|=o8+`%f+@ffW5;b~@Wb}mZ?UZ*FI(yZ*bi9S|F9m|eQGUXJs zxXY*I6?U^T0-*ZUnAgjVdCPbD)j&f^h4QQ)_`7l1u7A3}H%bVW$q~wTTqr%1nq&uw zTm7;r#DAo>vJpuL`5XP>e_9FXP5c|bO04$^(4U!CfH9w1OPAwfHrB>Zt|^TYm|)-@ zS3G_+4QyP`?*8cZs;?IGl0w^C_(=4noeBch?a@itPalObWW)-m<5B+ra;I<2jIbk| z)LR-WWsw_eZTp3|C;Vz#nG{2{;*>Iu2*(_H)E3UfMz;zVfwLV6?VoxIC%0|z2-tks z!AGcZB3!pw6-V6k`c=2`*!=Cvju>!7RDqouLc`2Z#Ao=jw8;sR&Jny=Mpqa=#nPlL zwib$IRAvMz{ua$uk+U+iLQUK9QGvn#0PFkI&cg3I)GDd_hwo?9(?CfaPY6*K)?9Lg z@P3rnf3!NPv5kiX$KG0Sc_AEbk$Zo5e~m{7hTuG^PncvlEA32I2U4)I%Pfl6IB?uI zAJ5vJ46w$yK4RbwIBI3Yp`$Te95dhybUEXSkgat zWOW9flCXa+aJcN@cs|CVj0u_Lk3D`zPUGL&q!R#)v!)Kx2_uH4OD0q(ciXyx2i-(s=y6YNBPS zY4)JQFO?_oI`NbBsqM_rqT~rz9OJ2~aNgQUmY(j|u;8OgynEv`KBHr78)m7eulq7i zxcoVzm|B{fqMHk~Px}wleiaE4TYS+-te?b^H}W->HSHQz%(|tFPP}K#8T<&Uzwnaj zA8K#3YS!{bzjF*vKBkqz%^O!blx8G5m8+@_e`b+`B*7{vXP? zq2rAPIPnZxnlK;38jt;&oSzZ2)K8wu{zuOrbPRrV7cEnf*{#`#{`x$Bww#Z~p}V+Q z5m-9?@rKU_n&YSVk!s)SG^>yMX(0aq3dNhovrQ)Gbk$#O~?Z z$o~LX54BnhuDBsjt$Abk+Wq)lHqtg=P%>G5x+>RHkQP0L)7N0R7`|{{Z7w=N3#T%=P8G!((HoA9cY7tLhUfloK+>yMg(*;=GNl^=V)I zBKCImFC!9Z-`O`3efeDW8Dmq-mc{!CGt=yKJ1E{yHvY~%t+4}67lHLPaBF%xef?if zU-m`HllmI+W$^UB#I64JYDLf=_+xLB{pJ|WCp5~A9i?N^u6$SF_;b5cg@`}$%}f6P zO2)YH){KcfQ5%UjIoq~9ynZBCD!LEe^DsTbaaOH#DDm0Uo)21F$hAP(kH>L8+_kxF zye>kF{RrvJPQNk$tR(#%O%7QYQ3++x%Hu`4U zoP=H!eFbV+TL}JMi}dSPVYD1)j@5Q6a52X@>xxaAMhZI-+Q+j41%rC_tLV7Gf_m^V zQb7(5IM2N?qy|7EA)FpSYR$7lZX^n*816pYQu$~YHZpVkRJ%wdj%bh!0(m~wiDO*+ zrR z7;@vN9^UkTa4izE$t-(ufsQ$-(eoz!k?#Cw=}d~>X;Hc5{{VRB9`!rLz!+Yc6acls|Kcz(llqnbb*=Glx^1gqTC;(+9Lf?0e)b)&a za>VhUYL{qIHicBj6v-nm8>+cNMgbj!Qnm%o}KL$aSi>nnkLzpCrt|a9T#)ib8I~O~tmwY3^c^=L2vcf_*CY z{CwSR`ASAGHuT+8qqeq%F%`5i@xep`A5VIpODPj zH4BMOz-q_YH~#>wmPYo@2kAwDr`V|+$p!S7+N-yKTl!Sy_l9pSR#h9bw*sr&K$iE) z!9V4h&IW%Pl4-$=MkSBtVfT+}2vJn6r2xXH7jE(Lx??og_{pK7~nsX`t07eSm?Vr2< z0N1K*6vS@2R+TZr$H@GBO%dEY17M3{Fv^$0fGJp{%aPln9nS3|XN}!Q)6$2yRQYza zjs3(KBm63ul3BNW?YI4pl~3Y&{uLx~N{OAZ#<}VNCXqz`RI@+tn1$@C(EWXBu(VdL z@nanBL_x{+6%*acn~@bHUAQa(;+7SSE(E2TP2*RSUCgLdUCKKnVMz?o?w`S(oQo3j4^3VlDumT5#|*|_7W zK7y(>=`u3gMj4dt-hSx!rkJEwY2}|Tc?TRXu%KZCf4q>-(MfQm@T1iG)W`iKe-g&O zn}7AHj`wS%`$)uYzaZ(mo;MHaS6<~t?=R+V{)zRVWt9qup%f^`TBR$q&YM11*ljL5 z{V5|e+zryo(Z!#*oNxaC>r_*Q8&Vc+h;qlS!9i(Qv#~dngadkPVtsARum7&l&E2`qdtqcB94p#vpwv zX+}1Wz0FrLc{dJXUCq>ta0Mcgxpqd|wO4Bv9lLv)scwcVqZ{S7F5pc~YSD#aTP>WD zTb$H)6QG(hpS)%}Fb^Mzpmr^MsGFIWk6MBM0MaH?^D5wsdjA0RslHUs>m;nLfx_c~ z{{Yvd-}A4_^LdGhyUlVeBBO^p8l3F%ecid`v@hs-woqnfwBcgml4yC3OL&YO0( zzvn?nmLD$+0^|Mhf@*w?pLgcYDlNOwPw?Y8^rlB6Nx498mA02X{*(!Y%Vil?=4J$7 zb*h$=lx!3ujPch!>h8$Vf8OfM+?uS(vDt%t*2&MM1twTBsYAg#Mt+8)n5jYi?w|^Z z<_hD=+qJl3{3HJWuTtA>+5XqvENBZ@i_K?$m05Q#G3sh)rpOB4E2+WB>S?z-La*@P z{o(0Qzs~KkS-;vN_4?3K)f4aAGb<^<ct~%NTaZUug5ipDcq-T z3q;CJ*-keD_d0+nziC8$-eh4|V;g|xk*_TPJFcyPJ&ejKZYJzo#z7l{DOzfLzqx*x z$Svtq6I8KH+qD}N+HuXo)OQ-jmQyEJ)0LP0o)@hIH*-X{mnY7CU*T=vr84F~k@I$+!7>Gy}%aZn9Kaq$iokM~+!qw6jx2F}V+mRx<}cMn26>f+odm)m`L!1#qJ z`Zkr; z)<^yV{{Z||FnIS`?P+A6_RX{Z0HIJ9JtAce0|SN~`_(BYDJMTU`>VIFKDEFaU=b-Ho> z;KfJ%vEmo&eRRL>xnJc#){f_`T6~bF$=mz2V=s*CZ~NxFY4tA<@BaXht@r)@Y7OqX z7`UCikREwY>>-?w&jf3OeJIwz8k4xuY?zZ38nuq=q%Q(UE ztS3g@obLc1t!FNT1e~DusYZgm(MRD-IZIFR369;GX$`l#^{VgV+tViW(=FBi0K7@* z=y{=ZSchSsr8sDD`VY#BhbaZek2PldwzjGA_6$e!sG;$;w!b>s*^axh5$E-*$488I zAC*eFIOF$c{sbtv)GlVp<6jU?Gv(XI?2wvkc(cTAn|#zyq*bcgK`sUY5B5b&np8>r zC6D`bT(4%1Y-{@Y&M%~2_CnxOA5zzD56^#jxBH=p71j+sM??eu15X-o^dI-l7Y}BR zJWZ~4zr7v5*S}BBnip8@e|7h_74zHtYqC0M^dIixp1N@I{{YpmUgC>~vquvpwxK8A zxw&n<6w1dG-|Wk$`^HoCb6vw(!yn&~6Xx2hxD3>W!8;=#;>aJR7ay}n1T%) z=yD$4rFTNZ{eV9Tdf1OeqnJICIEBz3zfXFRd^~&pg1d#W$M$@Mx%I_M9)%Dc20bxdNwr@5QmwLg$fDuMj$CN5XN4b1m}t@Cgq?1cr1qwRnk=nX8fCVSh(um*;OAt66{U{xghaQ&_ zakPF_C-!`6(O2@VqX7QxD#M-viUP(fY4MJVH+SNk+IoTae~TR}VnkTcOR}#yJIyg7 z^N-0c)y6j{=QIV3<*;AlRr>9zR?Z-du0t(^M z5S;FTS#$hrnw~3I)PSlHNARZ{R-!@x=v(PSG$3buOWWokP*sYJ04cyfl}Qzt1NeF8 z6>S%KE;;mJ(2r_pjf{t;)%WIrL`!Zn_j**qAiVO#cBzDNZroS}$29bf6}p`Fq{fJ% n+UuNgoM4KBAYDa-RbAZd9ctgx*RbNNkf!4uz$YfNY-j)3L4NGU diff --git a/SGGL/FineUIPro.Web/FileUpload/SuperviseCheckReport/202104200238232079~微信图片_20210416093321.jpg b/SGGL/FineUIPro.Web/FileUpload/SuperviseCheckReport/202104200238232079~微信图片_20210416093321.jpg deleted file mode 100644 index 347674a039ea34e6186c19de55ccdf1a7a3373f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177889 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 diff --git a/SGGL/FineUIPro.Web/FileUpload/SuperviseCheckReport/202104200426019004~微信图片_20210416093321.jpg b/SGGL/FineUIPro.Web/FileUpload/SuperviseCheckReport/202104200426019004~微信图片_20210416093321.jpg deleted file mode 100644 index 347674a039ea34e6186c19de55ccdf1a7a3373f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177889 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 diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj index 916e9e75..2dc44065 100644 --- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj +++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj @@ -1106,6 +1106,17 @@ + + + + + + + + + + + @@ -1113,6 +1124,11 @@ + + + + + @@ -11592,6 +11608,83 @@ index.aspx + + ElectricalCompletion.aspx + ASPXCodeBehind + + + ElectricalCompletion.aspx + + + ElectricalCompletionIn.aspx + ASPXCodeBehind + + + ElectricalCompletionIn.aspx + + + EquipmentCompletion.aspx + ASPXCodeBehind + + + EquipmentCompletion.aspx + + + EquipmentCompletionIn.aspx + ASPXCodeBehind + + + EquipmentCompletionIn.aspx + + + MeterCompletion.aspx + ASPXCodeBehind + + + MeterCompletion.aspx + + + MeterCompletionIn.aspx + ASPXCodeBehind + + + MeterCompletionIn.aspx + + + PipelineCompletion.aspx + ASPXCodeBehind + + + PipelineCompletion.aspx + + + PipelineCompletionIn.aspx + ASPXCodeBehind + + + PipelineCompletionIn.aspx + + + ProgressCompletion.aspx + ASPXCodeBehind + + + ProgressCompletion.aspx + + + ProgressCompletionEdit.aspx + ASPXCodeBehind + + + ProgressCompletionEdit.aspx + + + ProgressCompletionView.aspx + ASPXCodeBehind + + + ProgressCompletionView.aspx + ProgressShow.aspx ASPXCodeBehind @@ -11641,6 +11734,41 @@ QuantityListView.aspx + + SteelStructureCompletion.aspx + ASPXCodeBehind + + + SteelStructureCompletion.aspx + + + SteelStructureCompletionIn.aspx + ASPXCodeBehind + + + SteelStructureCompletionIn.aspx + + + TotalCompletion.aspx + ASPXCodeBehind + + + TotalCompletion.aspx + + + UndergroundPipeCompletion.aspx + ASPXCodeBehind + + + UndergroundPipeCompletion.aspx + + + UndergroundPipeCompletionIn.aspx + ASPXCodeBehind + + + UndergroundPipeCompletionIn.aspx + EarnedValueCurve.aspx ASPXCodeBehind diff --git a/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageAudit.aspx b/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageAudit.aspx index 1a7feb58..4d19f775 100644 --- a/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageAudit.aspx +++ b/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageAudit.aspx @@ -106,7 +106,7 @@ - - + - /// Label2 控件。 + /// lbCheckManNames 控件。 /// /// /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::System.Web.UI.WebControls.Label Label2; + protected global::System.Web.UI.WebControls.Label lbCheckManNames; /// /// ToolbarSeparator1 控件。 diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx index 8583f374..929300ed 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx @@ -41,6 +41,12 @@ + + + + + + diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx.cs b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx.cs index 6d3b07b2..ca9ca9d9 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx.cs @@ -99,6 +99,7 @@ namespace FineUIPro.Web.HSSE.HiddenInspection this.drpWorkArea.SelectedValue = BLL.Const._Null; this.drpResponsibleMan.SelectedValue = BLL.Const._Null; } + this.txtRequirements.Text = registration.Requirements; if (!string.IsNullOrEmpty(registration.Place)) { this.drpWorkArea.SelectedValue = registration.Place; @@ -223,6 +224,7 @@ namespace FineUIPro.Web.HSSE.HiddenInspection register.Place = this.drpWorkArea.SelectedValue; } register.RegisterDef = this.txtRegisterDef.Text.Trim(); + register.Requirements = this.txtRequirements.Text.Trim(); if (this.drpResponsibleMan.SelectedValue != BLL.Const._Null) { register.ResponsibleMan = this.drpResponsibleMan.SelectedValue; diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx.designer.cs index de3f5e73..12428760 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationAdd.aspx.designer.cs @@ -84,6 +84,15 @@ namespace FineUIPro.Web.HSSE.HiddenInspection { /// protected global::FineUIPro.TextArea txtRegisterDef; + /// + /// txtRequirements 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtRequirements; + /// /// txtHandleIdea 控件。 /// diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx index dfb721ae..d6da7aa0 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx @@ -36,6 +36,12 @@ + + + + + + diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.cs b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.cs index bc1929d7..50c310fa 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.cs @@ -74,6 +74,7 @@ namespace FineUIPro.Web.HSSE.HiddenInspection this.txtUnitName.Text = registration.ResponsibilityUnitName; this.txtWorkAreaName.Text = registration.WorkAreaName; this.txtRegisterTypesName.Text = registration.RegisterTypesName; + this.txtRequirements.Text = registration.Requirements; if (registration.CheckCycle == "D") { this.txtType.Text = "日检"; diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.designer.cs index 5f41b77d..a7ef3140 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.designer.cs @@ -84,6 +84,15 @@ namespace FineUIPro.Web.HSSE.HiddenInspection { /// protected global::FineUIPro.TextArea txtRegisterDef; + /// + /// txtRequirements 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtRequirements; + /// /// txtOldHandleIdea 控件。 /// diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationList.aspx b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationList.aspx index 1862a6d2..118df487 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationList.aspx +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationList.aspx @@ -106,6 +106,9 @@ + + @@ -163,7 +166,7 @@ + + + + + + diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationRectify.aspx.cs b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationRectify.aspx.cs index 364c55ab..1c27b076 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationRectify.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationRectify.aspx.cs @@ -78,6 +78,7 @@ namespace FineUIPro.Web.HiddenInspection this.txtUnitName.Text = registration.ResponsibilityUnitName; this.txtWorkAreaName.Text = registration.WorkAreaName; this.txtRegisterTypesName.Text = registration.RegisterTypesName; + this.txtRequirements.Text = registration.Requirements; if (registration.CheckCycle == "D") { this.txtType.Text = "日检"; diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationRectify.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationRectify.aspx.designer.cs index 74167574..c78a6b51 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationRectify.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationRectify.aspx.designer.cs @@ -84,6 +84,15 @@ namespace FineUIPro.Web.HiddenInspection { /// protected global::FineUIPro.TextArea txtRegisterDef; + /// + /// txtRequirements 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtRequirements; + /// /// txtHandleIdea 控件。 /// diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx index 074e795a..7f59a221 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx @@ -33,6 +33,12 @@ + + + + + + diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx.cs b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx.cs index cd0814dc..af76b8cd 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx.cs @@ -74,6 +74,7 @@ namespace FineUIPro.Web.HSSE.HiddenInspection this.txtWorkAreaName.Text = registration.WorkAreaName; this.txtResponsibilityUnitName.Text = registration.ResponsibilityUnitName; this.txtRegisterTypesName.Text = registration.RegisterTypesName; + this.txtRequirements.Text = registration.Requirements; this.txtProblemDescription.Text = registration.RegisterDef; this.txtTakeSteps.Text = registration.Rectification; this.txtResponsibilityManName.Text = registration.ResponsibilityManName; diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx.designer.cs index 825acb98..b5017973 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationView.aspx.designer.cs @@ -75,6 +75,15 @@ namespace FineUIPro.Web.HSSE.HiddenInspection { /// protected global::FineUIPro.TextArea txtProblemDescription; + /// + /// txtRequirements 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtRequirements; + /// /// txtTakeSteps 控件。 /// diff --git a/SGGL/FineUIPro.Web/Images/Export.gif b/SGGL/FineUIPro.Web/Images/Export.gif new file mode 100644 index 0000000000000000000000000000000000000000..f543ebbe333a9b36cab5c9d54d1a4f34ef5ff630 GIT binary patch literal 678 zcmV;X0$Ke>Nk%w1VMzcK0M!5h|NsC0{{a60|Nj600RR60{{R30{{R300A&CGV*mhR z003bC0AK(BUjP7J003P809*h7SpWb>03ER%A+{e9q6rkE3KpjeIJY8G#VT#tM^nWq zR>>=G+D2o`GRpld`S|$u_4V@c@$vBR(a_M(&d#*6v;O}6{r&y?{QUd-`}+F&`T6hFEBCVM2^KVn5MV-u4Grp*~KUeF*yjH$_EO`0Fiip81L#5aEmy@H)c_uoT@3GeEy`>*0fe&OKBMS8C=y>ayr zA69I*qCO%qRt$4CcmcM{&Z0>pi@BJ#72Qn0ShV64tjfDmt6sgjw2BnJUffYco3?`h z6fSU3P`kJ9-@tz2@z)iA!x8bfdT}BqD!BS;>-vWJ4(n9*SNd)@83h*$N|NP M`Sa+}3kd=MI~E5@lmGw# literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx new file mode 100644 index 00000000..d64aa7df --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx @@ -0,0 +1,87 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ElectricalCompletion.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.ElectricalCompletion" %> + + + + + +电气完成情况 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx.cs new file mode 100644 index 00000000..dacbbf01 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Data; +using System.Data.SqlClient; +using BLL; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class ElectricalCompletion : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + //GetButtonPower(); + BindGrid(); + } + } + + #region 获取按钮权限 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + if (Request.Params["value"] == BLL.Const._Null) + { + return; + } + var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ElectricalCompletionMenuId); + if (buttonList.Count() > 0) + { + if (buttonList.Contains(BLL.Const.BtnSave)) + { + } + } + } + #endregion + + /// + /// 加载Grid + /// + private void BindGrid() + { + string strSql = @"select * + from dbo.View_JDGL_ElectricalCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + + #region 月份选择事件 + /// + /// 月份选择事件 + /// + /// + /// + protected void txtMonths_TextChanged(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 导入 + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ElectricalCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 关闭导入弹出窗口 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx.designer.cs new file mode 100644 index 00000000..da37c30e --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletion.aspx.designer.cs @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class ElectricalCompletion { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx new file mode 100644 index 00000000..8d763a3d --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx @@ -0,0 +1,98 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ElectricalCompletionIn.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.ElectricalCompletionIn" %> + + + + + +导入信息 + + + +
+ + + + + + + + + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<%-- + + + + + --%> + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx.cs new file mode 100644 index 00000000..29c5180a --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx.cs @@ -0,0 +1,553 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.OleDb; +using System.IO; +using System.Linq; +using System.Web.UI; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class ElectricalCompletionIn : PageBase + { + #region 定义变量 + /// + /// 上传预设的虚拟路径 + /// + private string initPath = Const.ExcelUrl; + + /// + /// 人员集合 + /// + public static List electricalCompletions = new List(); + + /// + /// 错误集合 + /// + public static string errorInfos = string.Empty; + + /// + /// 项目ID + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + #endregion + + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.hdFileName.Text = string.Empty; + this.hdCheckResult.Text = string.Empty; + if (electricalCompletions != null) + { + electricalCompletions.Clear(); + } + errorInfos = string.Empty; + this.ProjectId = Request.Params["ProjectId"]; + } + } + #endregion + + #region 审核 + /// + /// 审核 + /// + /// + /// + protected void btnAudit_Click(object sender, EventArgs e) + { + try + { + if (this.fuAttachUrl.HasFile == false) + { + ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning); + return; + } + string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls") + { + ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning); + return; + } + if (electricalCompletions != null) + { + electricalCompletions.Clear(); + } + if (!string.IsNullOrEmpty(errorInfos)) + { + errorInfos = string.Empty; + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + if (!Directory.Exists(initFullPath)) + { + Directory.CreateDirectory(initFullPath); + } + + this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls; + string filePath = initFullPath + this.hdFileName.Text; + this.fuAttachUrl.PostedFile.SaveAs(filePath); + //PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonDataAudit.aspx?FileName={0}&ProjectId={1}", this.hdFileName.Text, Request.Params["ProjectId"], "审核 - "))); + ImportXlsToData(rootPath + initPath + this.hdFileName.Text); + } + catch (Exception ex) + { + ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning); + } + } + + #region 读Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL(ds.Tables[0], 5); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集行数 + /// + private bool AddDatasetToSQL(DataTable pds, int Cols) + { + string result = string.Empty; + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "行", MessageBoxIcon.Warning); + } + ir = pds.Rows.Count; + var units = from x in Funs.DB.Base_Unit + select x; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + string col0 = pds.Rows[i][0].ToString().Trim(); + if (!string.IsNullOrEmpty(col0)) + { + var unit = units.FirstOrDefault(e => e.UnitName == col0); + if (unit != null) + { + var projectUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == unit.UnitId); + if (projectUnit == null) + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在本项目中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在单位表中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "此项为必填项!" + "|"; + } + + string col1 = pds.Rows[i][1].ToString().Trim(); + if (string.IsNullOrEmpty(col1)) + { + result += "第" + (i + 2).ToString() + "行," + "工作项" + "," + "此项为必填项!" + "|"; + } + + string col2 = pds.Rows[i][2].ToString().Trim(); + if (string.IsNullOrEmpty(col2)) + { + result += "第" + (i + 2).ToString() + "行," + "单位" + "," + "此项为必填项!" + "|"; + } + + string col3 = pds.Rows[i][3].ToString().Trim(); + if (!string.IsNullOrEmpty(col3)) + { + try + { + decimal dec = Convert.ToDecimal(col3); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "工程量" + "," + "[" + col3 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "工程量" + "," + "此项为必填项!" + "|"; + } + + string col4 = pds.Rows[i][4].ToString().Trim(); + if (!string.IsNullOrEmpty(col4)) + { + try + { + decimal dec = Convert.ToDecimal(col4); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "本期完成量" + "," + "[" + col4 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "本期完成量" + "," + "此项为必填项!" + "|"; + } + } + if (!string.IsNullOrEmpty(result)) + { + result = result.Substring(0, result.LastIndexOf("|")); + errorInfos = result; + Alert alert = new Alert + { + Message = result, + Target = Target.Self + }; + alert.Show(); + + + } + else + { + errorInfos = string.Empty; + ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 导入 + /// + /// 导入 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(errorInfos)) + { + if (!string.IsNullOrEmpty(this.hdFileName.Text)) + { + string rootPath = Server.MapPath("~/"); + ImportXlsToData2(rootPath + initPath + this.hdFileName.Text); + } + else + { + ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning); + } + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + + #region Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData2(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL2(ds.Tables[0], 5); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集列数 + /// + private bool AddDatasetToSQL2(DataTable pds, int Cols) + { + int ic, ir; + electricalCompletions.Clear(); + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + } + var units = from x in Funs.DB.Base_Unit + select x; + ir = pds.Rows.Count; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + Model.View_JDGL_ElectricalCompletion electricalCompletion = new Model.View_JDGL_ElectricalCompletion(); + string col0 = pds.Rows[i][0].ToString().Trim(); + string col1 = pds.Rows[i][1].ToString().Trim(); + string col2 = pds.Rows[i][2].ToString().Trim(); + string col3 = pds.Rows[i][3].ToString().Trim(); + string col4 = pds.Rows[i][4].ToString().Trim(); + if (!string.IsNullOrEmpty(col0))//施工单位 + { + var unit = units.FirstOrDefault(x => x.UnitName == col0); + if (unit != null) + { + electricalCompletion.UnitId = unit.UnitId; + electricalCompletion.UnitName = unit.UnitName; + } + } + electricalCompletion.Name = col1; + electricalCompletion.Unit = col2; + if (!string.IsNullOrEmpty(col3))//工程量 + { + electricalCompletion.TotalNum = Funs.GetNewDecimalOrZero(col3); + } + if (!string.IsNullOrEmpty(col4))//本期完成量 + { + electricalCompletion.ThisNum = Funs.GetNewDecimalOrZero(col4); + } + electricalCompletion.ElectricalCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_ElectricalCompletion)); + electricalCompletions.Add(electricalCompletion); + } + if (electricalCompletions.Count > 0) + { + this.Grid1.Hidden = false; + this.Grid1.DataSource = electricalCompletions; + this.Grid1.DataBind(); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 保存 + /// + /// 保存 + /// + /// + /// + protected void btnSave_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) || string.IsNullOrEmpty(this.txtEndDate.Text.Trim())) + { + ShowNotify("请选择开始、结束日期!", MessageBoxIcon.Warning); + return; + } + if (string.IsNullOrEmpty(errorInfos)) + { + var electricalCompletionLists = from x in Funs.DB.JDGL_ElectricalCompletion where x.ProjectId == this.ProjectId select x; + int a = electricalCompletions.Count(); + DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); + DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); + for (int i = 0; i < a; i++) + { + var oldElectricalCompletion = electricalCompletionLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == electricalCompletions[i].UnitId && x.Name == electricalCompletions[i].Name && x.StartDate == startDate && x.EndDate == endDate); + if (oldElectricalCompletion == null) + { + Model.JDGL_ElectricalCompletion newElectricalCompletion = new Model.JDGL_ElectricalCompletion(); + newElectricalCompletion.ElectricalCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_ElectricalCompletion)); + newElectricalCompletion.ProjectId = this.ProjectId; + newElectricalCompletion.UnitId = electricalCompletions[i].UnitId; + newElectricalCompletion.Name = electricalCompletions[i].Name; + newElectricalCompletion.Unit = electricalCompletions[i].Unit; + newElectricalCompletion.TotalNum = electricalCompletions[i].TotalNum; + newElectricalCompletion.ThisNum = electricalCompletions[i].ThisNum; + newElectricalCompletion.CompileMan = this.CurrUser.UserId; + newElectricalCompletion.CompileDate = DateTime.Now; + newElectricalCompletion.StartDate = startDate; + newElectricalCompletion.EndDate = endDate; + BLL.ElectricalCompletionService.AddElectricalCompletion(newElectricalCompletion); + } + else + { + oldElectricalCompletion.TotalNum = electricalCompletions[i].TotalNum; + oldElectricalCompletion.ThisNum = electricalCompletions[i].ThisNum; + BLL.ElectricalCompletionService.UpdateElectricalCompletion(oldElectricalCompletion); + } + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + string filePath = initFullPath + this.hdFileName.Text; + if (filePath != string.Empty && System.IO.File.Exists(filePath)) + { + System.IO.File.Delete(filePath);//删除上传的XLS文件 + } + ShowNotify("导入成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + #endregion + + #region 导出错误提示 + /// + /// 导出错误提示 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + //string strFileName = DateTime.Now.ToString("yyyyMMdd-hhmmss"); + //System.Web.HttpContext HC = System.Web.HttpContext.Current; + //HC.Response.Clear(); + //HC.Response.Buffer = true; + //HC.Response.ContentEncoding = System.Text.Encoding.UTF8;//设置输出流为简体中文 + + ////---导出为Excel文件 + //HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls"); + //HC.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 + + //System.IO.StringWriter sw = new System.IO.StringWriter(); + //System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); + //this.gvErrorInfo.RenderControl(htw); + //HC.Response.Write(sw.ToString()); + //HC.Response.End(); + } + + /// + /// 重载VerifyRenderingInServerForm方法,否则运行的时候会出现如下错误提示:“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内” + /// + /// + public override void VerifyRenderingInServerForm(Control control) + { + } + #endregion + + #region 下载模板 + /// + /// 下载模板按钮 + /// + /// + /// + protected void btnDownLoad_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + /// + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.ElectricalCompletionTemplateUrl; + string filePath = Const.ElectricalCompletionTemplateUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx.designer.cs new file mode 100644 index 00000000..22e6630c --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ElectricalCompletionIn.aspx.designer.cs @@ -0,0 +1,150 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class ElectricalCompletionIn { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtStartDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStartDate; + + /// + /// txtEndDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndDate; + + /// + /// btnAudit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAudit; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// btnDownLoad 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDownLoad; + + /// + /// fuAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.FileUpload fuAttachUrl; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Label2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label2; + + /// + /// hdFileName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdFileName; + + /// + /// hdCheckResult 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckResult; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx new file mode 100644 index 00000000..a68f4998 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx @@ -0,0 +1,73 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EquipmentCompletion.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.EquipmentCompletion" %> + + + + + +设备完成情况 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx.cs new file mode 100644 index 00000000..9e44f123 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Data; +using System.Data.SqlClient; +using BLL; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class EquipmentCompletion : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + //GetButtonPower(); + BindGrid(); + } + } + + #region 获取按钮权限 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + if (Request.Params["value"] == BLL.Const._Null) + { + return; + } + var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.EquipmentCompletionMenuId); + if (buttonList.Count() > 0) + { + if (buttonList.Contains(BLL.Const.BtnSave)) + { + } + } + } + #endregion + + /// + /// 加载Grid + /// + private void BindGrid() + { + string strSql = @"select * + from dbo.View_JDGL_EquipmentCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + + #region 月份选择事件 + /// + /// 月份选择事件 + /// + /// + /// + protected void txtMonths_TextChanged(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 导入 + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("EquipmentCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 关闭导入弹出窗口 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx.designer.cs new file mode 100644 index 00000000..c99beec5 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletion.aspx.designer.cs @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class EquipmentCompletion { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx new file mode 100644 index 00000000..577dab1c --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx @@ -0,0 +1,95 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EquipmentCompletionIn.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.EquipmentCompletionIn" %> + + + + + +导入信息 + + + +
+ + + + + + + + + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<%-- + + + + + --%> + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx.cs new file mode 100644 index 00000000..d3636543 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx.cs @@ -0,0 +1,559 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.OleDb; +using System.IO; +using System.Linq; +using System.Web.UI; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class EquipmentCompletionIn : PageBase + { + #region 定义变量 + /// + /// 上传预设的虚拟路径 + /// + private string initPath = Const.ExcelUrl; + + /// + /// 人员集合 + /// + public static List equipmentCompletions = new List(); + + /// + /// 错误集合 + /// + public static string errorInfos = string.Empty; + + /// + /// 项目ID + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + #endregion + + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.hdFileName.Text = string.Empty; + this.hdCheckResult.Text = string.Empty; + if (equipmentCompletions != null) + { + equipmentCompletions.Clear(); + } + errorInfos = string.Empty; + this.ProjectId = Request.Params["ProjectId"]; + } + } + #endregion + + #region 审核 + /// + /// 审核 + /// + /// + /// + protected void btnAudit_Click(object sender, EventArgs e) + { + try + { + if (this.fuAttachUrl.HasFile == false) + { + ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning); + return; + } + string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls") + { + ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning); + return; + } + if (equipmentCompletions != null) + { + equipmentCompletions.Clear(); + } + if (!string.IsNullOrEmpty(errorInfos)) + { + errorInfos = string.Empty; + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + if (!Directory.Exists(initFullPath)) + { + Directory.CreateDirectory(initFullPath); + } + + this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls; + string filePath = initFullPath + this.hdFileName.Text; + this.fuAttachUrl.PostedFile.SaveAs(filePath); + //PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonDataAudit.aspx?FileName={0}&ProjectId={1}", this.hdFileName.Text, Request.Params["ProjectId"], "审核 - "))); + ImportXlsToData(rootPath + initPath + this.hdFileName.Text); + } + catch (Exception ex) + { + ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning); + } + } + + #region 读Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL(ds.Tables[0], 4); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集行数 + /// + private bool AddDatasetToSQL(DataTable pds, int Cols) + { + string result = string.Empty; + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "行", MessageBoxIcon.Warning); + } + ir = pds.Rows.Count; + var units = from x in Funs.DB.Base_Unit + select x; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + string col0 = pds.Rows[i][0].ToString().Trim(); + if (!string.IsNullOrEmpty(col0)) + { + var unit = units.FirstOrDefault(e => e.UnitName == col0); + if (unit != null) + { + var projectUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == unit.UnitId); + if (projectUnit == null) + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在本项目中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在单位表中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "此项为必填项!" + "|"; + } + + string col1 = pds.Rows[i][1].ToString().Trim(); + if (!string.IsNullOrEmpty(col1)) + { + try + { + decimal dec = Convert.ToDecimal(col1); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "设备总数" + "," + "[" + col1 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "设备总数" + "," + "此项为必填项!" + "|"; + } + + string col2 = pds.Rows[i][2].ToString().Trim(); + if (!string.IsNullOrEmpty(col2)) + { + try + { + decimal dec = Convert.ToDecimal(col2); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "已到场数量" + "," + "[" + col2 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "已到场数量" + "," + "此项为必填项!" + "|"; + } + + string col3 = pds.Rows[i][3].ToString().Trim(); + if (!string.IsNullOrEmpty(col3)) + { + try + { + decimal dec = Convert.ToDecimal(col3); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "本期安装就位数量" + "," + "[" + col3 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "本期安装就位数量" + "," + "此项为必填项!" + "|"; + } + } + if (!string.IsNullOrEmpty(result)) + { + result = result.Substring(0, result.LastIndexOf("|")); + errorInfos = result; + Alert alert = new Alert + { + Message = result, + Target = Target.Self + }; + alert.Show(); + + + } + else + { + errorInfos = string.Empty; + ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 导入 + /// + /// 导入 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(errorInfos)) + { + if (!string.IsNullOrEmpty(this.hdFileName.Text)) + { + string rootPath = Server.MapPath("~/"); + ImportXlsToData2(rootPath + initPath + this.hdFileName.Text); + } + else + { + ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning); + } + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + + #region Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData2(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL2(ds.Tables[0], 4); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集列数 + /// + private bool AddDatasetToSQL2(DataTable pds, int Cols) + { + int ic, ir; + equipmentCompletions.Clear(); + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + } + var units = from x in Funs.DB.Base_Unit + select x; + ir = pds.Rows.Count; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + Model.View_JDGL_EquipmentCompletion equipmentCompletion = new Model.View_JDGL_EquipmentCompletion(); + string col0 = pds.Rows[i][0].ToString().Trim(); + string col1 = pds.Rows[i][1].ToString().Trim(); + string col2 = pds.Rows[i][2].ToString().Trim(); + string col3 = pds.Rows[i][3].ToString().Trim(); + if (!string.IsNullOrEmpty(col0))//施工单位 + { + var unit = units.FirstOrDefault(x => x.UnitName == col0); + if (unit != null) + { + equipmentCompletion.UnitId = unit.UnitId; + equipmentCompletion.UnitName = unit.UnitName; + } + } + if (!string.IsNullOrEmpty(col1))//设备总数 + { + equipmentCompletion.TotalNum = Funs.GetNewDecimalOrZero(col1); + } + if (!string.IsNullOrEmpty(col2))//已到场数量 + { + equipmentCompletion.ArrivalNum = Funs.GetNewDecimalOrZero(col2); + } + if (!string.IsNullOrEmpty(col3))//本期安装就位数量 + { + equipmentCompletion.ThisNum = Funs.GetNewDecimalOrZero(col3); + } + equipmentCompletion.EquipmentCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_EquipmentCompletion)); + equipmentCompletions.Add(equipmentCompletion); + } + if (equipmentCompletions.Count > 0) + { + this.Grid1.Hidden = false; + this.Grid1.DataSource = equipmentCompletions; + this.Grid1.DataBind(); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 保存 + /// + /// 保存 + /// + /// + /// + protected void btnSave_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) || string.IsNullOrEmpty(this.txtEndDate.Text.Trim())) + { + ShowNotify("请选择开始、结束日期!", MessageBoxIcon.Warning); + return; + } + if (string.IsNullOrEmpty(errorInfos)) + { + var equipmentCompletionLists = from x in Funs.DB.JDGL_EquipmentCompletion where x.ProjectId == this.ProjectId select x; + int a = equipmentCompletions.Count(); + DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); + DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); + for (int i = 0; i < a; i++) + { + var oldEquipmentCompletion = equipmentCompletionLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == equipmentCompletions[i].UnitId && x.StartDate == startDate && x.EndDate == endDate); + if (oldEquipmentCompletion == null) + { + Model.JDGL_EquipmentCompletion newEquipmentCompletion = new Model.JDGL_EquipmentCompletion(); + newEquipmentCompletion.EquipmentCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_EquipmentCompletion)); + newEquipmentCompletion.ProjectId = this.ProjectId; + newEquipmentCompletion.UnitId = equipmentCompletions[i].UnitId; + newEquipmentCompletion.TotalNum = equipmentCompletions[i].TotalNum; + newEquipmentCompletion.ArrivalNum = equipmentCompletions[i].ArrivalNum; + newEquipmentCompletion.ThisNum = equipmentCompletions[i].ThisNum; + newEquipmentCompletion.CompileMan = this.CurrUser.UserId; + newEquipmentCompletion.CompileDate = DateTime.Now; + newEquipmentCompletion.StartDate = startDate; + newEquipmentCompletion.EndDate = endDate; + BLL.EquipmentCompletionService.AddEquipmentCompletion(newEquipmentCompletion); + } + else + { + oldEquipmentCompletion.TotalNum = equipmentCompletions[i].TotalNum; + oldEquipmentCompletion.ArrivalNum = equipmentCompletions[i].ArrivalNum; + oldEquipmentCompletion.ThisNum = equipmentCompletions[i].ThisNum; + BLL.EquipmentCompletionService.UpdateEquipmentCompletion(oldEquipmentCompletion); + } + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + string filePath = initFullPath + this.hdFileName.Text; + if (filePath != string.Empty && System.IO.File.Exists(filePath)) + { + System.IO.File.Delete(filePath);//删除上传的XLS文件 + } + ShowNotify("导入成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + #endregion + + #region 导出错误提示 + /// + /// 导出错误提示 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + //string strFileName = DateTime.Now.ToString("yyyyMMdd-hhmmss"); + //System.Web.HttpContext HC = System.Web.HttpContext.Current; + //HC.Response.Clear(); + //HC.Response.Buffer = true; + //HC.Response.ContentEncoding = System.Text.Encoding.UTF8;//设置输出流为简体中文 + + ////---导出为Excel文件 + //HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls"); + //HC.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 + + //System.IO.StringWriter sw = new System.IO.StringWriter(); + //System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); + //this.gvErrorInfo.RenderControl(htw); + //HC.Response.Write(sw.ToString()); + //HC.Response.End(); + } + + /// + /// 重载VerifyRenderingInServerForm方法,否则运行的时候会出现如下错误提示:“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内” + /// + /// + public override void VerifyRenderingInServerForm(Control control) + { + } + #endregion + + #region 下载模板 + /// + /// 下载模板按钮 + /// + /// + /// + protected void btnDownLoad_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + /// + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.EquipmentCompletionTemplateUrl; + string filePath = Const.EquipmentCompletionTemplateUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx.designer.cs new file mode 100644 index 00000000..a458586c --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/EquipmentCompletionIn.aspx.designer.cs @@ -0,0 +1,150 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class EquipmentCompletionIn { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtStartDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStartDate; + + /// + /// txtEndDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndDate; + + /// + /// btnAudit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAudit; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// btnDownLoad 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDownLoad; + + /// + /// fuAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.FileUpload fuAttachUrl; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Label2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label2; + + /// + /// hdFileName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdFileName; + + /// + /// hdCheckResult 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckResult; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx new file mode 100644 index 00000000..8ecfbef2 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx @@ -0,0 +1,87 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MeterCompletion.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.MeterCompletion" %> + + + + + +仪表完成情况 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx.cs new file mode 100644 index 00000000..106f11e2 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Data; +using System.Data.SqlClient; +using BLL; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class MeterCompletion : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + //GetButtonPower(); + BindGrid(); + } + } + + #region 获取按钮权限 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + if (Request.Params["value"] == BLL.Const._Null) + { + return; + } + var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.MeterCompletionMenuId); + if (buttonList.Count() > 0) + { + if (buttonList.Contains(BLL.Const.BtnSave)) + { + } + } + } + #endregion + + /// + /// 加载Grid + /// + private void BindGrid() + { + string strSql = @"select * + from dbo.View_JDGL_MeterCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + + #region 月份选择事件 + /// + /// 月份选择事件 + /// + /// + /// + protected void txtMonths_TextChanged(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 导入 + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MeterCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 关闭导入弹出窗口 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx.designer.cs new file mode 100644 index 00000000..82adb0e1 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletion.aspx.designer.cs @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class MeterCompletion { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx new file mode 100644 index 00000000..afc9135c --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx @@ -0,0 +1,98 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MeterCompletionIn.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.MeterCompletionIn" %> + + + + + +导入信息 + + + +
+ + + + + + + + + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<%-- + + + + + --%> + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx.cs new file mode 100644 index 00000000..87edc017 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx.cs @@ -0,0 +1,553 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.OleDb; +using System.IO; +using System.Linq; +using System.Web.UI; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class MeterCompletionIn : PageBase + { + #region 定义变量 + /// + /// 上传预设的虚拟路径 + /// + private string initPath = Const.ExcelUrl; + + /// + /// 人员集合 + /// + public static List meterCompletions = new List(); + + /// + /// 错误集合 + /// + public static string errorInfos = string.Empty; + + /// + /// 项目ID + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + #endregion + + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.hdFileName.Text = string.Empty; + this.hdCheckResult.Text = string.Empty; + if (meterCompletions != null) + { + meterCompletions.Clear(); + } + errorInfos = string.Empty; + this.ProjectId = Request.Params["ProjectId"]; + } + } + #endregion + + #region 审核 + /// + /// 审核 + /// + /// + /// + protected void btnAudit_Click(object sender, EventArgs e) + { + try + { + if (this.fuAttachUrl.HasFile == false) + { + ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning); + return; + } + string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls") + { + ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning); + return; + } + if (meterCompletions != null) + { + meterCompletions.Clear(); + } + if (!string.IsNullOrEmpty(errorInfos)) + { + errorInfos = string.Empty; + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + if (!Directory.Exists(initFullPath)) + { + Directory.CreateDirectory(initFullPath); + } + + this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls; + string filePath = initFullPath + this.hdFileName.Text; + this.fuAttachUrl.PostedFile.SaveAs(filePath); + //PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonDataAudit.aspx?FileName={0}&ProjectId={1}", this.hdFileName.Text, Request.Params["ProjectId"], "审核 - "))); + ImportXlsToData(rootPath + initPath + this.hdFileName.Text); + } + catch (Exception ex) + { + ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning); + } + } + + #region 读Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL(ds.Tables[0], 5); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集行数 + /// + private bool AddDatasetToSQL(DataTable pds, int Cols) + { + string result = string.Empty; + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "行", MessageBoxIcon.Warning); + } + ir = pds.Rows.Count; + var units = from x in Funs.DB.Base_Unit + select x; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + string col0 = pds.Rows[i][0].ToString().Trim(); + if (!string.IsNullOrEmpty(col0)) + { + var unit = units.FirstOrDefault(e => e.UnitName == col0); + if (unit != null) + { + var projectUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == unit.UnitId); + if (projectUnit == null) + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在本项目中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在单位表中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "此项为必填项!" + "|"; + } + + string col1 = pds.Rows[i][1].ToString().Trim(); + if (string.IsNullOrEmpty(col1)) + { + result += "第" + (i + 2).ToString() + "行," + "工作项" + "," + "此项为必填项!" + "|"; + } + + string col2 = pds.Rows[i][2].ToString().Trim(); + if (string.IsNullOrEmpty(col2)) + { + result += "第" + (i + 2).ToString() + "行," + "单位" + "," + "此项为必填项!" + "|"; + } + + string col3 = pds.Rows[i][3].ToString().Trim(); + if (!string.IsNullOrEmpty(col3)) + { + try + { + decimal dec = Convert.ToDecimal(col3); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "工程量" + "," + "[" + col3 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "工程量" + "," + "此项为必填项!" + "|"; + } + + string col4 = pds.Rows[i][4].ToString().Trim(); + if (!string.IsNullOrEmpty(col4)) + { + try + { + decimal dec = Convert.ToDecimal(col4); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "本期完成量" + "," + "[" + col4 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "本期完成量" + "," + "此项为必填项!" + "|"; + } + } + if (!string.IsNullOrEmpty(result)) + { + result = result.Substring(0, result.LastIndexOf("|")); + errorInfos = result; + Alert alert = new Alert + { + Message = result, + Target = Target.Self + }; + alert.Show(); + + + } + else + { + errorInfos = string.Empty; + ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 导入 + /// + /// 导入 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(errorInfos)) + { + if (!string.IsNullOrEmpty(this.hdFileName.Text)) + { + string rootPath = Server.MapPath("~/"); + ImportXlsToData2(rootPath + initPath + this.hdFileName.Text); + } + else + { + ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning); + } + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + + #region Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData2(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL2(ds.Tables[0], 5); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集列数 + /// + private bool AddDatasetToSQL2(DataTable pds, int Cols) + { + int ic, ir; + meterCompletions.Clear(); + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + } + var units = from x in Funs.DB.Base_Unit + select x; + ir = pds.Rows.Count; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + Model.View_JDGL_MeterCompletion meterCompletion = new Model.View_JDGL_MeterCompletion(); + string col0 = pds.Rows[i][0].ToString().Trim(); + string col1 = pds.Rows[i][1].ToString().Trim(); + string col2 = pds.Rows[i][2].ToString().Trim(); + string col3 = pds.Rows[i][3].ToString().Trim(); + string col4 = pds.Rows[i][4].ToString().Trim(); + if (!string.IsNullOrEmpty(col0))//施工单位 + { + var unit = units.FirstOrDefault(x => x.UnitName == col0); + if (unit != null) + { + meterCompletion.UnitId = unit.UnitId; + meterCompletion.UnitName = unit.UnitName; + } + } + meterCompletion.Name = col1; + meterCompletion.Unit = col2; + if (!string.IsNullOrEmpty(col3))//工程量 + { + meterCompletion.TotalNum = Funs.GetNewDecimalOrZero(col3); + } + if (!string.IsNullOrEmpty(col4))//本期完成量 + { + meterCompletion.ThisNum = Funs.GetNewDecimalOrZero(col4); + } + meterCompletion.MeterCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_MeterCompletion)); + meterCompletions.Add(meterCompletion); + } + if (meterCompletions.Count > 0) + { + this.Grid1.Hidden = false; + this.Grid1.DataSource = meterCompletions; + this.Grid1.DataBind(); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 保存 + /// + /// 保存 + /// + /// + /// + protected void btnSave_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) || string.IsNullOrEmpty(this.txtEndDate.Text.Trim())) + { + ShowNotify("请选择开始、结束日期!", MessageBoxIcon.Warning); + return; + } + if (string.IsNullOrEmpty(errorInfos)) + { + var meterCompletionLists = from x in Funs.DB.JDGL_MeterCompletion where x.ProjectId == this.ProjectId select x; + int a = meterCompletions.Count(); + DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); + DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); + for (int i = 0; i < a; i++) + { + var oldMeterCompletion = meterCompletionLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == meterCompletions[i].UnitId && x.Name == meterCompletions[i].Name && x.StartDate == startDate && x.EndDate == endDate); + if (oldMeterCompletion == null) + { + Model.JDGL_MeterCompletion newMeterCompletion = new Model.JDGL_MeterCompletion(); + newMeterCompletion.MeterCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_MeterCompletion)); + newMeterCompletion.ProjectId = this.ProjectId; + newMeterCompletion.UnitId = meterCompletions[i].UnitId; + newMeterCompletion.Name = meterCompletions[i].Name; + newMeterCompletion.Unit = meterCompletions[i].Unit; + newMeterCompletion.TotalNum = meterCompletions[i].TotalNum; + newMeterCompletion.ThisNum = meterCompletions[i].ThisNum; + newMeterCompletion.CompileMan = this.CurrUser.UserId; + newMeterCompletion.CompileDate = DateTime.Now; + newMeterCompletion.StartDate = startDate; + newMeterCompletion.EndDate = endDate; + BLL.MeterCompletionService.AddMeterCompletion(newMeterCompletion); + } + else + { + oldMeterCompletion.TotalNum = meterCompletions[i].TotalNum; + oldMeterCompletion.ThisNum = meterCompletions[i].ThisNum; + BLL.MeterCompletionService.UpdateMeterCompletion(oldMeterCompletion); + } + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + string filePath = initFullPath + this.hdFileName.Text; + if (filePath != string.Empty && System.IO.File.Exists(filePath)) + { + System.IO.File.Delete(filePath);//删除上传的XLS文件 + } + ShowNotify("导入成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + #endregion + + #region 导出错误提示 + /// + /// 导出错误提示 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + //string strFileName = DateTime.Now.ToString("yyyyMMdd-hhmmss"); + //System.Web.HttpContext HC = System.Web.HttpContext.Current; + //HC.Response.Clear(); + //HC.Response.Buffer = true; + //HC.Response.ContentEncoding = System.Text.Encoding.UTF8;//设置输出流为简体中文 + + ////---导出为Excel文件 + //HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls"); + //HC.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 + + //System.IO.StringWriter sw = new System.IO.StringWriter(); + //System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); + //this.gvErrorInfo.RenderControl(htw); + //HC.Response.Write(sw.ToString()); + //HC.Response.End(); + } + + /// + /// 重载VerifyRenderingInServerForm方法,否则运行的时候会出现如下错误提示:“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内” + /// + /// + public override void VerifyRenderingInServerForm(Control control) + { + } + #endregion + + #region 下载模板 + /// + /// 下载模板按钮 + /// + /// + /// + protected void btnDownLoad_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + /// + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.MeterCompletionTemplateUrl; + string filePath = Const.MeterCompletionTemplateUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx.designer.cs new file mode 100644 index 00000000..7b3b545b --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/MeterCompletionIn.aspx.designer.cs @@ -0,0 +1,150 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class MeterCompletionIn { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtStartDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStartDate; + + /// + /// txtEndDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndDate; + + /// + /// btnAudit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAudit; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// btnDownLoad 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDownLoad; + + /// + /// fuAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.FileUpload fuAttachUrl; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Label2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label2; + + /// + /// hdFileName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdFileName; + + /// + /// hdCheckResult 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckResult; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx new file mode 100644 index 00000000..2e13df29 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx @@ -0,0 +1,71 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PipelineCompletion.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.PipelineCompletion" %> + + + + + +管道完成情况 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx.cs new file mode 100644 index 00000000..59490bd4 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Data; +using System.Data.SqlClient; +using BLL; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class PipelineCompletion : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + //GetButtonPower(); + BindGrid(); + } + } + + #region 获取按钮权限 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + if (Request.Params["value"] == BLL.Const._Null) + { + return; + } + var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.PipelineCompletionMenuId); + if (buttonList.Count() > 0) + { + if (buttonList.Contains(BLL.Const.BtnSave)) + { + } + } + } + #endregion + + /// + /// 加载Grid + /// + private void BindGrid() + { + string strSql = @"select * + from dbo.View_JDGL_PipelineCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + + #region 月份选择事件 + /// + /// 月份选择事件 + /// + /// + /// + protected void txtMonths_TextChanged(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 导入 + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PipelineCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 关闭导入弹出窗口 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx.designer.cs new file mode 100644 index 00000000..62c39590 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletion.aspx.designer.cs @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class PipelineCompletion { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx new file mode 100644 index 00000000..2065aaf2 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx @@ -0,0 +1,92 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PipelineCompletionIn.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.PipelineCompletionIn" %> + + + + + +导入信息 + + + +
+ + + + + + + + + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<%-- + + + + + --%> + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx.cs new file mode 100644 index 00000000..196a7bfd --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx.cs @@ -0,0 +1,535 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.OleDb; +using System.IO; +using System.Linq; +using System.Web.UI; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class PipelineCompletionIn : PageBase + { + #region 定义变量 + /// + /// 上传预设的虚拟路径 + /// + private string initPath = Const.ExcelUrl; + + /// + /// 人员集合 + /// + public static List pipelineCompletions = new List(); + + /// + /// 错误集合 + /// + public static string errorInfos = string.Empty; + + /// + /// 项目ID + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + #endregion + + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.hdFileName.Text = string.Empty; + this.hdCheckResult.Text = string.Empty; + if (pipelineCompletions != null) + { + pipelineCompletions.Clear(); + } + errorInfos = string.Empty; + this.ProjectId = Request.Params["ProjectId"]; + } + } + #endregion + + #region 审核 + /// + /// 审核 + /// + /// + /// + protected void btnAudit_Click(object sender, EventArgs e) + { + try + { + if (this.fuAttachUrl.HasFile == false) + { + ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning); + return; + } + string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls") + { + ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning); + return; + } + if (pipelineCompletions != null) + { + pipelineCompletions.Clear(); + } + if (!string.IsNullOrEmpty(errorInfos)) + { + errorInfos = string.Empty; + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + if (!Directory.Exists(initFullPath)) + { + Directory.CreateDirectory(initFullPath); + } + + this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls; + string filePath = initFullPath + this.hdFileName.Text; + this.fuAttachUrl.PostedFile.SaveAs(filePath); + //PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonDataAudit.aspx?FileName={0}&ProjectId={1}", this.hdFileName.Text, Request.Params["ProjectId"], "审核 - "))); + ImportXlsToData(rootPath + initPath + this.hdFileName.Text); + } + catch (Exception ex) + { + ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning); + } + } + + #region 读Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL(ds.Tables[0], 3); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集行数 + /// + private bool AddDatasetToSQL(DataTable pds, int Cols) + { + string result = string.Empty; + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "行", MessageBoxIcon.Warning); + } + ir = pds.Rows.Count; + var units = from x in Funs.DB.Base_Unit + select x; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + string col0 = pds.Rows[i][0].ToString().Trim(); + if (!string.IsNullOrEmpty(col0)) + { + var unit = units.FirstOrDefault(e => e.UnitName == col0); + if (unit != null) + { + var projectUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == unit.UnitId); + if (projectUnit == null) + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在本项目中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在单位表中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "此项为必填项!" + "|"; + } + + string col1 = pds.Rows[i][1].ToString().Trim(); + if (!string.IsNullOrEmpty(col1)) + { + try + { + decimal dec = Convert.ToDecimal(col1); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "总试压包数" + "," + "[" + col1 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "总试压包数" + "," + "此项为必填项!" + "|"; + } + + string col2 = pds.Rows[i][2].ToString().Trim(); + if (!string.IsNullOrEmpty(col2)) + { + try + { + decimal dec = Convert.ToDecimal(col2); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "本期完成量" + "," + "[" + col2 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "本期完成量" + "," + "此项为必填项!" + "|"; + } + } + if (!string.IsNullOrEmpty(result)) + { + result = result.Substring(0, result.LastIndexOf("|")); + errorInfos = result; + Alert alert = new Alert + { + Message = result, + Target = Target.Self + }; + alert.Show(); + + + } + else + { + errorInfos = string.Empty; + ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 导入 + /// + /// 导入 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(errorInfos)) + { + if (!string.IsNullOrEmpty(this.hdFileName.Text)) + { + string rootPath = Server.MapPath("~/"); + ImportXlsToData2(rootPath + initPath + this.hdFileName.Text); + } + else + { + ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning); + } + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + + #region Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData2(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL2(ds.Tables[0], 3); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集列数 + /// + private bool AddDatasetToSQL2(DataTable pds, int Cols) + { + int ic, ir; + pipelineCompletions.Clear(); + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + } + var units = from x in Funs.DB.Base_Unit + select x; + ir = pds.Rows.Count; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + Model.View_JDGL_PipelineCompletion pipelineCompletion = new Model.View_JDGL_PipelineCompletion(); + string col0 = pds.Rows[i][0].ToString().Trim(); + string col1 = pds.Rows[i][1].ToString().Trim(); + string col2 = pds.Rows[i][2].ToString().Trim(); + if (!string.IsNullOrEmpty(col0))//施工单位 + { + var unit = units.FirstOrDefault(x => x.UnitName == col0); + if (unit != null) + { + pipelineCompletion.UnitId = unit.UnitId; + pipelineCompletion.UnitName = unit.UnitName; + } + } + if (!string.IsNullOrEmpty(col1))//总试压包数 + { + pipelineCompletion.TotalNum = Funs.GetNewDecimalOrZero(col1); + } + if (!string.IsNullOrEmpty(col2))//本期完成量 + { + pipelineCompletion.ThisNum = Funs.GetNewDecimalOrZero(col2); + } + pipelineCompletion.PipelineCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_PipelineCompletion)); + pipelineCompletions.Add(pipelineCompletion); + } + if (pipelineCompletions.Count > 0) + { + this.Grid1.Hidden = false; + this.Grid1.DataSource = pipelineCompletions; + this.Grid1.DataBind(); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 保存 + /// + /// 保存 + /// + /// + /// + protected void btnSave_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) || string.IsNullOrEmpty(this.txtEndDate.Text.Trim())) + { + ShowNotify("请选择开始、结束日期!", MessageBoxIcon.Warning); + return; + } + if (string.IsNullOrEmpty(errorInfos)) + { + var pipelineCompletionLists = from x in Funs.DB.JDGL_PipelineCompletion where x.ProjectId == this.ProjectId select x; + int a = pipelineCompletions.Count(); + DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); + DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); + for (int i = 0; i < a; i++) + { + var oldPipelineCompletion = pipelineCompletionLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == pipelineCompletions[i].UnitId && x.StartDate == startDate && x.EndDate == endDate); + if (oldPipelineCompletion == null) + { + Model.JDGL_PipelineCompletion newPipelineCompletion = new Model.JDGL_PipelineCompletion(); + newPipelineCompletion.PipelineCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_PipelineCompletion)); + newPipelineCompletion.ProjectId = this.ProjectId; + newPipelineCompletion.UnitId = pipelineCompletions[i].UnitId; + newPipelineCompletion.TotalNum = pipelineCompletions[i].TotalNum; + newPipelineCompletion.ThisNum = pipelineCompletions[i].ThisNum; + newPipelineCompletion.CompileMan = this.CurrUser.UserId; + newPipelineCompletion.CompileDate = DateTime.Now; + newPipelineCompletion.StartDate = startDate; + newPipelineCompletion.EndDate = endDate; + BLL.PipelineCompletionService.AddPipelineCompletion(newPipelineCompletion); + } + else + { + oldPipelineCompletion.TotalNum = pipelineCompletions[i].TotalNum; + oldPipelineCompletion.ThisNum = pipelineCompletions[i].ThisNum; + BLL.PipelineCompletionService.UpdatePipelineCompletion(oldPipelineCompletion); + } + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + string filePath = initFullPath + this.hdFileName.Text; + if (filePath != string.Empty && System.IO.File.Exists(filePath)) + { + System.IO.File.Delete(filePath);//删除上传的XLS文件 + } + ShowNotify("导入成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + #endregion + + #region 导出错误提示 + /// + /// 导出错误提示 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + //string strFileName = DateTime.Now.ToString("yyyyMMdd-hhmmss"); + //System.Web.HttpContext HC = System.Web.HttpContext.Current; + //HC.Response.Clear(); + //HC.Response.Buffer = true; + //HC.Response.ContentEncoding = System.Text.Encoding.UTF8;//设置输出流为简体中文 + + ////---导出为Excel文件 + //HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls"); + //HC.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 + + //System.IO.StringWriter sw = new System.IO.StringWriter(); + //System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); + //this.gvErrorInfo.RenderControl(htw); + //HC.Response.Write(sw.ToString()); + //HC.Response.End(); + } + + /// + /// 重载VerifyRenderingInServerForm方法,否则运行的时候会出现如下错误提示:“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内” + /// + /// + public override void VerifyRenderingInServerForm(Control control) + { + } + #endregion + + #region 下载模板 + /// + /// 下载模板按钮 + /// + /// + /// + protected void btnDownLoad_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + /// + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.PipelineCompletionTemplateUrl; + string filePath = Const.PipelineCompletionTemplateUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx.designer.cs new file mode 100644 index 00000000..56b21103 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/PipelineCompletionIn.aspx.designer.cs @@ -0,0 +1,150 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class PipelineCompletionIn { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtStartDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStartDate; + + /// + /// txtEndDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndDate; + + /// + /// btnAudit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAudit; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// btnDownLoad 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDownLoad; + + /// + /// fuAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.FileUpload fuAttachUrl; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Label2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label2; + + /// + /// hdFileName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdFileName; + + /// + /// hdCheckResult 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckResult; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx new file mode 100644 index 00000000..7fc79baf --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx @@ -0,0 +1,106 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProgressCompletion.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.ProgressCompletion" %> + + + + + +进度完成情况 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx.cs new file mode 100644 index 00000000..9a618fee --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx.cs @@ -0,0 +1,159 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Data; +using System.Data.SqlClient; +using BLL; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class ProgressCompletion : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + GetButtonPower(); + ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); + BindGrid(); + btnNew.OnClientClick = Window1.GetShowReference("ProgressCompletionEdit.aspx") + "return false;"; + } + } + + #region 获取按钮权限 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + if (Request.Params["value"] == BLL.Const._Null) + { + return; + } + var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProgressCompletionMenuId); + if (buttonList.Count() > 0) + { + if (buttonList.Contains(BLL.Const.BtnAdd)) + { + this.btnNew.Hidden = false; + } + if (buttonList.Contains(BLL.Const.BtnModify)) + { + this.btnMenuModify.Hidden = false; + } + if (buttonList.Contains(BLL.Const.BtnDelete)) + { + this.btnMenuDel.Hidden = false; + } + } + } + #endregion + + /// + /// 加载Grid + /// + private void BindGrid() + { + string strSql = @"select * + from dbo.View_JDGL_ProgressCompletion qc + where qc.ProjectId=@ProjectId order by qc.Months desc"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + + protected void btnMenuModify_Click(object sender, EventArgs e) + { + EditData(); + } + + protected void btnMenuDel_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length > 0) + { + foreach (int rowIndex in Grid1.SelectedRowIndexArray) + { + string rowID = Grid1.DataKeys[rowIndex][0].ToString(); + var progressCompletion = BLL.ProgressCompletionService.GetProgressCompletionById(rowID); + if (progressCompletion != null) + { + BLL.ProgressCompletionService.DeleteProgressCompletionById(rowID); + } + } + + BindGrid(); + ShowNotify("删除数据成功!", MessageBoxIcon.Success); + } + } + + /// + /// 编辑数据方法 + /// + private void EditData() + { + + if (Grid1.SelectedRowIndexArray.Length == 0) + { + Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); + return; + } + if (this.btnMenuModify.Hidden) ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面 + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProgressCompletionView.aspx?ProgressCompletionId={0}", Grid1.SelectedRowID, "查看 - "))); + } + else + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProgressCompletionEdit.aspx?ProgressCompletionId={0}", Grid1.SelectedRowID, "编辑 - "))); + } + } + + protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) + { + EditData(); + } + + + protected void btnMenuView_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); + return; + } + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProgressCompletionView.aspx?ProgressCompletionId={0}", Grid1.SelectedRowID, "查看 - "))); + } + + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + BindGrid(); + } + + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + BindGrid(); + } + + /// + /// 关闭导入弹出窗口 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx.designer.cs new file mode 100644 index 00000000..dcefc895 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletion.aspx.designer.cs @@ -0,0 +1,150 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class ProgressCompletion { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// btnNew 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnNew; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// Menu1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Menu Menu1; + + /// + /// btnMenuModify 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuModify; + + /// + /// btnMenuView 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuView; + + /// + /// btnMenuDel 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuDel; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx new file mode 100644 index 00000000..8f2f6000 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx @@ -0,0 +1,50 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProgressCompletionEdit.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.ProgressCompletionEdit" %> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx.cs new file mode 100644 index 00000000..d01ade3f --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx.cs @@ -0,0 +1,118 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class ProgressCompletionEdit : PageBase + { + /// + /// id + /// + public string ProgressCompletionId + { + get + { + return (string)ViewState["ProgressCompletionId"]; + } + set + { + ViewState["ProgressCompletionId"] = value; + } + } + /// + /// 项目id + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + + this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); + ProgressCompletionId = Request.Params["ProgressCompletionId"]; + if (!string.IsNullOrEmpty(ProgressCompletionId)) + { + + Model.JDGL_ProgressCompletion ProgressCompletion = BLL.ProgressCompletionService.GetProgressCompletionById(ProgressCompletionId); + if (ProgressCompletion != null) + { + this.ProjectId = ProgressCompletion.ProjectId; + if (ProgressCompletion.Months != null) + { + this.txtMonths.Text = string.Format("{0:yyyy-MM}", ProgressCompletion.Months); + } + if (ProgressCompletion.PlanNum != null) + { + this.txtPlanNum.Text = ProgressCompletion.PlanNum.ToString(); + } + if (ProgressCompletion.RealNum != null) + { + this.txtRealNum.Text = ProgressCompletion.RealNum.ToString(); + } + } + } + else + { + this.txtMonths.Text = string.Format("{0:yyyy-MM}",DateTime.Now); + } + } + } + + protected void btnSave_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(ProgressCompletionId)) + { + Model.JDGL_ProgressCompletion oldProgressCompletion = BLL.ProgressCompletionService.GetProgressCompletionByProjectIdAndMonths(this.CurrUser.LoginProjectId,this.txtMonths.Text.Trim()); + if (oldProgressCompletion != null) + { + ShowNotify("该月份记录已存在!", MessageBoxIcon.Warning); + return; + } + } + SaveData(true); + } + + private void SaveData(bool bl) + { + string ProgressCompletionId = Request.Params["ProgressCompletionId"]; + Model.JDGL_ProgressCompletion ProgressCompletion = new Model.JDGL_ProgressCompletion(); + ProgressCompletion.ProjectId = this.CurrUser.LoginProjectId; + ProgressCompletion.Months = Funs.GetNewDateTime(this.txtMonths.Text.Trim()); + if (!string.IsNullOrEmpty(this.txtPlanNum.Text.Trim())) + { + ProgressCompletion.PlanNum = Convert.ToDecimal(this.txtPlanNum.Text.Trim()); + } + if (!string.IsNullOrEmpty(this.txtRealNum.Text.Trim())) + { + ProgressCompletion.RealNum = Convert.ToDecimal(this.txtRealNum.Text.Trim()); + } + if (!string.IsNullOrEmpty(ProgressCompletionId)) + { + ProgressCompletion.ProgressCompletionId = ProgressCompletionId; + BLL.ProgressCompletionService.UpdateProgressCompletion(ProgressCompletion); + } + else + { + ProgressCompletion.ProgressCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_ProgressCompletion)); + BLL.ProgressCompletionService.AddProgressCompletion(ProgressCompletion); + } + ShowNotify("保存成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx.designer.cs new file mode 100644 index 00000000..da8b6af3 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionEdit.aspx.designer.cs @@ -0,0 +1,105 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class ProgressCompletionEdit { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// txtMonths 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtMonths; + + /// + /// txtPlanNum 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.NumberBox txtPlanNum; + + /// + /// txtRealNum 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.NumberBox txtRealNum; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// hdCheckerId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckerId; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// btnClose 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnClose; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx new file mode 100644 index 00000000..9b23d3c2 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx @@ -0,0 +1,48 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProgressCompletionView.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.ProgressCompletionView" %> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx.cs new file mode 100644 index 00000000..e27f755c --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx.cs @@ -0,0 +1,72 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class ProgressCompletionView : PageBase + { + /// + /// id + /// + public string ProgressCompletionId + { + get + { + return (string)ViewState["ProgressCompletionId"]; + } + set + { + ViewState["ProgressCompletionId"] = value; + } + } + /// + /// 项目id + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + + this.btnClose.OnClientClick = ActiveWindow.GetHideReference(); + ProgressCompletionId = Request.Params["ProgressCompletionId"]; + if (!string.IsNullOrEmpty(ProgressCompletionId)) + { + + Model.JDGL_ProgressCompletion ProgressCompletion = BLL.ProgressCompletionService.GetProgressCompletionById(ProgressCompletionId); + if (ProgressCompletion != null) + { + this.ProjectId = ProgressCompletion.ProjectId; + if (ProgressCompletion.Months != null) + { + this.txtMonths.Text = string.Format("{0:yyyy-MM}", ProgressCompletion.Months); + } + if (ProgressCompletion.PlanNum != null) + { + this.txtPlanNum.Text = ProgressCompletion.PlanNum.ToString(); + } + if (ProgressCompletion.RealNum != null) + { + this.txtRealNum.Text = ProgressCompletion.RealNum.ToString(); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx.designer.cs new file mode 100644 index 00000000..fa26a8d3 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/ProgressCompletionView.aspx.designer.cs @@ -0,0 +1,96 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class ProgressCompletionView { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// txtMonths 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtMonths; + + /// + /// txtPlanNum 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.NumberBox txtPlanNum; + + /// + /// txtRealNum 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.NumberBox txtRealNum; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// hdCheckerId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckerId; + + /// + /// btnClose 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnClose; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx index 1f51feef..b55e475a 100644 --- a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx +++ b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx @@ -16,7 +16,7 @@ @@ -30,7 +30,7 @@ OnClick="btnSave_Click"> -
@@ -55,24 +55,14 @@ SortField="DesignNum" FieldType="Float" HeaderText="设计数量" TextAlign="Center" HeaderTextAlign="Center"> - + - - - - - - - - diff --git a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx.cs index 961d08b9..a2c7533b 100644 --- a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx.cs +++ b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx.cs @@ -18,7 +18,6 @@ namespace FineUIPro.Web.JDGL.Check if (!IsPostBack) { //GetButtonPower(); - this.txtMonths.Text = string.Format("{0:yyyy-MM}", DateTime.Now); BindGrid(); } } @@ -79,28 +78,19 @@ namespace FineUIPro.Web.JDGL.Check ///
private void BindGrid() { - GetQuantityCompletion(); - if (!string.IsNullOrEmpty(this.txtMonths.Text.Trim())) - { - string strSql = @"select * + //GetQuantityCompletion(); + string strSql = @"select * from dbo.View_JDGL_QuantityCompletion qc - where qc.ProjectId=@ProjectId and qc.Months=@Months order by qc.SortIndex,qc.Name"; - List listStr = new List(); - listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); - listStr.Add(new SqlParameter("@Months", this.txtMonths.Text.Trim() + "-01")); - SqlParameter[] parameter = listStr.ToArray(); - DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); - Grid1.RecordCount = tb.Rows.Count; - //tb = GetFilteredTable(Grid1.FilteredData, tb); - var table = this.GetPagedDataTable(Grid1, tb); - Grid1.DataSource = table; - Grid1.DataBind(); - } - else - { - Alert.ShowInTop("请选择月份!", MessageBoxIcon.Warning); - return; - } + where qc.ProjectId=@ProjectId order by qc.Name"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); } #region 月份选择事件 diff --git a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx.designer.cs index 860288af..c2eb7a1e 100644 --- a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletion.aspx.designer.cs @@ -93,24 +93,6 @@ namespace FineUIPro.Web.JDGL.Check { /// protected global::System.Web.UI.WebControls.Label lblPageIndex; - /// - /// nbPlanNum 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.NumberBox nbPlanNum; - - /// - /// nbRealNum 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.NumberBox nbRealNum; - /// /// Window1 控件。 /// diff --git a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx index 60d98762..7b40e96f 100644 --- a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx +++ b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx @@ -15,6 +15,12 @@ + + + + @@ -42,8 +48,8 @@ - diff --git a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx.cs index 6dc78ed1..d6c468f9 100644 --- a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx.cs +++ b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx.cs @@ -418,96 +418,61 @@ namespace FineUIPro.Web.JDGL.Check /// protected void btnSave_Click(object sender, EventArgs e) { + if (string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) || string.IsNullOrEmpty(this.txtEndDate.Text.Trim())) + { + ShowNotify("请选择开始、结束日期!", MessageBoxIcon.Warning); + return; + } if (string.IsNullOrEmpty(errorInfos)) { - var certificates = from x in Funs.DB.Base_Certificate select x; + var quantityLists = from x in Funs.DB.JDGL_QuantityList where x.ProjectId == this.ProjectId select x; + var quantityCompletionLists = from x in Funs.DB.JDGL_QuantityCompletion where x.ProjectId == this.ProjectId select x; + string quantityListId = string.Empty; int a = quantityCompletions.Count(); + DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); + DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); for (int i = 0; i < a; i++) { - //if (getPerson == null) - //{ - // Model.SitePerson_Person newPerson = new Model.SitePerson_Person(); - // string newKeyID = SQLHelper.GetNewID(typeof(Model.SitePerson_Person)); - // newPerson.PersonId = newKeyID; - // newPerson.ProjectId = Request.Params["ProjectId"]; - // newPerson.CardNo = quantityCompletions[i].CardNo; - // newPerson.PersonName = quantityCompletions[i].PersonName; - // newPerson.Sex = quantityCompletions[i].SexName == "男" ? "1" : "2"; - // newPerson.IdcardType = quantityCompletions[i].IdcardType; - // newPerson.IdentityCard = quantityCompletions[i].IdentityCard; - // newPerson.IdcardStartDate = quantityCompletions[i].IdcardStartDate; - // newPerson.IdcardForever = quantityCompletions[i].IdcardForever; - // newPerson.IdcardEndDate = quantityCompletions[i].IdcardEndDate; - // newPerson.IdcardAddress = quantityCompletions[i].IdcardAddress; - // newPerson.UnitId = quantityCompletions[i].UnitId; - // newPerson.WorkPostId = quantityCompletions[i].WorkPostId; - // newPerson.TeamGroupId = quantityCompletions[i].TeamGroupId; - // newPerson.WorkAreaId = quantityCompletions[i].WorkAreaId; - // newPerson.InTime = quantityCompletions[i].InTime; - // newPerson.PositionId = quantityCompletions[i].PositionId; - // newPerson.PostTitleId = quantityCompletions[i].PostTitleId; - // newPerson.EduLevel = quantityCompletions[i].EduLevel; - // newPerson.MaritalStatus = quantityCompletions[i].MaritalStatus; - // newPerson.PoliticsStatus = quantityCompletions[i].PoliticsStatus; - // newPerson.Nation = quantityCompletions[i].Nation; - // newPerson.CountryCode = quantityCompletions[i].CountryCode; - // newPerson.ProvinceCode = quantityCompletions[i].ProvinceCode; - // newPerson.MainCNProfessionalId = quantityCompletions[i].MainCNProfessionalId; - // newPerson.ViceCNProfessionalId = quantityCompletions[i].ViceCNProfessionalId; - // newPerson.Birthday = quantityCompletions[i].Birthday; - // newPerson.Telephone = quantityCompletions[i].Telephone; - // newPerson.Address = quantityCompletions[i].Address; - // newPerson.OutTime = quantityCompletions[i].OutTime; - // newPerson.OutResult = quantityCompletions[i].OutResult; - // newPerson.IsForeign = quantityCompletions[i].IsForeign; - // newPerson.IsOutside = quantityCompletions[i].IsOutside; - // newPerson.IsUsed = quantityCompletions[i].IsUsedName == "是" ? true : false; - // newPerson.IsCardUsed = quantityCompletions[i].IsCardUsedName == "是" ? true : false; - // BLL.PersonService.AddPerson(newPerson); - - // var item = personQualitys.FirstOrDefault(x => x.Remark == newPerson.IdentityCard); - // if (item != null) - // { - // Model.QualityAudit_PersonQuality newPersonQuality = new Model.QualityAudit_PersonQuality - // { - // PersonQualityId = SQLHelper.GetNewID(typeof(Model.QualityAudit_PersonQuality)), - // PersonId = newPerson.PersonId, - // CompileMan = this.CurrUser.UserId, - // CompileDate = DateTime.Now - // }; - // var certificate = certificates.FirstOrDefault(x => x.CertificateName == item.CertificateName); - // if (certificate != null) - // { - // newPersonQuality.CertificateId = certificate.CertificateId; - // } - // newPersonQuality.CertificateName = item.CertificateName; - // newPersonQuality.CertificateNo = item.CertificateNo; - // newPersonQuality.LimitDate = item.LimitDate; - // BLL.PersonQualityService.AddPersonQuality(newPersonQuality); - // } - //} - //else - //{ - // getPerson.CardNo = quantityCompletions[i].CardNo; - // getPerson.PersonName = quantityCompletions[i].PersonName; - // getPerson.Sex = quantityCompletions[i].SexName == "男" ? "1" : "2"; - // getPerson.IdentityCard = quantityCompletions[i].IdentityCard; - // getPerson.Address = quantityCompletions[i].Address; - // getPerson.UnitId = quantityCompletions[i].UnitId; - // getPerson.TeamGroupId = quantityCompletions[i].TeamGroupId; - // getPerson.WorkAreaId = quantityCompletions[i].WorkAreaId; - // getPerson.WorkPostId = quantityCompletions[i].WorkPostId; - // //newPerson.CertificateId = quantityCompletions[i].CertificateId; - // //newPerson.CertificateCode = quantityCompletions[i].CertificateCode; - // //newPerson.CertificateLimitTime = quantityCompletions[i].CertificateLimitTime; - // getPerson.InTime = quantityCompletions[i].InTime; - // getPerson.OutTime = quantityCompletions[i].OutTime; - // getPerson.OutResult = quantityCompletions[i].OutResult; - // getPerson.Telephone = quantityCompletions[i].Telephone; - // getPerson.IsUsed = quantityCompletions[i].IsUsedName == "是" ? true : false; - // getPerson.IsCardUsed = quantityCompletions[i].IsCardUsedName == "是" ? true : false; - // Funs.DB.SubmitChanges(); - //} + var oldQuantityList = quantityLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.Name == quantityCompletions[i].Name); + if (oldQuantityList == null) + { + Model.JDGL_QuantityList newQuantityList = new Model.JDGL_QuantityList(); + quantityListId = SQLHelper.GetNewID(typeof(Model.JDGL_QuantityList)); + newQuantityList.QuantityListId = quantityListId; + newQuantityList.ProjectId = this.ProjectId; + newQuantityList.Name = quantityCompletions[i].Name; + newQuantityList.Unit = quantityCompletions[i].Unit; + newQuantityList.DesignNum = quantityCompletions[i].DesignNum; + BLL.QuantityListService.AddQuantityList(newQuantityList); + } + else + { + quantityListId = oldQuantityList.QuantityListId; + oldQuantityList.Unit = quantityCompletions[i].Unit; + oldQuantityList.DesignNum = quantityCompletions[i].DesignNum; + BLL.QuantityListService.UpdateQuantityList(oldQuantityList); + } + var oldQuantityCompletion = quantityCompletionLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.QuantityListId == quantityListId && x.StartDate == startDate && x.EndDate == endDate); + if (oldQuantityCompletion == null) + { + Model.JDGL_QuantityCompletion newQuantityCompletion = new Model.JDGL_QuantityCompletion(); + newQuantityCompletion.QuantityCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_QuantityCompletion)); + newQuantityCompletion.ProjectId = this.ProjectId; + newQuantityCompletion.QuantityListId = quantityListId; + newQuantityCompletion.PlanNum = quantityCompletions[i].PlanNum; + newQuantityCompletion.RealNum = quantityCompletions[i].RealNum; + newQuantityCompletion.CompileMan = this.CurrUser.UserId; + newQuantityCompletion.CompileDate = DateTime.Now; + newQuantityCompletion.StartDate = startDate; + newQuantityCompletion.EndDate = endDate; + BLL.QuantityCompletionService.AddQuantityCompletion(newQuantityCompletion); + } + else + { + oldQuantityCompletion.PlanNum= quantityCompletions[i].PlanNum; + oldQuantityCompletion.RealNum= quantityCompletions[i].RealNum; + BLL.QuantityCompletionService.UpdateQuantityCompletion(oldQuantityCompletion); + } } string rootPath = Server.MapPath("~/"); string initFullPath = rootPath + initPath; @@ -581,8 +546,8 @@ namespace FineUIPro.Web.JDGL.Check if (e.EventArgument == "Confirm_OK") { string rootPath = Server.MapPath("~/"); - string uploadfilepath = rootPath + Const.PersonTemplateUrl; - string filePath = Const.PersonTemplateUrl; + string uploadfilepath = rootPath + Const.QuantityCompletionTemplateUrl; + string filePath = Const.QuantityCompletionTemplateUrl; string fileName = Path.GetFileName(filePath); FileInfo info = new FileInfo(uploadfilepath); long fileSize = info.Length; diff --git a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx.designer.cs index 58a47abb..a6af568c 100644 --- a/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/JDGL/Check/QuantityCompletionIn.aspx.designer.cs @@ -48,6 +48,24 @@ namespace FineUIPro.Web.JDGL.Check { /// protected global::FineUIPro.Toolbar Toolbar2; + /// + /// txtStartDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStartDate; + + /// + /// txtEndDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndDate; + /// /// btnAudit 控件。 /// diff --git a/SGGL/FineUIPro.Web/JDGL/Check/QuantityList.aspx b/SGGL/FineUIPro.Web/JDGL/Check/QuantityList.aspx index af30ff3d..26ff76ec 100644 --- a/SGGL/FineUIPro.Web/JDGL/Check/QuantityList.aspx +++ b/SGGL/FineUIPro.Web/JDGL/Check/QuantityList.aspx @@ -50,7 +50,7 @@ SortField="Name" FieldType="String" HeaderText="工作项" TextAlign="center" HeaderTextAlign="Center"> - diff --git a/SGGL/FineUIPro.Web/JDGL/Check/QuantityListEdit.aspx b/SGGL/FineUIPro.Web/JDGL/Check/QuantityListEdit.aspx index 9bb9555e..75c0310e 100644 --- a/SGGL/FineUIPro.Web/JDGL/Check/QuantityListEdit.aspx +++ b/SGGL/FineUIPro.Web/JDGL/Check/QuantityListEdit.aspx @@ -20,11 +20,11 @@ - + <%-- - + --%> protected global::FineUIPro.TextBox txtName; - /// - /// drpCNProfessionalId 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.DropDownList drpCNProfessionalId; - /// /// txtUnit 控件。 /// diff --git a/SGGL/FineUIPro.Web/JDGL/Check/QuantityListView.aspx b/SGGL/FineUIPro.Web/JDGL/Check/QuantityListView.aspx index 9a9e8bd0..9bb325b8 100644 --- a/SGGL/FineUIPro.Web/JDGL/Check/QuantityListView.aspx +++ b/SGGL/FineUIPro.Web/JDGL/Check/QuantityListView.aspx @@ -20,11 +20,11 @@ - + <%-- - + --%> protected global::FineUIPro.TextBox txtName; - /// - /// drpCNProfessionalId 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.DropDownList drpCNProfessionalId; - /// /// txtUnit 控件。 /// diff --git a/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx new file mode 100644 index 00000000..6d989fc3 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx @@ -0,0 +1,70 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SteelStructureCompletion.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.SteelStructureCompletion" %> + + + + + +钢结构完成情况 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx.cs new file mode 100644 index 00000000..e68381c4 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Data; +using System.Data.SqlClient; +using BLL; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class SteelStructureCompletion : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + //GetButtonPower(); + BindGrid(); + } + } + + #region 获取按钮权限 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + if (Request.Params["value"] == BLL.Const._Null) + { + return; + } + var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SteelStructureCompletionMenuId); + if (buttonList.Count() > 0) + { + if (buttonList.Contains(BLL.Const.BtnSave)) + { + } + } + } + #endregion + + /// + /// 加载Grid + /// + private void BindGrid() + { + string strSql = @"select * + from dbo.View_JDGL_SteelStructureCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + + #region 月份选择事件 + /// + /// 月份选择事件 + /// + /// + /// + protected void txtMonths_TextChanged(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 导入 + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SteelStructureCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 关闭导入弹出窗口 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx.designer.cs new file mode 100644 index 00000000..5a1832c0 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletion.aspx.designer.cs @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class SteelStructureCompletion { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx new file mode 100644 index 00000000..eb00576f --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx @@ -0,0 +1,95 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SteelStructureCompletionIn.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.SteelStructureCompletionIn" %> + + + + + +导入信息 + + + +
+ + + + + + + + + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<%-- + + + + + --%> + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx.cs new file mode 100644 index 00000000..e33daa3a --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx.cs @@ -0,0 +1,559 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.OleDb; +using System.IO; +using System.Linq; +using System.Web.UI; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class SteelStructureCompletionIn : PageBase + { + #region 定义变量 + /// + /// 上传预设的虚拟路径 + /// + private string initPath = Const.ExcelUrl; + + /// + /// 人员集合 + /// + public static List steelStructureCompletions = new List(); + + /// + /// 错误集合 + /// + public static string errorInfos = string.Empty; + + /// + /// 项目ID + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + #endregion + + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.hdFileName.Text = string.Empty; + this.hdCheckResult.Text = string.Empty; + if (steelStructureCompletions != null) + { + steelStructureCompletions.Clear(); + } + errorInfos = string.Empty; + this.ProjectId = Request.Params["ProjectId"]; + } + } + #endregion + + #region 审核 + /// + /// 审核 + /// + /// + /// + protected void btnAudit_Click(object sender, EventArgs e) + { + try + { + if (this.fuAttachUrl.HasFile == false) + { + ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning); + return; + } + string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls") + { + ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning); + return; + } + if (steelStructureCompletions != null) + { + steelStructureCompletions.Clear(); + } + if (!string.IsNullOrEmpty(errorInfos)) + { + errorInfos = string.Empty; + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + if (!Directory.Exists(initFullPath)) + { + Directory.CreateDirectory(initFullPath); + } + + this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls; + string filePath = initFullPath + this.hdFileName.Text; + this.fuAttachUrl.PostedFile.SaveAs(filePath); + //PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonDataAudit.aspx?FileName={0}&ProjectId={1}", this.hdFileName.Text, Request.Params["ProjectId"], "审核 - "))); + ImportXlsToData(rootPath + initPath + this.hdFileName.Text); + } + catch (Exception ex) + { + ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning); + } + } + + #region 读Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL(ds.Tables[0], 4); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集行数 + /// + private bool AddDatasetToSQL(DataTable pds, int Cols) + { + string result = string.Empty; + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "行", MessageBoxIcon.Warning); + } + ir = pds.Rows.Count; + var units = from x in Funs.DB.Base_Unit + select x; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + string col0 = pds.Rows[i][0].ToString().Trim(); + if (!string.IsNullOrEmpty(col0)) + { + var unit = units.FirstOrDefault(e => e.UnitName == col0); + if (unit != null) + { + var projectUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == unit.UnitId); + if (projectUnit == null) + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在本项目中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在单位表中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "此项为必填项!" + "|"; + } + + string col1 = pds.Rows[i][1].ToString().Trim(); + if (!string.IsNullOrEmpty(col1)) + { + try + { + decimal dec = Convert.ToDecimal(col1); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "总量" + "," + "[" + col1 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "总量" + "," + "此项为必填项!" + "|"; + } + + string col2 = pds.Rows[i][2].ToString().Trim(); + if (!string.IsNullOrEmpty(col2)) + { + try + { + decimal dec = Convert.ToDecimal(col2); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "到货量" + "," + "[" + col2 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "到货量" + "," + "此项为必填项!" + "|"; + } + + string col3 = pds.Rows[i][3].ToString().Trim(); + if (!string.IsNullOrEmpty(col3)) + { + try + { + decimal dec = Convert.ToDecimal(col3); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "本期安装量" + "," + "[" + col3 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "本期安装量" + "," + "此项为必填项!" + "|"; + } + } + if (!string.IsNullOrEmpty(result)) + { + result = result.Substring(0, result.LastIndexOf("|")); + errorInfos = result; + Alert alert = new Alert + { + Message = result, + Target = Target.Self + }; + alert.Show(); + + + } + else + { + errorInfos = string.Empty; + ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 导入 + /// + /// 导入 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(errorInfos)) + { + if (!string.IsNullOrEmpty(this.hdFileName.Text)) + { + string rootPath = Server.MapPath("~/"); + ImportXlsToData2(rootPath + initPath + this.hdFileName.Text); + } + else + { + ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning); + } + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + + #region Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData2(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL2(ds.Tables[0], 4); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集列数 + /// + private bool AddDatasetToSQL2(DataTable pds, int Cols) + { + int ic, ir; + steelStructureCompletions.Clear(); + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + } + var units = from x in Funs.DB.Base_Unit + select x; + ir = pds.Rows.Count; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + Model.View_JDGL_SteelStructureCompletion steelStructureCompletion = new Model.View_JDGL_SteelStructureCompletion(); + string col0 = pds.Rows[i][0].ToString().Trim(); + string col1 = pds.Rows[i][1].ToString().Trim(); + string col2 = pds.Rows[i][2].ToString().Trim(); + string col3 = pds.Rows[i][3].ToString().Trim(); + if (!string.IsNullOrEmpty(col0))//施工单位 + { + var unit = units.FirstOrDefault(x => x.UnitName == col0); + if (unit != null) + { + steelStructureCompletion.UnitId = unit.UnitId; + steelStructureCompletion.UnitName = unit.UnitName; + } + } + if (!string.IsNullOrEmpty(col1))//总量 + { + steelStructureCompletion.TotalNum = Funs.GetNewDecimalOrZero(col1); + } + if (!string.IsNullOrEmpty(col2))//到货量 + { + steelStructureCompletion.ArrivalNum = Funs.GetNewDecimalOrZero(col2); + } + if (!string.IsNullOrEmpty(col3))//本期安装量 + { + steelStructureCompletion.ThisNum = Funs.GetNewDecimalOrZero(col3); + } + steelStructureCompletion.SteelStructureCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_SteelStructureCompletion)); + steelStructureCompletions.Add(steelStructureCompletion); + } + if (steelStructureCompletions.Count > 0) + { + this.Grid1.Hidden = false; + this.Grid1.DataSource = steelStructureCompletions; + this.Grid1.DataBind(); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 保存 + /// + /// 保存 + /// + /// + /// + protected void btnSave_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) || string.IsNullOrEmpty(this.txtEndDate.Text.Trim())) + { + ShowNotify("请选择开始、结束日期!", MessageBoxIcon.Warning); + return; + } + if (string.IsNullOrEmpty(errorInfos)) + { + var steelStructureCompletionLists = from x in Funs.DB.JDGL_SteelStructureCompletion where x.ProjectId == this.ProjectId select x; + int a = steelStructureCompletions.Count(); + DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); + DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); + for (int i = 0; i < a; i++) + { + var oldSteelStructureCompletion = steelStructureCompletionLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == steelStructureCompletions[i].UnitId && x.StartDate == startDate && x.EndDate == endDate); + if (oldSteelStructureCompletion == null) + { + Model.JDGL_SteelStructureCompletion newSteelStructureCompletion = new Model.JDGL_SteelStructureCompletion(); + newSteelStructureCompletion.SteelStructureCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_SteelStructureCompletion)); + newSteelStructureCompletion.ProjectId = this.ProjectId; + newSteelStructureCompletion.UnitId = steelStructureCompletions[i].UnitId; + newSteelStructureCompletion.TotalNum = steelStructureCompletions[i].TotalNum; + newSteelStructureCompletion.ArrivalNum = steelStructureCompletions[i].ArrivalNum; + newSteelStructureCompletion.ThisNum = steelStructureCompletions[i].ThisNum; + newSteelStructureCompletion.CompileMan = this.CurrUser.UserId; + newSteelStructureCompletion.CompileDate = DateTime.Now; + newSteelStructureCompletion.StartDate = startDate; + newSteelStructureCompletion.EndDate = endDate; + BLL.SteelStructureCompletionService.AddSteelStructureCompletion(newSteelStructureCompletion); + } + else + { + oldSteelStructureCompletion.TotalNum = steelStructureCompletions[i].TotalNum; + oldSteelStructureCompletion.ArrivalNum = steelStructureCompletions[i].ArrivalNum; + oldSteelStructureCompletion.ThisNum = steelStructureCompletions[i].ThisNum; + BLL.SteelStructureCompletionService.UpdateSteelStructureCompletion(oldSteelStructureCompletion); + } + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + string filePath = initFullPath + this.hdFileName.Text; + if (filePath != string.Empty && System.IO.File.Exists(filePath)) + { + System.IO.File.Delete(filePath);//删除上传的XLS文件 + } + ShowNotify("导入成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + #endregion + + #region 导出错误提示 + /// + /// 导出错误提示 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + //string strFileName = DateTime.Now.ToString("yyyyMMdd-hhmmss"); + //System.Web.HttpContext HC = System.Web.HttpContext.Current; + //HC.Response.Clear(); + //HC.Response.Buffer = true; + //HC.Response.ContentEncoding = System.Text.Encoding.UTF8;//设置输出流为简体中文 + + ////---导出为Excel文件 + //HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls"); + //HC.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 + + //System.IO.StringWriter sw = new System.IO.StringWriter(); + //System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); + //this.gvErrorInfo.RenderControl(htw); + //HC.Response.Write(sw.ToString()); + //HC.Response.End(); + } + + /// + /// 重载VerifyRenderingInServerForm方法,否则运行的时候会出现如下错误提示:“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内” + /// + /// + public override void VerifyRenderingInServerForm(Control control) + { + } + #endregion + + #region 下载模板 + /// + /// 下载模板按钮 + /// + /// + /// + protected void btnDownLoad_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + /// + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.SteelStructureCompletionTemplateUrl; + string filePath = Const.SteelStructureCompletionTemplateUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx.designer.cs new file mode 100644 index 00000000..ea491a58 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/SteelStructureCompletionIn.aspx.designer.cs @@ -0,0 +1,150 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class SteelStructureCompletionIn { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtStartDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStartDate; + + /// + /// txtEndDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndDate; + + /// + /// btnAudit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAudit; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// btnDownLoad 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDownLoad; + + /// + /// fuAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.FileUpload fuAttachUrl; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Label2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label2; + + /// + /// hdFileName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdFileName; + + /// + /// hdCheckResult 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckResult; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx b/SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx new file mode 100644 index 00000000..bd7ff7d7 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx @@ -0,0 +1,433 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TotalCompletion.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.TotalCompletion" %> + + + + + + 工程量完成情况 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx.cs new file mode 100644 index 00000000..830d86bf --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx.cs @@ -0,0 +1,324 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Data; +using System.Data.SqlClient; +using BLL; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class TotalCompletion : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + GetButtonPower(); + BindGrid0(); + BindGrid1(); + BindGrid2(); + BindGrid3(); + BindGrid4(); + BindGrid5(); + BindGrid6(); + } + } + + #region 获取按钮权限 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + if (Request.Params["value"] == BLL.Const._Null) + { + return; + } + var buttonList0 = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.QuantityCompletionMenuId); + if (buttonList0.Count() > 0) + { + if (buttonList0.Contains(BLL.Const.BtnSave)) + { + this.btnImport0.Hidden = false; + } + } + var buttonList1 = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SteelStructureCompletionMenuId); + if (buttonList1.Count() > 0) + { + if (buttonList1.Contains(BLL.Const.BtnSave)) + { + this.btnImport1.Hidden = false; + } + } + var buttonList2 = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.EquipmentCompletionMenuId); + if (buttonList2.Count() > 0) + { + if (buttonList2.Contains(BLL.Const.BtnSave)) + { + this.btnImport2.Hidden = false; + } + } + var buttonList3 = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.PipelineCompletionMenuId); + if (buttonList3.Count() > 0) + { + if (buttonList3.Contains(BLL.Const.BtnSave)) + { + this.btnImport3.Hidden = false; + } + } + var buttonList4 = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ElectricalCompletionMenuId); + if (buttonList4.Count() > 0) + { + if (buttonList4.Contains(BLL.Const.BtnSave)) + { + this.btnImport4.Hidden = false; + } + } + var buttonList5 = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.MeterCompletionMenuId); + if (buttonList5.Count() > 0) + { + if (buttonList5.Contains(BLL.Const.BtnSave)) + { + this.btnImport5.Hidden = false; + } + } + var buttonList6 = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.UndergroundPipeCompletionMenuId); + if (buttonList6.Count() > 0) + { + if (buttonList6.Contains(BLL.Const.BtnSave)) + { + this.btnImport6.Hidden = false; + } + } + } + #endregion + + /// + /// 加载Grid + /// + private void BindGrid0() + { + //GetQuantityCompletion(); + string strSql = @"select * + from dbo.View_JDGL_QuantityCompletion qc + where qc.ProjectId=@ProjectId order by qc.Name"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid0.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid0, tb); + Grid0.DataSource = table; + Grid0.DataBind(); + } + + /// + /// 加载Grid + /// + private void BindGrid1() + { + string strSql = @"select * + from dbo.View_JDGL_SteelStructureCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + + /// + /// 加载Grid + /// + private void BindGrid2() + { + string strSql = @"select * + from dbo.View_JDGL_EquipmentCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid2.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid2, tb); + Grid2.DataSource = table; + Grid2.DataBind(); + } + + /// + /// 加载Grid + /// + private void BindGrid3() + { + string strSql = @"select * + from dbo.View_JDGL_PipelineCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid3.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid3, tb); + Grid3.DataSource = table; + Grid3.DataBind(); + } + + /// + /// 加载Grid + /// + private void BindGrid4() + { + string strSql = @"select * + from dbo.View_JDGL_ElectricalCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid4.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid4, tb); + Grid4.DataSource = table; + Grid4.DataBind(); + } + + /// + /// 加载Grid + /// + private void BindGrid5() + { + string strSql = @"select * + from dbo.View_JDGL_MeterCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid5.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid5, tb); + Grid5.DataSource = table; + Grid5.DataBind(); + } + + /// + /// 加载Grid + /// + private void BindGrid6() + { + string strSql = @"select * + from dbo.View_JDGL_UndergroundPipeCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid6.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid6, tb); + Grid6.DataSource = table; + Grid6.DataBind(); + } + + #region 导入 + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport0_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QuantityCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport1_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SteelStructureCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport2_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("EquipmentCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport3_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PipelineCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport4_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ElectricalCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport5_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MeterCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport6_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("UndergroundPipeCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 关闭导入弹出窗口 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid0(); + BindGrid1(); + BindGrid2(); + BindGrid3(); + BindGrid4(); + BindGrid5(); + BindGrid6(); + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx.designer.cs new file mode 100644 index 00000000..aa64f795 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/TotalCompletion.aspx.designer.cs @@ -0,0 +1,366 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class TotalCompletion { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Grid0 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid0; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// lb0 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label lb0; + + /// + /// btnImport0 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport0; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// lb1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label lb1; + + /// + /// btnImport1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport1; + + /// + /// Label1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label1; + + /// + /// Grid2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid2; + + /// + /// Toolbar3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar3; + + /// + /// lb2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label lb2; + + /// + /// btnImport2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport2; + + /// + /// Label2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label2; + + /// + /// Grid3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid3; + + /// + /// Toolbar4 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar4; + + /// + /// lb3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label lb3; + + /// + /// btnImport3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport3; + + /// + /// Label3 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label3; + + /// + /// Grid4 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid4; + + /// + /// Toolbar5 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar5; + + /// + /// lb4 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label lb4; + + /// + /// btnImport4 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport4; + + /// + /// Label4 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label4; + + /// + /// Grid5 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid5; + + /// + /// Toolbar6 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar6; + + /// + /// lb5 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label lb5; + + /// + /// btnImport5 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport5; + + /// + /// Label5 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label5; + + /// + /// Grid6 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid6; + + /// + /// Toolbar7 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar7; + + /// + /// lb6 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label lb6; + + /// + /// btnImport6 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport6; + + /// + /// Label6 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label6; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx new file mode 100644 index 00000000..c433693d --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx @@ -0,0 +1,71 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UndergroundPipeCompletion.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.UndergroundPipeCompletion" %> + + + + + +全厂地下管网完成情况 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx.cs new file mode 100644 index 00000000..cfa4b0d7 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using System.Data; +using System.Data.SqlClient; +using BLL; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class UndergroundPipeCompletion : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + //GetButtonPower(); + BindGrid(); + } + } + + #region 获取按钮权限 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + if (Request.Params["value"] == BLL.Const._Null) + { + return; + } + var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.UndergroundPipeCompletionMenuId); + if (buttonList.Count() > 0) + { + if (buttonList.Contains(BLL.Const.BtnSave)) + { + } + } + } + #endregion + + /// + /// 加载Grid + /// + private void BindGrid() + { + string strSql = @"select * + from dbo.View_JDGL_UndergroundPipeCompletion qc + where qc.ProjectId=@ProjectId order by qc.UnitName"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + //tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); + } + + #region 月份选择事件 + /// + /// 月份选择事件 + /// + /// + /// + protected void txtMonths_TextChanged(object sender, EventArgs e) + { + BindGrid(); + } + #endregion + + #region 导入 + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("UndergroundPipeCompletionIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - "))); + } + + /// + /// 关闭导入弹出窗口 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx.designer.cs new file mode 100644 index 00000000..2820211e --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletion.aspx.designer.cs @@ -0,0 +1,87 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class UndergroundPipeCompletion { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx new file mode 100644 index 00000000..3bb7fd48 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx @@ -0,0 +1,92 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UndergroundPipeCompletionIn.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.UndergroundPipeCompletionIn" %> + + + + + +导入信息 + + + +
+ + + + + + + + + + + + + + + + + + + <%----%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<%-- + + + + + --%> + + + + + diff --git a/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx.cs b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx.cs new file mode 100644 index 00000000..96bd92ab --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx.cs @@ -0,0 +1,535 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.OleDb; +using System.IO; +using System.Linq; +using System.Web.UI; + +namespace FineUIPro.Web.JDGL.Check +{ + public partial class UndergroundPipeCompletionIn : PageBase + { + #region 定义变量 + /// + /// 上传预设的虚拟路径 + /// + private string initPath = Const.ExcelUrl; + + /// + /// 人员集合 + /// + public static List undergroundPipeCompletions = new List(); + + /// + /// 错误集合 + /// + public static string errorInfos = string.Empty; + + /// + /// 项目ID + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + #endregion + + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.hdFileName.Text = string.Empty; + this.hdCheckResult.Text = string.Empty; + if (undergroundPipeCompletions != null) + { + undergroundPipeCompletions.Clear(); + } + errorInfos = string.Empty; + this.ProjectId = Request.Params["ProjectId"]; + } + } + #endregion + + #region 审核 + /// + /// 审核 + /// + /// + /// + protected void btnAudit_Click(object sender, EventArgs e) + { + try + { + if (this.fuAttachUrl.HasFile == false) + { + ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning); + return; + } + string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls") + { + ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning); + return; + } + if (undergroundPipeCompletions != null) + { + undergroundPipeCompletions.Clear(); + } + if (!string.IsNullOrEmpty(errorInfos)) + { + errorInfos = string.Empty; + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + if (!Directory.Exists(initFullPath)) + { + Directory.CreateDirectory(initFullPath); + } + + this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls; + string filePath = initFullPath + this.hdFileName.Text; + this.fuAttachUrl.PostedFile.SaveAs(filePath); + //PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonDataAudit.aspx?FileName={0}&ProjectId={1}", this.hdFileName.Text, Request.Params["ProjectId"], "审核 - "))); + ImportXlsToData(rootPath + initPath + this.hdFileName.Text); + } + catch (Exception ex) + { + ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning); + } + } + + #region 读Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL(ds.Tables[0], 3); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集行数 + /// + private bool AddDatasetToSQL(DataTable pds, int Cols) + { + string result = string.Empty; + int ic, ir; + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "行", MessageBoxIcon.Warning); + } + ir = pds.Rows.Count; + var units = from x in Funs.DB.Base_Unit + select x; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + string col0 = pds.Rows[i][0].ToString().Trim(); + if (!string.IsNullOrEmpty(col0)) + { + var unit = units.FirstOrDefault(e => e.UnitName == col0); + if (unit != null) + { + var projectUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == unit.UnitId); + if (projectUnit == null) + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在本项目中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "[" + col0 + "]不在单位表中!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "施工单位" + "," + "此项为必填项!" + "|"; + } + + string col1 = pds.Rows[i][1].ToString().Trim(); + if (!string.IsNullOrEmpty(col1)) + { + try + { + decimal dec = Convert.ToDecimal(col1); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "DIN/米" + "," + "[" + col1 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "DIN/米" + "," + "此项为必填项!" + "|"; + } + + string col2 = pds.Rows[i][2].ToString().Trim(); + if (!string.IsNullOrEmpty(col2)) + { + try + { + decimal dec = Convert.ToDecimal(col2); + } + catch (Exception) + { + result += "第" + (i + 2).ToString() + "行," + "本期完成量" + "," + "[" + col2 + "]错误!" + "|"; + } + } + else + { + result += "第" + (i + 2).ToString() + "行," + "本期完成量" + "," + "此项为必填项!" + "|"; + } + } + if (!string.IsNullOrEmpty(result)) + { + result = result.Substring(0, result.LastIndexOf("|")); + errorInfos = result; + Alert alert = new Alert + { + Message = result, + Target = Target.Self + }; + alert.Show(); + + + } + else + { + errorInfos = string.Empty; + ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 导入 + /// + /// 导入 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(errorInfos)) + { + if (!string.IsNullOrEmpty(this.hdFileName.Text)) + { + string rootPath = Server.MapPath("~/"); + ImportXlsToData2(rootPath + initPath + this.hdFileName.Text); + } + else + { + ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning); + } + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + + #region Excel提取数据 + /// + /// 从Excel提取数据--》Dataset + /// + /// Excel文件路径名 + private void ImportXlsToData2(string fileName) + { + try + { + string oleDBConnString = String.Empty; + oleDBConnString = "Provider=Microsoft.Jet.OLEDB.4.0;"; + oleDBConnString += "Data Source="; + oleDBConnString += fileName; + oleDBConnString += ";Extended Properties=Excel 8.0;"; + OleDbConnection oleDBConn = null; + OleDbDataAdapter oleAdMaster = null; + DataTable m_tableName = new DataTable(); + DataSet ds = new DataSet(); + + oleDBConn = new OleDbConnection(oleDBConnString); + oleDBConn.Open(); + m_tableName = oleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (m_tableName != null && m_tableName.Rows.Count > 0) + { + + m_tableName.TableName = m_tableName.Rows[0]["TABLE_NAME"].ToString().Trim(); + + } + string sqlMaster; + sqlMaster = " SELECT * FROM [" + m_tableName.TableName + "]"; + oleAdMaster = new OleDbDataAdapter(sqlMaster, oleDBConn); + oleAdMaster.Fill(ds, "m_tableName"); + oleAdMaster.Dispose(); + oleDBConn.Close(); + oleDBConn.Dispose(); + + AddDatasetToSQL2(ds.Tables[0], 3); + } + catch (Exception ex) + { + throw ex; + } + } + #endregion + + #region 将Dataset的数据导入数据库 + /// + /// 将Dataset的数据导入数据库 + /// + /// 数据集 + /// 数据集列数 + /// + private bool AddDatasetToSQL2(DataTable pds, int Cols) + { + int ic, ir; + undergroundPipeCompletions.Clear(); + ic = pds.Columns.Count; + if (ic < Cols) + { + Alert.ShowInTop("导入Excel格式错误!Excel只有" + ic.ToString().Trim() + "列", MessageBoxIcon.Warning); + } + var units = from x in Funs.DB.Base_Unit + select x; + ir = pds.Rows.Count; + if (pds != null && ir > 0) + { + for (int i = 0; i < ir; i++) + { + Model.View_JDGL_UndergroundPipeCompletion undergroundPipeCompletion = new Model.View_JDGL_UndergroundPipeCompletion(); + string col0 = pds.Rows[i][0].ToString().Trim(); + string col1 = pds.Rows[i][1].ToString().Trim(); + string col2 = pds.Rows[i][2].ToString().Trim(); + if (!string.IsNullOrEmpty(col0))//施工单位 + { + var unit = units.FirstOrDefault(x => x.UnitName == col0); + if (unit != null) + { + undergroundPipeCompletion.UnitId = unit.UnitId; + undergroundPipeCompletion.UnitName = unit.UnitName; + } + } + if (!string.IsNullOrEmpty(col1))//DIN/米 + { + undergroundPipeCompletion.TotalNum = Funs.GetNewDecimalOrZero(col1); + } + if (!string.IsNullOrEmpty(col2))//本期完成量 + { + undergroundPipeCompletion.ThisNum = Funs.GetNewDecimalOrZero(col2); + } + undergroundPipeCompletion.UndergroundPipeCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_UndergroundPipeCompletion)); + undergroundPipeCompletions.Add(undergroundPipeCompletion); + } + if (undergroundPipeCompletions.Count > 0) + { + this.Grid1.Hidden = false; + this.Grid1.DataSource = undergroundPipeCompletions; + this.Grid1.DataBind(); + } + } + else + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + } + return true; + } + #endregion + #endregion + + #region 保存 + /// + /// 保存 + /// + /// + /// + protected void btnSave_Click(object sender, EventArgs e) + { + if (string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) || string.IsNullOrEmpty(this.txtEndDate.Text.Trim())) + { + ShowNotify("请选择开始、结束日期!", MessageBoxIcon.Warning); + return; + } + if (string.IsNullOrEmpty(errorInfos)) + { + var undergroundPipeCompletionLists = from x in Funs.DB.JDGL_UndergroundPipeCompletion where x.ProjectId == this.ProjectId select x; + int a = undergroundPipeCompletions.Count(); + DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); + DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); + for (int i = 0; i < a; i++) + { + var oldUndergroundPipeCompletion = undergroundPipeCompletionLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.UnitId == undergroundPipeCompletions[i].UnitId && x.StartDate == startDate && x.EndDate == endDate); + if (oldUndergroundPipeCompletion == null) + { + Model.JDGL_UndergroundPipeCompletion newUndergroundPipeCompletion = new Model.JDGL_UndergroundPipeCompletion(); + newUndergroundPipeCompletion.UndergroundPipeCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_UndergroundPipeCompletion)); + newUndergroundPipeCompletion.ProjectId = this.ProjectId; + newUndergroundPipeCompletion.UnitId = undergroundPipeCompletions[i].UnitId; + newUndergroundPipeCompletion.TotalNum = undergroundPipeCompletions[i].TotalNum; + newUndergroundPipeCompletion.ThisNum = undergroundPipeCompletions[i].ThisNum; + newUndergroundPipeCompletion.CompileMan = this.CurrUser.UserId; + newUndergroundPipeCompletion.CompileDate = DateTime.Now; + newUndergroundPipeCompletion.StartDate = startDate; + newUndergroundPipeCompletion.EndDate = endDate; + BLL.UndergroundPipeCompletionService.AddUndergroundPipeCompletion(newUndergroundPipeCompletion); + } + else + { + oldUndergroundPipeCompletion.TotalNum = undergroundPipeCompletions[i].TotalNum; + oldUndergroundPipeCompletion.ThisNum = undergroundPipeCompletions[i].ThisNum; + BLL.UndergroundPipeCompletionService.UpdateUndergroundPipeCompletion(oldUndergroundPipeCompletion); + } + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + string filePath = initFullPath + this.hdFileName.Text; + if (filePath != string.Empty && System.IO.File.Exists(filePath)) + { + System.IO.File.Delete(filePath);//删除上传的XLS文件 + } + ShowNotify("导入成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + Alert.ShowInTop("请先将错误数据修正,再重新导入保存!", MessageBoxIcon.Warning); + } + } + #endregion + + #region 导出错误提示 + /// + /// 导出错误提示 + /// + /// + /// + protected void btnOut_Click(object sender, EventArgs e) + { + //string strFileName = DateTime.Now.ToString("yyyyMMdd-hhmmss"); + //System.Web.HttpContext HC = System.Web.HttpContext.Current; + //HC.Response.Clear(); + //HC.Response.Buffer = true; + //HC.Response.ContentEncoding = System.Text.Encoding.UTF8;//设置输出流为简体中文 + + ////---导出为Excel文件 + //HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls"); + //HC.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 + + //System.IO.StringWriter sw = new System.IO.StringWriter(); + //System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); + //this.gvErrorInfo.RenderControl(htw); + //HC.Response.Write(sw.ToString()); + //HC.Response.End(); + } + + /// + /// 重载VerifyRenderingInServerForm方法,否则运行的时候会出现如下错误提示:“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内” + /// + /// + public override void VerifyRenderingInServerForm(Control control) + { + } + #endregion + + #region 下载模板 + /// + /// 下载模板按钮 + /// + /// + /// + protected void btnDownLoad_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + /// + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.UndergroundPipeCompletionTemplateUrl; + string filePath = Const.UndergroundPipeCompletionTemplateUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } + } + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx.designer.cs b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx.designer.cs new file mode 100644 index 00000000..5dc4dc20 --- /dev/null +++ b/SGGL/FineUIPro.Web/JDGL/Check/UndergroundPipeCompletionIn.aspx.designer.cs @@ -0,0 +1,150 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.JDGL.Check { + + + public partial class UndergroundPipeCompletionIn { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtStartDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStartDate; + + /// + /// txtEndDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndDate; + + /// + /// btnAudit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAudit; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// btnDownLoad 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDownLoad; + + /// + /// fuAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.FileUpload fuAttachUrl; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Label2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label2; + + /// + /// hdFileName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdFileName; + + /// + /// hdCheckResult 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckResult; + } +} diff --git a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXFind.aspx b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXFind.aspx index 5da7f6c7..5bafbeee 100644 --- a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXFind.aspx +++ b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXFind.aspx @@ -69,8 +69,14 @@ - + + + @@ -84,15 +90,11 @@ - - + - - + diff --git a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx index f54f09a1..7b2db81e 100644 --- a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx +++ b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx @@ -84,6 +84,11 @@ + + + + + diff --git a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx.cs b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx.cs index 4dfe483a..df7bc18c 100644 --- a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx.cs +++ b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx.cs @@ -279,5 +279,19 @@ namespace FineUIPro.Web.PZHGL.GJSX { BindGrid(); } + + protected string ConvertProgressDetail(object GJSXID) + { + string detailStr = string.Empty; + if (!string.IsNullOrEmpty(GJSXID.ToString())) + { + Model.GJSX_detail detail = (from x in Funs.DB.GJSX_detail where x.GJSXID == GJSXID.ToString() && x.Progress_detail != null && x.Progress_detail != "" orderby x.Date descending select x).FirstOrDefault(); + if (detail != null) + { + detailStr = detail.Progress_detail; + } + } + return detailStr; + } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx.designer.cs b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx.designer.cs index 83282b14..ae0f7386 100644 --- a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXList.aspx.designer.cs @@ -66,6 +66,15 @@ namespace FineUIPro.Web.PZHGL.GJSX { /// protected global::FineUIPro.Button btnNew; + /// + /// Label2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label2; + /// /// ToolbarSeparator1 控件。 /// diff --git a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXListEdit.aspx.cs b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXListEdit.aspx.cs index 77734927..8dd53a12 100644 --- a/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXListEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/PZHGL/GJSX/GJSXListEdit.aspx.cs @@ -440,7 +440,7 @@ namespace FineUIPro.Web.PZHGL.GJSX gjsx.ProjectId = this.CurrUser.LoginProjectId; gjsx.UnitId = this.DropUnitId.SelectedValue; gjsx.State = state; - gjsx.QuestionTypeID = this.DropQuestionTypeID.SelectedValue; + //gjsx.QuestionTypeID = this.DropQuestionTypeID.SelectedValue; gjsx.IsManypeople = lblIsManyPeople.SelectedValue; gjsx.CompleteDate = DateTime.Parse(Date_CompleteDate.Text); gjsx.AttachUrl = ""; diff --git a/SGGL/FineUIPro.Web/Person/PersonPlan.aspx b/SGGL/FineUIPro.Web/Person/PersonPlan.aspx index 2ffd9121..f77e6a01 100644 --- a/SGGL/FineUIPro.Web/Person/PersonPlan.aspx +++ b/SGGL/FineUIPro.Web/Person/PersonPlan.aspx @@ -6,6 +6,11 @@ 人员初步规划 +
@@ -24,14 +29,15 @@ - + - + - + + @@ -68,42 +74,42 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/Person/PersonPlan.aspx.cs b/SGGL/FineUIPro.Web/Person/PersonPlan.aspx.cs index 5f6b9815..7b53418a 100644 --- a/SGGL/FineUIPro.Web/Person/PersonPlan.aspx.cs +++ b/SGGL/FineUIPro.Web/Person/PersonPlan.aspx.cs @@ -62,36 +62,206 @@ namespace FineUIPro.Web.Person /// private void BindGrid() { - string strSql = @"SELECT * FROM View_Person_PersonPlan WHERE Years=@years"; - List listStr = new List(); - listStr.Add(new SqlParameter("@years", DateTime.Now.Year)); - if (this.drpProjectId.SelectedValue != BLL.Const._Null) + if (!this.ckDistinct.Checked) { - strSql += " AND ProjectId=@projectId"; - listStr.Add(new SqlParameter("@projectId", this.drpProjectId.SelectedValue)); + string strSql = @"SELECT * FROM View_Person_PersonPlan WHERE Years=@years"; + List listStr = new List(); + listStr.Add(new SqlParameter("@years", DateTime.Now.Year)); + if (this.drpProjectId.SelectedValue != BLL.Const._Null) + { + strSql += " AND ProjectId=@projectId"; + listStr.Add(new SqlParameter("@projectId", this.drpProjectId.SelectedValue)); + } + if (this.drpDepartId.SelectedValue != BLL.Const._Null) + { + strSql += " AND DepartId=@DepartId"; + listStr.Add(new SqlParameter("@DepartId", this.drpDepartId.SelectedValue)); + } + if (!string.IsNullOrEmpty(this.txtMajor.Text.Trim())) + { + strSql += " AND Major LIKE @Major"; + listStr.Add(new SqlParameter("@Major", "%" + this.txtMajor.Text.Trim() + "%")); + } + if (this.drpPersonType.SelectedValue != BLL.Const._Null) + { + strSql += " AND PersonType=@PersonType"; + listStr.Add(new SqlParameter("@PersonType", this.drpPersonType.SelectedValue)); + } + if (!string.IsNullOrEmpty(this.txtUserName.Text.Trim())) + { + strSql += " AND UserName LIKE @UserName"; + listStr.Add(new SqlParameter("@UserName", "%" + this.txtUserName.Text.Trim() + "%")); + } + if (this.drpMonth.SelectedValue != BLL.Const._Null) + { + this.Grid1.FindColumn("Month1").Hidden = true; + this.Grid1.FindColumn("Month2").Hidden = true; + this.Grid1.FindColumn("Month3").Hidden = true; + this.Grid1.FindColumn("Month4").Hidden = true; + this.Grid1.FindColumn("Month5").Hidden = true; + this.Grid1.FindColumn("Month6").Hidden = true; + this.Grid1.FindColumn("Month7").Hidden = true; + this.Grid1.FindColumn("Month8").Hidden = true; + this.Grid1.FindColumn("Month9").Hidden = true; + this.Grid1.FindColumn("Month10").Hidden = true; + this.Grid1.FindColumn("Month11").Hidden = true; + this.Grid1.FindColumn("Month12").Hidden = true; + + if (this.drpMonth.SelectedValue == "1") + { + this.Grid1.FindColumn("Month1").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "2") + { + this.Grid1.FindColumn("Month2").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "3") + { + this.Grid1.FindColumn("Month3").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "4") + { + this.Grid1.FindColumn("Month4").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "5") + { + this.Grid1.FindColumn("Month5").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "6") + { + this.Grid1.FindColumn("Month6").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "7") + { + this.Grid1.FindColumn("Month7").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "8") + { + this.Grid1.FindColumn("Month8").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "9") + { + this.Grid1.FindColumn("Month9").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "10") + { + this.Grid1.FindColumn("Month10").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "11") + { + this.Grid1.FindColumn("Month11").Hidden = false; + } + else if (this.drpMonth.SelectedValue == "12") + { + this.Grid1.FindColumn("Month12").Hidden = false; + } + } + else + { + this.Grid1.FindColumn("Month1").Hidden = false; + this.Grid1.FindColumn("Month2").Hidden = false; + this.Grid1.FindColumn("Month3").Hidden = false; + this.Grid1.FindColumn("Month4").Hidden = false; + this.Grid1.FindColumn("Month5").Hidden = false; + this.Grid1.FindColumn("Month6").Hidden = false; + this.Grid1.FindColumn("Month7").Hidden = false; + this.Grid1.FindColumn("Month8").Hidden = false; + this.Grid1.FindColumn("Month9").Hidden = false; + this.Grid1.FindColumn("Month10").Hidden = false; + this.Grid1.FindColumn("Month11").Hidden = false; + this.Grid1.FindColumn("Month12").Hidden = false; + } + this.Grid1.FindColumn("ProjectName").Hidden = false; + this.Grid1.FindColumn("Remark").Hidden = false; + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); } - if (this.drpDepartId.SelectedValue != BLL.Const._Null) - { - strSql += " AND DepartId=@DepartId"; - listStr.Add(new SqlParameter("@DepartId", this.drpDepartId.SelectedValue)); - } - if (!string.IsNullOrEmpty(this.txtMajor.Text.Trim())) - { - strSql += " AND Major LIKE @Major"; - listStr.Add(new SqlParameter("@Major", "%" + this.txtMajor.Text.Trim() + "%")); - } - if (this.drpPersonType.SelectedValue != BLL.Const._Null) - { - strSql += " AND PersonType=@PersonType"; - listStr.Add(new SqlParameter("@PersonType", this.drpPersonType.SelectedValue)); - } - if (!string.IsNullOrEmpty(this.txtUserName.Text.Trim())) - { - strSql += " AND UserName LIKE @UserName"; - listStr.Add(new SqlParameter("@UserName", "%" + this.txtUserName.Text.Trim() + "%")); - } - if (this.drpMonth.SelectedValue != BLL.Const._Null) + else //去重复筛选 { + string strSql = @"SELECT distinct DepartName+UserName as PersonPlanId, DepartName,UserName,Major,PersonTypeName,'' as ProjectName,Remark FROM View_Person_PersonPlan WHERE Years=@years"; + List listStr = new List(); + listStr.Add(new SqlParameter("@years", DateTime.Now.Year)); + if (this.drpProjectId.SelectedValue != BLL.Const._Null) + { + strSql += " AND ProjectId=@projectId"; + listStr.Add(new SqlParameter("@projectId", this.drpProjectId.SelectedValue)); + } + if (this.drpDepartId.SelectedValue != BLL.Const._Null) + { + strSql += " AND DepartId=@DepartId"; + listStr.Add(new SqlParameter("@DepartId", this.drpDepartId.SelectedValue)); + } + if (!string.IsNullOrEmpty(this.txtMajor.Text.Trim())) + { + strSql += " AND Major LIKE @Major"; + listStr.Add(new SqlParameter("@Major", "%" + this.txtMajor.Text.Trim() + "%")); + } + if (this.drpPersonType.SelectedValue != BLL.Const._Null) + { + strSql += " AND PersonType=@PersonType"; + listStr.Add(new SqlParameter("@PersonType", this.drpPersonType.SelectedValue)); + } + if (!string.IsNullOrEmpty(this.txtUserName.Text.Trim())) + { + strSql += " AND UserName LIKE @UserName"; + listStr.Add(new SqlParameter("@UserName", "%" + this.txtUserName.Text.Trim() + "%")); + } + if (this.drpMonth.SelectedValue != BLL.Const._Null) + { + if (this.drpMonth.SelectedValue == "1") + { + strSql += " AND Month1=1"; + } + else if (this.drpMonth.SelectedValue == "2") + { + strSql += " AND Month2=1"; + } + else if (this.drpMonth.SelectedValue == "3") + { + strSql += " AND Month3=1"; + } + else if (this.drpMonth.SelectedValue == "4") + { + strSql += " AND Month4=1"; + } + else if (this.drpMonth.SelectedValue == "5") + { + strSql += " AND Month5=1"; + } + else if (this.drpMonth.SelectedValue == "6") + { + strSql += " AND Month6=1"; + } + else if (this.drpMonth.SelectedValue == "7") + { + strSql += " AND Month7=1"; + } + else if (this.drpMonth.SelectedValue == "8") + { + strSql += " AND Month8=1"; + } + else if (this.drpMonth.SelectedValue == "9") + { + strSql += " AND Month9=1"; + } + else if (this.drpMonth.SelectedValue == "10") + { + strSql += " AND Month10=1"; + } + else if (this.drpMonth.SelectedValue == "11") + { + strSql += " AND Month11=1"; + } + else if (this.drpMonth.SelectedValue == "12") + { + strSql += " AND Month12=1"; + } + } + this.Grid1.FindColumn("ProjectName").Hidden = true; this.Grid1.FindColumn("Month1").Hidden = true; this.Grid1.FindColumn("Month2").Hidden = true; this.Grid1.FindColumn("Month3").Hidden = true; @@ -104,77 +274,14 @@ namespace FineUIPro.Web.Person this.Grid1.FindColumn("Month10").Hidden = true; this.Grid1.FindColumn("Month11").Hidden = true; this.Grid1.FindColumn("Month12").Hidden = true; - - if (this.drpMonth.SelectedValue=="1") - { - this.Grid1.FindColumn("Month1").Hidden = false; - } - else if (this.drpMonth.SelectedValue=="2") - { - this.Grid1.FindColumn("Month2").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "3") - { - this.Grid1.FindColumn("Month3").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "4") - { - this.Grid1.FindColumn("Month4").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "5") - { - this.Grid1.FindColumn("Month5").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "6") - { - this.Grid1.FindColumn("Month6").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "7") - { - this.Grid1.FindColumn("Month7").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "8") - { - this.Grid1.FindColumn("Month8").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "9") - { - this.Grid1.FindColumn("Month9").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "10") - { - this.Grid1.FindColumn("Month10").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "11") - { - this.Grid1.FindColumn("Month11").Hidden = false; - } - else if (this.drpMonth.SelectedValue == "12") - { - this.Grid1.FindColumn("Month12").Hidden = false; - } + this.Grid1.FindColumn("Remark").Hidden = true; + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.RecordCount = tb.Rows.Count; + var table = this.GetPagedDataTable(Grid1, tb); + Grid1.DataSource = table; + Grid1.DataBind(); } - else - { - this.Grid1.FindColumn("Month1").Hidden = false; - this.Grid1.FindColumn("Month2").Hidden = false; - this.Grid1.FindColumn("Month3").Hidden = false; - this.Grid1.FindColumn("Month4").Hidden = false; - this.Grid1.FindColumn("Month5").Hidden = false; - this.Grid1.FindColumn("Month6").Hidden = false; - this.Grid1.FindColumn("Month7").Hidden = false; - this.Grid1.FindColumn("Month8").Hidden = false; - this.Grid1.FindColumn("Month9").Hidden = false; - this.Grid1.FindColumn("Month10").Hidden = false; - this.Grid1.FindColumn("Month11").Hidden = false; - this.Grid1.FindColumn("Month12").Hidden = false; - } - SqlParameter[] parameter = listStr.ToArray(); - DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); - Grid1.RecordCount = tb.Rows.Count; - var table = this.GetPagedDataTable(Grid1, tb); - Grid1.DataSource = table; - Grid1.DataBind(); } #endregion diff --git a/SGGL/FineUIPro.Web/Person/PersonPlan.aspx.designer.cs b/SGGL/FineUIPro.Web/Person/PersonPlan.aspx.designer.cs index a207ddc9..1b5af3a7 100644 --- a/SGGL/FineUIPro.Web/Person/PersonPlan.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/Person/PersonPlan.aspx.designer.cs @@ -120,6 +120,15 @@ namespace FineUIPro.Web.Person { /// protected global::FineUIPro.TextBox txtUserName; + /// + /// ckDistinct 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.CheckBox ckDistinct; + /// /// btnSearch 控件。 /// diff --git a/SGGL/FineUIPro.Web/common/Menu_JDGL.xml b/SGGL/FineUIPro.Web/common/Menu_JDGL.xml index 3daf417e..e6bd867a 100644 --- a/SGGL/FineUIPro.Web/common/Menu_JDGL.xml +++ b/SGGL/FineUIPro.Web/common/Menu_JDGL.xml @@ -1,19 +1,12 @@  - - - - - - - - - - - - - - - + + + + + + + + \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/common/Menu_Person.xml b/SGGL/FineUIPro.Web/common/Menu_Person.xml index fcb7f96e..d6dcfd39 100644 --- a/SGGL/FineUIPro.Web/common/Menu_Person.xml +++ b/SGGL/FineUIPro.Web/common/Menu_Person.xml @@ -12,5 +12,4 @@ - \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/common/PageBase.cs b/SGGL/FineUIPro.Web/common/PageBase.cs index 5776802c..9cea5c7f 100644 --- a/SGGL/FineUIPro.Web/common/PageBase.cs +++ b/SGGL/FineUIPro.Web/common/PageBase.cs @@ -914,6 +914,10 @@ namespace FineUIPro.Web { html = (row.FindControl("lblSpecialEquipmentId") as AspNet.Label).Text; } + if (column.ColumnID == "CheckManNames") + { + html = (row.FindControl("lbCheckManNames") as AspNet.Label).Text; + } // 处理CheckBox if (html.Contains("f-grid-static-checkbox")) { @@ -938,6 +942,99 @@ namespace FineUIPro.Web return sb.ToString(); } + /// + /// 导出方法 + /// + /// + /// + public static string GetGridTableHtml2(Grid grid) + { + StringBuilder sb = new StringBuilder(); + sb.Append(""); + sb.Append(""); + sb.Append(""); + + foreach (GridColumn column in grid.Columns) + { + if (column.ColumnID != "AttachFile" && column.ColumnID!= "lbfAction1" && column.ColumnID != "AttachFile2") + { + sb.AppendFormat("", column.HeaderText); + } + } + sb.Append(""); + foreach (GridRow row in grid.Rows) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column.ColumnID != "AttachFile" && column.ColumnID != "lbfAction1" && column.ColumnID != "AttachFile2") + { + string html = row.Values[column.ColumnIndex].ToString(); + if (column.ColumnID == "tfPageIndex" && (row.FindControl("lblPageIndex") as AspNet.Label) != null) + { + html = (row.FindControl("lblPageIndex") as AspNet.Label).Text; + } + if (column.ColumnID == "UnitWorkName" && (row.FindControl("lbUnitWorkName") as AspNet.Label) != null) + { + html = (row.FindControl("lbUnitWorkName") as AspNet.Label).Text; + } + if (column.ColumnID == "UnitName" && (row.FindControl("lbUnitName") as AspNet.Label) != null) + { + html = (row.FindControl("lbUnitName") as AspNet.Label).Text; + } + if (column.ColumnID == "UnitNames" && (row.FindControl("lbUnitNames") as AspNet.Label) != null) + { + html = (row.FindControl("lbUnitNames") as AspNet.Label).Text; + } + if (column.ColumnID == "tfNumber" && (row.FindControl("labNumber") as AspNet.Label) != null) + { + html = (row.FindControl("labNumber") as AspNet.Label).Text; + } + if (column.ColumnID == "tfTeamType" && (row.FindControl("lbTeamType") as AspNet.Label) != null) + { + html = (row.FindControl("lbTeamType") as AspNet.Label).Text; + } + if (column.ColumnID == "tfI" && (row.FindControl("tfI") as AspNet.Label) != null) + { + html = (row.FindControl("lbI") as AspNet.Label).Text; + } + if (column.ColumnID == "tfCompileMan" && (row.FindControl("tfCompileMan") as AspNet.Label) != null) + { + html = (row.FindControl("lblCompileMan") as AspNet.Label).Text; + } + if (column.ColumnID == "tfSpecialEquipmentId") + { + html = (row.FindControl("lblSpecialEquipmentId") as AspNet.Label).Text; + } + if (column.ColumnID == "CheckManNames") + { + html = (row.FindControl("lbCheckManNames") as AspNet.Label).Text; + } + // 处理CheckBox + if (html.Contains("f-grid-static-checkbox")) + { + if (!html.Contains("f-checked")) + { + html = "×"; + } + else + { + html = "√"; + } + } + sb.AppendFormat("", html); + // sb.AppendFormat("", html); + } + } + + sb.Append(""); + } + + sb.Append("
{0}
{0}{0}
"); + + return sb.ToString(); + } + /// /// DataTable转HTML /// diff --git a/SGGL/FineUIPro.Web/common/mainMenu_JDGL.aspx.cs b/SGGL/FineUIPro.Web/common/mainMenu_JDGL.aspx.cs index d5109c8f..80cba1cc 100644 --- a/SGGL/FineUIPro.Web/common/mainMenu_JDGL.aspx.cs +++ b/SGGL/FineUIPro.Web/common/mainMenu_JDGL.aspx.cs @@ -24,232 +24,11 @@ namespace FineUIPro.Web { get { - DataTable tb = new DataTable(); - DateTime startDate, endDate, startMonth, endMonth; - List months = new List(); - List weeks = new List(); - List days = new List(); - string isDataOK = string.Empty; - Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); - //默认开始结束日期为项目开始结束日期 - startDate = Convert.ToDateTime(project.StartDate); - endDate = DateTime.Now.Date.AddDays(1).AddSeconds(-1); - if (project.EndDate != null && DateTime.Now > project.EndDate) - { - endDate = project.EndDate.Value.AddDays(1).AddSeconds(-1); - } - List unitWorks = new List(); - List workPackages = new List(); - List controlItemAndCycles = new List(); - List soptCheckDetails = new List(); - unitWorks = BLL.UnitWorkService.GetUnitWorkLists(this.CurrUser.LoginProjectId); - decimal totalUnitWorkWeights = 0; - bool noWeights = false; - bool noProjectWeights = false; - - workPackages = BLL.WorkPackageService.GetAllWorkPackagesByProjectId(this.CurrUser.LoginProjectId); - controlItemAndCycles = BLL.ControlItemAndCycleService.GetControlItemAndCyclesByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate); - soptCheckDetails = BLL.SpotCheckDetailService.GetViewSpotCheckDetailsByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate, isDataOK); - var unitWork1 = Funs.DB.WBS_UnitWork.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.Weights == null); - if (unitWork1 != null) //存在没有权重值的单位工程 - { - noProjectWeights = true; - } - - //if (noWeights && unitWorkIds.Length > 1) - //{ - // Alert.ShowInTop("请先设置所选单位工程的权重值!", MessageBoxIcon.Warning); - // return; - //} - //if (noProjectWeights) - //{ - // Alert.ShowInTop("请先设置所有单位工程的权重值!", MessageBoxIcon.Warning); - // return; - //} - //if (this.drpUnitWork.SelectedValue != BLL.Const._Null) - //{ - // workPackages = BLL.WorkPackageService.GetAllWorkPackagesByUnitWorkId(this.drpUnitWork.SelectedValue); - // controlItemAndCycles = BLL.ControlItemAndCycleService.GetControlItemAndCyclesByUnitWorkIdAndDate(this.drpUnitWork.SelectedValue, endDate); - // soptCheckDetails = BLL.SpotCheckDetailService.GetViewSpotCheckDetailsByUnitWorkIdAndDate(this.drpUnitWork.SelectedValue, endDate, isDataOK); - //} - //else - //{ - // workPackages = BLL.WorkPackageService.GetAllWorkPackagesByProjectId(this.CurrUser.LoginProjectId); - // controlItemAndCycles = BLL.ControlItemAndCycleService.GetControlItemAndCyclesByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate); - // soptCheckDetails = BLL.SpotCheckDetailService.GetViewSpotCheckDetailsByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate, isDataOK); - //} - decimal lastDPlanTotal = 0; - decimal lastDCompleteTotal = 0; - tb.Columns.Add("月"); - startMonth = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-01"); - endMonth = Convert.ToDateTime(endDate.Year + "-" + endDate.Month + "-01"); - do - { - months.Add(startMonth); - startMonth = startMonth.AddMonths(1); - } while (startMonth <= endMonth); - tb.Columns.Add("计划值"); - tb.Columns.Add("累计计划值"); - tb.Columns.Add("实际值"); - tb.Columns.Add("累计实际值"); - for (int i = 0; i < months.Count; i++) - { - DataRow row = tb.NewRow(); - row[0] = string.Format("{0:yyyy-MM}", months[i]); - //对应月份的记录 - decimal dPlan = 0, dPlan1 = 0, dPlanTotal = 0, dComplete = 0, dComplete1 = 0, dCompleteMonth = 0, dCompleteTotal = 0; - //当月及之前所有工作包内容 - var totalPlanCompleteControlItemAndCycles = controlItemAndCycles.Where(x => x.PlanCompleteDate < months[i].AddMonths(1)); - //当月及之前所有验收合格记录 - var totalSoptCheckDetails = soptCheckDetails.Where(x => x.SpotCheckDate < months[i].AddMonths(1)); - foreach (var item in totalPlanCompleteControlItemAndCycles) - { - { - var workPackage1 = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId); - if (workPackage1 != null) - { - //逐级递推计算权重计划值 - dPlan1 = Convert.ToDecimal((workPackage1.Weights ?? 0) / 100) * Convert.ToDecimal(item.Weights / 100); - var workPackage2 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage1.SuperWorkPackageId); - if (workPackage2 != null) - { - dPlan1 = Convert.ToDecimal((workPackage2.Weights ?? 0) / 100) * dPlan1; - var workPackage3 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage2.SuperWorkPackageId); - if (workPackage3 != null) - { - dPlan1 = Convert.ToDecimal((workPackage3.Weights ?? 0) / 100) * dPlan1; - } - } - } - var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage1.UnitWorkId); - if (unitWork != null) - { - dPlan1 = Convert.ToDecimal((unitWork.Weights ?? 0) / 100) * dPlan1; - } - } - if (item.PlanCompleteDate >= months[i]) //当月计划完成记录 - { - dPlan += dPlan1; //累加当月值 - } - dPlanTotal += dPlan1; //累加累计值 - - } - foreach (var item in controlItemAndCycles) - { - //实际值 - var itemSoptCheckDetails = soptCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId && x.SpotCheckDate < months[i].AddMonths(1)); - var itemMonthSoptCheckDetails = soptCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId && x.SpotCheckDate >= months[i] && x.SpotCheckDate < months[i].AddMonths(1)); - if (itemSoptCheckDetails.Count() > 0) //存在验收合格的记录 - { - //工作包实际值 - dComplete1 = Convert.ToDecimal(itemSoptCheckDetails.Count()) / Convert.ToDecimal(item.CheckNum) * Convert.ToDecimal(item.Weights); - var workPackage1 = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId); - if (workPackage1 != null) - { - //逐级递推计算权重计划值 - dComplete1 = Convert.ToDecimal((workPackage1.Weights ?? 0) / 100) * Convert.ToDecimal(dComplete1 / 100); - var workPackage2 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage1.SuperWorkPackageId); - if (workPackage2 != null) - { - dComplete1 = Convert.ToDecimal((workPackage2.Weights ?? 0) / 100) * dComplete1; - var workPackage3 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage2.SuperWorkPackageId); - if (workPackage3 != null) - { - dComplete1 = Convert.ToDecimal((workPackage3.Weights ?? 0) / 100) * dComplete1; - } - } - } - var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage1.UnitWorkId); - if (unitWork != null) - { - dComplete1 = Convert.ToDecimal((unitWork.Weights ?? 0) / 100) * dComplete1; - } - dCompleteTotal += dComplete1; - } - if (itemMonthSoptCheckDetails.Count() > 0) //当月存在验收合格的记录 - { - //工作包实际值 - dCompleteMonth = Convert.ToDecimal(itemMonthSoptCheckDetails.Count()) / Convert.ToDecimal(item.CheckNum) * Convert.ToDecimal(item.Weights); - var workPackage1 = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId); - if (workPackage1 != null) - { - //逐级递推计算权重计划值 - dCompleteMonth = Convert.ToDecimal((workPackage1.Weights ?? 0) / 100) * Convert.ToDecimal(dCompleteMonth / 100); - var workPackage2 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage1.SuperWorkPackageId); - if (workPackage2 != null) - { - dCompleteMonth = Convert.ToDecimal((workPackage2.Weights ?? 0) / 100) * dCompleteMonth; - var workPackage3 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage2.SuperWorkPackageId); - if (workPackage3 != null) - { - dCompleteMonth = Convert.ToDecimal((workPackage3.Weights ?? 0) / 100) * dCompleteMonth; - } - } - } - var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage1.UnitWorkId); - if (unitWork != null) - { - dCompleteMonth = Convert.ToDecimal((unitWork.Weights ?? 0) / 100) * dCompleteMonth; - } - dComplete += dCompleteMonth; - } - } - row[1] = dPlan.ToString(); //计划值 - if (dPlanTotal != lastDPlanTotal) //当期累计计划值不等于上月累计计划值时,再保存累计计划值 - { - row[2] = dPlanTotal.ToString(); //累计计划值 - for (int j = 0; j < i; j++) - { - if (string.IsNullOrEmpty(tb.Rows[j][2].ToString())) - { - tb.Rows[j][2] = lastDPlanTotal.ToString(); - } - } - } - else - { - if (dPlanTotal == 0) - { - row[2] = "0"; //累计计划值 - } - else - { - row[2] = dPlanTotal; - } - } - lastDPlanTotal = dPlanTotal; - row[3] = dComplete.ToString(); //实际值 - if (dCompleteTotal != lastDCompleteTotal) //当期累计实际值不等于上月累计实际值时,再保存累计实际值 - { - row[4] = dCompleteTotal.ToString(); //累计实际值 - for (int j = 0; j < i; j++) - { - if (string.IsNullOrEmpty(tb.Rows[j][4].ToString())) - { - tb.Rows[j][4] = lastDCompleteTotal.ToString(); - } - } - } - else - { - if (dCompleteTotal == 0) - { - row[4] = "0"; //累计实际值 - } - else - { - row[4] = dCompleteTotal; - } - } - lastDCompleteTotal = dCompleteTotal; - tb.Rows.Add(row); - } - List series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); businessColumn.title = "赢得值曲线"; - var units = BLL.ProjectUnitService.GetProjectUnitListByProjectIdUnitType(CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2); + var views = (from x in Funs.DB.View_JDGL_ProgressCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Months select x).ToList(); Model.SingleSerie s = new Model.SingleSerie(); Model.SingleSerie s2 = new Model.SingleSerie(); Model.SingleSerie s3 = new Model.SingleSerie(); @@ -258,13 +37,13 @@ namespace FineUIPro.Web List listdata2 = new List(); List listdata3 = new List(); List listdata4 = new List(); - for (int i = 0; i < tb.Rows.Count; i++) + for (int i = 0; i < views.Count; i++) { - listCategories.Add(tb.Rows[i][0].ToString()); - listdata.Add(Convert.ToDouble(tb.Rows[i][1].ToString()) * 100); - listdata2.Add(Convert.ToDouble(tb.Rows[i][2].ToString()) * 100); - listdata3.Add(Convert.ToDouble(tb.Rows[i][3].ToString()) * 100); - listdata4.Add(Convert.ToDouble(tb.Rows[i][4].ToString()) * 100); + listCategories.Add(views[i].MonthStr); + listdata.Add(Convert.ToDouble(views[i].PlanNum)); + listdata2.Add(Convert.ToDouble(views[i].TotalPlanNum)); + listdata3.Add(Convert.ToDouble(views[i].RealNum)); + listdata4.Add(Convert.ToDouble(views[i].TotalRealNum)); } s.data = listdata; s2.data = listdata2; diff --git a/SGGL/FineUIPro.Web/common/mainProject.aspx b/SGGL/FineUIPro.Web/common/mainProject.aspx index b2237b20..0492bb43 100644 --- a/SGGL/FineUIPro.Web/common/mainProject.aspx +++ b/SGGL/FineUIPro.Web/common/mainProject.aspx @@ -242,7 +242,10 @@ padding-left: 2em;
-
赢得值曲线
+
+
赢得值曲线
+
更多
+
@@ -255,7 +258,7 @@ padding-left: 2em;
各工种人力情况
-
总数:
+
总数:
@@ -579,7 +582,8 @@ padding-left: 2em; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option) } - var two = { "title": "赢得值曲线", "xFontNum": 0, "legend": null, "categories": ["2020-07", "2020-08", "2020-09", "2020-10", "2020-11", "2020-12", "2021-01", "2021-02"], "series": [{ "name": null, "type": null, "data": [5.0, 2.0, 0.0, 1.0, 4.0, 8.0, 2.0, 3.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [8.0, 12.0, 4.0, 9.0, 10.0, 2.0, 3.0, 3.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [12.0, 2.0, 5.0, 10.0, 3.0, 3.0, 8.0, 10.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [4.0, 3.0, 14.0, 8.0, 10.0, 3.0, 5.0, 10.0], "dataString": null, "dataObject": null }], "series2": null }; + //var two = { "title": "赢得值曲线", "xFontNum": 0, "legend": null, "categories": ["2020-07", "2020-08", "2020-09", "2020-10", "2020-11", "2020-12", "2021-01", "2021-02"], "series": [{ "name": null, "type": null, "data": [5.0, 2.0, 0.0, 1.0, 4.0, 8.0, 2.0, 3.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [8.0, 12.0, 4.0, 9.0, 10.0, 2.0, 3.0, 3.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [12.0, 2.0, 5.0, 10.0, 3.0, 3.0, 8.0, 10.0], "dataString": null, "dataObject": null }, { "name": null, "type": null, "data": [4.0, 3.0, 14.0, 8.0, 10.0, 3.0, 5.0, 10.0], "dataString": null, "dataObject": null }], "series2": null }; + var two =<%=Two %> var xArr1 = two.categories var data1 = [ { name: '计划值', @@ -851,7 +855,8 @@ padding-left: 2em; var slidesNum = 5 var mySwiper = null $(document).ready(function () { - var swiper_One ='<%=swiper_One %>' + var swiper_One = '<%=swiper_One %>' + $("#swiper2").css("width", ($("#swiper-pre").width()) + 'px') var height = $("#swiper-pre").height() - 40 $("#swiper2").css("height", (height) + 'px') slidesNum = Math.floor((height) / 24) @@ -875,36 +880,45 @@ padding-left: 2em; }); $(".js-more-1").click(function () { - var index = 5; - var str = '' - //for (var i = 0; i < (index + 1) * 3; i++) { - // str += '
项目' + i + '
' - //} - str += '
伊朗马苏化肥项目
' - str += '
内蒙古京能锡林煤化有限责任公司锡盟东乌旗褐煤提质项目净化装置
' - str += '
印尼PKG合成氨/尿素项目
' - str += '
埃及NCIC磷肥项目
' - str += '
湖北云华安化工有限公司合成氨搬迁技改项目
' - str += '
中煤鄂能化100万吨甲醇技改项目
' - str += '
宜都兴发化工有限公司300万吨/年低品位胶磷矿选矿及深加工项目湿法磷酸装置
' - str += '
中化云龙有限公司磷矿浆脱除75t/h燃煤锅炉尾气SO2成套设备项目
' - str += '
印度塔奇尔化肥项目(煤气化净化标段及合成氨尿素标段)
' - str += '
安阳中盈化肥有限公司尿素装置改造工程
' - str += '
俄罗斯晓基诺化肥项目
' - str += '
南通港吕四港区广汇能源LNG分销转运站2#160000m3储罐项目
' - str += '
启东项目
' - str += '
荒煤气综合利用年产40万吨乙二醇项目
' - str += '
济民可信(高安)清洁能源有限公司江西省建筑陶瓷产业基地清洁工业燃气项目主体装置EPC总承包
' - str += '
湖北兴力电子材料有限公司3万吨/年电子级氢氟酸项目
' - str += '
呼伦贝尔金新化工有限公司新增备用锅炉技改项目总承包工程
' - str += '
大石净水厂污泥干化减量服务项目
' - str += '
广汇启东扩建5#20万m3LNG储罐工程项目
' - str += '
东华能源(茂名)烷烃资源综合利用项目配套库区(一期)项目低温罐区(I)EPC项目​
' - str += '
江苏嘉盛燃气有限公司嘉盛LNG调峰储配站工程
' - str += '
山东滨州临港化工产业园首站项目
' - str += '
五环天地项目
' - $("#projectList").html(str) - $(".project-list-wrap").show(); + //var index = 5; + //var str = '' + ////for (var i = 0; i < (index + 1) * 3; i++) { + //// str += '
项目' + i + '
' + ////} + // str += '
伊朗马苏化肥项目
' + //str += '
内蒙古京能锡林煤化有限责任公司锡盟东乌旗褐煤提质项目净化装置
' + //str += '
印尼PKG合成氨/尿素项目
' + //str += '
埃及NCIC磷肥项目
' + //str += '
湖北云华安化工有限公司合成氨搬迁技改项目
' + //str += '
中煤鄂能化100万吨甲醇技改项目
' + //str += '
宜都兴发化工有限公司300万吨/年低品位胶磷矿选矿及深加工项目湿法磷酸装置
' + //str += '
中化云龙有限公司磷矿浆脱除75t/h燃煤锅炉尾气SO2成套设备项目
' + //str += '
印度塔奇尔化肥项目(煤气化净化标段及合成氨尿素标段)
' + //str += '
安阳中盈化肥有限公司尿素装置改造工程
' + //str += '
俄罗斯晓基诺化肥项目
' + //str += '
南通港吕四港区广汇能源LNG分销转运站2#160000m3储罐项目
' + //str += '
启东项目
' + //str += '
荒煤气综合利用年产40万吨乙二醇项目
' + //str += '
济民可信(高安)清洁能源有限公司江西省建筑陶瓷产业基地清洁工业燃气项目主体装置EPC总承包
' + //str += '
湖北兴力电子材料有限公司3万吨/年电子级氢氟酸项目
' + //str += '
呼伦贝尔金新化工有限公司新增备用锅炉技改项目总承包工程
' + //str += '
大石净水厂污泥干化减量服务项目
' + //str += '
广汇启东扩建5#20万m3LNG储罐工程项目
' + //str += '
东华能源(茂名)烷烃资源综合利用项目配套库区(一期)项目低温罐区(I)EPC项目​
' + //str += '
江苏嘉盛燃气有限公司嘉盛LNG调峰储配站工程
' + //str += '
山东滨州临港化工产业园首站项目
' + //str += '
五环天地项目
' + //$("#projectList").html(str) + //$(".project-list-wrap").show(); + window.open("../JDGL/Check/TotalCompletion.aspx"); + }) + + $(".js-more-2").click(function () { + window.open("../JDGL/Check/ProgressCompletion.aspx"); + }) + + $(".js-more-3").click(function () { + window.open("../HSSE/SitePerson/PersonList.aspx"); }) $("#projectList_btn").click(function () { diff --git a/SGGL/FineUIPro.Web/common/mainProject.aspx.cs b/SGGL/FineUIPro.Web/common/mainProject.aspx.cs index 5227a0d9..06959926 100644 --- a/SGGL/FineUIPro.Web/common/mainProject.aspx.cs +++ b/SGGL/FineUIPro.Web/common/mainProject.aspx.cs @@ -51,30 +51,70 @@ namespace FineUIPro.Web.common var designChangeOrders = from x in db.Comprehensive_DesignChangeOrder where x.ProjectId == this.CurrUser.LoginProjectId select x; this.divBG.InnerHtml = designChangeOrders.Count().ToString(); //工程量完成情况 - //string quantityCompletionStr = "
序号
类型
单位
设计数量
计划完成
实际完成
计划完成率
累计计划完成
累计实际完成
累计计划完成率
总完成率
"; - //DateTime months = Convert.ToDateTime(DateTime.Now.Year + "-" + DateTime.Now.Month + "-01"); - //var quantityCompletions = from x in Funs.DB.View_JDGL_QuantityCompletion where x.ProjectId == this.CurrUser.LoginProjectId && x.Months == months orderby x.SortIndex,x.Name select x; - //int i = 1; - //foreach (var item in quantityCompletions) - //{ - // quantityCompletionStr += "
" - // + i + "
" - // + item.Name + "
" - // + item.Unit + "
" - // + item.DesignNum + "
" - // + item.PlanNum + "
" - // + item.RealNum + "
" - // + item.Rate + "
" - // + item.TotalPlanNum + "
" - // + item.TotalRealNum + "
" - // + item.TotalRate + "
" - // + item.SumRate + "
"; - // i++; - //} - //divGZL.InnerHtml = quantityCompletionStr; + string quantityCompletionStr = "
序号
类型
单位
设计数量
计划完成
实际完成
计划完成率
累计计划完成
累计实际完成
累计计划完成率
总完成率
"; + var quantityCompletions = from x in Funs.DB.View_JDGL_QuantityCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Name select x; + int i = 1; + foreach (var item in quantityCompletions) + { + quantityCompletionStr += "
" + + i + "
" + + item.Name + "
" + + item.Unit + "
" + + item.DesignNum + "
" + + item.PlanNum + "
" + + item.RealNum + "
" + + item.Rate + "
" + + item.TotalPlanNum + "
" + + item.TotalRealNum + "
" + + item.TotalRate + "
" + + item.SumRate + "
"; + i++; + } + divGZL.InnerHtml = quantityCompletionStr; } } + #region 赢得值曲线 + protected string Two + { + get + { + List series = new List(); + Model.BusinessColumn businessColumn = new Model.BusinessColumn(); + List listCategories = new List(); + businessColumn.title = "赢得值曲线"; + var views = (from x in Funs.DB.View_JDGL_ProgressCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Months select x).ToList(); + Model.SingleSerie s = new Model.SingleSerie(); + Model.SingleSerie s2 = new Model.SingleSerie(); + Model.SingleSerie s3 = new Model.SingleSerie(); + Model.SingleSerie s4 = new Model.SingleSerie(); + List listdata = new List(); + List listdata2 = new List(); + List listdata3 = new List(); + List listdata4 = new List(); + for (int i = 0; i < views.Count; i++) + { + listCategories.Add(views[i].MonthStr); + listdata.Add(Convert.ToDouble(views[i].PlanNum)); + listdata2.Add(Convert.ToDouble(views[i].TotalPlanNum)); + listdata3.Add(Convert.ToDouble(views[i].RealNum)); + listdata4.Add(Convert.ToDouble(views[i].TotalRealNum)); + } + s.data = listdata; + s2.data = listdata2; + s3.data = listdata3; + s4.data = listdata4; + series.Add(s); + series.Add(s2); + series.Add(s3); + series.Add(s4); + businessColumn.categories = listCategories; + businessColumn.series = series; + return JsonConvert.SerializeObject(businessColumn); + } + } + #endregion + #region 人力情况 protected string Person { @@ -90,12 +130,64 @@ namespace FineUIPro.Web.common select y).Distinct().ToList(); Model.SingleSerie s = new Model.SingleSerie(); List listdata = new List(); - foreach (var post in posts) - { - listCategories.Add(post.WorkPostName); - int workPostCount = persons.Count(x => x.WorkPostId == post.WorkPostId); - listdata.Add(workPostCount); - } + //木工 + listCategories.Add("木工"); + int workPostCount1 = persons.Count(x => x.WorkPostId == Const.WorkPost_Carpentry); + listdata.Add(workPostCount1); + //钢筋工 + listCategories.Add("钢筋工"); + int workPostCount2 = persons.Count(x => x.WorkPostId == Const.WorkPost_SteelWorker); + listdata.Add(workPostCount2); + //瓦工 + listCategories.Add("瓦工"); + int workPostCount3 = persons.Count(x => x.WorkPostId == Const.WorkPost_Bricklayer); + listdata.Add(workPostCount3); + //混凝土工 + listCategories.Add("混凝土工"); + int workPostCount4 = persons.Count(x => x.WorkPostId == Const.WorkPost_ConcreteWorker); + listdata.Add(workPostCount4); + //钳工 + listCategories.Add("钳工"); + int workPostCount5 = persons.Count(x => x.WorkPostId == Const.WorkPost_Fitter1 || x.WorkPostId == Const.WorkPost_Fitter2); + listdata.Add(workPostCount5); + //焊工 + listCategories.Add("焊工"); + int workPostCount6 = persons.Count(x => x.WorkPostId == Const.WorkPost_Welder1 || x.WorkPostId == Const.WorkPost_Welder2 || + x.WorkPostId == Const.WorkPost_Welder3 || x.WorkPostId == Const.WorkPost_Welder4 || x.WorkPostId == Const.WorkPost_Welder5); + listdata.Add(workPostCount6); + //铆工 + listCategories.Add("铆工"); + int workPostCount7 = persons.Count(x => x.WorkPostId == Const.WorkPost_Riveter); + listdata.Add(workPostCount7); + //管工 + listCategories.Add("管工"); + int workPostCount8 = persons.Count(x => x.WorkPostId == Const.WorkPost_Foreman); + listdata.Add(workPostCount8); + //电工 + listCategories.Add("电工"); + int workPostCount9 = persons.Count(x => x.WorkPostId == Const.WorkPost_Electrician1 || x.WorkPostId == Const.WorkPost_Electrician2 + || x.WorkPostId == Const.WorkPost_Electrician3); + listdata.Add(workPostCount9); + //仪表工 + listCategories.Add("仪表工"); + int workPostCount10 = persons.Count(x => x.WorkPostId == Const.WorkPost_Instrumentalist); + listdata.Add(workPostCount10); + //防腐保温工 + listCategories.Add("防腐保温工"); + int workPostCount11 = persons.Count(x => x.WorkPostId == Const.WorkPost_AnticorrosionWorker); + listdata.Add(workPostCount11); + //防腐保温工 + listCategories.Add("管理人员"); + int workPostCount12 = (from x in persons + join y in db.Base_WorkPost on x.WorkPostId equals y.WorkPostId + where y.PostType == Const.PostType_1 + select x).Count(); + listdata.Add(workPostCount12); + //其他 + listCategories.Add("其他"); + int workPostCount13 = persons.Count()- workPostCount1- workPostCount2- workPostCount3- workPostCount4- workPostCount5- workPostCount6- workPostCount7 + - workPostCount8- workPostCount9- workPostCount10- workPostCount11- workPostCount12; + listdata.Add(workPostCount13); s.data = listdata; series.Add(s); businessColumn.categories = listCategories; @@ -113,7 +205,7 @@ namespace FineUIPro.Web.common { var getGJSX = (from x in Funs.DB.GJSX join y in Funs.DB.Base_QuestionType on x.QuestionTypeID equals y.QuestionTypeID - where x.ProjectId==this.CurrUser.LoginProjectId + where x.ProjectId == this.CurrUser.LoginProjectId orderby x.CreateDate select new { x.GJSXID, x.Detail, x.CreateDate, x.ProjectId, y.QuestionTypeName }).Distinct().Take(20); string strNoticeHtml = string.Empty; diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index 630b32cf..2d4c0833 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -929,12 +929,33 @@ namespace Model partial void InsertJDGL_Base_RectificationMeasure(JDGL_Base_RectificationMeasure instance); partial void UpdateJDGL_Base_RectificationMeasure(JDGL_Base_RectificationMeasure instance); partial void DeleteJDGL_Base_RectificationMeasure(JDGL_Base_RectificationMeasure instance); + partial void InsertJDGL_ElectricalCompletion(JDGL_ElectricalCompletion instance); + partial void UpdateJDGL_ElectricalCompletion(JDGL_ElectricalCompletion instance); + partial void DeleteJDGL_ElectricalCompletion(JDGL_ElectricalCompletion instance); + partial void InsertJDGL_EquipmentCompletion(JDGL_EquipmentCompletion instance); + partial void UpdateJDGL_EquipmentCompletion(JDGL_EquipmentCompletion instance); + partial void DeleteJDGL_EquipmentCompletion(JDGL_EquipmentCompletion instance); + partial void InsertJDGL_MeterCompletion(JDGL_MeterCompletion instance); + partial void UpdateJDGL_MeterCompletion(JDGL_MeterCompletion instance); + partial void DeleteJDGL_MeterCompletion(JDGL_MeterCompletion instance); + partial void InsertJDGL_PipelineCompletion(JDGL_PipelineCompletion instance); + partial void UpdateJDGL_PipelineCompletion(JDGL_PipelineCompletion instance); + partial void DeleteJDGL_PipelineCompletion(JDGL_PipelineCompletion instance); + partial void InsertJDGL_ProgressCompletion(JDGL_ProgressCompletion instance); + partial void UpdateJDGL_ProgressCompletion(JDGL_ProgressCompletion instance); + partial void DeleteJDGL_ProgressCompletion(JDGL_ProgressCompletion instance); partial void InsertJDGL_QuantityCompletion(JDGL_QuantityCompletion instance); partial void UpdateJDGL_QuantityCompletion(JDGL_QuantityCompletion instance); partial void DeleteJDGL_QuantityCompletion(JDGL_QuantityCompletion instance); partial void InsertJDGL_QuantityList(JDGL_QuantityList instance); partial void UpdateJDGL_QuantityList(JDGL_QuantityList instance); partial void DeleteJDGL_QuantityList(JDGL_QuantityList instance); + partial void InsertJDGL_SteelStructureCompletion(JDGL_SteelStructureCompletion instance); + partial void UpdateJDGL_SteelStructureCompletion(JDGL_SteelStructureCompletion instance); + partial void DeleteJDGL_SteelStructureCompletion(JDGL_SteelStructureCompletion instance); + partial void InsertJDGL_UndergroundPipeCompletion(JDGL_UndergroundPipeCompletion instance); + partial void UpdateJDGL_UndergroundPipeCompletion(JDGL_UndergroundPipeCompletion instance); + partial void DeleteJDGL_UndergroundPipeCompletion(JDGL_UndergroundPipeCompletion instance); partial void InsertLaw_HSSEStandardsList(Law_HSSEStandardsList instance); partial void UpdateLaw_HSSEStandardsList(Law_HSSEStandardsList instance); partial void DeleteLaw_HSSEStandardsList(Law_HSSEStandardsList instance); @@ -4335,6 +4356,46 @@ namespace Model } } + public System.Data.Linq.Table JDGL_ElectricalCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table JDGL_EquipmentCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table JDGL_MeterCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table JDGL_PipelineCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table JDGL_ProgressCompletion + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table JDGL_QuantityCompletion { get @@ -4351,6 +4412,22 @@ namespace Model } } + public System.Data.Linq.Table JDGL_SteelStructureCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table JDGL_UndergroundPipeCompletion + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table Law_HSSEStandardsList { get @@ -7079,6 +7156,46 @@ namespace Model } } + public System.Data.Linq.Table View_JDGL_ElectricalCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table View_JDGL_EquipmentCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table View_JDGL_MeterCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table View_JDGL_PipelineCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table View_JDGL_ProgressCompletion + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table View_JDGL_QuantityCompletion { get @@ -7087,6 +7204,22 @@ namespace Model } } + public System.Data.Linq.Table View_JDGL_SteelStructureCompletion + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table View_JDGL_UndergroundPipeCompletion + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table View_Law_LawRegulationList { get @@ -22180,10 +22313,22 @@ namespace Model private EntitySet _InformationProject_SafetyQuarterlyReport; + private EntitySet _JDGL_ElectricalCompletion; + + private EntitySet _JDGL_EquipmentCompletion; + + private EntitySet _JDGL_PipelineCompletion; + + private EntitySet _JDGL_ProgressCompletion; + private EntitySet _JDGL_QuantityCompletion; private EntitySet _JDGL_QuantityList; + private EntitySet _JDGL_SteelStructureCompletion; + + private EntitySet _JDGL_UndergroundPipeCompletion; + private EntitySet _Law_LawRegulationIdentify; private EntitySet _License_BreakGround; @@ -22627,8 +22772,14 @@ namespace Model this._InformationProject_PromotionalActivities = new EntitySet(new Action(this.attach_InformationProject_PromotionalActivities), new Action(this.detach_InformationProject_PromotionalActivities)); this._InformationProject_ReceiveFileManager = new EntitySet(new Action(this.attach_InformationProject_ReceiveFileManager), new Action(this.detach_InformationProject_ReceiveFileManager)); this._InformationProject_SafetyQuarterlyReport = new EntitySet(new Action(this.attach_InformationProject_SafetyQuarterlyReport), new Action(this.detach_InformationProject_SafetyQuarterlyReport)); + this._JDGL_ElectricalCompletion = new EntitySet(new Action(this.attach_JDGL_ElectricalCompletion), new Action(this.detach_JDGL_ElectricalCompletion)); + this._JDGL_EquipmentCompletion = new EntitySet(new Action(this.attach_JDGL_EquipmentCompletion), new Action(this.detach_JDGL_EquipmentCompletion)); + this._JDGL_PipelineCompletion = new EntitySet(new Action(this.attach_JDGL_PipelineCompletion), new Action(this.detach_JDGL_PipelineCompletion)); + this._JDGL_ProgressCompletion = new EntitySet(new Action(this.attach_JDGL_ProgressCompletion), new Action(this.detach_JDGL_ProgressCompletion)); this._JDGL_QuantityCompletion = new EntitySet(new Action(this.attach_JDGL_QuantityCompletion), new Action(this.detach_JDGL_QuantityCompletion)); this._JDGL_QuantityList = new EntitySet(new Action(this.attach_JDGL_QuantityList), new Action(this.detach_JDGL_QuantityList)); + this._JDGL_SteelStructureCompletion = new EntitySet(new Action(this.attach_JDGL_SteelStructureCompletion), new Action(this.detach_JDGL_SteelStructureCompletion)); + this._JDGL_UndergroundPipeCompletion = new EntitySet(new Action(this.attach_JDGL_UndergroundPipeCompletion), new Action(this.detach_JDGL_UndergroundPipeCompletion)); this._Law_LawRegulationIdentify = new EntitySet(new Action(this.attach_Law_LawRegulationIdentify), new Action(this.detach_Law_LawRegulationIdentify)); this._License_BreakGround = new EntitySet(new Action(this.attach_License_BreakGround), new Action(this.detach_License_BreakGround)); this._License_EquipmentSafetyList = new EntitySet(new Action(this.attach_License_EquipmentSafetyList), new Action(this.detach_License_EquipmentSafetyList)); @@ -25201,6 +25352,58 @@ namespace Model } } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ElectricalCompletion_Base_Project", Storage="_JDGL_ElectricalCompletion", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] + public EntitySet JDGL_ElectricalCompletion + { + get + { + return this._JDGL_ElectricalCompletion; + } + set + { + this._JDGL_ElectricalCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_EquipmentCompletion_Base_Project", Storage="_JDGL_EquipmentCompletion", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] + public EntitySet JDGL_EquipmentCompletion + { + get + { + return this._JDGL_EquipmentCompletion; + } + set + { + this._JDGL_EquipmentCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_PipelineCompletion_Base_Project", Storage="_JDGL_PipelineCompletion", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] + public EntitySet JDGL_PipelineCompletion + { + get + { + return this._JDGL_PipelineCompletion; + } + set + { + this._JDGL_PipelineCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ProgressCompletion_Base_Project", Storage="_JDGL_ProgressCompletion", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] + public EntitySet JDGL_ProgressCompletion + { + get + { + return this._JDGL_ProgressCompletion; + } + set + { + this._JDGL_ProgressCompletion.Assign(value); + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_QuantityCompletion_Base_Project", Storage="_JDGL_QuantityCompletion", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] public EntitySet JDGL_QuantityCompletion { @@ -25227,6 +25430,32 @@ namespace Model } } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_SteelStructureCompletion_Base_Project", Storage="_JDGL_SteelStructureCompletion", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] + public EntitySet JDGL_SteelStructureCompletion + { + get + { + return this._JDGL_SteelStructureCompletion; + } + set + { + this._JDGL_SteelStructureCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_UndergroundPipeCompletion_Base_Project", Storage="_JDGL_UndergroundPipeCompletion", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] + public EntitySet JDGL_UndergroundPipeCompletion + { + get + { + return this._JDGL_UndergroundPipeCompletion; + } + set + { + this._JDGL_UndergroundPipeCompletion.Assign(value); + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Law_LawRegulationIdentify_Base_Project", Storage="_Law_LawRegulationIdentify", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] public EntitySet Law_LawRegulationIdentify { @@ -28401,6 +28630,54 @@ namespace Model entity.Base_Project = null; } + private void attach_JDGL_ElectricalCompletion(JDGL_ElectricalCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = this; + } + + private void detach_JDGL_ElectricalCompletion(JDGL_ElectricalCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = null; + } + + private void attach_JDGL_EquipmentCompletion(JDGL_EquipmentCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = this; + } + + private void detach_JDGL_EquipmentCompletion(JDGL_EquipmentCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = null; + } + + private void attach_JDGL_PipelineCompletion(JDGL_PipelineCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = this; + } + + private void detach_JDGL_PipelineCompletion(JDGL_PipelineCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = null; + } + + private void attach_JDGL_ProgressCompletion(JDGL_ProgressCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = this; + } + + private void detach_JDGL_ProgressCompletion(JDGL_ProgressCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = null; + } + private void attach_JDGL_QuantityCompletion(JDGL_QuantityCompletion entity) { this.SendPropertyChanging(); @@ -28425,6 +28702,30 @@ namespace Model entity.Base_Project = null; } + private void attach_JDGL_SteelStructureCompletion(JDGL_SteelStructureCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = this; + } + + private void detach_JDGL_SteelStructureCompletion(JDGL_SteelStructureCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = null; + } + + private void attach_JDGL_UndergroundPipeCompletion(JDGL_UndergroundPipeCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = this; + } + + private void detach_JDGL_UndergroundPipeCompletion(JDGL_UndergroundPipeCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Project = null; + } + private void attach_Law_LawRegulationIdentify(Law_LawRegulationIdentify entity) { this.SendPropertyChanging(); @@ -33090,6 +33391,18 @@ namespace Model private EntitySet _InformationProject_SafetyQuarterlyReport; + private EntitySet _JDGL_ElectricalCompletion; + + private EntitySet _JDGL_EquipmentCompletion; + + private EntitySet _JDGL_MeterCompletion; + + private EntitySet _JDGL_PipelineCompletion; + + private EntitySet _JDGL_SteelStructureCompletion; + + private EntitySet _JDGL_UndergroundPipeCompletion; + private EntitySet _License_BreakGround; private EntitySet _License_EquipmentSafetyList; @@ -33359,6 +33672,12 @@ namespace Model this._InformationProject_DrillPlanHalfYearReport = new EntitySet(new Action(this.attach_InformationProject_DrillPlanHalfYearReport), new Action(this.detach_InformationProject_DrillPlanHalfYearReport)); this._InformationProject_ReceiveFileManager = new EntitySet(new Action(this.attach_InformationProject_ReceiveFileManager), new Action(this.detach_InformationProject_ReceiveFileManager)); this._InformationProject_SafetyQuarterlyReport = new EntitySet(new Action(this.attach_InformationProject_SafetyQuarterlyReport), new Action(this.detach_InformationProject_SafetyQuarterlyReport)); + this._JDGL_ElectricalCompletion = new EntitySet(new Action(this.attach_JDGL_ElectricalCompletion), new Action(this.detach_JDGL_ElectricalCompletion)); + this._JDGL_EquipmentCompletion = new EntitySet(new Action(this.attach_JDGL_EquipmentCompletion), new Action(this.detach_JDGL_EquipmentCompletion)); + this._JDGL_MeterCompletion = new EntitySet(new Action(this.attach_JDGL_MeterCompletion), new Action(this.detach_JDGL_MeterCompletion)); + this._JDGL_PipelineCompletion = new EntitySet(new Action(this.attach_JDGL_PipelineCompletion), new Action(this.detach_JDGL_PipelineCompletion)); + this._JDGL_SteelStructureCompletion = new EntitySet(new Action(this.attach_JDGL_SteelStructureCompletion), new Action(this.detach_JDGL_SteelStructureCompletion)); + this._JDGL_UndergroundPipeCompletion = new EntitySet(new Action(this.attach_JDGL_UndergroundPipeCompletion), new Action(this.detach_JDGL_UndergroundPipeCompletion)); this._License_BreakGround = new EntitySet(new Action(this.attach_License_BreakGround), new Action(this.detach_License_BreakGround)); this._License_EquipmentSafetyList = new EntitySet(new Action(this.attach_License_EquipmentSafetyList), new Action(this.detach_License_EquipmentSafetyList)); this._License_FireWork = new EntitySet(new Action(this.attach_License_FireWork), new Action(this.detach_License_FireWork)); @@ -35005,6 +35324,84 @@ namespace Model } } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ElectricalCompletion_Base_Unit", Storage="_JDGL_ElectricalCompletion", ThisKey="UnitId", OtherKey="UnitId", DeleteRule="NO ACTION")] + public EntitySet JDGL_ElectricalCompletion + { + get + { + return this._JDGL_ElectricalCompletion; + } + set + { + this._JDGL_ElectricalCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_EquipmentCompletion_Base_Unit", Storage="_JDGL_EquipmentCompletion", ThisKey="UnitId", OtherKey="UnitId", DeleteRule="NO ACTION")] + public EntitySet JDGL_EquipmentCompletion + { + get + { + return this._JDGL_EquipmentCompletion; + } + set + { + this._JDGL_EquipmentCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_MeterCompletion_Base_Unit", Storage="_JDGL_MeterCompletion", ThisKey="UnitId", OtherKey="UnitId", DeleteRule="NO ACTION")] + public EntitySet JDGL_MeterCompletion + { + get + { + return this._JDGL_MeterCompletion; + } + set + { + this._JDGL_MeterCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_PipelineCompletion_Base_Unit", Storage="_JDGL_PipelineCompletion", ThisKey="UnitId", OtherKey="UnitId", DeleteRule="NO ACTION")] + public EntitySet JDGL_PipelineCompletion + { + get + { + return this._JDGL_PipelineCompletion; + } + set + { + this._JDGL_PipelineCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_SteelStructureCompletion_Base_Unit", Storage="_JDGL_SteelStructureCompletion", ThisKey="UnitId", OtherKey="UnitId", DeleteRule="NO ACTION")] + public EntitySet JDGL_SteelStructureCompletion + { + get + { + return this._JDGL_SteelStructureCompletion; + } + set + { + this._JDGL_SteelStructureCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_UndergroundPipeCompletion_Base_Unit", Storage="_JDGL_UndergroundPipeCompletion", ThisKey="UnitId", OtherKey="UnitId", DeleteRule="NO ACTION")] + public EntitySet JDGL_UndergroundPipeCompletion + { + get + { + return this._JDGL_UndergroundPipeCompletion; + } + set + { + this._JDGL_UndergroundPipeCompletion.Assign(value); + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_License_BreakGround_Base_Unit", Storage="_License_BreakGround", ThisKey="UnitId", OtherKey="ApplyUnitId", DeleteRule="NO ACTION")] public EntitySet License_BreakGround { @@ -36853,6 +37250,78 @@ namespace Model entity.Base_Unit = null; } + private void attach_JDGL_ElectricalCompletion(JDGL_ElectricalCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = this; + } + + private void detach_JDGL_ElectricalCompletion(JDGL_ElectricalCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = null; + } + + private void attach_JDGL_EquipmentCompletion(JDGL_EquipmentCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = this; + } + + private void detach_JDGL_EquipmentCompletion(JDGL_EquipmentCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = null; + } + + private void attach_JDGL_MeterCompletion(JDGL_MeterCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = this; + } + + private void detach_JDGL_MeterCompletion(JDGL_MeterCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = null; + } + + private void attach_JDGL_PipelineCompletion(JDGL_PipelineCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = this; + } + + private void detach_JDGL_PipelineCompletion(JDGL_PipelineCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = null; + } + + private void attach_JDGL_SteelStructureCompletion(JDGL_SteelStructureCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = this; + } + + private void detach_JDGL_SteelStructureCompletion(JDGL_SteelStructureCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = null; + } + + private void attach_JDGL_UndergroundPipeCompletion(JDGL_UndergroundPipeCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = this; + } + + private void detach_JDGL_UndergroundPipeCompletion(JDGL_UndergroundPipeCompletion entity) + { + this.SendPropertyChanging(); + entity.Base_Unit = null; + } + private void attach_License_BreakGround(License_BreakGround entity) { this.SendPropertyChanging(); @@ -150195,6 +150664,1840 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JDGL_ElectricalCompletion")] + public partial class JDGL_ElectricalCompletion : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _ElectricalCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private string _Name; + + private string _Unit; + + private System.Nullable _TotalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private EntityRef _Base_Project; + + private EntityRef _Base_Unit; + + private EntityRef _Sys_User; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnElectricalCompletionIdChanging(string value); + partial void OnElectricalCompletionIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnUnitIdChanging(string value); + partial void OnUnitIdChanged(); + partial void OnNameChanging(string value); + partial void OnNameChanged(); + partial void OnUnitChanging(string value); + partial void OnUnitChanged(); + partial void OnTotalNumChanging(System.Nullable value); + partial void OnTotalNumChanged(); + partial void OnThisNumChanging(System.Nullable value); + partial void OnThisNumChanged(); + partial void OnStartDateChanging(System.Nullable value); + partial void OnStartDateChanged(); + partial void OnEndDateChanging(System.Nullable value); + partial void OnEndDateChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); + #endregion + + public JDGL_ElectricalCompletion() + { + this._Base_Project = default(EntityRef); + this._Base_Unit = default(EntityRef); + this._Sys_User = default(EntityRef); + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ElectricalCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string ElectricalCompletionId + { + get + { + return this._ElectricalCompletionId; + } + set + { + if ((this._ElectricalCompletionId != value)) + { + this.OnElectricalCompletionIdChanging(value); + this.SendPropertyChanging(); + this._ElectricalCompletionId = value; + this.SendPropertyChanged("ElectricalCompletionId"); + this.OnElectricalCompletionIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + if (this._Base_Project.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnProjectIdChanging(value); + this.SendPropertyChanging(); + this._ProjectId = value; + this.SendPropertyChanged("ProjectId"); + this.OnProjectIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + if (this._Base_Unit.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnUnitIdChanging(value); + this.SendPropertyChanging(); + this._UnitId = value; + this.SendPropertyChanged("UnitId"); + this.OnUnitIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(50)")] + public string Name + { + get + { + return this._Name; + } + set + { + if ((this._Name != value)) + { + this.OnNameChanging(value); + this.SendPropertyChanging(); + this._Name = value; + this.SendPropertyChanged("Name"); + this.OnNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(50)")] + public string Unit + { + get + { + return this._Unit; + } + set + { + if ((this._Unit != value)) + { + this.OnUnitChanging(value); + this.SendPropertyChanging(); + this._Unit = value; + this.SendPropertyChanged("Unit"); + this.OnUnitChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this.OnTotalNumChanging(value); + this.SendPropertyChanging(); + this._TotalNum = value; + this.SendPropertyChanged("TotalNum"); + this.OnTotalNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this.OnThisNumChanging(value); + this.SendPropertyChanging(); + this._ThisNum = value; + this.SendPropertyChanged("ThisNum"); + this.OnThisNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this.OnStartDateChanging(value); + this.SendPropertyChanging(); + this._StartDate = value; + this.SendPropertyChanged("StartDate"); + this.OnStartDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this.OnEndDateChanging(value); + this.SendPropertyChanging(); + this._EndDate = value; + this.SendPropertyChanged("EndDate"); + this.OnEndDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + if (this._Sys_User.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ElectricalCompletion_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] + public Base_Project Base_Project + { + get + { + return this._Base_Project.Entity; + } + set + { + Base_Project previousValue = this._Base_Project.Entity; + if (((previousValue != value) + || (this._Base_Project.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Project.Entity = null; + previousValue.JDGL_ElectricalCompletion.Remove(this); + } + this._Base_Project.Entity = value; + if ((value != null)) + { + value.JDGL_ElectricalCompletion.Add(this); + this._ProjectId = value.ProjectId; + } + else + { + this._ProjectId = default(string); + } + this.SendPropertyChanged("Base_Project"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ElectricalCompletion_Base_Unit", Storage="_Base_Unit", ThisKey="UnitId", OtherKey="UnitId", IsForeignKey=true)] + public Base_Unit Base_Unit + { + get + { + return this._Base_Unit.Entity; + } + set + { + Base_Unit previousValue = this._Base_Unit.Entity; + if (((previousValue != value) + || (this._Base_Unit.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Unit.Entity = null; + previousValue.JDGL_ElectricalCompletion.Remove(this); + } + this._Base_Unit.Entity = value; + if ((value != null)) + { + value.JDGL_ElectricalCompletion.Add(this); + this._UnitId = value.UnitId; + } + else + { + this._UnitId = default(string); + } + this.SendPropertyChanged("Base_Unit"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ElectricalCompletion_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] + public Sys_User Sys_User + { + get + { + return this._Sys_User.Entity; + } + set + { + Sys_User previousValue = this._Sys_User.Entity; + if (((previousValue != value) + || (this._Sys_User.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Sys_User.Entity = null; + previousValue.JDGL_ElectricalCompletion.Remove(this); + } + this._Sys_User.Entity = value; + if ((value != null)) + { + value.JDGL_ElectricalCompletion.Add(this); + this._CompileMan = value.UserId; + } + else + { + this._CompileMan = default(string); + } + this.SendPropertyChanged("Sys_User"); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JDGL_EquipmentCompletion")] + public partial class JDGL_EquipmentCompletion : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _EquipmentCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private System.Nullable _TotalNum; + + private System.Nullable _ArrivalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private EntityRef _Base_Project; + + private EntityRef _Base_Unit; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnEquipmentCompletionIdChanging(string value); + partial void OnEquipmentCompletionIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnUnitIdChanging(string value); + partial void OnUnitIdChanged(); + partial void OnTotalNumChanging(System.Nullable value); + partial void OnTotalNumChanged(); + partial void OnArrivalNumChanging(System.Nullable value); + partial void OnArrivalNumChanged(); + partial void OnThisNumChanging(System.Nullable value); + partial void OnThisNumChanged(); + partial void OnStartDateChanging(System.Nullable value); + partial void OnStartDateChanged(); + partial void OnEndDateChanging(System.Nullable value); + partial void OnEndDateChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); + #endregion + + public JDGL_EquipmentCompletion() + { + this._Base_Project = default(EntityRef); + this._Base_Unit = default(EntityRef); + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EquipmentCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string EquipmentCompletionId + { + get + { + return this._EquipmentCompletionId; + } + set + { + if ((this._EquipmentCompletionId != value)) + { + this.OnEquipmentCompletionIdChanging(value); + this.SendPropertyChanging(); + this._EquipmentCompletionId = value; + this.SendPropertyChanged("EquipmentCompletionId"); + this.OnEquipmentCompletionIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + if (this._Base_Project.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnProjectIdChanging(value); + this.SendPropertyChanging(); + this._ProjectId = value; + this.SendPropertyChanged("ProjectId"); + this.OnProjectIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + if (this._Base_Unit.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnUnitIdChanging(value); + this.SendPropertyChanging(); + this._UnitId = value; + this.SendPropertyChanged("UnitId"); + this.OnUnitIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this.OnTotalNumChanging(value); + this.SendPropertyChanging(); + this._TotalNum = value; + this.SendPropertyChanged("TotalNum"); + this.OnTotalNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ArrivalNum", DbType="Decimal(18,2)")] + public System.Nullable ArrivalNum + { + get + { + return this._ArrivalNum; + } + set + { + if ((this._ArrivalNum != value)) + { + this.OnArrivalNumChanging(value); + this.SendPropertyChanging(); + this._ArrivalNum = value; + this.SendPropertyChanged("ArrivalNum"); + this.OnArrivalNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this.OnThisNumChanging(value); + this.SendPropertyChanging(); + this._ThisNum = value; + this.SendPropertyChanged("ThisNum"); + this.OnThisNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this.OnStartDateChanging(value); + this.SendPropertyChanging(); + this._StartDate = value; + this.SendPropertyChanged("StartDate"); + this.OnStartDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this.OnEndDateChanging(value); + this.SendPropertyChanging(); + this._EndDate = value; + this.SendPropertyChanged("EndDate"); + this.OnEndDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_EquipmentCompletion_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] + public Base_Project Base_Project + { + get + { + return this._Base_Project.Entity; + } + set + { + Base_Project previousValue = this._Base_Project.Entity; + if (((previousValue != value) + || (this._Base_Project.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Project.Entity = null; + previousValue.JDGL_EquipmentCompletion.Remove(this); + } + this._Base_Project.Entity = value; + if ((value != null)) + { + value.JDGL_EquipmentCompletion.Add(this); + this._ProjectId = value.ProjectId; + } + else + { + this._ProjectId = default(string); + } + this.SendPropertyChanged("Base_Project"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_EquipmentCompletion_Base_Unit", Storage="_Base_Unit", ThisKey="UnitId", OtherKey="UnitId", IsForeignKey=true)] + public Base_Unit Base_Unit + { + get + { + return this._Base_Unit.Entity; + } + set + { + Base_Unit previousValue = this._Base_Unit.Entity; + if (((previousValue != value) + || (this._Base_Unit.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Unit.Entity = null; + previousValue.JDGL_EquipmentCompletion.Remove(this); + } + this._Base_Unit.Entity = value; + if ((value != null)) + { + value.JDGL_EquipmentCompletion.Add(this); + this._UnitId = value.UnitId; + } + else + { + this._UnitId = default(string); + } + this.SendPropertyChanged("Base_Unit"); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JDGL_MeterCompletion")] + public partial class JDGL_MeterCompletion : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _MeterCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private string _Name; + + private string _Unit; + + private System.Nullable _TotalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private EntityRef _Base_Unit; + + private EntityRef _Sys_User; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnMeterCompletionIdChanging(string value); + partial void OnMeterCompletionIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnUnitIdChanging(string value); + partial void OnUnitIdChanged(); + partial void OnNameChanging(string value); + partial void OnNameChanged(); + partial void OnUnitChanging(string value); + partial void OnUnitChanged(); + partial void OnTotalNumChanging(System.Nullable value); + partial void OnTotalNumChanged(); + partial void OnThisNumChanging(System.Nullable value); + partial void OnThisNumChanged(); + partial void OnStartDateChanging(System.Nullable value); + partial void OnStartDateChanged(); + partial void OnEndDateChanging(System.Nullable value); + partial void OnEndDateChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); + #endregion + + public JDGL_MeterCompletion() + { + this._Base_Unit = default(EntityRef); + this._Sys_User = default(EntityRef); + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MeterCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string MeterCompletionId + { + get + { + return this._MeterCompletionId; + } + set + { + if ((this._MeterCompletionId != value)) + { + this.OnMeterCompletionIdChanging(value); + this.SendPropertyChanging(); + this._MeterCompletionId = value; + this.SendPropertyChanged("MeterCompletionId"); + this.OnMeterCompletionIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this.OnProjectIdChanging(value); + this.SendPropertyChanging(); + this._ProjectId = value; + this.SendPropertyChanged("ProjectId"); + this.OnProjectIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + if (this._Base_Unit.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnUnitIdChanging(value); + this.SendPropertyChanging(); + this._UnitId = value; + this.SendPropertyChanged("UnitId"); + this.OnUnitIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(50)")] + public string Name + { + get + { + return this._Name; + } + set + { + if ((this._Name != value)) + { + this.OnNameChanging(value); + this.SendPropertyChanging(); + this._Name = value; + this.SendPropertyChanged("Name"); + this.OnNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(50)")] + public string Unit + { + get + { + return this._Unit; + } + set + { + if ((this._Unit != value)) + { + this.OnUnitChanging(value); + this.SendPropertyChanging(); + this._Unit = value; + this.SendPropertyChanged("Unit"); + this.OnUnitChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this.OnTotalNumChanging(value); + this.SendPropertyChanging(); + this._TotalNum = value; + this.SendPropertyChanged("TotalNum"); + this.OnTotalNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this.OnThisNumChanging(value); + this.SendPropertyChanging(); + this._ThisNum = value; + this.SendPropertyChanged("ThisNum"); + this.OnThisNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this.OnStartDateChanging(value); + this.SendPropertyChanging(); + this._StartDate = value; + this.SendPropertyChanged("StartDate"); + this.OnStartDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this.OnEndDateChanging(value); + this.SendPropertyChanging(); + this._EndDate = value; + this.SendPropertyChanged("EndDate"); + this.OnEndDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + if (this._Sys_User.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_MeterCompletion_Base_Unit", Storage="_Base_Unit", ThisKey="UnitId", OtherKey="UnitId", IsForeignKey=true)] + public Base_Unit Base_Unit + { + get + { + return this._Base_Unit.Entity; + } + set + { + Base_Unit previousValue = this._Base_Unit.Entity; + if (((previousValue != value) + || (this._Base_Unit.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Unit.Entity = null; + previousValue.JDGL_MeterCompletion.Remove(this); + } + this._Base_Unit.Entity = value; + if ((value != null)) + { + value.JDGL_MeterCompletion.Add(this); + this._UnitId = value.UnitId; + } + else + { + this._UnitId = default(string); + } + this.SendPropertyChanged("Base_Unit"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_MeterCompletion_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] + public Sys_User Sys_User + { + get + { + return this._Sys_User.Entity; + } + set + { + Sys_User previousValue = this._Sys_User.Entity; + if (((previousValue != value) + || (this._Sys_User.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Sys_User.Entity = null; + previousValue.JDGL_MeterCompletion.Remove(this); + } + this._Sys_User.Entity = value; + if ((value != null)) + { + value.JDGL_MeterCompletion.Add(this); + this._CompileMan = value.UserId; + } + else + { + this._CompileMan = default(string); + } + this.SendPropertyChanged("Sys_User"); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JDGL_PipelineCompletion")] + public partial class JDGL_PipelineCompletion : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _PipelineCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private System.Nullable _TotalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private EntityRef _Base_Project; + + private EntityRef _Base_Unit; + + private EntityRef _Sys_User; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnPipelineCompletionIdChanging(string value); + partial void OnPipelineCompletionIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnUnitIdChanging(string value); + partial void OnUnitIdChanged(); + partial void OnTotalNumChanging(System.Nullable value); + partial void OnTotalNumChanged(); + partial void OnThisNumChanging(System.Nullable value); + partial void OnThisNumChanged(); + partial void OnStartDateChanging(System.Nullable value); + partial void OnStartDateChanged(); + partial void OnEndDateChanging(System.Nullable value); + partial void OnEndDateChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); + #endregion + + public JDGL_PipelineCompletion() + { + this._Base_Project = default(EntityRef); + this._Base_Unit = default(EntityRef); + this._Sys_User = default(EntityRef); + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PipelineCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string PipelineCompletionId + { + get + { + return this._PipelineCompletionId; + } + set + { + if ((this._PipelineCompletionId != value)) + { + this.OnPipelineCompletionIdChanging(value); + this.SendPropertyChanging(); + this._PipelineCompletionId = value; + this.SendPropertyChanged("PipelineCompletionId"); + this.OnPipelineCompletionIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + if (this._Base_Project.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnProjectIdChanging(value); + this.SendPropertyChanging(); + this._ProjectId = value; + this.SendPropertyChanged("ProjectId"); + this.OnProjectIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + if (this._Base_Unit.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnUnitIdChanging(value); + this.SendPropertyChanging(); + this._UnitId = value; + this.SendPropertyChanged("UnitId"); + this.OnUnitIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this.OnTotalNumChanging(value); + this.SendPropertyChanging(); + this._TotalNum = value; + this.SendPropertyChanged("TotalNum"); + this.OnTotalNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this.OnThisNumChanging(value); + this.SendPropertyChanging(); + this._ThisNum = value; + this.SendPropertyChanged("ThisNum"); + this.OnThisNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this.OnStartDateChanging(value); + this.SendPropertyChanging(); + this._StartDate = value; + this.SendPropertyChanged("StartDate"); + this.OnStartDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this.OnEndDateChanging(value); + this.SendPropertyChanging(); + this._EndDate = value; + this.SendPropertyChanged("EndDate"); + this.OnEndDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + if (this._Sys_User.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_PipelineCompletion_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] + public Base_Project Base_Project + { + get + { + return this._Base_Project.Entity; + } + set + { + Base_Project previousValue = this._Base_Project.Entity; + if (((previousValue != value) + || (this._Base_Project.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Project.Entity = null; + previousValue.JDGL_PipelineCompletion.Remove(this); + } + this._Base_Project.Entity = value; + if ((value != null)) + { + value.JDGL_PipelineCompletion.Add(this); + this._ProjectId = value.ProjectId; + } + else + { + this._ProjectId = default(string); + } + this.SendPropertyChanged("Base_Project"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_PipelineCompletion_Base_Unit", Storage="_Base_Unit", ThisKey="UnitId", OtherKey="UnitId", IsForeignKey=true)] + public Base_Unit Base_Unit + { + get + { + return this._Base_Unit.Entity; + } + set + { + Base_Unit previousValue = this._Base_Unit.Entity; + if (((previousValue != value) + || (this._Base_Unit.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Unit.Entity = null; + previousValue.JDGL_PipelineCompletion.Remove(this); + } + this._Base_Unit.Entity = value; + if ((value != null)) + { + value.JDGL_PipelineCompletion.Add(this); + this._UnitId = value.UnitId; + } + else + { + this._UnitId = default(string); + } + this.SendPropertyChanged("Base_Unit"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_PipelineCompletion_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] + public Sys_User Sys_User + { + get + { + return this._Sys_User.Entity; + } + set + { + Sys_User previousValue = this._Sys_User.Entity; + if (((previousValue != value) + || (this._Sys_User.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Sys_User.Entity = null; + previousValue.JDGL_PipelineCompletion.Remove(this); + } + this._Sys_User.Entity = value; + if ((value != null)) + { + value.JDGL_PipelineCompletion.Add(this); + this._CompileMan = value.UserId; + } + else + { + this._CompileMan = default(string); + } + this.SendPropertyChanged("Sys_User"); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JDGL_ProgressCompletion")] + public partial class JDGL_ProgressCompletion : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _ProgressCompletionId; + + private string _ProjectId; + + private System.Nullable _Months; + + private System.Nullable _PlanNum; + + private System.Nullable _RealNum; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private EntityRef _Base_Project; + + private EntityRef _Sys_User; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnProgressCompletionIdChanging(string value); + partial void OnProgressCompletionIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnMonthsChanging(System.Nullable value); + partial void OnMonthsChanged(); + partial void OnPlanNumChanging(System.Nullable value); + partial void OnPlanNumChanged(); + partial void OnRealNumChanging(System.Nullable value); + partial void OnRealNumChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); + #endregion + + public JDGL_ProgressCompletion() + { + this._Base_Project = default(EntityRef); + this._Sys_User = default(EntityRef); + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProgressCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string ProgressCompletionId + { + get + { + return this._ProgressCompletionId; + } + set + { + if ((this._ProgressCompletionId != value)) + { + this.OnProgressCompletionIdChanging(value); + this.SendPropertyChanging(); + this._ProgressCompletionId = value; + this.SendPropertyChanged("ProgressCompletionId"); + this.OnProgressCompletionIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + if (this._Base_Project.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnProjectIdChanging(value); + this.SendPropertyChanging(); + this._ProjectId = value; + this.SendPropertyChanged("ProjectId"); + this.OnProjectIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Months", DbType="DateTime")] + public System.Nullable Months + { + get + { + return this._Months; + } + set + { + if ((this._Months != value)) + { + this.OnMonthsChanging(value); + this.SendPropertyChanging(); + this._Months = value; + this.SendPropertyChanged("Months"); + this.OnMonthsChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanNum", DbType="Decimal(9,2)")] + public System.Nullable PlanNum + { + get + { + return this._PlanNum; + } + set + { + if ((this._PlanNum != value)) + { + this.OnPlanNumChanging(value); + this.SendPropertyChanging(); + this._PlanNum = value; + this.SendPropertyChanged("PlanNum"); + this.OnPlanNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RealNum", DbType="Decimal(9,2)")] + public System.Nullable RealNum + { + get + { + return this._RealNum; + } + set + { + if ((this._RealNum != value)) + { + this.OnRealNumChanging(value); + this.SendPropertyChanging(); + this._RealNum = value; + this.SendPropertyChanged("RealNum"); + this.OnRealNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + if (this._Sys_User.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ProgressCompletion_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] + public Base_Project Base_Project + { + get + { + return this._Base_Project.Entity; + } + set + { + Base_Project previousValue = this._Base_Project.Entity; + if (((previousValue != value) + || (this._Base_Project.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Project.Entity = null; + previousValue.JDGL_ProgressCompletion.Remove(this); + } + this._Base_Project.Entity = value; + if ((value != null)) + { + value.JDGL_ProgressCompletion.Add(this); + this._ProjectId = value.ProjectId; + } + else + { + this._ProjectId = default(string); + } + this.SendPropertyChanged("Base_Project"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ProgressCompletion_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] + public Sys_User Sys_User + { + get + { + return this._Sys_User.Entity; + } + set + { + Sys_User previousValue = this._Sys_User.Entity; + if (((previousValue != value) + || (this._Sys_User.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Sys_User.Entity = null; + previousValue.JDGL_ProgressCompletion.Remove(this); + } + this._Sys_User.Entity = value; + if ((value != null)) + { + value.JDGL_ProgressCompletion.Add(this); + this._CompileMan = value.UserId; + } + else + { + this._CompileMan = default(string); + } + this.SendPropertyChanged("Sys_User"); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JDGL_QuantityCompletion")] public partial class JDGL_QuantityCompletion : INotifyPropertyChanging, INotifyPropertyChanged { @@ -150217,6 +152520,10 @@ namespace Model private System.Nullable _CompileDate; + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + private EntityRef _Base_Project; private EntityRef _JDGL_QuantityList; @@ -150243,6 +152550,10 @@ namespace Model partial void OnCompileManChanged(); partial void OnCompileDateChanging(System.Nullable value); partial void OnCompileDateChanged(); + partial void OnStartDateChanging(System.Nullable value); + partial void OnStartDateChanged(); + partial void OnEndDateChanging(System.Nullable value); + partial void OnEndDateChanged(); #endregion public JDGL_QuantityCompletion() @@ -150425,6 +152736,46 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this.OnStartDateChanging(value); + this.SendPropertyChanging(); + this._StartDate = value; + this.SendPropertyChanged("StartDate"); + this.OnStartDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this.OnEndDateChanging(value); + this.SendPropertyChanging(); + this._EndDate = value; + this.SendPropertyChanged("EndDate"); + this.OnEndDateChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_QuantityCompletion_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] public Base_Project Base_Project { @@ -150840,6 +153191,784 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JDGL_SteelStructureCompletion")] + public partial class JDGL_SteelStructureCompletion : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _SteelStructureCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private System.Nullable _TotalNum; + + private System.Nullable _ArrivalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private EntityRef _Base_Project; + + private EntityRef _Base_Unit; + + private EntityRef _Sys_User; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnSteelStructureCompletionIdChanging(string value); + partial void OnSteelStructureCompletionIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnUnitIdChanging(string value); + partial void OnUnitIdChanged(); + partial void OnTotalNumChanging(System.Nullable value); + partial void OnTotalNumChanged(); + partial void OnArrivalNumChanging(System.Nullable value); + partial void OnArrivalNumChanged(); + partial void OnThisNumChanging(System.Nullable value); + partial void OnThisNumChanged(); + partial void OnStartDateChanging(System.Nullable value); + partial void OnStartDateChanged(); + partial void OnEndDateChanging(System.Nullable value); + partial void OnEndDateChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); + #endregion + + public JDGL_SteelStructureCompletion() + { + this._Base_Project = default(EntityRef); + this._Base_Unit = default(EntityRef); + this._Sys_User = default(EntityRef); + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SteelStructureCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string SteelStructureCompletionId + { + get + { + return this._SteelStructureCompletionId; + } + set + { + if ((this._SteelStructureCompletionId != value)) + { + this.OnSteelStructureCompletionIdChanging(value); + this.SendPropertyChanging(); + this._SteelStructureCompletionId = value; + this.SendPropertyChanged("SteelStructureCompletionId"); + this.OnSteelStructureCompletionIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + if (this._Base_Project.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnProjectIdChanging(value); + this.SendPropertyChanging(); + this._ProjectId = value; + this.SendPropertyChanged("ProjectId"); + this.OnProjectIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + if (this._Base_Unit.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnUnitIdChanging(value); + this.SendPropertyChanging(); + this._UnitId = value; + this.SendPropertyChanged("UnitId"); + this.OnUnitIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this.OnTotalNumChanging(value); + this.SendPropertyChanging(); + this._TotalNum = value; + this.SendPropertyChanged("TotalNum"); + this.OnTotalNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ArrivalNum", DbType="Decimal(18,2)")] + public System.Nullable ArrivalNum + { + get + { + return this._ArrivalNum; + } + set + { + if ((this._ArrivalNum != value)) + { + this.OnArrivalNumChanging(value); + this.SendPropertyChanging(); + this._ArrivalNum = value; + this.SendPropertyChanged("ArrivalNum"); + this.OnArrivalNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this.OnThisNumChanging(value); + this.SendPropertyChanging(); + this._ThisNum = value; + this.SendPropertyChanged("ThisNum"); + this.OnThisNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this.OnStartDateChanging(value); + this.SendPropertyChanging(); + this._StartDate = value; + this.SendPropertyChanged("StartDate"); + this.OnStartDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this.OnEndDateChanging(value); + this.SendPropertyChanging(); + this._EndDate = value; + this.SendPropertyChanged("EndDate"); + this.OnEndDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + if (this._Sys_User.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_SteelStructureCompletion_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] + public Base_Project Base_Project + { + get + { + return this._Base_Project.Entity; + } + set + { + Base_Project previousValue = this._Base_Project.Entity; + if (((previousValue != value) + || (this._Base_Project.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Project.Entity = null; + previousValue.JDGL_SteelStructureCompletion.Remove(this); + } + this._Base_Project.Entity = value; + if ((value != null)) + { + value.JDGL_SteelStructureCompletion.Add(this); + this._ProjectId = value.ProjectId; + } + else + { + this._ProjectId = default(string); + } + this.SendPropertyChanged("Base_Project"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_SteelStructureCompletion_Base_Unit", Storage="_Base_Unit", ThisKey="UnitId", OtherKey="UnitId", IsForeignKey=true)] + public Base_Unit Base_Unit + { + get + { + return this._Base_Unit.Entity; + } + set + { + Base_Unit previousValue = this._Base_Unit.Entity; + if (((previousValue != value) + || (this._Base_Unit.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Unit.Entity = null; + previousValue.JDGL_SteelStructureCompletion.Remove(this); + } + this._Base_Unit.Entity = value; + if ((value != null)) + { + value.JDGL_SteelStructureCompletion.Add(this); + this._UnitId = value.UnitId; + } + else + { + this._UnitId = default(string); + } + this.SendPropertyChanged("Base_Unit"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_SteelStructureCompletion_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] + public Sys_User Sys_User + { + get + { + return this._Sys_User.Entity; + } + set + { + Sys_User previousValue = this._Sys_User.Entity; + if (((previousValue != value) + || (this._Sys_User.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Sys_User.Entity = null; + previousValue.JDGL_SteelStructureCompletion.Remove(this); + } + this._Sys_User.Entity = value; + if ((value != null)) + { + value.JDGL_SteelStructureCompletion.Add(this); + this._CompileMan = value.UserId; + } + else + { + this._CompileMan = default(string); + } + this.SendPropertyChanged("Sys_User"); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JDGL_UndergroundPipeCompletion")] + public partial class JDGL_UndergroundPipeCompletion : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _UndergroundPipeCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private System.Nullable _TotalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private EntityRef _Base_Project; + + private EntityRef _Base_Unit; + + private EntityRef _Sys_User; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnUndergroundPipeCompletionIdChanging(string value); + partial void OnUndergroundPipeCompletionIdChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnUnitIdChanging(string value); + partial void OnUnitIdChanged(); + partial void OnTotalNumChanging(System.Nullable value); + partial void OnTotalNumChanged(); + partial void OnThisNumChanging(System.Nullable value); + partial void OnThisNumChanged(); + partial void OnStartDateChanging(System.Nullable value); + partial void OnStartDateChanged(); + partial void OnEndDateChanging(System.Nullable value); + partial void OnEndDateChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileDateChanging(System.Nullable value); + partial void OnCompileDateChanged(); + #endregion + + public JDGL_UndergroundPipeCompletion() + { + this._Base_Project = default(EntityRef); + this._Base_Unit = default(EntityRef); + this._Sys_User = default(EntityRef); + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UndergroundPipeCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string UndergroundPipeCompletionId + { + get + { + return this._UndergroundPipeCompletionId; + } + set + { + if ((this._UndergroundPipeCompletionId != value)) + { + this.OnUndergroundPipeCompletionIdChanging(value); + this.SendPropertyChanging(); + this._UndergroundPipeCompletionId = value; + this.SendPropertyChanged("UndergroundPipeCompletionId"); + this.OnUndergroundPipeCompletionIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + if (this._Base_Project.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnProjectIdChanging(value); + this.SendPropertyChanging(); + this._ProjectId = value; + this.SendPropertyChanged("ProjectId"); + this.OnProjectIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + if (this._Base_Unit.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnUnitIdChanging(value); + this.SendPropertyChanging(); + this._UnitId = value; + this.SendPropertyChanged("UnitId"); + this.OnUnitIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this.OnTotalNumChanging(value); + this.SendPropertyChanging(); + this._TotalNum = value; + this.SendPropertyChanged("TotalNum"); + this.OnTotalNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this.OnThisNumChanging(value); + this.SendPropertyChanging(); + this._ThisNum = value; + this.SendPropertyChanged("ThisNum"); + this.OnThisNumChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this.OnStartDateChanging(value); + this.SendPropertyChanging(); + this._StartDate = value; + this.SendPropertyChanged("StartDate"); + this.OnStartDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this.OnEndDateChanging(value); + this.SendPropertyChanging(); + this._EndDate = value; + this.SendPropertyChanged("EndDate"); + this.OnEndDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + if (this._Sys_User.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_UndergroundPipeCompletion_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] + public Base_Project Base_Project + { + get + { + return this._Base_Project.Entity; + } + set + { + Base_Project previousValue = this._Base_Project.Entity; + if (((previousValue != value) + || (this._Base_Project.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Project.Entity = null; + previousValue.JDGL_UndergroundPipeCompletion.Remove(this); + } + this._Base_Project.Entity = value; + if ((value != null)) + { + value.JDGL_UndergroundPipeCompletion.Add(this); + this._ProjectId = value.ProjectId; + } + else + { + this._ProjectId = default(string); + } + this.SendPropertyChanged("Base_Project"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_UndergroundPipeCompletion_Base_Unit", Storage="_Base_Unit", ThisKey="UnitId", OtherKey="UnitId", IsForeignKey=true)] + public Base_Unit Base_Unit + { + get + { + return this._Base_Unit.Entity; + } + set + { + Base_Unit previousValue = this._Base_Unit.Entity; + if (((previousValue != value) + || (this._Base_Unit.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Base_Unit.Entity = null; + previousValue.JDGL_UndergroundPipeCompletion.Remove(this); + } + this._Base_Unit.Entity = value; + if ((value != null)) + { + value.JDGL_UndergroundPipeCompletion.Add(this); + this._UnitId = value.UnitId; + } + else + { + this._UnitId = default(string); + } + this.SendPropertyChanged("Base_Unit"); + } + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_UndergroundPipeCompletion_Sys_User", Storage="_Sys_User", ThisKey="CompileMan", OtherKey="UserId", IsForeignKey=true)] + public Sys_User Sys_User + { + get + { + return this._Sys_User.Entity; + } + set + { + Sys_User previousValue = this._Sys_User.Entity; + if (((previousValue != value) + || (this._Sys_User.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Sys_User.Entity = null; + previousValue.JDGL_UndergroundPipeCompletion.Remove(this); + } + this._Sys_User.Entity = value; + if ((value != null)) + { + value.JDGL_UndergroundPipeCompletion.Add(this); + this._CompileMan = value.UserId; + } + else + { + this._CompileMan = default(string); + } + this.SendPropertyChanged("Sys_User"); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Law_HSSEStandardsList")] public partial class Law_HSSEStandardsList : INotifyPropertyChanging, INotifyPropertyChanged { @@ -254250,8 +257379,20 @@ namespace Model private EntitySet _InformationProject_SafetyQuarterlyReport; + private EntitySet _JDGL_ElectricalCompletion; + + private EntitySet _JDGL_MeterCompletion; + + private EntitySet _JDGL_PipelineCompletion; + + private EntitySet _JDGL_ProgressCompletion; + private EntitySet _JDGL_QuantityCompletion; + private EntitySet _JDGL_SteelStructureCompletion; + + private EntitySet _JDGL_UndergroundPipeCompletion; + private EntitySet _Law_HSSEStandardsList; private EntitySet _Law_LawRegulationList; @@ -254819,7 +257960,13 @@ namespace Model this._InformationProject_PromotionalActivities = new EntitySet(new Action(this.attach_InformationProject_PromotionalActivities), new Action(this.detach_InformationProject_PromotionalActivities)); this._InformationProject_ReceiveFileManager = new EntitySet(new Action(this.attach_InformationProject_ReceiveFileManager), new Action(this.detach_InformationProject_ReceiveFileManager)); this._InformationProject_SafetyQuarterlyReport = new EntitySet(new Action(this.attach_InformationProject_SafetyQuarterlyReport), new Action(this.detach_InformationProject_SafetyQuarterlyReport)); + this._JDGL_ElectricalCompletion = new EntitySet(new Action(this.attach_JDGL_ElectricalCompletion), new Action(this.detach_JDGL_ElectricalCompletion)); + this._JDGL_MeterCompletion = new EntitySet(new Action(this.attach_JDGL_MeterCompletion), new Action(this.detach_JDGL_MeterCompletion)); + this._JDGL_PipelineCompletion = new EntitySet(new Action(this.attach_JDGL_PipelineCompletion), new Action(this.detach_JDGL_PipelineCompletion)); + this._JDGL_ProgressCompletion = new EntitySet(new Action(this.attach_JDGL_ProgressCompletion), new Action(this.detach_JDGL_ProgressCompletion)); this._JDGL_QuantityCompletion = new EntitySet(new Action(this.attach_JDGL_QuantityCompletion), new Action(this.detach_JDGL_QuantityCompletion)); + this._JDGL_SteelStructureCompletion = new EntitySet(new Action(this.attach_JDGL_SteelStructureCompletion), new Action(this.detach_JDGL_SteelStructureCompletion)); + this._JDGL_UndergroundPipeCompletion = new EntitySet(new Action(this.attach_JDGL_UndergroundPipeCompletion), new Action(this.detach_JDGL_UndergroundPipeCompletion)); this._Law_HSSEStandardsList = new EntitySet(new Action(this.attach_Law_HSSEStandardsList), new Action(this.detach_Law_HSSEStandardsList)); this._Law_LawRegulationList = new EntitySet(new Action(this.attach_Law_LawRegulationList), new Action(this.detach_Law_LawRegulationList)); this._Law_ManageRule = new EntitySet(new Action(this.attach_Law_ManageRule), new Action(this.detach_Law_ManageRule)); @@ -257662,6 +260809,58 @@ namespace Model } } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ElectricalCompletion_Sys_User", Storage="_JDGL_ElectricalCompletion", ThisKey="UserId", OtherKey="CompileMan", DeleteRule="NO ACTION")] + public EntitySet JDGL_ElectricalCompletion + { + get + { + return this._JDGL_ElectricalCompletion; + } + set + { + this._JDGL_ElectricalCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_MeterCompletion_Sys_User", Storage="_JDGL_MeterCompletion", ThisKey="UserId", OtherKey="CompileMan", DeleteRule="NO ACTION")] + public EntitySet JDGL_MeterCompletion + { + get + { + return this._JDGL_MeterCompletion; + } + set + { + this._JDGL_MeterCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_PipelineCompletion_Sys_User", Storage="_JDGL_PipelineCompletion", ThisKey="UserId", OtherKey="CompileMan", DeleteRule="NO ACTION")] + public EntitySet JDGL_PipelineCompletion + { + get + { + return this._JDGL_PipelineCompletion; + } + set + { + this._JDGL_PipelineCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_ProgressCompletion_Sys_User", Storage="_JDGL_ProgressCompletion", ThisKey="UserId", OtherKey="CompileMan", DeleteRule="NO ACTION")] + public EntitySet JDGL_ProgressCompletion + { + get + { + return this._JDGL_ProgressCompletion; + } + set + { + this._JDGL_ProgressCompletion.Assign(value); + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_QuantityCompletion_Sys_User", Storage="_JDGL_QuantityCompletion", ThisKey="UserId", OtherKey="CompileMan", DeleteRule="NO ACTION")] public EntitySet JDGL_QuantityCompletion { @@ -257675,6 +260874,32 @@ namespace Model } } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_SteelStructureCompletion_Sys_User", Storage="_JDGL_SteelStructureCompletion", ThisKey="UserId", OtherKey="CompileMan", DeleteRule="NO ACTION")] + public EntitySet JDGL_SteelStructureCompletion + { + get + { + return this._JDGL_SteelStructureCompletion; + } + set + { + this._JDGL_SteelStructureCompletion.Assign(value); + } + } + + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_JDGL_UndergroundPipeCompletion_Sys_User", Storage="_JDGL_UndergroundPipeCompletion", ThisKey="UserId", OtherKey="CompileMan", DeleteRule="NO ACTION")] + public EntitySet JDGL_UndergroundPipeCompletion + { + get + { + return this._JDGL_UndergroundPipeCompletion; + } + set + { + this._JDGL_UndergroundPipeCompletion.Assign(value); + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Law_HSSEStandardsList_Sys_User2", Storage="_Law_HSSEStandardsList", ThisKey="UserId", OtherKey="AuditMan", DeleteRule="NO ACTION")] public EntitySet Law_HSSEStandardsList { @@ -261485,6 +264710,54 @@ namespace Model entity.Sys_User = null; } + private void attach_JDGL_ElectricalCompletion(JDGL_ElectricalCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = this; + } + + private void detach_JDGL_ElectricalCompletion(JDGL_ElectricalCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = null; + } + + private void attach_JDGL_MeterCompletion(JDGL_MeterCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = this; + } + + private void detach_JDGL_MeterCompletion(JDGL_MeterCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = null; + } + + private void attach_JDGL_PipelineCompletion(JDGL_PipelineCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = this; + } + + private void detach_JDGL_PipelineCompletion(JDGL_PipelineCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = null; + } + + private void attach_JDGL_ProgressCompletion(JDGL_ProgressCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = this; + } + + private void detach_JDGL_ProgressCompletion(JDGL_ProgressCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = null; + } + private void attach_JDGL_QuantityCompletion(JDGL_QuantityCompletion entity) { this.SendPropertyChanging(); @@ -261497,6 +264770,30 @@ namespace Model entity.Sys_User = null; } + private void attach_JDGL_SteelStructureCompletion(JDGL_SteelStructureCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = this; + } + + private void detach_JDGL_SteelStructureCompletion(JDGL_SteelStructureCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = null; + } + + private void attach_JDGL_UndergroundPipeCompletion(JDGL_UndergroundPipeCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = this; + } + + private void detach_JDGL_UndergroundPipeCompletion(JDGL_UndergroundPipeCompletion entity) + { + this.SendPropertyChanging(); + entity.Sys_User = null; + } + private void attach_Law_HSSEStandardsList(Law_HSSEStandardsList entity) { this.SendPropertyChanging(); @@ -307070,6 +310367,1257 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_JDGL_ElectricalCompletion")] + public partial class View_JDGL_ElectricalCompletion + { + + private string _ElectricalCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private string _Name; + + private string _Unit; + + private System.Nullable _TotalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private string _UnitName; + + private System.Nullable _TotalThisNum; + + private string _Rate; + + public View_JDGL_ElectricalCompletion() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ElectricalCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string ElectricalCompletionId + { + get + { + return this._ElectricalCompletionId; + } + set + { + if ((this._ElectricalCompletionId != value)) + { + this._ElectricalCompletionId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(50)")] + public string Name + { + get + { + return this._Name; + } + set + { + if ((this._Name != value)) + { + this._Name = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(50)")] + public string Unit + { + get + { + return this._Unit; + } + set + { + if ((this._Unit != value)) + { + this._Unit = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this._TotalNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this._ThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this._StartDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this._EndDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this._CompileMan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this._CompileDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(200)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalThisNum", DbType="Float")] + public System.Nullable TotalThisNum + { + get + { + return this._TotalThisNum; + } + set + { + if ((this._TotalThisNum != value)) + { + this._TotalThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Rate", DbType="NVarChar(11)")] + public string Rate + { + get + { + return this._Rate; + } + set + { + if ((this._Rate != value)) + { + this._Rate = value; + } + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_JDGL_EquipmentCompletion")] + public partial class View_JDGL_EquipmentCompletion + { + + private string _EquipmentCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private System.Nullable _TotalNum; + + private System.Nullable _ArrivalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private string _UnitName; + + private System.Nullable _TotalThisNum; + + private System.Nullable _TotalLastThisNum; + + private string _Rate; + + public View_JDGL_EquipmentCompletion() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EquipmentCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string EquipmentCompletionId + { + get + { + return this._EquipmentCompletionId; + } + set + { + if ((this._EquipmentCompletionId != value)) + { + this._EquipmentCompletionId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this._TotalNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ArrivalNum", DbType="Decimal(18,2)")] + public System.Nullable ArrivalNum + { + get + { + return this._ArrivalNum; + } + set + { + if ((this._ArrivalNum != value)) + { + this._ArrivalNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this._ThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this._StartDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this._EndDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this._CompileMan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this._CompileDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(200)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalThisNum", DbType="Float")] + public System.Nullable TotalThisNum + { + get + { + return this._TotalThisNum; + } + set + { + if ((this._TotalThisNum != value)) + { + this._TotalThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalLastThisNum", DbType="Float")] + public System.Nullable TotalLastThisNum + { + get + { + return this._TotalLastThisNum; + } + set + { + if ((this._TotalLastThisNum != value)) + { + this._TotalLastThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Rate", DbType="NVarChar(11)")] + public string Rate + { + get + { + return this._Rate; + } + set + { + if ((this._Rate != value)) + { + this._Rate = value; + } + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_JDGL_MeterCompletion")] + public partial class View_JDGL_MeterCompletion + { + + private string _MeterCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private string _Name; + + private string _Unit; + + private System.Nullable _TotalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private string _UnitName; + + private System.Nullable _TotalThisNum; + + private string _Rate; + + public View_JDGL_MeterCompletion() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MeterCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string MeterCompletionId + { + get + { + return this._MeterCompletionId; + } + set + { + if ((this._MeterCompletionId != value)) + { + this._MeterCompletionId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(50)")] + public string Name + { + get + { + return this._Name; + } + set + { + if ((this._Name != value)) + { + this._Name = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(50)")] + public string Unit + { + get + { + return this._Unit; + } + set + { + if ((this._Unit != value)) + { + this._Unit = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this._TotalNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this._ThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this._StartDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this._EndDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this._CompileMan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this._CompileDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(200)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalThisNum", DbType="Float")] + public System.Nullable TotalThisNum + { + get + { + return this._TotalThisNum; + } + set + { + if ((this._TotalThisNum != value)) + { + this._TotalThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Rate", DbType="NVarChar(11)")] + public string Rate + { + get + { + return this._Rate; + } + set + { + if ((this._Rate != value)) + { + this._Rate = value; + } + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_JDGL_PipelineCompletion")] + public partial class View_JDGL_PipelineCompletion + { + + private string _PipelineCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private System.Nullable _TotalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private string _UnitName; + + private System.Nullable _TotalThisNum; + + private System.Nullable _TotalLastThisNum; + + private string _Rate; + + public View_JDGL_PipelineCompletion() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PipelineCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string PipelineCompletionId + { + get + { + return this._PipelineCompletionId; + } + set + { + if ((this._PipelineCompletionId != value)) + { + this._PipelineCompletionId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this._TotalNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this._ThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this._StartDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this._EndDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this._CompileMan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this._CompileDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(200)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalThisNum", DbType="Float")] + public System.Nullable TotalThisNum + { + get + { + return this._TotalThisNum; + } + set + { + if ((this._TotalThisNum != value)) + { + this._TotalThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalLastThisNum", DbType="Float")] + public System.Nullable TotalLastThisNum + { + get + { + return this._TotalLastThisNum; + } + set + { + if ((this._TotalLastThisNum != value)) + { + this._TotalLastThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Rate", DbType="NVarChar(11)")] + public string Rate + { + get + { + return this._Rate; + } + set + { + if ((this._Rate != value)) + { + this._Rate = value; + } + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_JDGL_ProgressCompletion")] + public partial class View_JDGL_ProgressCompletion + { + + private string _ProgressCompletionId; + + private string _ProjectId; + + private System.Nullable _Months; + + private string _MonthStr; + + private string _PlanNumStr; + + private string _RealNumStr; + + private System.Nullable _PlanNum; + + private System.Nullable _RealNum; + + private System.Nullable _TotalPlanNum; + + private System.Nullable _TotalRealNum; + + private string _TotalPlanNumStr; + + private string _TotalRealNumStr; + + public View_JDGL_ProgressCompletion() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProgressCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string ProgressCompletionId + { + get + { + return this._ProgressCompletionId; + } + set + { + if ((this._ProgressCompletionId != value)) + { + this._ProgressCompletionId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Months", DbType="DateTime")] + public System.Nullable Months + { + get + { + return this._Months; + } + set + { + if ((this._Months != value)) + { + this._Months = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MonthStr", DbType="NVarChar(21)")] + public string MonthStr + { + get + { + return this._MonthStr; + } + set + { + if ((this._MonthStr != value)) + { + this._MonthStr = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanNumStr", DbType="NVarChar(11)")] + public string PlanNumStr + { + get + { + return this._PlanNumStr; + } + set + { + if ((this._PlanNumStr != value)) + { + this._PlanNumStr = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RealNumStr", DbType="NVarChar(11)")] + public string RealNumStr + { + get + { + return this._RealNumStr; + } + set + { + if ((this._RealNumStr != value)) + { + this._RealNumStr = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanNum", DbType="Float")] + public System.Nullable PlanNum + { + get + { + return this._PlanNum; + } + set + { + if ((this._PlanNum != value)) + { + this._PlanNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RealNum", DbType="Float")] + public System.Nullable RealNum + { + get + { + return this._RealNum; + } + set + { + if ((this._RealNum != value)) + { + this._RealNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalPlanNum", DbType="Float")] + public System.Nullable TotalPlanNum + { + get + { + return this._TotalPlanNum; + } + set + { + if ((this._TotalPlanNum != value)) + { + this._TotalPlanNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalRealNum", DbType="Float")] + public System.Nullable TotalRealNum + { + get + { + return this._TotalRealNum; + } + set + { + if ((this._TotalRealNum != value)) + { + this._TotalRealNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalPlanNumStr", DbType="NVarChar(11)")] + public string TotalPlanNumStr + { + get + { + return this._TotalPlanNumStr; + } + set + { + if ((this._TotalPlanNumStr != value)) + { + this._TotalPlanNumStr = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalRealNumStr", DbType="NVarChar(11)")] + public string TotalRealNumStr + { + get + { + return this._TotalRealNumStr; + } + set + { + if ((this._TotalRealNumStr != value)) + { + this._TotalRealNumStr = value; + } + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_JDGL_QuantityCompletion")] public partial class View_JDGL_QuantityCompletion { @@ -307090,16 +311638,16 @@ namespace Model private System.Nullable _CompileDate; + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + private System.Nullable _DesignNum; private string _Name; private string _Unit; - private string _ProfessionalName; - - private System.Nullable _SortIndex; - private System.Nullable _TotalPlanNum; private System.Nullable _TotalRealNum; @@ -307118,7 +311666,7 @@ namespace Model { } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QuantityCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QuantityCompletionId", DbType="NVarChar(50)")] public string QuantityCompletionId { get @@ -307246,6 +311794,38 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this._StartDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this._EndDate = value; + } + } + } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DesignNum", DbType="Decimal(9,2)")] public System.Nullable DesignNum { @@ -307294,38 +311874,6 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProfessionalName", DbType="NVarChar(30)")] - public string ProfessionalName - { - get - { - return this._ProfessionalName; - } - set - { - if ((this._ProfessionalName != value)) - { - this._ProfessionalName = value; - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SortIndex", DbType="Int")] - public System.Nullable SortIndex - { - get - { - return this._SortIndex; - } - set - { - if ((this._SortIndex != value)) - { - this._SortIndex = value; - } - } - } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalPlanNum", DbType="Float")] public System.Nullable TotalPlanNum { @@ -307439,6 +311987,492 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_JDGL_SteelStructureCompletion")] + public partial class View_JDGL_SteelStructureCompletion + { + + private string _SteelStructureCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private System.Nullable _TotalNum; + + private System.Nullable _ArrivalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private string _UnitName; + + private System.Nullable _TotalThisNum; + + private string _Rate; + + public View_JDGL_SteelStructureCompletion() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SteelStructureCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string SteelStructureCompletionId + { + get + { + return this._SteelStructureCompletionId; + } + set + { + if ((this._SteelStructureCompletionId != value)) + { + this._SteelStructureCompletionId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this._TotalNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ArrivalNum", DbType="Decimal(18,2)")] + public System.Nullable ArrivalNum + { + get + { + return this._ArrivalNum; + } + set + { + if ((this._ArrivalNum != value)) + { + this._ArrivalNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this._ThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this._StartDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this._EndDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this._CompileMan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this._CompileDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(200)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalThisNum", DbType="Float")] + public System.Nullable TotalThisNum + { + get + { + return this._TotalThisNum; + } + set + { + if ((this._TotalThisNum != value)) + { + this._TotalThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Rate", DbType="NVarChar(11)")] + public string Rate + { + get + { + return this._Rate; + } + set + { + if ((this._Rate != value)) + { + this._Rate = value; + } + } + } + } + + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_JDGL_UndergroundPipeCompletion")] + public partial class View_JDGL_UndergroundPipeCompletion + { + + private string _UndergroundPipeCompletionId; + + private string _ProjectId; + + private string _UnitId; + + private System.Nullable _TotalNum; + + private System.Nullable _ThisNum; + + private System.Nullable _StartDate; + + private System.Nullable _EndDate; + + private string _CompileMan; + + private System.Nullable _CompileDate; + + private string _UnitName; + + private System.Nullable _TotalThisNum; + + private System.Nullable _TotalLastThisNum; + + private string _Rate; + + public View_JDGL_UndergroundPipeCompletion() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UndergroundPipeCompletionId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string UndergroundPipeCompletionId + { + get + { + return this._UndergroundPipeCompletionId; + } + set + { + if ((this._UndergroundPipeCompletionId != value)) + { + this._UndergroundPipeCompletionId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalNum", DbType="Decimal(18,2)")] + public System.Nullable TotalNum + { + get + { + return this._TotalNum; + } + set + { + if ((this._TotalNum != value)) + { + this._TotalNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(18,2)")] + public System.Nullable ThisNum + { + get + { + return this._ThisNum; + } + set + { + if ((this._ThisNum != value)) + { + this._ThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_StartDate", DbType="DateTime")] + public System.Nullable StartDate + { + get + { + return this._StartDate; + } + set + { + if ((this._StartDate != value)) + { + this._StartDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EndDate", DbType="DateTime")] + public System.Nullable EndDate + { + get + { + return this._EndDate; + } + set + { + if ((this._EndDate != value)) + { + this._EndDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this._CompileMan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this._CompileDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(200)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalThisNum", DbType="Float")] + public System.Nullable TotalThisNum + { + get + { + return this._TotalThisNum; + } + set + { + if ((this._TotalThisNum != value)) + { + this._TotalThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalLastThisNum", DbType="Float")] + public System.Nullable TotalLastThisNum + { + get + { + return this._TotalLastThisNum; + } + set + { + if ((this._TotalLastThisNum != value)) + { + this._TotalLastThisNum = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Rate", DbType="NVarChar(11)")] + public string Rate + { + get + { + return this._Rate; + } + set + { + if ((this._Rate != value)) + { + this._Rate = value; + } + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Law_LawRegulationList")] public partial class View_Law_LawRegulationList { @@ -322564,6 +327598,8 @@ namespace Model private EntityRef _Sys_User; + private EntityRef _WBS_DivisionProject; + #region 可扩展性方法定义 partial void OnLoaded(); partial void OnValidate(System.Data.Linq.ChangeAction action); @@ -322622,6 +327658,7 @@ namespace Model { this._Base_Project = default(EntityRef); this._Sys_User = default(EntityRef); + this._WBS_DivisionProject = default(EntityRef); OnCreated(); } @@ -322720,6 +327757,10 @@ namespace Model { if ((this._DivisionProjectId != value)) { + if (this._WBS_DivisionProject.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } this.OnDivisionProjectIdChanging(value); this.SendPropertyChanging(); this._DivisionProjectId = value; @@ -323181,6 +328222,40 @@ namespace Model } } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_WBS_BreakdownProject_WBS_DivisionProject", Storage="_WBS_DivisionProject", ThisKey="DivisionProjectId", OtherKey="DivisionProjectId", IsForeignKey=true)] + public WBS_DivisionProject WBS_DivisionProject + { + get + { + return this._WBS_DivisionProject.Entity; + } + set + { + WBS_DivisionProject previousValue = this._WBS_DivisionProject.Entity; + if (((previousValue != value) + || (this._WBS_DivisionProject.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._WBS_DivisionProject.Entity = null; + previousValue.WBS_BreakdownProject.Remove(this); + } + this._WBS_DivisionProject.Entity = value; + if ((value != null)) + { + value.WBS_BreakdownProject.Add(this); + this._DivisionProjectId = value.DivisionProjectId; + } + else + { + this._DivisionProjectId = default(string); + } + this.SendPropertyChanged("WBS_DivisionProject"); + } + } + } + public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangedEventHandler PropertyChanged; @@ -325426,6 +330501,8 @@ namespace Model private string _OldDivisionId; + private EntitySet _WBS_BreakdownProject; + private EntityRef _Base_Project; #region 可扩展性方法定义 @@ -325456,6 +330533,7 @@ namespace Model public WBS_DivisionProject() { + this._WBS_BreakdownProject = new EntitySet(new Action(this.attach_WBS_BreakdownProject), new Action(this.detach_WBS_BreakdownProject)); this._Base_Project = default(EntityRef); OnCreated(); } @@ -325664,6 +330742,19 @@ namespace Model } } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_WBS_BreakdownProject_WBS_DivisionProject", Storage="_WBS_BreakdownProject", ThisKey="DivisionProjectId", OtherKey="DivisionProjectId", DeleteRule="NO ACTION")] + public EntitySet WBS_BreakdownProject + { + get + { + return this._WBS_BreakdownProject; + } + set + { + this._WBS_BreakdownProject.Assign(value); + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_WBS_DivisionProject_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] public Base_Project Base_Project { @@ -325717,6 +330808,18 @@ namespace Model this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } + + private void attach_WBS_BreakdownProject(WBS_BreakdownProject entity) + { + this.SendPropertyChanging(); + entity.WBS_DivisionProject = this; + } + + private void detach_WBS_BreakdownProject(WBS_BreakdownProject entity) + { + this.SendPropertyChanging(); + entity.WBS_DivisionProject = null; + } } [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.WBS_ForeignBreakdown")] diff --git a/SGGL/WebAPI/Controllers/DoorServerController.cs b/SGGL/WebAPI/Controllers/DoorServerController.cs index ae35f6ab..e2397a53 100644 --- a/SGGL/WebAPI/Controllers/DoorServerController.cs +++ b/SGGL/WebAPI/Controllers/DoorServerController.cs @@ -19,32 +19,44 @@ namespace WebAPI.Controllers /// 获取部门、人员、出入记录最大ID /// /// + /// 查询条件 /// - public string getMaxID(string projectId) + public string getMaxID(string projectId, string queryValue = null) { - int DepartmentID = 0, ID=0; - long EmployID = 0, ValidEventID=0; - var getD = Funs.DB.T_d_department.Where(x=> x.ProjectId == projectId).Select(x => x.DepartmentID); - if (getD.Count()>0) + int DepartmentID = 0, ID = 0; + long EmployID = 0, ValidEventID = 0; + var getD = Funs.DB.T_d_department.Where(x => x.ProjectId == projectId).Select(x => x.DepartmentID); + if (getD.Count() > 0) { DepartmentID = getD.Max(); } - var getE= Funs.DB.T_d_employinfo.Where(x => x.ProjectId == projectId).Select(x => x.EmployID); + var getE = Funs.DB.T_d_employinfo.Where(x => x.ProjectId == projectId).Select(x => x.EmployID); if (getE.Count() > 0) { EmployID = getE.Max(); } - var getI = Funs.DB.T_d_facerecord.Where(x => x.ProjectId == projectId).Select(x => x.ID); - if (getI.Count() > 0) + if (!string.IsNullOrEmpty(queryValue)) { - ID = getI.Max(); + var getI = Funs.DB.T_d_facerecord.Where(x => x.ProjectId == projectId && x.RoleID == queryValue).Select(x => x.ID); + if (getI.Count() > 0) + { + ID = getI.Max(); + } + } + else + { + var getI = Funs.DB.T_d_facerecord.Where(x => x.ProjectId == projectId).Select(x => x.ID); + if (getI.Count() > 0) + { + ID = getI.Max(); + } } var getV = Funs.DB.T_d_validcardevent.Where(x => x.ProjectId == projectId).Select(x => x.ValidEventID); if (getV.Count() > 0) { ValidEventID = getV.Max(); } - return ("$" + DepartmentID.ToString()+"$"+ EmployID.ToString()+"$"+ID.ToString() + "$" + ValidEventID.ToString() + "$"); + return ("$" + DepartmentID.ToString() + "$" + EmployID.ToString() + "$" + ID.ToString() + "$" + ValidEventID.ToString() + "$"); } #endregion diff --git a/SGGL/WebAPI/Controllers/PersonController.cs b/SGGL/WebAPI/Controllers/PersonController.cs index 90390a0f..32774741 100644 --- a/SGGL/WebAPI/Controllers/PersonController.cs +++ b/SGGL/WebAPI/Controllers/PersonController.cs @@ -1025,5 +1025,29 @@ namespace WebAPI.Controllers return responeData; } #endregion + + #region 根据人员ID获取下一步办理人 + /// + /// 根据人员ID获取下一步办理人 + /// + /// + /// + /// + /// + public Model.ResponeData getUserByProjectIdUserIdsQuery(string projectId, string userIds, string strParam) + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = APIUserService.getUserByProjectIdUserIdsQuery(projectId, userIds, strParam); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + return responeData; + } + #endregion } } \ No newline at end of file diff --git a/SGGL/WebAPI/Controllers/UserController.cs b/SGGL/WebAPI/Controllers/UserController.cs index aed36b89..acf1b14f 100644 --- a/SGGL/WebAPI/Controllers/UserController.cs +++ b/SGGL/WebAPI/Controllers/UserController.cs @@ -431,5 +431,29 @@ namespace WebAPI.Controllers return responeData; } #endregion + + #region 根据人员ID获取下一步办理人 + /// + /// 根据人员ID获取下一步办理人 + /// + /// + /// + /// + /// + public Model.ResponeData getUserByProjectIdUserIdsQuery(string projectId, string userIds, string strParam) + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = APIUserService.getUserByProjectIdUserIdsQuery(projectId, userIds, strParam); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + return responeData; + } + #endregion } }